From 1250621ab9ea6ea93911be0f283c3bfcdceb0667 Mon Sep 17 00:00:00 2001
From: chenyibo <p-honggang.li@pcitc.com>
Date: 星期二, 30 三月 2021 18:03:59 +0800
Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop
---
src/components/LayerController/service/AnimalService.js | 37 +++
src/components/BaseNav/SolidWaste/directive/directive.js | 77 +++++++
src/components/BaseNav/WasteWater/WasteWater.js | 21 +
src/components/BaseNav/PublicBounced/GasComponents/GasVideo.vue | 18
src/assets/images/map-pages/basenav/flugas/exhaust/fq_orange.png | 0
src/api/SolidWaste/index.js | 6
src/assets/images/map-pages/basenav/flugas/exhaust/fq_green_xc.png | 0
src/components/BaseNav/SolidWaste/SolidWaste.js | 59 ++--
src/components/LayerController/service/WmsLayerService.js | 6
src/assets/images/map-pages/basenav/flugas/exhaust/fq_green.png | 0
src/components/LayerController/service/WfsLayerService.js | 14
src/conf/Constants.js | 3
src/components/BaseNav/PublicBounced/GasComponents/GasTable.vue | 0
src/components/BaseNav/SolidWaste/directive/dir.js | 0
src/components/BaseNav/SolidWaste/directive/index.js | 14 +
src/components/LayerController/logic/WasteGas.js | 46 ++++
src/assets/images/map-pages/basenav/flugas/exhaust/fq_blue.png | 0
src/assets/images/map-pages/basenav/flugas/exhaust/fq_gray.png | 0
src/components/BaseNav/PublicBounced/GasComponents/GasECharts.vue | 194 ++++++++++------
src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue | 65 ++---
src/components/LayerController/logic/Sample.js | 4
src/views/MapTemplate.vue | 2
src/components/LayerController/service/LayerFactory.js | 27 +-
src/components/BaseNav/PublicBounced/PublicBounced.vue | 15
src/assets/images/map-pages/basenav/flugas/exhaust/fq_bright_green.png | 0
src/components/LayerController/service/BusiLayerService.js | 13
src/assets/images/map-pages/basenav/flugas/exhaust/fq_yellow.png | 0
src/components/BaseNav/PublicBounced/GasComponents/GasTab.vue | 22 -
src/assets/images/map-pages/basenav/flugas/exhaust/fq_red.png | 0
29 files changed, 428 insertions(+), 215 deletions(-)
diff --git a/src/api/SolidWaste/index.js b/src/api/SolidWaste/index.js
new file mode 100644
index 0000000..b034763
--- /dev/null
+++ b/src/api/SolidWaste/index.js
@@ -0,0 +1,6 @@
+import $http from '@utils/axios'
+// import Qs from 'qs'
+
+export const getSolidWaste = (data = {}) => {
+ return $http.get('/wasteSolid/getSolidWaste', data)
+}
diff --git a/src/assets/images/map-pages/basenav/flugas/exhaust/fq_blue.png b/src/assets/images/map-pages/basenav/flugas/exhaust/fq_blue.png
new file mode 100644
index 0000000..93edcb3
--- /dev/null
+++ b/src/assets/images/map-pages/basenav/flugas/exhaust/fq_blue.png
Binary files differ
diff --git a/src/assets/images/map-pages/basenav/flugas/exhaust/fq_bright_green.png b/src/assets/images/map-pages/basenav/flugas/exhaust/fq_bright_green.png
new file mode 100644
index 0000000..19b0397
--- /dev/null
+++ b/src/assets/images/map-pages/basenav/flugas/exhaust/fq_bright_green.png
Binary files differ
diff --git a/src/assets/images/map-pages/basenav/flugas/exhaust/fq_gray.png b/src/assets/images/map-pages/basenav/flugas/exhaust/fq_gray.png
new file mode 100644
index 0000000..590b183
--- /dev/null
+++ b/src/assets/images/map-pages/basenav/flugas/exhaust/fq_gray.png
Binary files differ
diff --git a/src/assets/images/map-pages/basenav/flugas/exhaust/fq_green.png b/src/assets/images/map-pages/basenav/flugas/exhaust/fq_green.png
new file mode 100644
index 0000000..08e8a59
--- /dev/null
+++ b/src/assets/images/map-pages/basenav/flugas/exhaust/fq_green.png
Binary files differ
diff --git a/src/assets/images/map-pages/basenav/flugas/exhaust/fq_green_xc.png b/src/assets/images/map-pages/basenav/flugas/exhaust/fq_green_xc.png
new file mode 100644
index 0000000..acc7c10
--- /dev/null
+++ b/src/assets/images/map-pages/basenav/flugas/exhaust/fq_green_xc.png
Binary files differ
diff --git a/src/assets/images/map-pages/basenav/flugas/exhaust/fq_orange.png b/src/assets/images/map-pages/basenav/flugas/exhaust/fq_orange.png
new file mode 100644
index 0000000..718f237
--- /dev/null
+++ b/src/assets/images/map-pages/basenav/flugas/exhaust/fq_orange.png
Binary files differ
diff --git a/src/assets/images/map-pages/basenav/flugas/exhaust/fq_red.png b/src/assets/images/map-pages/basenav/flugas/exhaust/fq_red.png
new file mode 100644
index 0000000..5f93934
--- /dev/null
+++ b/src/assets/images/map-pages/basenav/flugas/exhaust/fq_red.png
Binary files differ
diff --git a/src/assets/images/map-pages/basenav/flugas/exhaust/fq_yellow.png b/src/assets/images/map-pages/basenav/flugas/exhaust/fq_yellow.png
new file mode 100644
index 0000000..169ce4d
--- /dev/null
+++ b/src/assets/images/map-pages/basenav/flugas/exhaust/fq_yellow.png
Binary files differ
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/GasECharts.vue b/src/components/BaseNav/PublicBounced/GasComponents/GasECharts.vue
index 9084a18..675b787 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/GasECharts.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/GasECharts.vue
@@ -7,10 +7,12 @@
<div class="border_corner border_corner_left_bottom"></div>
<div class="border_corner border_corner_right_bottom"></div>
<div class="main">
- <div class="main-echarts">
- <div id="echarts" style="width:100%;height:100%" ref="main"></div>
+ <div id="echarts" ref="main"></div>
+ <div class="border_corner border_corner_left_top"></div>
+ <div class="border_corner border_corner_right_top"></div>
+ <div class="border_corner border_corner_left_bottom"></div>
+ <div class="border_corner border_corner_right_bottom"></div>
</div>
- </div>
</div>
</template>
@@ -22,18 +24,27 @@
const myChart = this.$echarts.init(this.$refs.main)
const option = {
title: {
- text: '鎶樼嚎鍥惧爢鍙�'
+ // text: '鎶樼嚎鍥惧爢鍙�'
},
- // color: '#fff',
+ color: ['#5470c6', '#91CC75', '#EE6666', '#FF0087'],
tooltip: {
- trigger: 'axis'
+ trigger: 'axis',
+ axisPointer: {
+ type: 'cross',
+ label: {
+ color: '#1a4245'
+ }
+ }
},
- // legend: {
- // data: ['閭欢钀ラ攢', '鑱旂洘骞垮憡', '瑙嗛骞垮憡', '鐩存帴璁块棶', '鎼滅储寮曟搸']
- // },
+ legend: {
+ data: ['姘哀鍖栫墿', '浜屾哀鍖栫~', '鐑熷皹', '搴熸皵娴侀噺']
+ // pageTextStyle: {
+ // color: '#fff'
+ // }
+ },
grid: {
left: '3%',
- right: '4%',
+ right: '3%',
bottom: '3%',
containLabel: true
},
@@ -42,63 +53,98 @@
saveAsImage: {}
}
},
+ // 鍥炬爣缂╂斁璁剧疆
+ dataZoom: [{
+ type: 'inside',
+ start: 0,
+ end: 100
+ }, {
+ start: 0,
+ end: 100,
+ show: false,
+ // handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
+ handleSize: '80%',
+ handleStyle: {
+ color: '#fff',
+ shadowBlur: 3,
+ shadowColor: 'rgba(0, 0, 0, 0.6)',
+ shadowOffsetX: 2,
+ shadowOffsetY: 2
+ }
+ }],
+ // x杞寸殑璁剧疆
xAxis: {
type: 'category',
boundaryGap: false,
- data: ['鍛ㄤ竴', '鍛ㄤ簩', '鍛ㄤ笁', '鍛ㄥ洓', '鍛ㄤ簲', '鍛ㄥ叚', '鍛ㄦ棩'],
- axisLabel: {
+ data: ['12:00:01', '12:00:02', '12:00:03', '12:00:04', '12:00:05', '12:00:06', '12:00:07'],
+ axisLabel: { // x杞村叏閮ㄦ樉绀�
+ rotate: 20,
+ interval: 0,
textStyle: {
- color: '#7edae8' // 鍧愭爣鐨勫瓧浣撻鑹�
+ color: '#fff'
}
},
- axisLine: {
- show: false, // 闅愯棌鍧愭爣杞�
+ splitLine: { // 缃戞牸鍨傜洿绾夸负铏氱嚎
+ show: true,
lineStyle: {
- color: '#00eeff' // 鍧愭爣杞寸殑棰滆壊
+ type: 'dashed'
+ }
+ },
+ axisTick: { // x 杞村埢搴︽樉绀�
+ show: false
+ },
+ axisLine: {
+ lineStyle: {
+ color: '#FFFFFF',
+ width: 1 // 杩欓噷鏄负浜嗙獊鍑烘樉绀哄姞涓婄殑
}
}
},
+ // Y 杞寸殑璁剧疆
yAxis: [{
type: 'value',
+ // name: yname, // 鍚庢湡鍥炬爣Y杞存樉绀哄崟浣�
+ name: '娴撳害(mg/m鲁)',
axisLabel: {
+ formatter: '{value}',
textStyle: {
- color: '#7edae8' // 鍧愭爣鐨勫瓧浣撻鑹�
+ color: '#fff' // 鍧愭爣鐨勫瓧浣撻鑹�
}
},
+ axisPointer: {
+ snap: true // 鑷姩鍚搁檮鏈�杩戠殑鐐�
+ },
+ splitLine: {
+ show: false // y杞� 缃戞牸绾夸笉鏄剧ず
+ },
axisLine: {
- show: false, // 闅愯棌鍧愭爣杞�
lineStyle: {
- color: '#00eeff' // 鍧愭爣杞寸殑棰滆壊
+ color: '#ffffff', // 鍧愭爣杞寸殑棰滆壊
+ width: 1
}
}
}],
series: [
{
- name: '閭欢钀ラ攢',
+ name: '姘哀鍖栫墿',
type: 'line',
stack: '鎬婚噺',
data: [120, 132, 101, 134, 90, 230, 210]
},
{
- name: '鑱旂洘骞垮憡',
- type: 'line',
- stack: '鎬婚噺',
- data: [220, 182, 191, 234, 290, 330, 310]
- },
- {
- name: '瑙嗛骞垮憡',
+ name: '浜屾哀鍖栫~',
type: 'line',
stack: '鎬婚噺',
data: [150, 232, 201, 154, 190, 330, 410]
},
{
- name: '鐩存帴璁块棶',
+ name: '鐑熷皹',
type: 'line',
stack: '鎬婚噺',
data: [320, 332, 301, 334, 390, 330, 320]
},
{
- name: '鎼滅储寮曟搸',
+ name: '搴熸皵娴侀噺',
type: 'line',
stack: '鎬婚噺',
data: [820, 932, 901, 934, 1290, 1330, 1320]
@@ -115,50 +161,48 @@
</script>
<style scoped lang="less">
-.win {
- width: 100%;
- height: 100%;
- position: relative;
- //display: inline-block;
- background-color: rgba(33, 41, 69,0.9);
-}
-.border_corner{
- z-index: 2500;
- position: absolute;
- width: 10px;
- height: 10px;
- background: rgba(0,0,0,0);
- border: 1.5px solid #47d5ea;
-}
-.border_corner_left_top{
- top: 0;
- left: 0;
- border-right: none;
- border-bottom: none;
-}
-.border_corner_right_top{
- top: 0;
- right: 0;
- border-left: none;
- border-bottom: none;
-}
-.border_corner_left_bottom{
- bottom: 0;
- left: 0;
- border-right: none;
- border-top: none;
-}
-.border_corner_right_bottom{
- bottom: 0;
- right: 0;
- border-left: none;
- border-top: none;
-}
-.main {
- width: 100%;
- height: 100%;
- .main-echarts{
- border: 1px solid #396d83;
- }
-}
+ .win {
+ /*width: 100%;*/
+ /*height: 100%;*/
+ position: relative;
+ //display: inline-block;
+ background-color: rgba(33, 41, 69,0.9);
+ }
+ #echarts{
+ width: 600px;
+ height: 260px;
+ }
+ .border_corner{
+ z-index: 2500;
+ position: absolute;
+ width: 14px;
+ height: 14px;
+ background: rgba(0,0,0,0);
+ border: 2px solid #47d5ea;
+ }
+ .border_corner_left_top{
+ top: 0;
+ left: 0;
+ border-right: none;
+ border-bottom: none;
+ }
+ .border_corner_right_top{
+ top: 0;
+ right: 0;
+ border-left: none;
+ border-bottom: none;
+ }
+ .border_corner_left_bottom{
+ bottom: 0;
+ left: 0;
+ border-right: none;
+ border-top: none;
+ border-bottom-left-radius: 4px;
+ }
+ .border_corner_right_bottom{
+ bottom: 0;
+ right: 0;
+ border-left: none;
+ border-top: none;
+ }
</style>
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/GasTab.vue b/src/components/BaseNav/PublicBounced/GasComponents/GasTab.vue
index e05f59f..ebf7ddd 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/GasTab.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/GasTab.vue
@@ -37,7 +37,6 @@
.win {
position: relative;
- //display: inline-block;
margin-bottom: 13px;
background-color: rgba(33, 41, 69,0.9);
}
@@ -46,7 +45,6 @@
height: 100%;
.main-matter{
font-size: 13px;
- padding: 9px 7px;
font-weight: normal;
border: 1px solid #396d83;
.row-item-one{
@@ -56,7 +54,7 @@
width: 100%;
color: #00d0f9;
display: flex;
- font-size: 12px!important;
+ font-size: 12px !important;
.el-col{
flex: 1;
width: 100%;
@@ -73,7 +71,7 @@
}
}
.border_corner{
- z-index: 2500;
+ z-index: 999;
position: absolute;
width: 10px;
height: 10px;
@@ -104,20 +102,4 @@
border-left: none;
border-top: none;
}
-//.el-row {
-// width: 100%;
-// color: #00d0f9;
-// .el-col{
-// width: 180px;
-// height: 28px;
-// background-color: #243a55;;
-// text-align: center;
-// line-height: 28px;
-// margin-left: 6px;
-// border-radius: 4px;
-// &:nth-child(1){
-// margin-left:0;
-// }
-// }
-//}
</style>
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/GasTable.vue b/src/components/BaseNav/PublicBounced/GasComponents/GasTable.vue
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/components/BaseNav/PublicBounced/GasComponents/GasTable.vue
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/GasVideo.vue b/src/components/BaseNav/PublicBounced/GasComponents/GasVideo.vue
index fc152ab..93776b0 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/GasVideo.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/GasVideo.vue
@@ -7,7 +7,7 @@
<div class="border_corner border_corner_right_bottom"></div>
<div class="main">
<div class="main-video">
- <video width="100%" height="100%" controls>
+ <video controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
</video>
@@ -24,23 +24,25 @@
<style scoped lang="less">
.win {
- /*width: 100%;*/
- /*height: 100%;*/
position: relative;
- //display: inline-block;
background-color: rgba(33, 41, 69,0.9);
-/*//border: 1px solid #396d83;*/
}
.main {
width: 100%;
height: 100%;
.main-video {
- padding: 7px;
- border: 1px solid #396d83;
+ //border: 1px solid #396d83;
+ width: 100%;
+ height: 100%;
+ video {
+ width: 100%;
+ height: 100%;
+ outline: none;
+ }
}
}
.border_corner{
- z-index: 2500;
+ z-index: 999;
position: absolute;
width: 14px;
height: 14px;
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue
index 2c878b8..b9fae10 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue
@@ -1,53 +1,48 @@
<template>
<div class="public-table">
- <table border="1">
- <tr>
- <th>111</th>
- <th>111</th>
- <th>111</th>
- <th>111</th>
- <th>111</th>
- <th>111</th>
- </tr>
- <tr>
- <td>4444444444</td>
- <td>4444444444</td>
- <td>4444444444</td>
- <td>4444444444</td>
- <td>4444444444</td>
- <td>4444444444</td>
- </tr>
- </table>
+ <el-col class="el-col">
+ <el-table
+ border
+ tooltip-effect="dark"
+ :data="data"
+ >
+ <el-table-column prop="name" label="搴忓彿"></el-table-column>
+ <el-table-column prop="name" label="绫诲埆"></el-table-column>
+ <el-table-column prop="date" label="鍥哄簾鍚嶇О"></el-table-column>
+ <el-table-column prop="address" label="浠g爜"></el-table-column>
+ <el-table-column prop="address" label="浜х敓閲�"></el-table-column>
+ <el-table-column prop="name" label="鍌ㄥ瓨閲�"></el-table-column>
+ <el-table-column prop="date" label="浜х敓瑁呯疆"></el-table-column>
+ </el-table>
+ </el-col>
</div>
</template>
<script>
export default {
name: 'PublicTable',
+ props: ['requestSolidWasteData'],
data () {
return {
- tableData: [{
- date: '2016-05-02',
- name: '鐜嬪皬铏�',
- address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�'
- }, {
- date: '2016-05-04',
- name: '鐜嬪皬铏�',
- address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1517 寮�'
- }, {
- date: '2016-05-01',
- name: '鐜嬪皬铏�',
- address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�'
- }, {
- date: '2016-05-03',
- name: '鐜嬪皬铏�',
- address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�'
- }]
+ data: []
+ }
+ },
+ mounted () {
+ this.$nextTick(() => {
+ this.getSolidWasteData()
+ })
+ },
+ methods: {
+ getSolidWasteData () {
+ // const data = requestSolidWasteData
+ // console.log(data)
}
}
}
</script>
<style lang="less" scoped>
+.public-table {
+}
</style>
diff --git a/src/components/BaseNav/PublicBounced/PublicBounced.vue b/src/components/BaseNav/PublicBounced/PublicBounced.vue
index 61286b1..0085f00 100644
--- a/src/components/BaseNav/PublicBounced/PublicBounced.vue
+++ b/src/components/BaseNav/PublicBounced/PublicBounced.vue
@@ -7,7 +7,7 @@
<div class="public-bounced-content">
<div class="public-bounced-content-left">
<GasTab :displayContent="displayContent"></GasTab>
- <PublicTable v-if="value === 'gufei'"></PublicTable>
+ <PublicTable v-if="value === 'gufei'" :requestSolidWasteData="displayContent.StoragePlaceId"></PublicTable>
<GasECharts v-else></GasECharts>
</div>
<div class="public-bounced-content-right">
@@ -19,7 +19,7 @@
<script>
-import '@/components/BaseNav/SolidWaste/directive'
+import '@/components/BaseNav/SolidWaste/directive/dir'
import GasTab from '@components/BaseNav/PublicBounced/GasComponents/GasTab'
import PublicTable from '@components/BaseNav/PublicBounced/GasComponents/PublicTable'
import GasECharts from '@components/BaseNav/PublicBounced/GasComponents/GasECharts'
@@ -54,10 +54,11 @@
<style lang="less" scoped>
.public-bounced {
+ width: 75%;
z-index: 999;
position: absolute;
- top: 50%;
- left: 50%;
+ bottom: 5%;
+ left: 15%;
background-color: #002432;
border: 1px #9fc5c8 solid;
@@ -82,16 +83,20 @@
}
.public-bounced-content {
+ margin: 15px auto;
display: flex;
align-items: center;
justify-content: space-around;
.public-bounced-content-left {
+ width: 48%;
+ height: 100%;
}
.public-bounced-content-right {
+ width: 48%;
+ height: 100%;
}
}
-
}
</style>
diff --git a/src/components/BaseNav/SolidWaste/SolidWaste.js b/src/components/BaseNav/SolidWaste/SolidWaste.js
index 6df5e3e..85f3235 100644
--- a/src/components/BaseNav/SolidWaste/SolidWaste.js
+++ b/src/components/BaseNav/SolidWaste/SolidWaste.js
@@ -67,7 +67,7 @@
// console.log(this.map.setCenter([e.target.getLatLng().lat, e.target.getLatLng().lng]))
// this.map.flyTo([e.target.getLatLng().lat, e.target.getLatLng().lng])
// this.map.panTo([e.target.getLatLng().lat, e.target.getLatLng().lng], 100)
- this.setPanTo(e.target.getLatLng(), 30)
+ this.setPanTo(e.target.getLatLng(), 250)
this.EffectOfPulse(e.target.getLatLng())
this.SolidWastePopup.setData(data[i], 'gufei')
return this.SolidWastePopup.$el
@@ -87,8 +87,9 @@
position = this.map.latLngToLayerPoint(position)
position.y += value
position = this.map.layerPointToLatLng(position)
- this.map.setView(position)
- // this.map.flyTo(position)
+ // this.map.setView(position)
+ this.map.flyTo(position)
+ // this.map.panTo(position)
}
// 鍥哄簾鐐瑰嚮杩涜鐨� 鍐呭鐨勮缃�
@@ -121,32 +122,32 @@
// 鑴夊啿鏁堟灉璁剧疆瀹炵幇
EffectOfPulse (position, markers, layerGroup) {
// 鍖哄垎鐩存帴鎵ц 鍜屽垽鏂墽琛岀殑涓嶅悓鍖哄埆
- var differentColor = ''
- if (markers) {
- differentColor = '#ff0000'
- } else {
- differentColor = '#98FB98'
- }
- // 鍧愭爣鏁版嵁锛氭姤璀︿紶杩涙潵鐨勬槸鏁扮粍 / 鐐瑰嚮浼犺繘鏉ョ殑鏄痮bject
- var FinalPosition = position instanceof Array ? {
- lat: position[0],
- lng: position[1]
- } : position
- // 鎻掍欢 鏁堟灉瀹炵幇
- var pulsingIcon = this.L.icon.pulse({
- iconSize: [20, 20],
- color: differentColor,
- fillColor: ''
- })
- if (markers) {
- // markers.push(this.L.marker(FinalPosition, { icon: pulsingIcon }))
- // this.L.layerGroup(markers).addLayer(layerGroup)
- } else {
- var picGroupMarker = new this.L.FeatureGroup()
- this.L.marker(FinalPosition, { icon: pulsingIcon }).addTo(picGroupMarker)
- this.pulseHeighLightMarker = picGroupMarker.addTo(this.SolidWasteLayerGroup)
- this.PulseCountSetting()
- }
+ // var differentColor = ''
+ // if (markers) {
+ // differentColor = '#ff0000'
+ // } else {
+ // differentColor = '#98FB98'
+ // }
+ // // 鍧愭爣鏁版嵁锛氭姤璀︿紶杩涙潵鐨勬槸鏁扮粍 / 鐐瑰嚮浼犺繘鏉ョ殑鏄痮bject
+ // var FinalPosition = position instanceof Array ? {
+ // lat: position[0],
+ // lng: position[1]
+ // } : position
+ // // 鎻掍欢 鏁堟灉瀹炵幇
+ // var pulsingIcon = this.L.icon.pulse({
+ // iconSize: [20, 20],
+ // color: differentColor,
+ // fillColor: ''
+ // })
+ // if (markers) {
+ // // markers.push(this.L.marker(FinalPosition, { icon: pulsingIcon }))
+ // // this.L.layerGroup(markers).addLayer(layerGroup)
+ // } else {
+ // var picGroupMarker = new this.L.FeatureGroup()
+ // this.L.marker(FinalPosition, { icon: pulsingIcon }).addTo(picGroupMarker)
+ // this.pulseHeighLightMarker = picGroupMarker.addTo(this.SolidWasteLayerGroup)
+ // this.PulseCountSetting()
+ // }
}
// 瀵瑰浘鏍囪剦鍐� 杩涜set璁剧疆 // 楂樹寒鍥惧眰
diff --git a/src/components/BaseNav/SolidWaste/directive.js b/src/components/BaseNav/SolidWaste/directive/dir.js
similarity index 100%
rename from src/components/BaseNav/SolidWaste/directive.js
rename to src/components/BaseNav/SolidWaste/directive/dir.js
diff --git a/src/components/BaseNav/SolidWaste/directive/directive.js b/src/components/BaseNav/SolidWaste/directive/directive.js
new file mode 100644
index 0000000..a656af4
--- /dev/null
+++ b/src/components/BaseNav/SolidWaste/directive/directive.js
@@ -0,0 +1,77 @@
+export default {
+ bind (el, binding, vnode) {
+ const dialogHeaderEl = el.querySelector('.el-dialog__header')
+ const dragDom = el.querySelector('.el-dialog')
+ dialogHeaderEl.style.cssText += ';cursor:move;'
+ dragDom.style.cssText += ';top:0px;'
+
+ // 鑾峰彇鍘熸湁灞炴�� ie dom鍏冪礌.currentStyle 鐏嫄璋锋瓕 window.getComputedStyle(dom鍏冪礌, null);
+ const getStyle = (function () {
+ if (window.document.currentStyle) {
+ return (dom, attr) => dom.currentStyle[attr]
+ } else {
+ return (dom, attr) => getComputedStyle(dom, false)[attr]
+ }
+ })()
+
+ dialogHeaderEl.onmousedown = (e) => {
+ // 榧犳爣鎸変笅锛岃绠楀綋鍓嶅厓绱犺窛绂诲彲瑙嗗尯鐨勮窛绂�
+ const disX = e.clientX - dialogHeaderEl.offsetLeft
+ const disY = e.clientY - dialogHeaderEl.offsetTop
+
+ const dragDomWidth = dragDom.offsetWidth
+ const dragDomHeight = dragDom.offsetHeight
+
+ const screenWidth = document.body.clientWidth
+ const screenHeight = document.body.clientHeight
+
+ const minDragDomLeft = dragDom.offsetLeft
+ const maxDragDomLeft = screenWidth - dragDom.offsetLeft - dragDomWidth
+
+ const minDragDomTop = dragDom.offsetTop
+ const maxDragDomTop = screenHeight - dragDom.offsetTop - dragDomHeight
+
+ // 鑾峰彇鍒扮殑鍊煎甫px 姝e垯鍖归厤鏇挎崲
+ let styL = getStyle(dragDom, 'left')
+ let styT = getStyle(dragDom, 'top')
+
+ if (styL.includes('%')) {
+ styL = +document.body.clientWidth * (+styL.replace(/\%/g, '') / 100)
+ styT = +document.body.clientHeight * (+styT.replace(/\%/g, '') / 100)
+ } else {
+ styL = +styL.replace(/\px/g, '')
+ styT = +styT.replace(/\px/g, '')
+ }
+
+ document.onmousemove = function (e) {
+ // 閫氳繃浜嬩欢濮旀墭锛岃绠楃Щ鍔ㄧ殑璺濈
+ let left = e.clientX - disX
+ let top = e.clientY - disY
+
+ // 杈圭晫澶勭悊
+ if (-(left) > minDragDomLeft) {
+ left = -minDragDomLeft
+ } else if (left > maxDragDomLeft) {
+ left = maxDragDomLeft
+ }
+
+ if (-(top) > minDragDomTop) {
+ top = -minDragDomTop
+ } else if (top > maxDragDomTop) {
+ top = maxDragDomTop
+ }
+
+ // 绉诲姩褰撳墠鍏冪礌
+ dragDom.style.cssText += `;left:${left + styL}px;top:${top + styT}px;`
+
+ // emit onDrag event
+ vnode.child.$emit('dragDialog')
+ }
+
+ document.onmouseup = function (e) {
+ document.onmousemove = null
+ document.onmouseup = null
+ }
+ }
+ }
+}
diff --git a/src/components/BaseNav/SolidWaste/directive/index.js b/src/components/BaseNav/SolidWaste/directive/index.js
new file mode 100644
index 0000000..d8a3108
--- /dev/null
+++ b/src/components/BaseNav/SolidWaste/directive/index.js
@@ -0,0 +1,14 @@
+// import drag from './drag'
+import drag from './directive'
+
+const install = function (Vue) {
+ Vue.directive('el-drag-dialog', drag)
+}
+
+if (window.Vue) {
+ window['el-drag-dialog'] = drag
+ Vue.use(install) // eslint-disable-line
+}
+
+drag.install = install
+export default drag
diff --git a/src/components/BaseNav/WasteWater/WasteWater.js b/src/components/BaseNav/WasteWater/WasteWater.js
index c2f3d6b..05f7b50 100644
--- a/src/components/BaseNav/WasteWater/WasteWater.js
+++ b/src/components/BaseNav/WasteWater/WasteWater.js
@@ -52,16 +52,17 @@
const Icon = new WasteWaterIcon({ iconUrl: iconUrl })
// let url = Icon.options.iconUrl
- const marker = this.L.marker.magic([positionX, positionY], { icon: Icon, magic: 'vanishIn' })
+ // const marker = this.L.marker.magic([positionX, positionY], { icon: Icon, magic: 'vanishIn' }) // 甯︽樉绀哄姩鐢�
+ const marker = this.L.marker([positionX, positionY], { icon: Icon })
- marker.bindPopup(() => {
- return this.WasteWaterPopup.$el
- }, {
- className: 's-map-popup',
- minWidth: 1000,
- closeButton: true,
- autoClose: false
- })
+ // marker.bindPopup(() => {
+ // return this.WasteWaterPopup.$el
+ // }, {
+ // className: 's-map-popup',
+ // minWidth: 1000,
+ // closeButton: true,
+ // autoClose: false
+ // })
// 鍒掕繃鍑虹幇 灞曠ず鏁版嵁
marker.bindTooltip(data[i].Name, {
permanent: true,
@@ -74,7 +75,7 @@
try {
// console.log(e)
this.EffectOfPulse(e.target.getLatLng())
- this.WasteWaterPopup.setDate(data[i])
+ this.WasteWaterPopup.setData(data[i])
return this.WasteWaterPopup.$el
} catch (error) {
console.log(error)
diff --git a/src/components/LayerController/logic/Sample.js b/src/components/LayerController/logic/Sample.js
index 687b0e7..063123f 100644
--- a/src/components/LayerController/logic/Sample.js
+++ b/src/components/LayerController/logic/Sample.js
@@ -1,9 +1,9 @@
module.exports = function () {
- this.init = (layer) => {
+ this.init = (L) => {
console.log('sample init !!!')
}
- this.clickListener = (list) => {
+ this.clickListener = (e, data) => {
console.log('sample clickListener !!!')
}
}
diff --git a/src/components/LayerController/logic/WasteGas.js b/src/components/LayerController/logic/WasteGas.js
new file mode 100644
index 0000000..2744f36
--- /dev/null
+++ b/src/components/LayerController/logic/WasteGas.js
@@ -0,0 +1,46 @@
+/**
+ * 搴熸皵
+ */
+const AnimalService = require('../service/AnimalService').default
+const AjaxUtils = require('../../../utils/AjaxUtils').default
+
+module.exports = function () {
+ /**
+ * 杩斿洖marker瀵硅薄鏁扮粍
+ * @param L leaflet瀵硅薄
+ */
+ this.init = (layer, L) => {
+ this.animalService = new AnimalService({ L: L, layer: layer })
+ AjaxUtils.get4JsonDataByUrl('http://10.246.162.140:8080/EPInterface/DataService/EPMapService.asmx/ObtainningConInfo', {
+ companyId: 3900100145,
+ id: '',
+ monType: 1,
+ userCode: 'wenchun.deng',
+ monDuration: '',
+ epName: '',
+ secdDeptId: '',
+ contrLevel: '',
+ dataStatus: '',
+ dataFlag: '',
+ runStatus: '',
+ emissTypeId: ''
+ }, function (res) {
+ const data = res.data.Result.DataInfo
+ for (let i = 0; i < data.length; i++) {
+ // 缁忕含搴� 浣嶇疆
+ const positionX = data[i].Latitude
+ const positionY = data[i].Longitude
+ layer.addLayer(L.marker([positionX, positionY], {}))
+ }
+ })
+ }
+
+ this.bindTooltip = (layer) => {
+ return '娴嬭瘯搴熸皵'
+ }
+
+ this.clickListener = (e) => {
+ console.log(e)
+ this.animalService.pulseEffect(e.latlng)
+ }
+}
diff --git a/src/components/LayerController/service/AnimalService.js b/src/components/LayerController/service/AnimalService.js
new file mode 100644
index 0000000..9a80b7f
--- /dev/null
+++ b/src/components/LayerController/service/AnimalService.js
@@ -0,0 +1,37 @@
+/**
+ * 鍔ㄦ�佹晥鏋滃皝瑁�
+ */
+class AnimalService {
+ constructor (config) {
+ this.intervals = [] // 瀹氭椂鍣ㄥ垪琛�
+ this.L = config.L
+ this.layer = config.layer
+ this.times = config.times || 5
+ this.colors = ['#98FB98', '#ff0000']
+ }
+
+ /**
+ * 鑴夊啿鏁堟灉
+ */
+ pulseEffect (xy) {
+ // 鎻掍欢 鏁堟灉瀹炵幇
+ var pulsingIcon = this.L.icon.pulse({
+ iconSize: [20, 20],
+ color: this.colors[0],
+ fillColor: ''
+ })
+ var picGroupMarker = this.L.marker(xy, { icon: pulsingIcon }).addTo(this.layer)
+ var times = this.times
+ // 瀹氭椂
+ var timeInterval = setInterval(() => {
+ if (times > 0) {
+ times--
+ } else {
+ clearInterval(timeInterval)
+ picGroupMarker.remove()
+ }
+ }, 1000)
+ }
+}
+
+export default AnimalService
diff --git a/src/components/LayerController/service/BusiLayerService.js b/src/components/LayerController/service/BusiLayerService.js
index 254a819..d63962e 100644
--- a/src/components/LayerController/service/BusiLayerService.js
+++ b/src/components/LayerController/service/BusiLayerService.js
@@ -13,18 +13,21 @@
init (layer) {
// 寮曞叆 鍏宠仈鐨刯s锛屽湪constant.js涓牴鎹甤onfig閰嶇疆鐨刬d寰楀埌澶勭悊js
const id = this.config.code
- console.log(logicMapper)
const file = logicMapper[id]
if (!file) {
console.log('鎵句笉鍒伴�昏緫澶勭悊js!!!')
} else {
- console.log('-----' + file)
var BusiLayer = require('../logic/' + file)
- console.log(BusiLayer)
var busiLayer = new BusiLayer()
- // 璋冪敤init
- busiLayer.init(layer)
+ busiLayer.init(layer, this.L)
+ if (busiLayer.bindTooltip) {
+ layer.bindTooltip(busiLayer.bindTooltip(layer))
+ }
// 璋冪敤click浜嬩欢
+ if (busiLayer.clickListener) {
+ layer.on('click', busiLayer.clickListener)
+ }
+ layer.addTo(this.map)
}
}
}
diff --git a/src/components/LayerController/service/LayerFactory.js b/src/components/LayerController/service/LayerFactory.js
index 7626125..e7a585c 100644
--- a/src/components/LayerController/service/LayerFactory.js
+++ b/src/components/LayerController/service/LayerFactory.js
@@ -2,15 +2,12 @@
import WfsLayerService from './WfsLayerService'
import BusiLayerService from './BusiLayerService'
import WmsLayerService from './WmsLayerService'
+
class LayerFactory {
constructor (options) {
this.L = options.L
this.map = window.map
this.layers = {}
- }
-
- createLayerGroup () {
- return this.L.layerGroup().addTo(this.map)
}
init () {
@@ -25,28 +22,26 @@
var wfs = childConfig.wfs
var wms = childConfig.wms
var url = childConfig.url
- // 鍒ゆ柇鏄惁宸茬粡鍔犺浇杩囷紝鍔犺浇杩囧氨 蹇界暐鎺�
- const layer = this.layers[code]
+ // 鍒ゆ柇鏄惁宸茬粡鍔犺浇杩囷紝鍔犺浇杩囧氨 鐩存帴寰楀埌瀵硅薄璋冪敤 鏄剧ず鍑芥暟
+ var layer = this.layers[code]
if (!layer) {
- const newLayer = this.createLayerGroup()
- this.layers[code] = newLayer
+ layer = this.L.featureGroup({}).addTo(this.map)
// 2. 鍒ゆ柇绫诲瀷
if (wfs) {
// 3. 瀹炰緥鍖栧叿浣搒ervice
- // var busiLayerService = new BusiLayerService()
- // busiLayerService.init()
var wfsLayerService = new WfsLayerService(childConfig)
- wfsLayerService.init(newLayer)
+ wfsLayerService.init(layer)
}
if (wms) {
var wmsLayerService = new WmsLayerService(childConfig)
- wmsLayerService.init(newLayer)
+ wmsLayerService.init(layer)
}
// 璇锋眰涓氬姟鏁版嵁鎺ュ彛
if (url) {
var busiLayerService = new BusiLayerService(childConfig)
- busiLayerService.init(newLayer)
+ busiLayerService.init(layer)
}
+ layer ? (this.layers[code] = layer) : console.log('LayerFactory锛歯ewLayer is null锛宲lease check !!!')
} else {
this.show(code)
}
@@ -69,9 +64,9 @@
}
/**
- * 璁剧疆index,绾垮湪鏈�涓嬮潰锛岀偣鍦ㄤ笂闈�
- * @param layerGroup 鍥惧眰缁�
- */
+ * 璁剧疆index,绾垮湪鏈�涓嬮潰锛岀偣鍦ㄤ笂闈�
+ * @param layerGroup 鍥惧眰缁�
+ */
setZIndex (layerGroup) {
var layers = layerGroup.getLayers()
if (layers.length > 0) {
diff --git a/src/components/LayerController/service/WfsLayerService.js b/src/components/LayerController/service/WfsLayerService.js
index e5a175d..8d55234 100644
--- a/src/components/LayerController/service/WfsLayerService.js
+++ b/src/components/LayerController/service/WfsLayerService.js
@@ -21,15 +21,20 @@
}
init (layer) {
+ this.layer = layer
const wfsUrl = this.config.wfs
if (wfsUrl) {
- AjaxUtils.get4JsonDataByUrl(wfsUrl, this.params, (res) => this.draw(layer, res.data.features))
+ this.loadData(wfsUrl)
}
}
- draw (layer, features) {
+ loadData (wfsUrl) {
+ AjaxUtils.get4JsonDataByUrl(wfsUrl, this.params, (res) => this.draw(res.data.features))
+ }
+
+ draw (features) {
const icon = this.config.icon
- const geojson = this.L.geoJSON(features, {
+ this.L.geoJSON(features, {
style: function (feature) {
return {
fill: styles.defaultLineStyle.fill,
@@ -66,8 +71,7 @@
.bindTooltip((layer) => this.tooltipListener(layer), { direction: 'bottom', offset: [0, 15], sticky: true })
.on('mouseover', (e) => this.mouseOverListener(e, layer)).on('mouseout', (e) => this.mouseOutListener(e, layer))
}
- }).addTo(layer)
- return geojson
+ }).addTo(this.layer)
}
mouseOverListener (e, layer) {
diff --git a/src/components/LayerController/service/WmsLayerService.js b/src/components/LayerController/service/WmsLayerService.js
index b818aec..859334d 100644
--- a/src/components/LayerController/service/WmsLayerService.js
+++ b/src/components/LayerController/service/WmsLayerService.js
@@ -1,11 +1,11 @@
-class WfsLayerService {
+class WmsLayerService {
constructor (config) {
this.config = config
}
- init () {
+ init (layer) {
}
}
-export default WfsLayerService
+export default WmsLayerService
diff --git a/src/conf/Constants.js b/src/conf/Constants.js
index cef757c..97a3af7 100644
--- a/src/conf/Constants.js
+++ b/src/conf/Constants.js
@@ -7,7 +7,8 @@
export const logicMapper = {
fsqy: 'Sample.js',
fspfk: 'Sample.js',
- fsjcd: 'Sample.js'
+ fsjcd: 'Sample.js',
+ wasteGasJcd: 'WasteGas.js'
}
export const props = {
diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue
index 6913577..0809498 100644
--- a/src/views/MapTemplate.vue
+++ b/src/views/MapTemplate.vue
@@ -165,7 +165,7 @@
this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.map) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵�
this.vectorLayerHelper.initVectorLayers(this.config)
- // this.ChangeState()
+ this.ChangeState()
// this.AddGasHelper()
// this.ChangeWaterState()
--
Gitblit v1.8.0