Files
his/MD/bugs/BUG_746_ANALYSIS.md

3.8 KiB
Raw Blame History

Bug #746 诸葛亮分析报告

文档类型: Bug分析 分析时间: 2026-06-12 22:51:12 分析模型: mimo-v2.5 (LLM深度分析)


基本信息

  • Bug #: 746
  • 标题: 【电子病历管理】病历时效加载卡死会有报错了“No static resource emr-archive/overdue/list for request '/healthlink-his/emr-archive/overdue/list'.”
  • 模块: 会诊管理
  • 提出人: 王栩坤

Now I have all the information needed. Here's my analysis:


一、Bug 理解

禅道 Bug #746

  • 标题:【电子病历管理】病历时效加载卡死会有报错了"No static resource emr-archive/overdue/list for request '/healthlink-his/emr-archive/overdue/list'."
  • 重现步骤登录内科医生1账号 → 打开电子病历管理 → 打开病历时效 → 出现报错
  • 期望结果:能够正常进入病历时效,卡死界面能够正常显示
  • 附图关键信息:页面顶部红色错误条 No static resource emr-archive/overdue/list for request '/healthlink-his/emr-archive/overdue/list';四个统计卡片全部为 0数据列表空白并显示加载中旋转图标

总结:用户在病历时效页面加载时,前端请求了错误的 API 路径 /emr-archive/overdue/list,该路径在后端无对应 Controller 端点,导致数据加载失败、页面卡死。


二、根因分析

问题链条

层级 文件 问题
前端 API src/api/emr.js getOverdueList 定义了错误 URL /emr-archive/overdue/list
前端 API src/api/emr/index.js getOverdueList 定义了正确 URL /api/v1/emr/timeliness/overdue
前端页面 src/views/emr/timeliness/index.vue:40 import ... from '@/api/emr' → 解析到 emr.js 而非 emr/index.js
后端 EmrArchiveController (/emr-archive) 只有 /page, /print, /archive, /reprint, /stats,无 /overdue/list
后端 StructuredEmrController (/api/v1/emr) 已有 /timeliness/overdue 端点

根因Vite 的 @ 别名解析规则是「文件优先于目录索引」。@/api/emr 先匹配到 src/api/emr.js(文件),不会进入 src/api/emr/index.js(目录索引)。src/api/emr.js 中的 getOverdueList 使用了不存在的后端路径 /emr-archive/overdue/list

src/api/emr.js 中的另外两个函数也有同样问题:

  • getTimelinessByEncounter/emr-revision/timeliness/...(不存在)
  • getTimelinessStatistics/emr-revision/statistics(不存在)

三、修复方案

方案:修复 src/api/emr.js 中的错误 URL对齐到 StructuredEmrController 的正确端点

需修改 1 个文件

将三个函数的 URL 修改为后端 StructuredEmrController 的正确路径:

函数 错误 URL 正确 URL
getTimelinessByEncounter /emr-revision/timeliness/{id} /api/v1/emr/timeliness/encounter/{id}
getTimelinessStatistics /emr-revision/statistics /api/v1/emr/timeliness/statistics
getOverdueList /emr-archive/overdue/list /api/v1/emr/timeliness/overdue

同时 getPendingEmrCount 指向 /emr-archive/pending-count,后端 EmrArchiveController 也没有该端点,也需要同步处理(可暂改为调用 /emr-archive/stats 或在后端补充端点)。


四、路由决策

FIXER: guanyu
REASON: 修复仅涉及前端 API URL 对齐后端已有端点,属于简单的接口路径修正,后端端点已存在无需改动,交给后端/全栈开发关羽处理即可。


路由决策

  • FIXER_ID: guanyu
  • 修复 Agent: guanyu后端
  • 原因: LLM 分析决策

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