From 53ac5fb43c1abb54609580dfea40af2644e140b0 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期三, 09 八月 2023 10:47:41 +0800
Subject: [PATCH] !33 将部门管理 负责人选项改为下拉框选择 Merge pull request !33 from Lionel./deptHead
---
src/views/system/dept/index.vue | 21 ++++++++++++++++++---
src/api/system/user/index.ts | 14 +++++++++++++-
2 files changed, 31 insertions(+), 4 deletions(-)
diff --git a/src/api/system/user/index.ts b/src/api/system/user/index.ts
index 21325c3..fc516e9 100644
--- a/src/api/system/user/index.ts
+++ b/src/api/system/user/index.ts
@@ -170,6 +170,17 @@
};
/**
+ * 鏌ヨ褰撳墠閮ㄩ棬鐨勬墍鏈夌敤鎴蜂俊鎭�
+ * @param deptId
+ */
+export const listUserByDeptId = (deptId: string | number): AxiosPromise<DeptVO[]> => {
+ return request({
+ url: "/system/user/list/dept/" + deptId,
+ method: "get"
+ });
+};
+
+/**
* 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋�
*/
export const deptTreeSelect = (): AxiosPromise<DeptVO[]> => {
@@ -193,5 +204,6 @@
uploadAvatar,
getAuthRole,
updateAuthRole,
- deptTreeSelect
+ deptTreeSelect,
+ listUserByDeptId
};
diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue
index 12f7564..75f2843 100644
--- a/src/views/system/dept/index.vue
+++ b/src/views/system/dept/index.vue
@@ -97,7 +97,9 @@
</el-col>
<el-col :span="12">
<el-form-item label="璐熻矗浜�" prop="leader">
- <el-input v-model="form.leader" placeholder="璇疯緭鍏ヨ礋璐d汉" maxlength="20" />
+ <el-select v-model="form.leader" placeholder="璇烽�夋嫨璐熻矗浜�">
+ <el-option v-for="item in deptUserList" :key="item.userId" :label="item.userName" :value="item.userId" />
+ </el-select>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -114,7 +116,7 @@
<el-form-item label="閮ㄩ棬鐘舵��">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label
- }}</el-radio>
+ }}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
@@ -133,6 +135,8 @@
<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";
interface DeptOptionsType {
deptId: number | string;
@@ -149,7 +153,7 @@
const showSearch = ref(true)
const deptOptions = ref<DeptOptionsType[]>([])
const isExpandAll = ref(true)
-
+const deptUserList = ref<UserVO[]>([]);
const dialog = reactive<DialogOption>({
visible: false,
@@ -199,6 +203,15 @@
}
loading.value = false
}
+
+/** 鏌ヨ褰撳墠閮ㄩ棬鐨勬墍鏈夌敤鎴� */
+async function getDeptAllUser(deptId: any) {
+ if (deptId !== null && deptId !== "" && deptId !== undefined) {
+ const res = await listUserByDeptId(deptId);
+ deptUserList.value = res.data;
+ }
+}
+
/** 鍙栨秷鎸夐挳 */
const cancel = () => {
reset()
@@ -251,6 +264,8 @@
/** 淇敼鎸夐挳鎿嶄綔 */
const handleUpdate = async (row: DeptVO) => {
reset();
+ //鏌ヨ褰撳墠閮ㄩ棬鎵�鏈夌敤鎴�
+ getDeptAllUser(row.deptId);
const res = await getDept(row.deptId);
form.value = res.data
const response = await listDeptExcludeChild(row.deptId);
--
Gitblit v1.9.3