From d04ecbb2aa47d93e05d28bb551e7bad83d97d60f Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Wed, 03 Jun 2026 18:38:55 +0800
Subject: [PATCH] feat: 类型多选改造

---
 applications/task-work-order/src/views/orderView/flyingHand/FlyingHandDialog.vue |   52 ++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 36 insertions(+), 16 deletions(-)

diff --git a/applications/task-work-order/src/views/orderView/flyingHand/FlyingHandDialog.vue b/applications/task-work-order/src/views/orderView/flyingHand/FlyingHandDialog.vue
index 1f1580c..6dd91c9 100644
--- a/applications/task-work-order/src/views/orderView/flyingHand/FlyingHandDialog.vue
+++ b/applications/task-work-order/src/views/orderView/flyingHand/FlyingHandDialog.vue
@@ -17,7 +17,7 @@
         <div class="val">{{ formData.flyerPhone }}</div>
       </el-col>
       <el-col :span="12">
-        <div class="label">飞行时长</div>
+        <div class="label">飞行时长(小时)</div>
         <div class="val">{{ formData.flightHours }}</div>
       </el-col>
       <el-col :span="12">
@@ -60,23 +60,37 @@
 			:model="formData"
 			:rules="rules"
 			class="gd-dialog-form"
-			label-width="160px"
+			label-width="auto"
 			v-else
 		>
 			<el-row>
 				<el-col :span="12">
 					<el-form-item label="飞手姓名" prop="flyerId">
-						<el-select
+						<el-select v-if="dialogType === 'add'"
 							class="gd-select"
 							popper-class="gd-select-popper"
 							v-model="formData.flyerId"
 							placeholder="请选择"
 							clearable
 							@change="handleChange"
-							:disabled="dialogType === 'view'"
 						>
 							<el-option
 								v-for="item in flyingHandList"
+								:key="item.id"
+								:label="item.name"
+								:value="item.id"
+							/>
+						</el-select>
+						<el-select v-else
+							class="gd-select"
+							popper-class="gd-select-popper"
+							v-model="formData.flyerId"
+							placeholder="请选择"
+							clearable
+							:disabled="dialogType === 'edit'"
+						>
+							<el-option
+								v-for="item in flyingHandEditList"
 								:key="item.id"
 								:label="item.name"
 								:value="item.id"
@@ -90,7 +104,7 @@
 						class="gd-input"
 							v-model="formData.flyerPhone"
 							placeholder="请输入"
-							:disabled="dialogType === 'view'"
+							:disabled="true"
 						/>
 					</el-form-item>
 				</el-col>
@@ -101,7 +115,7 @@
 							v-model.number="formData.flightHours"
 							placeholder="请输入"
 							type="number"
-							:disabled="dialogType === 'view'"
+							:disabled="true"
 						/>
 					</el-form-item>
 				</el-col>
@@ -164,7 +178,7 @@
 				<el-col :span="24">
 					<el-form-item label="项目经验" prop="projectExperience">
 						<el-input
-							class="gd-input"
+							class="gd-input-text"
 							v-model="formData.projectExperience"
 							placeholder="请输入"
 							type="textarea"
@@ -215,6 +229,8 @@
 const dictObj = inject('dictObj') // 擅长任务类型
 
 const flyingHandList = inject('flyingHandList') // 飞手列表
+const flyingHandEditList = inject('flyingHandEditList') // 飞手建档列表
+
 
 const emit = defineEmits(['update:modelValue', 'confirm'])
 
@@ -248,6 +264,7 @@
 	skilledUavType: '',
 	certification: [], // 证书
 	regionCode: '', // 区域编码
+	flyerAddress: '', // 飞手地址
 })
 
 const formData = ref(initForm()) // 表单数据
@@ -268,14 +285,14 @@
 	flyerId: [
 		{ required: true, message: '请输入', trigger: 'blur' }
 	],
-	flyerPhone: [
-		{ required: false, message: '请输入', trigger: 'blur' },
-		{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur' }
-	],
-	flightHours: [
-		{ required: true, message: '请输入', trigger: 'blur' },
-		{ type: 'number', min: 0, message: '飞行时长必须大于等于0', trigger: 'blur' }
-	],
+	// flyerPhone: [
+	// 	{ required: true, message: '请输入', trigger: 'blur' },
+	// 	{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur' }
+	// ],
+	// flightHours: [
+	// 	{ required: true, message: '请输入', trigger: 'blur' },
+	// 	{ type: 'number', min: 0, message: '飞行时长必须大于等于0', trigger: 'blur' }
+	// ],
 	technicalSkills: [
 		{ required: true, message: '请选择', trigger: 'change' }
 	],
@@ -317,7 +334,10 @@
 	const result = flyingHandList.value.find(item => item.id === val) || []
 	formData.value.flyerName = result.name
 	formData.value.regionCode = result.regionCode
-	formData.value.certification = formData.value.certification.concat(result.licenseFrontFileUrl || [], result.licenseBackFileUrl || [])
+	formData.value.flyerPhone = result.phone
+	formData.value.flightHours = result.duration || 0
+	formData.value.flyerAddress = result.address
+	// formData.value.certification = formData.value.certification.concat(result.licenseFrontFileUrl || [], result.licenseBackFileUrl || [])
 }
 
 

--
Gitblit v1.9.3