<template>
  <a-card :bordered="false" class="content-card">
    <template #title>
      <a-space>
        <span>评价管理</span>
        <a-tag color="pink">共 {{ reviews.length }} 条评价</a-tag>
      </a-space>
    </template>
    <template #extra>
      <a-button @click="loadReviews">
        <template #icon><icon-refresh /></template>
        刷新
      </a-button>
    </template>
    <a-table :columns="reviewColumns" :data="reviews" :pagination="{ pageSize: 8 }" :bordered="false">
      <template #rating="{ record }">
        <a-rate :model-value="record.rating" readonly />
      </template>
    </a-table>
  </a-card>
</template>

<script setup>
import { ref, onMounted } from 'vue'
import { api } from '../../api'
import { IconRefresh } from '@arco-design/web-vue/es/icon'

const reviews = ref([])

const reviewColumns = [
  { title: 'ID', dataIndex: 'id', width: 60 },
  { title: '订单号', dataIndex: 'orderNo', width: 160 },
  { title: '商品', dataIndex: 'productName' },
  { title: '顾客', dataIndex: 'customerUsername', width: 100 },
  { title: '评分', slotName: 'rating', width: 180 },
  { title: '内容', dataIndex: 'content', ellipsis: true },
  { title: '时间', dataIndex: 'createdAt', width: 160 }
]

const loadReviews = async () => {
  reviews.value = await api.adminReviews()
}

onMounted(() => {
  loadReviews()
})
</script>

<style scoped>
.content-card {
  border-radius: 12px;
}

:deep(.arco-btn-primary) {
  background: linear-gradient(135deg, #722ed1 0%, #9254de 100%);
  border-color: transparent;
}

:deep(.arco-card-header) {
  border-bottom: 1px solid #f0f0f0;
}
</style>
