a4370b00db
Fix Bug #539 : 住院护士站功能模块缺失 — 菜单类型从目录(M)改为菜单(C)并添加静态路由
...
根因分析:
- sys_menu 中"住院护士站"(menu_id=295) 的 menu_type 为 M(目录类型),
没有 component,点击后仅在侧边栏展开子菜单,不会导航到功能页面
- "住院医生工作站"(menu_id=288) 为 C 类型(菜单),点击直接打开功能页面
修复方案(两处修改):
1. 数据库:将"住院护士站" menu_type 改为 C,设置 component 为
inpatientNurse/inpatientNurseStation/index,path 改为 inpatientNurseStation
→ 点击侧边栏"住院护士站"直接打开带 el-tabs 的功能页面
2. 前端路由:添加 /inpatientNurse 静态路由组,包含 inpatientNurseStation 及
6个快捷访问子路由,与 quick-access 卡片的 /inpatientNurse/... 路径匹配
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 12:24:19 +08:00
f741a1f70d
Fix Bug #539 : 住院护士站菜单类型错误(C→M)导致子菜单不展开 — 根因:menu_id=295的menu_type被设为C且有component,应为M目录类型;修复:UPDATE sys_menu SET menu_type='M', component=NULL WHERE menu_id=295;附带修复menu_id=2062的component路径错误(indexon/→index)
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 12:22:46 +08:00
e67d3b78d7
Fix Bug #539 : 根因+修复方案摘要
2026-05-18 12:18:35 +08:00
wangjian963
40ca304342
Merge remote-tracking branch 'origin/develop' into develop
2026-05-18 11:09:24 +08:00
wangjian963
3a40740538
修复门诊手术安排模块计费弹窗中对诊疗数据进行签发成功后回显失败的问题。
2026-05-18 11:08:51 +08:00
7c0d103409
Fix Bug #538 : 手术申请删除后医嘱未同步删除 — 根因:handleDelete 未 emit('saved') 通知父组件刷新医嘱列表,修复:删除/取消成功后追加 emit('saved') 触发 prescriptionRef.getListInfo()
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 11:05:46 +08:00
ad85e4d284
Fix Bug #538 : [门诊医生站-医嘱/手术申请] 手术申请单删除后级联删除关联医嘱、收费项目、申请单
...
根因:deleteSurgery 仅删除 cli_surgery 表记录,未级联删除关联的
wor_service_request(手术医嘱)、fin_charge_item(收费项目)、
doc_request_form(申请单),导致手术删除后医嘱列表仍存在对应记录。
修复:在 deleteSurgery 中先删除三张关联表数据,再删除手术记录,
所有操作在同一事务内保证一致性。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 11:05:28 +08:00
8b6af8dd61
Merge remote-tracking branch 'origin/develop' into develop
2026-05-18 11:03:50 +08:00
e330372355
fix bug525:[手术管理-门诊手术安排-计费] 已勾选“待签发”项目且未收费,点击“删除”提示“只能删除待签发且未收费的项目”
2026-05-18 11:03: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
6b347e9136
Fix Bug #530 : 根因+修复方案摘要
2026-05-18 11:02:34 +08:00
Ranyunqiao
58e391bd2c
bug 443 522 523
2026-05-18 10:16:57 +08:00
9f615df3f9
Fix Bug #537 : 根因+修复方案摘要
2026-05-18 10:08:07 +08:00
d47353a711
Fix Bug #537 : [住院医生工作站] 冗余功能显示需在医生工作站页签中屏蔽汇总发药申请模块(仅修复代码,不改禅道状态和分配)
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 10:06:47 +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
7ae7cfa35c
Fix Bug #524 : [门诊/医生个人报卡管理] 传染病报告卡保存后数据回显失败 — 根因:showReport 加载数据时 watch 监听 selectedClassA/B/C 变化清空了 diseaseType 分型字段,修复:新增 loadingData 标志在 showReport 加载期间跳过 watch 清空逻辑
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 09:12:23 +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
b8666e535b
Fix Bug #522 : [住院护士站-三测单] 体征录入点击保存后缺乏执行反馈且窗口异常自动关闭
...
根因: proxy.msgSuccess 不存在(正确路径为 proxy.$modal.msgSuccess),
导致保存成功提示无法弹出;同时 addVitalSigns 缺少 .catch() 块,
API 失败时既无错误提示也无任何反馈。
修复:
1. proxy.msgSuccess → proxy.$modal.msgSuccess(保存成功提示)
2. 添加 .catch() 块:console.error 日志 + proxy.$modal.msgError 错误提示
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 09:08:55 +08:00
1f7d637265
Fix Bug #537 : [住院医生工作站] 最终复核确认修复已生效,更新修复报告
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-18 06:09:28 +08:00
910f59ce9d
Fix Bug #537 : [住院医生工作站] 复核验证确认修复已生效,更新修复报告
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-18 05:12:03 +08:00
0328f9642f
Fix Bug #537 : 根因+修复方案摘要
2026-05-18 05:06:16 +08:00
e6a61ea5aa
Fix Bug #537 : [住院医生工作站] 屏蔽"汇总发药申请"导航入口 — 从 inpatientNurse/constants/navigation.js 移除该导航项(护士专属功能,医生不应可见)
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 01:12:33 +08:00
4809b3571d
Fix Bug #537 : [住院医生工作站] 清理已屏蔽的汇总发药申请组件死代码 - 移除注释掉的 tab-pane 和 SummaryDrugApplication 引用
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 00:32:44 +08:00
bfe544cfb3
Fix Bug #537 : [住院医生工作站] 清理已屏蔽的汇总发药申请组件死代码
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 00:08:53 +08:00
37c2377b66
Fix Bug #532 : 【手术管理】点击"查看"或"编辑"按钮弹出 SQL 语法报错
...
根因:getSurgeryScheduleDetail SQL 查询中 cs.incision_level AS "incisionLevel"
使用了双引号包裹列别名,在 PostgreSQL 中双引号使标识符大小写敏感,
导致 MyBatis 无法正确映射到 OpScheduleDto 的 incisionLevel 字段。
修复:移除双引号,改为 cs.incision_level AS incisionLevel。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 23:16:00 +08:00
89ca306348
Fix Bug #533 : 【门诊手术安排-计费】generateSourceEnum硬编码为1导致保存后列表查询过滤不匹配
...
根因:手术计费弹窗中prescriptionlist组件的:generateSourceEnum硬编码为"1",
但handleChargeCharge设置chargePatientInfo.generateSourceEnum=6(手术计费),
handleSaveSign保存时也设置cleanRow.generateSourceEnum=6。
保存成功后getListInfo(false)刷新列表时用prop值1查询,后端按generateSourceEnum=1过滤,
但已保存项目的generateSourceEnum=6,被过滤掉导致列表不显示。
修复:将:generateSourceEnum="1"改为:generateSourceEnum="chargePatientInfo.generateSourceEnum",
使查询参数与保存值一致(均为6)。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 23:14:43 +08:00
31f7950779
Fix Bug #530 : [住院护士站-医嘱校对] 患者查询触发 SQL 类型匹配错误,导致勾选患者列表后后端报错 - 前端过滤无效的encounterId防止后端SQL解析异常
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 23:13:40 +08:00
ce1161caea
Fix Bug #517 : [库房管理-领用管理] 业务逻辑校验缺失:允许保存并提交领用数量大于库存数量(零库存领用)的单据
...
根因分析:
- 前端 handleSubmitApproval(提交审批)未做库存校验,直接调用后端 API
- 后端 submitApproval 也未做库存校验,仅在保存时(addOrEditIssueReceipt)有 validateRequisitionStock
- 用户可绕过前端保存校验(如编辑已有草稿后直接提交审批),将超库存单据提交审批流
修复方案:
1. 后端:在 submitApproval 方法中增加 validateRequisitionStockByBusNo,通过单据详情查询已保存明细,逐行校验领用数量是否超过源仓库库存
2. 前端:在 handleSubmitApproval 提交前逐行调用 validateRequisitionQtyVsStock 校验库存,超库存时拦截并提示
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 21:31:42 +08:00
046a3e4703
Fix Bug #514 : [库房管理-调拨管理-调拨] 调拨单保存与提交校验缺失 - 前端增加数量>0和库存校验,后端批量保存接口补充@Validated注解
...
根因:批量调拨页面handleSave仅校验单价未校验数量,submitApproval未校验数据完整性即提交审批;后端批量保存接口缺少@Validated导致DTO层@Min(1)未生效
修复:
1. batchTransfer/index.vue handleSave() 增加调拨数量>0和不超过源库存的前端校验
2. batchTransfer/index.vue handleSubmitApproval() 增加数量>0校验后再提交审批
3. ProductTransferController.java 批量保存接口添加@Validated注解启用DTO校验
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 21:19:12 +08:00
e245f4ec02
Fix Bug #536 : [门诊手术安排]手术申请查询弹窗底部,分页组件与界面底部元素重叠
...
根因:弹窗底部存在多层冗余间距叠加(分页容器inline样式+48px spacer div+
footer margin-top+CSS padding),导致弹窗尺寸变化时分页与footer重叠。
修复:移除冗余spacer div和分页容器inline样式,统一用CSS管理分页与footer
间距,避免固定高度堆叠导致的布局溢出问题。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 21:14:27 +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
4b2690d1ad
Fix Bug #512 : [住院护士站-汇总发药申请] 全选开关功能失效 - 增加nextTick确保DOM就绪后操作表格选择,修复handleExecute始终调用prescriptionRefs的问题
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 21:10:18 +08:00
8bfe4f2c23
Fix Bug #524 : 报卡详情日期字段回显为空 - 添加@JsonFormat注解确保Jackson正确序列化日期
...
根因:InfectiousCardDto和DoctorCardListDto中的LocalDate/LocalDateTime字段缺少@JsonFormat注解,
Jackson默认将日期序列化为数组格式[2026,5,15],前端normalizeDate函数无法解析导致字段显示为空。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 21:09:02 +08:00
08ccf9aba8
Fix Bug #518 : 根因+修复方案摘要
2026-05-17 20:52:37 +08:00
2d43b1cddc
Fix Bug #504 : 护士退回药品医嘱后医生修改保存时"未匹配到库存信息" - 增加两阶段库存匹配逻辑和空值保护
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 20:24:42 +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
4e2ee57274
Fix Bug #497 : 根因+修复方案摘要
2026-05-17 19:51:37 +08:00
eee65a4517
Fix Bug #470 : 手术项目查询去除MyBatis Plus COUNT开销,改用直接LIMIT查询
...
根因:MyBatis Plus分页拦截器在执行手术项目查询时,先做COUNT全表扫描
(10,102条记录,~4ms)再查数据(~0.3ms)。前端el-transfer不需要精确total,
COUNT查询纯属多余开销。
修复:Mapper返回值改为List,XML添加LIMIT/OFFSET,Service手动构造Page。
数据库层面从~5ms降至~0.3ms。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 19:23:24 +08:00
d30673ad51
Fix Bug #468 : 根因+修复方案摘要
2026-05-17 19:17:53 +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
5db20ddcc2
Fix Bug #461 : [系统管理-执行科室配置] 保存项目配置后,项目名称回显为ID码,未显示正确名称
...
根因:DictAspect 的 @Around 后置处理中,SQL查询失败返回空字符串,覆盖了控制器方法中手动设置的 activityDefinitionId_dictText 有效值。前端 el-select 因 _dictText 为空而回显 ID 码。
修复:
1. DictAspect 在执行 SQL 查询前,先检查 _dictText 字段是否已被手动填充(非空),若已有值则跳过查询,避免覆盖
2. 增加空字符串防护:dictLabel 为空字符串时不设置 _dictText
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 19:11:47 +08:00
1488b707e8
Fix Bug #444 : 根因+修复方案摘要
2026-05-17 18:38:34 +08:00
07a8e55895
Fix Bug #439 : 领用出库选择领用药品后"总库存数量"列数据未显示
...
根因:handleLocationClick 中 pickBestOrgQuantityRow 返回的 d 有数据但 orgQuantity <= 0 时,
applyFromDto 不被调用,导致 totalQuantity 保持空字符串 '',界面显示为空白。
修复:将条件从 "d && Number(d.orgQuantity ?? 0) > 0" 改为 "d",
确保只要后端返回库存记录就调用 applyFromDto 填充 totalQuantity(无论数量是否为 0)。
同时在批号回退分支(lotTrimmed 路径)中做同样处理。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 18:11:01 +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
f519d83ed1
Fix Bug #426 : handleMethodSelect/onDetailMethodChange 补充 packageName 套餐解析支持
...
根因:check_method 表只有 package_name 字段无 package_id,handleMethodSelect
等路径只检查 packageId 导致套餐的 hasChildren、右侧卡片展开、套餐明细加载
全部不生效。补充 6 处 packageId→packageName 兜底检查,使所有选择路径
一致支持 packageName→packageId 解析。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 17:16:26 +08:00
赵云
cfbd375a48
Fix Bug #426 : 门诊医生站-检查开立:已选择列表树形展开支持 packageName 解析套餐明细
...
根因:树形表格懒加载函数 loadPackageDetails 只支持 packageId,但 check_part 表
只有 package_name 字段(无 package_id),导致从左侧分类勾选套餐项目时,
右侧已选择面板能展开(走 loadPackageDetailsForItem),但检查明细树形表格展开为空。
修复:在 loadPackageDetails 中增加 packageName → packageId 解析逻辑,
与 loadPackageDetailsForItem 保持一致。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 16:26:32 +08:00
赵云
6dcb7368d0
Fix Bug #500 : 检查项目分类切换时界面抖动/闪烁修复
...
根因:展开分类加载检查方法时,方法列表区域初始高度为0,加载完成后突然插入导致高度跳变;
同时折叠面板动画期间容器最小高度(120px)不足,加剧了视觉闪烁。
修复:
1. 添加骨架占位div:方法列表加载中时预渲染带shimmer动画的占位区域,提前预留高度
2. 增大.collapse-scroll min-height至300px,稳定折叠动画期间的容器高度
3. .method-section添加min-height:50px,减少加载完成前后的高度差
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 15:57:23 +08:00
华佗
42f75de903
Fix Bug #516 : 根因+修复方案摘要
2026-05-17 13:48:43 +08:00
赵云
414b37bfa7
Fix Bug #497 : 【住院医生工作站-检查申请】检查申请列表缺失状态列——动态计算状态修复
...
根因: doc_request_form.status 列在数据库中始终为默认值0,无任何代码更新它,
导致列表所有记录的"申请单状态"始终显示"待签发"。
修复方案:
1. SQL: 用 CASE WHEN EXISTS 从 wor_service_request.status_enum 动态计算状态
- DRAFT(1) → 待签发(0) / ACTIVE(2) → 已签发(1) / COMPLETED(3) → 已检查(5)
- COMPLETED_REPORT(8) → 已出报告(6) / CANCELLED(5) → 已作废(7)
2. 实体: 补全 RequestForm.status 字段完善领域模型
验证: Java编译通过 + XML格式正确 + SQL实测状态值正确区分
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 13:18:53 +08:00