Files
his/MD/bugs/BUG_733_ANALYSIS.md

3.2 KiB
Raw Permalink Blame History

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) 定义:

@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 末尾的 /

- 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 分析决策

⚠️ 修复人员请先验证以上分析是否正确,再执行修复。