From 2655f6cefa38f7820817c6c836d8e254afdfc93b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=91=E6=96=87=E5=8F=AF?= <1041367524@qq.com> Date: Sat, 21 May 2022 11:29:02 +0800 Subject: [PATCH] fix: BUG --- src/store/modules/permission/dept/deptRole.js | 19 ++++------ src/views/permission/dept/index.vue | 38 +++++++++++++++---- src/views/permission/role/index.vue | 8 +++- 3 files changed, 43 insertions(+), 22 deletions(-) diff --git a/src/store/modules/permission/dept/deptRole.js b/src/store/modules/permission/dept/deptRole.js index 84d3969..3d47cf9 100644 --- a/src/store/modules/permission/dept/deptRole.js +++ b/src/store/modules/permission/dept/deptRole.js @@ -1,6 +1,6 @@ import * as api from '@/api/permission/dept.js'; import * as roleAPI from '@/api/permission/role.js'; -import { ElMessage, ElMessageBox } from '@/plugins/element-plus'; +import { ElMessage } from '@/plugins/element-plus'; const state = () => ({ code: 'DeptRoleManagement', condition: {}, @@ -52,17 +52,12 @@ const actions = { return res; }, remove: async ({ dispatch }, data) => { - try { - await ElMessageBox.confirm('数据删除后无法恢复,确定要删除吗?', '危险操作'); - let res = await api.delRole(data); - if (res) { - ElMessage.success('删除成功'); - dispatch('search'); - } else { - ElMessage.error('删除失败'); - } - } catch (e) { - console.info('取消删除', e); + let res = await api.delRole(data); + if (res) { + ElMessage.success('删除成功'); + dispatch('search'); + } else { + ElMessage.error('删除失败'); } }, }; diff --git a/src/views/permission/dept/index.vue b/src/views/permission/dept/index.vue index 154eeb5..8171244 100644 --- a/src/views/permission/dept/index.vue +++ b/src/views/permission/dept/index.vue @@ -119,7 +119,7 @@ :key="index + '' + j" closable size="large" - @close="handleDelRole(role.id)" + @close="(delRoleId = role.id), (delVisible = true)" > {{ role.roleName }} @@ -152,6 +152,21 @@ 确定 + +

+ + 确定删除组织中的角色吗? +

+

删除角色后,组织下的员工将失去对应角色权限

+ + +
@@ -316,13 +331,6 @@ }, { immediate: true, deep: true } ); - const handleDelRole = async (id) => { - store.dispatch('deptRole/remove', { - departmentId: state.condition3.departmentId, - isDeleteDepartmentOfEmployeeRole: true, - roleId: id, - }); - }; const handleAddRole = async (id) => { loading3.value = true; roleVisible.value = true; @@ -345,6 +353,20 @@ } loading3.value = false; }; + const loading4 = ref(false); + const delVisible = ref(false); + const delRoleId = ref(null); + const isDeleteDepartmentOfEmployeeRole = ref(false); + const handleDelRole = async () => { + loading4.value = true; + await store.dispatch('deptRole/remove', { + departmentId: state.condition3.departmentId, + isDeleteDepartmentOfEmployeeRole: !unref(isDeleteDepartmentOfEmployeeRole), + roleId: unref(delRoleId), + }); + loading4.value = false; + delVisible.value = false; + }; /* 表单 */ const refsForm = ref(null); diff --git a/src/views/permission/role/index.vue b/src/views/permission/role/index.vue index 9037bae..6d2278a 100644 --- a/src/views/permission/role/index.vue +++ b/src/views/permission/role/index.vue @@ -31,7 +31,11 @@ - + { formState.submitting = true; - if (formState.currentTab === '1') { + if (formState.currentTab === '1' && formState.form.id) { let res = await store.dispatch('role/detail', formState.form.id); res.role.menuIds = []; res.role.permissionIds = [];