| | |
| | | <template #header="{ titleId, titleClass }"> |
| | | <div class="my-header"> |
| | | <h4 :id="titleId" :class="titleClass">{{ dialogDetailList?.nickName }}</h4> |
| | | <el-button |
| | | type="success" |
| | | plain |
| | | icon="el-icon-download" |
| | | @click="detailDownLoad(dialogDetailList)" |
| | | >下载</el-button |
| | | > |
| | | |
| | | </div> |
| | | </template> |
| | | <div class="detailContainer"> |
| | |
| | | <div class="title"> |
| | | <div class="inputEdit"> |
| | | 文件名称:<span class="fileTitle" v-if="!dialogDetailList?.checkedinput">{{ |
| | | dialogDetailList.nickName |
| | | dialogDetailList?.nickName |
| | | }}</span> |
| | | <el-input |
| | | v-else |
| | |
| | | clearable |
| | | /> |
| | | </div> |
| | | <div class="editname" @click="editTitle(dialogDetailList)"> |
| | | <span v-if="!dialogDetailList.checkedinput" |
| | | <div class="editname" > |
| | | <span v-if="!dialogDetailList?.checkedinput" @click="editTitle(dialogDetailList)" |
| | | ><el-icon><Edit /></el-icon |
| | | ></span> |
| | | <div v-else class="suffixBoxEdit"> |
| | |
| | | <div>文件类型:{{ photoTypeMap[dialogDetailList?.photoType] }}</div> |
| | | <div>文件格式:{{ resultTypeMap[dialogDetailList?.resultType] }}</div> |
| | | <div>照片文件大小:{{ dialogDetailList?.attachSize }}</div> |
| | | <div> <el-button |
| | | type="success" |
| | | plain |
| | | icon="el-icon-download" |
| | | @click="detailDownLoad(dialogDetailList)" |
| | | >下载</el-button |
| | | ></div> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | |
| | | updataTitleApi, |
| | | } from '@/api/dataCenter/dataCenter'; |
| | | import { getShowImg, getSmallImg } from '@/utils/util'; |
| | | import { onMounted } from 'vue'; |
| | | import { onMounted, watch } from 'vue'; |
| | | import dayjs from 'dayjs'; |
| | | // 视频一帧 |
| | | function convertVideoUrlToThumbnail(videoUrl) { |
| | |
| | | const startTime = dayjs().subtract(6, 'day').startOf('day'); |
| | | const endTime = dayjs().endOf('day'); |
| | | const timeRange = [startTime.format('YYYY-MM-DD HH:mm:ss'), endTime.format('YYYY-MM-DD HH:mm:ss')]; |
| | | |
| | | // 全景预览 |
| | | const panoramaParamsShow = ref(false); |
| | | const panoramaParamsUrl = ref(null); |
| | | const clickpanorama = val => { |
| | | panoramaParamsShow.value = true; |
| | | panoramaParamsUrl.value = val.link; |
| | | }; |
| | | // 视频 |
| | | const currentVideoTitle = ref(''); |
| | | const VideoShow = ref(false); |
| | | const currentVideoUrl = ref(null); |
| | | const enterFullScreen = val => { |
| | | currentVideoTitle.value = val?.nickName; |
| | | currentVideoUrl.value = val?.link; |
| | | VideoShow.value = true; |
| | | }; |
| | | const jobListParams = reactive({ |
| | | current: 1, |
| | | size: 10, |
| | |
| | | .then(() => { |
| | | deleteFileMultipleApi(val.id) |
| | | .then(res => { |
| | | console.log('删除成功', res); |
| | | ElMessage.success('删除成功'); |
| | | getaiImagesPage(); |
| | | }) |
| | | }) |
| | | .catch(error => { |
| | | ElMessage.error('删除失败'); |
| | | }); |
| | |
| | | if (list.length === 1) { |
| | | list.forEach((item, index) => { |
| | | setTimeout(() => { |
| | | aLinkDownload(item.url, item.nickName); |
| | | aLinkDownload(item.url, item?.nickName); |
| | | }, index * 500); // 每个文件下载间隔50毫秒 |
| | | }); |
| | | } else { |
| | | // loading = ElLoading.service({ background: 'rgba(0, 0, 0, 0.5)', text: '打包中,请稍等...' }) |
| | | const fileIds = list.map(i => Number(i.id)); |
| | | const fileIds = list.map(i =>i.id); |
| | | console.log('fileIds', fileIds, list); |
| | | let aaa = { |
| | | areaCode: '', |
| | |
| | | fileDownload(); |
| | | }; |
| | | const detailDownLoad = val => { |
| | | aLinkDownload(val.link, val.nickName); |
| | | aLinkDownload(val.link, val?.nickName); |
| | | }; |
| | | // 全部下载 |
| | | const aLLDownloadFile = () => { |
| | |
| | | downloadApi(params).then(res => { |
| | | console.log('res.data.data', res.data.data); |
| | | aLinkDownload(res.data.data, `sjzx-file-pack-${dayjs().format('YYYYMMDDHHmmss')}.zip`); |
| | | // loading.close() |
| | | |
| | | }); |
| | | console.log('全部下载'); |
| | | |
| | | }; |
| | | // 查看弹框 |
| | | const dialogVisible = ref(false); |
| | |
| | | getAttachInfoAPI(val.id).then(res => { |
| | | dialogDetailList.value = res.data.data; |
| | | dialogDetailList.value = { ...res.data.data, checkedinput: false }; |
| | | console.log('val111', dialogDetailList.value); |
| | | }); |
| | | dialogVisible.value = true; |
| | | }; |
| | |
| | | const fileNameedit = ref(''); |
| | | // 编辑文件名 |
| | | const editTitle = val => { |
| | | |
| | | val.checkedinput = true; |
| | | fileNameedit.value = val.nickName; |
| | | fileNameedit.value = val?.nickName; |
| | | }; |
| | | // 取消 |
| | | const cancelEditSuffix = item => { |
| | | item.nickName = fileNameedit.value; |
| | | dialogDetailList.value.checkedinput = false; |
| | | console.log('item', item); |
| | | item.checkedinput = false; |
| | | }; |
| | | const submitEditSuffix = item => { |
| | | saveTitle(item); |
| | |
| | | ElMessage.warning(`${fieldName}不能为空`); |
| | | return false; |
| | | } |
| | | |
| | | if (name.length > 50) { |
| | | ElMessage.warning(`${fieldName}不能超过50个字符`); |
| | | return false; |
| | | } |
| | | |
| | | return true; |
| | | }; |
| | | // 保存文件名 |
| | | |
| | | const saveTitle = item => { |
| | | const updateparams = { |
| | | id: Number(item.id), |
| | |
| | | item.checkedinput = false; |
| | | updataTitleApi(updateparams) |
| | | .then(res => { |
| | | console.log('updateparams', updateparams); |
| | | if (res.status === 200) { |
| | | ElMessage.success('修改成功'); |
| | | } else { |
| | |
| | | console.error('API error:', error); |
| | | }); |
| | | }; |
| | | // 全景预览 |
| | | const panoramaParamsShow = ref(false); |
| | | const panoramaParamsUrl = ref(null); |
| | | const clickpanorama = val => { |
| | | panoramaParamsShow.value = true; |
| | | panoramaParamsUrl.value = val.link; |
| | | }; |
| | | // 视频 |
| | | const currentVideoTitle = ref(''); |
| | | const VideoShow = ref(false); |
| | | const currentVideoUrl = ref(null); |
| | | const enterFullScreen = val => { |
| | | currentVideoTitle.value = val.nickName; |
| | | currentVideoUrl.value = val.link; |
| | | VideoShow.value = true; |
| | | }; |
| | | // 地图弹框 |
| | | |
| | | // 地图弹框 |
| | | const mapComponent = ref(null);// 创建子组件引用 |
| | | const mapList = ref(null); |
| | | const dataCenterMapVisible = ref(false); |
| | |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | onMounted(() => { |
| | | getaiImagesPage(); |
| | | }); |
| | |
| | | } |
| | | .my-header :deep(.el-dialog__title) { |
| | | margin: 0 !important; |
| | | height: 19px; |
| | | } |
| | | .my-header { |
| | | display: flex; |