| | |
| | | </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> |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | @success="rejectSuccess" |
| | | /> |
| | | </el-dialog> |
| | | |
| | | <VideoPlayDialog |
| | | ref="videoPlayDialogRef" |
| | | v-if="VideoShow" |
| | | v-model="VideoShow" |
| | | :playUrl="currentVideo.resultUrl" |
| | | > |
| | | </VideoPlayDialog> |
| | | </template> |
| | | |
| | | <script setup> |
| | |
| | | patrolTaskType: '', |
| | | executeTime: '', |
| | | patrolRouteUrl: '', |
| | | recommendFlyerName: '', |
| | | deviceFlyerId: null, |
| | | deviceId: null, |
| | | taskDesc: '', |
| | | workOrderId: null, |
| | |
| | | patrolTaskType: fieldRules(true), |
| | | executeTime: fieldRules(true), |
| | | patrolRouteUrl: fieldRules(true), |
| | | recommendFlyerName: fieldRules(true), |
| | | deviceFlyerId: fieldRules(true), |
| | | deviceId: fieldRules(true), |
| | | } |
| | | |
| | |
| | | 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 |
| | | } |
| | | |
| | | // 获取工单名称 |
| | |
| | | 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), |
| | |
| | | } |
| | | } |
| | | |
| | | // 点击视频 |
| | | let VideoShow = ref(false) |
| | | let currentVideo = ref({}) |
| | | function videoClick(row) { |
| | | VideoShow.value = true |
| | | currentVideo.value = row |
| | | } |
| | | |
| | | // 初始化地图实例 |
| | | function initMap() { |
| | | if (viewer) return |
| | |
| | | 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; |