From c73e20bacf0811aae2f2f9bce2c792edb4b2d27a Mon Sep 17 00:00:00 2001 From: kkfluous Date: Wed, 1 Apr 2026 23:26:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=BF=AB=E6=8D=B7=E7=AD=9B=E9=80=89?= =?UTF-8?q?=E6=8C=89=E5=AE=A2=E6=88=B7=E6=94=B9=E4=B8=BA=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E7=AD=9B=E9=80=89=E3=80=81=E5=88=A0=E9=99=A4=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E7=AD=9B=E9=80=89=E3=80=81=E6=9B=B4=E6=96=B0=E9=A2=91=E7=8E=87?= =?UTF-8?q?=E6=96=87=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 快捷筛选"按客户"改为真正的客户名称筛选(独立于项目筛选) - 删除高级筛选中的"日期区间"和"日期"(无后端支持) - "40MIN更新"改为"每分钟更新" Co-Authored-By: Claude Opus 4.6 (1M context) --- src/modules/mileage/MonitoringView.tsx | 64 ++++++-------------------- 1 file changed, 13 insertions(+), 51 deletions(-) diff --git a/src/modules/mileage/MonitoringView.tsx b/src/modules/mileage/MonitoringView.tsx index 63a166d..d76f279 100644 --- a/src/modules/mileage/MonitoringView.tsx +++ b/src/modules/mileage/MonitoringView.tsx @@ -98,8 +98,7 @@ export default function MonitoringView() { // New filters from image const [filterPlate, setFilterPlate] = useState('All'); - const [filterDateRange, setFilterDateRange] = useState({ start: '', end: '' }); - const [filterDate, setFilterDate] = useState('2026-04-01'); + const [filterCustomer, setFilterCustomer] = useState('All'); const [filterProject, setFilterProject] = useState('All'); const [filterEntity, setFilterEntity] = useState('All'); const [filterRegionCode, setFilterRegionCode] = useState('All'); @@ -131,6 +130,7 @@ export default function MonitoringView() { page: 1, search: searchTerm || undefined, dept: filterDept !== 'All' ? filterDept : undefined, + customer: filterCustomer !== 'All' ? filterCustomer : undefined, project: filterProject !== 'All' ? filterProject : undefined, entity: filterEntity !== 'All' ? filterEntity : undefined, plate: filterPlate !== 'All' ? filterPlate : undefined, @@ -144,7 +144,7 @@ export default function MonitoringView() { setPage(1); setHasMore(d.page < d.totalPages); }).catch(() => {}); - }, [sortBy, sortOrder, searchTerm, filterDept, filterProject, filterEntity, filterPlate, appliedMileageRange]); + }, [sortBy, sortOrder, searchTerm, filterDept, filterCustomer, filterProject, filterEntity, filterPlate, appliedMileageRange]); // 加载更多 const loadMore = useCallback(() => { @@ -158,6 +158,7 @@ export default function MonitoringView() { page: nextPage, search: searchTerm || undefined, dept: filterDept !== 'All' ? filterDept : undefined, + customer: filterCustomer !== 'All' ? filterCustomer : undefined, project: filterProject !== 'All' ? filterProject : undefined, entity: filterEntity !== 'All' ? filterEntity : undefined, plate: filterPlate !== 'All' ? filterPlate : undefined, @@ -168,7 +169,7 @@ export default function MonitoringView() { setPage(nextPage); setHasMore(nextPage < d.totalPages); }).catch(() => {}).finally(() => setLoadingMore(false)); - }, [sortBy, sortOrder, searchTerm, filterDept, filterProject, filterEntity, filterPlate, appliedMileageRange, page, loadingMore, hasMore]); + }, [sortBy, sortOrder, searchTerm, filterDept, filterCustomer, filterProject, filterEntity, filterPlate, appliedMileageRange, page, loadingMore, hasMore]); // 筛选/排序变化时重新加载 useEffect(() => { @@ -457,7 +458,7 @@ export default function MonitoringView() {
- 实时监控 • 40min更新 + 实时监控 • 每分钟更新
@@ -497,9 +498,9 @@ export default function MonitoringView() { placeholder="按部门" /> setIsFilterOpen(!isFilterOpen)} - className={`p-1.5 rounded-lg transition-all flex-shrink-0 ${isFilterOpen || searchTerm || filterDept !== 'All' || filterPlate !== 'All' || filterProject !== 'All' ? 'bg-blue-50 text-blue-600 border border-blue-100' : 'bg-slate-50 text-slate-400 border border-transparent'}`} + className={`p-1.5 rounded-lg transition-all flex-shrink-0 ${isFilterOpen || searchTerm || filterDept !== 'All' || filterCustomer !== 'All' || filterPlate !== 'All' || filterProject !== 'All' ? 'bg-blue-50 text-blue-600 border border-blue-100' : 'bg-slate-50 text-slate-400 border border-transparent'}`} > @@ -560,45 +561,6 @@ export default function MonitoringView() { - {/* Date Range */} -
- -
- setFilterDateRange(prev => ({ ...prev, start: e.target.value }))} - /> - - - setFilterDateRange(prev => ({ ...prev, end: e.target.value }))} - /> -
-
- - {/* Single Date */} -
- -
- setFilterDate(e.target.value)} - /> - -
-
- {/* Project */}
@@ -685,8 +647,7 @@ export default function MonitoringView() { setSearchTerm(''); setFilterDept('All'); setFilterPlate('All'); - setFilterDateRange({ start: '', end: '' }); - setFilterDate('2026-04-01'); + setFilterCustomer('All'); setFilterProject('All'); setFilterEntity('All'); setFilterRegionCode('All'); @@ -716,6 +677,7 @@ export default function MonitoringView() { {(() => { const tags: { label: string; onClear: () => void }[] = []; if (filterDept !== 'All') tags.push({ label: `部门: ${filterDept}`, onClear: () => setFilterDept('All') }); + if (filterCustomer !== 'All') tags.push({ label: `客户: ${filterCustomer}`, onClear: () => setFilterCustomer('All') }); if (filterProject !== 'All') tags.push({ label: `项目: ${filterProject}`, onClear: () => setFilterProject('All') }); if (filterEntity !== 'All') tags.push({ label: `主体: ${filterEntity}`, onClear: () => setFilterEntity('All') }); if (filterPlate !== 'All') tags.push({ label: `车牌: ${filterPlate}`, onClear: () => setFilterPlate('All') }); @@ -725,7 +687,7 @@ export default function MonitoringView() { if (filterRegionCode !== 'All') tags.push({ label: `地区: ${filterRegionCode}`, onClear: () => setFilterRegionCode('All') }); if (tags.length === 0) return null; const clearAll = () => { - setFilterDept('All'); setFilterProject('All'); setFilterEntity('All'); + setFilterDept('All'); setFilterCustomer('All'); setFilterProject('All'); setFilterEntity('All'); setFilterPlate('All'); setSearchTerm(''); setFilterRegionCode('All'); setFilterMileageRange({ min: '', max: '' }); setAppliedMileageRange({ min: '', max: '' }); };