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