feat: WIP矩阵单表化/固定表头/首列复合/下钻日志弹窗/时间联动
This commit is contained in:
@ -73,11 +73,27 @@ export interface OperationDetail {
|
||||
|
||||
export interface WipMatrixRow {
|
||||
spec_model: string;
|
||||
product_name: string;
|
||||
dimension_key: string;
|
||||
count: number;
|
||||
assignees: string[];
|
||||
}
|
||||
|
||||
export interface WipMatrixDetailRow {
|
||||
product_id: string;
|
||||
serial_number: string;
|
||||
external_serial: string | null;
|
||||
material_name: string;
|
||||
spec_model: string;
|
||||
task_status: string;
|
||||
assignee_id: string;
|
||||
assignee: string;
|
||||
duration_hours: number;
|
||||
total_hours: number; // 整个项目总时长(自然小时)
|
||||
work_hours: number; // 仅工作日有效时长(小时)
|
||||
received_at: string | null;
|
||||
}
|
||||
|
||||
export interface PersonDevice {
|
||||
product_id: string;
|
||||
serial_number: string;
|
||||
@ -194,6 +210,16 @@ export async function fetchWipMatrix(
|
||||
return data;
|
||||
}
|
||||
|
||||
export async function fetchWipMatrixDetail(
|
||||
spec: string, process: string, since?: string, until?: string,
|
||||
): Promise<WipMatrixDetailRow[]> {
|
||||
const params: Record<string, string> = { spec, process };
|
||||
if (since) params.since = since;
|
||||
if (until) params.until = until;
|
||||
const { data } = await api.get<WipMatrixDetailRow[]>("/dashboard/wip-matrix/detail", { params });
|
||||
return data;
|
||||
}
|
||||
|
||||
export async function fetchPeopleWorkload(): Promise<PersonWorkload[]> {
|
||||
const { data } = await api.get<PersonWorkload[]>("/dashboard/people-workload");
|
||||
return data;
|
||||
|
||||
Reference in New Issue
Block a user