From 29dc01bf43ec0efdc1633583c33d4e92e4de0a2d Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期一, 18 十一月 2024 11:18:19 +0800
Subject: [PATCH] 部门树结构数据

---
 src/views/project/yw/systemManage/userMgr/optDlg/OptDlg.vue |   32 +++++++++++++++++++++++++++++---
 1 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/src/views/project/yw/systemManage/userMgr/optDlg/OptDlg.vue b/src/views/project/yw/systemManage/userMgr/optDlg/OptDlg.vue
index 0a73217..58c1f46 100644
--- a/src/views/project/yw/systemManage/userMgr/optDlg/OptDlg.vue
+++ b/src/views/project/yw/systemManage/userMgr/optDlg/OptDlg.vue
@@ -38,9 +38,23 @@
 				</el-col>
 				<el-col :span="12" class="mb20">
 					<el-form-item label="閮ㄩ棬" prop="part_id" label-width="54">
-						<el-select v-model="dialogFormValue.part_id">
-							<el-option v-for="item in departmentList" :key="item.id" :value="item.id" :label="item?.name"></el-option>
-						</el-select>
+						<el-tree-select
+							filterable
+							class="w100"
+							v-model="dialogFormValue.part_id"
+							:props="{
+								id: 'id',
+								label: 'name',
+								children: 'children',
+							}"
+							:data="departmentTreeList"
+							node-key="id"
+							:clearable="true"
+							:accordion="false"
+							:expandNode="false"
+							:check-strictly="true"
+						>
+						</el-tree-select>
 					</el-form-item>
 				</el-col>
 				<el-col :span="12" class="mb20"
@@ -88,9 +102,21 @@
 import { userSexMap } from '../types';
 import * as userApi from '/@/api/auth/user';
 import { formatDate } from '/@/utils/formatTime';
+import { convertListToTree } from '/@/utils/util';
 
 const props = defineProps(['item', 'roleList', 'departmentList']);
 const emit = defineEmits(['update', 'insert']);
+
+const departmentTreeList = computed(() => {
+	const treeData = convertListToTree(props.departmentList, {
+		ID: 'id',
+		ParentID: 'parent_id',
+		Children: 'children',
+	});
+
+	return treeData;
+});
+
 //#region ====================== 澧炲姞銆佷慨鏀硅褰曟搷浣�, dialog init======================
 const isEditDialog = ref(false);
 const dialogTitle = computed(() => {

--
Gitblit v1.9.3