feat(workbench): 首页对齐原型并重构趋势与待办数据口径

This commit is contained in:
yelan
2026-09-30 17:39:00 +08:00
parent 661700d7da
commit 74cb192e4c
8 changed files with 402 additions and 134 deletions
+11 -9
View File
@@ -13,16 +13,16 @@
## 2. 已接入的请求
```http
GET /api/v1/workbench/overview?campusId={UUID}&period={7|14|30}&todoLimit=8&rankingLimit=10
GET /api/v1/workbench/overview?campusId={UUID}&period={7|14|30}&todoLimit=5&rankingLimit=10
X-Token: {登录令牌}
```
| 参数 | 必填 | 前端传值 | 契约说明 |
| ------------ | ---- | ------------------------- | ------------------------------ |
| campusId | 是 | 当前工作台院区对应的 UUID | 必须在当前用户数据范围内 |
| period | 是 | 7、14 或 30 | 同时决定趋势和文档排名统计周期 |
| todoLimit | 否 | 8 | 待办返回数量,范围 1–20 |
| rankingLimit | 否 | 10 | 排名返回数量,范围 1–20 |
| 参数 | 必填 | 前端传值 | 契约说明 |
| ------------ | ---- | ------------------------- | ------------------------------------------------------------------- |
| campusId | 是 | 当前工作台院区对应的 UUID | 必须在当前用户数据范围内 |
| period | 是 | 7、14 或 30 | 同时决定趋势和文档排名统计周期 |
| todoLimit | 否 | 5 | 待办返回数量,范围 1–20;与原型首页展示上限一致(`.slice(0, 5)`) |
| rankingLimit | 否 | 10 | 排名返回数量,范围 1–20 |
请求通过 utils/request.ts 的单例发送,实际浏览器路径为 /api/v1/workbench/overview,由 Vite 开发代理转发到后端。
@@ -31,12 +31,14 @@ X-Token: {登录令牌}
| 页面区域 | 后端字段 | 前端展示 |
| ---------- | ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
| 四张指标卡 | summary.todaySigned、todaySignedChange、pendingPatientSigning、todayOverdue、availableTemplates、coveredDepartments | 今日签署、较昨日变化、待签署、今日超时、可用模板及覆盖科室 |
| 签署趋势 | trend[].label、trend[].signedCount | 按后端业务时区生成的近 7、14 或 30 天趋势 |
| 签署趋势 | trend[].label、trend[].signedCount | 取返回窗口**末 7 天**,固定标题「近一周签署客户趋势」 |
| 我的待办 | todos[].taskId、patientId、patientName、documentName、departmentName、status、signMethod、updatedAt | 待办列表;点击 taskId 跳转签署工作台 |
| 文档排名 | documentRanking[].templateId、documentName、departmentName、signedCount | Top10 文档签署排名 |
趋势和排名都直接使用后端按 signedAt、医院业务时区聚合的结果;前端不再用 createdAt 或浏览器时区重新计算。
**趋势窗口固定近一周**(原型 V10.2 首页只有这一档,7/14/30 开关挂在 Top10 排名卡上):请求里的 `period` 同时决定趋势与排名窗口,所以前端取 `trend` 的**最后 7 天**展示,标题固定「近一周签署客户趋势」—— 选「近 30 天」时排名窗口变、趋势图仍是近一周,与原型一致。若后端后续把两个周期拆成两个参数,这里可以去掉截断。
## 4. 待办状态展示
后端 TodoItem.status 使用签署任务状态枚举。前端按下列方式展示,避免把生成中、失败或已作废任务误标为待签署:
@@ -63,7 +65,7 @@ pendingPatientSigning 的后端口径只统计 WAITING_SIGN;CREATED 和 GENERA
## 6. 联调验收标准
- 切换院区后,请求携带新 campusId,四张指标卡、趋势、待办和排名同步更新。
- 切换 7、14、30 天后,趋势标题、趋势数据和文档排名同步变化。
- 切换 7、14、30 天后,**文档排名**的统计窗口与数值同步变化;趋势图保持「近一周」(末 7 天)不变,与原型一致。
- 返回空数组时,趋势、待办和排名显示各自空状态;指标卡显示 0。
- 服务端返回 GENERATING、FAILED、VOIDED 等状态时,页面标签与状态含义一致。
- Network 中不再出现首页为统计目的而循环拉取全部签署任务或模板的请求。