From 033410892420de6723d8baf0c1653646a9974d52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=91=E6=96=87=E5=8F=AF?= <1041367524@qq.com> Date: Thu, 19 May 2022 11:30:47 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=92=E8=89=B2=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/permission/role/index.vue | 58 +++++++++++------------------ 1 file changed, 22 insertions(+), 36 deletions(-) diff --git a/src/views/permission/role/index.vue b/src/views/permission/role/index.vue index 28fd981..2d62710 100644 --- a/src/views/permission/role/index.vue +++ b/src/views/permission/role/index.vue @@ -223,7 +223,8 @@ isEnable: [{ required: true, message: '是否启用不能为空' }], }, rules2: { - menuIds: [{ required: true, message: '功能权限不能为空' }], + menuIds: [{ required: true, message: '系统模块菜单不能为空' }], + permissionIds: [{ required: true, message: '功能权限不能为空' }], }, rules3: { departmentList: [{ required: true, trigger: 'change', message: '绑定组织不能为空' }], @@ -277,43 +278,28 @@ } }; const refsTree2 = ref(null); - const updateChecked = ref(false); const handleCheckDept = async (data, checked, childChecked) => { - if (!unref(updateChecked)) { - let params = - checked || childChecked - ? { - departmentId: data.id, - isDistributionCurrentDepartmentEmployee: true, - roleIds: [formState.form.id], - } - : { departmentId: data.id, isDeleteDepartmentOfEmployeeRole: true, roleIds: formState.form.id }; - let res = await store.dispatch('role/updateDept', params); - if (checked || childChecked) { - if (res) { - formState.form.departmentList.push({ ...data }); - } - } else { - if (res) { - formState.form.departmentList.splice( - formState.form.departmentList.findIndex((item) => item.id === data.id), - 1 - ); - } - } - nextTick(() => { - try { - unref(refsForm3).validate(); - } catch (e) { - console.info(e); - } - updateChecked.value = true; - unref(refsTree2).setCheckedKeys(formState.form.departmentList.map((item) => item.id)); - nextTick(() => { - updateChecked.value = false; - }); - }); + if (checked || childChecked) { + formState.form.departmentList.push(data); + } else { + formState.form.departmentList.splice(formState.form.departmentList.indexOf(data.id), 1); } + let params = + checked || childChecked + ? { + departmentId: data.id, + isDistributionCurrentDepartmentEmployee: true, + roleIds: [formState.form.id], + } + : { departmentId: data.id, isDeleteDepartmentOfEmployeeRole: true, roleIds: formState.form.id }; + store.dispatch('role/updateDept', params); + nextTick(() => { + try { + unref(refsForm3).validate(); + } catch (e) { + console.info(e); + } + }); }; const handleCreate = (row) => { formState.formVisible = true;