From 6436f06c84ceb0bf2d8771dbad1c9e8e80bb587e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Mon, 04 Nov 2024 16:44:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/main'

---
 src/views/survey/components/box/fireContent.vue           |  126 +++++++++++---------
 src/views/survey/components/box/unitContent.vue           |    7 
 src/views/survey/index.vue                                |   14 +-
 src/views/layout/components/scomponents/baseMap.vue       |   17 --
 src/views/layout/components/scomponents/layersControl.vue |  157 +++++++++++++++++++++++--
 5 files changed, 218 insertions(+), 103 deletions(-)

diff --git a/src/views/layout/components/scomponents/baseMap.vue b/src/views/layout/components/scomponents/baseMap.vue
index ff31100..2e84c5e 100644
--- a/src/views/layout/components/scomponents/baseMap.vue
+++ b/src/views/layout/components/scomponents/baseMap.vue
@@ -288,22 +288,7 @@
   } else {
     global.$viewer.setTerrain()
   }
-} 
-
-  let layer = new DC.HtmlLayer('layer')
-  global.$viewer.addLayer(layer)
-        let divIcon = new DC.DivIcon(
-          new DC.Position(124, 24, 100),
-          `<div class="public-map-popup">
-            <div class="marsBlueGradientPnl">
-              <div>指挥室</div>
-            </div>
-          </div>`
-        )
-
-        divIcon.setStyle({
-        })
-        layer.addOverlay(divIcon)
+}
 </script>
 
 <style lang="scss" scoped>
diff --git a/src/views/layout/components/scomponents/layersControl.vue b/src/views/layout/components/scomponents/layersControl.vue
index b3ca479..1fb9ce8 100644
--- a/src/views/layout/components/scomponents/layersControl.vue
+++ b/src/views/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-10-31 18:16:33
+ * @LastEditTime: 2024-11-04 14:27:54
  * @FilePath: \bigScreen\src\views\layout\components\scomponents\layersControl.vue
  * @Description: 
  * 
@@ -46,6 +46,8 @@
 </template>
 
 <script setup>
+import { getPage } from '@/api/indParkInfo'
+import { getList } from "@/api/space/space"
 const { VITE_APP_BASE } = import.meta.env
 import { getViewer } from 'utils/getViewer'
 const globalViewer = getViewer()
