fix/0524_ch
向文可 3 years ago
parent ab6b36115b
commit 2655f6cefa

@ -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,8 +52,6 @@ const actions = {
return res;
},
remove: async ({ dispatch }, data) => {
try {
await ElMessageBox.confirm('数据删除后无法恢复,确定要删除吗?', '危险操作');
let res = await api.delRole(data);
if (res) {
ElMessage.success('删除成功');
@ -61,9 +59,6 @@ const actions = {
} else {
ElMessage.error('删除失败');
}
} catch (e) {
console.info('取消删除', e);
}
},
};
export default {

@ -119,7 +119,7 @@
:key="index + '' + j"
closable
size="large"
@close="handleDelRole(role.id)"
@close="(delRoleId = role.id), (delVisible = true)"
>
{{ role.roleName }}
</el-tag>
@ -152,6 +152,21 @@
<el-button :loading="loading3" type="primary" @click="handleSaveRole"></el-button>
</template>
</el-dialog>
<el-dialog v-model="delVisible" title="提示">
<h3 style="display: flex; align-items: center">
<el-icon name="Warning" size="20" style="margin-right: 10px" />
确定删除组织中的角色吗
</h3>
<p>删除角色后组织下的员工将失去对应角色权限</p>
<el-checkbox
v-model="isDeleteDepartmentOfEmployeeRole"
label="仅删除组织角色,不删除组织下员工角色"
/>
<template #footer>
<el-button @click="delVisible = false">取消</el-button>
<el-button :loading="loading4" type="primary" @click="handleDelRole"></el-button>
</template>
</el-dialog>
</el-tab-pane>
</el-tabs>
</div>
@ -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);

@ -31,7 +31,11 @@
</el-form>
</template>
</table-list>
<el-dialog v-model="formState.formVisible" :title="(formState.form.id ? '编辑' : '新增') + '角色'">
<el-dialog
v-model="formState.formVisible"
:title="(formState.form.id ? '编辑' : '新增') + '角色'"
@close="formState.currentTab = '0'"
>
<el-tabs v-model="formState.currentTab">
<el-tab-pane label="基本信息" name="1">
<el-form
@ -278,7 +282,7 @@
};
const handleDetail = async () => {
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 = [];

Loading…
Cancel
Save