From 029d665c0ff8f5863f35d65264f15499e9f15441 Mon Sep 17 00:00:00 2001 From: duyufeng Date: Wed, 28 Aug 2024 08:57:32 +0800 Subject: [PATCH] =?UTF-8?q?op=E7=AB=AF=E4=BC=81=E4=B8=9A=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E6=9D=83=E9=99=90=E6=A0=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organizationManage/enterpriseManage/index.vue | 68 ++++++++++++++++++++-- .../systemManage/systemMenu/editSystemMenu.vue | 3 - 2 files changed, 64 insertions(+), 7 deletions(-) diff --git a/hx-op/src/view/organizationManage/enterpriseManage/index.vue b/hx-op/src/view/organizationManage/enterpriseManage/index.vue index ec375bb..68de6e3 100644 --- a/hx-op/src/view/organizationManage/enterpriseManage/index.vue +++ b/hx-op/src/view/organizationManage/enterpriseManage/index.vue @@ -32,7 +32,7 @@ v-model:value="searchValue" style="margin-bottom: 8px" @search="onSearch" /> --> - + @@ -82,9 +82,10 @@ const comApi = computed(() => { return calMap[opType.value as keyof typeof calMap]; }); - // 公共请求方法,包含tablereload,drawerclose const fetch = (params, isReload = true) => { + console.log(params) + console.log(comApi.value) http.post(comApi.value, params).then(() => { NsMessage.success('操作成功'); onClose(); @@ -197,10 +198,61 @@ // 获取服务权限树 const getTree = (params) => { return http.post(enterPrise.permissionTree, params).then((res) => { - treeData.value = res.data?.data; + // treeData.value = res.data?.data; + let dataTreeList = res.data?.data; + let getDataTreeList = dataTreeListReply(dataTreeList) + treeData.value = filterTreeData(getDataTreeList); }); }; - getTree({}); + // 递归处理权限树数据(将子级为空的节点增加“hidden"标识) + const dataTreeListReply =(data:any)=>{ + return data.map(item => { + if (item.menus && item.menus.length > 0) { + return { + ...item, + menus: dataTreeListReply(item.menus), + }; + } + if (item.menus && item.menus.length == 0) { + item.hidden = true; + } + return item; + }); + } + //递归处理服务权限树数据(将子级menus为空的节点隐藏) + const filterTreeData = (data:any) => { + return data.map(item => { + //方法一:给子节点menus为空的当前节点增加样式控制显示隐藏 + if (item.menus && item.menus.length > 0) { + item.menus.map(itemchild=>{ + if(itemchild.menus && itemchild.menus.length==0){ + item.class = 'parentNodeArrowHide'; + } + }) + return { + ...item, + menus: filterTreeData(item.menus), + }; + }else{ + if(item.hidden){ + item.class = 'leafNodeHide'; + } + } + return item; + }) + //方法二:递归过滤掉滤掉hidden的节点 + // return data.filter(item => !item.hidden).map(item => { + // if (item.menus) { + // return { + // ...item, + // menus: filterTreeData(item.menus), + // }; + // } + // return item; + // }); + } + + getTree({}) // 获取当前企业拥有的权限数据 const getPermissionData = (params) => { @@ -354,3 +406,11 @@ } } + diff --git a/hx-op/src/view/systemManage/systemMenu/editSystemMenu.vue b/hx-op/src/view/systemManage/systemMenu/editSystemMenu.vue index 839ea88..d1b5bb2 100644 --- a/hx-op/src/view/systemManage/systemMenu/editSystemMenu.vue +++ b/hx-op/src/view/systemManage/systemMenu/editSystemMenu.vue @@ -164,7 +164,6 @@ }; //菜单类型按钮切换 const chanageMenuType = (e:any,typeMenu:any)=>{ - console.log(e) let currentType = null; if(e && e.target){ currentType = e.target.value; @@ -246,8 +245,6 @@ if(menuRadioType.value==1){ params.pid = currentLineData.value?currentLineData.value.pid:"root";//一级菜单pid,传'root' } - console.log("1234567777") - console.log(menuRadioType.value) if(addOrEditType.value==1){//新增 http.post(menuS.queryMenuPageAdd, params).then(() => { NsMessage.success('操作成功');