华佗
5a4c2b6354
Fix Bug #511 : [住院医生工作站-临床医嘱] 护士退回的医嘱在医生站双击无法进入编辑模式,导致无法修改重发
...
策略A:修改 clickRowDb 双击处理函数的编辑准入条件
- 原条件:row.statusEnum == 1 && !row.requestId(只允许从未保存的新医嘱编辑)
- 新条件:row.statusEnum == 1(允许所有待签发状态的医嘱编辑,包括护士退回的)
- 原因:护士退回医嘱时后端将状态重置为 DRAFT(1),但 requestId 仍存在,
原条件因此拦截了退回医嘱,导致双击无响应
- 保存逻辑已支持有 requestId 的场景(dbOpType='2' 更新模式),无需额外修改
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-11 17:09:54 +08:00
赵云
6626c8f1cd
Fix Bug #502 : 【住院护士站-汇总发药申请】顶部医嘱类型(长期/临时)过滤按钮点击无响应
...
根因:父组件 index.vue 中 therapyEnum 变量未声明为 ref,且未通过 props 传递给子组件 prescriptionList.vue,
导致点击"长期/临时"按钮时数据流断裂,子组件 API 调用始终使用本地未变化的 therapyEnum 值。
修复:
1. index.vue 新增 const therapyEnum = ref(undefined)
2. index.vue 新增 handleTherapyChange() 调用 handleGetPrescription() 刷新列表
3. index.vue 将 therapyEnum 作为 prop 传入 PrescriptionList
4. prescriptionList.vue 将本地 therapyEnum ref 改为 props 接收
2026-05-11 17:08:56 +08:00
赵云
e2f4996f47
Merge remote-tracking branch 'origin/华佗' into 华佗
...
# Conflicts:
# openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/index.vue
2026-05-11 15:27:40 +08:00
赵云
37b57e8b12
Fix Bug #511 : [住院医生工作站-临床医嘱] 护士退回的医嘱在医生站双击无法进入编辑模式,导致无法修改重发
...
根因: clickRowDb 双击编辑条件为 row.statusEnum == 1 && !row.requestId,
护士退回的医嘱 statusEnum 被重置为 1(DRAFT),但 requestId 仍存在(之前已保存过),
导致不满足 !row.requestId 条件,无法进入编辑模式。
修复: 移除 !row.requestId 限制,仅保留 statusEnum == 1 条件。
保存流程已支持两种场景:
- 新建医嘱(无requestId): dbOpType = '1' 创建
- 退回医嘱(有requestId): dbOpType = '2' 更新
2026-05-11 15:26:39 +08:00
wangjian963
9bd39c06e7
Merge remote-tracking branch 'origin/develop' into develop
2026-05-11 15:25:17 +08:00
赵云
bde42d6b14
fix: 恢复 Bug #497 的后端修改 + 数据库字段同步 (ALTER TABLE doc_request_form ADD COLUMN status)
2026-05-11 14:57:06 +08:00
关羽
01bf3177c9
fix: 还原 Bug #443/#475/#477/#486/#497 引入的 getRequestForm 编译错误
2026-05-11 14:40:07 +08:00
赵云
2a9f8376e6
fix: 完整回退 Bug #497 的后端修改(SQL/Java接口/Impl/Dto)
2026-05-11 14:13:49 +08:00
关羽
0774d9f877
Fix Bug #486 : [住院医生工作站-临床医嘱] 医嘱检索框不支持全局模糊搜索,未选"医嘱类型"时检索结果为空
...
根因:handleFocus/handleChange 中 categoryCode 的计算逻辑错误。当新增行未选择
医嘱类型时(row.adviceType 为 undefined),代码回退到 adviceQueryParams 的默认值并
匹配到具体药品分类(如西药 categoryCode='2'),导致搜索被限制在单一分类而非全局药库。
修复:简化 categoryCode 判定为 `row.adviceType !== undefined ? selectedItem.categoryCode : ''`,
未选类型时传空 categoryCode,使 searchKey 在全药库范围内模糊匹配。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-11 14:08:13 +08:00
赵云
cee38eceae
Fix Bug #480 : [住院护士站-医嘱执行] 非耗材类医嘱执行报"耗材库存"错误且全选逻辑联动异常
...
根因分析:
1. 非耗材类医嘱执行报"耗材库存"错误: handleExecute 中无条件调用 lotNumberMatch,
后端会校验该就诊下所有待发放耗材库存,即使当前执行的是口服药等非耗材类医嘱
2. 全选联动异常: msgSuccess 在 handleGetPrescription 之前执行,数据刷新后
defaultSelectAllRows 重新选中所有行,用户关闭弹窗后看到全选效果
修复方案:
1. 增加医嘱类型判断,仅当选中医嘱包含药品(med_medication_request)或耗材(device)
类型时才调用 lotNumberMatch
2. 调整执行顺序:先刷新数据再显示成功弹窗,避免用户看到数据刷新的副作用
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-11 14:07:49 +08:00
赵云
bbc740b6ce
fix: 完全回退 Bug #497 引入的 drf.status 字段(数据库不存在)
2026-05-11 14:06:53 +08:00
关羽
256b986c0e
Fix Bug #477 : 住院医生工作站-住院检查申请详情弹窗中"发往科室"字段显示为短横线(-),未正常获取数据
...
根因:handleViewDetail 为同步方法,点击详情时 getLocationInfo 尚未返回,
orgOptions 为空导致 recursionFun 无法将 targetDepartment ID 解析为科室名称。
修复:
1. 前端(4个申请组件):handleViewDetail 改为 async,解析 descJson 前确保 orgOptions 已加载
2. 前端:watch encounterId 改为 Promise.all 并行加载数据和科室列表
3. 后端:新增 keyword 关键字筛选参数(申请单号/检查项目模糊匹配)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-11 14:03:49 +08:00
关羽
eaac16769d
Fix Bug #491 : 【执行科室配置】保存配置时系统报错
...
根因: addOrEditOrgLoc 方法中 organizationService.getById() 返回 null 时
直接调用 .getName() 导致 NullPointerException。当数据库中某条执行科室配置
关联的 organizationId 对应的科室记录已被删除时触发此问题。
修复: 在调用 getName() 前增加 null 检查,返回"未知科室"作为降级提示。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-11 14:01:23 +08:00
wangjian963
df6c5f3824
506 门诊挂号:门诊诊前退号后,数据库多表状态值变更与 PRD 定义不符
...
CommonConstants.AppointmentOrderStatus 常量 → OrderStatus 枚举重构
新增枚举:0=患者取消 / 1=有效 / 2=系统取消 / 3=已完成
退号流程加乐观锁防并发,slot 状态改回待约,退号日志独立事务 修复 XML 中 Integer 比较用字符串的问题
Bug #411 — 诊室过滤栏从科室下拉框改为诊室按钮组
2026-05-11 13:51:47 +08:00
关羽
08075c90e2
Fix Bug #500 : 【门诊医生站】检查申请右侧"检查项目分类"切换时,界面出现明显抖动/闪烁
...
根因分析:
1. el-collapse accordion 模式下快速切换分类时,连续的折叠/展开动画重叠,
Element Plus 在动画过程中重新计算面板高度,导致高度跳变和白屏闪烁
2. 折叠容器缺少 overflow:hidden,动画过渡期间内容溢出造成闪烁
修复方案:
1. 添加 isAnimating 防抖标志,handleCollapseChange 中 300ms 内忽略后续点击
(与 CSS 过渡时长一致),让当前动画完整执行后再响应下一次切换
2. .collapse-scroll 添加 overflow-x:hidden,防止水平方向溢出
3. :deep(.el-collapse-item__wrap) 添加 overflow:hidden 替代 will-change:height,
避免强制 GPU 合成层带来的性能开销
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-11 13:50:04 +08:00
赵云
c5820fcec2
Fix Bug #497 : 【住院医生工作站-检查申请】检查申请列表缺失"申请单状态"列及全流程闭环状态流转逻辑
...
根因:get-check 接口只接收 encounterId 参数,忽略前端传递的 startDate/endDate/status 筛选参数,
导致日期筛选和状态筛选全部失效。同类型的 get-inspection 接口已正确支持这些参数。
修复:在 controller 的 get-check 方法增加 startDate、endDate、status 三个 @RequestParam,
调用 5 参数重载的 service 方法,使筛选参数正确传递到 SQL 层。
前端 examineApplication.vue 已包含状态列、parseStatus 映射、状态筛选下拉框,无需修改。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-11 13:48:45 +08:00
赵云
fbe7f4f41f
Fix Bug #493 : 【住院医生工作站-临床医嘱-检验申请】项目未维护执行科室时,医生手动选择发往科室后仍报错且数据被清空
...
根因:projectWithDepartment() 在提交时会清空用户手动选择的发往科室,
且项目未配置执行科室时 findTreeItem 返回 null 导致校验失败。
同时 submit() 使用 item.positionId(可能为 undefined)作为执行科室。
修复:
1. 清空科室前保存用户手动选择的值(manualDept)
2. type=2(提交)且 findItem 不存在时,若用户已手动选择科室则恢复并允许通过
3. positionId 兜底使用 form.targetDepartment
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-11 13:48:22 +08:00
关羽
4bd0d2dcc8
Fix Bug #486 : [住院医生工作站-临床医嘱] 医嘱检索框不支持全局模糊搜索,未选"医嘱类型"时检索结果为空
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-10 16:02:20 +08:00