43 lines
2.6 KiB
SQL
43 lines
2.6 KiB
SQL
-- ============================================================
|
||
-- 排班模板 —— 平台端菜单(yz_system_menu)
|
||
--
|
||
-- 挂载位置:平台端「基础设置」(path = /basicSettings)下,与「字典管理」并列。
|
||
-- 基础设置
|
||
-- └─ 排班模板(页面,/basicSettings/schedTemplate)
|
||
--
|
||
-- 说明:
|
||
-- 1. views = [1]:只在平台端出现;租户端通过 /backend/oa/scheduling/templates
|
||
-- 读取模板(不在租户菜单里暴露模板管理入口)。
|
||
-- 2. 平台端菜单接口(/platform/menu/:id)按 views 过滤,不按角色 rights 过滤,
|
||
-- 因此本脚本无需追加角色授权。
|
||
-- 3. 幂等:按 path 判重,重复执行不会产生重复菜单。
|
||
-- 4. 本脚本不使用会话变量 / PREPARE,可整段执行也可逐条执行。
|
||
-- ============================================================
|
||
|
||
-- 1) 有「基础设置」目录时,挂到该目录下
|
||
INSERT INTO yz_system_menu
|
||
(pid, title, path, component_path, icon, sort, status, is_visible, views, type, creater, remark)
|
||
SELECT
|
||
(SELECT id FROM (SELECT id FROM yz_system_menu WHERE path = '/basicSettings' AND delete_time IS NULL ORDER BY id LIMIT 1) b),
|
||
'排班模板', '/basicSettings/schedTemplate', '/system/schedTemplate/index.vue',
|
||
'Calendar', 90, 1, 1, '[1]', 2, 'system',
|
||
'全局排班模板:预置双休/单休/大小周/月休/三班倒/做一休一,租户调用后存入自己的方案'
|
||
FROM DUAL
|
||
WHERE EXISTS (SELECT 1 FROM (SELECT id FROM yz_system_menu WHERE path = '/basicSettings' AND delete_time IS NULL) b)
|
||
AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM yz_system_menu WHERE path = '/basicSettings/schedTemplate' AND delete_time IS NULL) e);
|
||
|
||
-- 2) 未找到「基础设置」目录时,退化为平台端顶级菜单(pid=0)
|
||
INSERT INTO yz_system_menu
|
||
(pid, title, path, component_path, icon, sort, status, is_visible, views, type, creater, remark)
|
||
SELECT 0, '排班模板', '/basicSettings/schedTemplate', '/system/schedTemplate/index.vue',
|
||
'Calendar', 92, 1, 1, '[1]', 2, 'system',
|
||
'全局排班模板:预置双休/单休/大小周/月休/三班倒/做一休一,租户调用后存入自己的方案'
|
||
FROM DUAL
|
||
WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM yz_system_menu WHERE path = '/basicSettings' AND delete_time IS NULL) b)
|
||
AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM yz_system_menu WHERE path = '/basicSettings/schedTemplate' AND delete_time IS NULL) e);
|
||
|
||
-- 结果校验:应返回 1 行
|
||
SELECT id, pid, title, path, component_path, views, type, is_visible, status
|
||
FROM yz_system_menu
|
||
WHERE delete_time IS NULL AND path = '/basicSettings/schedTemplate';
|