From 20a91cba24dd599beb27619187c94d65331aeeb5 Mon Sep 17 00:00:00 2001 From: ibuler Date: Tue, 8 Mar 2022 16:44:03 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E8=81=94=E5=8A=A8=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/users/Role/RoleDetail/RoleInfo.vue | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/views/users/Role/RoleDetail/RoleInfo.vue b/src/views/users/Role/RoleDetail/RoleInfo.vue index 9f6a83532..8e9748af3 100644 --- a/src/views/users/Role/RoleDetail/RoleInfo.vue +++ b/src/views/users/Role/RoleDetail/RoleInfo.vue @@ -66,15 +66,16 @@ export default { vm.isDisabled = false }) vm.checkDeps(event, treeNode) + vm.checkViewNodeIfNeed() }, onSelected() { } } }, viewPermMapper: [ - ['view_console', 'rbac.view_adminview'], - ['view_audit', 'rbac.view_auditview'], - ['view_workspace', 'rbac.view_userview'] + ['view_console', ['rbac.view_adminview', 'rbac.view_resourcestatistics']], + ['view_audit', ['rbac.view_auditview', 'rbac.view_resourcestatistics']], + ['view_workspace', ['rbac.view_userview']] ] } }, @@ -188,15 +189,18 @@ export default { }, checkViewNodeIfNeed() { const ztree = this.$refs.tree.zTree - for (const [viewId, permId] of this.viewPermMapper) { + for (const [viewId, permIds] of this.viewPermMapper) { const viewNode = ztree.getNodeByParam('id', viewId) - const permNode = ztree.getNodeByParam('title', permId) - if (!viewNode || !permNode) { + const permNodes = permIds.map(i => ztree.getNodeByParam('title', i)) + if (!viewNode || permNodes.length === 0) { + this.$log.debug('Not view node or perms nodes length 0') continue } const nodeStatus = viewNode.getCheckStatus() const viewStatus = nodeStatus.checked || nodeStatus.half - ztree.checkNode(permNode, viewStatus) + for (const permNode of permNodes) { + ztree.checkNode(permNode, viewStatus) + } } return Promise.resolve(true) },