From a4ca216c5b215f323b3c439b2f445dad72bbfce1 Mon Sep 17 00:00:00 2001 From: zhangxiao <898441624@qq.com> Date: 星期一, 26 八月 2024 16:44:31 +0800 Subject: [PATCH] fix: 修改bug --- src/views/authority/role/index.vue | 36 ++++++++++++++++++++++++++++++++++-- 1 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/views/authority/role/index.vue b/src/views/authority/role/index.vue index fd2223e..9f38faf 100644 --- a/src/views/authority/role/index.vue +++ b/src/views/authority/role/index.vue @@ -140,6 +140,7 @@ class="tree-demo" v-model:checked-keys="checkedKeysMenu" v-model:expanded-keys="expandKdysMenu" + :only-check-leaf=true :checkable="true" :data="treeDataMenu" @check="onCheckMenu" @@ -284,6 +285,8 @@ import Authheader from '@/views/authority/components/authheader.vue'; import router from "@/router"; import { queryCanvasList } from "@/api/Agent"; + import { getUserInfo, getUserResources } from "@/utils/auth"; + import { forEach } from "lodash"; let treeDataMenu = ref([]); let checkedKeysMenu = ref([]); @@ -594,6 +597,7 @@ checkStrictlyKnowledge.value = []; checkedKeysKnowledge.value = []; checkStrictlyDialog.value = []; + checkStrictlyAgent.value = []; checkedKeysDialog.value = []; selectRole.value = record; if (record.resources) { @@ -666,18 +670,46 @@ }; + let userResources = JSON.parse(getUserResources()); + const isExist = (val): boolean => { + let isok = false; + userResources.forEach((r) => { + if (val == r.menuId) { + isok = true; + } + }); + return isok; + }; + const removeChild = (nodes,newT) => { + nodes.forEach((child) => { + if (isExist(child.menuId)){ + newT.push(child); + let nt = []; + if (child.children?.length > 0) { + removeChild(child.children, nt); + child.children = nt; + } + } + }); + }; + const MenuData = async (key) => { await ResourceList(key).then((res) => { + let newTree = []; + let u =JSON.parse(getUserInfo()); + if (u.role != "admin") { + removeChild(res.rows, newTree); + } treeDataMenu.value = [...res.rows]; }); }; KnowledgeList().then((res) => { - knowledgeList.value = res.rows; + knowledgeList.value = res.data; }); DialogList().then((res) => { - DialogsList.value = res.rows; + DialogsList.value = res.data; }); queryCanvasList(null).then((canvas) => { AgentList= canvas.data -- Gitblit v1.8.0