From 1533c82a4e4fbfc73846a5837b13a1c13ab30467 Mon Sep 17 00:00:00 2001 From: From-wh Date: Tue, 25 Apr 2023 18:03:55 +0800 Subject: [PATCH] =?UTF-8?q?improve:=20=E6=9D=83=E9=99=90=E8=A7=84=E5=88=99?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- template/admin/src/api/systemMenus.js | 14 +- template/admin/src/libs/system/index.js | 18 +++ .../src/pages/setting/systemMenus/index.vue | 128 +++++++++++++----- 3 files changed, 122 insertions(+), 38 deletions(-) diff --git a/template/admin/src/api/systemMenus.js b/template/admin/src/api/systemMenus.js index cdffd02e1..7280f1e96 100644 --- a/template/admin/src/api/systemMenus.js +++ b/template/admin/src/api/systemMenus.js @@ -99,9 +99,9 @@ export function isShowApi(data) { /** * @description 权限列表 */ -export function getRuleList() { +export function getRuleList(cate_id) { return request({ - url: `/setting/ruleList`, + url: `/setting/ruleList?cate_id=${cate_id}`, method: 'get', }); } @@ -115,3 +115,13 @@ export function menusBatch(data) { data, }); } + +/** + * @description 权限分类树列表 + */ +export function menusRuleCate(data) { + return request({ + url: `setting/rule_cate`, + method: 'get', + }); +} diff --git a/template/admin/src/libs/system/index.js b/template/admin/src/libs/system/index.js index d18001d2d..cd45bcf25 100644 --- a/template/admin/src/libs/system/index.js +++ b/template/admin/src/libs/system/index.js @@ -224,6 +224,24 @@ export const findFirstNonNullChildren = (arr) => { return null; }; +export const findFirstNonNullChildrenKeys = (obj, lastArr) => { + let ids = lastArr; + console.log(ids); + // 如果第一个对象没有children属性,返回该对象 + if (!obj.children) { + ids.push(obj.id); + console.log(ids); + return ids; + } + // 如果第一个对象的children属性是数组, + // 递归查找children属性中的第一个非null children属性 + if (Array.isArray(obj.children)) { + ids.push(obj.id); + return findFirstNonNullChildrenKeys(obj.children[0], ids); + } + return ids; +}; + // 多级嵌套数组处理成一维数组 export const formatFlatteningRoutes = (arr) => { if (arr.length <= 0) return false; diff --git a/template/admin/src/pages/setting/systemMenus/index.vue b/template/admin/src/pages/setting/systemMenus/index.vue index b6b2ef7b9..ac61135b8 100644 --- a/template/admin/src/pages/setting/systemMenus/index.vue +++ b/template/admin/src/pages/setting/systemMenus/index.vue @@ -63,7 +63,7 @@ -