| | |
| | | <!-- 文件夹 --> |
| | | <div v-if="switchFolders" class="dataTable"> |
| | | <el-table |
| | | |
| | | border |
| | | class="custom-header custom-body" |
| | | v-loading="loadings" |
| | | element-loading-text="" |
| | |
| | | }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column property="recordName" label="任务名称" show-overflow-tooltip /> |
| | | <el-table-column property="name" label="任务名称" show-overflow-tooltip /> |
| | | <el-table-column property="regionName" label="所属区域"> |
| | | <template #default="scope"> |
| | | <span>{{scope.row.city_name ? scope.row.city_name :'--'}},{{scope.row.area_name ? scope.row.area_name :'--'}}</span> |
| | |
| | | <!-- 查看弹框 --> |
| | | <el-dialog |
| | | v-model="dialogVisible" |
| | | class="ztzf-dialog-mange" |
| | | width="60%" |
| | | append-to-body |
| | | @close="dialogClose" |
| | |
| | | class="videoItem" |
| | | ref="videoRefs" |
| | | controls |
| | | autoplay |
| | | |
| | | :src="dialogDetailList.link" |
| | | ></video> |
| | | <!-- 地图 --> |
| | |
| | | <div> |
| | | 拍摄机巢:{{ dialogDetailList?.nestName ? dialogDetailList?.nestName : '--' }} |
| | | </div> |
| | | <div v-if="dialogDetailList?.resultType != 4"> |
| | | <div v-if="dialogDetailList?.resultType == 0"> |
| | | 照片位置:{{ _.round(dialogDetailList?.longitude, 3) }},{{ |
| | | _.round(dialogDetailList?.latitude, 3) |
| | | }} |
| | |
| | | <!-- 视频预览 --> |
| | | <el-dialog |
| | | :title="currentVideoTitle" |
| | | class="ztzf-dialog-mange" |
| | | modal-class="videoDialog" |
| | | append-to-body |
| | | width="54%" |
| | |
| | | class="videoBox" |
| | | ref="videoRefs" |
| | | controls |
| | | autoplay |
| | | preload="auto" |
| | | @play="handleVideoPlay" |
| | | @ended="handleVideoEnded(index)" |
| | | :src="currentVideoUrl" |
| | | ></video> |
| | | </div> |
| | |
| | | const currentAreaPosition = ref({ height: 1987280, latitude: 27.636112, longitude: 115.732975 }); |
| | | let handler = null; |
| | | const switchFolders = ref(false) |
| | | // 视频播放事件处理 |
| | | const handleVideoPlay = (event) => { |
| | | if (event.target.playbackRate !== 0.75) { |
| | | event.target.playbackRate = 0.75 |
| | | |
| | | } |
| | | } |
| | | const handleVideoEnded = index => { |
| | | // 获取当前视频 |
| | | const video = videoRefs.value[index] |
| | | |
| | | // 重置视频播放时间为 0 |
| | | video.currentTime = 0 |
| | | |
| | | // 重新加载视频 |
| | | video.load() |
| | | } |
| | | function bytesToMB(bytes, decimalPlaces = 2) { |
| | | if (typeof bytes !== 'number' || bytes < 0) return '0'; |
| | | return (bytes / 1048576).toFixed(decimalPlaces) + ' MB'; |
| | |
| | | .then(res => { |
| | | folderList.value = res.data.data.records.map(i => ({ ...i, checked: false })) |
| | | total.value = res.data.data.total |
| | | |
| | | }) |
| | | .finally(() => { |
| | | loadings.value = false; |