19 lines
1.4 KiB
Markdown
19 lines
1.4 KiB
Markdown
### 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>`)
|