From 45f2c973bfd0357c2bde7268d0faf1d5b0237909 Mon Sep 17 00:00:00 2001 From: zhaoyun Date: Sun, 17 May 2026 19:12:13 +0800 Subject: [PATCH] =?UTF-8?q?Fix=20Bug=20#470:=20=E6=A0=B9=E5=9B=A0+?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=96=B9=E6=A1=88=E6=91=98=E8=A6=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- md/bug-analysis/bug469-analysis.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 md/bug-analysis/bug469-analysis.md diff --git a/md/bug-analysis/bug469-analysis.md b/md/bug-analysis/bug469-analysis.md new file mode 100644 index 000000000..058be5e72 --- /dev/null +++ b/md/bug-analysis/bug469-analysis.md @@ -0,0 +1,18 @@ +### Bug #469 分析报告 + +**标题**: [住院医生工作站-检验申请] 完善【操作】列临床业务逻辑:支持按状态动态切换修改、删除、撤回等功能 + +**根因**: 操作列(`testApplication.vue` 第 108-122 行)模板中,"详情"按钮 `` 位于 `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) + +**修复方案**: 将"详情"按钮包裹在 `