yjwang 2 天之前
父節點
當前提交
7bb8663325
共有 2 個文件被更改,包括 29 次插入8 次删除
  1. 16 0
      src/api/company/companyMenu.js
  2. 13 8
      src/views/company/companyRole/index.vue

+ 16 - 0
src/api/company/companyMenu.js

@@ -33,6 +33,22 @@ export function roleMenuTreeselect(roleId) {
   })
 }
 
+// 平台角色权限菜单树(管理员须绑定 is_admin=1,否则空)
+export function platformPermTreeselect() {
+  return request({
+    url: '/company/companyMenu/platformPermTreeselect',
+    method: 'get'
+  })
+}
+
+// 平台角色权限菜单列表(管理员须绑定 is_admin=1,否则空)
+export function platformPermMenus() {
+  return request({
+    url: '/company/companyMenu/platformPermMenus',
+    method: 'get'
+  })
+}
+
 // 新增菜单
 export function addMenu(data) {
   return request({

+ 13 - 8
src/views/company/companyRole/index.vue

@@ -228,7 +228,7 @@
 
 <script>
 import { listRole, getRole, delRole, addRole, updateRole, exportRole, dataScope, changeRoleStatus } from "@/api/company/companyRole";
-import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/company/companyMenu";
+import { platformPermTreeselect, roleMenuTreeselect } from "@/api/company/companyMenu";
 import { treeselect as deptTreeselect, roleDeptTreeselect } from "@/api/company/companyDept";
 
 export default {
@@ -335,10 +335,10 @@ export default {
         }
       );
     },
-    /** 查询菜单树结构 */
+    /** 查询菜单树结构(平台角色权限:须绑定 is_admin=1,否则空) */
     getMenuTreeselect() {
-      menuTreeselect().then(response => {
-        this.menuOptions = response.data;
+      platformPermTreeselect().then(response => {
+        this.menuOptions = response.data || [];
       });
     },
     /** 查询部门树结构 */
@@ -365,11 +365,16 @@ export default {
       checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);
       return checkedKeys;
     },
-    /** 根据角色ID查询菜单树结构 */
+    /** 根据角色ID查询菜单树结构(菜单树走平台权限新接口,勾选回显仍取角色已分配菜单) */
     getRoleMenuTreeselect(roleId) {
-      return roleMenuTreeselect(roleId).then(response => {
-        this.menuOptions = response.menus;
-        return response;
+      return Promise.all([
+        platformPermTreeselect(),
+        roleMenuTreeselect(roleId)
+      ]).then(([permRes, roleRes]) => {
+        this.menuOptions = (permRes && permRes.data) ? permRes.data : [];
+        return {
+          checkedKeys: (roleRes && roleRes.checkedKeys) ? roleRes.checkedKeys : []
+        };
       });
     },
     /** 根据角色ID查询部门树结构 */