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