Commit Graph

3208 Commits

Author SHA1 Message Date
7bb6a4f49e Merge remote-tracking branch 'origin/develop' into develop 2026-06-03 13:39:27 +08:00
wangjian963
3a26bc1348 fix: vxe-table v4 展开列 #default → #content 修复表格错乱重叠
vxe-table v4 中 type="expand" 的 #default 模板渲染在单元格内,
  #content 才渲染为展开行。将 9 处展开列模板改为 #content,
  同时统一 css 类名 vxe-table--expand-icon → vxe-table--expand-btn。

  根因:vxe-table v4 中 type="expand" 列的 #default 模板渲染在单元格内(展开标签),而 #content
    才渲染为展开行(行间)。之前 OrderForm 被错误地渲染在 1px 宽的单元格内,导致内容溢出→行高膨胀→错乱重叠。
2026-06-03 13:38:02 +08:00
1fdb7cba03 Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	openhis-ui-vue3/src/main.js
2026-06-03 13:10:09 +08:00
wangjian963
7ca0b89cb2 ● fix: 修复 Vite 8 前端编译及运行时错误
- main.js: 修复 createApp/mount 缺失导致 app 未定义
  - chineseMedicineDialog: defineModel → props+emit 兼容 Vue 3.5
  - el-form-nan-plugin: 修正 try/catch 括号匹配
  - vite.config: CSS 压缩器切换为 esbuild
2026-06-03 13:09:04 +08:00
b71563a324 refactor(main): 重构应用初始化逻辑
- 将应用实例创建与全局属性挂载分离
- 优化代码结构提高可读性
- 确保全局方法正确绑定到应用实例
2026-06-03 13:07:40 +08:00
207516ee86 修正格式化错误 2026-06-03 12:36:37 +08:00
1bcffc85ae 修正格式化错误 2026-06-03 11:20:57 +08:00
5a2050a736 更新vxetable框架并升级前端组件框架 2026-06-03 11:19:52 +08:00
5b6b23331d Merge branch 'develop' of http://192.168.110.253:3000/wangyizhe/his into develop 2026-06-02 16:46:33 +08:00
7be41c3058 feat: 数据字典管理模块 el-table → VxeTable 迁移
- definition/index.vue: 2 个表格替换为 vxe-table
- 修复 westernmedicine/index.vue SCSS 括号闭合问题
- 编译验证通过
2026-06-02 16:45:34 +08:00
wangjian963
5df2d8a049 645 【住院管理-住院医生工作站】临床医嘱中的新增一条医嘱,请选择项目没有数据回显
615 【住院医生工作站-临床医嘱】录入“临时”医嘱时,【用药频次】字段被置灰锁死为“立即”且无法更改
577 [住院医生工作站-检验] 检验申请单项目列表中的单价/使用单位展示异常,单位回显为字典数字ID(如 6, 16)而非中文名称
2026-06-02 16:35:38 +08:00
wangjian963
899cbc0b71 Merge remote-tracking branch 'origin/develop' into develop 2026-06-02 16:03:09 +08:00
wangjian963
734bdc6a0d 585 [住院医生工作站-手术申请] 手术申请历史列表缺失“手术状态”列,导致医生无法跟踪手术流转进度 2026-06-02 16:02:47 +08:00
9b785e5e63 merge: 合并远程 develop 分支,解决 package-lock.json 冲突 2026-06-02 16:00:39 +08:00
67a0f7fc08 feat: 价格调整管理模块 el-table → VxeTable 迁移
- 安装 vxe-table@4.19.6 + xe-utils@3.9.1
- main.js 全局注册 VxeTable
- priceAdjustmentManagement/index.vue 替换 4 个表格:
  - el-table → vxe-table (+ edit-config 可编辑单元格)
  - el-table-column → vxe-column
  - selection → checkbox
  - 可编辑列添加 edit-render