@@ -58,23 +60,120 @@
 const data = [
   {
     id: 1,
-    label: '三维模型',
+    label: '化工园区',
+    type: 'layer',
+    subType: '3Dtile',
+    url: VITE_APP_BASE + 'mx/tileset.json',
+    layerName: 'hgyq'
+  },
+
+  {
+    id: 2,
+    label: '企业分布',
+    type: 'layer',
+    subType: 'labelPoint',
+    method: getPage,
+    params: {
+      size: 1000
+    },
+    layerName: 'qyfb'
+  },
+
+  {
+    id: 3,
+    label: '应急空间',
     children: [
       {
-        id: 4,
-        label: '倾斜摄影',
-        children: [
-          {
-            id: 9,
-            label: '化工园区',
-            type: 'layer',
-            subType: '3Dtile',
-            url: VITE_APP_BASE + 'mx/tileset.json'
-          },
-        ],
+        id: 3 - 1,
+        label: '应急池',
+        type: 'layer',
+        subType: 'labelPoint',
+        method: getList,
+        params: {
+          type: 1,
+          size: 1000
+        },
+        layerName: 'yjc'
       },
-    ],
-  },
+      {
+        id: 3 - 2,
+        label: '阀门',
+        type: 'layer',
+        subType: 'labelPoint',
+        method: getList,
+        params: {
+          type: 2,
+          size: 1000
+        },
+        layerName: 'fm'
+      },
+
+      {
+        id: 3 - 3,
+        label: '公共管网',
+        type: 'layer',
+        subType: 'labelPoint',
+        method: getList,
+        params: {
+          type: 3,
+          size: 1000
+        },
+        layerName: 'gggw'
+      },
+
+      {
+        id: 3 - 4,
+        label: '污水提升泵站',
+        type: 'layer',
+        subType: 'labelPoint',
+        method: getList,
+        params: {
+          type: 4,
+          size: 1000
+        },
+        layerName: 'wstsbz'
+      },
+
+      {
+        id: 3 - 5,
+        label: '水库',
+        type: 'layer',
+        subType: 'labelPoint',
+        method: getList,
+        params: {
+          type: 5,
+          size: 1000
+        },
+        layerName: 'sk'
+      },
+
+      {
+        id: 3 - 6,
+        label: '应急泵',
+        type: 'layer',
+        subType: 'labelPoint',
+        method: getList,
+        params: {
+          type: 6,
+          size: 1000
+        },
+        layerName: 'yjb'
+      },
+
+      {
+        id: 3 - 7,
+        label: '消防沙',
+        type: 'layer',
+        subType: 'labelPoint',
+        method: getList,
+        params: {
+          type: 7,
+          size: 1000
+        },
+        layerName: 'xfs'
+      }
+    ]
+  }
 ]
 
 const defaultProps = {
@@ -121,6 +220,8 @@
 let tileLayers = new DC.TilesetLayer('tileLayers')
 globalViewer.addLayer(tileLayers)
 
+
+
 const handleCheckChange = (data, options) => {
   collectedNodes.value = []
   collectNodesWithFlag(data)
@@ -133,13 +234,35 @@
         )
         tileLayers.addOverlay(addTileLayers[item.layerName])
         globalViewer.flyTo(addTileLayers[item.layerName])
+      } else if (item.subType == 'labelPoint') {
+        addTileLayers[item.layerName] = new DC.HtmlLayer('labelLayer')
+        globalViewer.addLayer(addTileLayers[item.layerName])
+
+        item.method(item.params).then(res => {
+          let data = res.data.data.records
+
+          data.filter(i => i.lng && i.lng != '' && i.lat && i.lat != '').forEach(i => {
+            let divIcon = new DC.DivIcon(
+              new DC.Position(i.lng, i.lat, 0),
+              `<div class="public-map-popup">
+                <div class="marsBlueGradientPnl">
+                  <div>${i.name}</div>
+                </div>
+              </div>`
+            )
+
+            addTileLayers[item.layerName].addOverlay(divIcon)
+          })
+        })
       }
     } else {
       if (item.subType == '3Dtile') {
         tileLayers.removeOverlay(addTileLayers[item.layerName])
-
-        delete addTileLayers[item.layerName]
+      } else if (item.subType == 'labelPoint') {
+        globalViewer.removeLayer(addTileLayers[item.layerName])
       }
+
+      delete addTileLayers[item.layerName]
     }
   })
 }
diff --git a/src/views/survey/components/box/fireContent.vue b/src/views/survey/components/box/fireContent.vue
index 2e76023..4fe904b 100644
--- a/src/views/survey/components/box/fireContent.vue
+++ b/src/views/survey/components/box/fireContent.vue
@@ -1,7 +1,15 @@
-
+<!--
+ * @Author: shuishen 1109946754@qq.com
+ * @Date: 2024-11-04 16:32:04
+ * @LastEditors: shuishen 1109946754@qq.com
+ * @LastEditTime: 2024-11-04 16:32:58
+ * @FilePath: \bigScreen\src\views\survey\components\box\fireContent.vue
+ * @Description: 
+ * 
+ * Copyright (c) 2024 by shuishen, All Rights Reserved. 
+-->
 <script setup>
-// import publicContent from './publicContent.vue'
-
+import publicContent from './publicContent.vue'
 
 import { getRiskSourceStatistic } from '../../../../api/indParkInfo'
 
@@ -11,84 +19,84 @@
 let myEcharts = reactive(null)
 
 onMounted(() => {
-    myEcharts = $echarts.init(curEcharts.value)
-    getRiskSource()
+  myEcharts = $echarts.init(curEcharts.value)
+  getRiskSource()
 
 })
 
 
