feat(assets): add dimension analysis and authorized user previews
ci/woodpecker/push/woodpecker Pipeline was successful

Refactor asset drilldowns with combined dimension filters, parent summaries and progressive loading. Add the hidden /who read-only permission preview with scoped authorization, identity mapping and audit logging. Refine inventory counts and AI问数 presentation.
This commit is contained in:
shishengliang
2026-09-28 12:29:51 +08:00
parent 6de77adb47
commit f1b3f8d3da
69 changed files with 3871 additions and 536 deletions
@@ -52,11 +52,11 @@ export function SummaryMetrics({
<div className="mt-2 flex flex-wrap items-center gap-x-3 gap-y-1 text-[11px]">
<button type="button" data-testid="asset-abnormal-card" className="inline-flex items-center gap-1 text-amber-600 hover:underline"
onClick={(event) => { event.stopPropagation(); setShowPlateNumbers({ batch: 'All', model: 'All', location: 'All', category: 'Abnormal', source: 'asset', title: '库存中的异动车辆' }); }}>
<TriangleAlert size={12} />其中异动 <strong>{SUMMARY.inventory.abnormal}</strong>
<TriangleAlert size={12} />异动 <strong>{SUMMARY.inventory.abnormal}</strong>
</button>
<button type="button" className="inline-flex items-center gap-1 text-blue-600 hover:underline"
onClick={(event) => { event.stopPropagation(); setShowPlateNumbers({ batch: 'All', model: 'All', location: 'All', category: 'Pending', source: 'asset', title: '库存中的待交车' }); }}>
<PlusCircle size={12} />其中待交车 <strong>{SUMMARY.pendingDelivery}</strong>
<PlusCircle size={12} />待交车 <strong>{SUMMARY.pendingDelivery}</strong>
</button>
</div>