From 1dee40ea46601f2ee5d10aa0190625ebf03bdc4e Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Mon, 02 Dec 2024 17:02:19 +0800
Subject: [PATCH] 1

---
 src/pages/layout/components/scomponents/layersControl.vue |  121 ++++++++++++++++++++--------------------
 1 files changed, 61 insertions(+), 60 deletions(-)

diff --git a/src/pages/layout/components/scomponents/layersControl.vue b/src/pages/layout/components/scomponents/layersControl.vue
index 6f1745d..e908bf6 100644
--- a/src/pages/layout/components/scomponents/layersControl.vue
+++ b/src/pages/layout/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-11-26 01:46:15
+ * @LastEditTime: 2024-11-28 19:23:46
  * @FilePath: \bigScreen\src\pages\layout\components\scomponents\layersControl.vue
  * @Description:
  *
@@ -15,7 +15,7 @@
     </template>
 
     <template #close>
-      <div class="close cursor-p" @click="$emit('close', 'layers')"><i class="fa fa-close"></i></div>
+      <div class="close cursor-p" @click="emit('close', 'layers')"><i class="fa fa-close"></i></div>
     </template>
 
     <template #content>
@@ -57,6 +57,8 @@
     default: false
   }
 })
+
+const emit = defineEmits(['close'])
 import panorama from './popup/panorama.vue'
 import { getPage } from '@/api/indParkInfo'
 import { getPage as getfirmPage } from '@/api/firmInfo/firmInfo'
@@ -75,7 +77,7 @@
 
 const { VITE_APP_BASE } = import.meta.env
 // , '7', 
-let indexPoint = ref(['1', '5', '7'])
+let indexPoint = ref(['1', '5'])
 
 const treeRef = ref(null)
 
@@ -101,23 +103,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'
       },
     ],
@@ -393,46 +395,6 @@
       },
 
       {
-        id: '3-7',
-        label: '消防沙',
-        type: 'layer',
-        subType: 'labelPoint',
-        method: getList,
-        params: {
-          type: 7,
-          size: 1000
-        },
-        backgroundIcon: VITE_APP_BASE + 'img/mapicon/xfs.png',
-        className: 'xfs-box',
-        showPanel: false,
-        layerName: 'xfs',
-        incident: (e) => {
-          const { attrParams } = e.overlay
-          // 删除
-          destroy()
-          if (!attrParams.imageUrl) {
-            return
-          }
-          addPupoLayers[attrParams.name] = new DC.HtmlLayer(attrParams.name)
-          window.$viewer.addLayer(addPupoLayers[attrParams.name])
-          let iconEl = `<div class="marsBlueGradientPnl">
-                  <div>${attrParams.fullName}</div>
-                  <img src="${attrParams.imageUrl}" width="160" height="160" />
-                </div>`
-          let divIcon = new DC.DivIcon(
-            new DC.Position(attrParams.lng, attrParams.lat, 64),
-            `<div class="public-map-popup-two">
-                    ${iconEl}
-                  </div>`
-          )
-          let incident = () => {
-            destroy()
-          }
-          divIcon.on(DC.MouseEventType.CLICK, incident)
-          addPupoLayers[attrParams.name].addOverlay(divIcon)
-        }
-      },
-      {
         id: '3-8',
         label: '沟渠',
         type: 'layer',
@@ -440,6 +402,7 @@
         method: getGouQu,
         params: {
           type: 8,
+          size: 1000
         },
         backgroundIcon: VITE_APP_BASE + 'img/mapicon/gouqu.png',
         className: 'xfs-box',
@@ -451,14 +414,46 @@
         label: '废水处理站',
         type: 'layer',
         subType: 'labelPoint',
-        method: getfirmPage,
+        method: getList,
         params: {
-          name: '吉水县绿源污水处理厂',
+          type: 9,
+          size: 1000
+          // name: '吉水县绿源污水处理厂',
         },
         backgroundIcon: VITE_APP_BASE + 'img/mapicon/wsclc.png',
         className: 'xfs-box',
         showPanel: false,
         layerName: 'fsclz'
+      },
+      {
+        id: '3-10',
+        label: '排水口',
+        type: 'layer',
+        subType: 'labelPoint',
+        method: getList,
+        params: {
+          type: 10,
+          size: 1000
+        },
+        backgroundIcon: VITE_APP_BASE + 'img/mapicon/psk.png',
+        className: 'xfs-box',
+        showPanel: false,
+        layerName: 'psk'
+      },
+      {
+        id: '3-11',
+        label: '污水池',
+        type: 'layer',
+        subType: 'labelPoint',
+        method: getList,
+        params: {
+          type: 11,
+          size: 1000
+        },
+        backgroundIcon: VITE_APP_BASE + 'img/mapicon/wsc.png',
+        className: 'xfs-box',
+        showPanel: false,
+        layerName: 'wsc'
       }
     ]
   },
