Files
asset-tracker/web/static/public.js

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();