66 lines
3.3 KiB
SQL
66 lines
3.3 KiB
SQL
-- ============================================================
|
||
-- OA 审批中心 —— 菜单配置(yz_system_menu)
|
||
-- 幂等脚本:按 path 判重,重复执行不会产生重复菜单
|
||
-- 执行:mysql -h <host> -P <port> -u <user> -p <db> < oa_approvalcenter_menus.sql
|
||
--
|
||
-- 对应页面:
|
||
-- /apps/oa/approvalcenter/mine 我的发起(我提交的单据)
|
||
-- /apps/oa/approvalcenter/list 审批列表(待我审批 / 我已处理)
|
||
-- /apps/oa/approvalcenter/settings 审批流设置(复用系统管理的编排能力)
|
||
-- 注意:目录本身依赖 OA 应用根菜单 '/apps/oa',缺失时脚本不会写入任何数据。
|
||
-- ============================================================
|
||
|
||
SET @oa_id := (
|
||
SELECT id FROM yz_system_menu
|
||
WHERE path = '/apps/oa' AND delete_time IS NULL
|
||
LIMIT 1
|
||
);
|
||
|
||
-- ---------- 审批中心(目录) ----------
|
||
INSERT INTO yz_system_menu
|
||
(pid, title, path, component_path, icon, sort, status, is_visible, views, type, creater, remark)
|
||
SELECT @oa_id, '审批中心', '/apps/oa/approvalcenter', NULL,
|
||
'Stamp', 99, 1, 1, '[2]', 1, 'system', '发起、处理与配置 OA 审批流程'
|
||
FROM DUAL
|
||
WHERE @oa_id IS NOT NULL
|
||
AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM yz_system_menu WHERE path = '/apps/oa/approvalcenter' AND delete_time IS NULL) x);
|
||
|
||
SET @center_id := (
|
||
SELECT id FROM yz_system_menu
|
||
WHERE path = '/apps/oa/approvalcenter' AND delete_time IS NULL
|
||
LIMIT 1
|
||
);
|
||
|
||
-- ---------- 我的发起 ----------
|
||
INSERT INTO yz_system_menu
|
||
(pid, title, path, component_path, icon, sort, status, is_visible, views, type, creater, remark)
|
||
SELECT @center_id, '我的发起', '/apps/oa/approvalcenter/mine', 'apps/oa/approvalcenter/mine.vue',
|
||
'Promotion', 1, 1, 1, '[2]', 2, 'system', '我发起的审批单据与当前进度,支持撤回'
|
||
FROM DUAL
|
||
WHERE @center_id IS NOT NULL
|
||
AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM yz_system_menu WHERE path = '/apps/oa/approvalcenter/mine' AND delete_time IS NULL) x);
|
||
|
||
-- ---------- 审批列表 ----------
|
||
INSERT INTO yz_system_menu
|
||
(pid, title, path, component_path, icon, sort, status, is_visible, views, type, creater, remark)
|
||
SELECT @center_id, '审批列表', '/apps/oa/approvalcenter/list', 'apps/oa/approvalcenter/list.vue',
|
||
'Tickets', 2, 1, 1, '[2]', 2, 'system', '待我审批 / 我已处理的任务,可直接通过或驳回'
|
||
FROM DUAL
|
||
WHERE @center_id IS NOT NULL
|
||
AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM yz_system_menu WHERE path = '/apps/oa/approvalcenter/list' AND delete_time IS NULL) x);
|
||
|
||
-- ---------- 审批流设置 ----------
|
||
INSERT INTO yz_system_menu
|
||
(pid, title, path, component_path, icon, sort, status, is_visible, views, type, creater, remark)
|
||
SELECT @center_id, '审批流设置', '/apps/oa/approvalcenter/settings', 'apps/oa/approvalcenter/settings.vue',
|
||
'Setting', 3, 1, 1, '[2]', 2, 'system', '按功能模块编排审批流程(复用系统管理 → 审批流配置)'
|
||
FROM DUAL
|
||
WHERE @center_id IS NOT NULL
|
||
AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM yz_system_menu WHERE path = '/apps/oa/approvalcenter/settings' AND delete_time IS NULL) x);
|
||
|
||
-- ---------- 结果校验 ----------
|
||
SELECT id, pid, title, path, component_path, type, sort
|
||
FROM yz_system_menu
|
||
WHERE delete_time IS NULL AND path LIKE '/apps/oa/approvalcenter%'
|
||
ORDER BY pid, sort;
|