137f3109a7
fix( #581 ): 请修复 Bug #581:[一般] 【住院医生站-临床医嘱-手术】手术申请单缺失多项核心业务字段与强拦截逻辑,导致医疗安全制度无法落地且阻断手术室排班闭环
...
根因:
- Bug #请修复 Bug #581 存在的问题
修复:
- 变更摘要
- ### 修改文件
- 1. `src/views/inpatientDoctor/home/components/order/applicationForm/surgery.vue`**
- 在"发往科室"字段之后,依次新增了以下 9 个业务字段:
- | 字段 | 控件类型 | 必填 | 数据来源 |
- |---|---|---|---|
- | 手术等级 | `el-select` 下拉 | ✅ | 字典 `surgery_level` |
- | 麻醉方式 | `el-select` 下拉 | ✅ | 字典 `anesthesia_type` |
- | 手术部位 | `el-select` 下拉 | ✅ | 字典 `surgery_site` |
- | 切口类别 | `el-select` 下拉 | ❌ | 字典 `incision_level` |
- | 手术性质 | `el-select` 下拉 | ❌ | 字典 `surgery_type` |
- | 主刀医生 | `el-select` 可搜索 | ✅ | `listUser` API,默认当前登录医生 |
- | 第一助手 | `el-select` 可搜索 | ❌ | `listUser` API |
- | 第二助手 | `el-select` 可搜索 | ❌ | `listUser` API |
- | 预定手术时间 | `el-date-picker` datetime | ✅ | 无默认值 |
- 新增逻辑:
- `loadDictOptions()`** — 并行加载 5 个字典选项
- `loadDoctorOptions()`** — 加载医生列表,自动设当前登录用户为主刀医生默认值
- `submit()` 新增强拦截校验** — 手术等级、麻醉方式、手术部位、主刀医生、预定手术时间为必填,为空时阻断提交并提示
- 2. `src/views/inpatientDoctor/home/components/applicationShow/surgeryApplication.vue`**
- `labelMap` 新增 9 条标签映射,确保详情弹窗能正确显示新字段的中文标签。
- ### 全链路完整性
- 录入 ✅ 前端弹窗增加输入控件
- 保存 ✅ 通过 `descJson: JSON.stringify(form)` 序列化,后端无需改动
- 查询 ✅ 详情展示组件新增 labelMap 映射
- 修改 ⏸ 申请单编辑功能不在本轮范围(后续迭代可复用 submit 逻辑)
- 删除 ✅ 不影响
- 关联 ✅ 门诊手术申请走独立 API,不共享 descJson,无需修改
- ### 验证
- `npm run lint` — ✅ 通过,无错误
2026-05-29 02:42:13 +08:00
69666137e3
fix( #580 ): 请修复 Bug #580:[一般] [住院医生工作站-临床医嘱-手术] 手术申请单穿梭框组件非标:检索框溢出至卡片外部且检索机制存在“3字硬性限制”,需恢复
...
根因:
- Bug #请修复 Bug #580 存在的问题
修复:
- 修复 Bug #580
- 文件修改**: `src/views/inpatientDoctor/home/components/order/applicationForm/surgery.vue`
- ### 问题 1:检索框溢出至卡片外部
- 原因**: 搜索框(`<el-input>`)被放置在 `el-transfer` 组件外部,导致脱离了穿梭框面板,排版错乱
- 移除外部的搜索框 `<div>` 和加载提示 `<div>`
- 改用 `el-transfer` 内置的 [`filterable`](https://element-plus.org/zh-CN/component/transfer.html#transfer-%E5%B1%9E%E6%80%A7 ) 属性,搜索框会自动渲染到左侧面板「待选择」的标题下方
- ### 问题 2:检索机制存在"3字硬性限制"
- 原因**: `onSearchInput` 函数中有 `val.length >= 3` 的判断逻辑,少于 3 个字符不触发搜索
- 移除 `searchKey` ref、`searchDebounceTimer`、`onSearchInput` 函数
- 新增 `filterMethod` 函数,使用 `el-transfer` 的内置过滤机制,支持任意字符即时前端模糊匹配
- 占位提示改为 `"项目代码/名称"`
- 过滤逻辑:同时匹配项目名称(`label`)和项目 ID/代码(`key`),忽略大小写
- ### 验证
- `npm run lint` 通过 ✅
- 模板/脚本/样式标签结构完整 ✅
2026-05-29 02:36:11 +08:00
85994e2e17
fix( #577 ): 请修复 Bug #577:[一般] [住院医生工作站-检验] 检验申请单项目列表中的单价/使用单位展示异常,单位回显为字典数字ID(如 6, 16)而非中文
...
根因:
- JEECG/MyBatis-Plus 字典翻译插件的默认输出格式为 `{field}_dictText`(**下划线**格式),但代码中有 3 处使用了 `unitCodeDictText`(**驼峰**格式),导致字典翻译字段始终返回 `undefined`,回退显示了原始字典数字 ID(如 6、16)。
修复:
- | 文件 | 行号 | 修改前 | 修改后 |
- |---|---|---|---|
- | `laboratoryTests.vue` | 291, 415 | `item.unitCodeDictText` | `item.unitCode_dictText` ✅ (已有提交) |
- | `surgery.vue` | 202 | `item.unitCodeDictText` | `item.unitCode_dictText` ✅ |
- | `medicalExaminations.vue` | 364 | `item.unitCodeDictText` | `item.unitCode_dictText` ✅ |
- ### 全链路验证
- 展示** ✅ — `el-transfer` 的 label 渲染现在能正确获取字典翻译中文名
- 搜索** ✅ — 搜索逻辑中的单位生成也已同步修正
- 保存** ✅ — `submit` 中的 `unitCode` 字段使用原始编码,不受影响
2026-05-29 02:16:19 +08:00
eaa3472194
fix( #577 ): 请修复 Bug #577:[一般] [住院医生工作站-检验] 检验申请单项目列表中的单价/使用单位展示异常,单位回显为字典数字ID(如 6, 16)而非中文
...
根因:
- JEECG/MyBatis-Plus 字典翻译插件的默认输出格式为 `{field}_dictText`(**下划线**格式),但 `laboratoryTests.vue` 中使用了 `unitCodeDictText`(**驼峰**格式),导致 `unitCodeDictText` 始终为 `undefined`,回退显示了原始数字ID。
- 对比证据:
- `bloodTransfusion.vue`(输血,展示正常): ✅ `unitCode_dictText`
- `laboratoryTests.vue`(检验,本Bug): ❌ `unitCodeDictText`
- ### 修改内容
- 文件**: `src/views/inpatientDoctor/home/components/order/applicationForm/laboratoryTests.vue`
- | 行号 | 修改前 | 修改后 |
- |------|--------|--------|
- | 291 | `item.unitCodeDictText` | `item.unitCode_dictText` |
- | 415 | `searchData.unitCodeDictText \|\| searchData.unitCode_dictText` | `searchData.unitCode_dictText` |
- 两处都修正为下划线格式 `unitCode_dictText`,与项目其他正常工作组件保持一致。
- ### 全链路检查
- 录入/展示** ✅ — el-transfer 的 `buildTransferData` 现在能正确获取字典翻译名
- 搜索** ✅ — `handleSearch` 中的单位生成逻辑也已修正
- 保存** ✅ — `submit` 中的 `unitCode` 字段提交不受影响
- ### ⚠️ 同类型问题提醒
修复:
- 修改相关代码文件
2026-05-29 02:12:39 +08:00
fab178b2fb
fix( #593 ): 请修复 Bug #593:【住院医生工作站-临床医嘱】长期医嘱模块缺失取消停嘱功能
...
根因:
- Bug #请修复 Bug #593 存在的问题
修复:
- ## 变更摘要
- ### Bug #593:长期医嘱缺失"恢复"功能
- #### 修改的文件(5个)
- 前端 (Vue 3)**
- `src/views/inpatientDoctor/home/components/api.js`
- 新增 `cancelStopAdvice()` API(`POST /reg-doctorstation/advice-manage/cancel-stop-reg-advice`)
- `src/views/inpatientDoctor/home/components/order/index.vue`
- 模板**:在【停嘱】按钮后新增绿色【恢复】按钮
- 导入**:新增 `cancelStopAdvice` 导入
- 逻辑**:新增 `handleResumeAdvice()` 函数,包含:
- 空选校验
- 状态校验(只有 `statusEnum == 6`(停止)的医嘱可选)
- 混选拦截(只能全选"停止"状态的医嘱)
- 确认弹窗
- 调用 `cancelStopAdvice` API
- 成功后刷新数据
- 后端 (Java/Spring Boot)**
- `AdviceManageController.java`
- 新增 `POST /cancel-stop-reg-advice` 端点
- `IAdviceManageAppService.java`
- 新增 `cancelStopRegAdvice()` 接口方法
- `AdviceManageAppServiceImpl.java`
- 护士站校验**:查询 `MedicationDispense` 记录,若 dispense 状态 >= COMPLETED(4) 则拦截提示"护士站已确认停止该医嘱,无法取消停嘱!"
- 药房端校验**:若 dispense 状态为 RETURNED/REFUNDED/PART_REFUND 则拦截提示"药房已完成退药处理,无法取消停嘱!"
- 执行恢复**:将 `MedicationRequest.statusEnum` 恢复为 ACTIVE(2),清空 `effectiveDoseEnd`,将待退药/停止的 dispense 记录恢复为草稿/待配药状态
- 诊疗类医嘱同理恢复 `ServiceRequest` 状态
- #### 验证结果
- ✅ 后端编译通过
- ✅ 前端 lint 通过(无新增错误)
2026-05-29 00:53:02 +08:00
11618e3d6c
fix( #591 ): 请修复 Bug #591:【住院医生站-临床医嘱】长期医嘱点击停嘱未弹出时间录入弹窗
...
根因:
- Bug #请修复 Bug #591 存在的问题
修复:
- ### 变更摘要
- 全链路数据流分析**:录取(弹窗输入)→ 保存(API传入)→ 查询(Mapper返回)→ 修改(Service记录)→ 删除/停止(状态变更)→ 关联(列表展示)
- ### 后端变更(4个文件)
- 1. `AdviceBatchOpParam.java`** — 停嘱参数添加 `stopTime` 字段
- 新增 `@JsonFormat Date stopTime`,支持前端传入停嘱时间
- 2. `RequestBaseDto.java`** — 查询DTO添加 `stopUserName`、`stopTime` 字段
- 新增 `String stopUserName`(停嘱医生姓名)
- 新增 `Date stopTime`(停嘱时间)
- 3. `AdviceManageAppServiceImpl.java`** — 停嘱Service增强
- 优先使用前端传入的 `stopTime`,兜底用当前时间
- 通过 `SecurityUtils.getNickName()` 获取当前操作用户昵称,记录到 `updateBy`
- 药品和诊疗两个更新入口均已同步修改
- 4. `AdviceManageAppMapper.xml`** — 三个UNION ALL子查询添加字段
- 药品子查询:`T1.effective_dose_end AS stop_time` + `T1.update_by AS stop_user_name`
- 耗材子查询:`NULL AS stop_time` + `'' AS stop_user_name`
- 诊疗子查询:`T1.occurrence_end_time AS stop_time` + `T1.update_by AS stop_user_name`
- ### 前端变更(1个文件)
- `order/index.vue`**:
- 1. **停嘱时间弹窗** — 点击「停嘱」后弹出 `el-dialog`,内含 `el-date-picker`(datetime类型,默认当前时间),确定后才调用API
- 2. **表格列** — 在「皮试」列后面、「诊断」列前面新增两列:
- 「停嘱医生」`prop="stopUserName"`,宽度120px
- 「停嘱时间」`prop="stopTime"`,宽度170px
- 3. **`handleStopAdvice`** — 保留原有校验(未保存/未签发/已停止检查),校验通过后弹出时间选择弹窗而非直接调API
- 4. **`confirmStopAdvice`** — 新增确认函数,将 `stopTime` 拼入请求参数后调用 `stopAdvice` API
- ### 验证结果
- ✅ 前端 Lint 检查通过(仅1个预存的 `vue/no-dupe-keys` 警告)
- ✅ 后端 Maven 编译通过(BUILD SUCCESS)
2026-05-29 00:39:26 +08:00
5623a41522
fix( #589 ): 请修复 Bug #589:[住院医生工作站-临床医嘱] 功能缺失与增加交互:缺少出院带药医嘱类型
...
根因:
- Bug #请修复 Bug #589 存在的问题
修复:
- ### 修改文件(3个)
- | `index.vue` | +67/-12 | 添加出院带药类型、强制临时锁定、保存映射、数据加载识别 |
- **1. 类型添加** — `adviceTypeList` 中新增 `{ label: '出院带药', value: 7, adviceType: 7 }`
2026-05-29 00:20:30 +08:00
2a55d36440
fix( #587 ): 请修复 Bug #587:[住院医生工作站-临床医嘱] 重大功能缺失:新增展示医嘱时缺少开始时间字段
...
根因:
- Bug #请修复 Bug #587 存在的问题
修复:
- ### 变更摘要
- #### 后端(Java)— 6 个文件修改
- 1. `openhis-server-new/.../dto/RequestBaseDto.java`**
- 新增 `startTime` 字段(`Date` 类型,`yyyy-MM-dd HH:mm:ss` 格式),使医嘱列表查询能返回开始时间
- 2. `openhis-server-new/.../dto/AdviceSaveDto.java`**
- 新增 `startTime` 字段(`Date` 类型),支持每条医嘱独立传入开始时间
- 3. `openhis-server-new/.../mapper/regdoctorstation/AdviceManageAppMapper.xml`**
- 三个 UNION ALL 子查询各新增一列:
- 药品(`advice_type=1`):`T1.effective_dose_start AS start_time`
- 耗材(`advice_type=2`):`T1.req_authored_time AS start_time`
- 诊疗/手术(`advice_type=3/6`):`T1.occurrence_start_time AS start_time`
- 4. `openhis-server-new/.../appservice/impl/AdviceManageAppServiceImpl.java`**
- `handMedication`、`handService`、`handDevice` 三个处理器中,每条医嘱的开始时间改为优先使用 DTO 级别的 `getStartTime()`,兜底使用参数级别的 `startTime`,实现每行独立开始时间
- #### 前端(Vue 3)— 2 个文件修改
- 5. `src/views/inpatientDoctor/home/components/order/index.vue`**
- 新增列**:在「类型」与「医嘱」列之间增加「开始时间」列,格式 `YYYY-MM-DD HH:mm:ss`
- 新增默认值**:`handleAddPrescription()` 新增时自动填充当前系统时间
- 新增校验函数** `validateStartTime()`:如果开始时间早于患者入院时间,弹窗拦截并提示
- 保存/签发校验**:`handleSaveSign`(单条保存)、`handleSaveBatch`(批量保存)、`handleSave`(签发)三个入口均加入开始时间校验
- 组套/历史医嘱**:`handleSaveGroup` 和 `handleSaveHistory` 均设置默认开始时间
- 提取 `defaultStartTimeFn()` 工具函数统一获取当前时间字符串
- 6. `src/views/inpatientDoctor/home/components/order/OrderForm.vue`**
- 三种医嘱类型(药品 `adviceType==1`、耗材 `adviceType==2`、诊疗 `v-else`)的编辑面板首行均新增「开始时间」`el-date-picker` 日期时间选择器
- 格式:`YYYY-MM-DD HH:mm:ss`,支持手动选择与键盘输入
- ### 全链路验证
- | 环节 | 状态 |
- |---|---|
- | **录入** → 编辑面板新增日期选择器 | ✅ |
- | **保存** → 前端→API→Service→Entity→DB,逐行传递 startTime | ✅ |
- | **查询** → DB→Mapper XML(3个UNION ALL)→DTO→前端展示 | ✅ |
- | **修改** → 编辑回显 startTime → 修改再保存 | ✅ |
- | **校验** → 早于入院时间拦截弹窗 | ✅ |
- | **编译** → Java `mvn compile` 通过 | ✅ |
- ### 注意事项
- 后端 `NurseBillingAppService`(护士划价)也有医嘱保存逻辑,但此 Bug 聚焦于住院医生工作站,护士站划价未做批量修改,如需同步可另行处理
2026-05-29 00:02:55 +08:00
4ccf272d4f
fix( #586 ): 请修复 Bug #586:[住院医生工作站-手术申请] 手术申请历史列表缺少过滤筛选区
...
根因:
- 手术申请历史列表的查询 API `/reg-doctorstation/request-form/get-surgery` 和前端组件均未实现筛选过滤功能。
- ### 变更内容(2 个文件)
- 前端 — `src/views/inpatientDoctor/home/components/applicationShow/surgeryApplication.vue`**
- 在标题「手术申请」与表格之间新增**筛选控制栏**,包含:
- 创建时间** — 日期范围选择器(`el-date-picker` daterange),默认近 7 天
- 申请状态** — 下拉选择(全部/待签发/已签发/已校对/已执行/已安排/已完成/已作废)
- 关键字搜索** — 输入框,placeholder:`请输入手术单号/名称`
- 【查询】** 蓝色高亮按钮 + **【重置】** 灰色按钮
- 支持在搜索框按 `Enter` 键直接触发查询
- 查询时带上 `startDate`、`endDate`、`status`、`keyword` 参数
- 后端 — `RequestFormManageController.java`**
- 将 `getSurgeryRequestForm` 方法从仅接受 `encounterId` 扩展为同时接受 `startDate`、`endDate`、`status`、`keyword` 四个可选参数
- 调用已存在的 6 参数 `getRequestForm` 重载方法传入筛选条件(Mapper XML 已支持过滤逻辑)
- ### 验证结果
- ✅ 前端 lint:**0 errors,70 warnings**(均为已有格式化规则,非本修改引入)
- ✅ 后端编译:**mvn compile 通过**
修复:
- 修改相关代码文件
2026-05-28 23:47:17 +08:00
9db5ced4e3
Revert "Fix Bug #550 : AI修复"
...
This reverts commit 16c42ca108 .
2026-05-27 08:59:07 +08:00
16c42ca108
Fix Bug #550 : AI修复
2026-05-27 03:00:08 +08:00
Ranyunqiao
5132de3680
bug 445 497 565
2026-05-25 15:49:49 +08:00
310847eae4
Fix Bug #571 : 修复检验申请撤回时双重错误提示
...
根因:响应拦截器已对非200响应(code=500等)显示ElMessage错误提示,
但handleWithdraw的catch块再次调用proxy.$modal.msgError显示相同错误,
导致用户看到两个红色错误弹窗。
修复:将handleWithdraw和handleDelete的catch块改为静默处理,
与examineApplication.vue的handleRecall模式一致——响应拦截器已统一处理错误提示。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-22 12:37:27 +08:00
4c462e00db
Fix Bug #568 : 修复门诊日结页面排版混乱问题
...
根因:费用明细最后一行使用cols-3导致与上面cols-4行不对齐
修复:统一使用cols-4网格布局,对需要占两列的项使用span-2
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-22 10:56:36 +08:00
50f1013391
Fix Bug #571 : 修复检验申请撤回操作模板逻辑错误
...
问题:已签发状态的检验申请点击撤回时触发错误提示
根因:模板中 v-if/v-else-if 链结构错误,isReportStatus 作为 canManageRow 的
else-if 分支,导致权限校验和状态判断互相干扰,撤回按钮显示逻辑异常
修复:将嵌套的 v-if/v-else-if 改为独立的 v-if 块,每个按钮的显示条件独立判断
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-22 10:50:24 +08:00
80cc0e4fa2
Fix Bug #571 : 修复检验申请撤回操作权限问题 - 移除非权限用户的撤回按钮
...
问题:非申请者本人点击撤回按钮时,后端权限校验失败导致报错
原因:模板中 isIssuedStatus 分支对所有用户显示撤回按钮,但后端会校验权限
修复:移除非权限用户(canManageRow为false)的撤回按钮,只保留详情按钮
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-22 10:34:41 +08:00
4f6df9017a
Fix Bug #571 : 添加缺失的 isIssuedStatus 函数定义,修复检验申请撤回操作报错
...
模板中使用了 isIssuedStatus() 但脚本中未定义该函数,导致已签发状态的检验申请
在非申请者本人账号下查看时触发 ReferenceError,撤回按钮无法正常显示和操作。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-22 10:19:03 +08:00
bcc2f490a0
bug550\556569
2026-05-21 17:40:26 +08:00
Ranyunqiao
966e4f6544
497【住院医生工作站-检查申请】检查申请列表缺失“申请单状态”列及全流程闭环状态流转逻辑
...
523 [住院医生站-临床医嘱] 待保存医嘱总金额显示缺失且编辑态单位选择框变为数字控件
560 [住院医生站-检验申请] “已签发”状态的申请单在操作列缺失“详情”查看按钮
563 [住院医生站-临床医嘱-手术] 打开手术申请单弹窗时出现异常,功能无法使用
2026-05-21 17:06:09 +08:00
ed7e4bbeb3
bug469
2026-05-20 13:47:36 +08:00
1e77c0756b
Fix Bug #559 : 根因+修复方案摘要
2026-05-20 11:08:03 +08:00
Ranyunqiao
3e89cb7977
Merge remote-tracking branch 'origin/develop' into develop
2026-05-20 11:05:03 +08:00
Ranyunqiao
62c5674233
bug 555 558
2026-05-20 11:04:33 +08:00
41948c0bcd
Fix Bug #559 : 根因+修复方案摘要
2026-05-20 11:02:41 +08:00
2db79e3ac9
Fix Bug #559 : 住院医生站-临床医嘱 组套功能添加医嘱后新增医嘱置顶显示
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-20 10:15:39 +08:00
wangjian963
232a0db810
Merge remote-tracking branch 'origin/develop' into develop
2026-05-20 09:46:29 +08:00
wangjian963
3394aa54d7
549【住院医生站-临床医嘱-检验】打开“检验申请单”弹窗获取项目列表响应极其缓慢
...
546 【患者管理】-【患者列表】-【新增患者】,新增患者,保存成功,但没有数据
536 [门诊手术安排]“手术申请查询”弹窗底部,分页组件与界底部元素重叠,影响操作。
2026-05-20 09:45:33 +08:00
3bf7e04a04
Fix Bug #469 : 根因+修复方案摘要
2026-05-19 16:10:13 +08:00
f274ebaf5c
Fix Bug #478 : 住院医生工作站检验申请详情「发往科室」显示为- — 根因:getLocationInfo 未对科室ID做类型归一化,recursionFun 中 item.id == targetDepartment 在类型不一致时匹配失败;修复:新增 normalizeOrgTreeIds 统一转 String,recursionFun 改用 String(item.id) === String(targetDepartment)
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-19 15:09:23 +08:00
Ranyunqiao
c28b322e91
bug 443 444 445 478 494 521
2026-05-19 14:22:40 +08:00
05e7d54d87
Fix Bug #552 : 双击待保存医嘱编辑保存后不应自动添加空医嘱 — 根因:handleSaveSign 中自动添加空行的条件缺少 isAdding.value 判断,导致双击编辑已有待保存医嘱也会触发 handleAddPrescription()
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-19 14:06:33 +08:00
a91ee66368
bug446,468,541,548
2026-05-19 11:59:55 +08:00
798c5e19e2
Fix Bug #548 : 发往科室字段未能正确回显 — 编辑初始化时 transferValue 变化触发 projectWithDepartment 清空 form.targetDepartment,已加 isInitializing 标志拦截
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-19 09:00:15 +08:00
Ranyunqiao
0e974129eb
bug 514 537 538 540 543
2026-05-18 17:44:15 +08:00
ea5da8d2bc
fix bug529
2026-05-18 16:02:40 +08:00
549d2529bc
Fix Bug #541 : 待签发医嘱双击无法打开编辑界面 — 根因:clickRowDb函数中条件row.statusEnum == 1 && !row.requestId只允许"待保存"医嘱编辑,错误排除了"待签发"医嘱;修复:改为row.statusEnum == 1,允许statusEnum=1的所有医嘱(待保存+待签发)双击进入编辑模式,保存时handleSaveSign已通过requestId/dbOpType=2正确处理更新逻辑
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 13:34:27 +08:00
3a97f5ce02
Fix Bug #540 : 检查申请详情弹窗"申请单描述"区域缺少临床必要信息显示 — 根因:详情弹窗中"申请单描述"区域使用固定orderedDescFieldKeys遍历+空值过滤(v-if descJsonData[key] !== ''),导致字段值为空时整行不显示;修复:改为与检验申请一致的遍历方式,遍历descJsonData所有key并通过isFieldMatched过滤,空值显示为'-'而非隐藏
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-18 13:29:40 +08:00
f72bee6c95
Fix Bug #529 : [住院医生工作站-检验申请] 点击修改打开编辑弹窗后原已选中的项目未回显
...
根因:时序竞态——editData watch (immediate: true) 在 applicationListAll 加载完成前触发,
匹配不到数据导致 transferValue 被置空。新增 watch 监听 applicationListAll 加载完成后重新回显。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 11:03:25 +08:00
Ranyunqiao
58e391bd2c
bug 443 522 523
2026-05-18 10:16:57 +08:00
dbe9fdadc1
Fix Bug #520 : [住院医生工作站-检验申请] 检验申请列表点击详情按钮界面无响应
...
根因:getLocationInfo() 缺少 try-catch,当 getDepartmentList() API 失败时,
未捕获的异常向上传播导致 handleViewDetail 在设置 detailDialogVisible=true 前终止,
详情弹窗永远无法打开。
修复:为 getLocationInfo() 添加 try-catch 错误处理,API 失败时降级为空数组,
确保 handleViewDetail 的后续代码(设置 currentDetail 和打开弹窗)能正常执行。
与 examineApplication.vue 的已有修复保持一致。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 09:16:13 +08:00
01da7b942a
Fix Bug #523 : [住院医生站-临床医嘱] 修复待保存医嘱总金额显示缺失及编辑态单位选择框类型异常
...
根因:setValue() 中药品分支未初始化 totalPrice;unitCode/minUnitCode 未转 String 导致 el-select 类型不匹配
修复:选药后立即计算 totalPrice;所有单位值统一 String() 转换
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 09:10:17 +08:00
bfe544cfb3
Fix Bug #537 : [住院医生工作站] 清理已屏蔽的汇总发药申请组件死代码
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 00:08:53 +08:00
37963dde1d
Fix Bug #528 : [住院医生工作站-检查申请] 修改申请单成功后弹窗自动关闭且列表自动刷新 - 调整submit函数中emits('submitOk')与resetForm()的执行顺序,确保先通知父组件关闭弹窗再重置表单状态
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 21:11:23 +08:00
327b750c6e
Fix Bug #478 : 修复检验申请详情"发往科室"字段回显为"-"的问题
...
根因:testApplication.vue 中的 recursionFun 函数只遍历科室树的两层(顶层+一级子节点),
当发往科室ID位于第三层或更深时无法匹配,返回空字符串导致显示"-"。
修复:改为递归遍历整棵科室树,确保任意深度的科室节点都能正确解析为名称。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 20:08:29 +08:00
3c1087a2d1
Fix Bug #476 : 紧急程度移入el-form作为正式表单项,修正字段排列顺序
...
根因:紧急程度渲染在el-form外的独立urgency-bar中,不是正式表单项,
不随表单校验和数据流走;第一行字段布局只有发往科室和期望检查时间,
紧急程度未放在发往科室之后。
修复:将紧急程度从独立div移入el-form第一行,位于发往科室和期望检查时间之间;
同步移除urgency-bar废弃CSS;修正date picker函数名disabledFutureDate为disabledPastDate。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 20:06:38 +08:00
f369ea419e
Fix Bug #469 : [住院医生工作站-检验申请] 操作列"详情"按钮未包裹在条件分支中导致始终显示
...
根因:操作列模板中"详情"按钮位于 v-if/v-else-if 条件块之外,对所有状态始终渲染。
导致待签发状态显示"修改 删除 详情"三个按钮、已签发显示"撤回 详情"两个按钮,
违背了按状态严格区分操作权限的业务要求。
修复:将"详情"按钮包裹在 <template v-else> 中,确保仅在非待签发/非已签发状态显示。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 19:11:53 +08:00
1136a479d1
Fix Bug #403 : 住院医生工作站-应用医嘱组套后药品明细字段丢失未正确引入表格
...
根因:handleSaveGroup 中组套项预初始化行设置 isEdit: true,但表格明细列
(单次剂量/总量/总金额/药房/频次/用法等)均使用 v-if="!scope.row.isEdit" 条
件渲染。isEdit 为 true 时所有明细字段被隐藏,仅显示医嘱名称。正常药品选择流
程中 isEdit: true 后紧跟 expandOrder 展开 OrderForm 表单供编辑,但组套应用流
程未展开行,导致预填的组套明细值完全不可见。
修复:组套项带预填完整明细值,isEdit 设为 false,让表格列直接展示明细字段。
用户仍可双击行进入编辑模式修改。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 17:36:23 +08:00
关羽
588ad5ef18
Fix Bug #521 : [住院医生站-临床医嘱-检查申请] 手工选择执行科室后,保存仍提示"未找到项目执行的科室"
...
根因:medicalExaminations.vue submit() 中 positionId 使用 item.positionId(项目默认科室),
忽略了用户在前端手动选择的 form.targetDepartment(发往科室)。
修复:positionId: form.targetDepartment || item.positionId,与 laboratoryTests.vue 修复模式一致。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 13:16:02 +08:00
赵云
b98439a6de
Fix Bug #498 : 看报告功能参数名不匹配(prescriptionNo→encounterId),修复后端接口无法获取正确参数导致报告查询返回空列表的问题
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 13:16:02 +08:00
赵云
3beec42913
Fix Bug #528 : [住院医生工作站-检查申请] 修改申请单成功后,弹窗未自动关闭且列表数据未自动刷新
...
根因:submit() 方法的 .then() 回调中 else 分支使用 res.message(后端返回 res.msg),
且缺少 .catch() 错误处理。当请求异常时既无错误提示也不触发 submitOk 事件。
修复:
1. 统一使用 res.msg 替代 res.message
2. 添加 .catch() 错误处理(console.error + 用户提示)
3. 统一使用已导入的 ElMessage 替代 proxy.$message
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-16 21:08:58 +08:00