feat(web): 工作台前端 API 客户端 + TodoList 组件

- actionInbox.ts 新增 WorkbenchStats/TeamOverview 类型和 stats()/team() API
- 新建 workbench/TodoList.tsx 待办列表组件(分页 + 类型/优先级标签)
This commit is contained in:
iven
2026-05-01 21:17:39 +08:00
parent 61397186e7
commit 620af8988b
2 changed files with 148 additions and 0 deletions

View File

@@ -42,6 +42,35 @@ export interface ThreadResponse {
available_actions: ActionDefinition[];
}
export interface WorkbenchStats {
total_pending: number;
ai_suggestion_pending: number;
urgent_alerts: number;
followup_due: number;
completion_rate: number | null;
}
export interface TeamMemberOverview {
user_id: string;
name: string;
title: string;
pending_count: number;
completed_count: number;
overdue_count: number;
completion_rate: number;
}
export interface TeamOverview {
members: TeamMemberOverview[];
risk_distribution: {
high: number;
medium: number;
low: number;
};
total_pending: number;
total_completed: number;
}
export const actionInboxApi = {
list: async (params?: {
status?: string;
@@ -63,4 +92,20 @@ export const actionInboxApi = {
}>(`/health/action-inbox/${encodeURIComponent(sourceRef)}/thread`);
return data.data;
},
stats: async () => {
const { data } = await client.get<{
success: boolean;
data: WorkbenchStats;
}>('/health/action-inbox/stats');
return data.data;
},
team: async () => {
const { data } = await client.get<{
success: boolean;
data: TeamOverview;
}>('/health/action-inbox/team');
return data.data;
},
};