|
|
@@ -1465,4 +1465,22 @@ interactionType 取值:`PHONE` / `WECHAT` / `MEETING` / `OTHER`。
|
|
|
|
|
|
---
|
|
|
|
|
|
+### 4.46 规划师方案审核(`/api/health/plan/pending-review/*`)
|
|
|
+
|
|
|
+| 路径 | 说明 |
|
|
|
+|------|------|
|
|
|
+| `POST /api/health/plan/pending-review/list` | 待审核方案列表(`teacher` 取当前登录人;`admin` 可传 `teacherId` 过滤,不传则返回该家庭全部) |
|
|
|
+| `POST /api/health/plan/pending-review/update` | 编辑方案内容(仅 `status` 为 `draft`/`pending_review` 允许) |
|
|
|
+| `POST /api/health/plan/pending-review/approve` | 审核通过并发布 |
|
|
|
+| `POST /api/health/plan/pending-review/reject` | 驳回 |
|
|
|
+
|
|
|
+- 角色校验:仅 `role=teacher` 或 `role=admin`,且必须携带 `familyId`,否则返回 `familyId不能为空`。
|
|
|
+- **未分配池规则**:`listPendingReviewPlans()` 在 `teacherId` 非空时按 `(teacher_id = ? OR teacher_id IS NULL)` 过滤 —— 规划师既能看到分配给自己的方案,也能看到本家庭内尚未指定规划师的方案(`health_plans.teacher_id` 为 `NULL`),避免用户未选规划师时保存的 `pending_review` 方案成为无人可见的孤儿记录。
|
|
|
+- 入选范围限定 `status IN ('draft','pending_review')`,按 `created_at` 倒序。
|
|
|
+
|
|
|
+> **注意**:`health_plans.teacher_id` 列由迁移 251 建立(`DatabaseInitializer`),`schema.sql` 已同步。
|
|
|
+> 前端 `getPendingReviewPlans()`(`utils/api.js`)目前尚无页面消费,规划师审核页未接通。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
*文档最后更新:2026-10-04*
|