175 lines
4.2 KiB
TypeScript
175 lines
4.2 KiB
TypeScript
import type { AbnormalMoveDetail } from '../shared/assets/abnormal-move.js';
|
|
|
|
export interface VehicleRow {
|
|
ops_managers?: string | null;
|
|
pending_delivery_id?: string | null;
|
|
pending_contract_no?: string | null;
|
|
pending_customer_name?: string | null;
|
|
abnormal_move_id?: string | null;
|
|
abnormal_move_type?: number | null;
|
|
abnormal_move_status?: number | null;
|
|
abnormal_move_work?: string | null;
|
|
abnormal_move_applicant?: string | null;
|
|
abnormal_move_target_time?: string | null;
|
|
abnormal_move_actual_time?: string | null;
|
|
id: string;
|
|
车牌号: string;
|
|
vin: string;
|
|
车辆品牌: string;
|
|
车辆型号: string;
|
|
车辆颜色: string;
|
|
租赁公司: string;
|
|
车辆归属状态Label: string | null;
|
|
车辆型号Label: string | null;
|
|
车辆类型参数: string | null;
|
|
库存区域: string | null;
|
|
车辆租赁状态: string | null;
|
|
车辆租赁状态Label: string | null;
|
|
是否营运: number;
|
|
省: string | null;
|
|
市: string | null;
|
|
纬度: number | null;
|
|
经度: number | null;
|
|
车辆品牌Label: string | null;
|
|
合同ID: number | null;
|
|
合同编码: string | null;
|
|
客户名称: string | null;
|
|
合同归属公司: string | null;
|
|
合同归属部门: string | null;
|
|
主体: string | null;
|
|
项目名称: string | null;
|
|
客户经理: string | null;
|
|
经理ID: string | null;
|
|
}
|
|
|
|
export interface Vehicle {
|
|
opsManagers?: string | null;
|
|
pendingDelivery?: { contractNo: string | null; customerName: string | null } | null;
|
|
abnormalMove?: AbnormalMoveDetail | null;
|
|
id: string;
|
|
plateNumber: string;
|
|
vin: string;
|
|
type: string;
|
|
model: string;
|
|
color: string;
|
|
location: string;
|
|
region: string;
|
|
province: string | null;
|
|
city: string | null;
|
|
status: 'Operating' | 'Inventory' | 'Pending' | 'Abnormal';
|
|
operationStatus: string | null;
|
|
ownership: string;
|
|
rentCompany: string;
|
|
contractNo: string | null;
|
|
customerName: string | null;
|
|
orgName: string | null;
|
|
departmentName: string | null;
|
|
subjectOrg: string | null;
|
|
projectName: string | null;
|
|
customerManager: string | null;
|
|
managerId: string | null;
|
|
brandLabel: string | null;
|
|
}
|
|
|
|
export interface SummaryData {
|
|
totalAssets: number;
|
|
operating: {
|
|
total: number;
|
|
self: number;
|
|
leased: number;
|
|
public: number;
|
|
hanging: number;
|
|
};
|
|
inventory: {
|
|
total: number;
|
|
inStock: number;
|
|
abnormal: number;
|
|
};
|
|
pendingDelivery: number;
|
|
weeklyNew: number;
|
|
weeklyRemoved: number;
|
|
weeklyDelivered: number;
|
|
weeklyReturned: number;
|
|
weeklyReplaced: number;
|
|
}
|
|
|
|
export interface TypeSummary {
|
|
type: string;
|
|
totalAssets: number;
|
|
totalInventory: number;
|
|
totalAbnormal: number;
|
|
totalOperating: number;
|
|
inventoryRegions: Record<string, number>;
|
|
pending: number;
|
|
weeklyDelivered: number;
|
|
weeklyReturned: number;
|
|
weeklyReplaced: number;
|
|
models: ModelSummary[];
|
|
}
|
|
|
|
export interface ModelSummary {
|
|
model: string;
|
|
total: number;
|
|
inventory: number;
|
|
abnormal: number;
|
|
inventoryRegions: Record<string, number>;
|
|
pending: number;
|
|
operating: number;
|
|
weeklyDelivered: number;
|
|
weeklyReturned: number;
|
|
weeklyReplaced: number;
|
|
batches: BatchSummary[];
|
|
}
|
|
|
|
export interface BatchSummary {
|
|
batch: string;
|
|
total: number;
|
|
inventory: number;
|
|
abnormal: number;
|
|
inventoryRegions: Record<string, number>;
|
|
pending: number;
|
|
operating: number;
|
|
weeklyDelivered: number;
|
|
weeklyReturned: number;
|
|
weeklyReplaced: number;
|
|
}
|
|
|
|
export interface BatchGroup {
|
|
batch: string;
|
|
total: number;
|
|
inventory: number;
|
|
abnormal: number;
|
|
inventoryRegions: Record<string, number>;
|
|
pending: number;
|
|
operating: number;
|
|
weeklyDelivered: number;
|
|
weeklyReturned: number;
|
|
weeklyReplaced: number;
|
|
models: {
|
|
model: string;
|
|
type: string;
|
|
total: number;
|
|
inventory: number;
|
|
abnormal: number;
|
|
inventoryRegions: Record<string, number>;
|
|
pending: number;
|
|
operating: number;
|
|
weeklyDelivered: number;
|
|
weeklyReturned: number;
|
|
weeklyReplaced: number;
|
|
}[];
|
|
}
|
|
|
|
export interface InventoryTypeSummary {
|
|
type: string;
|
|
totalAssets: number;
|
|
totalInventory: number;
|
|
models: {
|
|
model: string;
|
|
totalAssets: number;
|
|
totalInventory: number;
|
|
regions: Record<string, number>;
|
|
}[];
|
|
regionSubtotals: Record<string, number>;
|
|
}
|