Fix Bug #470: 根因+修复方案摘要

This commit is contained in:
2026-05-17 19:12:13 +08:00
committed by guanyu
parent 177d3f28de
commit 45f2c973bf

View File

@@ -0,0 +1,18 @@
### 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_status` CASE 表达式将 `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>`