docs(bug): 诸葛亮分析报告 Bug #733
This commit is contained in:
89
MD/bugs/BUG_733_ANALYSIS.md
Normal file
89
MD/bugs/BUG_733_ANALYSIS.md
Normal 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 分析决策
|
||||
|
||||
> ⚠️ 修复人员请先验证以上分析是否正确,再执行修复。
|
||||
Reference in New Issue
Block a user