-function getRiskSource() {
-    getRiskSourceStatistic().then(res => {
-        let xaxis_data = []
-        let yaxis_data = []
-        res.data.data.forEach(element => {
-            xaxis_data.push(element.riskLevel)
-            yaxis_data.push(element.num)
-        });
-        myEcharts.setOption({
-            tooltip: {
-                trigger: 'axis',
-                axisPointer: {
-                    type: 'shadow'
-                }
-            },
-            grid: {
-                left: '3%',
-                right: '4%',
-                bottom: '3%',
-                containLabel: true
-            },
-            xAxis: [
-                {
-                    type: 'category',
-                    data: xaxis_data,
-                    axisTick: {
-                        alignWithLabel: true
-                    }
-                }
-            ],
-            yAxis: [
-                {
-                    type: 'value'
-                }
-            ],
-            series: [
-                {
-                    name: 'Direct',
-                    type: 'bar',
-                    barWidth: '30%',
-                    data: yaxis_data
-                }
-            ]
-        })
+function getRiskSource () {
+  getRiskSourceStatistic().then(res => {
+    let xaxis_data = []
+    let yaxis_data = []
+    res.data.data.forEach(element => {
+      xaxis_data.push(element.riskLevel)
+      yaxis_data.push(element.num)
     })
+    myEcharts.setOption({
+      tooltip: {
+        trigger: 'axis',
+        axisPointer: {
+          type: 'shadow'
+        }
+      },
+      grid: {
+        left: '3%',
+        right: '4%',
+        bottom: '3%',
+        containLabel: true
+      },
+      xAxis: [
+        {
+          type: 'category',
+          data: xaxis_data,
+          axisTick: {
+            alignWithLabel: true
+          }
+        }
+      ],
+      yAxis: [
+        {
+          type: 'value'
+        }
+      ],
+      series: [
+        {
+          name: 'Direct',
+          type: 'bar',
+          barWidth: '30%',
+          data: yaxis_data
+        }
+      ]
+    })
+  })
 }
 </script>
 
 <template>
-    <!-- <public-content>
-        <template #content> -->
-    <div class="fireContent-box">
+  <public-content>
+    <template #content>
+      <div class="fireContent-box">
 
         <div>
-            <div class="fire-content-echarts" ref="curEcharts">
+          <div class="fire-content-echarts" ref="curEcharts">
 
 
-            </div>
+          </div>
 
         </div>
 
-    </div>
-    <!-- </template>
-    </public-content> -->
+      </div>
+    </template>
+  </public-content>
 </template>
 
 <style lang="scss" scoped>
 .fireContent-box {
-    color: #fff;
+  color: #fff;
 }
 
 .fire-content-echarts {
-    height: 200px;
+  height: 200px;
 }
 </style>
\ No newline at end of file
diff --git a/src/views/survey/components/box/unitContent.vue b/src/views/survey/components/box/unitContent.vue
index 2e290b9..e38a6b6 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-01 10:08:41
+ * @LastEditTime: 2024-11-04 13:58:17
  * @FilePath: \bigScreen\src\views\survey\components\box\unitContent.vue
  * @Description: 
  * 
@@ -18,7 +18,6 @@
 
 let myEcharts = reactive(null)
 
-
 onMounted(() => {
   nextTick(() => {
     myEcharts = $echarts.init(curEcharts.value)
@@ -27,7 +26,7 @@
   })
 })
 
-function getEmergencySpace() {
+function getEmergencySpace () {
   getEmergencySpaceStatistic().then(res => {
     // console.log(res)
     let data = res.data.data
@@ -37,7 +36,7 @@
         name: item.type,
         value: item.num
       })
-    });
+    })
 
     myEcharts.setOption({
       legend: {
diff --git a/src/views/survey/index.vue b/src/views/survey/index.vue
index f341db6..e54cfa1 100644
--- a/src/views/survey/index.vue
+++ b/src/views/survey/index.vue
@@ -14,17 +14,17 @@
 </script>
 
 <template>
-    <div class="container page-container">
-        <left-container></left-container>
+  <div class="container page-container">
+    <left-container></left-container>
 
-        <right-container></right-container>
-    </div>
+    <right-container></right-container>
+  </div>
 </template>
 
 <style lang="scss" scoped>
 .container {
-    position: absolute;
-    width: 100%;
-    height: 100%;
+  position: absolute;
+  width: 100%;
+  height: 100%;
 }
 </style>
\ No newline at end of file

--
Gitblit v1.9.3