From 9185072c775eaf1cd3df53d06bc81dc5bfc8264b Mon Sep 17 00:00:00 2001
From: chenyibo <p-honggang.li@pcitc.com>
Date: 星期二, 30 三月 2021 16:31:58 +0800
Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop
---
vue.config.js | 2
src/components/BaseNav/PublicBounced/GasComponents/GasVideo.vue | 74 +
src/styles/theme-dark/variable.less | 2
public/static/airQuality.json | 117 ++
src/assets/images/map-pages/basenav/flugas/green_airquality_2.png | 0
src/assets/images/map-pages/basenav/Waste-water/fs_yellow.png | 0
src/assets/images/map-pages/basenav/solidwaste/voc.png | 0
src/conf/Constants.js | 6
src/assets/images/map-pages/basenav/solidwaste/gf_green.png | 0
src/assets/images/map-pages/basenav/flugas/green_airquality_3.png | 0
src/components/BaseNav/flueGas/flueGas.js | 178 ++++
public/static/WasteWater.json | 117 ++
src/assets/images/map-pages/basenav/Waste-water/fs_gray.png | 0
src/conf/layers/LayerWasteGas.js | 51 +
src/components/BaseNav/PublicBounced/GasComponents/GasECharts.vue | 164 +++
src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue | 53 +
src/components/LayerController/logic/Sample.js | 9
src/components/BaseNav/PublicBounced/PublicBounced.vue | 97 ++
src/img/fs_yellow.7fe82c5d.png | 0
src/main.js | 1
src/assets/images/map-pages/basenav/Waste-water/fs_green_xc.png | 0
src/components/plugin/pulse/Pulse.css | 34
src/assets/css/map/leaflet.magicMarker.css | 13
public/static/SolidWaste.json | 81 +
src/components/BaseNav/WasteWater/WasteWater.js | 177 ++++
src/components/plugin/MagicMarker.js | 82
src/assets/images/map-pages/basenav/Waste-water/fs_blue.png | 0
src/utils/AjaxUtils.js | 2
src/Sgis.js | 27
src/components/plugin/pulse/Pulse.js | 77 +
src/conf/layers/LayerSolidWaste.js | 27
src/components/BaseNav/SolidWaste/SolidWaste.js | 182 ++++
src/components/LayerController/service/WmsLayerService.js | 11
src/components/BaseNav/SolidWaste/directive.js | 59 +
src/components/LayerController/service/WfsLayerService.js | 119 ++
src/components/LayerController/service/PopupService.js | 0
src/utils/axios.js | 8
src/assets/images/map-pages/basenav/Waste-water/fs_bright_green.png | 0
src/api/request.js | 24
src/conf/layers/LayerWasteWater.js | 37
src/components/BaseNav/WireSurface/index.js | 22
src/views/MapTemplate.vue | 166 +++
src/assets/images/map-pages/basenav/Waste-water/fs_orange.png | 0
src/components/LayerController/service/LayerFactory.js | 88 ++
src/components/BaseNav/PublicBounced/GasComponents/GasTabs.vue | 20
src/assets/images/map-pages/basenav/Waste-water/fs_green.png | 0
src/assets/images/map-pages/basenav/Waste-water/fs_red.png | 0
src/components/LayerController/modules/LcServiceLayer.vue | 240 ++--
src/conf/layers/LayerSewers.js | 22
/dev/null | 30
src/conf/MapConfig.js | 32
package.json | 1
src/components/LayerController/service/BusiLayerService.js | 32
src/components/panel/topicSearch/SewersSearch.vue | 2
src/components/BaseNav/PublicBounced/GasComponents/GasTab.vue | 123 ++
55 files changed, 2,361 insertions(+), 248 deletions(-)
diff --git a/package.json b/package.json
index 1004223..abf1a54 100644
--- a/package.json
+++ b/package.json
@@ -28,6 +28,7 @@
"leaflet.markercluster": "^1.4.1",
"lodash": "^4.17.10",
"nprogress": "^0.2.0",
+ "qs": "^6.10.1",
"rbush": "^3.0.1",
"screenfull": "^3.3.3",
"style-resources-loader": "^1.4.1",
diff --git a/public/static/SolidWaste.json b/public/static/SolidWaste.json
new file mode 100644
index 0000000..3a16382
--- /dev/null
+++ b/public/static/SolidWaste.json
@@ -0,0 +1,81 @@
+{
+ "Result": {
+ "IsSuccess": 1,
+ "code": 1,
+ "ErrorMsg": "",
+ "DataInfo": [
+ {
+ "StoragePlaceId": 124.0,
+ "StoragePlaceName": "鑱氶啔閮ㄥ嵄闄╁簾鐗╂殏瀛樼偣",
+ "HazaWasteStorageDate": "0001-01-01T00:00:00",
+ "HazaWasteCatgrName": null,
+ "SurplusQuantityWarning": 0,
+ "LongDayWarning": 0,
+ "DesignFloorArea": 95.0,
+ "HazaWasteName": null,
+ "EstimateFloorArea": 0.0,
+ "HazaWasteDeptName": null,
+ "SurplusFloorArea": 95.0,
+ "HazaWasteStorageDays": 0.0,
+ "StorageQty": 0.0,
+ "HazaWasteStorageQty": 0.0,
+ "positionX": 32.22118377685547,
+ "positionY": 118.78057479858398
+ },
+ {
+ "StoragePlaceId": 123.0,
+ "StoragePlaceName": "鍖栧伐閮ㄥ嵄闄╁簾鐗╂殏瀛樼偣",
+ "HazaWasteStorageDate": "0001-01-01T00:00:00",
+ "HazaWasteCatgrName": null,
+ "SurplusQuantityWarning": 0,
+ "LongDayWarning": 0,
+ "DesignFloorArea": 260.0,
+ "HazaWasteName": null,
+ "EstimateFloorArea": 0.0,
+ "HazaWasteDeptName": null,
+ "SurplusFloorArea": 260.0,
+ "HazaWasteStorageDays": 0.0,
+ "StorageQty": 0.0,
+ "HazaWasteStorageQty": 0.0,
+ "positionX": 32.23122596740723,
+ "positionY": 118.7743091583252
+ },
+ {
+ "StoragePlaceId": 127.0,
+ "StoragePlaceName": "鐐兼补閮ㄥ嵄闄╁簾鐗╂殏瀛樼偣",
+ "HazaWasteStorageDate": "0001-01-01T00:00:00",
+ "HazaWasteCatgrName": null,
+ "SurplusQuantityWarning": 0,
+ "LongDayWarning": 0,
+ "DesignFloorArea": 351.0,
+ "HazaWasteName": null,
+ "EstimateFloorArea": 0.0,
+ "HazaWasteDeptName": null,
+ "SurplusFloorArea": 351.0,
+ "HazaWasteStorageDays": 0.0,
+ "StorageQty": 0.0,
+ "HazaWasteStorageQty": 0.0,
+ "positionX": 32.222299575805664,
+ "positionY": 118.74950408935547
+ },
+ {
+ "StoragePlaceId": 126.0,
+ "StoragePlaceName": "鐑儍閮ㄥ嵄闄╁簾鐗╂殏瀛樼偣",
+ "HazaWasteStorageDate": "0001-01-01T00:00:00",
+ "HazaWasteCatgrName": null,
+ "SurplusQuantityWarning": 0,
+ "LongDayWarning": 1.0,
+ "DesignFloorArea": 54.0,
+ "HazaWasteName": null,
+ "EstimateFloorArea": 0.0,
+ "HazaWasteDeptName": null,
+ "SurplusFloorArea": 54.0,
+ "HazaWasteStorageDays": 0.0,
+ "StorageQty": 1.0,
+ "HazaWasteStorageQty": 0.0,
+ "positionX": 32.23092555999756,
+ "positionY": 118.75735759735107
+ }
+ ]
+ }
+}
diff --git a/public/static/WasteWater.json b/public/static/WasteWater.json
new file mode 100644
index 0000000..44ed223
--- /dev/null
+++ b/public/static/WasteWater.json
@@ -0,0 +1,117 @@
+{
+ "Result": {
+ "IsSuccess": 1,
+ "code": 1,
+ "ErrorMsg": "",
+ "DataInfo": [
+ {
+ "StoragePlaceId": 124.0,
+ "StoragePlaceName": "鐐兼补閮ㄥ惈娌规薄姘存帓鏀惧彛",
+ "HazaWasteStorageDate": "0001-01-01T00:00:00",
+ "HazaWasteCatgrName": null,
+ "SurplusQuantityWarning": 0,
+ "LongDayWarning": 0,
+ "DesignFloorArea": 95.0,
+ "HazaWasteName": null,
+ "EstimateFloorArea": 0.0,
+ "HazaWasteDeptName": null,
+ "SurplusFloorArea": 95.0,
+ "HazaWasteStorageDays": 0.0,
+ "StorageQty": 0.0,
+ "HazaWasteStorageQty": 0.0,
+ "positionX": 32.234354069955536,
+ "positionY": 118.76172605141248
+ },
+ {
+ "StoragePlaceId": 123.0,
+ "StoragePlaceName": "姘村姟閮ㄧ儻鐑冨閮ㄦ帓姘村彛",
+ "HazaWasteStorageDate": "0001-01-01T00:00:00",
+ "HazaWasteCatgrName": null,
+ "SurplusQuantityWarning": 0,
+ "LongDayWarning": 0,
+ "DesignFloorArea": 260.0,
+ "HazaWasteName": null,
+ "EstimateFloorArea": 0.0,
+ "HazaWasteDeptName": null,
+ "SurplusFloorArea": 260.0,
+ "HazaWasteStorageDays": 0.0,
+ "StorageQty": 0.0,
+ "HazaWasteStorageQty": 0.0,
+ "positionX": 32.21783286123124,
+ "positionY": 118.74581627024358
+ },
+ {
+ "StoragePlaceId": 127.0,
+ "StoragePlaceName": "鑱氶啔閮ㄥ簾姘存帓鏀惧彛",
+ "HazaWasteStorageDate": "0001-01-01T00:00:00",
+ "HazaWasteCatgrName": null,
+ "SurplusQuantityWarning": 0,
+ "LongDayWarning": 0,
+ "DesignFloorArea": 351.0,
+ "HazaWasteName": null,
+ "EstimateFloorArea": 0.0,
+ "HazaWasteDeptName": null,
+ "SurplusFloorArea": 351.0,
+ "HazaWasteStorageDays": 0.0,
+ "StorageQty": 0.0,
+ "HazaWasteStorageQty": 0.0,
+ "positionX": 32.21761792102056,
+ "positionY": 118.7694434198091
+ },
+ {
+ "StoragePlaceId": 126.0,
+ "StoragePlaceName": "姘村姟閮ㄩ洦姘存帓鏀惧彛",
+ "HazaWasteStorageDate": "0001-01-01T00:00:00",
+ "HazaWasteCatgrName": null,
+ "SurplusQuantityWarning": 0,
+ "LongDayWarning": 1.0,
+ "DesignFloorArea": 54.0,
+ "HazaWasteName": null,
+ "EstimateFloorArea": 0.0,
+ "HazaWasteDeptName": null,
+ "SurplusFloorArea": 54.0,
+ "HazaWasteStorageDays": 0.0,
+ "StorageQty": 1.0,
+ "HazaWasteStorageQty": 0.0,
+ "positionX": 32.22328407752166,
+ "positionY": 118.7645304033338
+ },
+ {
+ "StoragePlaceId": 122.0,
+ "StoragePlaceName": "鐢熶骇搴熸按鎺掓斁鍙�",
+ "HazaWasteStorageDate": "0001-01-01T00:00:00",
+ "HazaWasteCatgrName": null,
+ "SurplusQuantityWarning": 0,
+ "LongDayWarning": 1.0,
+ "DesignFloorArea": 124.0,
+ "HazaWasteName": null,
+ "EstimateFloorArea": 0.0,
+ "HazaWasteDeptName": null,
+ "SurplusFloorArea": 124.0,
+ "HazaWasteStorageDays": 0.0,
+ "StorageQty": 1.0,
+ "HazaWasteStorageQty": 0.0,
+ "positionX": 32.22478169721047,
+ "positionY": 118.75309838487216
+ },
+ {
+ "StoragePlaceId": 129.0,
+ "StoragePlaceName": "鍖栧纭寲鍝佹帓姘村彛",
+ "HazaWasteStorageDate": "0001-01-01T00:00:00",
+ "HazaWasteCatgrName": null,
+ "SurplusQuantityWarning": 0,
+ "LongDayWarning": 0,
+ "DesignFloorArea": 78.0,
+ "HazaWasteName": null,
+ "EstimateFloorArea": 0.0,
+ "HazaWasteDeptName": null,
+ "SurplusFloorArea": 78.0,
+ "HazaWasteStorageDays": 0.0,
+ "StorageQty": 0.0,
+ "HazaWasteStorageQty": 0.0,
+ "positionX": 32.228692681454525,
+ "positionY": 118.77199913186048
+ }
+ ]
+ }
+}
diff --git a/public/static/airQuality.json b/public/static/airQuality.json
new file mode 100644
index 0000000..2040078
--- /dev/null
+++ b/public/static/airQuality.json
@@ -0,0 +1,117 @@
+{
+ "Result": {
+ "IsSuccess": 1,
+ "code": 1,
+ "ErrorMsg": "",
+ "DataInfo": [
+ {
+ "StoragePlaceId": 124.0,
+ "StoragePlaceName": "鑱氶啔閮ㄥ簾姘旀帓鏀剧偣",
+ "HazaWasteStorageDate": "0001-01-01T00:00:00",
+ "HazaWasteCatgrName": null,
+ "SurplusQuantityWarning": 0,
+ "LongDayWarning": 0,
+ "DesignFloorArea": 95.0,
+ "HazaWasteName": null,
+ "EstimateFloorArea": 0.0,
+ "HazaWasteDeptName": null,
+ "SurplusFloorArea": 95.0,
+ "HazaWasteStorageDays": 0.0,
+ "StorageQty": 0.0,
+ "HazaWasteStorageQty": 0.0,
+ "positionX": 32.214483532361875,
+ "positionY":118.80441341164345
+ },
+ {
+ "StoragePlaceId": 123.0,
+ "StoragePlaceName": "鍖栧伐閮ㄥ簾姘旀帓鏀剧偣",
+ "HazaWasteStorageDate": "0001-01-01T00:00:00",
+ "HazaWasteCatgrName": null,
+ "SurplusQuantityWarning": 0,
+ "LongDayWarning": 0,
+ "DesignFloorArea": 260.0,
+ "HazaWasteName": null,
+ "EstimateFloorArea": 0.0,
+ "HazaWasteDeptName": null,
+ "SurplusFloorArea": 260.0,
+ "HazaWasteStorageDays": 0.0,
+ "StorageQty": 0.0,
+ "HazaWasteStorageQty": 0.0,
+ "positionX": 32.22122596740723,
+ "positionY": 118.7843091583252
+ },
+ {
+ "StoragePlaceId": 127.0,
+ "StoragePlaceName": "鐐兼补閮ㄥ簾姘旀帓鏀剧偣",
+ "HazaWasteStorageDate": "0001-01-01T00:00:00",
+ "HazaWasteCatgrName": null,
+ "SurplusQuantityWarning": 0,
+ "LongDayWarning": 0,
+ "DesignFloorArea": 351.0,
+ "HazaWasteName": null,
+ "EstimateFloorArea": 0.0,
+ "HazaWasteDeptName": null,
+ "SurplusFloorArea": 351.0,
+ "HazaWasteStorageDays": 0.0,
+ "StorageQty": 0.0,
+ "HazaWasteStorageQty": 0.0,
+ "positionX": 32.232299575805664,
+ "positionY": 118.78950408935547
+ },
+ {
+ "StoragePlaceId": 126.0,
+ "StoragePlaceName": "鐑儍閮ㄥ簾姘旀帓鏀剧偣",
+ "HazaWasteStorageDate": "0001-01-01T00:00:00",
+ "HazaWasteCatgrName": null,
+ "SurplusQuantityWarning": 0,
+ "LongDayWarning": 1.0,
+ "DesignFloorArea": 54.0,
+ "HazaWasteName": null,
+ "EstimateFloorArea": 0.0,
+ "HazaWasteDeptName": null,
+ "SurplusFloorArea": 54.0,
+ "HazaWasteStorageDays": 0.0,
+ "StorageQty": 1.0,
+ "HazaWasteStorageQty": 0.0,
+ "positionX": 32.24092555999756,
+ "positionY": 118.75035759735107
+ },
+ {
+ "StoragePlaceId": 127.0,
+ "StoragePlaceName": "鐑數绔欏簾姘旀帓鏀剧偣",
+ "HazaWasteStorageDate": "0001-01-01T00:00:00",
+ "HazaWasteCatgrName": null,
+ "SurplusQuantityWarning": 0,
+ "LongDayWarning": 0,
+ "DesignFloorArea": 351.0,
+ "HazaWasteName": null,
+ "EstimateFloorArea": 0.0,
+ "HazaWasteDeptName": null,
+ "SurplusFloorArea": 351.0,
+ "HazaWasteStorageDays": 0.0,
+ "StorageQty": 0.0,
+ "HazaWasteStorageQty": 0.0,
+ "positionX": 32.21459850282962,
+ "positionY": 118.75664928244586
+ },
+ {
+ "StoragePlaceId": 126.0,
+ "StoragePlaceName": "瀹夌幆绔欏簾姘旀帓鏀剧偣",
+ "HazaWasteStorageDate": "0001-01-01T00:00:00",
+ "HazaWasteCatgrName": null,
+ "SurplusQuantityWarning": 0,
+ "LongDayWarning": 1.0,
+ "DesignFloorArea": 54.0,
+ "HazaWasteName": null,
+ "EstimateFloorArea": 0.0,
+ "HazaWasteDeptName": null,
+ "SurplusFloorArea": 54.0,
+ "HazaWasteStorageDays": 0.0,
+ "StorageQty": 1.0,
+ "HazaWasteStorageQty": 0.0,
+ "positionX": 32.22176451502621,
+ "positionY": 118.75520774508638
+ }
+ ]
+ }
+}
diff --git a/src/Sgis.js b/src/Sgis.js
index cbc3d10..6e794e0 100644
--- a/src/Sgis.js
+++ b/src/Sgis.js
@@ -1,22 +1,24 @@
import BasemapHelper from '@components/helpers/BasemapHelper'
import VectorLayerHelper from '@components/helpers/VectorLayerHelper'
+// 鍒濆鍖栨樉绀�
import ServiceLayerHelper from '@components/helpers/ServiceLayerHelper'
+
import '@components/plugin/PathDrag'
-// import MagicMarker from '@components/plugin/MagicMarker'
-// import WmtsSupport from '@components/plugin/wmts_plugins'
import MapConfig from '@/conf/MapConfig'
import '@components/plugin/PathDashFlow' // 娴佸姩绾垮浘
-// import CanvasMarkers from '@components/plugin/CanvasMarkers'
-// import FullScreen from '@components/plugin/FullScreen'
import DownLoad from '@components/plugin/DownLoad'
// 娴嬮噺
import '@components/plugin/leaflet-measure-path/leaflet-measure-path'
import 'leaflet.markercluster'
-// import 'leaflet-canvas-markers'
import './components/plugin/Leaflet.GridLayer.FadeOut' // 鐡︾墖鍥惧眰鍒囨崲娣″叆娣″嚭
import './components/plugin/leaflet-canvas-markers' // 鐢诲竷marker
import './components/plugin/Editable' // 鏍囩粯鎿嶄綔
+import './components/plugin/MagicMarker' // 鍔ㄧ敾Marker
+import './assets/css/map/magic.min.css' // 鍔ㄧ敾Marker css
+import '@/components/plugin/magicMarker.css'
+import '@components/plugin/pulse/Pulse' // marker 澶栧湀娉�
+import '@components/plugin/pulse/Pulse.css' // marker 澶栧湀娉� css
let map = null
const L = window.L
@@ -24,19 +26,7 @@
if (map != null) {
map.remove()
}
-
- // Leaflet鎵╁睍浠g爜
- // Editable.init(L) // 鍥惧眰缂栬緫
- // PathDrag.init(L) // 璺緞鎷栨嫿
- // MagicMarker.init(L) // 鍔ㄧ敾Marker
- // WmtsSupport.init(L) // 鎵╁睍锛屼娇鏀寔WMTS
- // CustomPopup.init(L) // 鑷畾涔夊脊鍑烘
- // CanvasMarkers.init(L)// 鐢诲竷鍥惧眰
- // 鍏ㄥ睆
- // FullScreen.init(L)
- // 涓嬭浇
DownLoad.init(L)
- // LeafletMeasurePath.init(L)
map = L.map(div, MapConfig.mapOptions)
@@ -46,7 +36,9 @@
window.map = map
window.L = L
+
initTileLayersHelper(map)
+
return map
}
@@ -68,7 +60,6 @@
var serviceLayerHelper = new ServiceLayerHelper({ map })
return serviceLayerHelper
}
-
/**
* 鐭㈤噺鍦板浘鍒濆鍖�
* @param map
diff --git a/src/api/request.js b/src/api/request.js
new file mode 100644
index 0000000..9f9091d
--- /dev/null
+++ b/src/api/request.js
@@ -0,0 +1,24 @@
+import $http from '@utils/axios'
+import Qs from 'qs'
+
+export const QueryStoragePlaceListByCompanyAndName = (data = {}) => {
+ return $http.post('/EPInterface/DataService/EPMapService.asmx/QueryStoragePlaceListByCompanyAndName', Qs.stringify(data), {
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ })
+}
+export const FlueGas = (data = {}) => {
+ return $http.post('/EPInterface/DataService/EPMapService.asmx/ObtainningConInfo', Qs.stringify(data), {
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ })
+}
+export function requestWasteWater (data = {}) {
+ return $http.post('EPInterface/DataService/EPMapService.asmx/ObtainningConInfo', Qs.stringify(data), {
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ })
+}
\ No newline at end of file
diff --git a/src/assets/css/map/leaflet.magicMarker.css b/src/assets/css/map/leaflet.magicMarker.css
new file mode 100644
index 0000000..b379bf1
--- /dev/null
+++ b/src/assets/css/map/leaflet.magicMarker.css
@@ -0,0 +1,13 @@
+.magicDiv{
+ height: 0;
+ width: 0;
+}
+.magicIcon{
+ position:relative;
+ top:-5px;
+ left:-16px;
+}
+.leaflet-div-icon{
+ background: transparent;
+ border:none;
+}
diff --git a/src/assets/images/map-pages/basenav/Waste-water/fs_blue.png b/src/assets/images/map-pages/basenav/Waste-water/fs_blue.png
new file mode 100644
index 0000000..af3c97b
--- /dev/null
+++ b/src/assets/images/map-pages/basenav/Waste-water/fs_blue.png
Binary files differ
diff --git a/src/assets/images/map-pages/basenav/Waste-water/fs_bright_green.png b/src/assets/images/map-pages/basenav/Waste-water/fs_bright_green.png
new file mode 100644
index 0000000..9d6dae8
--- /dev/null
+++ b/src/assets/images/map-pages/basenav/Waste-water/fs_bright_green.png
Binary files differ
diff --git a/src/assets/images/map-pages/basenav/Waste-water/fs_gray.png b/src/assets/images/map-pages/basenav/Waste-water/fs_gray.png
new file mode 100644
index 0000000..9ebebf7
--- /dev/null
+++ b/src/assets/images/map-pages/basenav/Waste-water/fs_gray.png
Binary files differ
diff --git a/src/assets/images/map-pages/basenav/Waste-water/fs_green.png b/src/assets/images/map-pages/basenav/Waste-water/fs_green.png
new file mode 100644
index 0000000..e75d458
--- /dev/null
+++ b/src/assets/images/map-pages/basenav/Waste-water/fs_green.png
Binary files differ
diff --git a/src/assets/images/map-pages/basenav/Waste-water/fs_green_xc.png b/src/assets/images/map-pages/basenav/Waste-water/fs_green_xc.png
new file mode 100644
index 0000000..dfa3415
--- /dev/null
+++ b/src/assets/images/map-pages/basenav/Waste-water/fs_green_xc.png
Binary files differ
diff --git a/src/assets/images/map-pages/basenav/Waste-water/fs_orange.png b/src/assets/images/map-pages/basenav/Waste-water/fs_orange.png
new file mode 100644
index 0000000..95c544c
--- /dev/null
+++ b/src/assets/images/map-pages/basenav/Waste-water/fs_orange.png
Binary files differ
diff --git a/src/assets/images/map-pages/basenav/Waste-water/fs_red.png b/src/assets/images/map-pages/basenav/Waste-water/fs_red.png
new file mode 100644
index 0000000..ac1b8f2
--- /dev/null
+++ b/src/assets/images/map-pages/basenav/Waste-water/fs_red.png
Binary files differ
diff --git a/src/assets/images/map-pages/basenav/Waste-water/fs_yellow.png b/src/assets/images/map-pages/basenav/Waste-water/fs_yellow.png
new file mode 100644
index 0000000..8d84aa8
--- /dev/null
+++ b/src/assets/images/map-pages/basenav/Waste-water/fs_yellow.png
Binary files differ
diff --git a/src/assets/images/map-pages/basenav/flugas/green_airquality_2.png b/src/assets/images/map-pages/basenav/flugas/green_airquality_2.png
new file mode 100644
index 0000000..ca7b11b
--- /dev/null
+++ b/src/assets/images/map-pages/basenav/flugas/green_airquality_2.png
Binary files differ
diff --git a/src/assets/images/map-pages/basenav/flugas/green_airquality_3.png b/src/assets/images/map-pages/basenav/flugas/green_airquality_3.png
new file mode 100644
index 0000000..d5f6a73
--- /dev/null
+++ b/src/assets/images/map-pages/basenav/flugas/green_airquality_3.png
Binary files differ
diff --git a/src/assets/images/map-pages/basenav/solidwaste/gf_green.png b/src/assets/images/map-pages/basenav/solidwaste/gf_green.png
new file mode 100644
index 0000000..144c0ce
--- /dev/null
+++ b/src/assets/images/map-pages/basenav/solidwaste/gf_green.png
Binary files differ
diff --git a/src/assets/images/map-pages/basenav/solidwaste/voc.png b/src/assets/images/map-pages/basenav/solidwaste/voc.png
new file mode 100644
index 0000000..3ccaad5
--- /dev/null
+++ b/src/assets/images/map-pages/basenav/solidwaste/voc.png
Binary files differ
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/GasECharts.vue b/src/components/BaseNav/PublicBounced/GasComponents/GasECharts.vue
new file mode 100644
index 0000000..9084a18
--- /dev/null
+++ b/src/components/BaseNav/PublicBounced/GasComponents/GasECharts.vue
@@ -0,0 +1,164 @@
+<template>
+ <!-- 妗� -->
+ <div class="win">
+ <!-- 鍥涗釜瑙掔殑杈规鏁堟灉 -->
+ <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 class="main">
+ <div class="main-echarts">
+ <div id="echarts" style="width:100%;height:100%" ref="main"></div>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+export default {
+ name: 'GasECharts',
+ methods: {
+ drawChart: function () {
+ const myChart = this.$echarts.init(this.$refs.main)
+ const option = {
+ title: {
+ text: '鎶樼嚎鍥惧爢鍙�'
+ },
+ // color: '#fff',
+ tooltip: {
+ trigger: 'axis'
+ },
+ // legend: {
+ // data: ['閭欢钀ラ攢', '鑱旂洘骞垮憡', '瑙嗛骞垮憡', '鐩存帴璁块棶', '鎼滅储寮曟搸']
+ // },
+ grid: {
+ left: '3%',
+ right: '4%',
+ bottom: '3%',
+ containLabel: true
+ },
+ toolbox: {
+ feature: {
+ saveAsImage: {}
+ }
+ },
+ xAxis: {
+ type: 'category',
+ boundaryGap: false,
+ data: ['鍛ㄤ竴', '鍛ㄤ簩', '鍛ㄤ笁', '鍛ㄥ洓', '鍛ㄤ簲', '鍛ㄥ叚', '鍛ㄦ棩'],
+ axisLabel: {
+ textStyle: {
+ color: '#7edae8' // 鍧愭爣鐨勫瓧浣撻鑹�
+ }
+ },
+ axisLine: {
+ show: false, // 闅愯棌鍧愭爣杞�
+ lineStyle: {
+ color: '#00eeff' // 鍧愭爣杞寸殑棰滆壊
+ }
+ }
+ },
+ yAxis: [{
+ type: 'value',
+ axisLabel: {
+ textStyle: {
+ color: '#7edae8' // 鍧愭爣鐨勫瓧浣撻鑹�
+ }
+ },
+ axisLine: {
+ show: false, // 闅愯棌鍧愭爣杞�
+ lineStyle: {
+ color: '#00eeff' // 鍧愭爣杞寸殑棰滆壊
+ }
+ }
+ }],
+ series: [
+ {
+ 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: '瑙嗛骞垮憡',
+ type: 'line',
+ stack: '鎬婚噺',
+ data: [150, 232, 201, 154, 190, 330, 410]
+ },
+ {
+ name: '鐩存帴璁块棶',
+ type: 'line',
+ stack: '鎬婚噺',
+ data: [320, 332, 301, 334, 390, 330, 320]
+ },
+ {
+ name: '鎼滅储寮曟搸',
+ type: 'line',
+ stack: '鎬婚噺',
+ data: [820, 932, 901, 934, 1290, 1330, 1320]
+ }
+ ]
+ }
+ myChart.setOption(option)
+ }
+ },
+ mounted () {
+ this.drawChart()
+ }
+}
+</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;
+ }
+}
+</style>
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/GasTab.vue b/src/components/BaseNav/PublicBounced/GasComponents/GasTab.vue
new file mode 100644
index 0000000..e05f59f
--- /dev/null
+++ b/src/components/BaseNav/PublicBounced/GasComponents/GasTab.vue
@@ -0,0 +1,123 @@
+<template>
+ <!-- 妗� -->
+ <div class="win">
+ <!-- 鍥涗釜瑙掔殑杈规鏁堟灉 -->
+ <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 class="main">
+ <div class="main-matter">
+ <el-row type="flex" class="row-bg row-item-one" 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>
+ </div>
+</template>
+
+<script>
+export default {
+ name: 'GasTable',
+ props: ['displayContent'],
+ data () {
+ return {}
+ }
+}
+</script>
+
+<style scoped lang="less">
+
+.win {
+ position: relative;
+ //display: inline-block;
+ margin-bottom: 13px;
+ background-color: rgba(33, 41, 69,0.9);
+}
+.main {
+ width: 100%;
+ height: 100%;
+ .main-matter{
+ font-size: 13px;
+ padding: 9px 7px;
+ font-weight: normal;
+ border: 1px solid #396d83;
+ .row-item-one{
+ margin-bottom: 7px;
+ }
+ .el-row {
+ width: 100%;
+ color: #00d0f9;
+ display: flex;
+ font-size: 12px!important;
+ .el-col{
+ flex: 1;
+ width: 100%;
+ background-color: #243a55;;
+ text-align: center;
+ line-height: 28px;
+ margin-left: 6px;
+ border-radius: 4px;
+ &:nth-child(1){
+ margin-left:0;
+ }
+ }
+ }
+ }
+}
+.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;
+}
+//.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/GasTabs.vue b/src/components/BaseNav/PublicBounced/GasComponents/GasTabs.vue
new file mode 100644
index 0000000..1df30fe
--- /dev/null
+++ b/src/components/BaseNav/PublicBounced/GasComponents/GasTabs.vue
@@ -0,0 +1,20 @@
+<template>
+<div>
+ <el-tabs v-model="activeName">
+ <el-tab-pane label="鐢ㄦ埛绠$悊" name="first">鐢ㄦ埛绠$悊</el-tab-pane>
+ <el-tab-pane label="閰嶇疆绠$悊" name="second">閰嶇疆绠$悊</el-tab-pane>
+ <el-tab-pane label="瑙掕壊绠$悊" name="third">瑙掕壊绠$悊</el-tab-pane>
+ <el-tab-pane label="瀹氭椂浠诲姟琛ュ伩" name="fourth">瀹氭椂浠诲姟琛ュ伩</el-tab-pane>
+ </el-tabs>
+</div>
+</template>
+
+<script>
+export default {
+ name: 'GasTabs'
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/GasVideo.vue b/src/components/BaseNav/PublicBounced/GasComponents/GasVideo.vue
new file mode 100644
index 0000000..fc152ab
--- /dev/null
+++ b/src/components/BaseNav/PublicBounced/GasComponents/GasVideo.vue
@@ -0,0 +1,74 @@
+<template>
+ <div class="win" >
+ <!-- 鍥涗釜瑙掔殑杈规鏁堟灉 -->
+ <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 class="main">
+ <div class="main-video">
+ <video width="100%" height="100%" controls>
+ <source src="movie.mp4" type="video/mp4">
+ <source src="movie.ogg" type="video/ogg">
+ </video>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+export default {
+ name: 'GasVideo'
+}
+</script>
+
+<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_corner{
+ z-index: 2500;
+ position: absolute;
+ width: 14px;
+ height: 14px;
+ 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;
+}
+</style>
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue
new file mode 100644
index 0000000..2c878b8
--- /dev/null
+++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue
@@ -0,0 +1,53 @@
+<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>
+ </div>
+</template>
+
+<script>
+export default {
+ name: 'PublicTable',
+ 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 寮�'
+ }]
+ }
+ }
+}
+</script>
+
+<style lang="less" scoped>
+
+</style>
diff --git a/src/components/BaseNav/PublicBounced/PublicBounced.vue b/src/components/BaseNav/PublicBounced/PublicBounced.vue
new file mode 100644
index 0000000..275b86e
--- /dev/null
+++ b/src/components/BaseNav/PublicBounced/PublicBounced.vue
@@ -0,0 +1,97 @@
+<template>
+ <div class="public-bounced" v-draw v-show="flag">
+ <div class="public-bounced-title">
+ <span>{{ displayContent.Name }}</span>
+ <i class="el-icon-circle-close" @click="closePopup"></i>
+ </div>
+ <div class="public-bounced-content">
+ <div class="public-bounced-content-left">
+ <GasTab :displayContent="displayContent"></GasTab>
+ <PublicTable v-if="value === 'gufei'"></PublicTable>
+ <GasECharts v-else></GasECharts>
+ </div>
+ <div class="public-bounced-content-right">
+ <GasVideo></GasVideo>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+
+import '@/components/BaseNav/SolidWaste/directive'
+import GasTab from '@components/BaseNav/PublicBounced/GasComponents/GasTab'
+import PublicTable from '@components/BaseNav/PublicBounced/GasComponents/PublicTable'
+import GasECharts from '@components/BaseNav/PublicBounced/GasComponents/GasECharts'
+import GasVideo from '@components/BaseNav/PublicBounced/GasComponents/GasVideo'
+
+export default {
+ name: 'PublicBounced',
+ components: {
+ GasTab,
+ PublicTable,
+ GasECharts,
+ GasVideo
+ },
+ data () {
+ return {
+ displayContent: [],
+ flag: false
+ }
+ },
+ methods: {
+ setData (data, value) {
+ this.displayContent = data
+ this.flag = true
+ this.value = value
+ },
+ closePopup () {
+ this.flag = false
+ }
+ }
+}
+</script>
+
+<style lang="less" scoped>
+.public-bounced {
+ z-index: 999;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ background-color: #002432;
+ border: 1px #9fc5c8 solid;
+
+ .public-bounced-title {
+ border: 1px #a4c0d8 solid;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 5px 0;
+
+ span {
+ color: #f4f7ff;
+ margin: 0 15px;
+ font-size: 14px;
+ }
+
+ i {
+ color: white;
+ margin: 0 15px;
+ font-size: 22px;
+ }
+ }
+
+ .public-bounced-content {
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+
+ .public-bounced-content-left {
+ }
+
+ .public-bounced-content-right {
+ }
+ }
+
+}
+</style>
\ No newline at end of file
diff --git a/src/components/BaseNav/SolidWaste/SolidWaste.js b/src/components/BaseNav/SolidWaste/SolidWaste.js
new file mode 100644
index 0000000..6df5e3e
--- /dev/null
+++ b/src/components/BaseNav/SolidWaste/SolidWaste.js
@@ -0,0 +1,182 @@
+import { QueryStoragePlaceListByCompanyAndName } from '@/api/request'
+// 灞曠ず鍥剧墖
+import defaultImg from '@assets/images/map-pages/basenav/solidwaste/voc.png'
+import Setting from '@assets/images/map-pages/basenav/solidwaste/gf_green.png'
+
+// 搴曞浘涓氬姟灞曠ず鐐�
+class AddSolidWasteHelper {
+ constructor (options) {
+ this.map = options.map
+ this.L = window.L
+ this.SolidWasteLayerGroup = this.L.layerGroup().addTo(this.map)
+ this.SolidWastePopup = null
+ this.L.sgis = this.L.sgis || this.L
+ this.solidWasteMarkersLabels = []
+ this.pulseHeighLightMarker = null
+ }
+
+ // 璇锋眰鏁版嵁 data 涓哄弬鏁帮紝 璇锋眰鍚庡彴鏁版嵁鏃� 鎼哄甫data鍙傛暟
+ requestData (data) {
+ QueryStoragePlaceListByCompanyAndName(data).then(res => {
+ // console.log(res)
+ this.DrawTheSolidWasteContent(res.Result.DataInfo)
+ }).catch(err => {
+ console.log(err)
+ })
+ }
+
+ // 鏍规嵁鑾峰彇鏁版嵁 鐢诲嚭 鍐呭
+ DrawTheSolidWasteContent (data) {
+ // 鍥炬爣鏍峰紡鎵╁睍
+ var SolidWasteIcon = this.SolidWasteIcon()
+
+ // //鍔犺浇鏁版嵁鍓嶅鏋滃瓨鍦ㄥ浘灞傜粍 閭d箞娓呴櫎鎺�
+ if (this.SolidWasteLayerGroup) {
+ this.SolidWasteLayerGroup.clearLayers()
+ }
+ for (let i = 0; i < data.length; i++) {
+ // 缁忕含搴� 浣嶇疆
+ const positionX = data[i].Latitude
+ const positionY = data[i].Longitude
+
+ // 鍒ゆ柇 缁忕含搴︿綅缃俊鎭槸鍚﹀瓨鍦�
+ if (positionX != null && positionY != null) {
+ // 鐢ㄤ簬 鍒ゆ柇 => 鍒ゆ柇鏄惁灞曠ず鑴夊啿鏁堟灉 => temp(涓存椂)
+ const determineValueOne = data[i].LongDayWarning
+ var determineValueTwo = data[i].StorageQty
+ const positionArea = [positionX, positionY]
+
+ // 鍥炬爣灞曠ず
+ var iconUrl = this.SolidWasteIconUrl(determineValueOne, determineValueTwo, positionArea)
+ var Icon = new SolidWasteIcon({ iconUrl: iconUrl })
+ // var url = Icon.options.iconUrl
+
+ const marker = this.L.marker([positionX, positionY], { icon: Icon })
+ // 鍒掕繃鍑虹幇 灞曠ず鏁版嵁
+ marker.bindTooltip(data[i].Name, {
+ permanent: true,
+ offset: [0, -16],
+ direction: 'top',
+ className: ''
+ })
+ // 鐐瑰嚮 浜嬩欢
+ marker.on('click', (e) => {
+ try {
+ // console.log(e)
+ // console.log(this.map.getCenter())
+ // 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.EffectOfPulse(e.target.getLatLng())
+ this.SolidWastePopup.setData(data[i], 'gufei')
+ return this.SolidWastePopup.$el
+ } catch (error) {
+ console.log(error)
+ }
+ })
+ // 璁剧疆鍐呭娣诲姞鍒板浘灞�
+ this.SolidWasteLayerGroup.addLayer(marker)
+ }
+ }
+ }
+
+ // panTo
+ setPanTo (pos, value) {
+ var position = pos
+ position = this.map.latLngToLayerPoint(position)
+ position.y += value
+ position = this.map.layerPointToLatLng(position)
+ this.map.setView(position)
+ // this.map.flyTo(position)
+ }
+
+ // 鍥哄簾鐐瑰嚮杩涜鐨� 鍐呭鐨勮缃�
+ SetSolidWasteContent (config, containerPopup) {
+ this.SolidWastePopup = containerPopup
+ }
+
+ // 鍥炬爣鏍峰紡鎵╁睍 => 鍏夊湀 鍥炬爣鑴夊啿
+ SolidWasteIcon () {
+ return this.L.Icon.extend({
+ options: {
+ iconSize: [50, 50],
+ iconAnchor: [25, 25]
+ }
+ })
+ }
+
+ // 鏍规嵁绫诲瀷杩斿洖鍥剧墖鍔犺浇url
+ SolidWasteIconUrl (determineValueOne, determineValueTwo, position) {
+ var EffectOfChange
+ if (determineValueOne === 1 || determineValueTwo === 1) {
+ EffectOfChange = defaultImg
+ this.EffectOfPulse(position, this.solidWasteMarkersLabels, this.SolidWasteLayerGroup)
+ } else {
+ EffectOfChange = Setting
+ }
+ return EffectOfChange
+ }
+
+ // 鑴夊啿鏁堟灉璁剧疆瀹炵幇
+ 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()
+ }
+ }
+
+ // 瀵瑰浘鏍囪剦鍐� 杩涜set璁剧疆 // 楂樹寒鍥惧眰
+ PulseCountSetting () {
+ var HeightLightTime = 5
+ var PulseNumber = 5
+ const pulseinterver = setInterval((e) => {
+ if (PulseNumber > 0) {
+ PulseNumber--
+ } else {
+ this.pulseClear(pulseinterver)
+ PulseNumber = HeightLightTime
+ }
+ }, 1000)
+ }
+
+ // 娓呴櫎 鍥惧眰
+ pulseClear (pulseinterver) {
+ clearInterval(pulseinterver)
+ pulseinterver = null
+
+ if (this.SolidWasteLayerGroup) {
+ // this.SolidWasteLayerGroup.clearLayers()
+ } else {
+ this.SolidWasteLayerGroup = this.L.layerGroup().addTo(this.map)
+ }
+ if ((this.pulseHeighLightMarker)) {
+ this.pulseHeighLightMarker.remove()
+ }
+ }
+}
+
+export default AddSolidWasteHelper
diff --git a/src/components/BaseNav/SolidWaste/directive.js b/src/components/BaseNav/SolidWaste/directive.js
new file mode 100644
index 0000000..d51b377
--- /dev/null
+++ b/src/components/BaseNav/SolidWaste/directive.js
@@ -0,0 +1,59 @@
+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
+ }
+})
diff --git a/src/components/BaseNav/WasteWater/WasteWater.js b/src/components/BaseNav/WasteWater/WasteWater.js
new file mode 100644
index 0000000..c2f3d6b
--- /dev/null
+++ b/src/components/BaseNav/WasteWater/WasteWater.js
@@ -0,0 +1,177 @@
+import { requestWasteWater } from '@/api/request'
+// 灞曠ず鍥剧墖
+import defaultImg from '@assets/images/map-pages/basenav/Waste-water/fs_green.png'
+import Setting from '@assets/images/map-pages/basenav/Waste-water/fs_yellow.png'
+
+// 搴曞浘涓氬姟灞曠ず鐐�
+class AddWasteWaterHelper {
+ constructor (options) {
+ this.map = options.map
+ this.L = window.L
+ this.WasteWaterLayerGroup = this.L.layerGroup().addTo(this.map)
+ this.WasteWaterPopup = null
+ this.L.sgis = this.L.sgis || this.L
+ this.WasteWaterMarkersLabels = []
+ this.pulseHeighLightMarker = null
+ }
+
+ // 璇锋眰鏁版嵁 data 涓哄弬鏁帮紝 璇锋眰鍚庡彴鏁版嵁鏃� 鎼哄甫data鍙傛暟
+ requestData (data) {
+ requestWasteWater(data).then(res => {
+ console.log(res)
+ this.DrawWasteWaterContent(res.Result.DataInfo)
+ // console.log(res)
+ }).catch(err => {
+ console.log(err)
+ })
+ }
+
+ // 鏍规嵁鑾峰彇鏁版嵁 鐢诲嚭 鍐呭
+ DrawWasteWaterContent (data) {
+ // 鍥炬爣鏍峰紡鎵╁睍
+ const WasteWaterIcon = this.WasteWaterIcon()
+
+ // //鍔犺浇鏁版嵁鍓嶅鏋滃瓨鍦ㄥ浘灞傜粍 閭d箞娓呴櫎鎺�
+ if (this.WasteWaterLayerGroup) {
+ this.WasteWaterLayerGroup.clearLayers()
+ }
+ for (let i = 0; i < data.length; i++) {
+ // 缁忕含搴� 浣嶇疆
+ const positionX = data[i].Latitude
+ const positionY = data[i].Longitude
+
+ // 鍒ゆ柇 缁忕含搴︿綅缃俊鎭槸鍚﹀瓨鍦�
+ // if (positionX != null && positionY != null) {
+ // 鐢ㄤ簬 鍒ゆ柇 => 鍒ゆ柇鏄惁灞曠ず鑴夊啿鏁堟灉 => temp(涓存椂)
+ const determineValueOne = data[i].LongDayWarning
+ const determineValueTwo = data[i].StorageQty
+ const positionArea = [positionX, positionY]
+
+ // 鍥炬爣灞曠ず
+ const iconUrl = this.WasteWaterIconUrl(determineValueOne, determineValueTwo, positionArea)
+ const Icon = new WasteWaterIcon({ iconUrl: iconUrl })
+ // let url = Icon.options.iconUrl
+
+ const marker = this.L.marker.magic([positionX, positionY], { icon: Icon, magic: 'vanishIn' })
+
+ marker.bindPopup(() => {
+ return this.WasteWaterPopup.$el
+ }, {
+ className: 's-map-popup',
+ minWidth: 1000,
+ closeButton: true,
+ autoClose: false
+ })
+ // 鍒掕繃鍑虹幇 灞曠ず鏁版嵁
+ marker.bindTooltip(data[i].Name, {
+ permanent: true,
+ offset: [0, -16],
+ direction: 'top',
+ className: ''
+ })
+ // 鐐瑰嚮浜嬩欢
+ marker.on('click', (e) => {
+ try {
+ // console.log(e)
+ this.EffectOfPulse(e.target.getLatLng())
+ this.WasteWaterPopup.setDate(data[i])
+ return this.WasteWaterPopup.$el
+ } catch (error) {
+ console.log(error)
+ }
+ })
+ // 璁剧疆鍐呭娣诲姞鍒板浘灞�
+ this.WasteWaterLayerGroup.addLayer(marker)
+ // }
+ }
+ }
+
+ // 搴熸按鎸夐挳鐐瑰嚮杩涜鐨� 鍐呭鐨勮缃�
+ SetWasteWaterContent (config, containerPopup) {
+ this.WasteWaterPopup = containerPopup
+ }
+
+ // 鍥炬爣鏍峰紡鎵╁睍 => 鍏夊湀 鍥炬爣鑴夊啿
+ WasteWaterIcon () {
+ return this.L.Icon.extend({
+ options: {
+ iconSize: [50, 50],
+ iconAnchor: [25, 25]
+ }
+ })
+ }
+
+ // 鏍规嵁绫诲瀷杩斿洖鍥剧墖鍔犺浇url
+ WasteWaterIconUrl (determineValueOne, determineValueTwo, position) {
+ let EffectOfChange
+ if (determineValueOne === 1 || determineValueTwo === 1) {
+ EffectOfChange = defaultImg
+ this.EffectOfPulse(position, this.WasteWaterMarkersLabels, this.WasteWaterLayerGroup)
+ } else {
+ EffectOfChange = Setting
+ }
+ return EffectOfChange
+ }
+
+ // 鑴夊啿鏁堟灉璁剧疆瀹炵幇
+ EffectOfPulse (position, markers, layerGroup) {
+ // // 鍖哄垎鐩存帴鎵ц 鍜屽垽鏂墽琛岀殑涓嶅悓鍖哄埆
+ let differentColor = ''
+ if (markers) {
+ differentColor = '#ff0000'
+ } else {
+ differentColor = '#98FB98'
+ }
+ // 鍧愭爣鏁版嵁锛氭姤璀︿紶杩涙潵鐨勬槸鏁扮粍 / 鐐瑰嚮浼犺繘鏉ョ殑鏄痮bject
+ const FinalPosition = position instanceof Array ? {
+ lat: position[0],
+ lng: position[1]
+ } : position
+ // 鎻掍欢 鏁堟灉瀹炵幇
+ const 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 {
+ const picGroupMarker = new this.L.FeatureGroup()
+ this.L.marker(FinalPosition, { icon: pulsingIcon }).addTo(picGroupMarker)
+ this.pulseHeighLightMarker = picGroupMarker.addTo(this.WasteWaterLayerGroup)
+ this.PulseCountSetting()
+ }
+ }
+
+ // 瀵瑰浘鏍囪剦鍐� 杩涜set璁剧疆 // 楂樹寒鍥惧眰
+ PulseCountSetting () {
+ const HeightLightTime = 5
+ let PulseNumber = 5
+ const pulseinterver = setInterval(() => {
+ if (PulseNumber > 0) {
+ PulseNumber--
+ } else {
+ this.pulseClear(pulseinterver)
+ PulseNumber = HeightLightTime
+ }
+ }, 1000)
+ }
+
+ // 鍦ㄦ墽琛屼笅涓墠娓呴櫎宸插瓨鍦ㄥ浘灞�
+ pulseClear (pulseinterver) {
+ clearInterval(pulseinterver)
+ pulseinterver = null
+
+ if (this.WasteWaterLayerGroup) {
+ // this.WasteWaterLayerGroup.clearLayers()
+ } else {
+ this.WasteWaterLayerGroup = this.L.layerGroup().addTo(this.map)
+ }
+ if ((this.pulseHeighLightMarker)) {
+ this.pulseHeighLightMarker.remove()
+ }
+ }
+}
+
+export default AddWasteWaterHelper
diff --git a/src/components/BaseNav/WireSurface/index.js b/src/components/BaseNav/WireSurface/index.js
new file mode 100644
index 0000000..3021c37
--- /dev/null
+++ b/src/components/BaseNav/WireSurface/index.js
@@ -0,0 +1,22 @@
+// // 寮曞叆鐢ㄤ簬澶勭悊鎺ュ彛鏁版嵁鑾峰彇鐨勬柟娉�
+// import {} from '@src/api/request'
+//
+// class initWireSurface {
+// constructor (options) {
+// this.map = options.map
+// this.L = window.L
+// this.initWireSurfaceMap = new Map()
+// this.initWireSurfacePopup = this.L.layerGroup().addTo(this.map)
+// }
+//
+// // 鑾峰彇椤甸潰绾�/闈㈡暟鎹�
+// getDataInitWireSurface () {
+// ().then(res => {
+// console.log(res)
+// }).catch(error => {
+// console.log(error)
+// })
+// }
+// }
+//
+// export default initWireSurface
diff --git a/src/components/BaseNav/flueGas/flueGas.js b/src/components/BaseNav/flueGas/flueGas.js
new file mode 100644
index 0000000..0ab51b2
--- /dev/null
+++ b/src/components/BaseNav/flueGas/flueGas.js
@@ -0,0 +1,178 @@
+import { FlueGas } from '@/api/request'
+import defaultImg from '@assets/images/map-pages/basenav/flugas/green_airquality_2.png'
+import Setting from '@assets/images/map-pages/basenav/flugas/green_airquality_3.png'
+// 鍥剧墖
+
+class AddGasHelper {
+ constructor (options) {
+ this.map = options.map
+ this.L = window.L
+ this.FlueGasLayerGroup = this.L.layerGroup().addTo(this.map)
+ this.FlueGasPopup = null
+ this.L.sgis = this.L.sgis || this.L
+ this.FlueGasMarkersLabels = []
+ this.pulseHeighLightMarker = null
+ }
+
+ // 鑾峰彇鏁版嵁
+ requestData (data) {
+ FlueGas(data).then(res => {
+ console.log(res)
+ this.DrawFlueGasContent(res.Result.DataInfo)
+ }).catch(err => {
+ console.log(err)
+ })
+ }
+
+ // 鏍规嵁鑾峰彇鏁版嵁 鐢诲嚭 鍐呭
+ DrawFlueGasContent (data) {
+ // 鍥炬爣鏍峰紡鎵╁睍
+ var FlueGasIcon = this.PlueGasIcon()
+
+ // //鍔犺浇鏁版嵁鍓嶅鏋滃瓨鍦ㄥ浘灞傜粍 閭d箞娓呴櫎鎺�
+ if (this.FlueGasLayerGroup) {
+ this.FlueGasLayerGroup.clearLayers()
+ }
+ for (let i = 0; i < data.length; i++) {
+ // 缁忕含搴� 浣嶇疆
+ const positionX = data[i].Latitude
+ const positionY = data[i].Longitude
+
+ // 鍒ゆ柇 缁忕含搴︿綅缃俊鎭槸鍚﹀瓨鍦�
+ // if (positionX != null && positionY != null) {
+ // 鐢ㄤ簬 鍒ゆ柇 => 鍒ゆ柇鏄惁灞曠ず鑴夊啿鏁堟灉 => temp(涓存椂)
+ const determineValueOne = data[i].LongDayWarning
+ var determineValueTwo = data[i].StorageQty
+ const positionArea = [positionX, positionY]
+
+ // 鍥炬爣灞曠ず
+ var iconUrl = this.PlueGasIconUrl(determineValueOne, determineValueTwo, positionArea)
+ var Icon = new FlueGasIcon({ iconUrl: iconUrl })
+ // var url = Icon.options.iconUrl
+
+ const marker = this.L.marker([positionX, positionY], { icon: Icon })
+ // const latlngs = positionArea[2]
+ // // 绾�
+ // var polyline = this.L.polyline(latlngs, { color: 'red' }).addTo(this.map)
+ // console.log(polyline)
+ // marker.bindPopup(() => {
+ // return this.FlueGasPopup.$el
+ // }, {
+ // className: 's-map-popup',
+ // minWidth: 1548,
+ // closeButton: true,
+ // autoClose: false
+ // })
+ // 鍒掕繃鍑虹幇 灞曠ず鏁版嵁
+ marker.bindTooltip(data[i].porltName, {
+ permanent: true,
+ offset: [0, -16],
+ direction: 'top',
+ className: ''
+ })
+ // 鐐瑰嚮 浜嬩欢
+ marker.on('click', (e) => {
+ try {
+ // console.log(e)
+ this.EffectOfPulse(e.target.getLatLng())
+ this.FlueGasPopup.setData(data[i])
+ // this.FlueGasPopup.setData(data[i])
+ return this.FlueGasPopup.$el
+ } catch (error) {
+ console.log(error)
+ }
+ })
+ // 璁剧疆鍐呭娣诲姞鍒板浘灞�
+ this.FlueGasLayerGroup.addLayer(marker)
+ // }
+ }
+ }
+
+ // 鐐瑰嚮杩涜鐨� 鍐呭鐨勮缃�
+ SetPlueGasContent (config, containerPopup) {
+ this.FlueGasPopup = containerPopup
+ }
+
+ // 鍥炬爣鏍峰紡鎵╁睍 => 鍏夊湀 鍥炬爣鑴夊啿
+ PlueGasIcon () {
+ return this.L.Icon.extend({
+ options: {
+ iconSize: [50, 50],
+ iconAnchor: [25, 25]
+ }
+ })
+ }
+
+ // 鏍规嵁绫诲瀷杩斿洖鍥剧墖鍔犺浇url
+ PlueGasIconUrl (determineValueOne, determineValueTwo, position) {
+ var EffectOfChange
+ if (determineValueOne === 1 || determineValueTwo === 1) {
+ EffectOfChange = defaultImg
+ this.EffectOfPulse(position, this.FlueGasMarkersLabels, this.pulseHeighLightMarker)
+ } else {
+ EffectOfChange = Setting
+ }
+ return EffectOfChange
+ }
+
+ // 鑴夊啿鏁堟灉璁剧疆瀹炵幇
+ 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.FlueGasLayerGroup)
+ this.PulseCountSetting()
+ }
+ }
+
+ PulseCountSetting () {
+ var HeightLightTime = 5
+ var PulseNumber = 5
+ const pulseinterver = setInterval(() => {
+ if (PulseNumber > 0) {
+ PulseNumber--
+ } else {
+ this.pulseClear(pulseinterver)
+ PulseNumber = HeightLightTime
+ }
+ }, 1000)
+ }
+
+ // 娓呴櫎 鍥惧眰
+ pulseClear (pulseinterver) {
+ clearInterval(pulseinterver)
+ pulseinterver = null
+
+ if (this.PlueGasLayerGroup) {
+ // this.PlueGasLayerGroup.clearLayers()
+ } else {
+ this.PlueGasLayerGroup = this.L.layerGroup().addTo(this.map)
+ }
+ if ((this.pulseHeighLightMarker)) {
+ this.pulseHeighLightMarker.remove()
+ }
+ }
+}
+
+export default AddGasHelper
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/components/plugin/MagicMarker.js b/src/components/plugin/MagicMarker.js
index f74a2a4..a9d75bd 100644
--- a/src/components/plugin/MagicMarker.js
+++ b/src/components/plugin/MagicMarker.js
@@ -1,49 +1,45 @@
-const init = (L) => {
- (function (window) {
- console.log(window)
- const setOptions = function (obj, options) {
- for (const i in options) {
- obj[i] = options[i]
+/* eslint-disable */
+(function (window) {
+ console.log(window)
+ const setOptions = function (obj, options) {
+ for (const i in options) {
+ obj[i] = options[i]
+ }
+ return obj
+ }
+ L.Icon.Magic = function (options) {
+ let opts
+ // console.log(options)
+ if (options.iconUrl) {
+ opts = {
+ html: '<div class=\'magicDiv\'><div class=\'magictime ' + options.magic + '\'>' + options.html + '</div></div>'
+ // className: 'magicDiv',L
}
- return obj
- }
- L.Icon.Magic = function (options) {
- let opts
- if (options.iconUrl) {
- opts = {
- html: "<div class='magicDiv'><div class='magictime " + options.magic + "'><img id='migic' src='" + options.iconUrl + "'/></div></div>"
- // className: 'magicDiv',
- }
- } else {
- opts = {
- html: "<div class='magicDiv'><div class='magictime " + options.magic + "'>" + options.html + '</div></div>'
- // className: 'magicDiv',
- }
+ } else {
+ opts = {
+ html: '<div class=\'magicDiv\'><div class=\'magictime ' + options.magic + '\'><img id=\'migic\' src=\'' + options.icon.options.iconUrl + '\'/></div></div>'
+ // className: 'magicDiv',
}
- delete options.html
- const magicIconOpts = setOptions(opts, options)
- // console.log(magicIconOpts)
- const magicIcon = L.divIcon(magicIconOpts)
- return magicIcon
}
+ delete options.html
+ const magicIconOpts = setOptions(opts, options)
+ // console.log(magicIconOpts)
+ const magicIcon = L.divIcon(magicIconOpts)
+ return magicIcon
+ }
- L.icon.magic = function (options) {
- return new L.Icon.Magic(options)
+ L.icon.magic = function (options) {
+ return new L.Icon.Magic(options)
+ }
+
+ L.Marker.Magic = L.Marker.extend({
+ initialize: function (latlng, options) {
+ options.icon = L.icon.magic(options)
+ L.Marker.prototype.initialize.call(this, latlng, options)
}
+ })
- L.Marker.Magic = L.Marker.extend({
- initialize: function (latlng, options) {
- options.icon = L.icon.magic(options)
- L.Marker.prototype.initialize.call(this, latlng, options)
- }
- })
-
- L.marker.magic = function (latlng, options) {
- return new L.Marker.Magic(latlng, options)
- }
- })(window)
-}
-
-export default {
- init
-}
+ L.marker.magic = function (latlng, options) {
+ return new L.Marker.Magic(latlng, options)
+ }
+})(window)
diff --git a/src/components/plugin/pulse/Pulse.css b/src/components/plugin/pulse/Pulse.css
new file mode 100644
index 0000000..aed198f
--- /dev/null
+++ b/src/components/plugin/pulse/Pulse.css
@@ -0,0 +1,34 @@
+.leaflet-pulsing-icon {
+ border-radius: 100%;
+ box-shadow: 1px 1px 8px 0 rgba(0,0,0,0.75);
+}
+
+.leaflet-pulsing-icon:after {
+ content: "";
+ border-radius: 100%;
+ height: 300%;
+ width: 300%;
+ position: absolute;
+ margin: -100% 0 0 -100%;
+
+}
+
+@keyframes pulsate {
+ 0% {
+ transform: scale(0.1, 0.1);
+ opacity: 0;
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ filter: alpha(opacity=0);
+ }
+ 50% {
+ opacity: 1;
+ -ms-filter: none;
+ filter: none;
+ }
+ 100% {
+ transform: scale(1.2, 1.2);
+ opacity: 0;
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ filter: alpha(opacity=0);
+ }
+}
diff --git a/src/components/plugin/pulse/Pulse.js b/src/components/plugin/pulse/Pulse.js
new file mode 100644
index 0000000..57ef679
--- /dev/null
+++ b/src/components/plugin/pulse/Pulse.js
@@ -0,0 +1,77 @@
+/* eslint-disable */
+(function (window) {
+
+ L.Icon.Pulse = L.DivIcon.extend({
+
+ options: {
+ className: '',
+ iconSize: [12, 12],
+ fillColor: 'red',
+ color: 'red',
+ animate: true,
+ heartbeat: 1,
+ },
+
+ initialize: function (options) {
+ L.setOptions(this, options)
+
+ // css
+
+ var uniqueClassName = 'lpi-' + new Date().getTime() + '-' + Math.round(Math.random() * 100000)
+
+ var before = ['background-color: ' + this.options.fillColor]
+ var after = [
+
+ 'box-shadow: 0 0 6px 2px ' + this.options.color,
+
+ 'animation: pulsate ' + this.options.heartbeat + 's ease-out',
+ 'animation-iteration-count: infinite',
+ 'animation-delay: ' + (this.options.heartbeat + .1) + 's',
+ ]
+
+ if (!this.options.animate) {
+ after.push('animation: none')
+ after.push('box-shadow:none')
+ }
+
+ var css = [
+ '.' + uniqueClassName + '{' + before.join(';') + ';}',
+ '.' + uniqueClassName + ':after{' + after.join(';') + ';}',
+ ].join('')
+
+ var el = document.createElement('style')
+ if (el.styleSheet) {
+ el.styleSheet.cssText = css
+ } else {
+ el.appendChild(document.createTextNode(css))
+ }
+
+ document.getElementsByTagName('head')[0].appendChild(el)
+
+ // apply css class
+
+ this.options.className = this.options.className + ' leaflet-pulsing-icon ' + uniqueClassName
+
+ // initialize icon
+
+ L.DivIcon.prototype.initialize.call(this, options)
+
+ }
+ })
+
+ L.icon.pulse = function (options) {
+ return new L.Icon.Pulse(options)
+ }
+
+ L.Marker.Pulse = L.Marker.extend({
+ initialize: function (latlng, options) {
+ options.icon = L.icon.pulse(options)
+ L.Marker.prototype.initialize.call(this, latlng, options)
+ }
+ })
+
+ L.marker.pulse = function (latlng, options) {
+ return new L.Marker.Pulse(latlng, options)
+ }
+
+})(window)
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 e01a715..1326a16 100644
--- a/src/conf/MapConfig.js
+++ b/src/conf/MapConfig.js
@@ -1,7 +1,10 @@
锘縤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
const pos = curWwwPath.indexOf(pathname)
@@ -22,7 +25,7 @@
minZoom: 3,
maxZoom: 18,
// center: [26, 104],
- center: [32.224016189575195, 118.77070426940918],
+ center: [38.828558921813965, 117.41676807403564],
zoom: 14,
worldCopyJump: true,
inertia: true,
@@ -38,7 +41,10 @@
// defaultBasemapCode: 'tianditu_img', // 榛樿鏄剧ず 鍦板浘绫诲瀷
IntranetBaseMaps: TDT.intranet,
InternetBaseMaps: TDT.internet,
- Layers: { LayerSewersLine: [LayerSewersLine, LayerWasteWater], layerSewersPoint: LayerSewersPoint } // 姹¢洦姘村浘灞傞厤缃�
+ Layers: {
+ LayerSewersLine: [LayerSewersLine, LayerWasteWater, LayerWasteGas, LayerSolidWaste],
+ layerSewersPoint: LayerSewersPoint
+ } // 姹¢洦姘村浘灞傞厤缃�
}
/**
@@ -55,9 +61,27 @@
}
}
+/**
+ *
+ */
+// const MagicMaker = {
+// Current: 'vanishIn',
+// ARRAY: [
+// 'twisterInDown', 'twisterInUp', 'swap',
+// 'puffIn', 'vanishIn',
+// 'openDownLeftReturn', 'openDownRightReturn', 'openUpLeftReturn', 'openUpRightReturn',
+// 'perspectiveDownReturn', 'perspectiveUpReturn', 'perspectiveLeftReturn', 'perspectiveRightReturn',
+// 'slideDownReturn', 'slideUpReturn', 'slideLeftReturn', 'slideRightReturn',
+// 'swashIn', 'foolishIn',
+// 'tinRightIn', 'tinLeftIn', 'tinUpIn', 'tinDownIn',
+// 'boingInUp',
+// 'spaclInUp', 'spaceInRight', 'spaceInDown', 'spaceInLeft']
+// }
+
export default {
mapOptions,
mapConfig,
TokenConfig,
BLUEMAP_HOST
+ // MagicMaker
}
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..c81dc8b
--- /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/img/fs_yellow.7fe82c5d.png b/src/img/fs_yellow.7fe82c5d.png
new file mode 100644
index 0000000..8d84aa8
--- /dev/null
+++ b/src/img/fs_yellow.7fe82c5d.png
Binary files differ
diff --git a/src/main.js b/src/main.js
index da699b5..653b668 100644
--- a/src/main.js
+++ b/src/main.js
@@ -22,6 +22,7 @@
Vue.prototype.$cancels = []
Vue.prototype.L = L
Vue.prototype.$config = appConfig
+Vue.prototype.$echarts = echarts // 鎸傝浇echarts
// 娉ㄥ唽鎸囦护7
// registerDirectives(Vue)
diff --git a/src/styles/theme-dark/variable.less b/src/styles/theme-dark/variable.less
index 430a7b4..dee09f6 100644
--- a/src/styles/theme-dark/variable.less
+++ b/src/styles/theme-dark/variable.less
@@ -1,4 +1,4 @@
-@import "../common/variable";
+//@import "../common/variable";
/* 涓婚鑹�
-------------------------- */
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/utils/axios.js b/src/utils/axios.js
index b28575e..d42baf4 100644
--- a/src/utils/axios.js
+++ b/src/utils/axios.js
@@ -117,10 +117,10 @@
// request鎷︽埅鍣�
Service.interceptors.request.use(
config => {
- // 涓存椂杩藉姞
- // if ($store.state.user.account) {
- // config.headers.account = $store.state.user.account
- // }
+ // 涓存椂杩藉姞
+ // if ($store.state.user.account) {
+ // config.headers.account = $store.state.user.account
+ // }
const copyConfig = Object.assign({}, config)
// copyConfig = filterOauthData(copyConfig)
// showDebugInfo(copyConfig)
diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue
index 68b58e4..6913577 100644
--- a/src/views/MapTemplate.vue
+++ b/src/views/MapTemplate.vue
@@ -9,20 +9,23 @@
<lc-service-layer class="barline" v-if="lcServiceLayerVisible"></lc-service-layer>
</sgis-layer-controller>
<monitor-panel></monitor-panel>
-<!-- <top-enterprise-panel></top-enterprise-panel>-->
+ <!-- <top-enterprise-panel></top-enterprise-panel>-->
<tool-box-panel ref="toolBox"></tool-box-panel>
-<!-- <menu-special></menu-special>-->
+ <!-- <menu-special></menu-special>-->
<legend-panel></legend-panel>
<summary-sheets></summary-sheets>
<enterprise></enterprise>
-<!-- <el-button id="map-btn" el-icon-c-scale-to-original icon="el-icon-c-scale-to-original" circle @click="isShowHidden"></el-button>-->
+ <!-- <el-button id="map-btn" el-icon-c-scale-to-original icon="el-icon-c-scale-to-original" circle @click="isShowHidden"></el-button>-->
+ <el-button type="primary" @click="ChangeState" class="solid-waste">鍥哄簾</el-button>
+ <el-button type="primary" @click="ChangeWaterState" class="Waste-water">搴熸按</el-button>
+ <el-button type="primary" @click="AddGasHelper" class="flue-gas">搴熸皵</el-button>
+ <PublicBounced ref="PublicBounced"></PublicBounced>
</div>
</template>
<script>
import 'leaflet/dist/leaflet.css'
import Sgis from '@src/Sgis'
-// import Vue from 'vue'
// import mapConfig from '@/conf/MapConfig'
import SgisLayerController from '@components/LayerController/LayerController'
import LcBasemap from '@components/LayerController/modules/LcBaseMap'
@@ -35,6 +38,13 @@
// import MenuSpecial from '@components/panel/MenuTopic'
import LegendPanel from '@components/panel/LegendPanel'
import Enterprise from '../components/table/enterprise'
+// 搴曞浘涓氬姟js閫昏緫
+import AddSolidWasteHelper from '@components/BaseNav/SolidWaste/SolidWaste'
+import AddWasteWaterHelper from '@components/BaseNav/WasteWater/WasteWater'
+import AddGasHelper from '@components/BaseNav/flueGas/flueGas'
+// // 鍏叡灞曠ず鏁版嵁
+import PublicBounced from '@components/BaseNav/PublicBounced/PublicBounced'
+import LayerFactory from '@components/LayerController/service/LayerFactory'
export default {
name: 'MapTemplate',
@@ -49,10 +59,12 @@
LcBasemap,
LcServiceLayer,
Popup,
- summarySheets
+ summarySheets,
+ PublicBounced
},
data () {
return {
+ // isShowBtn: false,
map: null,
lcServiceLayerVisible: false,
basemapHelper: {},
@@ -66,14 +78,61 @@
}
},
beforeMount () {
- // import('@/assets/airQuality.json').then(res => {
- // console.log(res.features)
- // })
this.$nextTick(() => {
this.init()
})
},
methods: {
+ AddGasHelper () {
+ const data = {
+ companyId: 3900100145,
+ id: '',
+ monType: 2,
+ userCode: 'wenchun.deng',
+ monDuration: '',
+ epName: '',
+ secdDeptId: '',
+ contrLevel: '',
+ dataStatus: '',
+ dataFlag: '',
+ runStatus: '',
+ emissTypeId: ''
+ }
+ const AddGas = new AddGasHelper({ map: this.map })
+ AddGas.requestData(data)
+ AddGas.SetPlueGasContent(this.config, this.$refs.PublicBounced)
+ },
+ ChangeState () {
+ const data = {
+ companyId: 3900100145,
+ userCode: 'wenchun.deng',
+ name: '',
+ marginWarr: '',
+ longDayWarr: ''
+ }
+ const AddSolidWaste = new AddSolidWasteHelper({ map: this.map })
+ AddSolidWaste.requestData(data)
+ AddSolidWaste.SetSolidWasteContent(this.config, this.$refs.PublicBounced)
+ },
+ ChangeWaterState () {
+ const data = {
+ companyId: 3900100145,
+ id: '',
+ monType: 1,
+ userCode: 'wenchun.deng',
+ monDuration: '',
+ epName: '',
+ secdDeptId: '',
+ contrLevel: '',
+ dataStatus: '',
+ dataFlag: '',
+ runStatus: '',
+ emissTypeId: ''
+ }
+ const AddWasteWater = new AddWasteWaterHelper({ map: this.map })
+ AddWasteWater.requestData(data)
+ AddWasteWater.SetWasteWaterContent(this.config, this.$refs.PublicBounced)
+ },
saveMapStatus () {
window.serviceLayerHelper = this.serviceLayerHelper
this.$store.commit('setMapObj', this.map)
@@ -83,32 +142,100 @@
this.lcServiceLayerVisible = true
},
- init: function () {
+ init () {
const mapcontainer = this.$refs.rootmap
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)
+
+ // this.ChangeState()
+ // this.AddGasHelper()
+ // this.ChangeWaterState()
this.saveMapStatus()
// this.setMapObj(this.mapObj)
// this.setBasemapHelper(this.basemapHelper)
// this.setServiceLayerHelper(this.serviceLayerHelper)
// this.setVectorLayerHelper(this.vectorLayerHelper)
+ this.addMarker()
+ },
+ addMarker () {
+ const L = this.L
+ var icon = new L.Icon({
+ iconUrl: 'assets/images/map/marker-icon.png',
+ shadowUrl: 'assets/images/map/marker-shadow.png',
+ iconSize: [25, 41],
+ iconAnchor: [12, 41],
+ popupAnchor: [1, -34],
+ shadowSize: [41, 41]
+ })
+ var marker = L.marker([32.2221, 118.7843], {
+ icon: icon
+ }).addTo(this.map)
+ .bindPopup(() => this.$refs.popup.$el, {
+ className: 's-map-popup',
+ minWidth: 300,
+ closeButton: false,
+ autoClose: false
+ })
+ .bindTooltip('瀛椾綋鍏夋檿鏁堟灉t.', {
+ // permanent : true,
+ offset: [0, 0], // 鍋忕Щ
+ direction: 'right', // 鏀剧疆浣嶇疆
+ // sticky:true,//鏄惁鏍囪鍦ㄧ偣涓婇潰
+ className: 'anim-tooltip'// CSS鎺у埗
+ })
+
+ marker.on('popupopen', this.onLayerClick)
+ },
+ onLayerClick () {
+ this.$refs.popup.setShow()
+ },
+ callPopup (val) {
+ console.log(val)
}
}
}
</script>
<style lang="less">
+.flue-gas {
+ position: fixed;
+ top: 88px;
+ left: 180px;
+ z-index: 500;
+}
+
+.solid-waste {
+ position: absolute;
+ top: 88px;
+ left: 88px;
+ z-index: 999;
+}
+
+.Waste-water {
+ position: absolute;
+ top: 88px;
+ left: 280px;
+ z-index: 999;
+}
.full-screen {
width: 100%;
@@ -128,14 +255,27 @@
//background-color: #0661AE;
border-top: 1px solid #0661AE;
}
+
#map-btn {
position: fixed;
top: 20px;
left: 100px;
z-index: 9999;
}
- .leaflet-custom-icon{
+
+ .leaflet-custom-icon {
background: white;
}
+
+ .leaflet-marker-icon {
+ background: none;
+ }
+
+ #migic {
+ width: 48px;
+ height: 48px;
+ margin: -18px -20px;
+ z-index: 999;
+ }
}
</style>
diff --git a/vue.config.js b/vue.config.js
index 07df932..64bf2b6 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -27,7 +27,7 @@
devServer: {
// host: 'localhost',
// open: true,
- port: 8888,
+ port: 8080,
// overlay: false,
overlay: {
warnings: true,
--
Gitblit v1.8.0