From daeb81442579b4b7bf99d4f2d0af9fba2d3491e7 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Fri, 22 May 2026 10:46:30 +0800
Subject: [PATCH] feat: 飞手改为id

---
 applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue |   52 +++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 45 insertions(+), 7 deletions(-)

diff --git a/applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue b/applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue
index 203326d..ac11597 100644
--- a/applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue
+++ b/applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue
@@ -58,7 +58,7 @@
 						</el-col>
 						<el-col :span="12">
 							<div class="label">推荐飞手</div>
-							<div class="val">{{ formData.recommendFlyerName }}</div>
+							<div class="val">{{ getFlyerName(formData.deviceFlyerId) }}</div>
 						</el-col>
 						<el-col :span="12">
 							<div class="label">选择设备</div>
@@ -80,12 +80,17 @@
 						<div class="imgBox">
 							<div v-for="item in taskResultList">
 								<el-image
-									v-if="item.resultUrl"
+									v-if="item.attachmentType === 0 && item.resultUrl"
 									:src="item.resultUrl"
 									:preview-src-list="[item.resultUrl]"
 									fit="cover"
 									preview-teleported
 								/>
+								<div class="video-btn" v-if="item.attachmentType === 1 && item.resultUrl" @click="videoClick(item)">
+									<el-icon :size="30" color="#fff">
+										<VideoPlay />
+									</el-icon>
+								</div>
 							</div>
 						</div>
 					</template>
@@ -144,16 +149,16 @@
 							</el-form-item>
 						</el-col>
 						<el-col :span="12">
-							<el-form-item label="推荐飞手" prop="recommendFlyerName">
+							<el-form-item label="推荐飞手" prop="deviceFlyerId">
 								<el-select
 									class="gd-select"
 									popper-class="gd-select-popper"
-									v-model="formData.recommendFlyerName"
+									v-model="formData.deviceFlyerId"
 									placeholder="请选择"
 									filterable
 									clearable
 								>
-									<el-option v-for="item in flyerList" :key="item.id" :label="item.flyerName" :value="item.flyerName" />
+									<el-option v-for="item in flyerList" :key="item.id" :label="item.flyerName" :value="item.id" />
 								</el-select>
 							</el-form-item>
 						</el-col>
@@ -244,6 +249,14 @@
 			@success="rejectSuccess"
 		/>
 	</el-dialog>
+
+	<VideoPlayDialog
+		ref="videoPlayDialogRef"
+		v-if="VideoShow"
+		v-model="VideoShow"
+		:playUrl="currentVideo.resultUrl"
+	>
+	</VideoPlayDialog>
 </template>
 
 <script setup>
@@ -274,7 +287,7 @@
 	patrolTaskType: '',
 	executeTime: '',
 	patrolRouteUrl: '',
-	recommendFlyerName: '',
+	deviceFlyerId: null,
 	deviceId: null,
 	taskDesc: '',
 	workOrderId: null,
@@ -325,7 +338,7 @@
 	patrolTaskType: fieldRules(true),
 	executeTime: fieldRules(true),
 	patrolRouteUrl: fieldRules(true),
-	recommendFlyerName: fieldRules(true),
+	deviceFlyerId: fieldRules(true),
 	deviceId: fieldRules(true),
 }
 
@@ -369,6 +382,12 @@
 function getDeviceName(id) {
 	const item = deviceList.value.find(item => item.id === id)
 	return item ? item.nickname : id
+}
+
+// 获取飞手名称
+function getFlyerName(id) {
+	const item = flyerList.value.find(item => item.id === id)
+	return item ? item.flyerName : id
 }
 
 // 获取工单名称
@@ -432,11 +451,13 @@
 	try {
 		const res = await gdTaskResultListApi({ patrolTaskId: formData.value.id })
 		taskResultList.value = res?.data?.data ?? []
+		console.log(taskResultList.value, '8989')
 	} finally {
 	}
 }
 import { ArrowLineMaterialProperty } from '@/utils/cesium/Material'
 import OrderStepBar from '@/views/orderView/orderManage/orderManage/OrderStepBar.vue'
+import VideoPlayDialog from '@/components/VideoPlayDialog.vue'
 let arrowLineMaterialProperty = new ArrowLineMaterialProperty({
 	color: new Cesium.Color(128 / 255, 215 / 255, 255 / 255, 1),
 	directionColor: new Cesium.Color(1, 1, 1, 1),
@@ -529,6 +550,14 @@
 	}
 }
 
+// 点击视频
+let VideoShow = ref(false)
+let currentVideo = ref({})
+function videoClick(row) {
+	VideoShow.value = true
+	currentVideo.value = row
+}
+
 // 初始化地图实例
 function initMap() {
 	if (viewer) return
@@ -575,6 +604,15 @@
 		width: 100%;
 		height: 100%;
 	}
+	.video-btn {
+		width: 100%;
+		height: 100%;
+		background-color: #9E9E9E;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		cursor: pointer;
+	}
 }
 :deep(.el-timeline-item__timestamp) {
 	font-size: 12px;

--
Gitblit v1.9.3