From 7b8789643b13dba1f2190f3bde92a7e4fa8eaafc Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Tue, 20 Jan 2026 15:24:59 +0800
Subject: [PATCH] feat:场景类型字典值显示调整

---
 applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/FormDiaLog.vue |   41 ++++++++++++++++++++++++++++++++++-------
 1 files changed, 34 insertions(+), 7 deletions(-)

diff --git a/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/FormDiaLog.vue b/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/FormDiaLog.vue
index 5fe9dac..53a659f 100644
--- a/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/FormDiaLog.vue
+++ b/applications/task-work-order/src/views/orderView/orderDataManage/supplyAdd/FormDiaLog.vue
@@ -60,13 +60,13 @@
 		</div>
 
 		<el-form
-			class="dialog-form"
+			class="gd-dialog-form"
 			v-else
 			ref="formRef"
 			:model="formData"
 			:rules="rules"
 			:disabled="dialogReadonly"
-			label-width="120px"
+			label-width="130px"
 		>
 			<el-row>
 				<el-col :span="12">
@@ -172,13 +172,11 @@
 						<el-input class="gd-input" v-model="formData.dataSource" placeholder="请输入" clearable />
 					</el-form-item>
 				</el-col>
-				<el-col :span="24">
+				<el-col :span="12">
 					<el-form-item label="需求信息项" prop="demandInfo">
 						<el-input
 							class="gd-input"
 							v-model="formData.demandInfo"
-							type="textarea"
-							:rows="4"
 							placeholder="请输入"
 							clearable
 						/>
@@ -257,7 +255,31 @@
 	dataSource: fieldRules(true),
 	demandInfo: fieldRules(true),
 }
-
+// 根据部门ID获取部门名称
+function getDeptNameById(deptId, deptList) {
+	// 处理类型转换,确保比较的是相同类型
+	const targetId = String(deptId)
+	
+	// 递归遍历部门树
+	function findDept(deptList) {
+		for (const dept of deptList) {
+			if (String(dept.id) === targetId) {
+				return dept.name
+			}
+			if (Array.isArray(dept.children) && dept.children.length > 0) {
+				const name = findDept(dept.children)
+				if (name) return name
+			}
+		}
+		return ''
+	}
+	
+	if (!targetId || !Array.isArray(deptList) || deptList.length === 0) {
+		return ''
+	}
+	
+	return findDept(deptList)
+}
 // 提交新增/编辑
 async function handleSubmit() {
 	const isValid = await formRef.value?.validate().catch(() => false)
@@ -294,7 +316,12 @@
 async function loadDetail() {
 	if (!formData.value.id) return
 	const res = await gdSupplyDemandDetailApi({ id: formData.value.id })
-	formData.value = res?.data?.data ?? {}
+	const data = res?.data?.data ?? {}
+	// 如果没有部门名称,根据部门ID从部门树中获取
+	if (data.responsibleDeptId && !data.responsibleDeptName) {
+		data.responsibleDeptName = getDeptNameById(data.responsibleDeptId, deptTree.value)
+	}
+	formData.value = data
 }
 
 // 打开弹框

--
Gitblit v1.9.3