98 lines
3.6 KiB
SQL
98 lines
3.6 KiB
SQL
-- =============================================================================
|
||
-- 缴费信息独立菜单:显示与排序(2026-10-05)
|
||
-- =============================================================================
|
||
--
|
||
-- 【主路径 — 前端固定菜单】
|
||
-- 当前 Web 管理端使用 VITE_ACCESS_MODE=frontend,菜单树由以下两处维护,Task 4 已更新:
|
||
-- - backend/app/api/menu.py → CellStoragePaymentInfo(id 904b5173519411f1944300163e3bdd96)
|
||
-- - web-admin/src/router/modules/sqxp.ts → 预签约订单与样本信息管理之间,已取消 isHide
|
||
-- 前端模式环境 **无需执行** 本脚本;保留本文件供 DB 菜单模式或角色授权同步参考。
|
||
--
|
||
-- 【可选 — DB 菜单模式】
|
||
-- sys_menu 列名以 backend/app/models/models.py :: SysMenu 为准(docs/sql/zkxw.sql 无 sys_menu 段)。
|
||
-- visible: '1'=显示, '0'=隐藏(与 menu.py meta.isHide 映射一致,见 reorder_web_menus.py)
|
||
--
|
||
-- 细胞存储目录 parent_id: CEL00000000000000000000000000001
|
||
-- 预签约订单 id: 50000000000000000000000000000020
|
||
-- 缴费信息 id: 904b5173519411f1944300163e3bdd96 path=payment-info perms=cellStorage:paymentInfo:list
|
||
-- 样本信息 id: 50000000000000000000000000000013
|
||
-- =============================================================================
|
||
|
||
-- 1) 若库中已有该菜单(按 id 或 perms 匹配):取消隐藏并调整排序至预签约与样本信息之间
|
||
UPDATE sys_menu
|
||
SET del_flag = 0,
|
||
visible = '1',
|
||
status = '1',
|
||
order_num = (
|
||
SELECT mid_order FROM (
|
||
SELECT COALESCE(MAX(m2.order_num), 0) AS mid_order
|
||
FROM sys_menu m2
|
||
WHERE m2.del_flag = 0
|
||
AND (
|
||
m2.id = '50000000000000000000000000000020'
|
||
OR m2.perms = 'cell-storage:presign-order:list'
|
||
OR m2.path = 'presign-order'
|
||
)
|
||
) t
|
||
) + 1,
|
||
update_time = NOW()
|
||
WHERE del_flag = 0
|
||
AND (
|
||
id = '904b5173519411f1944300163e3bdd96'
|
||
OR perms = 'cellStorage:paymentInfo:list'
|
||
OR (path = 'payment-info' AND parent_id = 'CEL00000000000000000000000000001')
|
||
);
|
||
|
||
-- 2) 若不存在则幂等插入(仅 DB 菜单模式需要;前端模式可跳过)
|
||
INSERT INTO sys_menu (
|
||
id, menu_name, parent_id, menu_type, path, component, perms,
|
||
is_frame, visible, status, tenant_no, order_num, remark,
|
||
create_by, create_dept_id, create_time, update_by, update_time, del_flag
|
||
)
|
||
SELECT
|
||
'904b5173519411f1944300163e3bdd96',
|
||
'缴费信息',
|
||
'CEL00000000000000000000000000001',
|
||
'C',
|
||
'payment-info',
|
||
'/cell-storage/payment-info/index',
|
||
'cellStorage:paymentInfo:list',
|
||
1,
|
||
'1',
|
||
'1',
|
||
'zkxw',
|
||
COALESCE((
|
||
SELECT MAX(m2.order_num) + 1
|
||
FROM sys_menu m2
|
||
WHERE m2.del_flag = 0
|
||
AND (
|
||
m2.id = '50000000000000000000000000000020'
|
||
OR m2.perms = 'cell-storage:presign-order:list'
|
||
)
|
||
), 1),
|
||
'细胞存储:缴费信息(流程看板 + 按样本),独立于采集协议单',
|
||
NULL,
|
||
'',
|
||
NOW(),
|
||
NULL,
|
||
NOW(),
|
||
0
|
||
FROM DUAL
|
||
WHERE NOT EXISTS (
|
||
SELECT 1 FROM sys_menu m
|
||
WHERE m.del_flag = 0
|
||
AND (
|
||
m.id = '904b5173519411f1944300163e3bdd96'
|
||
OR m.perms = 'cellStorage:paymentInfo:list'
|
||
)
|
||
);
|
||
|
||
-- 3) 可选:为已有角色补授权(将 super_admin 角色 id 替换为实际值后取消注释)
|
||
-- INSERT INTO sys_role_menu (id, role_id, menu_id, tenant_no, create_time, update_time, del_flag)
|
||
-- SELECT UUID(), '<role_id>', '904b5173519411f1944300163e3bdd96', 'zkxw', NOW(), NOW(), 0
|
||
-- FROM DUAL
|
||
-- WHERE NOT EXISTS (
|
||
-- SELECT 1 FROM sys_role_menu rm
|
||
-- WHERE rm.menu_id = '904b5173519411f1944300163e3bdd96' AND rm.role_id = '<role_id>' AND rm.del_flag = 0
|
||
-- );
|