智慧园区前端大屏
linwe
2024-12-03 39d91d2b2042e86a45c8b56b53f35d4a8b53b365
Merge remote-tracking branch 'origin/main'
7 files modified
120 ■■■■ changed files
src/components/global/MapContainer.vue 19 ●●●●● patch | view | raw | blame | history
src/pages/map/components/scomponents/baseMap.vue 8 ●●●● patch | view | raw | blame | history
src/pages/map/components/scomponents/layersControl.vue 50 ●●●● patch | view | raw | blame | history
src/views/survey/components/box/dataContent.vue 13 ●●●● patch | view | raw | blame | history
src/views/survey/components/box/fireContent.vue 15 ●●●● patch | view | raw | blame | history
src/views/survey/components/box/unitContent.vue 11 ●●●●● patch | view | raw | blame | history
src/views/survey/index.vue 4 ●●●● patch | view | raw | blame | history
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>
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>
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 = null
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>
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'
    }
  },
  {
@@ -131,6 +131,15 @@
}
useEchartsResize(echartsResize)
onUnmounted(() => {
  if (myEcharts.chart) {
    myEcharts.chart.clear()
    myEcharts.chart.dispose()
    myEcharts.chart = null
  }
})
</script>
<template>
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>
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.