Ver Fonte

Fix 修复获取字典配置及工作流相关没有权限的问题

Yue há 2 dias atrás
pai
commit
a39d25db42

+ 59 - 50
SERVER/VberAdminPlusV3/.script/docker/sql/init.sql

@@ -1,5 +1,6 @@
--- 设置字符集
-SET NAMES utf8;
+-- 建库
+CREATE
+DATABASE /*!32312 IF NOT EXISTS */ `VberAdminPlusV3` /*!40100 DEFAULT CHARACTER SET utf8 */;
 
 -- ----------------------------
 -- 1、组织机构表
@@ -666,109 +667,111 @@ VALUES
 
     (101, '角色管理', 1, 2, 'role', 'system/role/index', '', 1, 0, 'C', '0', '0', 'system:role', 'person-gear', '', '',
      100, 1, SYSDATE(), NULL, NULL, '角色管理菜单'),
-    (1008, '角色查询', 101, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:role:query', 'eye', '', '', 100, 1, SYSDATE(),
+    (1010, '角色查询', 101, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:role:query', 'eye', '', '', 100, 1, SYSDATE(),
      NULL, NULL, ''),
-    (1009, '角色新增', 101, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:role:add', 'plus-square',
+    (1011, '角色新增', 101, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:role:add', 'plus-square',
      'btn btn-light-primary', 'handleCreate', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1010, '角色修改', 101, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit', 'pencil-square',
+    (1012, '角色修改', 101, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit', 'pencil-square',
      'btn btn-light-success', 'handleUpdate@1', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1011, '角色删除', 101, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove', 'dash-square',
+    (1013, '角色删除', 101, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove', 'dash-square',
      'btn btn-light-danger', 'handleDelete@0', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1012, '角色导出', 101, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:role:export', 'cloud-download',
+    (1014, '角色导出', 101, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:role:export', 'cloud-download',
      'btn btn-light-info', 'handleExport', 100, 1, SYSDATE(), NULL, NULL, ''),
 
     (102, '菜单管理', 1, 3, 'menu', 'system/menu/index', '', 1, 0, 'C', '0', '0', 'system:menu', 'list', '', '', 100, 1,
      SYSDATE(), NULL, NULL, '菜单管理菜单'),
-    (1013, '菜单查询', 102, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:query', 'eye', '', '', 100, 1, SYSDATE(),
+    (1016, '菜单查询', 102, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:query', 'eye', '', '', 100, 1, SYSDATE(),
      NULL, NULL, ''),
-    (1014, '菜单新增', 102, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:add', 'plus-square',
+    (1017, '菜单新增', 102, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:add', 'plus-square',
      'btn btn-light-primary', 'handleCreate', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1015, '菜单修改', 102, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:edit', 'pencil-square',
+    (1018, '菜单修改', 102, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:edit', 'pencil-square',
      'btn btn-light-success', 'handleUpdate@1', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1016, '菜单删除', 102, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:remove', 'dash-square',
+    (1019, '菜单删除', 102, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:remove', 'dash-square',
      'btn btn-light-danger', 'handleDelete@0', 100, 1, SYSDATE(), NULL, NULL, ''),
 
     (103, '组织机构管理', 1, 4, 'org', 'system/org/index', '', 1, 0, 'C', '0', '0', 'system:org', 'card-list', '', '',
      100, 1, SYSDATE(), NULL, NULL, '组织机构管理菜单'),
-    (1017, '组织机构查询', 103, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:org:query', 'eye', '', '', 100, 1,
+    (1021, '组织机构查询', 103, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:org:query', 'eye', '', '', 100, 1,
      SYSDATE(), NULL, NULL, ''),
-    (1018, '组织机构新增', 103, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:org:add', 'plus-square',
+    (1022, '组织机构新增', 103, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:org:add', 'plus-square',
      'btn btn-light-primary', 'handleCreate', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1019, '组织机构修改', 103, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:org:edit', 'pencil-square',
+    (1023, '组织机构修改', 103, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:org:edit', 'pencil-square',
      'btn btn-light-success', 'handleUpdate@1', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1020, '组织机构删除', 103, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:org:remove', 'dash-square',
+    (1024, '组织机构删除', 103, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:org:remove', 'dash-square',
      'btn btn-light-danger', 'handleDelete@0', 100, 1, SYSDATE(), NULL, NULL, ''),
 
     (104, '岗位管理', 1, 5, 'post', 'system/post/index', '', 1, 0, 'C', '0', '0', 'system:post', 'file-person', '', '',
      100, 1, SYSDATE(), NULL, NULL, '岗位管理菜单'),
-    (1021, '岗位查询', 104, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:post:query', 'eye', '', '', 100, 1, SYSDATE(),
+    (1026, '岗位查询', 104, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:post:query', 'eye', '', '', 100, 1, SYSDATE(),
      NULL, NULL, ''),
-    (1022, '岗位新增', 104, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:post:add', 'plus-square',
+    (1027, '岗位新增', 104, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:post:add', 'plus-square',
      'btn btn-light-primary', 'handleCreate', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1023, '岗位修改', 104, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:post:edit', 'pencil-square',
+    (1028, '岗位修改', 104, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:post:edit', 'pencil-square',
      'btn btn-light-success', 'handleUpdate@1', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1024, '岗位删除', 104, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:post:remove', 'dash-square',
+    (1029, '岗位删除', 104, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:post:remove', 'dash-square',
      'btn btn-light-danger', 'handleDelete@0', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1025, '岗位导出', 104, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:post:export', 'cloud-download',
+    (1030, '岗位导出', 104, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:post:export', 'cloud-download',
      'btn btn-light-info', 'handleExport', 100, 1, SYSDATE(), NULL, NULL, ''),
 
     (105, '字典管理', 1, 6, 'dict', 'system/dict/index', '', 1, 0, 'C', '0', '0', 'system:dict', 'file-earmark-medical',
      '', '', 100, 1, SYSDATE(), NULL, NULL, '字典管理菜单'),
-    (1026, '字典查询', 105, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:query', 'eye', '', '', 100, 1, SYSDATE(),
+    (1032, '字典查询', 105, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:query', 'eye', '', '', 100, 1, SYSDATE(),
      NULL, NULL, ''),
-    (1027, '字典新增', 105, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:add', 'plus-square',
+    (1033, '字典新增', 105, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:add', 'plus-square',
      'btn btn-light-primary', 'handleCreate', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1028, '字典修改', 105, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:edit', 'pencil-square',
+    (1034, '字典修改', 105, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:edit', 'pencil-square',
      'btn btn-light-success', 'handleUpdate@1', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1029, '字典删除', 105, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:remove', 'dash-square',
+    (1035, '字典删除', 105, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:remove', 'dash-square',
      'btn btn-light-danger', 'handleDelete@0', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1030, '字典导出', 105, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:export', 'cloud-download',
+    (1036, '字典导出', 105, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:export', 'cloud-download',
      'btn btn-light-info', 'handleExport', 100, 1, SYSDATE(), NULL, NULL, ''),
 
-    (106, '参数设置', 1, 7, 'config', 'system/config/index', '', 1, 0, 'C', '0', '0', 'system:config', 'gear', '', '',
-     100, 1, SYSDATE(), NULL, NULL, '参数设置菜单'),
-    (1031, '参数查询', 106, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:query', 'eye', '', '', 100, 1,
+    (106, '系统配置', 1, 7, 'config', 'system/config/index', '', 1, 0, 'C', '0', '0', 'system:config', 'gear', '', '',
+     100, 1, SYSDATE(), NULL, NULL, '系统配置菜单'),
+    (1039, '系统配置查询', 106, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:query', 'eye', '', '', 100, 1,
      SYSDATE(), NULL, NULL, ''),
-    (1032, '参数新增', 106, 2, '#', '', '', 1, 1, 'F', '0', '0', 'system:config:add', 'plus-square',
+    (1040, '配置新增', 106, 2, '#', '', '', 1, 1, 'F', '0', '0', 'system:config:add', 'plus-square',
      'btn btn-light-primary', 'handleCreate', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1033, '参数修改', 106, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:edit', 'pencil-square',
+    (1041, '配置修改', 106, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:edit', 'pencil-square',
      'btn btn-light-success', 'handleUpdate@1', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1034, '参数删除', 106, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:remove', 'dash-square',
+    (1042, '配置删除', 106, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:remove', 'dash-square',
      'btn btn-light-danger', 'handleDelete@0', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1035, '参数导出', 106, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:export', 'cloud-download',
+    (1043, '配置导出', 106, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:export', 'cloud-download',
+     'btn btn-light-info', 'handleExport', 100, 1, SYSDATE(), NULL, NULL, ''),
+    (1044, '配置刷新', 106, 6, '#', '', '', 1, 0, 'F', '1', '0', 'system:config:refresh', 'cloud-download',
      'btn btn-light-info', 'handleExport', 100, 1, SYSDATE(), NULL, NULL, ''),
 
     (107, '通知公告', 1, 8, 'notice', 'system/notice/index', '', 1, 0, 'C', '0', '0', 'system:notice', 'bell', '', '',
      100, 1, SYSDATE(), NULL, NULL, '通知公告菜单'),
-    (1036, '公告查询', 107, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:query', 'eye', '', '', 100, 1,
+    (1046, '公告查询', 107, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:query', 'eye', '', '', 100, 1,
      SYSDATE(), NULL, NULL, ''),
-    (1037, '公告新增', 107, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:add', 'plus-square',
+    (1047, '公告新增', 107, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:add', 'plus-square',
      'btn btn-light-primary', 'handleCreate', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1038, '公告修改', 107, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:edit', 'pencil-square',
+    (1048, '公告修改', 107, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:edit', 'pencil-square',
      'btn btn-light-success', 'handleUpdate@1', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1039, '公告删除', 107, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:remove', 'dash-square',
+    (1049, '公告删除', 107, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:remove', 'dash-square',
      'btn btn-light-danger', 'handleDelete@0', 100, 1, SYSDATE(), NULL, NULL, ''),
 
     (108, '日志管理', 1, 9, 'log', '', '', 1, 0, 'M', '0', '0', '', 'file-earmark-medical', '', '', 100, 1, SYSDATE(),
      NULL, NULL, '日志管理菜单'),
     (109, '操作日志', 108, 1, 'operLog', 'system/log/operLog', '', 1, 0, 'C', '0', '0', 'system:operLog',
      'file-earmark-easel', '', '', 100, 1, SYSDATE(), NULL, NULL, '操作日志菜单'),
-    (1040, '操作查询', 109, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:operLog:query', 'eye', '', '', 100, 1,
+    (1054, '操作查询', 109, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:operLog:query', 'eye', '', '', 100, 1,
      SYSDATE(), NULL, NULL, ''),
-    (1041, '操作删除', 109, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:operLog:remove', 'dash-square',
+    (1052, '操作删除', 109, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:operLog:remove', 'dash-square',
      'btn btn-light-danger', 'handleDelete@0', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1042, '日志导出', 109, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:operLog:export', 'cloud-download',
+    (1053, '日志导出', 109, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:operLog:export', 'cloud-download',
      'btn btn-light-info', 'handleExport', 100, 1, SYSDATE(), NULL, NULL, ''),
 
     (110, '登录日志', 108, 2, 'loginLog', 'system/log/loginLog', '', 1, 0, 'C', '0', '0', 'system:loginLog',
      'file-earmark-person', '', '', 100, 1, SYSDATE(), NULL, NULL, '登录日志菜单'),
-    (1043, '登录查询', 110, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:loginLog:query', 'eye', '', '', 100, 1,
+    (1054, '登录查询', 110, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:loginLog:query', 'eye', '', '', 100, 1,
      SYSDATE(), NULL, NULL, ''),
-    (1044, '账户解锁', 110, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:loginLog:unlock', 'unlock-fill',
+    (1055, '账户解锁', 110, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:loginLog:unlock', 'unlock-fill',
      'btn btn-light-primary', 'handleUnlock@1', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1045, '删除日志', 110, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:loginLog:remove', 'dash-square',
+    (1056, '删除日志', 110, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:loginLog:remove', 'dash-square',
      'btn btn-light-danger', 'handleDelete@0', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1046, '日志导出', 110, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:loginLog:export', 'cloud-download',
+    (1057, '日志导出', 110, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:loginLog:export', 'cloud-download',
      'btn btn-light-info', 'handleExport', 100, 1, SYSDATE(), NULL, NULL, ''),
 
     (111, '文件管理', 1, 10, 'oss', 'system/oss/index', '', 1, 0, 'C', '0', '0', 'system:oss', 'file-earmark-post', '',
@@ -852,7 +855,7 @@ VALUES
     -- 系统工具
     (90, '系统工具', '0', 90, 'tool', NULL, '', 1, 0, 'M', '0', '0', '', 'code-slash', '', '', 100, 1, SYSDATE(), NULL,
      NULL, '系统工具目录'),
-    (140, '代码生成', 90, 2, 'gen', 'tool/gen/index', '', 1, 0, 'C', '0', '0', 'tool:gen', 'code-square', '', '', 100,
+    (141, '代码生成', 90, 2, 'gen', 'tool/gen/index', '', 1, 0, 'C', '0', '0', 'tool:gen', 'code-square', '', '', 100,
      1, SYSDATE(), NULL, NULL, '代码生成菜单'),
     (1101, '生成查询', 141, 1, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:query', 'eye', '', '', 100, 1, SYSDATE(),
      NULL, NULL, ''),
@@ -883,8 +886,12 @@ VALUES (1, '000000', '管理组', '15888888888', 'XXX有限公司', NULL, NULL,
 -- 初始化-用户和角色关联表数据
 -- ----------------------------
 INSERT INTO sys_user_role (user_id, role_id)
-VALUES ('1', '1'),
-       (2, '1');
+VALUES (1, '1'),
+       (2, '1'),
+       (1, '2'),
+       (2, '2'),
+       (3, '2'),
+       (4, '2');
 
 -- ----------------------------
 -- 初始化-角色和菜单关联表数据
@@ -981,11 +988,13 @@ VALUES (1, '000000', 1, '男', '0', 'sys_user_sex', '', 'primary', 'Y', 100, 1,
 -- ----------------------------
 INSERT INTO sys_config (config_id, tenant_id, config_name, config_key, config_value, config_type, create_org, create_by,
                         create_time, update_by, update_time, remark)
-VALUES (1, '000000', '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 100, 1, SYSDATE(), NULL, NULL,
+VALUES (1, '000000', '平台名称', 'sys.platform.name', '玮博科技', 'Y', 100, 1, SYSDATE(), NULL, NULL,
+        ''),
+       (2, '000000', '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 100, 1, SYSDATE(), NULL, NULL,
         '初始化密码 123456'),
-       (2, '000000', '账号自助-是否开启用户注册功能', 'sys.account.registerUser', 'false', 'Y', 100, 1, SYSDATE(), NULL,
+       (3, '000000', '账号自助-是否开启用户注册功能', 'sys.account.registerUser', 'false', 'Y', 100, 1, SYSDATE(), NULL,
         NULL, '是否开启注册用户功能(true开启,false关闭)'),
-       (3, '000000', 'OSS预览列表资源开关', 'sys.oss.previewListResource', 'true', 'Y', 100, 1, SYSDATE(), NULL, NULL,
+       (4, '000000', 'OSS预览列表资源开关', 'sys.oss.previewListResource', 'true', 'Y', 100, 1, SYSDATE(), NULL, NULL,
         'true:开启, false:关闭');
 
 
@@ -1021,5 +1030,5 @@ INSERT INTO sys_client (id, client_id, client_key, client_secret, grant_type, de
                         status, del_flag, create_org, create_by, create_time, update_by, update_time)
 VALUES (1, '9579f8780cf24ae2959d03d11482b18a', 'pc', 'iwb123', 'password,social', 'pc', 1800, 604800, 0, 0, 100, 1,
         SYSDATE(), 1, SYSDATE()),
-       (2, '35aee70ae7224eb9a48bc527955ddedc', 'app', 'iwb123', 'password,sms,social', 'android', 1800, 604800, 0, 0,
+       (2, '35aee70ae7224eb9a48bc527955ddedc', 'app', 'iwb123', 'password,sms,social', 'android', 604800, 2592000, 0, 0,
         100, 1, SYSDATE(), 1, SYSDATE());

+ 49 - 43
SERVER/VberAdminPlusV3/.script/sql/admin.sql

@@ -667,109 +667,111 @@ VALUES
 
     (101, '角色管理', 1, 2, 'role', 'system/role/index', '', 1, 0, 'C', '0', '0', 'system:role', 'person-gear', '', '',
      100, 1, SYSDATE(), NULL, NULL, '角色管理菜单'),
-    (1008, '角色查询', 101, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:role:query', 'eye', '', '', 100, 1, SYSDATE(),
+    (1010, '角色查询', 101, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:role:query', 'eye', '', '', 100, 1, SYSDATE(),
      NULL, NULL, ''),
-    (1009, '角色新增', 101, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:role:add', 'plus-square',
+    (1011, '角色新增', 101, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:role:add', 'plus-square',
      'btn btn-light-primary', 'handleCreate', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1010, '角色修改', 101, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit', 'pencil-square',
+    (1012, '角色修改', 101, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit', 'pencil-square',
      'btn btn-light-success', 'handleUpdate@1', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1011, '角色删除', 101, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove', 'dash-square',
+    (1013, '角色删除', 101, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove', 'dash-square',
      'btn btn-light-danger', 'handleDelete@0', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1012, '角色导出', 101, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:role:export', 'cloud-download',
+    (1014, '角色导出', 101, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:role:export', 'cloud-download',
      'btn btn-light-info', 'handleExport', 100, 1, SYSDATE(), NULL, NULL, ''),
 
     (102, '菜单管理', 1, 3, 'menu', 'system/menu/index', '', 1, 0, 'C', '0', '0', 'system:menu', 'list', '', '', 100, 1,
      SYSDATE(), NULL, NULL, '菜单管理菜单'),
-    (1013, '菜单查询', 102, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:query', 'eye', '', '', 100, 1, SYSDATE(),
+    (1016, '菜单查询', 102, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:query', 'eye', '', '', 100, 1, SYSDATE(),
      NULL, NULL, ''),
-    (1014, '菜单新增', 102, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:add', 'plus-square',
+    (1017, '菜单新增', 102, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:add', 'plus-square',
      'btn btn-light-primary', 'handleCreate', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1015, '菜单修改', 102, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:edit', 'pencil-square',
+    (1018, '菜单修改', 102, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:edit', 'pencil-square',
      'btn btn-light-success', 'handleUpdate@1', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1016, '菜单删除', 102, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:remove', 'dash-square',
+    (1019, '菜单删除', 102, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:remove', 'dash-square',
      'btn btn-light-danger', 'handleDelete@0', 100, 1, SYSDATE(), NULL, NULL, ''),
 
     (103, '组织机构管理', 1, 4, 'org', 'system/org/index', '', 1, 0, 'C', '0', '0', 'system:org', 'card-list', '', '',
      100, 1, SYSDATE(), NULL, NULL, '组织机构管理菜单'),
-    (1017, '组织机构查询', 103, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:org:query', 'eye', '', '', 100, 1,
+    (1021, '组织机构查询', 103, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:org:query', 'eye', '', '', 100, 1,
      SYSDATE(), NULL, NULL, ''),
-    (1018, '组织机构新增', 103, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:org:add', 'plus-square',
+    (1022, '组织机构新增', 103, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:org:add', 'plus-square',
      'btn btn-light-primary', 'handleCreate', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1019, '组织机构修改', 103, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:org:edit', 'pencil-square',
+    (1023, '组织机构修改', 103, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:org:edit', 'pencil-square',
      'btn btn-light-success', 'handleUpdate@1', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1020, '组织机构删除', 103, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:org:remove', 'dash-square',
+    (1024, '组织机构删除', 103, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:org:remove', 'dash-square',
      'btn btn-light-danger', 'handleDelete@0', 100, 1, SYSDATE(), NULL, NULL, ''),
 
     (104, '岗位管理', 1, 5, 'post', 'system/post/index', '', 1, 0, 'C', '0', '0', 'system:post', 'file-person', '', '',
      100, 1, SYSDATE(), NULL, NULL, '岗位管理菜单'),
-    (1021, '岗位查询', 104, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:post:query', 'eye', '', '', 100, 1, SYSDATE(),
+    (1026, '岗位查询', 104, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:post:query', 'eye', '', '', 100, 1, SYSDATE(),
      NULL, NULL, ''),
-    (1022, '岗位新增', 104, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:post:add', 'plus-square',
+    (1027, '岗位新增', 104, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:post:add', 'plus-square',
      'btn btn-light-primary', 'handleCreate', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1023, '岗位修改', 104, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:post:edit', 'pencil-square',
+    (1028, '岗位修改', 104, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:post:edit', 'pencil-square',
      'btn btn-light-success', 'handleUpdate@1', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1024, '岗位删除', 104, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:post:remove', 'dash-square',
+    (1029, '岗位删除', 104, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:post:remove', 'dash-square',
      'btn btn-light-danger', 'handleDelete@0', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1025, '岗位导出', 104, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:post:export', 'cloud-download',
+    (1030, '岗位导出', 104, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:post:export', 'cloud-download',
      'btn btn-light-info', 'handleExport', 100, 1, SYSDATE(), NULL, NULL, ''),
 
     (105, '字典管理', 1, 6, 'dict', 'system/dict/index', '', 1, 0, 'C', '0', '0', 'system:dict', 'file-earmark-medical',
      '', '', 100, 1, SYSDATE(), NULL, NULL, '字典管理菜单'),
-    (1026, '字典查询', 105, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:query', 'eye', '', '', 100, 1, SYSDATE(),
+    (1032, '字典查询', 105, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:query', 'eye', '', '', 100, 1, SYSDATE(),
      NULL, NULL, ''),
-    (1027, '字典新增', 105, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:add', 'plus-square',
+    (1033, '字典新增', 105, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:add', 'plus-square',
      'btn btn-light-primary', 'handleCreate', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1028, '字典修改', 105, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:edit', 'pencil-square',
+    (1034, '字典修改', 105, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:edit', 'pencil-square',
      'btn btn-light-success', 'handleUpdate@1', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1029, '字典删除', 105, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:remove', 'dash-square',
+    (1035, '字典删除', 105, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:remove', 'dash-square',
      'btn btn-light-danger', 'handleDelete@0', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1030, '字典导出', 105, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:export', 'cloud-download',
+    (1036, '字典导出', 105, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:export', 'cloud-download',
      'btn btn-light-info', 'handleExport', 100, 1, SYSDATE(), NULL, NULL, ''),
 
-    (106, '参数设置', 1, 7, 'config', 'system/config/index', '', 1, 0, 'C', '0', '0', 'system:config', 'gear', '', '',
-     100, 1, SYSDATE(), NULL, NULL, '参数设置菜单'),
-    (1031, '参数查询', 106, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:query', 'eye', '', '', 100, 1,
+    (106, '系统配置', 1, 7, 'config', 'system/config/index', '', 1, 0, 'C', '0', '0', 'system:config', 'gear', '', '',
+     100, 1, SYSDATE(), NULL, NULL, '系统配置菜单'),
+    (1039, '系统配置查询', 106, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:query', 'eye', '', '', 100, 1,
      SYSDATE(), NULL, NULL, ''),
-    (1032, '参数新增', 106, 2, '#', '', '', 1, 1, 'F', '0', '0', 'system:config:add', 'plus-square',
+    (1040, '配置新增', 106, 2, '#', '', '', 1, 1, 'F', '0', '0', 'system:config:add', 'plus-square',
      'btn btn-light-primary', 'handleCreate', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1033, '参数修改', 106, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:edit', 'pencil-square',
+    (1041, '配置修改', 106, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:edit', 'pencil-square',
      'btn btn-light-success', 'handleUpdate@1', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1034, '参数删除', 106, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:remove', 'dash-square',
+    (1042, '配置删除', 106, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:remove', 'dash-square',
      'btn btn-light-danger', 'handleDelete@0', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1035, '参数导出', 106, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:export', 'cloud-download',
+    (1043, '配置导出', 106, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:export', 'cloud-download',
+     'btn btn-light-info', 'handleExport', 100, 1, SYSDATE(), NULL, NULL, ''),
+    (1044, '配置刷新', 106, 6, '#', '', '', 1, 0, 'F', '1', '0', 'system:config:refresh', 'cloud-download',
      'btn btn-light-info', 'handleExport', 100, 1, SYSDATE(), NULL, NULL, ''),
 
     (107, '通知公告', 1, 8, 'notice', 'system/notice/index', '', 1, 0, 'C', '0', '0', 'system:notice', 'bell', '', '',
      100, 1, SYSDATE(), NULL, NULL, '通知公告菜单'),
-    (1036, '公告查询', 107, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:query', 'eye', '', '', 100, 1,
+    (1046, '公告查询', 107, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:query', 'eye', '', '', 100, 1,
      SYSDATE(), NULL, NULL, ''),
-    (1037, '公告新增', 107, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:add', 'plus-square',
+    (1047, '公告新增', 107, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:add', 'plus-square',
      'btn btn-light-primary', 'handleCreate', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1038, '公告修改', 107, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:edit', 'pencil-square',
+    (1048, '公告修改', 107, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:edit', 'pencil-square',
      'btn btn-light-success', 'handleUpdate@1', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1039, '公告删除', 107, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:remove', 'dash-square',
+    (1049, '公告删除', 107, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:remove', 'dash-square',
      'btn btn-light-danger', 'handleDelete@0', 100, 1, SYSDATE(), NULL, NULL, ''),
 
     (108, '日志管理', 1, 9, 'log', '', '', 1, 0, 'M', '0', '0', '', 'file-earmark-medical', '', '', 100, 1, SYSDATE(),
      NULL, NULL, '日志管理菜单'),
     (109, '操作日志', 108, 1, 'operLog', 'system/log/operLog', '', 1, 0, 'C', '0', '0', 'system:operLog',
      'file-earmark-easel', '', '', 100, 1, SYSDATE(), NULL, NULL, '操作日志菜单'),
-    (1040, '操作查询', 109, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:operLog:query', 'eye', '', '', 100, 1,
+    (1054, '操作查询', 109, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:operLog:query', 'eye', '', '', 100, 1,
      SYSDATE(), NULL, NULL, ''),
-    (1041, '操作删除', 109, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:operLog:remove', 'dash-square',
+    (1052, '操作删除', 109, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:operLog:remove', 'dash-square',
      'btn btn-light-danger', 'handleDelete@0', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1042, '日志导出', 109, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:operLog:export', 'cloud-download',
+    (1053, '日志导出', 109, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:operLog:export', 'cloud-download',
      'btn btn-light-info', 'handleExport', 100, 1, SYSDATE(), NULL, NULL, ''),
 
     (110, '登录日志', 108, 2, 'loginLog', 'system/log/loginLog', '', 1, 0, 'C', '0', '0', 'system:loginLog',
      'file-earmark-person', '', '', 100, 1, SYSDATE(), NULL, NULL, '登录日志菜单'),
-    (1043, '登录查询', 110, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:loginLog:query', 'eye', '', '', 100, 1,
+    (1054, '登录查询', 110, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:loginLog:query', 'eye', '', '', 100, 1,
      SYSDATE(), NULL, NULL, ''),
-    (1044, '账户解锁', 110, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:loginLog:unlock', 'unlock-fill',
+    (1055, '账户解锁', 110, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:loginLog:unlock', 'unlock-fill',
      'btn btn-light-primary', 'handleUnlock@1', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1045, '删除日志', 110, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:loginLog:remove', 'dash-square',
+    (1056, '删除日志', 110, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:loginLog:remove', 'dash-square',
      'btn btn-light-danger', 'handleDelete@0', 100, 1, SYSDATE(), NULL, NULL, ''),
-    (1046, '日志导出', 110, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:loginLog:export', 'cloud-download',
+    (1057, '日志导出', 110, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:loginLog:export', 'cloud-download',
      'btn btn-light-info', 'handleExport', 100, 1, SYSDATE(), NULL, NULL, ''),
 
     (111, '文件管理', 1, 10, 'oss', 'system/oss/index', '', 1, 0, 'C', '0', '0', 'system:oss', 'file-earmark-post', '',
@@ -884,8 +886,12 @@ VALUES (1, '000000', '管理组', '15888888888', 'XXX有限公司', NULL, NULL,
 -- 初始化-用户和角色关联表数据
 -- ----------------------------
 INSERT INTO sys_user_role (user_id, role_id)
-VALUES ('1', '1'),
-       (2, '1');
+VALUES (1, '1'),
+       (2, '1'),
+       (1, '2'),
+       (2, '2'),
+       (3, '2'),
+       (4, '2');
 
 -- ----------------------------
 -- 初始化-角色和菜单关联表数据

+ 7 - 0
SERVER/VberAdminPlusV3/.script/sql/flow.sql

@@ -368,6 +368,13 @@ VALUES (4, '工作流', 0, 4, 'workflow', '', '', '1', '0', 'M', '0', '0', '', '
        (164, '我的抄送', 5, 4, 'taskCopyList', 'workflow/task/taskCopyList', '', '1', '1', 'C', '1', '0',
         'workflow:task:copy', 'person-fill-up', '', '', 100, 1, SYSDATE(), NULL, NULL, '');
 
+INSERT INTO sys_role_menu(role_id, menu_id)  VALUES
+       (2, 5),
+       (2, 161),
+       (2, 162),
+       (2, 163),
+       (2, 164);
+
 -- 请假申请菜单
 INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
                      status, perms, icon, btn_class, btn_script, create_org, create_by, create_time, update_by,

+ 23 - 23
SERVER/VberAdminPlusV3/vber-modules/vber-system/src/main/java/com/vber/system/controller/system/SysConfigController.java

@@ -21,7 +21,7 @@ import java.util.Arrays;
 import java.util.List;
 
 /**
- * 参数配置 信息操作处理
+ * 系统配置 信息操作处理
  *
  * @author Iwb
  */
@@ -34,7 +34,7 @@ public class SysConfigController extends BaseController {
     private final ISysConfigService configService;
 
     /**
-     * 获取参数配置列表
+     * 获取系统配置列表
      */
     @SaCheckPermission("system:config")
     @GetMapping("/list")
@@ -43,20 +43,20 @@ public class SysConfigController extends BaseController {
     }
 
     /**
-     * 导出参数配置列表
+     * 导出系统配置列表
      */
-    @Log(title = "参数管理", businessType = BusinessType.EXPORT)
+    @Log(title = "配置管理", businessType = BusinessType.EXPORT)
     @SaCheckPermission("system:config:export")
     @PostMapping("/export")
     public void export(SysConfigBo config, HttpServletResponse response) {
         List<SysConfigVo> list = configService.selectConfigList(config);
-        ExcelUtil.exportExcel(list, "参数数据", SysConfigVo.class, response);
+        ExcelUtil.exportExcel(list, "配置数据", SysConfigVo.class, response);
     }
 
     /**
-     * 根据参数编号获取详细信息
+     * 根据配置编号获取详细信息
      *
-     * @param configId 参数ID
+     * @param configId 配置ID
      */
     @SaCheckPermission("system:config:query")
     @GetMapping(value = "/{configId}")
@@ -65,9 +65,9 @@ public class SysConfigController extends BaseController {
     }
 
     /**
-     * 根据参数键名查询参数
+     * 根据配置键名查询配置
      *
-     * @param configKey 参数Key
+     * @param configKey 配置Key
      */
     @GetMapping(value = "/configKey/{configKey}")
     public R<String> getConfigKey(@PathVariable String configKey) {
@@ -75,41 +75,41 @@ public class SysConfigController extends BaseController {
     }
 
     /**
-     * 新增参数配置
+     * 新增系统配置
      */
     @RepeatSubmit()
     @SaCheckPermission("system:config:add")
-    @Log(title = "参数管理", businessType = BusinessType.INSERT)
+    @Log(title = "配置管理", businessType = BusinessType.INSERT)
     @PostMapping
     public R<Void> add(@Validated @RequestBody SysConfigBo config) {
         if (!configService.checkConfigKeyUnique(config)) {
-            return R.fail("新增参数'" + config.getConfigName() + "'失败,参数键名已存在");
+            return R.fail("新增配置'" + config.getConfigName() + "'失败,配置键名已存在");
         }
         configService.insertConfig(config);
         return R.ok();
     }
 
     /**
-     * 修改参数配置
+     * 修改系统配置
      */
     @RepeatSubmit()
     @SaCheckPermission("system:config:edit")
-    @Log(title = "参数管理", businessType = BusinessType.UPDATE)
+    @Log(title = "配置管理", businessType = BusinessType.UPDATE)
     @PutMapping
     public R<Void> edit(@Validated @RequestBody SysConfigBo config) {
         if (!configService.checkConfigKeyUnique(config)) {
-            return R.fail("修改参数'" + config.getConfigName() + "'失败,参数键名已存在");
+            return R.fail("修改配置'" + config.getConfigName() + "'失败,配置键名已存在");
         }
         configService.updateConfig(config);
         return R.ok();
     }
 
     /**
-     * 根据参数键名修改参数配置
+     * 根据配置键名修改系统配置
      */
     @RepeatSubmit()
     @SaCheckPermission("system:config:edit")
-    @Log(title = "参数管理", businessType = BusinessType.UPDATE)
+    @Log(title = "配置管理", businessType = BusinessType.UPDATE)
     @PutMapping("/updateByKey")
     public R<Void> updateByKey(@RequestBody SysConfigBo config) {
         configService.updateConfig(config);
@@ -117,12 +117,12 @@ public class SysConfigController extends BaseController {
     }
 
     /**
-     * 删除参数配置
+     * 删除系统配置
      *
-     * @param configIds 参数ID串
+     * @param configIds 配置ID串
      */
     @SaCheckPermission("system:config:remove")
-    @Log(title = "参数管理", businessType = BusinessType.DELETE)
+    @Log(title = "配置管理", businessType = BusinessType.DELETE)
     @DeleteMapping("/{configIds}")
     public R<Void> remove(@PathVariable Long[] configIds) {
         configService.deleteConfigByIds(Arrays.asList(configIds));
@@ -130,10 +130,10 @@ public class SysConfigController extends BaseController {
     }
 
     /**
-     * 刷新参数缓存
+     * 刷新配置缓存
      */
-    @SaCheckPermission("system:config:remove")
-    @Log(title = "参数管理", businessType = BusinessType.CLEAN)
+    @SaCheckPermission("system:config:refresh")
+    @Log(title = "配置管理", businessType = BusinessType.CLEAN)
     @DeleteMapping("/refreshCache")
     public R<Void> refreshCache() {
         configService.resetConfigCache();

+ 5 - 1
SERVER/VberAdminPlusV3/vber-modules/vber-system/src/main/java/com/vber/system/controller/system/SysDictTypeController.java

@@ -42,6 +42,11 @@ public class SysDictTypeController extends BaseController {
         return dictTypeService.selectPageDictTypeList(dictType, pageQuery);
     }
 
+    @GetMapping("/listAll")
+    public R<List<SysDictTypeVo>> getAllDictType() {
+        return R.ok(dictTypeService.selectDictTypeAll());
+    }
+
     /**
      * 导出字典类型列表
      */
@@ -111,7 +116,6 @@ public class SysDictTypeController extends BaseController {
      * 刷新字典缓存
      */
     @RepeatSubmit()
-    @SaCheckPermission("system:dict:remove")
     @Log(title = "字典类型", businessType = BusinessType.CLEAN)
     @DeleteMapping("/refreshCache")
     public R<Void> refreshCache() {

+ 6 - 0
SERVER/VberAdminPlusV3/vber-modules/vber-workflow/src/main/java/com/vber/workflow/controller/FlwCategoryController.java

@@ -47,6 +47,12 @@ public class FlwCategoryController extends BaseController {
         return R.ok(list);
     }
 
+    @GetMapping("/listAll")
+    public R<List<FlowCategoryVo>> list() {
+        List<FlowCategoryVo> list = flwCategoryService.queryList(new FlowCategoryBo());
+        return R.ok(list);
+    }
+
     /**
      * 导出流程分类列表
      */

+ 13 - 17
SERVER/VberAdminPlusV3/vber-modules/vber-workflow/src/main/java/com/vber/workflow/controller/FlwInstanceController.java

@@ -1,5 +1,7 @@
 package com.vber.workflow.controller;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.convert.Convert;
 import com.vber.common.core.domain.R;
 import com.vber.common.core.utils.StreamUtils;
 import com.vber.common.idempotent.annotation.RepeatSubmit;
@@ -15,9 +17,6 @@ import com.vber.workflow.domain.bo.FlowInvalidBo;
 import com.vber.workflow.domain.bo.FlowVariableBo;
 import com.vber.workflow.domain.vo.FlowInstanceVo;
 import com.vber.workflow.service.IFlwInstanceService;
-
-import cn.dev33.satoken.annotation.SaCheckPermission;
-import cn.hutool.core.convert.Convert;
 import lombok.RequiredArgsConstructor;
 import org.dromara.warm.flow.core.service.InsService;
 import org.springframework.validation.annotation.Validated;
@@ -48,7 +47,6 @@ public class FlwInstanceController extends BaseController {
      * @param pageQuery      分页
      */
     @GetMapping("/pageByRunning")
-    @SaCheckPermission("workflow:instance:list:query")
     public TableDataInfo<FlowInstanceVo> selectRunningInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
         return flwInstanceService.selectRunningInstanceList(flowInstanceBo, pageQuery);
     }
@@ -60,18 +58,27 @@ public class FlwInstanceController extends BaseController {
      * @param pageQuery      分页
      */
     @GetMapping("/pageByFinish")
-    @SaCheckPermission("workflow:instance:query")
     public TableDataInfo<FlowInstanceVo> selectFinishInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
         return flwInstanceService.selectFinishInstanceList(flowInstanceBo, pageQuery);
     }
 
+    /**
+     * 获取当前登陆人发起的流程实例
+     *
+     * @param flowInstanceBo 参数
+     * @param pageQuery      分页
+     */
+    @GetMapping("/pageByCurrent")
+    public TableDataInfo<FlowInstanceVo> selectCurrentInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
+        return flwInstanceService.selectCurrentInstanceList(flowInstanceBo, pageQuery);
+    }
+
     /**
      * 根据业务id查询流程实例详细信息
      *
      * @param businessId 业务id
      */
     @GetMapping("/getInfo/{businessId}")
-    @SaCheckPermission("workflow:instance:query")
     public R<FlowInstanceVo> getInfo(@PathVariable Long businessId) {
         return R.ok(flwInstanceService.queryByBusinessId(businessId));
     }
@@ -139,17 +146,6 @@ public class FlwInstanceController extends BaseController {
         return R.ok(active ? insService.active(id) : insService.unActive(id));
     }
 
-    /**
-     * 获取当前登陆人发起的流程实例
-     *
-     * @param flowInstanceBo 参数
-     * @param pageQuery      分页
-     */
-    @GetMapping("/pageByCurrent")
-    @SaCheckPermission("workflow:instance:query")
-    public TableDataInfo<FlowInstanceVo> selectCurrentInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
-        return flwInstanceService.selectCurrentInstanceList(flowInstanceBo, pageQuery);
-    }
 
     /**
      * 获取流程图,流程记录

+ 6 - 0
UI/VAP_V3.VUE/src/api/system/_dict.ts

@@ -12,6 +12,12 @@ class dictApi {
 			loading: false
 		})
 	}
+	listAllType = () => {
+		return Rs.get({
+			url: "/system/dict/type/listAll",
+			loading: false
+		})
+	}
 
 	// 查询字典类型
 	getTypes = () => {

+ 63 - 58
UI/VAP_V3.VUE/src/api/workflow/_category.ts

@@ -1,68 +1,73 @@
-import Rs from '@/core/services/RequestService'
+import Rs from "@/core/services/RequestService"
 
 class categoryApi {
-    tableUrl = "/workflow/category/list"
-    exportUrl = "/workflow/category/export"
+	tableUrl = "/workflow/category/list"
+	exportUrl = "/workflow/category/export"
 
-    // 查询流程分类列表
-    list = (query: any) => {
-        return Rs.get({
-            url: '/workflow/category/list',
-            params: query,
-            loading: false
-        })
-    }
+	// 查询流程分类列表
+	list = (query: any) => {
+		return Rs.get({
+			url: "/workflow/category/list",
+			params: query,
+			loading: false
+		})
+	}
+	listAll = () => {
+		return Rs.get({
+			url: "/workflow/category/listAll",
+			loading: false
+		})
+	}
 
-    // 查询流程分类详细
-    get = (categoryId: string) => {
-        return Rs.get({
-            url: '/workflow/category/' + categoryId,
-            loading: false
-        })
-    }
+	// 查询流程分类详细
+	get = (categoryId: string) => {
+		return Rs.get({
+			url: "/workflow/category/" + categoryId,
+			loading: false
+		})
+	}
 
-    // 新增或修改流程分类
-    addOrUpdate = (data: any) => {
-        return new Promise((resolve) => {
-            if (data.categoryId) {
-                this.update(data).then((res: any) => {
-                    message.msgSuccess("修改成功")
-                    resolve(res)
-                })
-            } else {
-                this.add(data).then((res: any) => {
-                    message.msgSuccess("新增成功")
-                    resolve(res)
-                })
-            }
-        })
-    }
+	// 新增或修改流程分类
+	addOrUpdate = (data: any) => {
+		return new Promise((resolve) => {
+			if (data.categoryId) {
+				this.update(data).then((res: any) => {
+					message.msgSuccess("修改成功")
+					resolve(res)
+				})
+			} else {
+				this.add(data).then((res: any) => {
+					message.msgSuccess("新增成功")
+					resolve(res)
+				})
+			}
+		})
+	}
 
-    // 新增流程分类
-    add = (data: any) => {
-        return Rs.post({
-            url: '/workflow/category',
-            data: data,
-            successAlert: false,
-        })
-    }
+	// 新增流程分类
+	add = (data: any) => {
+		return Rs.post({
+			url: "/workflow/category",
+			data: data,
+			successAlert: false
+		})
+	}
 
-    // 修改流程分类
-    update = (data: any) => {
-        return Rs.put({
-            url: '/workflow/category',
-            data: data,
-            successAlert: false,
-        })
-    }
-
-    // 删除流程分类
-    del = (id: string | string[]) => {
-        return Rs.del({
-            url: '/workflow/category/' + id,
-        })
-    }
+	// 修改流程分类
+	update = (data: any) => {
+		return Rs.put({
+			url: "/workflow/category",
+			data: data,
+			successAlert: false
+		})
+	}
 
+	// 删除流程分类
+	del = (id: string | string[]) => {
+		return Rs.del({
+			url: "/workflow/category/" + id
+		})
+	}
 }
 
-export default categoryApi
+export default categoryApi

+ 1 - 1
UI/VAP_V3.VUE/src/components/process/SubmitVerify.vue

@@ -538,7 +538,7 @@ defineExpose({
 	<UserSelect
 		ref="popUserRef"
 		:multiple="true"
-		:data="form.assigneeMap[nodeCode]"
+		:data="form?.assigneeMap?.[nodeCode]"
 		:userIds="popUserIds"
 		@confirm="handlePopUser"></UserSelect>
 	<!-- 加签组件 -->

+ 10 - 3
UI/VAP_V3.VUE/src/layouts/main/header/navbar/UserAccountMenu.vue

@@ -9,6 +9,10 @@ const dynamic = computed(() => {
 	return appStore.tenantStore.isDynamic()
 })
 
+const workflow = computed(() => {
+	return appStore.appConfigStore.isWorkflow()
+})
+
 function clearCache() {
 	appStore.dictStore.cleanDict().then(() => {
 		message.msgSuccess("清除成功")
@@ -79,8 +83,11 @@ function signOut() {
 					<span class="menu-title">我的通知</span>
 				</router-link>
 			</div>
-			<div class="separator my-2"></div>
-			<VbWorkflow />
+			<template v-if="workflow" v-hasPermission="'workflow:task:1234'">
+				<div class="separator my-2"></div>
+				<VbWorkflow />
+			</template>
+
 			<div class="separator my-2"></div>
 			<div class="menu-item">
 				<span @click="clearCache" class="menu-link px-5">
@@ -90,7 +97,7 @@ function signOut() {
 					<span class="menu-title">清除缓存</span>
 				</span>
 			</div>
-			<div class="menu-item">
+			<div class="menu-item" v-has-permission="'system:config:refresh'">
 				<span @click="refreshConfig" class="menu-link px-5">
 					<span class="menu-icon">
 						<VbIcon icon-name="arrows-circle" icon-type="duotone" class="me-2 fs-3"></VbIcon>

+ 1 - 12
UI/VAP_V3.VUE/src/layouts/main/header/navbar/UserSubMenuWorkflow.vue

@@ -1,16 +1,5 @@
-<script setup lang="ts">
-import appStore from "@s"
-
-const workflow = computed(() => {
-	return appStore.appConfigStore.isWorkflow()
-})
-</script>
 <template>
-	<div
-		v-if="workflow"
-		class="menu-item"
-		data-vb-menu-trigger="hover"
-		data-vb-menu-placement="left-start">
+	<div class="menu-item" data-vb-menu-trigger="hover" data-vb-menu-placement="left-start">
 		<span class="menu-link px-5">
 			<span class="menu-icon">
 				<VbIcon icon-name="calendar" icon-type="duotone" class="me-2 fs-3"></VbIcon>

+ 1 - 0
UI/VAP_V3.VUE/src/stores/_auth.ts

@@ -53,6 +53,7 @@ export const useAuthStore = defineStore("auth", () => {
 	}
 	const purgeAuth = () => {
 		isAuthenticated.value = false
+		appStore.menuStore.clearMenu()
 		appStore.tagViewStore.delAllViews()
 		appStore.bodyConfigStore.resetLayoutConfig()
 		appStore.tenantStore.setTenantId("")

+ 2 - 3
UI/VAP_V3.VUE/src/stores/_dict.ts

@@ -79,10 +79,9 @@ export const useDictStore = defineStore("dict", () => {
 		if (dictArr.value && dictArr.value.length > 0) {
 			return
 		}
-		apis.system.dictApi.listType({ pageSize: 10000, pageNum: 1 }).then((res: any) => {
-			console.log("DICTS", res)
+		apis.system.dictApi.listAllType().then((res: any) => {
 			if (res.code == 200) {
-				res.rows.forEach((v: any) => {
+				res.data.forEach((v: any) => {
 					getDict(v.dictType)
 				})
 			}

+ 35 - 24
UI/VAP_V3.VUE/src/stores/_menu.ts

@@ -32,33 +32,36 @@ export const useMenuStore = defineStore("menu", () => {
 				resolve(routes.value)
 				return
 			}
-			apis.loginApi.getRouters().then((res: any) => {
-				routes.value = []
-				sidebarMenus.value = []
-				const menuList = filterMenus(res.data)
-				filterMenuItems(menuList)
-				const rewriteRoutes = filterRoutes(menuList)
-				setRoutes(rewriteRoutes)
-				console.log("ROUTER", rewriteRoutes)
-				// const asyncRoutes = filterDynamicRoutes(dynamicRoutes)
-				rewriteRoutes.forEach((route: RouteRecordRaw) => {
-					if (!isHttp(route.path)) {
-						try {
-							router.addRoute(route) // 动态添加可访问路由表
-						} catch (error) {
-							if (!route.path.startsWith("/")) {
-								route.path = "/" + route.path
-								router.addRoute(route)
-							} else {
-								console.error(error)
+			apis.loginApi
+				.getRouters()
+				.then((res: any) => {
+					routes.value = []
+					sidebarMenus.value = []
+					const menuList = filterMenus(res.data)
+					filterMenuItems(menuList)
+					const rewriteRoutes = filterRoutes(menuList)
+					setRoutes(rewriteRoutes)
+					console.log("ROUTER", rewriteRoutes)
+					// const asyncRoutes = filterDynamicRoutes(dynamicRoutes)
+					rewriteRoutes.forEach((route: RouteRecordRaw) => {
+						if (!isHttp(route.path)) {
+							try {
+								router.addRoute(route) // 动态添加可访问路由表
+							} catch (error) {
+								if (!route.path.startsWith("/")) {
+									route.path = "/" + route.path
+									router.addRoute(route)
+								} else {
+									console.error(error)
+								}
 							}
 						}
-					}
+					})
+					router.addRoute(to404)
+					isRoutesGenerated.value = true // 标记为已生成
+					resolve(rewriteRoutes)
 				})
-				router.addRoute(to404)
-				isRoutesGenerated.value = true // 标记为已生成
-				resolve(rewriteRoutes)
-			}).catch(reject)
+				.catch(reject)
 		})
 	}
 
@@ -257,10 +260,18 @@ export const useMenuStore = defineStore("menu", () => {
 	function checkBootstrapIcon(name: string) {
 		return Object.keys(icons).includes(name)
 	}
+	function clearMenu() {
+		menus.value = []
+		sidebarMenus.value = []
+		routes.value = []
+		isRoutesGenerated.value = false
+	}
+
 	return {
 		getRoutes,
 		getSidebarMenus,
 		generateRoutes,
+		clearMenu,
 		isRoutesGenerated
 	}
 })

+ 1 - 1
UI/VAP_V3.VUE/src/views/workflow/task/myDocument.vue

@@ -174,7 +174,7 @@ function onCategoryChange(data: any) {
 function getCategoryTreeSelect() {
 	categoryOptions.value = []
 	return new Promise((resolve, reject) => {
-		apis.workflow.categoryApi.list({}).then((res) => {
+		apis.workflow.categoryApi.listAll().then((res) => {
 			//categoryOptions.value = [{ categoryId: "ALL", categoryName: "顶级节点", children: [] }]
 			let data = []
 			if (res.data && res.data.length > 0) {