import { onMounted, ref } from 'vue'; import { adminHeader } from './AdminHeader.js'; export default { setup() { const records = ref([]); const total = ref(0); const loading = ref(true); const error = ref(''); const search = ref(''); const load = async () => { loading.value = true; error.value = ''; try { const params = new URLSearchParams({ page: '1', pageSize: '100' }); if (search.value) params.set('search', search.value); const response = await fetch('/admin/api/charts?' + params.toString(), { credentials: 'same-origin' }); if (!response.ok) throw new Error('加载排盘记录失败'); const payload = await response.json(); records.value = payload.data.list || []; total.value = payload.data.total || 0; } catch (reason) { error.value = reason instanceof Error ? reason.message : '加载排盘记录失败'; } finally { loading.value = false; } }; onMounted(load); return { records, total, loading, error, search, load }; }, template: `
${adminHeader('charts')}

排盘记录

共 {{ total }} 条用户主动同意保存的记录;付费报告快照另行关联

{{ error }}
报告编号称呼出生信息城市同意记录记录时间
正在加载...
暂无排盘记录
{{ record.reportId }}{{ record.name || '-' }}{{ record.birthDate }} {{ record.birthTime }} / {{ record.gender }}{{ record.city }}{{ record.consentVersion || '迁移前记录(无同意凭证)' }}
{{ record.consentAt ? new Date(record.consentAt).toLocaleString('zh-CN', { hour12: false }) : '-' }}
{{ new Date(record.createdAt).toLocaleString('zh-CN', { hour12: false }) }}
`, };