remove 删除使用部门id筛选用户的独立接口,部门负责人应该可以选择所有用户

This commit is contained in:
David Wei 2023-08-25 15:31:40 +08:00
parent e10f112fa0
commit a1faccc5e1
3 changed files with 35 additions and 32 deletions

View File

@ -17,7 +17,7 @@ export interface DeptVO extends BaseEntity {
deptId: number | string;
deptName: string;
orderNum: number;
leader: string;
leaderId: string;
phone: string;
email: string;
status: string;
@ -36,7 +36,7 @@ export interface DeptForm {
deptId?: number | string;
deptName?: string;
orderNum?: number;
leader?: string;
leaderId?: string;
phone?: string;
email?: string;
status?: string;

View File

@ -175,17 +175,6 @@ export const updateAuthRole = (data: { userId: string; roleIds: string }) => {
});
};
/**
*
* @param deptId
*/
export const listUserByDeptId = (deptId: string | number): AxiosPromise<UserVO[]> => {
return request({
url: '/system/user/list/dept/' + deptId,
method: 'get'
});
};
/**
*
*/
@ -210,6 +199,5 @@ export default {
uploadAvatar,
getAuthRole,
updateAuthRole,
deptTreeSelect,
listUserByDeptId
deptTreeSelect
};

View File

@ -96,9 +96,21 @@
</el-form-item>
</el-col>
<el-col :span="12">
<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.userName" :value="item.userId" />
<el-form-item label="负责人" prop="leaderId">
<el-select
v-model="form.leaderId"
filterable
remote
placeholder="请选择负责人"
:remote-method="getAllUser"
:loading="userLoading"
>
<el-option
v-for="item in userList"
:key="item.userId"
:label="item.userName + '(' + item.nickName +')'"
:value="item.userId"
/>
</el-select>
</el-form-item>
</el-col>
@ -135,14 +147,13 @@
<script setup name="Dept" lang="ts">
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 {UserQuery, UserVO} from "@/api/system/user/types";
import {listUser} from "@/api/system/user";
interface DeptOptionsType {
deptId: number | string;
deptName: string;
children: DeptOptionsType[];
}
const { proxy } = getCurrentInstance() as ComponentInternalInstance
@ -150,10 +161,11 @@ const { sys_normal_disable } = toRefs<any>(proxy?.useDict("sys_normal_disable"))
const deptList = ref<DeptVO[]>([])
const loading = ref(true)
const userLoading = ref(true)
const showSearch = ref(true)
const deptOptions = ref<DeptOptionsType[]>([])
const isExpandAll = ref(true)
const deptUserList = ref<UserVO[]>([]);
const userList = ref<UserVO[]>([]);
const dialog = reactive<DialogOption>({
visible: false,
@ -169,7 +181,7 @@ const initFormData: DeptForm = {
parentId: undefined,
deptName: undefined,
orderNum: 0,
leader: undefined,
leaderId: undefined,
phone: undefined,
email: undefined,
status: "0"
@ -203,13 +215,16 @@ const getList = async () => {
}
loading.value = false
}
/** 查询当前部门的所有用户 */
async function getDeptAllUser(deptId: any) {
if (deptId !== null && deptId !== "" && deptId !== undefined) {
const res = await listUserByDeptId(deptId);
deptUserList.value = res.data;
}
/** 查询当前部门可选的所有用户 */
const getAllUser = async (query?: string) => {
userLoading.value = true;
const res = await listUser({
userName: query,
pageNum: 1,
pageSize: 50
});
userList.value = res.rows;
userLoading.value = false
}
/** 取消按钮 */
@ -264,8 +279,8 @@ const handleAdd = async (row?: DeptVO) => {
/** 修改按钮操作 */
const handleUpdate = async (row: DeptVO) => {
reset();
//
getDeptAllUser(row.deptId);
//
await getAllUser();
const res = await getDept(row.deptId);
form.value = res.data
const response = await listDeptExcludeChild(row.deptId);