关羽
0f44026ac4
Fix Bug #455 : 门诊医生站-医嘱:开立诊疗医嘱时执行科室默认获取逻辑有误且显示为原始ID
...
移除else分支中对orgId和positionName的条件判断,确保诊疗类医嘱的执行科室
始终使用患者就诊科室,不被诊疗目录配置的positionId覆盖。
之前的if (!orgId)条件导致目录已配置positionId时不会被覆盖,
若目录配置的ID不在机构树中则显示原始ID。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 18:13:11 +08:00
9641412fae
修复bug
2026-05-14 18:13:11 +08:00
关羽
a52f067ac9
Fix Bug #510 : [住院医生工作站] 进入页面报错
...
修复模板中的 Markdown 代码块标记污染(```vue/``` 作为文本渲染),
并恢复被意外移除的 SummaryDrugApplication 组件导入及 ref 声明,
解决页面加载时组件未定义错误和页面渲染异常。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 18:13:11 +08:00
赵云
868d59c3ec
Fix Bug #494 : 住院医生工作站-检查申请:申请单名称显示为通用名称,未展示具体检查项目名称
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 18:13:11 +08:00
关羽
f03dbef222
Fix Bug #507 : [住院护士站-住院记账-补费] 项目单位未获取、执行科室显示内码且缺乏默认/模糊搜索逻辑
...
1. FeeDialog.vue - getUnitCodeOptions 修复:当 unitCode/minUnitCode 为 null 但对应字典文本存在时,使用文本作为选项值兜底,确保单位下拉框不显示为空
2. newfeeDetailQuery.vue - getLocationInfo 修复:从单一 records[0].children 解析改为支持树形/扁平/数组多种响应结构,并添加 catch 兜底置空数组
3. newfeeDetailQuery.vue - selectOrg 修复:查找失败时返回 '-' 而非显示原始 orgId 内码,空值同样返回 '-'
**后端开发重点**:优先搜索 Java/Spring 后端代码。
关键词:Controller, Service, Mapper, API, 接口, 数据查询
搜索目录:openhis-server-new/src/, his-repo/src/
2026-05-14 18:13:11 +08:00
荀彧
186a6039cd
Fix Bug #509 : [门诊医生站-手术申请] 提交申请后列表未实时刷新展示数据
...
- 提交成功后直接调用 getList() 刷新手术申请列表,不再仅依赖父组件的 emit('saved') 事件
- 修复原因:父组件通过 surgeryRef?.getList() 可选链调用可能因 ref 未就绪或时序问题导致静默跳过
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 15:11:31 +08:00
荀彧
1dca0cf988
Fix Bug #477 : 住院医生工作站-检查申请详情弹窗中"发往科室"字段显示为短横线
...
根因: examineApplication.vue 的 handlePrint 函数调用了未定义的 recursionFun 方法
(ReferenceError),handleViewDetail 使用 findTreeItem 但该方法对后端返回的扁平
科室列表解析不够健壮。与 testApplication.vue 对比后,发现缺少 recursionFun 函数定义。
修复策略: 新增 recursionFun 函数(与 testApplication.vue 一致实现),并在
handleViewDetail 和 handlePrint 中统一使用该方法将 targetDepartment ID 转换为科室名称。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 15:11:31 +08:00
关羽
f4aa45be89
Fix Bug #497 : 【住院医生工作站-检查申请】检查申请列表缺失"申请单状态"列及全流程闭环状态流转逻辑
...
根因分析:
1. SQL CASE 映射不完整:status_enum=3(COMPLETED) 直接映射为应用状态 4(已接收),
跳过了 2(已校对) 和 3(待接收)
2. status_enum=8 在数据中存在但枚举类中缺失定义
3. 前端已完整实现状态列和交互逻辑,问题在后端返回的状态值不正确
修复内容:
- RequestFormManageAppMapper.xml: 重构 SQL CASE 语句
- status_enum=3 + performer_check_id 有值 → 2(已校对),利用护士校对标记区分
- status_enum=3 + performer_check_id 为空 → 4(已接收)
- status_enum=4(ON_HOLD) → 3(待接收)
- status_enum=5/6/7 → 7(已作废)
- status_enum=8 → 6(已出报告)
- RequestStatus.java: 补充 COMPLETED_REPORT(8) 枚举值
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 14:26:19 +08:00
关羽
80a32e23bf
Fix Bug #495 : 【医嘱闭环】已校对医嘱无法流转至"医嘱执行"界面,导致费用无法提交执行
...
Root cause: In getInpatientAdvicePage(), encounterIds and exeStatus were nullified
before buildQueryWrapper to prevent auto-generated SQL conditions, but requestStatus
was NOT nullified. HisQueryUtils.buildQueryWrapper uses reflection to add eq conditions
for ALL non-null fields, so requestStatus: 3 became an extra SQL filter
"AND request_status = 3" that was not intended for the 医嘱执行 page.
The 医嘱执行 page uses exeStatus (not requestStatus) for execution state filtering.
The SQL already handles verified/unverified order filtering via a CASE condition
on status_enum and performer_check_id. The requestStatus parameter is only meant
for frontend tab selection and should not be used as a SQL filter here.
Fix: Nullify requestStatus before buildQueryWrapper, same as encounterIds/exeStatus.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 14:26:19 +08:00
赵云
2be66eff5d
Fix Bug #471 : 手术管理-门诊手术安排:手术申请查询结果中混入住院检验申请单数据(脏数据)
...
根因:门诊手术安排查询弹窗调用 /reg-doctorstation/request-form/get-surgery-page 接口,
SQL 过滤 type_code = '24',但实际手术申请单的 type_code 存储为 'SURGERY'(非'24'),
导致查询返回0条手术记录。同时检验申请单(type_code='22')使用 PAR 前缀处方号,在缺少
type_code 有效过滤时可能混入结果。
修复:将 SQL 过滤器从 type_code = #{typeCode} 改为 type_code IN (#{typeCode}, 'SURGERY'),
兼容两种 type_code 值,确保只返回手术申请单,排除检验/检查申请单数据。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 13:13:26 +08:00
关羽
41bea23116
Fix Bug #469 : [住院医生工作站-检验申请] 完善【操作】列临床业务逻辑:支持按状态动态切换修改、删除、撤回等功能
...
1. 修复删除/撤回接口参数错误:前端传prescriptionNo但后端期望requestFormId
2. 修改handleEdit从占位提示改为打开编辑弹窗,复用laboratoryTests组件并传入editData
3. laboratoryTests新增editData prop和编辑模式:支持descJson表单回显、已选项目回填、提交时携带requestFormId
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 13:12:28 +08:00
关羽
12382503f4
Fix Bug #489 : 【医嘱闭环】医生站签发单条长期药品医嘱,护士校对界面生成重复(两条)待校对记录
...
Root cause: The SQL query in AdviceProcessAppMapper.xml used a plain LEFT JOIN with
med_medication_dispense on med_req_id. When a single medication request had multiple
dispense records (e.g., from repeated executions or summary operations), the JOIN
produced multiple rows per request — up to 222 rows for one request. SELECT DISTINCT
could not deduplicate because dispense_status values differed across rows.
Fix: Replace the plain LEFT JOIN with LEFT JOIN LATERAL (subquery ORDER BY create_time
DESC LIMIT 1) to fetch only the most recent dispense record per medication request.
This ensures exactly one row per request regardless of how many dispense records exist.
Verified: SQL query now returns 0 duplicate rows across all medication requests.
2026-05-14 13:10:51 +08:00
赵云
ae50a7042e
Fix Bug #468 : [住院医生工作站-检验申请] 列表页新增【单据状态】列
...
列表页增加单据状态列(位于申请单号之后),使用 el-tag 显示状态:
- applyStatus=0 显示"待开立"(灰色标签)
- applyStatus=1 显示"已开立"(绿色标签)
- 已收费且已执行显示"已执行"(绿色标签)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 13:06:59 +08:00
赵云
9b1ac64cd6
Fix Bug #464 : [目录管理-诊疗目录] 新增项目时"零售价"未与"诊疗子项"合计总价自动同步
...
根因:calculateTotalPrice中form.value.retailPrice赋值被nextTick包裹,
在多调用方(watcher/selectRow/addItem)并发时产生竞态,导致零售价更新丢失
修复:移除nextTick,改为同步赋值确保零售价实时同步总价
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 13:03:46 +08:00
Ranyunqiao
6367654ada
476 住院医生工作-检查申请单界面缺失核心临床字段(紧急程度、过敏史、检查目的等)
2026-05-14 12:56:04 +08:00
关羽
360256e589
Fix Bug #465 : [住院医生工作站-检验申请] 检验项目选择列表被限制为500项,导致医生无法检索并开立其余800多项
...
问题根因:
- 前端使用 pageSize=500 分页拉取数据,el-transfer 组件客户端过滤在 1400+ 条数据下存在渲染和搜索性能问题
- 数据库实际有 1400 项已启用的检验类诊疗项目,但仅加载了 500 项
修复方案:
1. 改用 pageSize=9999 一次性拉取全部数据,消除分页导致的 500 项截断
2. 新增顶部搜索框,支持按项目名称/拼音首拼/业务编号实时过滤
3. 使用 computed 属性动态生成 transfer 组件数据,搜索时自动过滤
4. 显示总数统计(未搜索时显示总数,搜索时显示匹配数/总数)
5. 移除不再需要的 applicationList 变量引用和 onBeforeMount 空调用
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 12:23:13 +08:00
荀彧
feb033b857
Fix Bug #462 : [目录管理-诊疗目录] 编辑弹窗中"所需标本"下拉框数据加载失败,显示为"无数据" Fix: selectDictDataByType方法移除Redis缓存读取逻辑,直接查询数据库避免缓存为空数据导致前端下拉框无数据
2026-05-14 12:15:47 +08:00
wangjian963
79cce458ee
Merge remote-tracking branch 'origin/develop' into develop
...
# Conflicts:
# openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/dto/OpScheduleDto.java
2026-05-14 12:01:33 +08:00
wangjian963
1140912f3a
Fix Bug #437 : 【门诊手术计费】保存签章TOCTOU竞态致重复提交,且耗材计费项目缺失/重复、手术单号未关联
...
Fix: 频次总量计算改用字典store动态读取,el-input-number新增@input实时计算
2026-05-14 12:00:18 +08:00
250f9ce258
Merge remote-tracking branch 'origin/develop' into develop
2026-05-14 11:48:42 +08:00
0d6f891b47
fix bug434:门诊手术安排:编辑弹窗中“切口类型”字段未正确回显数据
...
bug426:门诊医生站-检查开立:已选择列表应支持树形展开,显示套餐明细
bug439:领用出库:选择领用药品后“总库存数量”列数据未显示
bug457:门诊收费:已签发的手术类医嘱在门诊收费列表中不显示项目名称
2026-05-14 11:48:22 +08:00
Ranyunqiao
e68be3be79
Merge remote-tracking branch 'origin/develop' into develop
2026-05-14 11:47:41 +08:00
Ranyunqiao
eab0119c19
bug362 413 498 504 507
2026-05-14 11:47:18 +08:00
关羽
3ad9ff85d4
Fix Bug #480 : [住院护士站-医嘱执行] 非耗材类医嘱执行报"耗材库存"错误且全选逻辑联动异常
...
根因分析:
1. lotNumberMatch 调用传入了所有在科患者的 encounterId(来自 patientInfoList),
而非仅选中医嘱对应的 encounterId。若其他患者存在 PREPARATION 状态的耗材发放记录
但无匹配库存,API 返回"发耗材单生成失败,请检查耗材库存"错误
2. handleExecute 缺少 .catch() 处理器,API 调用失败时 UI 状态不一致,
导致列表刷新后全选联动异常
修复策略:
- lotNumberMatch 仅传入选中医嘱对应的 encounterId(去重过滤),避免无关患者耗材记录干扰
- 新增空选择校验,未选中医嘱时提示用户而非直接调接口
- 为 handleExecute 添加 .catch() 处理器,API 失败时给出友好提示
- lotNumberMatch 增加 .then() 检查返回码,确保 error 被正确捕获
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 11:31:30 +08:00
关羽
ab2f580d60
Fix Bug #453 : 住院医生站-临床医嘱:开立医嘱时输入"级护理"检索结果显示"暂无数据"
...
根因分析:
1. adviceTypes 参数曾被序列化为 URL 编码字符串 '1%2C2%2C3%2C6',后端无法解析为 List<Integer>,
导致 SQL 查询返回空结果。Bug #486 已修复此问题(改为数组格式)。
2. 补充修复:当行未选择医嘱类型时(adviceType='' 或 undefined),parseInt('') 返回 NaN,
导致 adviceTypes=[NaN],所有子查询被跳过。改为传入空字符串,让 refresh 函数根据
searchKey 自动选择跨类型搜索。
3. 增加 catch 块错误日志,避免 API 失败时静默吞掉错误。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 11:26:10 +08:00
荀彧
665d4ae47a
Fix Bug #451 : 门诊医生站-提交新增手术申请后列表刷新失败
...
submitForm 提交成功后同时触发 emit('saved') 和 proxy.$nextTick(getList()),
导致两次并发调用 getList(),其中一次失败弹出"数据加载失败"错误提示。
移除冗余的 nextTick(getList()) 调用,由父组件 @saved 事件统一负责刷新。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 11:20:30 +08:00
关羽
d43a06c343
Fix Bug #475 : 【住院医生工作站】开立检查申请单报错后仍生成申请记录
...
根因:saveRequestForm方法的预校验循环和主循环分别独立查询activityOrganizationConfig获取positionId,
存在数据不一致风险——预校验通过但主循环中positionId查找失败时,RequestForm已被保存导致脏数据。
修复:将预校验循环中查到的positionId缓存到Map中,主循环直接使用缓存结果,
避免重复查询导致的数据不一致问题。确保所有校验通过后再执行任何数据库操作。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 11:15:20 +08:00
赵云
a7a33eb5f6
Fix Bug #445 : 【手术管理-门诊手术安排】临时医嘱生成界面逻辑错误:已生成医嘱的计费项目未从"待生成"列表中剔除
...
根因:提交成功后,父组件使用 requestId/chargeItemId 匹配已提交项目来过滤
待生成列表,但这些字段在新建医嘱时往往为空,导致匹配失败,已生成的项目
仍保留在"待生成"列表中。
修复:
1. handleTemporaryMedicalSubmit: 改用稳定的字段组合(药品名称+规格+数量)
匹配已提交项目,从 temporaryBillingMedicines 中移除
2. handleMedicalAdvice: 首次打开弹窗时过滤掉已有 requestId 的项目
3. handleQuoteBilling: 引用计费/刷新时同样过滤掉已有 requestId 的项目
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 11:06:38 +08:00
赵云
444397e868
Fix Bug #435 : 门诊手术安排:编辑弹窗中"费用类别"字段数据未回显
...
根因:OpCreateScheduleDto 缺少 feeType 字段,导致新建手术安排时 BeanUtils.copyProperties 无法复制该字段,
保存到数据库后 fee_type 为空字符串/null,编辑时详情查询返回 null 导致前端不显示。
修复:在 OpCreateScheduleDto 新增 feeType 字段,使创建流程完整传递费用类别数据。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 10:28:48 +08:00
荀彧
d964155fb8
Fix Bug #428 : 门诊医生站-检查申请:未实现分类联动检查方法及套餐明细展示与勾选逻辑
...
- 分类对象初始化时增加 methods: [],确保 Vue 响应式追踪分类下检查方法的加载
- handleMethodSelect 创建新项目时复制 cat.methods 全部方法数组(原只放单个方法),允许用户在右侧面板切换其他方法
- handleMethodSelect 新增/更新项目时同步 packageName 字段,确保 toggleItemExpand 能通过名称查找并加载套餐明细
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 10:15:06 +08:00
关羽
b88e011459
Fix Bug #441 : 门诊手术安排:手术室护士角色进入页面提示"无权限"且"获取卫生机构列表失败"
...
根因:响应拦截器中 skipErrorMsg: true 仅抑制了弹窗提示,但仍返回 Promise.reject,
导致 .catch() 路径仍可能触发错误消息或异常行为。
修复:当 skipErrorMsg 为 true 且返回业务错误码(403/500/601等)时,改为 Promise.resolve(res.data),
让 .then() 分支通过 res.code !== 200 判断实现静默降级,不触发 .catch()。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 10:12:47 +08:00
关羽
492a51d282
Fix Bug #455 : 门诊医生站-医嘱:开立诊疗医嘱时执行科室默认获取逻辑有误且显示为原始ID
...
根因:setValue() 中通过展开运算符(...JSON.parse(JSON.stringify(row)))将诊疗目录
的 positionId/orgId 带入处方列表,后续条件判断只处理非诊疗类型(advicetype != 3),
导致诊疗类的 catalog ID 未被覆盖,且该 ID 不在机构树中,el-tree-select 显示原始数字。
修复:
1. setValue() 中显式为诊疗类(adviceType=3)设置 orgId/positionId 为患者就诊科室,
并同步 positionName 为机构树中的名称
2. handleSaveGroup() 组套应用时同样对诊疗类使用患者就诊科室,不使用目录配置的ID
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 10:08:20 +08:00
赵云
34774411eb
Fix Bug #426 : 门诊医生站-检查开立:已选择列表应支持树形展开,显示套餐明细(项目/数量/单价)
...
- 已选择面板的套餐项增加"套餐"标签,便于用户识别
- 展开/收起图标改为 ArrowRight 旋转样式,符合标准交互习惯
- toggleItemExpand 函数增加 packageName 兜底判断,不强制依赖 isPackage 标记
- loadPackageDetailsForItem 添加 loading 状态和更健壮的 packageId 解析逻辑
- 新增 expanded-content 和 package-loading-hint CSS 样式
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 09:54:21 +08:00
关羽
0f1b29fcea
Fix Bug #452 : 领用出库模块选择药品时提示"仓库数量为0,无法调用",与实际库存数据不符
...
根因:药品目录列表中返回的lotNumber是任意仓库中的批号,但getCount查询时用该lotNumber过滤用户选择的仓库库存。若该批号在目标仓库不存在(但其他批号存在),则返回0条记录导致误报"仓库数量为0"。
修复:在领用出库的handleLocationClick中移除getCount的lotNumber参数,改为查询该药品在所选仓库的所有批号库存。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 09:25:13 +08:00
荀彧
d64ca5b8ee
feat: 手术管理列表点击行高亮 (highlight-current-row)
2026-05-14 09:24:22 +08:00
关羽
faa0b1a61f
Fix Bug #446 : 【手术管理-门诊手术安排】临时医嘱生成后界面非法关闭且按钮名称/功能显示不一致
...
根因: handleMedicalAdvice 中盲目重置 temporarySigned.value = false,导致重新打开医嘱弹窗时按钮状态错误。
修复:
1. index.vue: 根据已有医嘱数据是否有 requestId 来决定 temporarySigned 状态,而非盲目重置
2. temporaryMedical.vue: 新增 allItemsSubmitted 计算属性,当所有计费药品已提交(requestId)时显示"已签发"按钮并禁用
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 09:18:31 +08:00
关羽
33c76c786c
Fix Bug #408 : 门诊医生站:检查标签页:选中检查申请记录后,"检查明细"标签页显示"暂无数据"
...
根因:handleRowClick 中 const resp = res.data || res 对 Axios 拦截器已解包的响应
进行二次解包,导致 resp 被赋为 ExamApply 实体对象(不含 items),后续 items 提取
逻辑始终返回空数组,明细列表无法加载。
修复:用 res.code !== undefined 判定 res 是否已是 AjaxResult 体,若是则直接使用,
否则再执行 res.data 解包。items 和数据提取统一从正确层级取值,避免二次解包。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 09:17:42 +08:00
赵云
1a770ca0ee
Fix Bug #402 : 住院医生站诊断录入:点击保存诊断后,列表出现重复记录且部分条目元数据缺失
...
根因分析:
1. 前端保存按钮无防重复点击保护,连续点击会发送多个请求
2. 保存成功后前端使用本地排序数据更新,未从服务器重新加载,导致前后端数据不一致
3. 后端 saveDoctorDiagnosis 保存后未回写 encounterDiagnosisId,后续保存无法正确更新已有记录
修复方案:
- 前端:在 handleSaveDiagnosis 入口增加 isSaving 守卫,防止重复提交
- 前端:保存成功后调用 getList() 从服务器重新加载数据,确保前后端一致
- 后端:saveOrUpdate 后回写 encounterDiagnosisId 到返回参数,前端可跟踪记录ID
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 09:11:12 +08:00
关羽
ba9c18b6a4
Fix Bug #443 : 手术计费:点击"签发"耗材时异常报错
...
根因分析:getRequestBaseInfo SQL查询的UNION 2(门诊术中计费耗材)缺少generate_source_enum过滤条件,导致手术计费弹窗显示所有来源的耗材(包括医生站开立的项目)。当用户尝试签发非手术计费创建的耗材时,后端handDevice处理失败。
修复内容:
1. 后端SQL:在UNION 2的WHERE子句中添加generate_source_enum过滤,确保手术计费弹窗仅显示手术计费来源的耗材
2. 前端JS:handleSave函数补充.then/.catch错误处理,避免显示笼统的"后端程序异常",改为展示具体错误信息
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 09:03:38 +08:00
关羽
ecc5c75418
Fix Bug #405 : 住院医生工作站:临床医嘱保存成功后,医嘱条目仍处于可编辑状态(未锁定展示)
...
根因:handleSaveBatch 保存成功后,原有修复通过 uniqueKey 查找 prescriptionList 中的行并设置 isEdit=false,
但由于 saveList 中的 item 本身就是 prescriptionList 中对象的同一引用,通过 find(uniqueKey) 查找存在匹配失败的风险。
修复:直接对 saveList 中的对象引用设置 isEdit=false(同引用无需查找),并兜底遍历所有 statusEnum==1 的行锁定。
同时清空 expandOrder 展开状态,确保医嘱行完全回到只读展示模式。
2026-05-14 08:58:42 +08:00
荀彧
164ac604fb
Fix Bug #401 : 门诊完诊审计日志错误:div_log 表中 pool_id 与 slot_id 存值与设计规范不符
...
根因:completeEncounter 方法中先将队列状态更新为 COMPLETED,再用内存中
的 queueItem.getStatus() 判断是否已完诊,导致 queueAlreadyCompleted 始终为 true,
div_log 审计日志永远不会被写入。
修复:在更新队列状态之前记录原始完成状态(queueWasAlreadyCompleted),
用该值判断是否需要写入 div_log,确保完诊时正确生成审计日志。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 08:52:04 +08:00
关羽
d19ceab70f
Fix Bug #510 : [住院医生工作站] 进入页面报错
...
根因:order/index.vue 中 getList() 在模块顶层执行(非生命周期钩子),
组件导入时立即触发 API 调用,此时患者尚未选择导致 encounterId 为 undefined;
同时 getListInfo() 缺少患者选择守护检查,多处 API 以空参数调用后端引发循环报错。
修复:
1. 将 getList() 从模块顶层移至 onMounted() 生命周期钩子
2. 在 getListInfo() 开头添加 patientInfo.encounterId 守护检查
2026-05-14 06:19:44 +08:00
关羽
753768a1f0
Fix Bug #509 : [门诊医生站-手术申请] 提交申请后列表未实时刷新展示数据,且提示语需优化
...
1. getList() 增加 res.code === 200 校验,避免API返回错误数据时静默赋值导致列表不更新
2. 父组件 @saved 事件处理器增加 surgeryRef?.getList(),确保提交后父组件侧也触发列表刷新
3. 统一响应处理模式,与 inspectionApplication 等组件保持一致
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 06:17:41 +08:00
关羽
49889e9140
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:56 +08:00
关羽
3c3428e0b1
Fix Bug #499 : 【住院医生工作站-检查申请】检查申请列表缺失查询过滤功能,不符合临床高效检索要求
...
- 新增关键字搜索输入框(申请单号/检查项目名称模糊匹配)
- 设置日期范围默认为近7天
- 关键字搜索支持回车触发查询
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 06:09:12 +08:00
关羽
db05a30795
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:36 +08:00
关羽
e2feb4850c
Fix Bug #498 : 【住院医生工作站-检查申请】检查申请列表操作项过于单一,缺失修改/作废/打印/看报告等核心临床操作
...
根据申请单状态动态展示操作按钮:
- 待签发:详情、修改、删除
- 已签发:详情、撤回
- 已校对/待接收:详情、打印
- 已接收/已检查:详情、看报告
- 已出报告:详情、打印、看报告
- 已作废:详情
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 06:05:26 +08:00
荀彧
02f2a14178
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 05:43:07 +08:00
荀彧
1c87c39473
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 05:15:03 +08:00
赵云
7c28a98d02
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 05:06:58 +08:00