feat(dashboard): 看板增强——流转完成率下钻明细 + 人员看板(按人聚合在制品设备)

This commit is contained in:
2026-08-13 12:00:12 +08:00
parent b6ef0751e0
commit c2e6ed240b
7 changed files with 452 additions and 8 deletions

View File

@ -28,6 +28,33 @@ export interface WipTask {
duration_hours: number;
}
export interface CompletedTask {
task_id: string;
task_name: string;
assignee: string;
product_sn: string;
external_serial: string | null;
material_name: string;
spec_model: string;
completed_at: string;
}
export interface PersonDevice {
product_id: string;
serial_number: string;
external_serial: string | null;
material_name: string;
spec_model: string;
task_status: string;
}
export interface PersonWorkload {
assignee_id: string;
assignee_name: string;
device_count: number;
devices: PersonDevice[];
}
export interface ProductMessageItem {
id: string;
content: string;
@ -56,6 +83,19 @@ export async function fetchWipTasks(limit = 20): Promise<WipTask[]> {
return data;
}
export async function fetchCompletedTasks(since?: string, until?: string): Promise<CompletedTask[]> {
const params: Record<string, string> = {};
if (since) params.since = since;
if (until) params.until = until;
const { data } = await api.get<CompletedTask[]>("/dashboard/completed-tasks", { params });
return data;
}
export async function fetchPeopleWorkload(): Promise<PersonWorkload[]> {
const { data } = await api.get<PersonWorkload[]>("/dashboard/people-workload");
return data;
}
export async function fetchDashboardMessages(
keyword = "", skip = 0, limit = 30,
): Promise<ProductMessageList> {