116 lines
3.1 KiB
SQL
116 lines
3.1 KiB
SQL
-- 一诊 / 我的患者
|
|
-- 页面:/first_visit/my_patients
|
|
-- 组件:first_visit/my_patients/index
|
|
-- 查询权限:firstvisit.myPatient/lists
|
|
|
|
START TRANSACTION;
|
|
|
|
INSERT INTO `zyt_system_menu`
|
|
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_cache`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
|
SELECT
|
|
0,
|
|
'M',
|
|
'一诊',
|
|
'el-icon-FirstAidKit',
|
|
802,
|
|
'',
|
|
'first_visit',
|
|
'',
|
|
'',
|
|
'',
|
|
0,
|
|
1,
|
|
0,
|
|
UNIX_TIMESTAMP(),
|
|
UNIX_TIMESTAMP()
|
|
FROM DUAL
|
|
WHERE NOT EXISTS (
|
|
SELECT 1
|
|
FROM `zyt_system_menu`
|
|
WHERE `pid` = 0
|
|
AND `type` = 'M'
|
|
AND (
|
|
TRIM(`name`) = '一诊'
|
|
OR LOWER(TRIM(`paths`)) IN ('first_visit', 'firstvisit', 'first-visit')
|
|
)
|
|
);
|
|
|
|
SET @first_visit_menu_id = (
|
|
SELECT `id`
|
|
FROM `zyt_system_menu`
|
|
WHERE `pid` = 0
|
|
AND `type` = 'M'
|
|
AND (
|
|
TRIM(`name`) = '一诊'
|
|
OR LOWER(TRIM(`paths`)) IN ('first_visit', 'firstvisit', 'first-visit')
|
|
)
|
|
ORDER BY CASE WHEN TRIM(`name`) = '一诊' AND TRIM(`paths`) = 'first_visit' THEN 0 ELSE 1 END, `id`
|
|
LIMIT 1
|
|
);
|
|
|
|
INSERT INTO `zyt_system_menu`
|
|
(`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`, `selected`, `params`, `is_cache`, `is_show`, `is_disable`, `create_time`, `update_time`)
|
|
SELECT
|
|
@first_visit_menu_id,
|
|
'C',
|
|
'我的患者',
|
|
'el-icon-User',
|
|
100,
|
|
'firstvisit.myPatient/lists',
|
|
'my_patients',
|
|
'first_visit/my_patients/index',
|
|
'',
|
|
'',
|
|
0,
|
|
1,
|
|
0,
|
|
UNIX_TIMESTAMP(),
|
|
UNIX_TIMESTAMP()
|
|
FROM DUAL
|
|
WHERE @first_visit_menu_id IS NOT NULL
|
|
AND NOT EXISTS (
|
|
SELECT 1
|
|
FROM `zyt_system_menu`
|
|
WHERE `perms` = 'firstvisit.myPatient/lists'
|
|
OR (
|
|
`pid` = @first_visit_menu_id
|
|
AND (
|
|
TRIM(`name`) = '我的患者'
|
|
OR TRIM(`paths`) = 'my_patients'
|
|
OR TRIM(`component`) = 'first_visit/my_patients/index'
|
|
)
|
|
)
|
|
);
|
|
|
|
SET @my_patient_menu_id = (
|
|
SELECT `id`
|
|
FROM `zyt_system_menu`
|
|
WHERE `pid` = @first_visit_menu_id
|
|
AND (
|
|
`perms` = 'firstvisit.myPatient/lists'
|
|
OR TRIM(`name`) = '我的患者'
|
|
OR TRIM(`paths`) = 'my_patients'
|
|
OR TRIM(`component`) = 'first_visit/my_patients/index'
|
|
)
|
|
ORDER BY CASE WHEN `perms` = 'firstvisit.myPatient/lists' THEN 0 ELSE 1 END, `id`
|
|
LIMIT 1
|
|
);
|
|
|
|
-- 医生、医助、经理、诊室组长、管理员可见入口;root 无需角色菜单授权。
|
|
-- 页面内诊单/预约/订单按钮继续使用各自原有按钮权限。
|
|
INSERT IGNORE INTO `zyt_system_role_menu` (`role_id`, `menu_id`)
|
|
SELECT `id`, @first_visit_menu_id
|
|
FROM `zyt_system_role`
|
|
WHERE @first_visit_menu_id IS NOT NULL
|
|
AND `delete_time` IS NULL
|
|
AND `name` IN ('医生', '医助', '经理', '诊室组长', '管理员');
|
|
|
|
INSERT IGNORE INTO `zyt_system_role_menu` (`role_id`, `menu_id`)
|
|
SELECT `id`, @my_patient_menu_id
|
|
FROM `zyt_system_role`
|
|
WHERE @my_patient_menu_id IS NOT NULL
|
|
AND `delete_time` IS NULL
|
|
AND `name` IN ('医生', '医助', '经理', '诊室组长', '管理员');
|
|
|
|
COMMIT;
|