From 90d7a117d642000b7b21537cca2a5b726a8693df Mon Sep 17 00:00:00 2001 From: danshihao Date: Thu, 18 Jan 2024 11:34:16 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=BF=AB=E6=8D=B7=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/dashboard/modules/MenuManageModal.vue | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/views/dashboard/modules/MenuManageModal.vue b/src/views/dashboard/modules/MenuManageModal.vue index 194b9a35..9533b066 100644 --- a/src/views/dashboard/modules/MenuManageModal.vue +++ b/src/views/dashboard/modules/MenuManageModal.vue @@ -49,6 +49,8 @@ export default { targetKeys: [], // 已勾选的菜单 selectedMenu: [], + // 之前勾选,但是后来没权限的菜单列表 + notPermissionMenu: [], // 打开弹框传入的ids ids: [], // 多语言 @@ -64,11 +66,13 @@ export default { /** * 打开弹框 * @param ids - 已经选择的ids + * @param selectedMenu */ show (ids, selectedMenu) { this.visible = true // 清空之前的数据,然后重新请求 this.dataSource = [] + this.notPermissionMenu = [] // 存储已经勾选的菜单 this.selectedMenu = selectedMenu this.targetKeys = ids || [] @@ -86,8 +90,8 @@ export default { // 所有有权限的菜单id const hasPermissionIds = data.map(item => item.id) // 获取已选择但没有权限的列表 - const notPermissionMenu = this.selectedMenu.filter(item => !hasPermissionIds.includes(item.id)) - this.dataSource = data.concat(notPermissionMenu) + this.notPermissionMenu = this.selectedMenu.filter(item => !hasPermissionIds.includes(item.id)) + this.dataSource = data.concat(this.notPermissionMenu) } else { this.$message.warning(res.message) } @@ -105,7 +109,7 @@ export default { return } // 如果进来的值和提交的值一样不提示操作成功 - if (this.ids.join(',') === this.targetKeys.join(',')) { + if (this.notPermissionMenu.length === 0 && this.ids.join(',') === this.targetKeys.join(',')) { this.close() return }