From 7583d1a0b73f274bed7bb43cc8341ed044a5ee3d Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Tue, 27 Sep 2022 17:16:24 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/srs-police-affairs
---
src/views/activity/index.vue | 172 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 161 insertions(+), 11 deletions(-)
diff --git a/src/views/activity/index.vue b/src/views/activity/index.vue
index adc92fd..9861b76 100644
--- a/src/views/activity/index.vue
+++ b/src/views/activity/index.vue
@@ -2,7 +2,7 @@
* @Author: shuishen 1109946754@qq.com
* @Date: 2022-08-18 16:18:17
* @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2022-09-27 11:14:20
+ * @LastEditTime: 2022-09-27 16:01:02
* @FilePath: \srs-police-affairs\src\views\activity\index.vue
* @Description: 安保活动
*
@@ -88,6 +88,47 @@
</div>
</div>
+ <div class="draw-btn-box">
+ <ul>
+ <li>
+ <button @click="draw('point')">点</button>
+ </li>
+ <li>
+ <button @click="draw('billboard')">图标点</button>
+ </li>
+ <li>
+ <button @click="draw('polyline')">线</button>
+ </li>
+ <li>
+ <button @click="draw('polygon')">面</button>
+ </li>
+ <li>
+ <button @click="draw('circle')">圆</button>
+ </li>
+ <li>
+ <button @click="draw('rectangle')">矩形</button>
+ </li>
+ <li>
+ <button @click="draw('attack_arrow')">进攻箭头</button>
+ </li>
+ <li>
+ <button @click="draw('double_arrow')">双箭头</button>
+ </li>
+ <li>
+ <button @click="draw('fine_arrow')">直箭头</button>
+ </li>
+ <li>
+ <button @click="draw('tailed_attack_arrow')">燕尾箭头</button>
+ </li>
+ <li>
+ <button @click="draw('gathering_place')">聚集地</button>
+ </li>
+ <li>
+ <button @click="removeAll()">清除</button>
+ </li>
+ </ul>
+ </div>
+
<div class="second-container">
<el-tree
:data="treeData"
@@ -99,6 +140,13 @@
</div>
<div v-show="dialogVisible" class="activity-details-box">
+ <div class="title">
+ 活动详情
+ <div class="close" @click="closeActivityDetails">
+ <i class="el-icon-close"></i>
+ </div>
+ </div>
+
<div class="row-box">
<div class="category">活动名称:</div>
<div class="category-value">xxx活动</div>
@@ -159,6 +207,9 @@
<script>
let analyseLayer = null
let analysePolygon = null
+
+let drawLayers = null
+let plot = undefined
export default {
data () {
@@ -360,7 +411,8 @@
alt: 100,
url: '/img/icon/activity.png'
}
- ]
+ ],
+ activityDetails: {}
}
},
created () {
@@ -368,6 +420,8 @@
},
mounted () {
this.$nextTick(() => {
+
+
this.activityList.forEach(item => {
this.$EventBus.$emit('layerPointAdd', {
layerName: 'activityLayers',
@@ -378,8 +432,21 @@
})
- analyseLayer = new global.DC.VectorLayer('analyseLayer')
- global.viewer.addLayer(analyseLayer)
+ if (analyseLayer == null) {
+
+ analyseLayer = new global.DC.VectorLayer('analyseLayer')
+ global.viewer.addLayer(analyseLayer)
+
+ }
+
+ if (drawLayers == null) {
+
+ drawLayers = new global.DC.VectorLayer('drawLayers')
+ global.viewer.addLayer(drawLayers)
+ plot = new global.DC.Plot(global.viewer)
+
+ }
+
})
},
updated () {
@@ -419,16 +486,24 @@
},
goAbDetail (item, index) {
+ if (this.currentClickIndex !== '' && this.currentClickIndex == index) {
+ return
+ }
+
+ this.analyseInput = 100
+
+ this.activityDetails = item
+
this.polylineSwitch = false
if (analyseLayer != null) {
analyseLayer.clear()
}
- let point = new global.DC.Point("116.027001,28.683111")
+ let point = new global.DC.Point(`${item.lng}, ${item.lat}`)
analyseLayer.addOverlay(point)
- let coords = global.DC.GeoTools.pointBuffer("116.027001,28.683111", 100)
+ let coords = global.DC.GeoTools.pointBuffer(`${item.lng}, ${item.lat}`, 100)
analysePolygon = new global.DC.Polygon(coords)
analysePolygon.setStyle({
@@ -478,7 +553,7 @@
analyseChange (e) {
analyseLayer.removeOverlay(analysePolygon)
- let coords = global.DC.GeoTools.pointBuffer("116.027001,28.683111", e)
+ let coords = global.DC.GeoTools.pointBuffer(`${this.activityDetails.lng}, ${this.activityDetails.lat}`, e)
analysePolygon = new global.DC.Polygon(coords)
analysePolygon.setStyle({
@@ -487,9 +562,39 @@
analyseLayer.addOverlay(analysePolygon)
},
+
handleCurrentChange: function (currentPage) {
this.currentPage = currentPage
},
+
+ closeActivityDetails () {
+ this.dialogVisible = false
+
+ this.currentClickIndex = ''
+
+ this.polylineSwitch = false
+
+ analyseLayer.clear()
+
+ this.$EventBus.$emit('mapClearLayer', {
+ layerName: 'polylineLayer',
+ type: 'VectorLayer'
+ })
+ },
+
+ draw (type) {
+ plot && plot.draw(type, overlay => {
+ if (overlay) {
+ drawLayers.addOverlay(overlay)
+ plot.edit(overlay)
+ }
+ })
+ },
+
+ removeAll () {
+ drawLayers.clear()
+ }
+
},
destroyed () {
this.$EventBus.$emit('mapClearLayer', {
@@ -508,6 +613,8 @@
})
analyseLayer.clear()
+
+ this.removeAll()
}
}
</script>
@@ -652,13 +759,42 @@
}
}
+ .draw-btn-box {
+ position: fixed;
+ bottom: 40px;
+ left: 50%;
+ transform: translate(-50%, 0);
+
+ ul {
+ display: flex;
+
+ li {
+ button {
+ width: 60px;
+ height: 30px;
+ margin: 0 5px;
+ background-color: $bg-color;
+ border: 1px solid #cecece;
+ border-radius: 4px;
+ color: #fff;
+ cursor: pointer;
+ outline: none;
+ }
+ }
+ }
+ }
+
.second-container {
position: absolute;
- top: 0;
+ top: 10px;
display: flex;
left: 405px;
flex-direction: column;
width: 240px;
+
+ :deep(.el-tree) {
+ background: transparent;
+ }
:deep(.el-tree-node__content) {
background: transparent;
@@ -671,17 +807,31 @@
.activity-details-box {
position: fixed;
- top: 80px;
- right: 0;
+ top: 90px;
+ right: 10px;
width: 400px;
padding: 10px;
- border-radius: 10px 0 0 10px;
+ border-radius: 10px;
color: #fff;
background: $bg-color;
overflow-x: hidden;
overflow-y: auto;
+ .title {
+ position: relative;
+ height: 36px;
+ line-height: 36px;
+
+ .close {
+ position: absolute;
+ top: 50%;
+ right: 0;
+ transform: translate(0, -50%);
+ cursor: pointer;
+ }
+ }
+
.row-box {
width: 100%;
line-height: 28px;
--
Gitblit v1.9.3