1.1 KiB
1.1 KiB
分析报告 — Bug #469
问题描述
检验申请列表的【操作】列仅显示固定的"打印"和"删除"按钮,未根据申请单状态动态切换操作权限。
根因分析
文件 openhis-ui-vue3/src/views/doctorstation/components/inspection/inspectionApplication.vue 第97-104行:
- 操作列模板中固定渲染"打印"和"删除"按钮,没有任何状态判断逻辑
- 缺少"修改"和"撤回"按钮
状态机设计
| 状态 | 条件 | 允许的操作 |
|---|---|---|
| 待开立 | applyStatus == 0 | 修改、删除 |
| 已开立 | applyStatus == 1 && needExecute != true | 撤回 |
| 已执行 | applyStatus == 1 && needExecute == true | 无(仅打印) |
修复方案
- 前端 Vue: 操作列改为
v-if条件渲染按钮(修改/删除/撤回/打印) - 前端 API: 新增撤回接口
withdrawInspectionApplication(applyNo) - 后端 Controller: 新增
POST /withdraw/{applyNo}端点 - 后端 Service: 新增
withdrawInspectionLabApply方法,将 applyStatus 置回 0,needRefund/needExecute 置回 false