1.4 KiB
1.4 KiB
Bug #469 分析报告
标题: [住院医生工作站-检验申请] 完善【操作】列临床业务逻辑:支持按状态动态切换修改、删除、撤回等功能
根因: 操作列(testApplication.vue 第 108-122 行)模板中,"详情"按钮 <el-button> 位于 v-if/v-else-if 条件块之外,作为独立元素始终渲染。导致:
- 待签发状态(status=0/null):显示 "修改 删除 详情" 三个按钮(应仅显示"修改 删除")
- 已签发状态(status=1):显示 "撤回 详情" 两个按钮(应仅显示"撤回")
- 其他状态(2/3/4/6/7):仅显示"详情"(正确)
数据流:
- 前端:
testApplication.vue→ 操作列 template → 条件判断scope.row.status - 后端 SQL:
RequestFormManageAppMapper.xml中computed_statusCASE 表达式将status_enum映射为前端显示码(0=待签发, 1=已签发, 6=已出报告, 7=已作废) - 后端删除:
RequestFormManageAppServiceImpl.deleteRequestForm校验RequestStatus.DRAFT(status_enum=1) - 后端撤回:
RequestFormManageAppServiceImpl.withdrawRequestForm校验RequestStatus.ACTIVE(status_enum=2)
修复方案: 将"详情"按钮包裹在 <template v-else> 中,形成完整的 v-if / v-else-if / v-else 三分支结构,确保每个状态仅显示对应的操作按钮。
修复结果:✅ 成功,4行改动(1行删除,3行新增:<template v-else> + 按钮 + </template>)