From 39d91d2b2042e86a45c8b56b53f35d4a8b53b365 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Tue, 03 Dec 2024 13:09:29 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/main'

---
 src/pages/map/components/scomponents/layersControl.vue |   52 ++++++++++++-----
 src/views/survey/components/box/fireContent.vue        |   17 ++++-
 src/pages/map/components/scomponents/baseMap.vue       |    8 ++
 src/views/survey/components/box/dataContent.vue        |   13 +++
 src/components/global/MapContainer.vue                 |   19 ++++++
 src/views/survey/components/box/unitContent.vue        |   11 +++
 src/views/survey/index.vue                             |    4 
 7 files changed, 96 insertions(+), 28 deletions(-)

diff --git a/src/components/global/MapContainer.vue b/src/components/global/MapContainer.vue
index 60f5182..877ce7b 100644
--- a/src/components/global/MapContainer.vue
+++ b/src/components/global/MapContainer.vue
@@ -2,7 +2,7 @@
  * @Author: shuishen 1109946754@qq.com
  * @Date: 2024-10-25 15:07:51
  * @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2024-11-27 19:29:23
+ * @LastEditTime: 2024-12-03 12:21:28
  * @FilePath: \bigScreen\src\components\global\MapContainer.vue
  * @Description: 
  * 
@@ -63,8 +63,25 @@
 })
 
 onUnmounted(() => {
+  window.$viewer?.entities.removeAll()
+  window.$viewer?.imageryLayers.removeAll()
+  window.$viewer?.dataSources.removeAll()
+  let gl = window.$viewer.scene.context._originalGLContext
+  gl.canvas.width = 1
+  gl.canvas.height = 1
+
+  window.$viewer && window.$viewer.setTerrain()
   window.$viewer && window.$viewer.destroy()
+  window.$viewer = null
   delete window.$viewer
+  window.$Cesium = null
+  delete window.$Cesium
+  window.$turf = null
+  delete window.$turf
+  var cesiumContainer = document.getElementById('viewer-container')
+  if (cesiumContainer) {
+    cesiumContainer.remove() // 移除与地图相关的DOM元素
+  }
   store.setLoadMap(false)
 })
 </script>
diff --git a/src/pages/map/components/scomponents/baseMap.vue b/src/pages/map/components/scomponents/baseMap.vue
index 8828cae..612bbf7 100644
--- a/src/pages/map/components/scomponents/baseMap.vue
+++ b/src/pages/map/components/scomponents/baseMap.vue
@@ -2,8 +2,8 @@
  * @Author: shuishen 1109946754@qq.com
  * @Date: 2024-10-28 11:44:45
  * @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2024-11-25 19:39:24
- * @FilePath: \bigScreen\src\pages\layout\components\scomponents\baseMap.vue
+ * @LastEditTime: 2024-12-03 12:01:12
+ * @FilePath: \bigScreen\src\pages\map\components\scomponents\baseMap.vue
  * @Description: 
  * 
  * Copyright (c) 2024 by shuishen, All Rights Reserved. 
@@ -293,6 +293,10 @@
 }
 
 terrainChange(true)
+
+onUnmounted(() => {
+  terrainChange(false)
+})
 </script>
 
 <style lang="scss" scoped>
diff --git a/src/pages/map/components/scomponents/layersControl.vue b/src/pages/map/components/scomponents/layersControl.vue
index ab32dbb..b226603 100644
--- a/src/pages/map/components/scomponents/layersControl.vue
+++ b/src/pages/map/components/scomponents/layersControl.vue
@@ -2,7 +2,7 @@
  * @Author: shuishen 1109946754@qq.com
  * @Date: 2024-10-31 10:47:29
  * @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2024-12-02 22:20:32
+ * @LastEditTime: 2024-12-03 12:51:24
  * @FilePath: \bigScreen\src\pages\map\components\scomponents\layersControl.vue
  * @Description:
  *
