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 = [];