部门管理:增删改查、用户部门显示

This commit is contained in:
陈淳
2022-09-13 17:50:20 +08:00
parent 7b6d8671cf
commit 5b1ad450d3
9 changed files with 63 additions and 54 deletions

View File

@@ -3,19 +3,19 @@ import request from '@/utils/request'
// 查询部门列表
export function listDept(query) {
return request({
url: '/dept/pageList',
url: '/dept/SelctGetList',
method: 'get',
params: query
})
}
// 查询部门列表(排除节点)
export function listDeptExcludeChild(deptId) {
return request({
url: '/system/dept/list/exclude/' + deptId,
method: 'get'
})
}
// // 查询部门列表(排除节点)
// export function listDeptExcludeChild(deptId) {
// return request({
// url: '/system/dept/list/exclude/' + deptId,
// method: 'get'
// })
// }
// 查询部门详细
export function getDept(deptId) {
@@ -52,6 +52,6 @@ export function delDept(deptId) {
return request({
url: '/dept/delList',
method: 'delete',
data:postId
data:deptId
})
}

View File

@@ -128,10 +128,10 @@ export function updateAuthRole(data) {
})
}
// 查询部门下拉树结构
export function deptTreeSelect() {
return request({
url: '/system/user/deptTree',
method: 'get'
})
}
// // 查询部门下拉树结构
// export function deptTreeSelect() {
// return request({
// url: '/system/user/deptTree',
// method: 'get'
// })
// }

View File

@@ -9,8 +9,8 @@
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="部门状态" clearable>
<el-form-item label="状态" prop="isDeleted">
<el-select v-model="queryParams.isDeleted" placeholder="部门状态" clearable>
<el-option
v-for="dict in sys_normal_disable"
:key="dict.value"
@@ -50,15 +50,15 @@
v-if="refreshTable"
v-loading="loading"
:data="deptList"
row-key="deptId"
row-key="id"
:default-expand-all="isExpandAll"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
>
<el-table-column prop="deptName" label="部门名称" width="260"></el-table-column>
<el-table-column prop="orderNum" label="排序" width="200"></el-table-column>
<el-table-column prop="status" label="状态" width="100">
<el-table-column prop="isDeleted" label="状态" width="100">
<template #default="scope">
<dict-tag :options="sys_normal_disable" :value="scope.row.status" />
<dict-tag :options="sys_normal_disable" :value="scope.row.isDeleted" />
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="200">
@@ -100,8 +100,8 @@
<el-tree-select
v-model="form.parentId"
:data="deptOptions"
:props="{ value: 'deptId', label: 'deptName', children: 'children' }"
value-key="deptId"
:props="{ value: 'id', label: 'deptName', children: 'children' }"
value-key="id"
placeholder="选择上级部门"
check-strictly
/>
@@ -134,7 +134,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="部门状态">
<el-radio-group v-model="form.status">
<el-radio-group v-model="form.isDeleted">
<el-radio
v-for="dict in sys_normal_disable"
:key="dict.value"
@@ -156,7 +156,7 @@
</template>
<script setup name="Dept">
import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild } from "@/api/system/dept";
import { listDept, getDept, delDept, addDept, updateDept} from "@/api/system/dept";
const { proxy } = getCurrentInstance();
const { sys_normal_disable } = proxy.useDict("sys_normal_disable");
@@ -174,7 +174,7 @@ const data = reactive({
form: {},
queryParams: {
deptName: undefined,
status: undefined
isDeleted: undefined
},
rules: {
parentId: [{ required: true, message: "上级部门不能为空", trigger: "blur" }],
@@ -191,7 +191,7 @@ const { queryParams, form, rules } = toRefs(data);
function getList() {
loading.value = true;
listDept(queryParams.value).then(response => {
deptList.value = proxy.handleTree(response.data, "deptId");
deptList.value = proxy.handleTree(response.data, "id");
loading.value = false;
});
}
@@ -203,14 +203,14 @@ function cancel() {
/** 表单重置 */
function reset() {
form.value = {
deptId: undefined,
id: undefined,
parentId: undefined,
deptName: undefined,
orderNum: 0,
leader: undefined,
phone: undefined,
email: undefined,
status: "0"
isDeleted: false
};
proxy.resetForm("deptRef");
}
@@ -227,10 +227,10 @@ function resetQuery() {
function handleAdd(row) {
reset();
listDept().then(response => {
deptOptions.value = proxy.handleTree(response.data, "deptId");
deptOptions.value = proxy.handleTree(response.data, "id");
});
if (row != undefined) {
form.value.parentId = row.deptId;
form.value.parentId = row.id;
}
open.value = true;
title.value = "添加部门";
@@ -246,10 +246,16 @@ function toggleExpandAll() {
/** 修改按钮操作 */
function handleUpdate(row) {
reset();
listDeptExcludeChild(row.deptId).then(response => {
deptOptions.value = proxy.handleTree(response.data, "deptId");
// listDeptExcludeChild(row.id).then(response => {
// deptOptions.value = proxy.handleTree(response.data, "id");
// });
listDept().then(response => {
//前端排除自己
deptOptions.value = proxy.handleTree(response.data.filter(i=>i.id!=row.id), "id");
});
getDept(row.deptId).then(response => {
getDept(row.id).then(response => {
form.value = response.data;
open.value = true;
title.value = "修改部门";
@@ -259,7 +265,7 @@ function handleUpdate(row) {
function submitForm() {
proxy.$refs["deptRef"].validate(valid => {
if (valid) {
if (form.value.deptId != undefined) {
if (form.value.id != undefined) {
updateDept(form.value).then(response => {
proxy.$modal.msgSuccess("修改成功");
open.value = false;
@@ -278,7 +284,7 @@ function submitForm() {
/** 删除按钮操作 */
function handleDelete(row) {
proxy.$modal.confirm('是否确认删除名称为"' + row.deptName + '"的数据项?').then(function() {
return delDept(row.deptId);
return delDept(row.id);
}).then(() => {
getList();
proxy.$modal.msgSuccess("删除成功");

View File

@@ -238,8 +238,9 @@
<script setup name="User">
import { getToken } from "@/utils/auth";
import { changeUserStatus, listUser, resetUserPwd, delUser, getUser, updateUser, addUser, deptTreeSelect } from "@/api/system/user";
import { changeUserStatus, listUser, resetUserPwd, delUser, getUser, updateUser, addUser } from "@/api/system/user";
import { roleOptionselect } from "@/api/system/role";
import { listDept} from "@/api/system/dept";
const router = useRouter();
const { proxy } = getCurrentInstance();
const { sys_normal_disable, sys_user_sex } = proxy.useDict("sys_normal_disable", "sys_user_sex");
@@ -317,8 +318,14 @@ watch(deptName, val => {
});
/** 查询部门下拉树结构 */
function getDeptTree() {
deptTreeSelect().then(response => {
deptOptions.value = response.data;
listDept().then(response => {
const selectList=[];
response.data.forEach(res=>{
selectList.push({id:res.id,label:res.deptName,parentId:res.parentId,orderNum:res.orderNum, children:[]})
}
)
deptOptions.value = proxy.handleTree(selectList, "id");;
});
};
/** 查询用户列表 */