diff --git a/vehicle-data-platform/apps/web/src/App.tsx b/vehicle-data-platform/apps/web/src/App.tsx index 9785b3d4..884517d0 100644 --- a/vehicle-data-platform/apps/web/src/App.tsx +++ b/vehicle-data-platform/apps/web/src/App.tsx @@ -48,7 +48,7 @@ export default function App() { const pages: Record = { dashboard: setActivePage('quality')} />, vehicles: , - realtime: , + realtime: , detail: , history: , mileage: , diff --git a/vehicle-data-platform/apps/web/src/pages/Realtime.tsx b/vehicle-data-platform/apps/web/src/pages/Realtime.tsx index ec6efd05..cb094238 100644 --- a/vehicle-data-platform/apps/web/src/pages/Realtime.tsx +++ b/vehicle-data-platform/apps/web/src/pages/Realtime.tsx @@ -6,7 +6,12 @@ import { DataEmpty } from '../components/DataEmpty'; import { PageHeader } from '../components/PageHeader'; import { StatusTag } from '../components/StatusTag'; -export function Realtime() { +function canOpenVehicle(vin?: string) { + const value = vin?.trim(); + return Boolean(value && value !== 'unknown'); +} + +export function Realtime({ onOpenVehicle }: { onOpenVehicle: (vin: string) => void }) { const [rows, setRows] = useState([]); const [loading, setLoading] = useState(true); const [filters, setFilters] = useState>({}); @@ -95,7 +100,14 @@ export function Realtime() { { title: 'SOC %', dataIndex: 'socPercent' }, { title: '总里程 km', dataIndex: 'totalMileageKm' }, { title: '最新来源', dataIndex: 'primaryProtocol' }, - { title: '最后时间', dataIndex: 'lastSeen' } + { title: '最后时间', dataIndex: 'lastSeen' }, + { + title: '操作', + width: 110, + render: (_: unknown, row: VehicleRealtimeRow) => ( + + ) + } ]} /> )}