feat(web): 护士工作台 Phase 1 前端 — NurseWorkbench 组件
- 新增 NurseWorkbench 组件:问候行 + 统计卡片 + 班次患者 + 待办 + 右面板 - actionInbox API 客户端:新增 assigned_to_me/patient_id 参数 + myPatients 端点 - Home.tsx 护士角色路由到 NurseWorkbench(其他角色不受影响) - 班次患者列表:显示今日分配给护士的患者 + 风险优先级色点 - 快捷操作面板:随访/体征/AI分析/咨询入口 - 今日进度条:完成百分比可视化
This commit is contained in:
@@ -50,6 +50,13 @@ export interface WorkbenchStats {
|
||||
completion_rate: number | null;
|
||||
}
|
||||
|
||||
export interface NursePatientSummary {
|
||||
patient_id: string;
|
||||
patient_name: string;
|
||||
pending_actions: number;
|
||||
highest_priority: ActionPriority;
|
||||
}
|
||||
|
||||
export interface TeamMemberOverview {
|
||||
user_id: string;
|
||||
name: string;
|
||||
@@ -77,6 +84,8 @@ export const actionInboxApi = {
|
||||
type?: string;
|
||||
page?: number;
|
||||
page_size?: number;
|
||||
assigned_to_me?: boolean;
|
||||
patient_id?: string;
|
||||
}) => {
|
||||
const { data } = await client.get<{
|
||||
success: boolean;
|
||||
@@ -93,11 +102,19 @@ export const actionInboxApi = {
|
||||
return data.data;
|
||||
},
|
||||
|
||||
stats: async () => {
|
||||
stats: async (params?: { assigned_to_me?: boolean }) => {
|
||||
const { data } = await client.get<{
|
||||
success: boolean;
|
||||
data: WorkbenchStats;
|
||||
}>('/health/action-inbox/stats');
|
||||
}>('/health/action-inbox/stats', { params });
|
||||
return data.data;
|
||||
},
|
||||
|
||||
myPatients: async () => {
|
||||
const { data } = await client.get<{
|
||||
success: boolean;
|
||||
data: NursePatientSummary[];
|
||||
}>('/health/action-inbox/my-patients');
|
||||
return data.data;
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user