feat(platform): add dedicated time monitor workspace

This commit is contained in:
lingniu
2026-07-06 04:09:35 +08:00
parent 4ce466895a
commit 6b9f269b89
6 changed files with 255 additions and 5 deletions

View File

@@ -131,6 +131,9 @@ export default function App() {
if (route.page === 'history' || route.page === 'history-query' || route.page === 'mileage') {
setAnalysisVin(route.keyword);
}
if (route.page === 'time-monitor') {
setAnalysisVin(route.keyword);
}
}
if (route.page === 'vehicles') {
setVehicleFilters(vehicleFiltersFromRoute(route));
@@ -185,6 +188,12 @@ export default function App() {
replaceMileageHash(mileageFilters);
return;
}
if (page === 'time-monitor') {
const keyword = (activeVin || analysisVin).trim();
const protocol = activeProtocol.trim();
replaceHash('time-monitor', keyword, protocol, customerTimeWindow);
return;
}
if (page === 'quality' || page === 'alert-events') {
replaceQualityHash(qualityFilters);
return;
@@ -498,6 +507,11 @@ export default function App() {
openMileageWithFilters(scopedFilters);
return;
}
if (page === 'time-monitor') {
setActivePage('time-monitor');
replaceHash('time-monitor', keyword, protocol, timeWindow);
return;
}
if (page === 'alert-events' || page === 'quality') {
openQuality(scopedFilters);
return;
@@ -601,6 +615,11 @@ export default function App() {
const pages: Record<PageKey, JSX.Element> = {
dashboard: <Dashboard onOpenVehicle={openVehicle} onOpenQuality={openQuality} onOpenMap={openMap} onOpenRealtime={openRealtime} onOpenVehicles={openVehicles} onOpenHistory={openHistoryWithFilters} onOpenMileage={openMileageWithFilters} customerTimeWindow={customerTimeWindow} />,
'time-monitor': <Dashboard focusMode="time-window" onOpenVehicle={openVehicle} onOpenQuality={openQuality} onOpenMap={openMap} onOpenRealtime={openRealtime} onOpenVehicles={openVehicles} onOpenHistory={openHistoryWithFilters} onOpenMileage={openMileageWithFilters} customerTimeWindow={customerTimeWindow} initialTimeMonitorFilters={{
...(activeVin || analysisVin ? { keyword: activeVin || analysisVin } : {}),
...(activeProtocol ? { protocol: activeProtocol } : {}),
...customerTimeWindow
}} />,
vehicles: <Vehicles onOpenVehicle={openVehicle} onOpenQuality={openQuality} onOpenMap={openMap} onOpenRealtime={openRealtime} onOpenHistory={openHistoryWithFilters} onOpenMileage={openMileageWithFilters} onFiltersChange={updateVehicleFilters} initialFilters={vehicleFilters} />,
map: <Realtime mode="map" title="车辆实时地图" description="以车辆为中心查看位置分布、在线状态、关注车辆和轨迹入口" onOpenVehicle={openVehicle} onOpenHistory={openHistoryForVehicle} onOpenQuality={openQuality} onFiltersChange={updateMapFilters} initialFilters={realtimeFilters} />,
realtime: <Realtime onOpenVehicle={openVehicle} onOpenHistory={openHistoryForVehicle} onOpenQuality={openQuality} onFiltersChange={updateRealtimeFilters} initialFilters={realtimeFilters} />,