项目

一般

简介

行为

Feature #24

打开

【家医端】随访任务详情页展示逻辑

张 瑞阳大约 2 个月 之前添加. 更新于 大约一个月 之前.

状态:
To Test
优先级:
P1
指派给:
类别:
家医端(小程序)
目标版本:
开始日期:
2026-06-25
计划完成日期:
% 完成:

0%

预期时间:

描述

家医端任务按钮显示规则

本文档描述家庭医生端(/fuv/external/familyDoctor/task-manager-detail 及相关列表)各任务类型在不同状态下的操作按钮显示逻辑。

个案管理端规则见 task-manager-button-rules.md

通用字段

字段 类型 说明
taskType TaskType 任务类型枚举
taskOriginalStatus TaskStatus 任务原始状态
assignDoctorIds List<String> 已指派家庭医生 ID 列表
dwAnswerId String 问卷回答 ID;有值表示已填写问卷
currentUserId String 当前登录用户 ID(TokenHelper.getUserId()

状态对照

展示文案 taskOriginalStatus
未开始 NOT_START
待随访 WAIT_FOLLOW_UP
已超时 TIMEOUT
已随访 / 已提交 SUBMITTED
已随访(失访) SUBMITTED_LOST
已取消 CANCELED

1. 上门访视 VISIT_FOLLOW_UP

家医端核心可操作任务类型,按钮与指派关系、当前登录用户强相关。

进行中 / 失访(待完成)

条件:

  • taskOriginalStatusNOT_START | TIMEOUT | WAIT_FOLLOW_UP | SUBMITTED_LOST
附加条件 显示按钮
assignDoctorIds 不为空,且包含 currentUserId 已完成(失访)去完成
其他(未指派、未包含当前用户等) 不显示按钮

已提交

条件:

  • taskOriginalStatus = SUBMITTED
附加条件 显示按钮
dwAnswerId 不为空 查看问卷
dwAnswerId 为空 不显示按钮

已取消

条件:

  • taskOriginalStatus = CANCELED

显示按钮: 不显示

伪代码

if taskType == VISIT_FOLLOW_UP:
  if status in [NOT_START, TIMEOUT, WAIT_FOLLOW_UP, SUBMITTED_LOST]:
    if assignDoctorIds 包含 currentUserId:
      → ["已完成(失访)", "去完成"]
    else:
      → 不显示
  elif status == SUBMITTED:
    if dwAnswerId 有值:  → "查看问卷"
    else:                 → 不显示
  elif status == CANCELED:
    → 不显示

2. 电话随访 PHONE_CALL_FOLLOW_UP

家医端仅可查看已填写的问卷,不可执行随访操作。

进行中

条件:

  • taskOriginalStatusNOT_START | TIMEOUT | WAIT_FOLLOW_UP

显示按钮: 不显示

终态(已提交 / 失访 / 已取消)

条件:

  • taskOriginalStatusSUBMITTED | SUBMITTED_LOST | CANCELED
附加条件 显示按钮
dwAnswerId 不为空 查看问卷
dwAnswerId 为空 不显示按钮

伪代码

if taskType == PHONE_CALL_FOLLOW_UP:
  if status in [NOT_START, TIMEOUT, WAIT_FOLLOW_UP]:
    → 不显示
  elif status in [SUBMITTED, SUBMITTED_LOST, CANCELED]:
    if dwAnswerId 有值:  → "查看问卷"
    else:                 → 不显示

3. 复诊提醒 RE_VISIT_REMINDER

条件: 任意 taskOriginalStatus

显示按钮: 不显示

if taskType == RE_VISIT_REMINDER:
  → 不显示

4. 上传检查单 UPLOAD_CHECK_LIST

家医端不可上传或提交,仅可在已提交且有问卷数据时查看。

进行中 / 已取消

条件:

  • taskOriginalStatusNOT_START | TIMEOUT | WAIT_FOLLOW_UP | CANCELED

显示按钮: 不显示

已提交

条件:

  • taskOriginalStatus = SUBMITTED
附加条件 显示按钮
dwAnswerId 不为空 去查看
dwAnswerId 为空 不显示按钮

伪代码

if taskType == UPLOAD_CHECK_LIST:
  if status in [NOT_START, TIMEOUT, WAIT_FOLLOW_UP, CANCELED]:
    → 不显示
  elif status == SUBMITTED:
    if dwAnswerId 有值:  → "去查看"
    else:                 → 不显示

5. 营养干预 NUTRITION_INTERVENTION

条件: 任意 taskOriginalStatus

显示按钮: 不显示

if taskType == NUTRITION_INTERVENTION:
  → 不显示

汇总矩阵

taskType 进行中状态 终态 关键判断字段
VISIT_FOLLOW_UP 完成失访 + 去完成(指派给当前用户) 查看问卷(SUBMITTED 且有问卷) assignDoctorIdscurrentUserIddwAnswerId
PHONE_CALL_FOLLOW_UP 无按钮 查看问卷(有问卷时) dwAnswerId
RE_VISIT_REMINDER 无按钮 无按钮
UPLOAD_CHECK_LIST 无按钮 去查看(SUBMITTED 且有问卷) dwAnswerId
NUTRITION_INTERVENTION 无按钮 无按钮

与个案管理端差异对照

场景 家医端 个案管理端
上门访视进行中 指派给当前用户 → 完成失访 / 去完成 去指派 / 重新指派
上门访视 CANCELED 不显示 有问卷 → 查看问卷
电话随访 SUBMITTED_LOST 有问卷 → 查看问卷 不显示
复诊提醒 全程不显示 进行中可提交;失访/取消可再提交
上传检查单进行中 / CANCELED 不显示 去上传/去查看 + 提交
上传检查单 SUBMITTED 有问卷 → 去查看 去查看

后端关联

  • 接口:GET /fuv/external/familyDoctor/task-manager-detail
  • 详情响应:TaskManagerDetailRespcompleteFlag / completeLostFlag 目前仅覆盖上门访视的「去完成 / 完成失访」,其余按钮规则需前端或扩展字段实现)
  • 角色权限:TaskTypeRoleOperateRelateUtilFAMILY_DOCTOR 仅对 VISIT_FOLLOW_UP 开放操作权限

相关的问题 3 (3 打开0 已关闭)

关联到 Feature #23: 【个案端】随访任务详情页展示逻辑To Test冯 宇2026-06-22

行为
关联到 Feature #25: 【患者端】随访任务详情页展示逻辑To Test顾 钦元2026-06-22

行为
关联到 Feature #40: 【超管端】随访任务buttonTo Test张 瑞阳2026-06-29

行为
行为

导出 Atom PDF