- 备份: backup/vxetable-migration-20260602/
2026-06-02 15:58:59 +08:00
6958654d26 feat(home): 添加处方统计数据功能
- 在 HomeStatisticsDto 中新增今日处方、昨日处方和处方趋势字段
- 实现处方数量查询逻辑,支持按日期和医生过滤
- 计算处方数据的日环比变化率
- 更新前端界面以显示处方统计信息
- 配置处方相关的路由映射
- 修正数据绑定逻辑以正确关联处方统计数据
2026-06-02 15:31:37 +08:00
e1cb88e47e feat(home): 优化首页界面并实现收入统计功能
- 添加欢迎区域背景动效和视觉优化
- 实现今日收入统计及同比数据显示
- 重构待办事项和日程的双栏布局
- 修复路由权限检查并添加无权限提示
- 更新快捷功能入口和统计卡片样式
- 集成财务模块收入查询接口
- 添加数据库配置备份文件
2026-06-02 14:38:51 +08:00
578b771c56 Merge remote-tracking branch 'origin/develop' into develop 2026-06-02 13:38:58 +08:00
6a34303825 refactor(build): 移除 setup-extend 插件并更新依赖项
- 移除 createSetupExtend 插件及其相关配置
- 更新 Vue 版本从 3.5.13 到 3.5.25
- 更新 Element Plus 版本从 2.12.0 到 2.14.1
- 添加 @vue/shared 依赖
- 移除 @vue/compiler-sfc 开发依赖
- 移除 unplugin-vue-setup-extend-plus 依赖
- 更新 @babel 相关依赖版本
- 移除 @esbuild 相关可选依赖
- 更新 chokidar 版本从 3.6.0 到 5.0.0
- 移除部分已废弃的依赖项
2026-06-02 13:38:23 +08:00
wangjian963
cde58cf18f 581 【住院医生站-临床医嘱-手术】手术申请单缺失多项核心业务字段与强拦截逻辑,导致医疗安全制度无法落地且阻断手术室排班闭环 2026-06-02 13:22:09 +08:00
2962698cdd refactor(build): 移除 setup-extend 插件并更新依赖项
- 移除 createSetupExtend 插件及其相关配置
- 更新 Vue 版本从 3.5.13 到 3.5.25
- 更新 Element Plus 版本从 2.12.0 到 2.14.1
- 添加 @vue/shared 依赖
- 移除 @vue/compiler-sfc 开发依赖
- 移除 unplugin-vue-setup-extend-plus 依赖
- 更新 @babel 相关依赖版本
- 移除 @esbuild 相关可选依赖
- 更新 chokidar 版本从 3.6.0 到 5.0.0
- 移除部分已废弃的依赖项
2026-06-02 13:15:22 +08:00
ac0d563274 Merge remote-tracking branch 'origin/develop' into develop 2026-06-02 12:54:08 +08:00
2e865dd446 style(ui): 更新项目整体配色方案为Tailwind CSS标准色彩
- 将主要蓝色从 #409eff 替换为 #3B82F6
- 将成功绿色从 #67c23a 替换为 #10B981
- 将警告橙色从 #e6a23c 替换为 #F59E0B
- 将危险红色从 #f56c6c 替换为 #EF4444
- 将信息灰色从 #909399 替换为 #64748B
- 更新所有组件中的相关颜色配置
- 调整菜单主题为更深邃的午夜蓝风格
- 移除SCSS变量导出的注释标记
2026-06-02 12:52:59 +08:00
1dc8b593fe style(login): 重构登录页面UI界面提升用户体验
- 将单列布局改为左右分栏设计,左侧展示品牌信息右侧放置登录表单
- 新增品牌面板包含动态背景效果、公司标识和功能特性展示区域
- 优化登录表单位于右侧卡片式容器内,提升视觉层次和交互体验
- 更新表单样式包括输入框、下拉选择器和开关组件的现代化设计
- 调整底部版权信息布局并优化响应式适配不同屏幕尺寸
- 重新设计按钮样式增加渐变效果和悬停动画反馈
2026-06-02 12:38:06 +08:00
dc3c37123f docs: AGENTS.md 引用 agentforge-harness-skill 技能包 2026-06-02 11:30:23 +08:00
bca02ed354 fix(#616): 用药频次下拉框增加英文缩写显示
根因:el-option label 仅使用 dict.label(中文名称),
未展示字典 value(英文缩写如 ST、BID、TID)。

修复:4个文件5处 el-option label 改为 '{value} {label}' 格式
- prescriptionlist.vue: 主表单 + 内联编辑 2处
- eprescriptiondialog.vue: 电子处方 1处
- orderGroupDrawer.vue: 组套抽屉 1处

显示效果:ST 立即、BID 每日两次、TID 每日三次
2026-06-02 11:18:21 +08:00
ee774e4ec2 fix(#617): 预约签到挂号费用性质硬编码为自费
根因:accountFormData.contractNo 硬编码为 '0000'(自费),
没有使用用户在表单中选择的费用性质。

修复:
- registrationParam.accountFormData.contractNo 改用 form.value.contractNo
- 移除签到后覆盖 form.value.contractNo = '0000' 的逻辑
2026-06-02 11:01:55 +08:00
74de40f94f fix(#575): 预约成功后 booked_num 未实时累加
根因:booked_num 只在签到时累加,预约成功后没有更新。
业务上预约成功就占了号源,booked_num 应立即反映。

修复:
- TicketServiceImpl: 预约成功后 booked_num +1(与 locked_num 同步)
- SchedulePoolMapper: 签到时不再改 booked_num(预约时已加)
- SchedulePoolMapper: refreshPoolStats 统计 booked_num 包含 LOCKED+BOOKED+CHECKED_IN
- SlotStatus: 更新状态流转注释
2026-06-02 10:42:13 +08:00
wangjian963
87b637ed49 修复住院医生工作站,临床遗嘱tab点击手术按钮弹窗无法渲染的问题 2026-06-02 10:41:04 +08:00
wangjian963
e44a212eba Merge remote-tracking branch 'origin/develop' into develop 2026-06-02 10:20:20 +08:00
wangjian963
8b75111a60 647 [住院护士站-医嘱执行] 医嘱执行时,上的按钮位置偏移 2026-06-02 10:20:15 +08:00
d1189786cf fix(#574): 签到时 booked_num 未累加
根因:updatePoolStatsOnCheckIn 只做 locked_num-1,
没有同时做 booked_num+1,导致号源池已约数不准确。

修复:签到时原子递增 booked_num
2026-06-02 10:15:34 +08:00
bfae92df51 docs: AGENTS.md 引用统一铁律文件 IRON_LAWS.md 2026-06-02 10:06:44 +08:00
wangjian963
5a970cf492 503
【住院发退药】发药明细与发药汇总单数据触发时机不一致,存在业务脱节风险
2026-06-02 10:05:41 +08:00
c3ecadcfe0 fix(#575): 退号流程兼容 CHECKED_IN(3) 状态 + 查询过滤修复
Bug #574 将签到状态从 BOOKED(1) 改为 CHECKED_IN(3) 后,
退号流程只检查 BOOKED(1) 导致已签到患者无法退号。

修复:
- OutpatientRegistrationAppServiceImpl: 退号检查兼容 BOOKED(1) 和 CHECKED_IN(3)
- OutpatientRegistrationAppServiceImpl: 退号统计改用 refreshPoolStats 统一刷新
- ScheduleSlotMapper.xml: 'checked' 查询过滤兼容 status=1 和 status=3
2026-06-02 09:59:58 +08:00
b8463f4659 fix(#574): 签到状态 BOOKED(1)→CHECKED_IN(3) + 全链路映射修复
根因:checkInTicket() 将签到后状态设为 BOOKED(1) 而非 CHECKED_IN(3)
导致:前端无法识别已签到状态,池统计漏计已签到人数

修复:
- TicketServiceImpl: 签到状态改为 SlotStatus.CHECKED_IN(3)
- TicketAppServiceImpl: 新增 CHECKED_IN→已签到 映射分支
- SchedulePoolMapper: 池统计兼容 BOOKED 和 CHECKED_IN
- outpatientAppointment/index.vue: STATUS_CLASS_MAP + 患者信息条件加上已签到
- AGENTS.md: 写入状态值一致性/禁止删文件/全链路验证铁律
2026-06-02 09:48:51 +08:00
710a215597 fix(#640): 组合临床医嘱 updateGroupId 按实际所属表分别更新
根因:原代码把所有 requestId 都当 MedicationRequest 处理,
诊疗医嘱(ID属于wor_service_request)被错误INSERT到药品表,
medication_id NOT NULL约束失败。

修复:拆组时三表都清group_id;组合时依次查药品→诊疗→耗材表,
找到所属表后精准更新group_id(group_no)。
2026-06-02 09:00:08 +08:00
80e186496b docs: Bug #644 修复报告归档 2026-06-02 00:32:12 +08:00
cc49276a14 docs: Bug #632 修复报告归档 2026-06-01 16:27:02 +08:00
269b5a22c8 docs: Bug #634 修复报告归档 2026-06-01 16:27:02 +08:00
74f340d77c fix(#634): 请修复 Bug #634: web_ui 手动入列
根因:
- **
- `core-framework/.../ApplicationConfig.java:39` — `LocalDateTimeDeserializer` 只配置了 `yyyy-MM-dd HH:mm:ss` 格式
- 前端发送 ISO 8601 格式日期字符串 `"2026-06-01T01:45:06.439Z"`(含毫秒 + `Z` 时区后缀),Jackson 反序列化失败抛出 `JsonParseException`

修复:
- **
- 修改 `ApplicationConfig.java`,将单一格式的 `LocalDateTimeDeserializer` 替换为自定义多格式反序列化器
- 新反序列化器依次尝试:ISO 8601(`yyyy-MM-ddTHH:mm:ss.SSS`)→ 简单格式(`yyyy-MM-dd HH:mm:ss`)→ 斜杠格式(`yyyy/M/d HH:mm:ss`)
- 自动剥离 `Z`/`z` 时区后缀和 `+HH:MM` 偏移量(`LocalDateTime` 不含时区信息)
- 6 环验证:**
- ①前端 → ②Controller:`@RequestBody` 反序列化现在支持 ISO 8601 格式 
- ③Service:无需修改,DTO 字段类型未变 
- ④Mapper:无需修改,SQL 映射未变 
- ⑤DB:无需修改,字段类型未变 
- ⑥关联模块:全局生效,所有使用 `LocalDateTime` 的实体均受益 
- 编译验证:** `mvn compile -pl openhis-application -am` → BUILD SUCCESS 
- 变更文件:** `core-framework/src/main/java/com/core/framework/config/ApplicationConfig.java`
2026-06-01 16:27:02 +08:00
wangjian963
17783bd981 561 [门诊医生站-医嘱] 医嘱录入后,总量单位显示异常,显示为“null”而非诊疗目录配置值 2026-06-01 16:15:40 +08:00
wangjian963
021701c611 550 【门诊医生站-检查】检查申请项目选择交互优化:解决自动勾选冲突、名称遮挡及明细耦合问题 2026-06-01 15:40:52 +08:00
wangjian963
275e7f5978 597 【住院医生工作站-临床医嘱】临床医嘱需增加“备注”字段支持 2026-06-01 14:41:12 +08:00
wangjian963
a04b5f8dba Merge remote-tracking branch 'origin/develop' into develop 2026-06-01 14:16:05 +08:00
wangjian963
76c623ba1d 467
[住院医生工作站-检验申请] 列表显示信息不规范:标题术语错误且单据名称未展示具体检验项目
466 [住院医生工作站-检验申请] 申请单界面缺失核心质控字段(申请类型、标本类型、执行时间)及联动逻辑
2026-06-01 14:15:59 +08:00
d6d8864f64 test: Bug#630 Playwright 测试用例 — 门诊医生站现诊患者
- 登录 doctor1/123456, tenantId=1
- 通过侧边栏导航到门诊医生站
- 验证现诊患者标签可见
- 验证无错误弹窗
- 测试环境无患者数据,需手动验证点击患者场景
2026-06-01 11:54:26 +08:00
810336f989 fix: vite proxy 支持 VITE_API_PROXY 环境变量覆盖
不再硬编码端口,通过 systemd Environment=VITE_API_PROXY=xxx 注入
默认值仍为 18080(兼容原始配置)
2026-06-01 11:44:42 +08:00
f4ba8028fb chore: 清理 vite timestamp 缓存 + .gitignore + Bug#630 测试用例
- 删除 14 个 vite.config.js.timestamp-*.mjs 缓存文件
- .gitignore 添加 vite.config.js.timestamp* 规则
- Bug#630 Playwright 测试用例(doctor1/123456, tenantId=1)
2026-06-01 11:43:46 +08:00
b0e7b8844d fix: vite 代理端口 18080→18082,匹配 HIS 后端实际端口
问题:vite proxy 指向 18080(被 hysteria2 占用),后端实际运行在 18082
影响:所有 /dev-api 请求返回 400/502,前端页面无法加载
2026-06-01 11:43:32 +08:00