| | |
| | | <div class="rightDetail"> |
| | | <div class="title"> |
| | | <div class="inputEdit"> |
| | | 文件名称:<span v-if="!dialogDetailList.checkedinput">{{ |
| | | 文件名称:<span class="fileTitle" v-if="!dialogDetailList?.checkedinput">{{ |
| | | dialogDetailList.nickName |
| | | }}</span> |
| | | <el-input |
| | |
| | | </el-dialog> |
| | | <!-- 地图弹框 --> |
| | | <dataCenterMap |
| | | ref="mapComponent" |
| | | ref="mapComponent" |
| | | v-model:show="dataCenterMapVisible" |
| | | :jobId="jobId" |
| | | @lookDetail="lookDetail" |
| | | :mapList="mapList" |
| | | :dotData="mapList" |
| | | ></dataCenterMap> |
| | | </div> |
| | | </template> |
| | |
| | | |
| | | selectedRows.value = val; |
| | | }; |
| | | // 删除 |
| | | const deleteDetail = val => { |
| | | ElMessageBox.confirm('您确定删除吗?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | }) |
| | | .then(() => { |
| | | deleteFileMultipleApi(val.id) |
| | | .then(res => { |
| | | console.log('删除成功', res); |
| | | ElMessage.success('删除成功'); |
| | | getaiImagesPage(); |
| | | }) |
| | | .catch(error => { |
| | | ElMessage.error('删除失败'); |
| | | }); |
| | | }) |
| | | .catch(() => {}); |
| | | }; |
| | | // url下载 |
| | | function aLinkDownload(url, name) { |
| | | const a = document.createElement('a'); |
| | |
| | | if (list.length === 1) { |
| | | list.forEach((item, index) => { |
| | | setTimeout(() => { |
| | | // console.log('item.url, item.file_name', item.url, item.nickName) |
| | | aLinkDownload(item.url, item.nickName); |
| | | }, index * 500); // 每个文件下载间隔50毫秒 |
| | | }); |
| | |
| | | |
| | | downloadApi(aaa).then(res => { |
| | | console.log('res.data.data', res.data.data); |
| | | // aLinkDownload(res.data.data, `sjzx-file-pack-${dayjs().format('YYYYMMDDHHmmss')}.zip`); |
| | | aLinkDownload(res.data.data, `sjzx-file-pack-${dayjs().format('YYYYMMDDHHmmss')}.zip`); |
| | | // loading.close() |
| | | }); |
| | | } |
| | |
| | | }; |
| | | // 全部下载 |
| | | const aLLDownloadFile = () => { |
| | | console.log('全部下载'); |
| | | |
| | | const params = { |
| | | ...jobListParams.searchParams, |
| | | }; |
| | | console.log('params',params); |
| | | |
| | | 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); |
| | |
| | | const lookDetail = val => { |
| | | getAttachInfoAPI(val.id).then(res => { |
| | | dialogDetailList.value = res.data.data; |
| | | dialogDetailList.value= {...res.data.data, checkedinput: false,} |
| | | dialogDetailList.value = { ...res.data.data, checkedinput: false }; |
| | | console.log('val111', dialogDetailList.value); |
| | | }); |
| | | dialogVisible.value = true; |
| | | }; |
| | | // 删除 |
| | | const deleteDetail = val => { |
| | | ElMessageBox.confirm('您确定删除吗?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | }) |
| | | .then(() => { |
| | | deleteFileMultipleApi(val.id) |
| | | .then(res => { |
| | | console.log('删除成功', res); |
| | | ElMessage.success('删除成功'); |
| | | getaiImagesPage(); |
| | | }) |
| | | .catch(error => { |
| | | ElMessage.error('删除失败'); |
| | | }); |
| | | }) |
| | | .catch(() => {}); |
| | | }; |
| | | |
| | | const fileNameedit = ref('') |
| | | const fileNameedit = ref(''); |
| | | // 编辑文件名 |
| | | const editTitle = (val) => { |
| | | val.checkedinput = true |
| | | fileNameedit.value = val.nickName |
| | | } |
| | | const cancelEditSuffix = (item) => { |
| | | item.nickName = fileNameedit.value |
| | | item.checkedinput = false |
| | | console.log('item',item); |
| | | } |
| | | const submitEditSuffix = (item) => { |
| | | saveTitle(item) |
| | | } |
| | | const editTitle = val => { |
| | | val.checkedinput = true; |
| | | fileNameedit.value = val.nickName; |
| | | }; |
| | | const cancelEditSuffix = item => { |
| | | item.nickName = fileNameedit.value; |
| | | dialogDetailList.value.checkedinput = false; |
| | | console.log('item', item); |
| | | }; |
| | | const submitEditSuffix = item => { |
| | | saveTitle(item); |
| | | }; |
| | | // 通用空值检查函数 |
| | | const validateNickname = (name, fieldName) => { |
| | | if (!name || name.trim() === '') { |
| | |
| | | }; |
| | | // 保存文件名 |
| | | |
| | | const saveTitle = (item) => { |
| | | const saveTitle = item => { |
| | | const updateparams = { |
| | | id:Number( item.id), |
| | | id: Number(item.id), |
| | | nickName: item.nickName, |
| | | }; |
| | | |
| | | // 验证并提示 |
| | | if (!validateNickname(updateparams.nickName, '名称')) return; |
| | | item.checkedinput = false; |
| | | updataTitleApi(updateparams) |
| | | .then(res => { |
| | | console.log('updateparams',updateparams); |
| | | |
| | | console.log('updateparams', updateparams); |
| | | if (res.status === 200) { |
| | | ElMessage.success('修改成功'); |
| | | } else { |
| | |
| | | const clickpanorama = val => { |
| | | panoramaParamsShow.value = true; |
| | | panoramaParamsUrl.value = val.link; |
| | | // console.log('全景', val); |
| | | }; |
| | | // 视频 |
| | | const currentVideoTitle = ref(''); |
| | |
| | | VideoShow.value = true; |
| | | }; |
| | | // 地图弹框 |
| | | // 创建子组件引用 |
| | | const mapComponent = ref(null); |
| | | |
| | | const mapComponent = ref(null);// 创建子组件引用 |
| | | const mapList = ref(null); |
| | | const dataCenterMapVisible = ref(false); |
| | | const jobId = ref(''); |
| | |
| | | jobId.value = val.wayLineJobId; |
| | | mapList.value = val; |
| | | dataCenterMapVisible.value = true; |
| | | if(mapComponent.value){ |
| | | mapComponent.value.labelBoxUpdate(); |
| | | } |
| | | // 确保地图组件加载完成 |
| | | nextTick(() => { |
| | | if (mapComponent.value) { |
| | | // 调用子组件方法并传递数据 |
| | | mapComponent.value.initEntityOrPopup(val) |
| | | } |
| | | }); |
| | | }; |
| | | onMounted(() => { |
| | | getaiImagesPage(); |
| | |
| | | .inputEdit { |
| | | display: flex; |
| | | align-items: center; |
| | | width: 100%; |
| | | .fileTitle{ |
| | | width: 70%; |
| | | white-space: nowrap; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | } |
| | | } |
| | | } |
| | | div { |