ci/woodpecker/push/woodpecker Pipeline failed
Use operations signing times and delivery completion statuses; include replacement deliveries in delivery totals with range drilldowns and exports. Separate abnormal vehicles from inventory, add a date range picker, and enable CI for feature/asset-statistics.
159 lines
3.5 KiB
TypeScript
159 lines
3.5 KiB
TypeScript
export interface VehicleRow {
|
|
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 {
|
|
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>;
|
|
}
|