diff --git a/docs/sql/migrations/2026-11-12-remove-lab-sample-processing-menu.sql b/docs/sql/migrations/2026-11-12-remove-lab-sample-processing-menu.sql new file mode 100644 index 00000000..20a9c3d3 --- /dev/null +++ b/docs/sql/migrations/2026-11-12-remove-lab-sample-processing-menu.sql @@ -0,0 +1,50 @@ +-- Issue #100:移除多余一级菜单「实验室样本处理数据」及其子菜单/按钮 +-- 软删除 sys_menu 与对应 sys_role_menu;不影响质检管理下 lab-sample-process 台账 +-- MySQL 5.7,可重复执行 + +-- 1) 角色菜单授权 +UPDATE sys_role_menu rm +JOIN sys_menu m ON m.id = rm.menu_id +SET rm.del_flag = 1, + rm.update_by = 'migration', + rm.update_time = NOW() +WHERE rm.del_flag = 0 + AND ( + m.perms IN ( + 'menu:lab-sample-processing', + 'lab:sample-processing:list', + 'lab:sample-processing:market:edit', + 'lab:sample-processing:production:edit', + 'lab:sample-processing:qc:edit', + 'lab:sample-processing:manager' + ) + OR m.path IN ( + '/lab-sample-processing', + 'lab-sample-processing/hsc', + 'lab-sample-processing/ubmc', + 'lab-sample-processing/msc' + ) + ); + +-- 2) 按钮 / 子菜单 / 一级菜单(先叶子后父级,同批软删即可) +UPDATE sys_menu +SET del_flag = 1, + update_by = 'migration', + update_time = NOW() +WHERE del_flag = 0 + AND ( + perms IN ( + 'menu:lab-sample-processing', + 'lab:sample-processing:list', + 'lab:sample-processing:market:edit', + 'lab:sample-processing:production:edit', + 'lab:sample-processing:qc:edit', + 'lab:sample-processing:manager' + ) + OR path IN ( + '/lab-sample-processing', + 'lab-sample-processing/hsc', + 'lab-sample-processing/ubmc', + 'lab-sample-processing/msc' + ) + ); diff --git a/web-admin/src/router/modules/sqxp.ts b/web-admin/src/router/modules/sqxp.ts index aafee319..32331f8e 100644 --- a/web-admin/src/router/modules/sqxp.ts +++ b/web-admin/src/router/modules/sqxp.ts @@ -1313,59 +1313,6 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [ ] }, - // ═══════════════════════════════════════════════════════════════════════════ - // 3b. 实验室样本处理数据 (menu:lab-sample-processing) - // ═══════════════════════════════════════════════════════════════════════════ - { - id: 'TOP0000000000000000000000000000L1', - name: 'LabSampleProcessing', - path: '/lab-sample-processing', - component: '/index/index', - meta: { - title: '实验室样本处理数据', - icon: 'ri:test-tube-line', - keepAlive: false, - isTopMenu: true, - menuCode: 'menu:lab-sample-processing', - roles: ['admin'] - }, - children: [ - { - id: 'LAB00000000000000000000000000001', - name: 'LabSampleProcessingHsc', - path: 'hsc', - component: '/lab-sample-processing/hsc/index', - meta: { - title: '造血干细胞数据', - keepAlive: true, - menuCode: 'lab:sample-processing:list' - } - }, - { - id: 'LAB00000000000000000000000000002', - name: 'LabSampleProcessingUbmc', - path: 'ubmc', - component: '/lab-sample-processing/ubmc/index', - meta: { - title: '单个核数据', - keepAlive: true, - menuCode: 'lab:sample-processing:list' - } - }, - { - id: 'LAB00000000000000000000000000003', - name: 'LabSampleProcessingMsc', - path: 'msc', - component: '/lab-sample-processing/msc/index', - meta: { - title: '脐带间充质干细胞数据', - keepAlive: true, - menuCode: 'lab:sample-processing:list' - } - } - ] - }, - // ═══════════════════════════════════════════════════════════════════════════ // 4. 运营支撑 (menu:operations) // 二级菜单:系统基础信息、运营支撑