吉安感知网项目-前端
罗广辉
2026-05-22 daeb81442579b4b7bf99d4f2d0af9fba2d3491e7
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;