diff --git a/src/App.tsx b/src/App.tsx index ef4f3d7..d7afd9a 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -356,10 +356,10 @@ export default function App() { // Filtered modal vehicles based on modal filters const filteredModalVehicles = modalVehicles.filter((v) => { - const mp = !modalFilters.plateNumber || v.plateNumber.toLowerCase().includes(modalFilters.plateNumber.toLowerCase()) || v.vin.toLowerCase().includes(modalFilters.plateNumber.toLowerCase()); - const mm = !modalFilters.model || v.model.toLowerCase().includes(modalFilters.model.toLowerCase()); - const mb = !modalFilters.brand || (v.brandLabel || '').toLowerCase().includes(modalFilters.brand.toLowerCase()); - const ml = !modalFilters.location || v.location.toLowerCase().includes(modalFilters.location.toLowerCase()); + const mp = !modalFilters.plateNumber || (v.plateNumber || v.vin || '').toLowerCase().includes(modalFilters.plateNumber.toLowerCase()); + const mm = !modalFilters.model || v.model === modalFilters.model; + const mb = !modalFilters.brand || v.brandLabel === modalFilters.brand; + const ml = !modalFilters.location || v.location === modalFilters.location; return mp && mm && mb && ml; }); @@ -936,75 +936,38 @@ export default function App() {
- setInventoryFilters({...inventoryFilters, region: e.target.value})} - className="w-full text-xs bg-white border border-slate-200 rounded-lg px-2 py-1.5 focus:outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 transition-all shadow-sm" - /> - - {uniqueInventoryRegions.map(r => +
- setInventoryFilters({...inventoryFilters, city: e.target.value})} - className="w-full text-xs bg-white border border-slate-200 rounded-lg px-2 py-1.5 focus:outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 transition-all shadow-sm" - /> - - {uniqueInventoryCities.map(c => +
- setInventoryFilters({...inventoryFilters, brand: e.target.value})} - className="w-full text-xs bg-white border border-slate-200 rounded-lg px-2 py-1.5 focus:outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 transition-all shadow-sm" - /> - - {uniqueInventoryBrands.map(b => +
- setInventoryFilters({...inventoryFilters, batch: e.target.value})} - className="w-full text-xs bg-white border border-slate-200 rounded-lg px-2 py-1.5 focus:outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 transition-all shadow-sm" - /> - - {uniqueInventoryBatches.map(b => +
- setInventoryFilters({...inventoryFilters, model: e.target.value})} - className="w-full text-xs bg-white border border-slate-200 rounded-lg pl-7 pr-2 py-1.5 focus:outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 transition-all shadow-sm" - /> - - {uniqueInventoryModels.map(m => + setInventoryFilters({...inventoryFilters, model: e.target.value})} className="w-full text-xs bg-white border border-slate-200 rounded-lg pl-7 pr-2 py-1.5 focus:outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 transition-all shadow-sm" /> + {uniqueInventoryModels.map(m =>
@@ -1353,21 +1316,18 @@ export default function App() {
{deptViewMode === 'manager' && (
- - setSelectedManager(e.target.value || 'All')} - className="w-full pl-9 pr-8 py-1.5 bg-white border border-gray-200 rounded-lg text-xs focus:outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 transition-all shadow-sm font-bold text-gray-700" - /> - - + + +
)}
@@ -1923,48 +1883,25 @@ export default function App() {
- setRegionFilters(prev => ({ ...prev, customer: e.target.value }))} - /> - - {uniqueCustomerNames.map(c => + setRegionFilters(prev => ({ ...prev, customer: e.target.value }))} /> + {uniqueCustomerNames.map(c =>
- setRegionFilters(prev => ({ ...prev, region: e.target.value }))} - /> - - {uniqueRegions.map(r => +
- setRegionFilters(prev => ({ ...prev, city: e.target.value }))} - /> - - {uniqueCities.map(c => +
@@ -2267,17 +2204,8 @@ export default function App() {
- setCustomerFilters(prev => ({ ...prev, customer: e.target.value }))} - /> - - {uniqueCustomerNames.map(c => + setCustomerFilters(prev => ({ ...prev, customer: e.target.value }))} /> + {uniqueCustomerNames.map(c =>
@@ -2285,62 +2213,32 @@ export default function App() {
- setCustomerFilters(prev => ({ ...prev, manager: e.target.value }))} - /> - - {uniqueCustomerManagers.map(m => + setCustomerFilters(prev => ({ ...prev, manager: e.target.value }))} /> + {uniqueCustomerManagers.map(m =>
- setCustomerFilters(prev => ({ ...prev, brand: e.target.value }))} - /> - - {uniqueBrands.map(b => +
- setCustomerFilters(prev => ({ ...prev, department: e.target.value }))} - /> - - {uniqueDepts.map(d => +
- setCustomerFilters(prev => ({ ...prev, region: e.target.value }))} - /> - - {uniqueRegions.map(r => +
@@ -2551,7 +2449,7 @@ export default function App() {
@@ -2593,13 +2491,7 @@ export default function App() { {!isModalFilterExpanded && (
e.stopPropagation()}> - setModalFilters({...modalFilters, plateNumber: e.target.value})} - placeholder="快速搜索车牌..." - className="w-full text-[11px] pl-7 pr-2 py-1 bg-white border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 transition-all shadow-sm" - /> + setModalFilters({...modalFilters, plateNumber: e.target.value})} placeholder="快速搜索车牌..." className="w-full text-[11px] pl-7 pr-2 py-1 bg-white border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 transition-all shadow-sm" />
)} 车牌号码
- setModalFilters({...modalFilters, plateNumber: e.target.value})} - placeholder="搜索车牌..." - className="w-full text-[11px] pl-7 pr-2 py-1.5 bg-white border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 transition-all shadow-sm" - /> - - {uniqueModalPlates.map(p => + setModalFilters({...modalFilters, plateNumber: e.target.value})} className="w-full text-[11px] pl-7 pr-2 py-1.5 bg-white border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 transition-all shadow-sm" /> + {uniqueModalPlates.map(p =>
-
- - setModalFilters({...modalFilters, model: e.target.value})} - placeholder="搜索车型..." - className="w-full text-[11px] pl-7 pr-2 py-1.5 bg-white border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 transition-all shadow-sm" - /> - - {uniqueModalModels.map(m => -
+
-
- - setModalFilters({...modalFilters, brand: e.target.value})} - placeholder="搜索品牌..." - className="w-full text-[11px] pl-7 pr-2 py-1.5 bg-white border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 transition-all shadow-sm" - /> - - {uniqueModalBrands.map(b => -
+
-
- - setModalFilters({...modalFilters, location: e.target.value})} - placeholder="搜索所在地..." - className="w-full text-[11px] pl-7 pr-2 py-1.5 bg-white border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 transition-all shadow-sm" - /> - - {uniqueModalLocations.map(l => -
+
@@ -2733,7 +2586,8 @@ export default function App() { - + {showPlateNumbers.source === 'customer' ? ( + <> @@ -2747,12 +2601,25 @@ export default function App() { + + ) : ( + <> + + {showPlateNumbers.source !== 'asset' && showPlateNumbers.category !== 'Inventory' && ( + + )} + + + + + )} {filteredModalVehicles.map((v, idx) => ( - + {showPlateNumbers.source === 'customer' ? ( + <> @@ -2773,11 +2640,23 @@ export default function App() { + + ) : ( + <> + + {showPlateNumbers.source !== 'asset' && showPlateNumbers.category !== 'Inventory' && ( + + )} + + + + + )} ))} {filteredModalVehicles.length === 0 && ( -
业务部门 业务负责人 品牌运营区域 离到期 签约公司车牌客户名称品牌车型所在地
{v.contractNo || '—'}{v.departmentName || '—'} {v.customerManager || '—'} {v.brandLabel || '—'}{v.location} {'—'} {v.orgName || '—'}{v.plateNumber || v.vin || '—'}{v.customerName || '—'}{v.brandLabel || '—'}{v.type}{v.location}
+ 暂无符合条件的车辆数据