cf5431cbbf
bug499 【住院医生工作站-检查申请】检查申请列表缺失查询过滤功能,不符合临床高效检索要求 数据库语句报错修复
2026-05-14 22:08:36 +08:00
荀彧
a429f77113
Fix Bug #428 : 门诊医生站-检查申请:未实现分类联动检查方法及套餐明细展示与勾选逻辑
...
1. handleMethodSelect 中新增/更新已选项时,设置 expanded=true 使套餐明细自动展开
2. toggleItemExpand 中改用 packageDetailsDisplay/carrier.packageDetails 判断是否已加载明细
(原代码检查非响应式的 item.packageDetails,导致重复加载或加载判断失效)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 22:08:36 +08:00
关羽
ffa709cf4e
Fix Bug #443 : 手术计费:点击"签发"耗材时异常报错
...
根因:签发耗材时 handDevice 方法会重复调用 saveOrUpdate 更新已有的 DeviceRequest 记录,
仅设置了部分字段(可能为 null),导致关键字段 performLocation(发放库房)被覆盖为空。
随后 handleDeviceDispense 创建 DeviceDispense 时 locationId 为 null,触发报错。
修复:签发操作(SIGN_ADVICE)跳过 handDevice 处理。因为耗材请求在保存时已创建完成,
签发只需更新状态(下方批量更新逻辑已处理),无需重新走 insert/update 流程。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 18:15:34 +08:00
关羽
571f254d0e
Fix Bug #408 : 门诊医生站:检查标签页:选中检查申请记录后,“检查明细”标签页显示“暂无数据”
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 17:19:52 +08:00
关羽
560813d009
Fix Bug #412 : 门诊医生站:传染病报告卡保存失败,提示报错
...
BeanUtils.copyProperties 不支持 DTO 中 LocalDate/LocalDateTime 到实体中 java.util.Date 的类型转换,导致 onsetDate、diagDate、reportDate、deathDate 等日期字段在拷贝后为 null。新增手动类型转换逻辑确保日期字段正确保存。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 17:16:39 +08:00
31c2acb4ef
bug516
2026-05-14 16:47:21 +08:00
关羽
254de01d2e
Fix Bug #523 : [住院医生站-临床医嘱] 待保存医嘱总金额显示缺失且编辑态单位选择框变为数字控件
...
- 总金额列显示横杠: 在 setValue 中为药品类医嘱初始化 totalPrice(有 quantity 时按单价计算,否则为 '0'),确保待保存医嘱的总金额列能正常回显
- 单位选择框变数字控件: setValue 中将 unitCode/doseUnitCode/minUnitCode 统一转为 String 类型,避免 el-select 因值类型不匹配而渲染异常
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 16:31:02 +08:00
关羽
e21122edf0
Fix Bug #516 : [住院医生站-临床医嘱-检验申请] 检验申请单手动填写的"发往科室"与生成的医嘱执行科室不一致
...
根因:后端 RequestFormManageAppServiceImpl.saveRequestForm() 完全忽略了前端传入的 positionId(用户手动选择的发往科室),
始终从 activityOrganizationConfig 配置表中查询执行科室,导致用户手动选择的科室被默认配置覆盖。
修复:在收集执行科室时优先使用 activitySaveDto.getPositionId()(前端传入的用户选择),
仅在前端未传入时 fallback 到配置表中的执行科室。
**后端开发重点**:优先搜索 Java/Spring 后端代码。
关键词:Controller, Service, Mapper, API, 接口, 数据查询
搜索目录:openhis-server-new/src/, his-repo/src/
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 16:30:13 +08:00
关羽
e9576ddfa8
Fix Bug #517 : [库房管理-领用管理] 业务逻辑校验缺失:允许保存并提交领用数量大于库存数量(零库存领用)的单据
...
在 RequisitionIssueAppServiceImpl.addOrEditIssueReceipt() 中新增库存校验逻辑,
批量保存时校验领用数量是否超过源仓库实际库存,不足时抛出 ServiceException 阻断保存。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 16:26:35 +08:00
关羽
b435de9e7b
Fix Bug #519 : [门诊医生站-诊断-报卡] 已完成传染病报卡的诊断在再次点保存时重复弹出报卡界面
...
根因:handleInfectiousDiseaseReport() 仅根据诊断名称匹配传染病,未校验该诊断是否已有已提交的报卡记录。
修复方案:
1. 后端 DiagnosisQueryDto 新增 hasInfectiousReport 字段
2. getEncounterDiagnosis SQL 通过 EXISTS 子查询关联 infectious_card 表,
判断是否存在 status >= 1(已提交/已审核/已上报)的报卡记录
3. 前端 handleInfectiousDiseaseReport() 过滤掉 hasInfectiousReport === 1 的诊断,不再弹出报卡
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 16:16:46 +08:00
赵云
bc13fd6968
Fix Bug #522 : [住院护士站-三测单] 体征录入点击保存后缺乏执行反馈且窗口异常自动关闭
...
- 添加保存成功提示(proxy.msgSuccess)
- 移除保存成功后自动关闭弹窗的逻辑(closeDialog),保持弹窗开启方便护士核对历史记录和继续录入
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 16:16:31 +08:00
赵云
d9ad63397b
Fix Bug #518 : [门诊医生工作站-诊断-传染病报卡] 报卡页面缺失"性别、出生日期、实足年龄"核心字段
...
根因:infectiousDiseaseReportDialog.vue 读取患者性别时使用了错误的字段名
patientInfo.sex || patientInfo.genderName,但门诊医生站API返回的字段是
genderEnum(数字:1=男,2=女)和genderEnum_enumText(文本:男/女)。
新增 normalizeSexFromPatientInfo 函数,兼容HIS系统所有可能的性别字段命名。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 16:15:14 +08:00
关羽
bb3e1e300d
Fix Bug #508 : [住院护士站-住院记账-补费] 点击"划价组套"按钮无任何响应,无法选择组套项目
...
根因:FeeDialog 内嵌套的"划价组套选择" el-dialog 使用了 append-to-body 但未设置 z-index。
在 Element Plus 中,外层补费弹窗 z-index 约 2000,遮罩层 z-index 2001。内层组套弹窗虽通过
append-to-body 挂载到 body,但其 z-index 2002 可能被外层遮罩遮挡(渲染时序问题),导致弹窗
实际渲染但不可见,表现为"无任何响应"。
修复:为内层 el-dialog 添加 :z-index="3000",确保其渲染在外层弹窗遮罩之上。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 16:09:53 +08:00
关羽
46358ea03d
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 16:08:26 +08:00
b5c308d9cb
修复bug
2026-05-14 15:54:00 +08:00
关羽
adfeb8f5e5
Fix Bug #510 : [住院医生工作站] 进入页面报错
...
修复模板中的 Markdown 代码块标记污染(```vue/``` 作为文本渲染),
并恢复被意外移除的 SummaryDrugApplication 组件导入及 ref 声明,
解决页面加载时组件未定义错误和页面渲染异常。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 15:28:21 +08:00
赵云
fd9309f125
Fix Bug #494 : 住院医生工作站-检查申请:申请单名称显示为通用名称,未展示具体检查项目名称
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 15:19:00 +08:00
关羽
46affb424e
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 15:12:07 +08:00
荀彧
6dcee26b54
Fix Bug #509 : [门诊医生站-手术申请] 提交申请后列表未实时刷新展示数据
...
- 提交成功后直接调用 getList() 刷新手术申请列表,不再仅依赖父组件的 emit('saved') 事件
- 修复原因:父组件通过 surgeryRef?.getList() 可选链调用可能因 ref 未就绪或时序问题导致静默跳过
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 15:11:43 +08:00
关羽
a282234bb0
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:38 +08:00
荀彧
52fc64c71d
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 14:21:51 +08:00
关羽
0bd1277307
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:14:56 +08:00
赵云
e0e4c2bcc6
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:47 +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