From c4ca097bf64585ad30554b1019b0c683c9aba4c0 Mon Sep 17 00:00:00 2001 From: chenqi Date: Tue, 16 Jun 2026 16:08:40 +0800 Subject: [PATCH] =?UTF-8?q?feat(menu):=20=E6=B7=BB=E5=8A=A0=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=8F=AF=E8=AE=BF=E9=97=AE=E8=8F=9C=E5=8D=95=E6=A0=91?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=B9=B6=E4=BC=98=E5=8C=96=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 /userMenus 接口供普通用户获取自身权限范围内的菜单树 - 修复菜单ID路径参数正则表达式匹配问题 - 优化门诊挂号患者列表表格列宽和滚动显示 - 更新患者主索引界面搜索表单和表格展示逻辑 - 调整挂号记录表格高度计算和列固定布局 - 更新未闭环医嘱统计界面提示信息和分页功能 - 修复用户医院名称获取逻辑优先级问题 - 添加EMPI合并日志创建时间字段迁移脚本 --- .../controller/system/SysMenuController.java | 14 ++- ...0616_2__fix_empi_merge_log_create_time.sql | 1 + healthlink-his-ui/src/api/system/menu.js | 8 ++ healthlink-his-ui/src/store/modules/user.js | 2 +- .../components/patientList.vue | 11 +- .../charge/outpatientregistration/index.vue | 23 +++- .../src/views/empienhanced/patient/index.vue | 119 ++++++++++++------ .../src/views/features/config.vue | 107 +++++++--------- .../orderclosedloop/statistics/index.vue | 28 +++-- 9 files changed, 189 insertions(+), 124 deletions(-) create mode 100644 healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0616_2__fix_empi_merge_log_create_time.sql diff --git a/healthlink-his-server/core-admin/src/main/java/com/core/web/controller/system/SysMenuController.java b/healthlink-his-server/core-admin/src/main/java/com/core/web/controller/system/SysMenuController.java index 332f8990d..6a1b78ef1 100755 --- a/healthlink-his-server/core-admin/src/main/java/com/core/web/controller/system/SysMenuController.java +++ b/healthlink-his-server/core-admin/src/main/java/com/core/web/controller/system/SysMenuController.java @@ -26,6 +26,18 @@ public class SysMenuController extends BaseController { @Autowired private ISysMenuService menuService; + /** + * 获取当前用户可访问的菜单树(无需管理员权限) + * 用于功能配置页面,让普通用户也能选择自己有权限的菜单 + */ + @GetMapping("/userMenus") + public AjaxResult userMenus() { + Long userId = getUserId(); + List menus = menuService.selectMenuList(new SysMenu(), userId); + List menuTreeWithFullPath = menuService.buildMenuTreeWithFullPath(menus); + return success(menuTreeWithFullPath); + } + /** * 获取菜单列表 */ @@ -42,7 +54,7 @@ public class SysMenuController extends BaseController { * 根据菜单编号获取详细信息 */ @PreAuthorize("@ss.hasPermi('system:menu:query')") - @GetMapping(value = "/{menuId}") + @GetMapping(value = "/{menuId:\\d+}") public AjaxResult getInfo(@PathVariable Long menuId) { return success(menuService.selectMenuById(menuId)); } diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0616_2__fix_empi_merge_log_create_time.sql b/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0616_2__fix_empi_merge_log_create_time.sql new file mode 100644 index 000000000..5ad7c86b1 --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0616_2__fix_empi_merge_log_create_time.sql @@ -0,0 +1 @@ +ALTER TABLE empi_merge_log ADD COLUMN IF NOT EXISTS create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP; \ No newline at end of file diff --git a/healthlink-his-ui/src/api/system/menu.js b/healthlink-his-ui/src/api/system/menu.js index b619a5419..b9b76d667 100755 --- a/healthlink-his-ui/src/api/system/menu.js +++ b/healthlink-his-ui/src/api/system/menu.js @@ -1,5 +1,13 @@ import request from '@/utils/request' +// 获取当前用户可访问的菜单树(无需管理员权限) +export function getUserMenus() { + return request({ + url: '/system/menu/userMenus', + method: 'get' + }) +} + // 查询菜单列表 export function listMenu(query) { return request({ diff --git a/healthlink-his-ui/src/store/modules/user.js b/healthlink-his-ui/src/store/modules/user.js index e7dadd08d..c4ff6e73f 100755 --- a/healthlink-his-ui/src/store/modules/user.js +++ b/healthlink-his-ui/src/store/modules/user.js @@ -67,7 +67,7 @@ const useUserStore = defineStore( this.avatar = avatar this.optionMap = res.optionMap || {} // 优先从optionMap获取配置,如果没有则从optionJson获取 - this.hospitalName = this.optionMap.hospitalName || res.optionJson.hospitalName || '' + this.hospitalName = res.tenantName || this.optionMap.hospitalName || res.optionJson.hospitalName || '' this.tenantName = res.tenantName || '' resolve(res) diff --git a/healthlink-his-ui/src/views/charge/outpatientregistration/components/patientList.vue b/healthlink-his-ui/src/views/charge/outpatientregistration/components/patientList.vue index 17de5b2fb..2912cc9a0 100755 --- a/healthlink-his-ui/src/views/charge/outpatientregistration/components/patientList.vue +++ b/healthlink-his-ui/src/views/charge/outpatientregistration/components/patientList.vue @@ -1,39 +1,46 @@ -