Files
yunzerwebsiteallinone/go/docs/sql/oa_approvalcenter_menus.sql
2026-10-16 23:46:49 +08:00

66 lines
3.3 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- ============================================================
-- 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;