import React from 'react'; import { ChevronDown, Filter, Loader2, PlusCircle, Truck } from 'lucide-react'; import { AnimatePresence, motion } from 'motion/react'; import Blur from '../../../components/Blur'; import { SearchSelect } from '../../../components/SearchSelect'; import type { WeeklyDetailItem } from '../api'; import type { ModalVehicleFilters, VehicleModalSelection } from '../model'; import type { VehicleListItem } from '../types'; interface VehicleDetailModalProps { selection: VehicleModalSelection | null; setSelection: React.Dispatch>; isFilterExpanded: boolean; setIsFilterExpanded: React.Dispatch>; filters: ModalVehicleFilters; setFilters: React.Dispatch>; plates: string[]; models: string[]; brands: string[]; locations: string[]; loading: boolean; weeklyDetails: WeeklyDetailItem[]; filteredWeeklyDetails: WeeklyDetailItem[]; filteredVehicles: VehicleListItem[]; } export function VehicleDetailModal({ selection: showPlateNumbers, setSelection: setShowPlateNumbers, isFilterExpanded: isModalFilterExpanded, setIsFilterExpanded: setIsModalFilterExpanded, filters: modalFilters, setFilters: setModalFilters, plates: uniqueModalPlates, models: uniqueModalModels, brands: uniqueModalBrands, locations: uniqueModalLocations, loading: modalLoading, weeklyDetails: modalWeeklyDetail, filteredWeeklyDetails: filteredModalWeeklyDetail, filteredVehicles: filteredModalVehicles, }: VehicleDetailModalProps) { return ( <> {/* Vehicle Detail Modal */} {showPlateNumbers && (

{showPlateNumbers.title || ( (showPlateNumbers.manager ? `${showPlateNumbers.manager} 的${showPlateNumbers.type || ''}车辆` : showPlateNumbers.customer ? `${showPlateNumbers.customer} 的${showPlateNumbers.type || ''}车辆` : showPlateNumbers.batch === 'All' ? '全量批次' : `${showPlateNumbers.batch} 批次`) + ' - 运营明细' )}

{showPlateNumbers.model === 'All' ? '全量型号' : showPlateNumbers.model} | {showPlateNumbers.category === 'Pending' ? '待交车' : showPlateNumbers.category === 'Delivered' ? '本周已交车' : showPlateNumbers.category === 'Returned' ? '已还车' : showPlateNumbers.category === 'Replaced' ? '已替换' : showPlateNumbers.category === 'Abnormal' ? '异动' : showPlateNumbers.category === 'Inventory' ? `${showPlateNumbers.location}库存` : showPlateNumbers.category === 'Operating' ? '正在运营' : '全部状态'}

{/* Modal Filters */}
setIsModalFilterExpanded(!isModalFilterExpanded)} >
筛选条件
{/* Quick Search always visible when collapsed */} {!isModalFilterExpanded && (
e.stopPropagation()}> setModalFilters({...modalFilters, plateNumber: v})} options={uniqueModalPlates} placeholder="快速搜索车牌..." className="text-[11px] py-1 px-2" />
)}
{isModalFilterExpanded && (
setModalFilters({...modalFilters, plateNumber: v})} options={uniqueModalPlates} placeholder="全部车牌" className="text-[11px] py-1.5 px-2" />
)}
{modalLoading ? (
) : modalWeeklyDetail.length > 0 ? (
{filteredModalWeeklyDetail.map((v, i) => ( ))}
车牌 客户名称 日期
{v.plate_number} {v.customer_name || '—'} {v.handover_date ? v.handover_date.slice(0, 10) : '—'}
) : (
{showPlateNumbers.source === 'customer' ? ( <> ) : ( <> {showPlateNumbers.source !== 'asset' && showPlateNumbers.category !== 'Inventory' && ( )} )} {filteredModalVehicles.map((v, idx) => ( {showPlateNumbers.source === 'customer' ? ( <> ) : ( <> {showPlateNumbers.source !== 'asset' && showPlateNumbers.category !== 'Inventory' && ( )} )} ))} {filteredModalVehicles.length === 0 && ( )}
业务部门 业务负责人 品牌 车型 资产归属 客户名称 车牌 状态 提车时间 合同到期时间 运营区域 离到期 签约公司车牌客户名称品牌 车型 所在地
{v.departmentName || '—'} {v.customerManager || '—'} {v.brandLabel || '—'} {v.type} {v.subjectOrg || '—'} {v.customerName || '—'} {v.plateNumber || v.vin || '—'} {v.status === 'Operating' ? '在租' : v.status === 'Inventory' ? '库存' : '异常'} {'—'} {'—'} {v.location === '其他' ? '对接中' : v.location} {'—'} {v.orgName || '—'}{v.plateNumber || v.vin || '—'}{v.customerName || '—'}{v.brandLabel || '—'} {v.type} {v.location === '其他' ? '对接中' : v.location}
暂无符合条件的车辆数据
)}
共计 {filteredModalWeeklyDetail.length > 0 ? filteredModalWeeklyDetail.length : filteredModalVehicles.length} 台车辆
)}
); }