diff --git a/src/modules/mileage/MonitoringView.tsx b/src/modules/mileage/MonitoringView.tsx index f9e9e4d..52f6e82 100644 --- a/src/modules/mileage/MonitoringView.tsx +++ b/src/modules/mileage/MonitoringView.tsx @@ -104,6 +104,7 @@ export default function MonitoringView() { const [filterEntity, setFilterEntity] = useState('All'); const [filterRegionCode, setFilterRegionCode] = useState('All'); const [filterMileageRange, setFilterMileageRange] = useState({ min: '', max: '' }); + const [appliedMileageRange, setAppliedMileageRange] = useState({ min: '', max: '' }); const [vehicles, setVehicles] = useState([]); const [stats, setStats] = useState({ totalToday: 0, totalAll: 0, onlineCount: 0, vehicleCount: 0 }); @@ -132,6 +133,8 @@ export default function MonitoringView() { dept: filterDept !== 'All' ? filterDept : undefined, project: filterProject !== 'All' ? filterProject : undefined, entity: filterEntity !== 'All' ? filterEntity : undefined, + mileageMin: appliedMileageRange.min || undefined, + mileageMax: appliedMileageRange.max || undefined, }).then(d => { setVehicles(d.vehicles); setStats(d.stats); @@ -140,7 +143,7 @@ export default function MonitoringView() { setPage(1); setHasMore(d.page < d.totalPages); }).catch(() => {}); - }, [sortBy, sortOrder, searchTerm, filterDept, filterProject, filterEntity]); + }, [sortBy, sortOrder, searchTerm, filterDept, filterProject, filterEntity, appliedMileageRange]); // 加载更多 const loadMore = useCallback(() => { @@ -156,12 +159,14 @@ export default function MonitoringView() { dept: filterDept !== 'All' ? filterDept : undefined, project: filterProject !== 'All' ? filterProject : undefined, entity: filterEntity !== 'All' ? filterEntity : undefined, + mileageMin: appliedMileageRange.min || undefined, + mileageMax: appliedMileageRange.max || undefined, }).then(d => { setVehicles(prev => [...prev, ...d.vehicles]); setPage(nextPage); setHasMore(nextPage < d.totalPages); }).catch(() => {}).finally(() => setLoadingMore(false)); - }, [sortBy, sortOrder, searchTerm, filterDept, filterProject, filterEntity, page, loadingMore, hasMore]); + }, [sortBy, sortOrder, searchTerm, filterDept, filterProject, filterEntity, appliedMileageRange, page, loadingMore, hasMore]); // 筛选/排序变化时重新加载 useEffect(() => { @@ -684,13 +689,17 @@ export default function MonitoringView() { setFilterEntity('All'); setFilterRegionCode('All'); setFilterMileageRange({ min: '', max: '' }); + setAppliedMileageRange({ min: '', max: '' }); }} className="text-[10px] font-bold text-slate-400 hover:text-slate-600" > 重置所有