Files
his/analysis_469.md

1.1 KiB
Raw Blame History

分析报告 — Bug #469

问题描述

检验申请列表的【操作】列仅显示固定的"打印"和"删除"按钮,未根据申请单状态动态切换操作权限。

根因分析

文件 openhis-ui-vue3/src/views/doctorstation/components/inspection/inspectionApplication.vue 第97-104行

  • 操作列模板中固定渲染"打印"和"删除"按钮,没有任何状态判断逻辑
  • 缺少"修改"和"撤回"按钮

状态机设计

状态 条件 允许的操作
待开立 applyStatus == 0 修改、删除
已开立 applyStatus == 1 && needExecute != true 撤回
已执行 applyStatus == 1 && needExecute == true 无(仅打印)

修复方案

  1. 前端 Vue: 操作列改为 v-if 条件渲染按钮(修改/删除/撤回/打印)
  2. 前端 API: 新增撤回接口 withdrawInspectionApplication(applyNo)
  3. 后端 Controller: 新增 POST /withdraw/{applyNo} 端点
  4. 后端 Service: 新增 withdrawInspectionLabApply 方法,将 applyStatus 置回 0needRefund/needExecute 置回 false