@@ -109,23 +109,23 @@
     subType: '3Dtile',
     urlData: [
       {
-        url: VITE_APP_BASE + 'newMx/mx/tile_01/tileset.json',
+        url: VITE_APP_BASE + 'mx/tile_01/tileset.json',
         label: 'tile_01'
       },
       {
-        url: VITE_APP_BASE + 'newMx/mx/tile_02/tileset.json',
+        url: VITE_APP_BASE + 'mx/tile_02/tileset.json',
         label: 'tile_02'
       },
       {
-        url: VITE_APP_BASE + 'newMx/mx/tile_03/tileset.json',
+        url: VITE_APP_BASE + 'mx/tile_03/tileset.json',
         label: 'tile_03'
       },
       {
-        url: VITE_APP_BASE + 'newMx/mx/tile_04/tileset.json',
+        url: VITE_APP_BASE + 'mx/tile_04/tileset.json',
         label: 'tile_04'
       },
       {
-        url: VITE_APP_BASE + 'newMx/mx/tile_05/tileset.json',
+        url: VITE_APP_BASE + 'mx/tile_05/tileset.json',
         label: 'tile_05'
       },
     ],
@@ -695,13 +695,32 @@
           addTileLayers[item.layerName] = []
           item.urlData.forEach((m, ind) => {
             addTileLayers[item.layerName][ind] = new DC.Tileset(m.url, {
-              maximumMemoryUsage: 1024,
-              maximumScreenSpaceError: 8,
-              skipLevels: 5,
+              // maximumMemoryUsage: 1024,
+              // maximumScreenSpaceError: 8,
+              // skipLevels: 5,
+              // skipLevelOfDetail: true,
+              // skipScreenSpaceErrorFactor: 128,
+              // progressiveResolutionHeightFraction: 0.5,
+              // baseScreenSpaceError: 1024
+
+
               skipLevelOfDetail: true,
+              baseScreenSpaceError: 1024,
+              maximumScreenSpaceError: 16, // 数值加大,能让最终成像变模糊
               skipScreenSpaceErrorFactor: 128,
-              progressiveResolutionHeightFraction: 0.5,
-              baseScreenSpaceError: 1024
+              skipLevels: 5,
+              immediatelyLoadDesiredLevelOfDetail: false,
+              loadSiblings: true, // 如果为true则不会在已加载完概况房屋后,自动从中心开始超清化房屋
+              cullWithChildrenBounds: true,
+              cullRequestsWhileMoving: true,
+              cullRequestsWhileMovingMultiplier: 10, // 值越小能够更快的剔除
+              preloadWhenHidden: true,
+              preferLeaves: true,
+              maximumMemoryUsage: 64, // 内存分配变小有利于倾斜摄影数据回收,提升性能体验
+              progressiveResolutionHeightFraction: 0.5, // 数值偏于0能够让初始加载变得模糊
+              dynamicScreenSpaceErrorDensity: 0.5, // 数值加大,能让周边加载变快
+              dynamicScreenSpaceErrorFactor: 1, // 不知道起了什么作用没,反正放着吧先
+              dynamicScreenSpaceError: true, // 根据测试,有了这个后,会在真正的全屏加载完之后才清晰化房屋
             })
             // tile.setHeight(-420)
             tileLayers.addOverlay(addTileLayers[item.layerName][ind])
@@ -979,14 +998,15 @@
   let arr = Object.keys(addTileLayers)
   arr.forEach(i => {
     if (i == 'hgyq') {
-      tileLayers.removeOverlay(addTileLayers[i])
-      addTileLayers[i] = null
-      delete addTileLayers[i]
+      addTileLayers[i].forEach(t => {
+        tileLayers.removeOverlay(t)
+        t = null
+      })
     } else {
       addTileLayers[i] && window.$viewer && window.$viewer.removeLayer(addTileLayers[i])
-      addTileLayers[i] = null
-      delete addTileLayers[i]
     }
+    addTileLayers[i] = null
+    delete addTileLayers[i]
   })
   addTileLayers = null
 
diff --git a/src/views/survey/components/box/dataContent.vue b/src/views/survey/components/box/dataContent.vue
index ceac229..b92fe63 100644
--- a/src/views/survey/components/box/dataContent.vue
+++ b/src/views/survey/components/box/dataContent.vue
@@ -12,13 +12,13 @@
 // import { ref, reactive, onMounted, nextTick, inject } from 'vue'
 import { useEchartsResize } from "hooks/useEchartsResize"
 import { getRescueTeamStatistic } from "@/api/indParkInfo"
-import { nextTick } from "vue"
+import { nextTick, onUnmounted } from "vue"
 
 let $echarts = inject("echarts")
 const curEcharts = ref(null)
 
 let myEcharts = reactive({
-  chart: ''
+  chart: null
 })
 
 const echartsColors = ['#1E90FF', '#36A2EB', '#FFD700', '#FFA500', '#228B22', '#8FBC8F']
@@ -129,6 +129,15 @@
 }
 
 useEchartsResize(echartsResize)
+
+onUnmounted(() => {
+  if (myEcharts.chart) {
+    myEcharts.chart.clear()
+    myEcharts.chart.dispose()
+
+    myEcharts.chart = null
+  }
+})
 </script>
 
 <template>
diff --git a/src/views/survey/components/box/fireContent.vue b/src/views/survey/components/box/fireContent.vue
index ca4e8d3..fdb448c 100644
--- a/src/views/survey/components/box/fireContent.vue
+++ b/src/views/survey/components/box/fireContent.vue
@@ -2,7 +2,7 @@
  * @Author: shuishen 1109946754@qq.com
  * @Date: 2024-11-04 16:32:04
  * @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2024-11-27 15:37:28
+ * @LastEditTime: 2024-12-03 12:57:49
  * @FilePath: \bigScreen\src\views\survey\components\box\fireContent.vue
  * @Description:
  *
@@ -21,9 +21,9 @@
 
 let typeLevel = [
   {
-    name: '低',
+    name: '暂定',
     itemStyle: {
-      color: '#31B5FF'
+      color: '#ADADAD'
     }
   },
   {
@@ -47,7 +47,7 @@
   }
 ]
 
-function getRiskSource() {
+function getRiskSource () {
   getRiskSourceStatistic().then(res => {
     let data = res.data.data
     let dataRsult = []
@@ -131,6 +131,15 @@
 }
 
 useEchartsResize(echartsResize)
+
+onUnmounted(() => {
+  if (myEcharts.chart) {
+    myEcharts.chart.clear()
+    myEcharts.chart.dispose()
+
+    myEcharts.chart = null
+  }
+})
 </script>
 
 <template>
diff --git a/src/views/survey/components/box/unitContent.vue b/src/views/survey/components/box/unitContent.vue
index 1f50a2c..ea977fa 100644
--- a/src/views/survey/components/box/unitContent.vue
+++ b/src/views/survey/components/box/unitContent.vue
@@ -2,7 +2,7 @@
  * @Author: shuishen 1109946754@qq.com
  * @Date: 2023-03-13 14:54:26
  * @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2024-11-28 11:34:00
+ * @LastEditTime: 2024-12-03 12:31:17
  * @FilePath: \bigScreen\src\views\survey\components\box\unitContent.vue
  * @Description:
  *
@@ -121,6 +121,15 @@
 }
 
 useEchartsResize(echartsResize)
+
+onUnmounted(() => {
+  if (myEcharts.chart) {
+    myEcharts.chart.clear()
+    myEcharts.chart.dispose()
+
+    myEcharts.chart = null
+  }
+})
 </script>
 
 <template>
diff --git a/src/views/survey/index.vue b/src/views/survey/index.vue
index 3ee9352..fbfedb3 100644
--- a/src/views/survey/index.vue
+++ b/src/views/survey/index.vue
@@ -2,8 +2,8 @@
  * @Author: shuishen 1109946754@qq.com
  * @Date: 2023-03-10 15:27:59
  * @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2023-03-13 16:02:07
- * @FilePath: \forest-fire\src\views\statistics\index.vue
+ * @LastEditTime: 2024-12-03 12:28:27
+ * @FilePath: \bigScreen\src\views\survey\index.vue
  * @Description: 综合设计
  * 
  * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 

--
Gitblit v1.9.3