1.0.27 部门添加分管副总

dev
yinq 1 month ago
parent 670cf0f915
commit a6f5edea4b

@ -20,6 +20,8 @@ export interface DeptVO extends BaseEntity {
deptCategory: string;
orderNum: number;
leader: string;
vicePresident: number | string;
vicePresidentName: string;
phone: string;
email: string;
status: string;
@ -52,6 +54,7 @@ export interface DeptForm {
deptCategory?: string;
orderNum?: number;
leader?: string;
vicePresident?: number | string;
phone?: string;
email?: string;
status?: string;

@ -48,6 +48,8 @@
>
<el-table-column prop="deptName" label="部门名称" width="260"></el-table-column>
<el-table-column prop="deptCategory" align="center" label="类别编码" width="200"></el-table-column>
<el-table-column prop="leaderName" align="center" label="部门负责人" width="100"></el-table-column>
<el-table-column prop="vicePresidentName" align="center" label="分管副总" width="100"></el-table-column>
<el-table-column prop="orderNum" align="center" label="排序" width="200"></el-table-column>
<el-table-column prop="status" align="center" label="状态" width="100">
<template #default="scope">
@ -75,8 +77,8 @@
</el-table>
</el-card>
<el-dialog v-model="dialog.visible" :title="dialog.title" destroy-on-close append-to-body width="600px">
<el-form ref="deptFormRef" :model="form" :rules="rules" label-width="80px">
<el-dialog v-model="dialog.visible" :title="dialog.title" destroy-on-close append-to-body width="700px">
<el-form ref="deptFormRef" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col v-if="form.parentId !== 0" :span="24">
<el-form-item label="上级部门" prop="parentId">
@ -106,12 +108,19 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="负责人" prop="leader">
<el-select v-model="form.leader" placeholder="请选择负责人">
<el-form-item label="部门负责人" prop="leader">
<el-select v-model="form.leader" placeholder="请选择部门负责人">
<el-option v-for="item in deptUserList" :key="item.userId" :label="item.nickName" :value="item.userId" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="分管副总" prop="vicePresident">
<el-select v-model="form.vicePresident" placeholder="请选择分管副总" filterable>
<el-option v-for="item in allUserList" :key="item.userId" :label="item.nickName" :value="item.userId" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系电话" prop="phone">
<el-input v-model="form.phone" placeholder="请输入联系电话" maxlength="11" />
@ -145,7 +154,7 @@
import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild } from '@/api/system/dept';
import { DeptForm, DeptQuery, DeptVO } from '@/api/system/dept/types';
import { UserVO } from '@/api/system/user/types';
import { listUserByDeptId } from '@/api/system/user';
import { listUserByDeptId, listUser } from '@/api/system/user';
interface DeptOptionsType {
deptId: number | string;
@ -162,6 +171,7 @@ const showSearch = ref(true);
const deptOptions = ref<DeptOptionsType[]>([]);
const isExpandAll = ref(true);
const deptUserList = ref<UserVO[]>([]);
const allUserList = ref<UserVO[]>([]);
const dialog = reactive<DialogOption>({
visible: false,
@ -179,6 +189,7 @@ const initFormData: DeptForm = {
deptCategory: undefined,
orderNum: 0,
leader: undefined,
vicePresident: undefined,
phone: undefined,
email: undefined,
status: '0'
@ -223,6 +234,12 @@ async function getDeptAllUser(deptId: any) {
}
}
/** 查询所有用户 */
async function getAllUser() {
const res = await listUserByDeptId(100);
allUserList.value = res.data || [];
}
/** 取消按钮 */
const cancel = () => {
reset();
@ -266,7 +283,11 @@ const handleAdd = async (row?: DeptVO) => {
deptOptions.value = data;
if (row && row.deptId) {
form.value.parentId = row?.deptId;
//
getDeptAllUser(row.deptId);
}
//
getAllUser();
dialog.visible = true;
dialog.title = '添加部门';
}
@ -277,6 +298,8 @@ const handleUpdate = async (row: DeptVO) => {
reset();
//
getDeptAllUser(row.deptId);
//
getAllUser();
const res = await getDept(row.deptId);
form.value = res.data;
const response = await listDeptExcludeChild(row.deptId);

Loading…
Cancel
Save