feat: 羚牛 BI 报表服务初始版本
All checks were successful
ci/woodpecker/manual/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/manual/woodpecker Pipeline was successful
- Hono + TypeScript 后端,连接 MySQL 数据库 - React + Vite + Tailwind 前端 - 车辆资产实时汇总(按车型/品牌型号分组) - 本周交车/还车/替换统计(关联业务单据) - 车牌号详情弹窗 - Dockerfile + Woodpecker CI 流水线 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
147
src/server/types.ts
Normal file
147
src/server/types.ts
Normal file
@@ -0,0 +1,147 @@
|
||||
export interface VehicleRow {
|
||||
id: number;
|
||||
车牌号: string;
|
||||
vin: string;
|
||||
车辆品牌: string;
|
||||
车辆型号: string;
|
||||
车辆颜色: string;
|
||||
租赁公司: string;
|
||||
车辆归属状态Label: string | null;
|
||||
车辆型号Label: 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;
|
||||
}
|
||||
|
||||
export interface Vehicle {
|
||||
id: number;
|
||||
plateNumber: string;
|
||||
vin: string;
|
||||
type: string;
|
||||
model: string;
|
||||
color: string;
|
||||
location: string;
|
||||
region: string;
|
||||
status: 'Operating' | 'Inventory' | 'Abnormal';
|
||||
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;
|
||||
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;
|
||||
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;
|
||||
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;
|
||||
inventoryRegions: Record<string, number>;
|
||||
pending: number;
|
||||
operating: number;
|
||||
weeklyDelivered: number;
|
||||
weeklyReturned: number;
|
||||
weeklyReplaced: number;
|
||||
}
|
||||
|
||||
export interface BatchGroup {
|
||||
batch: string;
|
||||
total: number;
|
||||
inventory: number;
|
||||
inventoryRegions: Record<string, number>;
|
||||
pending: number;
|
||||
operating: number;
|
||||
weeklyDelivered: number;
|
||||
weeklyReturned: number;
|
||||
weeklyReplaced: number;
|
||||
models: {
|
||||
model: string;
|
||||
type: string;
|
||||
total: number;
|
||||
inventory: 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>;
|
||||
}
|
||||
Reference in New Issue
Block a user