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')}
{{ 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 }) }} |
`,
};