diff --git a/vehicle-data-platform/apps/web/src/pages/VehicleDetail.tsx b/vehicle-data-platform/apps/web/src/pages/VehicleDetail.tsx index 17acfb52..935c1e07 100644 --- a/vehicle-data-platform/apps/web/src/pages/VehicleDetail.tsx +++ b/vehicle-data-platform/apps/web/src/pages/VehicleDetail.tsx @@ -431,7 +431,7 @@ export function VehicleDetail({ `实时:${vehicleServiceURL(vehicleServiceHash('realtime'))}`, `轨迹:${vehicleServiceURL(vehicleServiceHash('history'))}`, `历史数据:${vehicleServiceURL(vehicleServiceHash('history-query', { tab: 'raw', includeFields: 'true' }))}`, - `里程:${vehicleServiceURL(vehicleServiceHash('mileage'))}` + `统计查询:${vehicleServiceURL(vehicleServiceHash('mileage'))}` ]; copyText(lines.join('\n'), '诊断摘要'); }; @@ -463,7 +463,7 @@ export function VehicleDetail({ `实时监控:${vehicleServiceURL(vehicleServiceHash('realtime'))}`, `轨迹回放:${vehicleServiceURL(vehicleServiceHash('history'))}`, `历史数据:${vehicleServiceURL(vehicleServiceHash('history-query', { tab: 'raw', includeFields: 'true' }))}`, - `里程统计:${vehicleServiceURL(vehicleServiceHash('mileage'))}` + `统计查询:${vehicleServiceURL(vehicleServiceHash('mileage'))}` ]; copyText(lines.join('\n'), '数据通道归并矩阵'); }; @@ -612,7 +612,7 @@ export function VehicleDetail({ `实时监控:${vehicleServiceURL(vehicleServiceHash('realtime'))}`, `轨迹回放:${vehicleServiceURL(vehicleServiceHash('history'))}`, `历史数据:${vehicleServiceURL(vehicleServiceHash('history-query', { tab: 'raw', includeFields: 'true' }))}`, - `里程统计:${vehicleServiceURL(vehicleServiceHash('mileage'))}` + `统计查询:${vehicleServiceURL(vehicleServiceHash('mileage'))}` ]; copyText(lines.join('\n'), '统一车辆服务摘要'); }; @@ -639,7 +639,7 @@ export function VehicleDetail({ `实时监控:${vehicleServiceURL(vehicleServiceHash('realtime'))}`, `轨迹回放:${vehicleServiceURL(vehicleServiceHash('history'))}`, `历史数据:${vehicleServiceURL(vehicleServiceHash('history-query', { tab: 'raw', includeFields: 'true' }))}`, - `里程统计:${vehicleServiceURL(vehicleServiceHash('mileage'))}` + `统计查询:${vehicleServiceURL(vehicleServiceHash('mileage'))}` ]; copyText(lines.join('\n'), '车辆服务档案'); }; @@ -667,7 +667,7 @@ export function VehicleDetail({ `实时监控:${vehicleServiceURL(vehicleServiceHash('realtime'))}`, `轨迹回放:${vehicleServiceURL(vehicleServiceHash('history'))}`, `历史数据:${vehicleServiceURL(vehicleServiceHash('history-query', { tab: 'raw', includeFields: 'true' }))}`, - `里程统计:${vehicleServiceURL(vehicleServiceHash('mileage'))}` + `统计查询:${vehicleServiceURL(vehicleServiceHash('mileage'))}` ]; copyText(lines.join('\n'), '运营摘要'); }; @@ -717,14 +717,14 @@ export function VehicleDetail({ ] }, { - title: '里程复核', + title: '统计复核', value: `${formatCompactNumber(overview?.mileageCount ?? detail?.mileage?.total ?? 0)} 条统计`, meta: formatCompactNumber(evidenceMileageDelta, ' km 差异'), color: isFiniteNumber(evidenceMileageDelta) && Math.abs(evidenceMileageDelta) > 1 ? 'orange' as const : 'green' as const, detail: '核对统计口径,确认区间总值、每日里程与数据通道是否闭合。', disabled: !hasResolvedVIN, actions: [ - { label: '查看里程', onClick: () => onOpenMileage(resolvedVIN, activeProtocol) } + { label: '查看统计', onClick: () => onOpenMileage(resolvedVIN, activeProtocol) } ] } ]; @@ -765,7 +765,7 @@ export function VehicleDetail({ title: '复核统计口径', evidence: `${formatCompactNumber(overview?.mileageCount ?? detail?.mileage?.total ?? 0)} 条统计,证据里程差 ${formatCompactNumber(evidenceMileageDelta, ' km')}`, acceptance: '区间里程、每日里程和轨迹总里程可以互相解释。', - action: '里程统计', + action: '统计查询', disabled: !hasResolvedVIN, onClick: () => onOpenMileage(resolvedVIN, activeProtocol) } @@ -791,7 +791,7 @@ export function VehicleDetail({ `轨迹回放:${vehicleServiceURL(vehicleServiceHash('history'))}`, `历史数据:${vehicleServiceURL(vehicleServiceHash('history-query', { tab: 'raw', includeFields: 'true' }))}`, `告警事件:${vehicleServiceURL(buildAppHash({ page: 'alert-events', keyword: resolvedVIN, protocol: activeProtocol }))}`, - `里程统计:${vehicleServiceURL(vehicleServiceHash('mileage'))}`, + `统计查询:${vehicleServiceURL(vehicleServiceHash('mileage'))}`, `车辆服务:${vehicleServiceURL(vehicleServiceHash('detail'))}` ]; copyText(lines.join('\n'), '单车处理清单'); @@ -831,11 +831,11 @@ export function VehicleDetail({ onSecondary: () => exportVehicleReport() }, { - title: '复核里程统计', + title: '复核统计查询', value: `${formatCompactNumber(overview?.mileageCount ?? detail?.mileage?.total ?? 0)} 条统计`, detail: `证据里程差 ${formatCompactNumber(evidenceMileageDelta, ' km')},确认区间和日统计能闭合。`, color: isFiniteNumber(evidenceMileageDelta) && Math.abs(evidenceMileageDelta) > 1 ? 'orange' as const : 'green' as const, - primaryAction: '里程统计', + primaryAction: '统计查询', secondaryAction: '诊断摘要', disabled: !hasResolvedVIN, onPrimary: () => onOpenMileage(resolvedVIN, activeProtocol), @@ -920,10 +920,10 @@ export function VehicleDetail({ onClick: () => onOpenHistory(resolvedVIN, activeProtocol) }, { - title: '里程能源', + title: '里程与能源', value: `${formatCompactNumber(latest?.totalMileageKm, ' km')}`, detail: `SOC ${formatCompactNumber(latest?.socPercent, '%')} / 速度 ${formatCompactNumber(latest?.speedKmh, ' km/h')}`, - action: '里程统计', + action: '统计查询', color: isFiniteNumber(latest?.totalMileageKm) ? 'green' as const : 'orange' as const, disabled: !hasResolvedVIN, onClick: () => onOpenMileage(resolvedVIN, activeProtocol) @@ -964,7 +964,7 @@ export function VehicleDetail({ `最新上报:${lastSeen}`, `轨迹证据:${overview?.historyCount ?? detail.history.total ?? 0} 条`, `历史数据:${overview?.rawCount ?? detail.raw.total ?? 0} 条`, - `里程统计:${overview?.mileageCount ?? detail.mileage.total ?? 0} 条,证据差异 ${formatCompactNumber(evidenceMileageDelta, ' km')}`, + `统计查询:${overview?.mileageCount ?? detail.mileage.total ?? 0} 条,证据差异 ${formatCompactNumber(evidenceMileageDelta, ' km')}`, `告警事件:${qualityCount.toLocaleString()} 项`, `车辆服务:${vehicleServiceURL(vehicleServiceHash('detail'))}`, `实时监控:${vehicleServiceURL(vehicleServiceHash('realtime'))}`, @@ -1030,7 +1030,7 @@ export function VehicleDetail({ return (