From 7cb769fa01008d3ad0d5ec3cf3ad56c0156f9153 Mon Sep 17 00:00:00 2001
From: wangqi <magical1908@outlook.com>
Date: 星期一, 29 三月 2021 18:31:07 +0800
Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop
---
src/conf/layers/LayerWasteWater.js | 37 ++
src/conf/layers/LayerWasteGas.js | 51 +++
src/components/LayerController/logic/Sample.js | 9
src/views/MapTemplate.vue | 22 +
src/components/LayerController/service/LayerFactory.js | 88 ++++++
src/utils/AjaxUtils.js | 2
src/components/BaseNav/PublicBounced/PublicBounced.vue | 22 -
src/components/LayerController/modules/LcServiceLayer.vue | 240 +++++++++---------
src/conf/layers/LayerSewers.js | 22
src/conf/layers/LayerSolidWaste.js | 27 ++
/dev/null | 30 --
src/components/LayerController/service/WmsLayerService.js | 11
src/components/LayerController/service/WfsLayerService.js | 119 +++++++++
src/components/LayerController/service/PopupService.js | 0
src/conf/Constants.js | 6
src/conf/MapConfig.js | 8
src/components/LayerController/service/BusiLayerService.js | 32 ++
src/components/panel/topicSearch/SewersSearch.vue | 2
src/components/BaseNav/PublicBounced/GasComponents/GasTable.vue | 29 -
19 files changed, 545 insertions(+), 212 deletions(-)
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/GasTable.vue b/src/components/BaseNav/PublicBounced/GasComponents/GasTable.vue
index bbbb219..6db1047 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/GasTable.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/GasTable.vue
@@ -7,17 +7,15 @@
<div class="border_corner border_corner_left_bottom"></div>
<div class="border_corner border_corner_right_bottom"></div>
<div class="main">
- <el-row>
- <el-row>
- <el-col :span="8">鐩戞祴鐐瑰悕绉�:{{name}}</el-col>
- <el-col :span="8">鐢熶骇鍗曚綅:{{ DeptSname }}</el-col>
- <el-col :span="8">鎺掓斁绫诲瀷鍔犺浇:{{EmissTypeName}}</el-col>
- </el-row>
- <el-row>
- <el-col :span="8">鎺掓斁鍘诲悜:{{EmissTypeDirectName}}</el-col>
- <el-col :span="8">鎺у埗绾у埆鍚嶇О:{{ContrLevelShowName}}</el-col>
- <el-col :span="8">鍐�/澶栨帓鍙�:{{OrOutPortName}}</el-col>
- </el-row>
+ <el-row type="flex" class="row-bg" justify="space-around">
+ <el-col :span="12">鐩戞祴鐐瑰悕绉�:{{ displayContent.Name }}</el-col>
+ <el-col :span="12">鐢熶骇鍗曚綅:{{ displayContent.DeptSname }}</el-col>
+ <el-col :span="12">鎺掓斁绫诲瀷鍔犺浇:{{ displayContent.EmissTypeName }}</el-col>
+ </el-row>
+ <el-row type="flex" class="row-bg" justify="space-around">
+ <el-col :span="12">鎺掓斁鍘诲悜:{{ displayContent.EmissTypeDirectName }}</el-col>
+ <el-col :span="12">鎺у埗绾у埆鍚嶇О:{{ displayContent.ContrLevelShowName }}</el-col>
+ <el-col :span="12">鍐�/澶栨帓鍙�:{{ displayContent.OrOutPortName }}</el-col>
</el-row>
</div>
</div>
@@ -28,14 +26,7 @@
name: 'GasTable',
props: ['displayContent'],
data () {
- return {
- name: '鑱氶叝鐑獟鐐�03鐑熸皵鎺掓斁鍙�',
- DeptSname: '澶ц姵鐑冭缃�',
- EmissTypeName: '搴熸皵',
- EmissTypeDirectName: '澶ф皵',
- ContrLevelShowName: '甯傛帶',
- OrOutPortName: '澶栨帓'
- }
+ return {}
}
}
</script>
diff --git a/src/components/BaseNav/PublicBounced/PublicBounced.vue b/src/components/BaseNav/PublicBounced/PublicBounced.vue
index 29294dc..152f458 100644
--- a/src/components/BaseNav/PublicBounced/PublicBounced.vue
+++ b/src/components/BaseNav/PublicBounced/PublicBounced.vue
@@ -6,9 +6,8 @@
</div>
<div class="public-bounced-content">
<div class="public-bounced-content-left">
- <GasTable></GasTable>
+ <GasTable :displayContent="displayContent"></GasTable>
<GasECharts></GasECharts>
-<!-- <GasTabs></GasTabs>-->
</div>
<div class="public-bounced-content-right">
<GasVideo></GasVideo>
@@ -53,18 +52,14 @@
<style lang="less" scoped>
.public-bounced {
- width: 80%;
- height: 450px;
z-index: 999;
- position: absolute;
- top: 25%;
- left: 10%;
+ position: fixed;
+ top: 50%;
+ left: 50%;
background-color: #002432;
- margin: 1% auto;
border: 1px #9fc5c8 solid;
.public-bounced-title {
- width: 100%;
border: 1px #a4c0d8 solid;
display: flex;
align-items: center;
@@ -85,21 +80,14 @@
}
.public-bounced-content {
- width: 100%;
- height: 100%;
display: flex;
- //align-items: center;
+ align-items: center;
justify-content: space-around;
.public-bounced-content-left {
- //flex: 1;
- width: 48%;
- height: 400px;
}
.public-bounced-content-right {
- width: 48%;
- height: 400px;
}
}
diff --git a/src/components/BaseNav/SolidWaste/Popup.vue b/src/components/BaseNav/SolidWaste/Popup.vue
deleted file mode 100644
index 79a1a6d..0000000
--- a/src/components/BaseNav/SolidWaste/Popup.vue
+++ /dev/null
@@ -1,111 +0,0 @@
-<template>
- <div class="box" @click.stop="clo_box">
- <div class="popup_content">
- <div class="popup_title">{{ this.title }}</div>
- <div class="popup_center">
- <div v-if="this.content_text">{{ this.content_text }}</div>
- <slot></slot>
- </div>
- <div class="popup_bottom">
- <button @click="popup_sub">纭畾{{ displayContent.Name }}</button>
- <button @click="popup_clo">鍙栨秷</button>
- </div>
- </div>
- </div>
-</template>
-
-<script>
-export default {
- name: 'SolidContent',
- data () {
- return {
- displayContent: []
- }
- },
- props: {
- title: {
- type: String,
- default: '榛樿鏍囬'
- },
- content_text: {
- type: String,
- default: ''
- },
- hidden: {
- type: Boolean,
- default: false
- }
- },
- methods: {
- // 鐐瑰嚮纭畾浜嬩欢
- popup_sub () {
- this.$emit('popup_sub')
- },
- // 鐐瑰嚮浜嗗彇娑堜簨浠�
- popup_clo () {
- this.$emit('popup_clo')
- },
- // 鐐瑰嚮浜嗗脊鍑烘浠ュ鍖哄煙
- clo_box (e) {
- if (e.target._prevClass === 'box') {
- this.$emit('clo_box')
- }
- }
- }
-}
-</script>
-
-<style scoped>
-.box {
- width: 80%;
- z-index: 999;
- position: absolute;
- top: 50%;
- left: 25%;
- background-color: rgba(128, 128, 128, 0.507);
-}
-
-.popup_content {
- background-color: white;
- padding: 1%;
- border-radius: 20px;
- width: 40%;
- margin: 10% auto;
-}
-
-.popup_title {
- text-align: center;
- font-weight: 600;
- font-size: 30px;
-}
-
-.popup_center {
- padding: 10%;
- font-size: 20px;
-}
-
-.popup_bottom {
- display: flex;
- justify-content: space-around;
-}
-
-button {
- width: 25%;
- height: 20%;
- padding: 2%;
- border: 1px solid gray;
- border-radius: 10px;
-}
-
-button:nth-child(1) {
- background-color: orangered;
- color: white;
- font-size: 20px;
-}
-
-button:nth-child(2) {
- background-color: gray;
- color: black;
- font-size: 20px;
-}
-</style>
diff --git a/src/components/BaseNav/SolidWaste/SolidContent.vue b/src/components/BaseNav/SolidWaste/SolidContent.vue
deleted file mode 100644
index 9b55840..0000000
--- a/src/components/BaseNav/SolidWaste/SolidContent.vue
+++ /dev/null
@@ -1,82 +0,0 @@
-<template>
- <div class="public-bounced" v-show="flag">
- <div class="popup_title">{{ displayContent.Name }}</div>
- <div class="popup_bottom">
- <button @click="closePopup">纭畾</button>
- <button @click="closePopup">鍙栨秷</button>
- </div>
- </div>
-</template>
-
-<script>
-import '@/components/BaseNav/SolidWaste/directive'
-
-export default {
- name: 'SolidContent',
- data () {
- return {
- displayContent: [],
- flag: false
- }
- },
- methods: {
- setData (data) {
- this.displayContent = data
- this.flag = true
- },
- closePopup () {
- this.flag = false
- }
- }
-}
-</script>
-
-<style scoped>
-.public-bounced {
- width: 80%;
- z-index: 499;
- position: absolute;
- top: 15%;
- left: 10%;
- background-color: rgba(128, 128, 128, 0.507);
- padding: 1%;
- border-radius: 20px;
- margin: 10% auto;
-}
-
-.popup_title {
- text-align: center;
- font-weight: 600;
- font-size: 30px;
-}
-
-.popup_center {
- padding: 10%;
- font-size: 20px;
-}
-
-.popup_bottom {
- display: flex;
- justify-content: space-around;
-}
-
-button {
- width: 25%;
- height: 20%;
- padding: 2%;
- border: 1px solid gray;
- border-radius: 10px;
-}
-
-button:nth-child(1) {
- background-color: orangered;
- color: white;
- font-size: 20px;
-}
-
-button:nth-child(2) {
- background-color: gray;
- color: black;
- font-size: 20px;
-}
-</style>
diff --git a/src/components/BaseNav/SolidWaste/SolidWasteTable.vue b/src/components/BaseNav/SolidWaste/SolidWasteTable.vue
deleted file mode 100644
index a4ecb37..0000000
--- a/src/components/BaseNav/SolidWaste/SolidWasteTable.vue
+++ /dev/null
@@ -1,69 +0,0 @@
-<template>
- <el-tabs>
- <el-tab-pane :label="displayContent.StoragePlaceName" name="">
- <el-table
- :data="tableData" :fit="true">
- <el-table-column
- type="index"
- label="搴忓彿">
- </el-table-column>
- <el-table-column
- type="index"
- label="搴忓彿">
- </el-table-column>
- <el-table-column
- type="index"
- label="搴忓彿">
- </el-table-column>
- <el-table-column label="鍥哄簾(t)">
- <el-table-column
- prop="province"
- label="绱浜х敓閲�">
- </el-table-column>
- <el-table-column
- prop="city"
- label="褰撴湀浜х敓閲�">
- </el-table-column>
- </el-table-column>
- </el-table>
- </el-tab-pane>
- </el-tabs>
-
-</template>
-
-<script>
-export default {
- name: 'SolidWasteTable',
- props: ['displayContent'],
- data () {
- return {
- tableData: [{
- date: '闆嗗洟鍏徃',
- name: '35',
- province: '23',
- city: '11',
- address: 235,
- zip: 23
- }, {
- date: '澶╂触鐭冲寲',
- name: 32,
- province: 33,
- city: 44,
- address: 53,
- zip: 200333
- }, {
- date: '娴庡崡鐐煎寲',
- name: 35,
- province: 13,
- city: 33,
- address: 44,
- zip: 200333
- }]
- }
- }
-}
-</script>
-
-<style lang="less" scoped>
-
-</style>
diff --git a/src/components/BaseNav/WasteWater/WasteWaterContent.vue b/src/components/BaseNav/WasteWater/WasteWaterContent.vue
deleted file mode 100644
index 22512f2..0000000
--- a/src/components/BaseNav/WasteWater/WasteWaterContent.vue
+++ /dev/null
@@ -1,52 +0,0 @@
-<template>
- <div class="wastewater-content">
- <div class="content-left">
- <span>{{ displayContent.StoragePlaceName }}</span>
- </div>
- <div class="content-right">
- <WasteWaterTable :displayContent="displayContent"></WasteWaterTable>
- </div>
- </div>
-</template>
-
-<script>
-
-import WasteWaterTable from '@components/BaseNav/WasteWater/WasteWaterTable'
-
-export default {
- name: 'WasteWaterContent',
- components: { WasteWaterTable },
- data () {
- return {
- displayContent: []
- }
- },
- methods: {
- setDate (data) {
- this.displayContent = data
- }
- }
-}
-</script>
-
-<style lang="less" scoped>
-span {
- font-size: 22px;
- color: red;
-}
-
-.wastewater-content {
- width: 100%;
- display: flex;
- align-items: center;
- justify-content: space-around;
-
- .content-left {
- width: 35%;
- }
-
- .content-right {
- width: 60%;
- }
-}
-</style>
diff --git a/src/components/BaseNav/WasteWater/WasteWaterTable.vue b/src/components/BaseNav/WasteWater/WasteWaterTable.vue
deleted file mode 100644
index 7468710..0000000
--- a/src/components/BaseNav/WasteWater/WasteWaterTable.vue
+++ /dev/null
@@ -1,69 +0,0 @@
-<template>
- <el-tabs>
- <el-tab-pane :label="displayContent.StoragePlaceName" name="" class="ShowTable">
- <el-table
- :data="tableData" :fit="true">
- <el-table-column
- type="index"
- label="搴忓彿">
- </el-table-column>
- <el-table-column
- type="index"
- label="搴忓彿">
- </el-table-column>
- <el-table-column
- type="index"
- label="搴忓彿">
- </el-table-column>
- <el-table-column label="搴熸按(t)">
- <el-table-column
- prop="province"
- label="绱浜х敓閲�">
- </el-table-column>
- <el-table-column
- prop="city"
- label="褰撴湀浜х敓閲�">
- </el-table-column>
- </el-table-column>
- </el-table>
- </el-tab-pane>
- </el-tabs>
-
-</template>
-
-<script>
-export default {
- name: 'WasteWaterTable',
- props: ['displayContent'],
- data () {
- return {
- tableData: [{
- date: '闆嗗洟鍏徃',
- name: '35',
- province: '23',
- city: '11',
- address: 235,
- zip: 23
- }, {
- date: '澶╂触鐭冲寲',
- name: 32,
- province: 33,
- city: 44,
- address: 53,
- zip: 200333
- }, {
- date: '娴庡崡鐐煎寲',
- name: 35,
- province: 13,
- city: 33,
- address: 44,
- zip: 200333
- }]
- }
- }
-}
-</script>
-
-<style lang="less" scoped>
-
-</style>
diff --git a/src/components/BaseNav/WasteWater/directive.js b/src/components/BaseNav/WasteWater/directive.js
deleted file mode 100644
index adc9450..0000000
--- a/src/components/BaseNav/WasteWater/directive.js
+++ /dev/null
@@ -1,132 +0,0 @@
-import Vue from 'vue'
-
-// 鑷畾涔夊厓绱犲疄鐜板脊妗嗘嫋鎷絒閲嶇偣]
-Vue.directive('draw', {
- inserted: function (el, binding, vNode) {
- el.setAttribute('style', 'position: fixed; z-index: 9999')
- },
- bind: function (el, bindding, vNode) {
- el.setAttribute('draggable', true)
- let left, top, width, height
- el._dragstart = function (event) {
- event.stopPropagation()
- left = event.clientX - el.offsetLeft
- top = event.clientY - el.offsetTop
- width = el.offsetWidth
- height = el.offsetHeight
- }
- el._checkPosition = function () { // 闃叉琚嫋鍑鸿竟鐣�
- const width = el.offsetWidth
- const height = el.offsetHeight
- let left = Math.min(el.offsetLeft, document.body.clientWidth - width)
- left = Math.max(0, left)
- let top = Math.min(el.offsetTop, document.body.clientHeight - height)
- top = Math.max(0, top)
- el.style.left = left + 'px'
- el.style.top = top + 'px'
- el.style.width = width + 'px'
- el.style.height = height + 'px'
- }
- el._dragEnd = function (event) {
- event.stopPropagation()
- left = event.clientX - left
- top = event.clientY - top
- el.style.left = left + 'px'
- el.style.top = top + 'px'
- el.style.width = width + 'px'
- el.style.height = height + 'px'
- el._checkPosition()
- }
- el._documentAllowDraop = function (event) {
- event.preventDefault()
- }
- document.body.addEventListener('dragover', el._documentAllowDraop)
- el.addEventListener('dragstart', el._dragstart)
- el.addEventListener('dragend', el._dragEnd)
- window.addEventListener('resize', el._checkPosition)
- },
-
- unbind: function (el, bindding, vNode) {
- document.body.removeEventListener('dragover', el._documentAllowDraop)
- el.removeEventListener('dragstart', el._dragstart)
- el.removeEventListener('dragend', el._dragEnd)
- window.removeEventListener('resize', el._checkPosition)
- delete el._documentAllowDraop
- delete el._dragstart
- delete el._dragEnd
- delete el._checkPosition
- }
-})
-
-// v-dialogDrag: 寮圭獥鎷栨嫿
-Vue.directive('dialogDrag', {
- bind (el, binding, vnode, oldVnode) {
- const dialogHeaderEl = el.querySelector('.el-dialog__header')
- const dragDom = el.querySelector('.el-dialog')
- dialogHeaderEl.style.cursor = 'move'
-
- // 鑾峰彇鍘熸湁灞炴�� ie dom鍏冪礌.currentStyle 鐏嫄璋锋瓕 window.getComputedStyle(dom鍏冪礌, null);
- const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null)
-
- dialogHeaderEl.onmousedown = (e) => {
- // 榧犳爣鎸変笅锛岃绠楀綋鍓嶅厓绱犺窛绂诲彲瑙嗗尯鐨勮窛绂�
- const disX = e.clientX - dialogHeaderEl.offsetLeft
- const disY = e.clientY - dialogHeaderEl.offsetTop
-
- // 鑾峰彇鍒扮殑鍊煎甫px 姝e垯鍖归厤鏇挎崲
- let styL, styT
-
- // 娉ㄦ剰鍦╥e涓� 绗竴娆¤幏鍙栧埌鐨勫�间负缁勪欢鑷甫50% 绉诲姩涔嬪悗璧嬪�间负px
- if (sty.left.includes('%')) {
- styL = +document.body.clientWidth * (+sty.left.replace(/%/g, '') / 100)
- styT = +document.body.clientHeight * (+sty.top.replace(/%/g, '') / 100)
- } else {
- styL = +sty.left.replace(/px/g, '')
- styT = +sty.top.replace(/px/g, '')
- }
-
- document.onmousemove = function (e) {
- // 閫氳繃浜嬩欢濮旀墭锛岃绠楃Щ鍔ㄧ殑璺濈
- const l = e.clientX - disX
- const t = e.clientY - disY
-
- // 绉诲姩褰撳墠鍏冪礌
- dragDom.style.left = `${l + styL}px`
- dragDom.style.top = `${t + styT}px`
-
- // 灏嗘鏃剁殑浣嶇疆浼犲嚭鍘�
- // binding.value({x:e.pageX,y:e.pageY})
- }
-
- document.onmouseup = function (e) {
- document.onmousemove = null
- document.onmouseup = null
- }
- }
- }
-})
-
-// v-dialogDragWidth: 寮圭獥瀹藉害鎷栧ぇ 鎷栧皬
-Vue.directive('dialogDragWidth', {
- bind (el, binding, vnode, oldVnode) {
- const dragDom = binding.value.$el.querySelector('.el-dialog')
-
- el.onmousedown = (e) => {
- // 榧犳爣鎸変笅锛岃绠楀綋鍓嶅厓绱犺窛绂诲彲瑙嗗尯鐨勮窛绂�
- const disX = e.clientX - el.offsetLeft
-
- document.onmousemove = function (e) {
- e.preventDefault() // 绉诲姩鏃剁鐢ㄩ粯璁や簨浠�
-
- // 閫氳繃浜嬩欢濮旀墭锛岃绠楃Щ鍔ㄧ殑璺濈
- const l = e.clientX - disX
- dragDom.style.width = `${l}px`
- }
-
- document.onmouseup = function (e) {
- document.onmousemove = null
- document.onmouseup = null
- }
- }
- }
-})
diff --git a/src/components/LayerController/logic/Sample.js b/src/components/LayerController/logic/Sample.js
new file mode 100644
index 0000000..687b0e7
--- /dev/null
+++ b/src/components/LayerController/logic/Sample.js
@@ -0,0 +1,9 @@
+module.exports = function () {
+ this.init = (layer) => {
+ console.log('sample init !!!')
+ }
+
+ this.clickListener = (list) => {
+ console.log('sample clickListener !!!')
+ }
+}
diff --git a/src/components/LayerController/modules/LcServiceLayer.vue b/src/components/LayerController/modules/LcServiceLayer.vue
index 4b9aa25..ab589f0 100644
--- a/src/components/LayerController/modules/LcServiceLayer.vue
+++ b/src/components/LayerController/modules/LcServiceLayer.vue
@@ -1,134 +1,134 @@
<template>
<div class="inner-panel">
-<!-- <div class="title">-->
-<!-- 鍥惧眰鎺у埗-->
-<!-- </div>-->
-<!-- <div class="wms-panel">-->
-<!-- <div v-for="item in serviceLayers" :key="item.code" class="layerbox">-->
-<!-- <div><input type="checkbox" :name="'wmsLayer_'+item.code" :checked="item.checked" :value="item.code"-->
-<!-- @change="swAllLayers(item)"/>{{ item.name }} <span @click="swFilter(item)"-->
-<!-- class="btn-filter">杩囨护</span>-->
-<!-- </div>-->
-<!-- <div class="layerbox-item">-->
-<!-- <div class="basemap-layer-item" v-for="itm in item.layers" :key="itm.code"><input type="checkbox"-->
-<!-- :name="'wmsSublayers_'+item.code+'_'+itm.code"-->
-<!-- :checked="itm.checked"-->
-<!-- :value="itm.code"-->
-<!-- @change="swWmsLayer(item.url,itm)"/>{{-->
-<!-- itm.name }}-->
-<!-- </div>-->
-<!-- </div>-->
-<!-- </div>-->
-<!-- </div>-->
-<!-- <lc-service-layer-filter v-if="layerFilterVisible" ref="serviceLayerFilter"></lc-service-layer-filter>-->
+ <div class="title">
+ 鍥惧眰鎺у埗
+ </div>
+ <div class="wms-panel">
+ <div v-for="item in serviceLayers" :key="item.code" class="layerbox">
+ <div><input type="checkbox" :name="'wmsLayer_'+item.code" :checked="item.checked" :value="item.code"
+ @change="swAllLayers(item)"/>{{ item.name }} <span @click="swFilter(item)"
+ class="btn-filter">杩囨护</span>
+ </div>
+ <div class="layerbox-item">
+ <div class="basemap-layer-item" v-for="itm in item.layers" :key="itm.code"><input type="checkbox"
+ :name="'wmsSublayers_'+item.code+'_'+itm.code"
+ :checked="itm.checked"
+ :value="itm.code"
+ @change="swWmsLayer(itm)"/>{{
+ itm.name }}
+ </div>
+ </div>
+ </div>
+ </div>
+ <lc-service-layer-filter v-if="layerFilterVisible" ref="serviceLayerFilter"></lc-service-layer-filter>
</div>
</template>
-<!--<script>-->
-<!--import WfsHelper from '../../helpers/WfsHelper'-->
-<!--import LcServiceLayerFilter from '@components/LayerController/modules/LcServiceLayerFilter'-->
-<!--import AjaxUtils from '../../../utils/AjaxUtils'-->
+<script>
+import WfsHelper from '../../helpers/WfsHelper'
+import LcServiceLayerFilter from '@components/LayerController/modules/LcServiceLayerFilter'
+import AjaxUtils from '../../../utils/AjaxUtils'
-<!--export default {-->
-<!-- name: 'LcServiceLayer',-->
-<!-- components: { LcServiceLayerFilter },-->
-<!-- data () {-->
-<!-- return {-->
-<!-- layerFilterVisible: false-->
-<!-- }-->
-<!-- },-->
-<!-- computed: {-->
-<!-- serviceLayers () {-->
-<!-- return this.$store.state.map.serviceLayers.LayerSewersLine-->
-<!-- }-->
-<!-- },-->
-<!-- mounted () {-->
-<!-- // console.log('03姝ラ锛�', this.helper)-->
-<!-- this.updateServiceLayerList()-->
-<!-- },-->
-<!-- methods: {-->
-<!-- swAllLayers (item) {-->
-<!-- // eslint-disable-next-line no-debugger-->
-<!-- item.checked = !item.checked-->
-<!-- for (let i = 0, len = item.layers.length; i < len; ++i) {-->
-<!-- item.layers[i].checked = item.checked-->
-<!-- }-->
-<!-- this.updateWms()-->
-<!-- },-->
-<!-- loadWfs () {-->
-<!-- var wfsHelper = new WfsHelper()-->
-<!-- wfsHelper.addTypeName('绠$嚎鐐�')-->
-<!-- wfsHelper.addEquals('pipename', '鐮旂┒闄�01璺痀S000001')-->
+export default {
+ name: 'LcServiceLayer',
+ components: { LcServiceLayerFilter },
+ data () {
+ return {
+ layerFilterVisible: false
+ }
+ },
+ computed: {
+ serviceLayers () {
+ return this.$store.state.map.serviceLayers.LayerSewersLine
+ }
+ },
+ mounted () {
+ // console.log('03姝ラ锛�', this.helper)
+ this.updateServiceLayerList()
+ },
+ methods: {
+ swAllLayers (item) {
+ // eslint-disable-next-line no-debugger
+ item.checked = !item.checked
+ for (let i = 0, len = item.layers.length; i < len; ++i) {
+ item.layers[i].checked = item.checked
+ }
+ this.updateWms()
+ },
+ loadWfs () {
+ var wfsHelper = new WfsHelper()
+ wfsHelper.addTypeName('绠$嚎鐐�')
+ wfsHelper.addEquals('pipename', '鐮旂┒闄�01璺痀S000001')
-<!-- AjaxUtils.GetDataAsynByUrl(wfsHelper.getUrl(), {}, (res) => {-->
-<!-- console.log(res)-->
-<!-- })-->
-<!-- },-->
-<!-- swWmsLayer (url, itm) {-->
-<!-- itm.checked = !itm.checked-->
-<!-- if (itm.checked) {-->
-<!-- window.serviceLayerHelper.loadGeojsonLayer(url, itm)-->
-<!-- } else {-->
-<!-- window.serviceLayerHelper.removeLayer(itm)-->
-<!-- }-->
-<!-- // this.updateWms()-->
-<!-- },-->
-<!-- swFilter (item) {-->
-<!-- this.layerFilterVisible = !this.layerFilterVisible-->
-<!-- },-->
-<!-- updateServiceLayerList () {-->
+ AjaxUtils.GetDataAsynByUrl(wfsHelper.getUrl(), {}, (res) => {
+ console.log(res)
+ })
+ },
+ swWmsLayer (itm) {
+ itm.checked = !itm.checked
+ if (itm.checked) {
+ window.layerFactory.show(itm.code)
+ } else {
+ window.layerFactory.hide(itm.code)
+ }
+ // this.updateWms()
+ },
+ swFilter (item) {
+ this.layerFilterVisible = !this.layerFilterVisible
+ },
+ updateServiceLayerList () {
-<!-- },-->
-<!-- updateWms () {-->
-<!-- var mapConfig = this.mapConfig-->
-<!-- var wmsHelper = new WfsHelper()-->
-<!-- wmsHelper.initMapConfig(mapConfig)-->
-<!-- var wmsLayersMap = wmsHelper.getWmsLayersMap()-->
-<!-- for (var k in wmsLayersMap) {-->
-<!-- var layers = wmsLayersMap[k]-->
-<!-- var tileLayer = window.serviceLayerHelper.getTileLayer(k)-->
-<!-- if (tileLayer) {-->
-<!-- tileLayer.setParams({ layers: layers.join(',') }, false)-->
-<!-- tileLayer.setUrl(tileLayer.config.url, false)-->
-<!-- }-->
-<!-- }-->
-<!-- }-->
-<!-- }-->
-<!--}-->
-<!--</script>-->
+ },
+ updateWms () {
+ var mapConfig = this.mapConfig
+ var wmsHelper = new WfsHelper()
+ wmsHelper.initMapConfig(mapConfig)
+ var wmsLayersMap = wmsHelper.getWmsLayersMap()
+ for (var k in wmsLayersMap) {
+ var layers = wmsLayersMap[k]
+ var tileLayer = window.serviceLayerHelper.getTileLayer(k)
+ if (tileLayer) {
+ tileLayer.setParams({ layers: layers.join(',') }, false)
+ tileLayer.setUrl(tileLayer.config.url, false)
+ }
+ }
+ }
+ }
+}
+</script>
-<!--<style scoped lang="less">-->
-<!-- .inner-panel {-->
-<!-- .title{-->
-<!-- color: #ffffff;-->
-<!-- font-size: 16px;-->
-<!-- font-weight: 600;-->
-<!-- margin: 10px;-->
-<!-- text-align: center;-->
-<!-- }-->
-<!-- .btn-filter {-->
-<!-- cursor: pointer;-->
-<!-- color: #ffffff;-->
-<!-- }-->
+<style scoped lang="less">
+ .inner-panel {
+ .title{
+ color: #ffffff;
+ font-size: 16px;
+ font-weight: 600;
+ margin: 10px;
+ text-align: center;
+ }
+ .btn-filter {
+ cursor: pointer;
+ color: #ffffff;
+ }
-<!-- .wms-panel {-->
-<!-- width: 250px;-->
+ .wms-panel {
+ width: 250px;
-<!-- .layerbox {-->
-<!-- width: 100%;-->
+ .layerbox {
+ width: 100%;
-<!-- .layerbox-item {-->
-<!-- display: flex;-->
-<!-- flex-flow: row wrap;-->
-<!-- margin-left: 15px;-->
-<!-- margin-top: 5px;-->
+ .layerbox-item {
+ display: flex;
+ flex-flow: row wrap;
+ margin-left: 15px;
+ margin-top: 5px;
-<!-- .basemap-layer-item {-->
-<!-- width: 50%;-->
-<!-- }-->
-<!-- }-->
-<!-- }-->
-<!-- }-->
-<!-- }-->
+ .basemap-layer-item {
+ width: 50%;
+ }
+ }
+ }
+ }
+ }
-<!--</style>-->
+</style>
diff --git a/src/components/LayerController/service/BusiLayerService.js b/src/components/LayerController/service/BusiLayerService.js
new file mode 100644
index 0000000..254a819
--- /dev/null
+++ b/src/components/LayerController/service/BusiLayerService.js
@@ -0,0 +1,32 @@
+/**
+ * 鍔犺浇涓氬姟鏁版嵁鍥惧眰
+ */
+import { logicMapper } from '@src/conf/Constants'
+
+class BusiLayerService {
+ constructor (config) {
+ this.L = window.L
+ this.map = window.map
+ this.config = config
+ }
+
+ 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)
+ // 璋冪敤click浜嬩欢
+ }
+ }
+}
+
+export default BusiLayerService
diff --git a/src/components/LayerController/service/LayerFactory.js b/src/components/LayerController/service/LayerFactory.js
new file mode 100644
index 0000000..7626125
--- /dev/null
+++ b/src/components/LayerController/service/LayerFactory.js
@@ -0,0 +1,88 @@
+import store from '@/store'
+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 () {
+ // 1. 閬嶅巻layer config
+ var layerConfig = store.state.map.serviceLayers.LayerSewersLine
+ for (var i = 0, l = layerConfig.length; i < l; i++) {
+ var config = layerConfig[i]
+ var layers = config.layers
+ for (var j = 0; j < layers.length; j++) {
+ var childConfig = layers[j]
+ var code = childConfig.code
+ var wfs = childConfig.wfs
+ var wms = childConfig.wms
+ var url = childConfig.url
+ // 鍒ゆ柇鏄惁宸茬粡鍔犺浇杩囷紝鍔犺浇杩囧氨 蹇界暐鎺�
+ const layer = this.layers[code]
+ if (!layer) {
+ const newLayer = this.createLayerGroup()
+ this.layers[code] = newLayer
+ // 2. 鍒ゆ柇绫诲瀷
+ if (wfs) {
+ // 3. 瀹炰緥鍖栧叿浣搒ervice
+ // var busiLayerService = new BusiLayerService()
+ // busiLayerService.init()
+ var wfsLayerService = new WfsLayerService(childConfig)
+ wfsLayerService.init(newLayer)
+ }
+ if (wms) {
+ var wmsLayerService = new WmsLayerService(childConfig)
+ wmsLayerService.init(newLayer)
+ }
+ // 璇锋眰涓氬姟鏁版嵁鎺ュ彛
+ if (url) {
+ var busiLayerService = new BusiLayerService(childConfig)
+ busiLayerService.init(newLayer)
+ }
+ } else {
+ this.show(code)
+ }
+ }
+ }
+ }
+
+ show (code) {
+ var _layer = this.layers[code].addTo(this.map)
+ this.setZIndex(_layer)
+ }
+
+ hide (code) {
+ var layer = this.layers[code]
+ layer && this.map.removeLayer(layer)
+ }
+
+ toggle (code) {
+
+ }
+
+ /**
+ * 璁剧疆index,绾垮湪鏈�涓嬮潰锛岀偣鍦ㄤ笂闈�
+ * @param layerGroup 鍥惧眰缁�
+ */
+ setZIndex (layerGroup) {
+ var layers = layerGroup.getLayers()
+ if (layers.length > 0) {
+ var layer = layers[0]
+ if (layer.feature && (layer.feature.geometry.type === 'LineString' || layer.feature.geometry.type === 'MultiLineString')) {
+ layerGroup.bringToBack()
+ } else {
+ layerGroup.bringToFront()
+ }
+ }
+ }
+}
+
+export default LayerFactory
diff --git a/src/components/LayerController/service/PopupService.js b/src/components/LayerController/service/PopupService.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/components/LayerController/service/PopupService.js
diff --git a/src/components/LayerController/service/WfsLayerService.js b/src/components/LayerController/service/WfsLayerService.js
new file mode 100644
index 0000000..e5a175d
--- /dev/null
+++ b/src/components/LayerController/service/WfsLayerService.js
@@ -0,0 +1,119 @@
+/**
+ * 鍔犺浇涓氬姟鏁版嵁鍥惧眰
+ */
+
+import styles from '../../../conf/Styles'
+import AjaxUtils from '../../../utils/AjaxUtils'
+
+class WfsLayerService {
+ constructor (config) {
+ this.config = config
+ this.params = {
+ version: '1.0.0',
+ REQUEST: 'getfeature',
+ OUTPUTFORMAT: 'json',
+ maxFeatures: 20000
+ }
+ this.popupComp = window.popupComp
+ this.L = window.L
+ this.map = window.map
+ this.regex = /\{(.+?)\}/g // 鍖归厤{}
+ }
+
+ init (layer) {
+ const wfsUrl = this.config.wfs
+ if (wfsUrl) {
+ AjaxUtils.get4JsonDataByUrl(wfsUrl, this.params, (res) => this.draw(layer, res.data.features))
+ }
+ }
+
+ draw (layer, features) {
+ const icon = this.config.icon
+ const geojson = this.L.geoJSON(features, {
+ style: function (feature) {
+ return {
+ fill: styles.defaultLineStyle.fill,
+ weight: styles.defaultLineStyle.weight,
+ fillColor: styles.defaultLineStyle.fillColor,
+ color: styles.defaultLineStyle.color,
+ fillOpacity: styles.defaultLineStyle.fillOpacity,
+ opacity: styles.defaultLineStyle.opacity,
+ dashArray: styles.defaultLineStyle.dashArray,
+ dashSpeed: styles.defaultLineStyle.dashSpeed
+ }
+ },
+ pointToLayer: (geoJsonPoint, latlng) => {
+ return this.L.canvasMarker(latlng,
+ {
+ img: {
+ // url: 'assets/images/map/marker-icon.png',
+ url: '/assets/images/map/' + icon,
+ size: styles.defaultLineStyle.size
+ }
+ })
+ },
+ onEachFeature: (feature, layer) => {
+ layer.bindPopup((layer) => {
+ this.popupComp.setDatas(layer)
+ this.popupComp.setShow()
+ return this.popupComp.$el
+ }, {
+ className: 's-map-popup',
+ minWidth: 300,
+ closeButton: false,
+ autoClose: false
+ })
+ .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
+ }
+
+ mouseOverListener (e, layer) {
+ const icon = this.config.icon
+ const type = e.target.feature.geometry.type
+ if (type === 'LineString' || type === 'MultiLineString') {
+ layer.setStyle({ weight: 8, color: '#00ffff' })
+ } else if (type === 'Point' || type === 'MultiPoint') {
+ layer.setStyle({
+ img: {
+ url: '/assets/images/map/' + icon,
+ size: [25, 25]
+ }
+ })
+ layer.bringToFront()
+ }
+ }
+
+ mouseOutListener (e, layer) {
+ const icon = this.config.icon
+ const type = e.target.feature.geometry.type
+ if (type === 'LineString' || type === 'MultiLineString') {
+ layer.setStyle({ weight: styles.defaultLineStyle.weight, color: styles.defaultLineStyle.color })
+ }
+ if (type === 'Point' || type === 'MultiPoint') {
+ layer.setStyle({
+ img: {
+ url: '/assets/images/map/' + icon,
+ size: styles.defaultLineStyle.size
+ }
+ })
+ }
+ }
+
+ tooltipListener (layer) {
+ const nameId = layer.feature.id
+ let name = ''
+ if (nameId.indexOf('涓夐��') !== -1 || nameId.indexOf('鍥涢��') !== -1 || nameId.indexOf('绐ㄤ簳') !== -1) {
+ name = layer.feature.properties.pointnumber
+ } else {
+ name = layer.feature.properties.name
+ }
+ if (name === undefined) {
+ name = ''
+ }
+ return name
+ }
+}
+export default WfsLayerService
diff --git a/src/components/LayerController/service/WmsLayerService.js b/src/components/LayerController/service/WmsLayerService.js
new file mode 100644
index 0000000..b818aec
--- /dev/null
+++ b/src/components/LayerController/service/WmsLayerService.js
@@ -0,0 +1,11 @@
+class WfsLayerService {
+ constructor (config) {
+ this.config = config
+ }
+
+ init () {
+
+ }
+}
+
+export default WfsLayerService
diff --git a/src/components/panel/topicSearch/SewersSearch.vue b/src/components/panel/topicSearch/SewersSearch.vue
index f6ff0f2..c969cde 100644
--- a/src/components/panel/topicSearch/SewersSearch.vue
+++ b/src/components/panel/topicSearch/SewersSearch.vue
@@ -101,7 +101,7 @@
</template>
<script>
-import { PipelineTypeOptions } from '@/conf/LayerSewers'
+import { PipelineTypeOptions } from '@/conf/layers/LayerSewers'
import WfsHelper from '@components/helpers/WfsHelper'
import AjaxUtils from '@utils/AjaxUtils'
diff --git a/src/conf/Constants.js b/src/conf/Constants.js
index 72bb8f0..cef757c 100644
--- a/src/conf/Constants.js
+++ b/src/conf/Constants.js
@@ -4,6 +4,12 @@
POLYGON: 'polygon'
}
+export const logicMapper = {
+ fsqy: 'Sample.js',
+ fspfk: 'Sample.js',
+ fsjcd: 'Sample.js'
+}
+
export const props = {
pipename: '绠$嚎鍚嶇О',
pipecode: '绠$嚎缂栫爜',
diff --git a/src/conf/LayerWasteWater.js b/src/conf/LayerWasteWater.js
deleted file mode 100644
index 950943c..0000000
--- a/src/conf/LayerWasteWater.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * 搴熸按鍥惧眰
- * @type {string}
- */
-const APP_GIS_HOST_2 = 'http://xearth.cn:8088'
-export const LayerWasteWater = {
- code: 'pipeline',
- name: '搴熸按',
- type: 'geojson',
- // url: APP_GIS_HOST_2 + '/server/ogcserver/PipeLineTest/wms?version=1.1.1',
- // url: APP_GIS_HOST_2 + '/layer/findLayer?layerName={sname}',
- url: APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs?version=1.0.0&TYPENAME={sname}&REQUEST=getfeature&OUTPUTFORMAT=json&maxFeatures=20000',
- checked: true,
- layers: [
- {
- code: 'rainline',
- name: '浼佷笟',
- sname: '浼佷笟', // 琛ㄥ悕
- checked: true, // 榛樿閫変腑鐘舵��
- filter: {},
- minZoom: 10, // 鍦ㄦ寚瀹氱骇鍒樉绀�
- childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
- },
- {
- code: 'oilline',
- name: '鐩戞祴鐐�',
- sname: '鐩戞祴鐐�',
- checked: true, // 榛樿閫変腑鐘舵��
- filter: {},
- minZoom: 10,
- childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
- },
- {
- code: 'saltline',
- name: '鎺掓斁鍙�',
- sname: '鎺掓斁鍙�',
- checked: true, // 榛樿閫変腑鐘舵��
- filter: {},
- minZoom: 10,
- childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
- }
- ]
-}
diff --git a/src/conf/Layers.js b/src/conf/Layers.js
deleted file mode 100644
index 5c69adf..0000000
--- a/src/conf/Layers.js
+++ /dev/null
@@ -1,30 +0,0 @@
-// import * as L from 'leaflet'
-import { LayerSewers, PointLayers } from './LayerSewers'
-// const APP_GIS_HOST = 'http://xearth.cn:6299'
-
-// 鍑犱綍绫诲瀷甯搁噺
-
-export const ServiceLayers = [
- /* {
- code: 'pipeline',
- name: '绠$綉鏁版嵁',
- icon_actived: '',
- icon_deactived: '',
- type: 'wms',
- // url: APP_GIS_HOST_PIPELINE + '/server/ogcserver/PipeLineTest/wms?version=1.1.1',
- url: APP_GIS_HOST_PIPELINE + '/server/ogcserver/PipeLine/wms?version=1.1.1',
- inLegend: true,
- checked: true,
- option: {
- layers: 'all',
- styles: '', // Comma-separated list of WMS styles.
- format: 'image/png', // WMS image format (use 'image/png' for layers with transparency).
- transparent: true, // If true, the WMS service will return images with transparency.
- version: '1.1.1', // Version of the WMS service to use
- tileSize: L.point(256, 256),
- crs: L.CRS.EPSG4326, // Coordinate Reference System to use for the WMS requests, defaults to map CRS. Don't change this if you're not sure what it means.
- uppercase: false,
- WMSTILE: 1
- }, */
- LayerSewers, PointLayers
-]
diff --git a/src/conf/MapConfig.js b/src/conf/MapConfig.js
index a039e8f..636c051 100644
--- a/src/conf/MapConfig.js
+++ b/src/conf/MapConfig.js
@@ -1,7 +1,9 @@
锘縤mport * as L from 'leaflet'
import TDT from './TDT'
-import { LayerSewersLine, LayerSewersPoint } from './LayerSewers'
-import { LayerWasteWater } from './LayerWasteWater'
+import { LayerSewersLine, LayerSewersPoint } from './layers/LayerSewers'
+import { LayerWasteWater } from './layers/LayerWasteWater'
+import { LayerSolidWaste } from './layers/LayerSolidWaste'
+import { LayerWasteGas } from './layers/LayerWasteGas'
const curWwwPath = window.document.location.href
const pathname = window.document.location.pathname
@@ -40,7 +42,7 @@
IntranetBaseMaps: TDT.intranet,
InternetBaseMaps: TDT.internet,
Layers: {
- LayerSewersLine: [LayerSewersLine, LayerWasteWater],
+ LayerSewersLine: [LayerSewersLine, LayerWasteWater, LayerWasteWater, LayerWasteGas, LayerSolidWaste],
layerSewersPoint: LayerSewersPoint
} // 姹¢洦姘村浘灞傞厤缃�
}
diff --git a/src/conf/LayerSewers.js b/src/conf/layers/LayerSewers.js
similarity index 99%
rename from src/conf/LayerSewers.js
rename to src/conf/layers/LayerSewers.js
index 65c109d..a61b541 100644
--- a/src/conf/LayerSewers.js
+++ b/src/conf/layers/LayerSewers.js
@@ -1,13 +1,11 @@
const APP_GIS_HOST_2 = 'http://xearth.cn:8088'
+const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs'
// const APP_GIS_HOST_2 = 'http://localhost:3000'
// const APP_GIS_HOST_2 = 'http://192.168.31.226:8088'
export const LayerSewersLine = {
code: 'pipeline',
name: '绠$綉鏁版嵁',
type: 'geojson',
- // url: APP_GIS_HOST_2 + '/server/ogcserver/PipeLineTest/wms?version=1.1.1',
- // url: APP_GIS_HOST_2 + '/layer/findLayer?layerName={sname}',
- url: APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs?version=1.0.0&TYPENAME={sname}&REQUEST=getfeature&OUTPUTFORMAT=json&maxFeatures=20000',
checked: true,
layers: [
{
@@ -15,7 +13,7 @@
name: '闆ㄦ按绾�',
sname: '绠$綉', // 琛ㄥ悕
checked: true, // 榛樿閫変腑鐘舵��
- filter: {},
+ wfs: WFS_URL + '?TYPENAME=绠$綉',
minZoom: 10, // 鍦ㄦ寚瀹氱骇鍒樉绀�
childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
},
@@ -24,7 +22,7 @@
name: '鍚补姹℃按绾�',
sname: '鍚补姹℃按',
checked: true, // 榛樿閫変腑鐘舵��
- filter: {},
+ wfs: WFS_URL + '?TYPENAME=鍚补姹℃按',
minZoom: 10,
childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
},
@@ -33,7 +31,7 @@
name: '鍚洂姹℃按绾�',
sname: '鍚洂姹℃按',
checked: true, // 榛樿閫変腑鐘舵��
- filter: {},
+ wfs: WFS_URL + '?TYPENAME=鍚洂姹℃按',
minZoom: 10,
childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
},
@@ -42,7 +40,7 @@
name: '鍚⒈姹℃按绾�',
sname: '鍚⒈姹℃按',
checked: true, // 榛樿閫変腑鐘舵��
- filter: {},
+ wfs: WFS_URL + '?TYPENAME=鍚⒈姹℃按',
minZoom: 10,
childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
},
@@ -51,7 +49,7 @@
name: '鎺掑彛',
sname: '鎺掑彛',
checked: true, // 榛樿閫変腑鐘舵��
- filter: {},
+ wfs: WFS_URL + '?TYPENAME=鎺掑彛',
minZoom: 10,
childLayer: 'pk' // 鍏宠仈PointLayers
},
@@ -60,7 +58,7 @@
name: '浜嬫晠姘寸嚎',
sname: '浜嬫晠姘�',
checked: true, // 榛樿閫変腑鐘舵��
- filter: {},
+ wfs: WFS_URL + '?TYPENAME=浜嬫晠姘�',
minZoom: 10,
childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
},
@@ -69,7 +67,7 @@
name: '寰幆姘寸嚎',
sname: '寰幆姘�',
checked: true, // 榛樿閫変腑鐘舵��
- filter: {},
+ wfs: WFS_URL + '?TYPENAME=寰幆姘�',
minZoom: 10,
childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
},
@@ -78,7 +76,7 @@
name: '鍑�鍖栨按绾�',
sname: '鍑�鍖栨按',
checked: true, // 榛樿閫変腑鐘舵��
- filter: {},
+ wfs: WFS_URL + '?TYPENAME=鍑�鍖栨按',
minZoom: 10,
childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
},
@@ -87,7 +85,7 @@
name: '鐢熸椿姹℃按',
sname: '鐢熸椿姹℃按',
checked: true, // 榛樿閫変腑鐘舵��
- filter: {},
+ wfs: WFS_URL + '?TYPENAME=鐢熸椿姹℃按',
minZoom: 10,
childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
},
diff --git a/src/conf/layers/LayerSolidWaste.js b/src/conf/layers/LayerSolidWaste.js
new file mode 100644
index 0000000..3a654b6
--- /dev/null
+++ b/src/conf/layers/LayerSolidWaste.js
@@ -0,0 +1,27 @@
+/**
+ * 鍥哄簾鍥惧眰
+ * @type {string}
+ */
+export const LayerSolidWaste = {
+ code: 'solidWaste',
+ name: '搴熸皵',
+ checked: true,
+ layers: [
+ {
+ code: 'solidWasteQy',
+ name: '浼佷笟',
+ sname: '浼佷笟', // 琛ㄥ悕
+ checked: true, // 榛樿閫変腑鐘舵��
+ url: 'http://www.baidu.com', // 璇锋眰涓氬姟鏁版嵁鎺ュ彛
+ minZoom: 10 // 鍦ㄦ寚瀹氱骇鍒樉绀�
+ },
+ {
+ code: 'solidWasteJcd',
+ name: '鐩戞祴鐐�',
+ sname: '鐩戞祴鐐�',
+ checked: true, // 榛樿閫変腑鐘舵��
+ url: 'http://www.baidu2.com',
+ minZoom: 10
+ }
+ ]
+}
diff --git a/src/conf/layers/LayerWasteGas.js b/src/conf/layers/LayerWasteGas.js
new file mode 100644
index 0000000..3860e94
--- /dev/null
+++ b/src/conf/layers/LayerWasteGas.js
@@ -0,0 +1,51 @@
+/**
+ * 搴熸皵鍥惧眰
+ * @type {string}
+ */
+export const LayerWasteGas = {
+ code: 'wasteGas',
+ name: '搴熸皵',
+ checked: true,
+ layers: [
+ {
+ code: 'wasteGasQy',
+ name: '浼佷笟',
+ sname: '浼佷笟', // 琛ㄥ悕
+ checked: true, // 榛樿閫変腑鐘舵��
+ url: 'http://www.baidu.com', // 璇锋眰涓氬姟鏁版嵁鎺ュ彛
+ minZoom: 10 // 鍦ㄦ寚瀹氱骇鍒樉绀�
+ },
+ {
+ code: 'wasteGasJcd',
+ name: '鐩戞祴鐐�',
+ sname: '鐩戞祴鐐�',
+ checked: true, // 榛樿閫変腑鐘舵��
+ url: 'http://www.baidu2.com',
+ minZoom: 10
+ },
+ {
+ code: 'wasteGasVocs',
+ name: 'VOCs',
+ sname: 'VOCs',
+ checked: true, // 榛樿閫変腑鐘舵��
+ url: '',
+ minZoom: 10
+ },
+ {
+ code: 'wasteGasKrq',
+ name: '鍙噧姘�',
+ sname: '鍙噧姘�',
+ checked: true, // 榛樿閫変腑鐘舵��
+ url: '',
+ minZoom: 10
+ },
+ {
+ code: 'wasteGasYhq',
+ name: '鏈夊姘�',
+ sname: '鏈夊姘�',
+ checked: true, // 榛樿閫変腑鐘舵��
+ url: '',
+ minZoom: 10
+ }
+ ]
+}
diff --git a/src/conf/layers/LayerWasteWater.js b/src/conf/layers/LayerWasteWater.js
new file mode 100644
index 0000000..3f1ff32
--- /dev/null
+++ b/src/conf/layers/LayerWasteWater.js
@@ -0,0 +1,37 @@
+/**
+ * 搴熸按鍥惧眰
+ * @type {string}
+ */
+export const LayerWasteWater = {
+ code: 'pipeline',
+ name: '搴熸按',
+ checked: true,
+ layers: [
+ {
+ code: 'fsqy',
+ name: '浼佷笟',
+ sname: '浼佷笟', // 琛ㄥ悕
+ checked: true, // 榛樿閫変腑鐘舵��
+ url: 'http://www.baidu.com', // 璇锋眰涓氬姟鏁版嵁鎺ュ彛
+ minZoom: 10 // 鍦ㄦ寚瀹氱骇鍒樉绀�
+ },
+ {
+ code: 'fsjcd',
+ name: '鐩戞祴鐐�',
+ sname: '鐩戞祴鐐�',
+ checked: true, // 榛樿閫変腑鐘舵��
+ url: 'http://www.baidu2.com',
+ minZoom: 10,
+ childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
+ },
+ {
+ code: 'fspfk',
+ name: '鎺掓斁鍙�',
+ sname: '鎺掓斁鍙�',
+ checked: true, // 榛樿閫変腑鐘舵��
+ url: '',
+ minZoom: 10,
+ childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
+ }
+ ]
+}
diff --git a/src/utils/AjaxUtils.js b/src/utils/AjaxUtils.js
index 0499763..d0e1bfa 100644
--- a/src/utils/AjaxUtils.js
+++ b/src/utils/AjaxUtils.js
@@ -33,7 +33,7 @@
axios({
method: 'get',
url: pUrl,
- data: pData
+ params: pData
}).then(function (response) {
pBackFun(response)
})
diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue
index 9b634a5..6913577 100644
--- a/src/views/MapTemplate.vue
+++ b/src/views/MapTemplate.vue
@@ -42,9 +42,10 @@
import AddSolidWasteHelper from '@components/BaseNav/SolidWaste/SolidWaste'
import AddWasteWaterHelper from '@components/BaseNav/WasteWater/WasteWater'
import AddGasHelper from '@components/BaseNav/flueGas/flueGas'
-// import PopupGas from '@/components/flueGas/popup-gas'
// // 鍏叡灞曠ず鏁版嵁
import PublicBounced from '@components/BaseNav/PublicBounced/PublicBounced'
+import LayerFactory from '@components/LayerController/service/LayerFactory'
+
export default {
name: 'MapTemplate',
components: {
@@ -59,8 +60,6 @@
LcServiceLayer,
Popup,
summarySheets,
- // SolidContent,
- // PopupGas,
PublicBounced
},
data () {
@@ -134,9 +133,6 @@
AddWasteWater.requestData(data)
AddWasteWater.SetWasteWaterContent(this.config, this.$refs.PublicBounced)
},
- // isShowHidden () {
- // this.isShowBtn = !this.isShowBtn
- // },
saveMapStatus () {
window.serviceLayerHelper = this.serviceLayerHelper
this.$store.commit('setMapObj', this.map)
@@ -151,12 +147,20 @@
this.map = Sgis.initMap(mapcontainer)
this.$refs.toolBox.map = this.map
+ window.popupComp = this.$refs.popup
+ var layerFactory = new LayerFactory({
+ L: window.L,
+ map: this.map
+ })
+ layerFactory.init()
+ window.layerFactory = layerFactory
+
this.basemapHelper = Sgis.initBasemapsHelper(this.map) // 鍒濆鍖栧熀纭�搴曞浘鍔╂墜
this.basemapHelper.initBasemap(this.config, false) // 绗簩涓弬鏁帮紝琛ㄧず鏄惁鍐呯綉搴曞浘
- this.serviceLayerHelper = Sgis.initTileLayersHelper(this.map) // 鍒濆鍖栦笟鍔″簳鍥惧姪鎵�
- console.log('-------' + this.$refs.popup.$el)
- this.serviceLayerHelper.initServiceLayers(this.config, this.$refs.popup)
+ // this.serviceLayerHelper = Sgis.initTileLayersHelper(this.map) // 鍒濆鍖栦笟鍔″簳鍥惧姪鎵�
+ // console.log('-------' + this.$refs.popup.$el)
+ // this.serviceLayerHelper.initServiceLayers(this.config, this.$refs.popup)
this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.map) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵�
this.vectorLayerHelper.initVectorLayers(this.config)
--
Gitblit v1.8.0