import React from 'react'; import { ChevronDown, ChevronRight } from 'lucide-react'; import { AnimatePresence, motion } from 'motion/react'; import type { InventoryStatisticsSectionProps } from './types'; type InventoryDesktopTableProps = Pick< InventoryStatisticsSectionProps, | 'inventoryTab' | 'inventoryByRegion' | 'expandedInventoryRegions' | 'toggleInventoryRegion' | 'inventoryByModel' | 'expandedInventoryTypes' | 'toggleInventoryType' | 'setVehicleSelection' >; export function InventoryDesktopTable({ inventoryTab, inventoryByRegion, expandedInventoryRegions, toggleInventoryRegion, inventoryByModel, expandedInventoryTypes, toggleInventoryType, setVehicleSelection: setShowPlateNumbers, }: InventoryDesktopTableProps) { return (
{inventoryTab === 'region' ? ( Object.entries(inventoryByRegion).map(([region, cities]) => ( toggleInventoryRegion(region)} > {expandedInventoryRegions.has(region) && Object.entries(cities).map(([city, stats]) => ( {stats.map((stat, idx) => ( ))} ))} )) ) : ( Object.entries(inventoryByModel).map(([type, models]) => ( toggleInventoryType(type)} > {expandedInventoryTypes.has(type) && Object.entries(models).map(([model, stats]) => ( {stats.map((stat, idx) => ( ))} ))} )) )}
{inventoryTab === 'region' ? '区域 / 城市' : '车型分类 / 型号'} {inventoryTab === 'region' ? '品牌' : '品牌'} {inventoryTab === 'region' ? '车型' : '所在区域/城市'} 库存数量
{expandedInventoryRegions.has(region) ? : } {region} { e.stopPropagation(); setShowPlateNumbers({ batch: 'All', model: 'All', location: region, category: 'Inventory', source: 'asset', title: `库存统计 - ${region}` }); }}> (共 {Object.values(cities).flat().reduce((acc, s) => acc + s.quantity, 0)} 台)
{idx === 0 ? {city} : ''} {stat.brand} {stat.model}
{expandedInventoryTypes.has(type) ? : } {type} { e.stopPropagation(); setShowPlateNumbers({ batch: 'All', model: 'All', location: 'All', type: type, category: 'Inventory', source: 'asset', title: `库存统计 - ${type}` }); }}> (共 {Object.values(models).flat().reduce((acc, s) => acc + s.quantity, 0)} 台)
{idx === 0 ? {model} : ''} {stat.brand} {stat.region} / {stat.city}
); }