diff --git a/src/modules/mileage/MonitoringView.tsx b/src/modules/mileage/MonitoringView.tsx index adae5bc..cd3447f 100644 --- a/src/modules/mileage/MonitoringView.tsx +++ b/src/modules/mileage/MonitoringView.tsx @@ -23,6 +23,7 @@ import { parseMileageDrillContext, type MileageDrillContext, } from './drill-context'; +import { formatMileageSnapshotTime } from './data-freshness'; const HIGH_MILEAGE_ALERT_TARGETS = new Set([ '交投40辆4.5T普货', @@ -494,7 +495,7 @@ export default function MonitoringView() { const [pageLoading, setPageLoading] = useState(true); const [pageError, setPageError] = useState<{ message: string; scope: 'first' | 'more' } | null>(null); const [manualRefreshing, setManualRefreshing] = useState(false); - const [lastRefreshedAt, setLastRefreshedAt] = useState(null); + const [dataUpdatedAt, setDataUpdatedAt] = useState(null); const [showBackToTop, setShowBackToTop] = useState(false); const [relativeNow, setRelativeNow] = useState(() => Date.now()); const PAGE_SIZE = 50; @@ -599,7 +600,7 @@ export default function MonitoringView() { setTotal(d.total); setPage(1); setHasMore(d.page < d.totalPages); - setLastRefreshedAt(new Date()); + setDataUpdatedAt(d.updatedAt); }).catch(error => { setPageError({ message: error instanceof Error ? error.message : '里程数据加载失败,请稍后重试', @@ -651,6 +652,7 @@ export default function MonitoringView() { setVehicles(prev => [...prev, ...d.vehicles]); setPage(nextPage); setHasMore(nextPage < d.totalPages); + setDataUpdatedAt(d.updatedAt); }).catch(error => { setPageError({ message: error instanceof Error ? error.message : '更多车辆加载失败,请稍后重试', @@ -762,6 +764,7 @@ export default function MonitoringView() { setFullscreenVehicles(d.vehicles); setFullscreenStats(d.stats); setFilterOptions(d.filters); + setDataUpdatedAt(d.updatedAt); }).catch(() => {}).finally(() => setFullscreenLoading(false)); }, [isFullscreen, sortBy, sortOrder, searchTerm, filterDept, filterCustomer, filterRentStatus, filterPlatePrefix, filterTargetNames, filterRegion, filterPlates, rangeStart, rangeEnd, fullscreenRefresh, filterBrands, sourcePriority]); @@ -1078,14 +1081,19 @@ export default function MonitoringView() {
- 数据监控 • OneOS 实时查询 + + OneOS 分钟级快照 · 截至 {formatMileageSnapshotTime(dataUpdatedAt)} +
- {lastRefreshedAt ? lastRefreshedAt.toLocaleTimeString('zh-CN', { hour12: false }) : '--:--:--'} + 数据截至 {formatMileageSnapshotTime(dataUpdatedAt)}