From fd15b2a99a4ebd476a54671c560b3a89f69b621e Mon Sep 17 00:00:00 2001 From: zhangxiao <898441624@qq.com> Date: 星期二, 27 八月 2024 10:26:42 +0800 Subject: [PATCH] feat: 修改bug --- src/views/authority/role/index.vue | 42 +++++++++++++++++++++++++++++++++++++----- 1 files changed, 37 insertions(+), 5 deletions(-) diff --git a/src/views/authority/role/index.vue b/src/views/authority/role/index.vue index ab8fd8a..a3b1cc1 100644 --- a/src/views/authority/role/index.vue +++ b/src/views/authority/role/index.vue @@ -93,7 +93,7 @@ @click="operation(4, record)" >瑙掕壊鏉冮檺</a-button> <a-popconfirm - content="Are you sure you want to delete?" + content="璇风‘璁ゆ槸鍚﹀垹闄わ紵" type="success" @ok="operation(3, record)" > @@ -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([]); @@ -335,6 +338,7 @@ let resourcevisible = ref(false); let selectRole = ref({}); + let u =JSON.parse(getUserInfo()); const eachChildrenAdd=(node)=>{ if (node.children?.length > 0) { @@ -594,6 +598,7 @@ checkStrictlyKnowledge.value = []; checkedKeysKnowledge.value = []; checkStrictlyDialog.value = []; + checkStrictlyAgent.value = []; checkedKeysDialog.value = []; selectRole.value = record; if (record.resources) { @@ -666,18 +671,45 @@ }; + 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 = []; + if (u.role != "admin") { + removeChild(res.rows, newTree); + } treeDataMenu.value = [...res.rows]; }); }; - KnowledgeList().then((res) => { - knowledgeList.value = res.rows; + KnowledgeList(u.role).then((res) => { + knowledgeList.value = res.data; }); - DialogList().then((res) => { - DialogsList.value = res.rows; + DialogList(u.role).then((res) => { + DialogsList.value = res.data; }); queryCanvasList(null).then((canvas) => { AgentList= canvas.data -- Gitblit v1.8.0