| | |
| | | <!-- 历史任务详情 --> |
| | | <template> |
| | | <el-dialog class="ztzf-dialog" append-to-body modal-class="detailsOfHistoricalTasks" v-model="isShow" title="历史任务详情" |
| | | :width="pxToRem(1700)" :close-on-click-modal="false" :destroy-on-close="true"> |
| | | :width="pxToRem(1800)" :close-on-click-modal="false" :destroy-on-close="true"> |
| | | <div class="content"> |
| | | <div class="contentLeft"> |
| | | <div class="machineTableDetailsTitle"><span>详情</span></div> |
| | |
| | | <span>{{ total }}</span> |
| | | 个 |
| | | </p> |
| | | <div class="rightBox"> |
| | | <div class="rightBox" v-if="total"> |
| | | <div class="downloadBtn" @click="htlsrwxq === 100 && downloadFun()"> |
| | | <el-progress v-if="htlsrwxq !== 100" :percentage="htlsrwxq" :show-text="false" striped striped-flow :duration="1" /> |
| | | <div class="downloadBtnText"> |
| | |
| | | :initial-index="index" |
| | | fit="cover" |
| | | /> |
| | | |
| | | |
| | | <el-dialog |
| | | class="ztzf-dialog" |
| | | append-to-body |
| | |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | |
| | | |
| | | </template> |
| | | |
| | | </div> |
| | | <el-image-viewer |
| | | v-if="showViewer" |
| | | :url-list="previewUrls" |
| | | :initial-index="activeIndex" |
| | | @close="showViewer = false" |
| | | /> |
| | | </div> |
| | | <DeviceJobDetailsMap v-if="isShow" :yuanImages="yuanImages" class="contentRight" :detailsData="detailsData" /> |
| | | |
| | | |
| | | <div class="content-right" v-if="isShow"> |
| | | <DeviceJobDetailsMap |
| | | :detailsData="detailsData" |
| | | :yuanImages="yuanImages" |
| | | @showImageeclick="showImageeclick" |
| | | :jobId="props.jobId" |
| | | /> |
| | | <div class="content-map-popups"></div> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 全景360 --> |
| | |
| | | <script setup> |
| | | import PanoramaPopup from '@/components/PanoramaPopup/PanoramaPopup.vue'; |
| | | import { getShowImg, getSmallImg, getzsSmallImg,getzsShowImg } from '@/utils/util'; |
| | | import { getaiImagesPageAPI,cancelDownloadApi,getDownloadStatusApi,attachDownload} from '@/api/dataCenter/dataCenter'; |
| | | import { getaiImagesPageAPI,cancelDownloadApi,getDownloadStatusApi,attachDownload,aiImagesPage} from '@/api/dataCenter/dataCenter'; |
| | | import { pxToRem } from '@/utils/rem' |
| | | import JobRelatedEvents from './JobRelatedEvents.vue' |
| | | import { getEventMediaListApi, getJobDetails, getJobInfoFiles,getJobsAllFiles } from '@/api/job/task' |
| | |
| | | ) |
| | | const getAchievement = () => { |
| | | if (!props.jobId) return |
| | | |
| | | const attachmentsParams = { |
| | | 'wayLineJobId': props.jobId, |
| | | 'resultTypes': [0, 1, 3, 4, 5], |
| | | 'orderByCreateTime': true, |
| | | } |
| | | |
| | | const attachmentsParams = { |
| | | 'wayLineJobId': props.jobId, |
| | | 'resultTypes': [0, 1, 2, 4, 5], |
| | | 'orderByCreateTime': true, |
| | | current: 1, |
| | | size: 2000, |
| | | } |
| | | const pageParams = { |
| | | current: 1, |
| | | size: 2000, |
| | | } |
| | | getaiImagesPageAPI(attachmentsParams,pageParams ).then(res => { |
| | | aiImagesPage(attachmentsParams ).then(res => { |
| | | achievementList.value = res.data.data.records.map(i => ({ |
| | | ...i, |
| | | checked: false, |
| | |
| | | showUrl: i.resultType === 4 ? getzsShowImg(i.link) : getShowImg(i.link), |
| | | })) |
| | | total.value = res.data.data.total |
| | | console.log('成果数据', res.data.data) |
| | | // console.log('成果数据', res.data.data) |
| | | }) |
| | | } |
| | | const jumpMore = () => { |
| | |
| | | }).then(result => { |
| | | if (result.data.code !== 200) return |
| | | yuanImages.value = result.data.data.records |
| | | console.log('ssssss',yuanImages.value); |
| | | |
| | | |
| | | |
| | | }) |
| | | }) |
| | | // flystatus.value = res.data.data.ai_type_str |
| | |
| | | } |
| | | // 下载 |
| | | const downloadFun = async () => { |
| | | const list = achievementList.value.filter(i => i.checked) |
| | | const list = achievementList.value.filter(i => i.checked) |
| | | console.log('list',list); |
| | | if (!list?.length) return ElMessage.warning('请选择文件') |
| | | if (list.length === 1) { |
| | |
| | | const clickpanorama = val => { |
| | | panoramaParamsShow.value = true |
| | | panoramaParamsUrl.value = val.link |
| | | } |
| | | // 从地图点击图片预览 |
| | | const showViewer = ref(false) |
| | | const activeIndex = ref(0) |
| | | const previewUrls = ref([]) |
| | | const showImageeclick = (list, index, categoriestype) => { |
| | | if (categoriestype === 5) { |
| | | panoramaParamsShow.value = true |
| | | panoramaParamsUrl.value = list[0] |
| | | } else { |
| | | previewUrls.value = list |
| | | activeIndex.value = 0 |
| | | showViewer.value = true |
| | | } |
| | | } |
| | | // 取消下载 |
| | | function cancelDownload() { |
| | |
| | | |
| | | :deep(){ |
| | | .el-progress-bar__outer{ |
| | | height: 26px !important; |
| | | height: 28px !important; |
| | | border-radius: 0 !important; |
| | | background: transparent !important; |
| | | |
| | |
| | | } |
| | | |
| | | } |
| | | .contentRight { |
| | | |
| | | .content-right { |
| | | position: relative; |
| | | width: 0; |
| | | flex-grow: 1; |
| | | background: #19ad8d; |
| | | margin-right: 17px; |
| | | overflow: hidden; |
| | | |
| | | .content-map-popups { |
| | | pointer-events: none; |
| | | |
| | | > * { |
| | | pointer-events: auto !important; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |