Files
zyt/app/research/diagnosis_exact_final_report.md
T
2026-08-11 09:12:51 +08:00

2.6 KiB
Raw Blame History

Diagnosis 详情二次终验报告

日期:2026-08-10

CLOSED

  • 统计端就诊卡:使用原生自绘二态 DiagnosisSwitch,保存值严格为 0/1
  • 日常记录:提供 + 血糖 / + 饮食 / + 运动 / + 备注,以及待办新增、仅待执行且 can_cancel 的精确取消;Remote/Demo/Protocol 均接真实方法,包含权限、DTO 校验和 generation 失效保护。
  • 诊疗笔记:接入新增/当日追加、舌象与报告上传、单附件删除;所有动作均调用现有真实 endpoint。
  • 处方与订单:处方按钮进入完整 PrescriptionEditorDialog 并调用 tcm.prescription/add;诊次偏移写入 setRevisitSlotStartOffset;订单详情调用真实详情方法。
  • 视频回放:列表、视频上传、手工通话记录创建、附件绑定均接真实 endpoint;播放仅允许合法 HTTP(S) 外链。
  • IM:固定 only_archived=1,支持异步同步与重新加载,并显示文本、图片、文件消息。
  • 视觉:tab 使用 4px 横向滚动条并隐藏原生左右箭头框;footer 有向上阴影;保存按钮自绘 loading spinner、成功勾、失败叉;readonly 摘要禁止拆字;表格状态改为 pill/tag。
  • Shell owner:每次 open_for / showEventparentWidget().window() 重新绑定,按 Shell 宽度 60% 计算抽屉,move/resize 立即同步,关闭后全部请求 generation 失效。
  • 列表补充合同:QR、挂号日志、通用订单与 exact doctor.appointment/cancel 均有 Protocol/Remote/Demo 方法。

OPEN(服务端合同不存在,fail-closed

  • 诊疗笔记“任意改写既有正文”与“删除整条笔记”没有后端 endpoint,因此桌面端没有伪造动作。现有合同只允许“当天追加”和“删除单个附件”:
    • server/app/adminapi/controller/doctor/AppointmentController.php:168-192 仅公开 addDoctorNotedoctorNotesdeleteDoctorNoteImage
    • server/app/adminapi/logic/doctor/DoctorNoteLogic.php:14-67addOrAppenddiagnosis_id + 当天 追加正文/附件,不是任意正文覆盖。
    • server/app/adminapi/logic/doctor/DoctorNoteLogic.php:114-141 仅实现单个附件删除。
    • admin/src/api/patient.ts:20-40 同样只有上述三个客户端 API。

验证

  • 定向详情与合同:28 passed
  • 相关 repository/reception/video57 passed
  • 全量:226 passed
  • ruff check .:exit 0(仅工作区不可访问缓存目录的扫描 warning)。
  • 视觉产物:artifacts/diagnosis_visual/ 中 6 张模式图与 14 张详情状态图,共 20 张本轮详情 PNG。