Просмотр исходного кода

✨ feat(permission): 添加合同续签管理相关权限

- 新增合同续签模块的基础操作权限(create/update/delete)
- 添加合同续签的数据查看权限(own/department/sub_department/all)
- 增加合同续签的审批、提醒和导出功能权限
- 为合同管理员角色分配合同续签相关权限
- 为部门经理、销售经理和销售人员角色配置不同数据范围的合同续签权限
yourname 7 месяцев назад
Родитель
Сommit
6cb1cba2b4
1 измененных файлов с 37 добавлено и 1 удалено
  1. 37 1
      docs/crm-permission-init.sql

+ 37 - 1
docs/crm-permission-init.sql

@@ -40,6 +40,18 @@ INSERT INTO permission (code, name, type, module, action, description, sort_orde
 ('contract:approve', '审批合同', 'operation', 'contract', 'approve', '允许审批合同', 550, 1, NULL),
 ('contract:approve', '审批合同', 'operation', 'contract', 'approve', '允许审批合同', 550, 1, NULL),
 ('contract:renew', '续签合同', 'operation', 'contract', 'renew', '允许续签合同', 560, 1, NULL),
 ('contract:renew', '续签合同', 'operation', 'contract', 'renew', '允许续签合同', 560, 1, NULL),
 
 
+-- 合同续签管理权限
+('contract_renew:create', '创建合同续签', 'operation', 'contract_renew', 'create', '允许创建合同续签记录', 1010, 1, NULL),
+('contract_renew:update', '编辑合同续签', 'operation', 'contract_renew', 'update', '允许编辑合同续签信息', 1020, 1, NULL),
+('contract_renew:delete', '删除合同续签', 'operation', 'contract_renew', 'delete', '允许删除合同续签记录', 1030, 1, NULL),
+('contract_renew:view:own', '查看个人合同续签', 'data', 'contract_renew', 'view', '仅查看自己创建的合同续签记录', 1041, 1, NULL),
+('contract_renew:view:department', '查看部门合同续签', 'data', 'contract_renew', 'view', '查看所在部门合同续签记录', 1042, 1, NULL),
+('contract_renew:view:sub_department', '查看部门及下级合同续签', 'data', 'contract_renew', 'view', '查看所在部门及下级部门合同续签记录', 1043, 1, NULL),
+('contract_renew:view:all', '查看所有合同续签', 'data', 'contract_renew', 'view', '查看系统所有合同续签记录', 1044, 1, NULL),
+('contract_renew:approve', '审批合同续签', 'operation', 'contract_renew', 'approve', '允许审批合同续签申请', 1050, 1, NULL),
+('contract_renew:remind', '合同续签提醒', 'operation', 'contract_renew', 'remind', '允许设置合同续签提醒', 1060, 1, NULL),
+('contract_renew:export', '导出合同续签', 'operation', 'contract_renew', 'export', '允许导出合同续签数据', 1070, 1, NULL),
+
 -- 跟进记录权限
 -- 跟进记录权限
 ('follow_up:create', '创建跟进', 'operation', 'follow_up', 'create', '允许创建跟进记录', 610, 1, NULL),
 ('follow_up:create', '创建跟进', 'operation', 'follow_up', 'create', '允许创建跟进记录', 610, 1, NULL),
 ('follow_up:update', '编辑跟进', 'operation', 'follow_up', 'update', '允许编辑跟进记录', 620, 1, NULL),
 ('follow_up:update', '编辑跟进', 'operation', 'follow_up', 'update', '允许编辑跟进记录', 620, 1, NULL),
@@ -154,7 +166,31 @@ INSERT INTO role_permission (role_id, permission_id, data_scope_type, created_at
 SELECT r.id, p.id, 'COMPANY', NOW()
 SELECT r.id, p.id, 'COMPANY', NOW()
 FROM role r, permission p
 FROM role r, permission p
 WHERE r.name = '合同管理员'
 WHERE r.name = '合同管理员'
-  AND (p.code LIKE 'contract:%' OR p.code LIKE 'file:%');
+  AND (p.code LIKE 'contract:%' OR p.code LIKE 'contract_renew:%' OR p.code LIKE 'file:%');
+
+-- 为部门经理角色添加合同续签权限(部门级)
+INSERT INTO role_permission (role_id, permission_id, data_scope_type, created_at)
+SELECT r.id, p.id, 'DEPARTMENT', NOW()
+FROM role r, permission p
+WHERE r.name = '部门经理'
+  AND p.code LIKE 'contract_renew:%'
+  AND p.code NOT LIKE '%:all';
+
+-- 为销售经理角色添加合同续签权限(子部门级)
+INSERT INTO role_permission (role_id, permission_id, data_scope_type, created_at)
+SELECT r.id, p.id, 'SUB_DEPARTMENT', NOW()
+FROM role r, permission p
+WHERE r.name = '销售经理'
+  AND p.code LIKE 'contract_renew:%'
+  AND p.code NOT LIKE '%:all';
+
+-- 为销售人员角色添加合同续签权限(个人级)
+INSERT INTO role_permission (role_id, permission_id, data_scope_type, created_at)
+SELECT r.id, p.id, 'PERSONAL', NOW()
+FROM role r, permission p
+WHERE r.name = '销售人员'
+  AND p.code LIKE 'contract_renew:%'
+  AND p.code NOT LIKE '%:all';
 
 
 -- 补充联系人管理权限(复用客户权限)
 -- 补充联系人管理权限(复用客户权限)
 -- 注意:联系人管理实际使用客户权限进行控制
 -- 注意:联系人管理实际使用客户权限进行控制