docs(bug): 诸葛亮分析报告 Bug #733

This commit is contained in:
2026-06-13 00:22:15 +08:00
parent 2e82071cca
commit 0db4dc726f

View File

@@ -0,0 +1,89 @@
# Bug #733 诸葛亮分析报告
> **文档类型**: Bug分析
> **分析时间**: 2026-06-13 00:22:15
> **分析模型**: mimo-v2.5 (LLM深度分析)
---
## 基本信息
- **Bug #**: 733
- **标题**: 【目录管理-诊疗目录】点击“编辑”按钮报错,且无法弹出编辑窗口进行数据修改
- **模块**: 系统管理
- **提出人**: 陈显精
---
根因完全定位。分析结果如下:
---
## 一、Bug 理解
**禅道 Bug #733**:【目录管理-诊疗目录】点击"编辑"按钮报错,且无法弹出编辑窗口进行数据修改
- **重现步骤**:登录系统 → 系统管理 > 目录管理 > 诊疗目录 → 选择任意行 → 点击【编辑】
- **结果**:页面无响应,顶部红色报错:`No static resource data-dictionary/diagnosis-treatment/information-one for request '/healthlink-his/data-dictionary/diagnosis-treatment/information-one/'.`
- **期望**:弹出"编辑诊疗项目"窗口,正确回显数据供修改
**综合**:用户在诊疗目录列表点击编辑时,前端请求后端获取详情接口失败,报 404 静态资源错误,编辑弹窗无法打开。根因是前端 API URL 写法有误。
---
## 二、根因分析
**根因:`getDiagnosisTreatmentOne` 函数的 URL 末尾多了一个 `/`trailing slash**
对比代码:
| 文件 | 行 | URL | 状态 |
|---|---|---|---|
| `diagnosistreatment.js:15` | 编辑用 | `'/data-dictionary/diagnosis-treatment/information-one/'` | ❌ 多了 `/` |
| `implementDepartment.js:65` | 同功能 | `'/data-dictionary/diagnosis-treatment/information-one?id=' + id` | ✅ 正确 |
| `disease.js:15` | 类似目录 | `'/data-dictionary/disease/information-one'` | ✅ 正确 |
| `device.js:15` | 类似目录 | `'/data-dictionary/device/information-one'` | ✅ 正确 |
**后端 Controller** (`DiagnosisTreatmentController.java`) 定义:
```java
@GetMapping("/information-one")
public R<?> getDiseaseTreatmentOne(@RequestParam Long id)
```
**请求链路**
1. `getDiagnosisTreatmentOne(row.id)` → Axios 拼接 URL
2. Axios 将 `params: {id}` 作为 query string 追加
3. 因 URL 以 `/` 结尾,实际请求变成:`/healthlink-his/data-dictionary/diagnosis-treatment/information-one/?id=xxx`
4. Spring Boot 将 `/information-one/` 解析为**目录路径**,查找静态资源,返回 404 `No static resource`
**涉及文件**(仅 1 个文件需修改):
- `healthlink-his-ui/src/views/catalog/diagnosistreatment/components/diagnosistreatment.js:15`
---
## 三、修复方案
**修改 `diagnosistreatment.js` 第 15 行,去掉 URL 末尾的 `/`**
```diff
- url: '/data-dictionary/diagnosis-treatment/information-one/',
+ url: '/data-dictionary/diagnosis-treatment/information-one',
```
仅此一处修改,前后端代码风格一致,后端无需任何改动。
---
## 四、路由决策
**FIXER: zhaoyun赵云**
**REASON**: 纯前端 API URL 拼写错误,后端接口正常(`/information-one` 映射正确),只需前端修复一个字符,赵云负责前端开发最合适。
---
## 路由决策
- **FIXER_ID**: zhaoyun
- **修复 Agent**: zhaoyun前端
- **原因**: LLM 分析决策
> ⚠️ 修复人员请先验证以上分析是否正确,再执行修复。