From 141cc1bc650f974b855dbfd03e29b78774a1c419 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Tue, 02 Dec 2025 10:05:53 +0800
Subject: [PATCH] Merge branch 'refs/heads/feature/v8.0/8.0.4' into test
---
src/views/dataCenter/dataCenter.vue | 2
src/views/layerManagement/components/leftList.vue | 14 ++++
src/views/resource/patchManagement.vue | 52 +++++++++--------
src/views/job/components/DeviceJobDetails.vue | 87 ++++++++++++++--------------
4 files changed, 85 insertions(+), 70 deletions(-)
diff --git a/src/views/dataCenter/dataCenter.vue b/src/views/dataCenter/dataCenter.vue
index 95d19e5..40ed9c2 100644
--- a/src/views/dataCenter/dataCenter.vue
+++ b/src/views/dataCenter/dataCenter.vue
@@ -304,7 +304,7 @@
>
<div class="video-container">
<video
- style="width: 100%"
+ style="width: 100%;height: 500px"
class="videoBox"
ref="videoRefs"
controls
diff --git a/src/views/job/components/DeviceJobDetails.vue b/src/views/job/components/DeviceJobDetails.vue
index 604dbd0..41fc0a3 100644
--- a/src/views/job/components/DeviceJobDetails.vue
+++ b/src/views/job/components/DeviceJobDetails.vue
@@ -99,52 +99,53 @@
fit="cover"
/>
- <el-dialog
- class="ztzf-dialog"
- append-to-body
- modal-class="detailsOfHistoricalTasks"
- v-model="VideoShow"
- :width="pxToRem(1600)"
- :close-on-click-modal="false"
- :destroy-on-close="true"
- >
- <div class="fullscreen">
- <video
- ref="fullscreenVideo"
- class="fullscreen-video"
- :src="currentVideoUrl"
- :style="{ width: pxToRem(1567), height: '80vh' }"
- controls
+
+ </div>
+
+ </template>
+
+ </div>
+ <el-image-viewer
+ v-if="showViewer"
+ :url-list="previewUrls"
+ :initial-index="activeIndex"
+ @close="showViewer = false"
+ />
+ </div>
+
+ <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>
+ <el-dialog
+ class="ztzf-dialog"
+ append-to-body
+ modal-class="detailsOfHistoricalTasks"
+ v-model="VideoShow"
+ :width="pxToRem(1600)"
+ :close-on-click-modal="false"
+ :destroy-on-close="true"
+ >
+ <div class="fullscreen">
+ <video
+ ref="fullscreenVideo"
+ class="fullscreen-video"
+ :src="currentVideoUrl"
+ :style="{ width: pxToRem(1567), height: '80vh' }"
+ controls
preload="auto"
@play="handleVideoPlay"
@ended="handleVideoEnded"
- ></video>
- </div>
- </el-dialog>
- </div>
-
- </template>
-
- </div>
- <el-image-viewer
- v-if="showViewer"
- :url-list="previewUrls"
- :initial-index="activeIndex"
- @close="showViewer = false"
- />
- </div>
-
- <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>
+ ></video>
+ </div>
+ </el-dialog>
<!-- 全景360 -->
<PanoramaPopup
v-if="'全景'"
diff --git a/src/views/layerManagement/components/leftList.vue b/src/views/layerManagement/components/leftList.vue
index 7740375..533a188 100644
--- a/src/views/layerManagement/components/leftList.vue
+++ b/src/views/layerManagement/components/leftList.vue
@@ -127,7 +127,17 @@
loading.value = true;
const res = await treeDataApi();
treeAllData.value = res.data.data;
-
+ if(coverData.value.length===0){
+ checkedKeys.value = [];
+ checkedNodes.value = [];
+ coverData.value = [];
+ nextTick(() => {
+ if (treeRef.value) {
+ treeRef.value.setCheckedKeys([]);
+ }
+ });
+ }
+
setupWatch();
} catch (error) {
console.error('获取数据失败:', error);
@@ -213,7 +223,6 @@
const currentCheckedKeys = [...checkedKeys.value];
const currentCheckedNodes = [...checkedNodes.value];
EventBus.emit('focusOnNode', node.data);
-
if (node.data.level === 2) {
const folderChildren = node.data.children || [];
const childrenIds = folderChildren.map(child => child.id);
@@ -267,6 +276,7 @@
// 删除按钮事件
const handleDelete = node => {
+
let id = node.data.id;
ElMessageBox.confirm('确定要删除该内容吗?', '提示', {
confirmButtonText: '确定',
diff --git a/src/views/resource/patchManagement.vue b/src/views/resource/patchManagement.vue
index 2c51b44..1d73c99 100644
--- a/src/views/resource/patchManagement.vue
+++ b/src/views/resource/patchManagement.vue
@@ -510,44 +510,48 @@
});
};
// 图斑上传
-const uploadFlightFile = (file, t) => {
+const uploadFlightFile = async (file, t) => {
loading.value = true;
- const fileSuffix = file.name.substring(file.name.lastIndexOf('.') + 1);
- if (!['kmz', 'kml', 'zip'].includes(fileSuffix)) {
- return ElMessage.error('请上传zip/kmz/kml格式的文件');
- }
- if (file) {
- box.value = false;
- }
- let data = new FormData();
- let type = t === '3' ? '' : t;
- const params = {
- file: file,
- fileName: ruleForm.name,
- LotTypeId: ruleForm.region,
- };
+ try {
+ const fileSuffix = file.name.substring(file.name.lastIndexOf('.') + 1);
+ if (!['kmz', 'kml', 'zip'].includes(fileSuffix)) {
+ ElMessage.error('请上传zip/kmz/kml格式的文件');
+ return;
+ }
+ box.value = false;
+ let data = new FormData();
+ let type = t === '3' ? '' : t;
+ const params = {
+ file: file,
+ fileName: ruleForm.name,
+ LotTypeId: ruleForm.region,
+ };
- Object.keys(params).forEach(key => {
- data.append(key, params[key]);
- });
+ Object.keys(params).forEach(key => {
+ data.append(key, params[key]);
+ });
- uploadManagementApi(data).then(res => {
+ const res = await uploadManagementApi(data);
if (res.data.code !== 0) {
- return ElMessage.error('上传失败');
+ ElMessage.error('上传失败');
+ return;
}
ElMessage.success('上传成功');
-
- loading.value = false;
+
+ // 重置表单
ruleForm.name = '';
ruleForm.region = '';
-
if (ruleFormRef.value) {
ruleFormRef.value.resetFields();
}
searchReset();
- });
+ } catch (error) {
+ loading.value = false;
+ } finally {
+ loading.value = false;
+ }
};
provide('searchReset', searchReset);
onMounted(() => {
--
Gitblit v1.9.3