关羽
04ce8a432a
Fix Bug #510 : [住院医生工作站] 进入页面报错
...
根因:order/index.vue 中 getList() 在模块顶层执行(非生命周期钩子),
组件导入时立即触发 API 调用,此时患者尚未选择导致 encounterId 为 undefined;
同时 getListInfo() 缺少患者选择守护检查,多处 API 以空参数调用后端引发循环报错。
修复:
1. 将 getList() 从模块顶层移至 onMounted() 生命周期钩子
2. 在 getListInfo() 开头添加 patientInfo.encounterId 守护检查
2026-05-14 06:19:35 +08:00
关羽
21266c7679
Fix Bug #507 : [住院护士站-住院记账-补费] 项目单位未获取、执行科室显示内码且缺乏默认/模糊搜索逻辑
...
后端SQL修复: DoctorStationAdviceAppMapper.xml 中诊疗项 min_unit_code 硬编码为空字符串,
改为使用 permitted_unit_code,使前端单位下拉框有可用选项
前端修复:
1. api.js getOrgList 添加 pageSize:100 参数,确保获取足够科室数据
2. FeeDialog.vue loadDepartmentOptions 增加回退逻辑:当树形结构无children时使用扁平records
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 06:13:40 +08:00
关羽
daad0f7812
Fix Bug #499 : 【住院医生工作站-检查申请】检查申请列表缺失查询过滤功能,不符合临床高效检索要求
...
- 新增关键字搜索输入框(申请单号/检查项目名称模糊匹配)
- 设置日期范围默认为近7天
- 关键字搜索支持回车触发查询
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 06:13:40 +08:00
关羽
3454e95c09
Fix Bug #498 : 【住院医生工作站-检查申请】检查申请列表操作项过于单一,缺失修改/作废/打印/看报告等核心临床操作
...
根据申请单状态动态展示操作按钮:
- 待签发:详情、修改、删除
- 已签发:详情、撤回
- 已校对/待接收:详情、打印
- 已接收/已检查:详情、看报告
- 已出报告:详情、打印、看报告
- 已作废:详情
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 06:13:40 +08:00
关羽
556cef430e
Fix Bug #502 : 【住院护士站-汇总发药申请】顶部医嘱类型(长期/临时)过滤按钮点击无响应
...
根因:汇总视图(SummaryMedicineList)没有ref属性,handleGetPrescription()只调用了prescriptionRefs.value?.handleGetPrescription(),
当isDetails=='2'时PrescriptionList被v-if隐藏,prescriptionRefs.value为null,导致汇总列表不刷新。
修复:1. 给SummaryMedicineList添加ref="summaryMedicineRefs"
2. handleGetPrescription()根据isDetails值调用对应的子组件刷新方法
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 06:06:25 +08:00
荀彧
4e3281bb8b
Fix Bug #497 : 【住院医生工作站-检查申请】检查申请列表缺失"申请单状态"列及全流程闭环状态流转逻辑
...
根因:SQL 查询使用 CASE MIN(wsr.status_enum) 计算状态,但聚合函数 MIN() 出现在 WHERE 子句中,
PostgreSQL 语法错误导致状态筛选时查询失败。且计算状态仅映射 5 种值(缺少"待接收"=3、"已出报告"=6)。
修复:改为直接使用 doc_request_form.status 字段(数据库已存在该列),
SELECT 和 WHERE 均使用 drf.status,支持完整 0-7 状态流转。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 06:06:25 +08:00
荀彧
942bc24170
Fix Bug #508 : [住院护士站-住院记账-补费] 点击"划价组套"按钮无任何响应,无法选择组套项目
...
- 新增 el-empty 空状态提示:当组套列表为空时显示"暂无划价组套数据",避免用户看到空白表格误认为页面无响应
- 改进错误处理:API 失败时弹出 ElMessage.warning 提示用户,替代之前仅 console.warn 的静默处理
- 添加调试日志:openGroupSetDialog 入口添加 console.log 便于排查按钮点击是否触发
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 06:06:24 +08:00
赵云
4e51bdbd03
Fix Bug #492 : 【门诊手术安排】关闭"手术计费"主弹窗后,项目字典选择列表依然残留悬浮在界面上
...
根因: el-popover 通过 teleport 渲染在 document.body 上,closeChargeDialog() 调用
closeAllPopovers() 后立即设置 showChargeDialog=false,dialog 在 Vue 完成 popover DOM 清
理前就开始卸载,导致 teleported popover 残留。
修复:
1. closeChargeDialog 改为 async,closeAllPopovers 后 await nextTick() 确保 popover 可
见性变更的 DOM 更新完成后再关闭 dialog
2. el-dialog 添加 destroy-on-close 属性,确保关闭时完整销毁内容区及所有子组件的 teleport
2026-05-14 06:06:24 +08:00
荀彧
f4225db731
Fix Bug #500 : 【门诊医生站】检查申请右侧"检查项目分类"切换时,界面出现明显抖动/闪烁
...
移除了 handleCollapseChange 中的 isAnimating 防抖锁。该锁会阻塞后续点击的 handleCollapseChange 回调执行,
导致快速切换分类时 currentActiveCategory 未被更新,过期 API 响应可能覆盖数据,以及 accordion 状态与业务逻辑不同步。
改为始终更新 currentActiveCategory 守卫,真正依靠 handleCategoryExpand 中的过期请求忽略机制来防止数据闪烁。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 06:06:24 +08:00
关羽
da57354324
Fix Bug #493 : 【住院医生工作站-临床医嘱-检验申请】项目未维护执行科室时,医生手动选择发往科室后仍报错且数据被清空
...
原因:projectWithDepartment 函数在 watch 触发时(type=1)若项目未配置执行科室,
立即弹出"未找到项目执行的科室"错误,干扰用户操作;且提交时(type=2)的错误提示
分支没有区分"用户已手动选择"和"用户未选择"两种情况。
修复:将 findItem 未找到时的错误弹窗限制在 type=2(提交)且用户未手动选择科室时触发,
type=1(选择项目变化)时仅清空科室字段让用户自行选择,不再弹窗阻断。
2026-05-14 05:05:41 +08:00
赵云
d646afa0c0
Fix Bug #487 : 【临床医嘱】诊疗类医嘱签发后,列表状态未实时刷新为"已签发"
...
根因分析:诊疗类(活动)医嘱签发时,后端handService()的批量状态更新
未区分签发/保存场景,导致statusEnum字段在签发时可能未被正确更新为
ACTIVE(2);前端依赖后端刷新,缺乏乐观更新机制。
修复方案:
- 前端:签发成功后立即将saveList中对应医嘱的statusEnum设为2(乐观更新),
再执行getListInfo从后端刷新
- 后端:handService()中分离签发/保存的批量更新逻辑,签发时显式设置
statusEnum=ACTIVE、authoredTime和signCode,并添加日志
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 05:05:41 +08:00
关羽
d31b7ff549
Fix Bug #486 : [住院医生工作站-临床医嘱] 医嘱检索框不支持全局模糊搜索,未选"医嘱类型"时检索结果为空
...
根因:adviceTypes 参数使用逗号分隔字符串 '1,2,3,6',经 tansParams 序列化后变成
adviceTypes=1%2C2%2C3%2C6(URL编码的逗号),Spring MVC 无法将其正确解析为 List<Integer>,
导致后端 SQL 返回空结果。改为数组 [1,2,3,6] 后,tansParams 正确序列化为
adviceTypes=1&adviceTypes=2&adviceTypes=3&adviceTypes=6,后端可正常解析。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 05:05:41 +08:00
关羽
5b6f33912d
Fix Bug #477 : 住院检查申请详情弹窗中"发往科室"字段显示异常
...
根因:recursionFun 使用嵌套循环搜索科室树,但 API 返回扁平列表导致匹配失败。
修复:改用递归 findTreeItem 搜索(与 medicalExaminations.vue 一致),添加 API 错误处理,
并在 ID 匹配失败时回退显示原始值而非空白。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 05:05:41 +08:00
荀彧
c7f87a9c95
Fix Bug #467 : [住院医生工作站-检验申请] 列表显示信息不规范:标题术语错误且单据名称未展示具体检验项目
...
1. 详情弹窗中"处方号"改为"申请单号",符合住院检验业务术语规范
2. 列表"申请单名称"列改为从 requestFormDetailList 动态构建:
- 单一项目:显示"项目名称+数量"
- 多个项目:显示"首项目名称+数量等X项"
解决此前统一显示"检验申请单"无法区分单据内容的问题
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 05:05:41 +08:00
关羽
2823f8eb05
Fix Bug #481 : [住院护士站-医嘱执行] 药品库存充足但执行时提示库存不足
...
根因: AdviceUtils.checkExeMedInventory() 中硬编码 performLocation == locationId 的匹配条件,
当医嘱的 performLocation 指向的药房没有该药品库存时(库存实际在其他药房),匹配失败导致"库存不足"错误。
修复策略: 采用两步匹配法 -
1. 先按 performLocation 匹配指定药房的库存(添加 null 容错)
2. 若指定药房无匹配,则放宽条件跨所有药房聚合库存
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 03:14:08 +08:00