diff --git a/vehicle-data-platform/apps/web/src/pages/VehicleDetail.tsx b/vehicle-data-platform/apps/web/src/pages/VehicleDetail.tsx index bdb03810..01088d4c 100644 --- a/vehicle-data-platform/apps/web/src/pages/VehicleDetail.tsx +++ b/vehicle-data-platform/apps/web/src/pages/VehicleDetail.tsx @@ -4,6 +4,7 @@ import { useEffect, useMemo, useRef, useState } from 'react'; import { api } from '../api/client'; import type { QualityIssueRow, VehicleDetail as VehicleDetailData, VehicleSourceStatus } from '../api/types'; import { PageHeader } from '../components/PageHeader'; +import { SourceStatusTags } from '../components/SourceStatusTags'; import { StatusTag } from '../components/StatusTag'; import { isLikelyVIN } from '../domain/vehicleLookup'; @@ -307,7 +308,9 @@ export function VehicleDetail({ { key: '在线', value: }, { key: '数据来源', - value: protocols.length > 0 ? {protocols.map((item) => {item})} : '-' + value: protocols.length > 0 ? ( + + ) : '-' }, { key: '在线来源', value: summary ? `${summary.onlineSourceCount}/${summary.sourceCount}` : '-' }, { key: '最后位置时间', value: lastSeen }, @@ -335,6 +338,7 @@ export function VehicleDetail({
{activeProtocol ? `当前 ${activeProtocol}` : '当前 全部来源'} +
diff --git a/vehicle-data-platform/apps/web/src/test/App.test.tsx b/vehicle-data-platform/apps/web/src/test/App.test.tsx index 6e1136ff..ea864386 100644 --- a/vehicle-data-platform/apps/web/src/test/App.test.tsx +++ b/vehicle-data-platform/apps/web/src/test/App.test.tsx @@ -3450,6 +3450,9 @@ test('switches vehicle detail to a source from the source matrix', async () => { render(); expect(await screen.findByText('VIN001')).toBeInTheDocument(); + expect(screen.getAllByText('GB32960 在线').length).toBeGreaterThanOrEqual(1); + expect(screen.getAllByText('JT808 在线').length).toBeGreaterThanOrEqual(1); + expect(screen.getAllByText('YUTONG_MQTT 未接入').length).toBeGreaterThanOrEqual(1); expect(screen.getByText('车辆服务角色')).toBeInTheDocument(); expect(screen.getByText('主来源')).toBeInTheDocument(); expect(screen.getByText('在线证据')).toBeInTheDocument();