@@ -683,7 +678,6 @@
           //   url: '/zhyq/mx/tile_01/tileset.json',
           // }))
 
-          // console.log(tile, new window.$Cesium.Cesium3DTileset({
           //   url: '/zhyq/mx/tile_01/tileset.json',
           // }), 121323)
           // item.urlData.forEach(i => {
@@ -700,8 +694,12 @@
               progressiveResolutionHeightFraction: 0.5,
               baseScreenSpaceError: 1024
             })
-
+            tile.setSplitDirection(1)
+            // tile.setHeight(-420)
+            // tile.setSplitDirection(-1)
+            window.$viewer.sceneSplit.addTileset(tile)
             tileLayers.addOverlay(tile)
+            window.$viewer.sceneSplit.enable = false
             addTileLayers[item.layerName][ind] = tile
           })
         } else {
@@ -844,8 +842,8 @@
           addTileLayers[item.layerName].forEach(m => m.show = false)
         } else {
           addTileLayers[item.layerName].clear()
-          window.$viewer.removeLayer(addTileLayers[item.layerName])
-
+          window.$viewer && window.$viewer.removeLayer(addTileLayers[item.layerName])
+          addTileLayers[item.layerName] = null
           delete addTileLayers[item.layerName]
         }
       }
@@ -890,8 +888,6 @@
 const restHandleDelChange = (key) => {
   let checkIds = treeRef.value?.getCheckedKeys()
 
-  console.log(checkIds, key)
-
   if (checkIds && !checkIds.some(i => i == key)) {
     return
   }
@@ -931,24 +927,29 @@
 function destroy () {
   let arr = Object.keys(addPupoLayers)
   arr.filter(i => i != 'hgyq').forEach(i => {
-    addPupoLayers[i] && window.$viewer.removeLayer(addPupoLayers[i])
+    addPupoLayers[i] && window.$viewer && window.$viewer.removeLayer(addPupoLayers[i])
+    addPupoLayers[i] = null
+    delete addPupoLayers[i]
   })
-  addPupoLayers = {}
 }
 
 onUnmounted(() => {
   if (tileLayers) {
     tileLayers.clear()
-    window.$viewer.removeLayer(tileLayers)
+    window.$viewer && window.$viewer.removeLayer(tileLayers)
     tileLayers = null
   }
 
   let arr = Object.keys(addTileLayers)
   arr.filter(i => i != 'hgyq').forEach(i => {
-    addTileLayers[i] && window.$viewer.removeLayer(addTileLayers[i])
+    addTileLayers[i] && window.$viewer && window.$viewer.removeLayer(addTileLayers[i])
+    addTileLayers[i] = null
+    delete addTileLayers[i]
   })
+  addTileLayers = null
   // 弹窗销毁
   destroy()
+  addPupoLayers = null
 
   EventBus.off('restHandleCheckChange', restHandleCheckChange)
   EventBus.off('restHandleDelChange', restHandleDelChange)

--
Gitblit v1.9.3