1.0.27 部门添加分管副总

dev
yinq 1 month ago
parent 670cf0f915
commit a6f5edea4b

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

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

Loading…
Cancel
Save