34 lines
1.6 KiB
JavaScript
34 lines
1.6 KiB
JavaScript
async function loadPublicRecords(){
|
|
const res = await fetch('/public/records');
|
|
const data = await res.json();
|
|
|
|
const s = data.summary || {};
|
|
const by = s.by_category || {};
|
|
document.getElementById('summary').innerHTML = `
|
|
<div class="kpi"><b>用户ID</b><div>${s.user_id ?? '-'}</div></div>
|
|
<div class="kpi"><b>活跃资产数</b><div>${s.active_asset_count ?? 0}</div></div>
|
|
<div class="kpi"><b>总资产值</b><div>${s.total_assets_value ?? 0}</div></div>
|
|
<div class="kpi" style="grid-column:1/-1"><b>分类汇总</b><div>${Object.keys(by).length ? Object.entries(by).map(([k,v])=>`${k||'未分类'}: ${v}`).join('<br>') : '暂无'}</div></div>
|
|
`;
|
|
|
|
const rows = data.records || [];
|
|
const box = document.getElementById('records');
|
|
if(!rows.length){
|
|
box.innerHTML = '<div class="empty">当前 0 条记录。可前往 <a href="/app">/app</a> 添加资产后回来查看。</div>';
|
|
return;
|
|
}
|
|
|
|
box.innerHTML = rows.map(r => `
|
|
<div class="record-card">
|
|
<div class="line"><b>#${r.id} ${r.name || ''}</b><span>${r.status || '-'}</span></div>
|
|
<div class="line"><span>分类</span><span>${r.category_name || '-'}</span></div>
|
|
<div class="line"><span>金额</span><span>${r.total_value ?? 0} ${r.currency || ''}</span></div>
|
|
<div class="line"><span>到期</span><span>${r.expiry_date || '-'}</span></div>
|
|
<div class="line"><span>更新时间</span><span>${r.updated_at || '-'}</span></div>
|
|
</div>
|
|
`).join('');
|
|
}
|
|
|
|
document.getElementById('refresh-btn').addEventListener('click', loadPublicRecords);
|
|
loadPublicRecords();
|