From 0a199c83df502b2aeaa3623544f54edbf64a3271 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Thu, 21 May 2026 17:45:10 +0800
Subject: [PATCH] feat: 添加飞手id

---
 applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/FormDiaLog.vue |   36 ++++++++++++++++++++++--------------
 1 files changed, 22 insertions(+), 14 deletions(-)

diff --git a/applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/FormDiaLog.vue b/applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/FormDiaLog.vue
index fca8cc3..09cf6b8 100644
--- a/applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/FormDiaLog.vue
+++ b/applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/FormDiaLog.vue
@@ -8,7 +8,7 @@
 		width="75%"
 		:close-on-click-modal="false"
 	>
-		<div class="gd-dialog-form">
+		<div>
 			<!-- 关联工单选择 -->
 			<div class="work-order-section">
 				<div class="detail-title" :style="{ marginBottom: 0, marginRight: pxToRem(10) }">选择工单</div>
@@ -78,7 +78,7 @@
 						<el-table-column width="50" label="">
 							<template v-slot="{ $index }">{{ $index + 1 }}</template>
 						</el-table-column>
-						<el-table-column prop="patrolTaskName" min-width="120">
+						<el-table-column prop="patrolTaskName" min-width="100">
 							<template #header>
 								<span class="required-star">*</span>
 								巡查任务名称
@@ -92,7 +92,7 @@
 								/>
 							</template>
 						</el-table-column>
-						<el-table-column prop="patrolTaskType" min-width="140">
+						<el-table-column prop="patrolTaskType" min-width="100">
 							<template #header>
 								<span class="required-star">*</span>
 								巡查任务类型
@@ -114,7 +114,7 @@
 								</el-select>
 							</template>
 						</el-table-column>
-						<el-table-column prop="executeTime" min-width="180">
+						<el-table-column prop="executeTime" width="100">
 							<template #header>
 								<span class="required-star">*</span>
 								任务执行时间
@@ -122,7 +122,7 @@
 							<template v-slot="{ row }">
 								<!--								gd-date-picker-popper-->
 								<el-date-picker
-									:style="{width: pxToRem(160)}"
+									:style="{width: pxToRem(165)}"
 									class="gd-date-picker"
 									popper-class=""
 									v-model="row.executeTime"
@@ -133,7 +133,7 @@
 								/>
 							</template>
 						</el-table-column>
-						<el-table-column prop="patrolRouteUrl" min-width="120">
+						<el-table-column prop="patrolRouteUrl" min-width="100">
 							<template #header>
 								<span class="required-star">*</span>
 								巡查任务航线
@@ -152,7 +152,7 @@
 								</el-select>
 							</template>
 						</el-table-column>
-						<el-table-column prop="recommendFlyerName" min-width="120">
+						<el-table-column prop="deviceFlyerId" min-width="100">
 							<template #header>
 								<span class="required-star">*</span>
 								推荐飞手
@@ -162,16 +162,17 @@
 									no-data-text="暂无推荐飞手"
 									class="gd-select"
 									popper-class="gd-select-popper"
-									v-model="row.recommendFlyerName"
+									v-model="row.deviceFlyerId"
 									placeholder="请选择"
 									filterable
 									:disabled="dialogReadonly || !taskList[$index].patrolTaskType"
+									@change="handleFlyerChange($index, $event)"
 								>
 									<el-option
 										v-for="item in flyerListMap[$index] || []"
-										:key="item.id"
+										:key="item.flyerId"
 										:label="item.flyerName"
-										:value="item.flyerName"
+										:value="item.flyerId"
 									>
 										<template #default>
 										<!-- 匹配区域=1 显示红星号 -->
@@ -182,7 +183,7 @@
 									</el-select>
 							</template>
 						</el-table-column>
-						<el-table-column prop="deviceId" min-width="120">
+						<el-table-column prop="deviceId" min-width="100">
 							<template #header>
 								<span class="required-star">*</span>
 								选择设备
@@ -200,7 +201,7 @@
 								</el-select>
 							</template>
 						</el-table-column>
-						<el-table-column prop="taskDesc" label="巡查任务描述" min-width="120">
+						<el-table-column prop="taskDesc" label="巡查任务描述">
 							<template v-slot="{ row }">
 								<el-input class="gd-input" v-model="row.taskDesc" placeholder="请输入" :disabled="dialogReadonly" />
 							</template>
@@ -256,6 +257,7 @@
 	patrolTaskType: '',
 	executeTime: '',
 	patrolRouteUrl: '',
+	deviceFlyerId: '',
 	recommendFlyerName: '',
 	deviceId: null,
 	taskDesc: '',
@@ -369,9 +371,15 @@
 // 处理巡查任务类型变化
 async function handlePatrolTaskTypeChange(index, skilledTaskType) {
 	// 清空该行已选择的飞手
+	taskList.value[index].deviceFlyerId = ''
 	taskList.value[index].recommendFlyerName = ''
 	// 获取对应的飞手列表
 	await getFlyerList(index, skilledTaskType)
+}
+
+function handleFlyerChange(index, flyerId) {
+	const selectedFlyer = (flyerListMap.value[index] || []).find(item => item.flyerId === flyerId)
+	taskList.value[index].recommendFlyerName = selectedFlyer?.flyerName || ''
 }
 
 import * as turf from '@turf/turf'
@@ -416,7 +424,7 @@
 
 // 判断一行是否已填写(至少填写了任务名称)
 function isTaskRowFilled(task) {
-	return !!(task.patrolTaskName || task.executeTime || task.patrolRouteUrl || task.recommendFlyerName || task.deviceId)
+	return !!(task.patrolTaskName || task.executeTime || task.patrolRouteUrl || task.deviceFlyerId || task.deviceId)
 }
 
 // 提交新增
@@ -453,7 +461,7 @@
 			ElMessage.warning(`第${i + 1}行: 请选择巡查任务航线`)
 			return
 		}
-		if (!task.recommendFlyerName) {
+		if (!task.deviceFlyerId) {
 			ElMessage.warning(`第${i + 1}行: 请选择推荐飞手`)
 			return
 		}

--
Gitblit v1.9.3