feat(platform): show vehicle service evidence chain
This commit is contained in:
@@ -138,6 +138,11 @@ export function VehicleDetail({
|
||||
const consistencyTimeDeltaSeconds = consistency?.sourceTimeDeltaSeconds ?? sourceTimeDeltaSeconds;
|
||||
const consistencyTitle = consistency?.title ?? '-';
|
||||
const consistencyDetail = consistency?.detail ?? '-';
|
||||
const evidenceSourceCount = overview?.sourceCount ?? consistencySourceCount;
|
||||
const evidenceOnlineSourceCount = overview?.onlineSourceCount ?? consistencyOnlineSourceCount;
|
||||
const evidenceLocatedSourceCount = consistencyLocatedSourceCount;
|
||||
const evidenceMileageDelta = consistencyMileageDelta;
|
||||
const evidenceTimeDeltaSeconds = consistencyTimeDeltaSeconds;
|
||||
const activeProtocol = query.protocol?.trim() ?? '';
|
||||
const scopeText = activeProtocol ? `单一来源:${activeProtocol}` : '全部来源聚合';
|
||||
const formKey = `${query.keyword}-${query.protocol ?? ''}`;
|
||||
@@ -224,6 +229,27 @@ export function VehicleDetail({
|
||||
</Card>
|
||||
) : null}
|
||||
|
||||
{overview || consistency ? (
|
||||
<Card bordered title="车辆服务证据链" style={{ marginTop: 16 }}>
|
||||
<div className="vp-evidence-grid">
|
||||
{[
|
||||
{ label: '来源证据', value: evidenceSourceCount > 0 ? `${evidenceOnlineSourceCount}/${evidenceSourceCount} 来源在线` : '-' },
|
||||
{ label: '定位证据', value: evidenceLocatedSourceCount > 0 ? `${evidenceLocatedSourceCount} 个来源有位置` : '暂无位置' },
|
||||
{ label: '里程差异', value: formatCompactNumber(evidenceMileageDelta, ' km') },
|
||||
{ label: '时间差异', value: formatSeconds(evidenceTimeDeltaSeconds) },
|
||||
{ label: '主来源', value: overview?.primaryProtocol || summary?.primaryProtocol || '-' },
|
||||
{ label: '服务结论', value: consistencyTitle }
|
||||
].map((item) => (
|
||||
<div key={item.label} className="vp-evidence-item">
|
||||
<div className="vp-evidence-label">{item.label}</div>
|
||||
<div className="vp-evidence-value">{item.value}</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
<Typography.Text type="secondary">{consistencyDetail}</Typography.Text>
|
||||
</Card>
|
||||
) : null}
|
||||
|
||||
<Card bordered style={{ marginTop: 16 }}>
|
||||
<div className="vp-vehicle-summary">
|
||||
<Descriptions
|
||||
|
||||
Reference in New Issue
Block a user