行为
Feature #40
打开【超管端】随访任务button
描述
超管端任务按钮显示规则¶
本文档描述超管端(随访工作台 / 计划任务管理,默认 FollowUpRole.DOCTOR)各任务类型在不同状态下的操作按钮显示逻辑。
通用字段¶
| 字段 | 类型 | 说明 |
|---|---|---|
taskType |
TaskType |
任务类型枚举 |
taskOriginalStatus |
TaskStatus |
任务原始状态 |
dwAnswerId |
String |
问卷回答 ID;有值表示已填写问卷 |
状态对照¶
| 展示文案 | taskOriginalStatus |
|---|---|
| 未开始 | NOT_START |
| 待随访 | WAIT_FOLLOW_UP |
| 已超时 | TIMEOUT |
| 已随访 / 已提交 | SUBMITTED |
| 已随访(失访) | SUBMITTED_LOST |
| 已取消 | CANCELED |
说明: 上传检查单、电话随访的
CANCELED在部分场景下仅作为展示状态,按钮逻辑与进行中一致(见各任务类型说明)。
1. 上门访视 VISIT_FOLLOW_UP
超管端不可操作上门访视,仅可在已提交且有问卷时查看。
进行中 / 失访 / 已取消¶
条件:
-
taskOriginalStatus∈NOT_START|TIMEOUT|WAIT_FOLLOW_UP|SUBMITTED_LOST|CANCELED
显示按钮: 不显示
已提交¶
条件:
-
taskOriginalStatus=SUBMITTED
| 附加条件 | 显示按钮 |
|---|---|
dwAnswerId 不为空 |
查看问卷 |
dwAnswerId 为空 |
不显示按钮 |
伪代码¶
if taskType == VISIT_FOLLOW_UP:
if status in [NOT_START, TIMEOUT, WAIT_FOLLOW_UP, SUBMITTED_LOST, CANCELED]:
→ 不显示
elif status == SUBMITTED:
if dwAnswerId 有值: → "查看问卷"
else: → 不显示
2. 电话随访 PHONE_CALL_FOLLOW_UP
超管端核心可操作任务之一,支持填写/查看问卷、提交及失访提交。
进行中 / 已取消¶
条件:
-
taskOriginalStatus∈NOT_START|TIMEOUT|WAIT_FOLLOW_UP|CANCELED
| 附加条件 | 显示按钮 |
|---|---|
dwAnswerId 为空 |
填写问卷、提交(失访)、提交 |
dwAnswerId 不为空 |
查看问卷、提交(失访)、提交 |
业务说明:
CANCELED仅作展示状态,按钮逻辑与进行中一致。
已提交¶
条件:
-
taskOriginalStatus=SUBMITTED
| 附加条件 | 显示按钮 |
|---|---|
dwAnswerId 不为空 |
查看问卷 |
dwAnswerId 为空 |
不显示按钮 |
已随访(失访)¶
条件:
-
taskOriginalStatus=SUBMITTED_LOST
| 附加条件 | 显示按钮 |
|---|---|
dwAnswerId 为空 |
提交 |
dwAnswerId 不为空 |
查看问卷、提交 |
伪代码¶
if taskType == PHONE_CALL_FOLLOW_UP:
if status in [NOT_START, TIMEOUT, WAIT_FOLLOW_UP, CANCELED]:
if dwAnswerId 有值: → ["查看问卷", "提交(失访)", "提交"]
else: → ["填写问卷", "提交(失访)", "提交"]
elif status == SUBMITTED:
if dwAnswerId 有值: → "查看问卷"
else: → 不显示
elif status == SUBMITTED_LOST:
if dwAnswerId 有值: → ["查看问卷", "提交"]
else: → "提交"
3. 复诊提醒 RE_VISIT_REMINDER
进行中¶
条件:
-
taskOriginalStatus∈NOT_START|TIMEOUT|WAIT_FOLLOW_UP
显示按钮: 提交(失访)、提交
已提交¶
条件:
-
taskOriginalStatus=SUBMITTED
显示按钮: 不显示
失访 / 已取消¶
条件:
-
taskOriginalStatus∈SUBMITTED_LOST|CANCELED
显示按钮: 提交
业务说明: 取消后仍可提交,与个案管理端一致。
伪代码¶
if taskType == RE_VISIT_REMINDER:
if status in [NOT_START, TIMEOUT, WAIT_FOLLOW_UP]:
→ ["提交(失访)", "提交"]
elif status == SUBMITTED:
→ 不显示
elif status in [SUBMITTED_LOST, CANCELED]:
→ "提交"
4. 上传检查单 UPLOAD_CHECK_LIST
进行中 / 已取消¶
条件:
-
taskOriginalStatus∈NOT_START|TIMEOUT|WAIT_FOLLOW_UP|CANCELED
| 附加条件 | 显示按钮 |
|---|---|
dwAnswerId 为空 |
去上传、提交 |
dwAnswerId 不为空 |
去查看、提交 |
业务说明:
CANCELED仅作展示状态,按钮逻辑与进行中一致。
已提交¶
条件:
-
taskOriginalStatus=SUBMITTED
| 附加条件 | 显示按钮 |
|---|---|
dwAnswerId 不为空 |
去查看 |
dwAnswerId 为空 |
不显示按钮 |
伪代码¶
if taskType == UPLOAD_CHECK_LIST:
if status in [NOT_START, TIMEOUT, WAIT_FOLLOW_UP, CANCELED]:
if dwAnswerId 有值: → ["去查看", "提交"]
else: → ["去上传", "提交"]
elif status == SUBMITTED:
if dwAnswerId 有值: → "去查看"
else: → 不显示
5. 营养干预 NUTRITION_INTERVENTION
条件: 任意 taskOriginalStatus
显示按钮: 不显示
if taskType == NUTRITION_INTERVENTION:
→ 不显示
汇总矩阵¶
taskType |
进行中状态 | 终态 | 关键判断字段 |
|---|---|---|---|
VISIT_FOLLOW_UP |
无按钮 | 查看问卷(SUBMITTED 且有问卷) |
dwAnswerId |
PHONE_CALL_FOLLOW_UP |
填写/查看问卷 + 失访提交 + 提交(含已取消) |
SUBMITTED 有问卷 → 查看;SUBMITTED_LOST 可再提交 |
dwAnswerId |
RE_VISIT_REMINDER |
提交 + 失访提交 | 失访/取消后可再提交 | — |
UPLOAD_CHECK_LIST |
去上传/去查看 + 提交(含已取消) | 去查看(SUBMITTED 且有问卷) |
dwAnswerId |
NUTRITION_INTERVENTION |
无按钮 | 无按钮 | — |
四端差异对照¶
| 场景 | 超管端 | 个案管理端 | 家医端 | 患者端 |
|---|---|---|---|---|
| 上门访视进行中 | 无按钮 | 去指派 / 重新指派 | 完成失访 / 去完成 | 无按钮 |
上门访视 SUBMITTED
|
有问卷 → 查看问卷 | 有问卷 → 查看问卷 | 有问卷 → 查看问卷 | 有问卷 → 查看问卷 |
| 电话随访进行中 | 填写/查看问卷 + 失访提交 + 提交 | 无按钮 | 无按钮 | 无按钮 |
电话随访 SUBMITTED
|
有问卷 → 查看问卷 | 有问卷 → 查看问卷 | 有问卷 → 查看问卷 | 有问卷 → 查看问卷 |
电话随访 SUBMITTED_LOST
|
无问卷 → 提交;有问卷 → 查看 + 提交 | 无按钮 | 有问卷 → 查看问卷 | 有问卷 → 查看问卷 |
| 复诊提醒 | 同个案管理端 | 提交 + 失访提交 | 无按钮 | 无按钮 |
| 上传检查单进行中 | 同个案/患者端 | 去上传/去查看 + 提交 | 无按钮 | 去上传/去查看 + 提交 |
| 营养干预 | 无按钮 | 无按钮 | 无按钮 | 去查看 |
后端关联¶
- 工作台接口:
/fuv/external/workbench/*(日历、每日任务等) - 任务详情:
POST /fuv/external/planTask/getById→TaskManagerDetailResp - 任务列表:
GET /fuv/external/planTask/getByPlanId(默认FollowUpRole.DOCTOR) - 提交接口:
POST /fuv/external/planTask/commit、POST /fuv/external/planTask/failCommit - 角色权限:
TaskTypeRoleOperateRelateUtil中DOCTOR可操作PHONE_CALL_FOLLOW_UP、RE_VISIT_REMINDER、UPLOAD_CHECK_LIST
行为