From e5502925619ecdbf8728086c73faeb5b654089c5 Mon Sep 17 00:00:00 2001
From: chenzeping <ChenZeping02609@163.com>
Date: 星期一, 29 三月 2021 16:18:08 +0800
Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop
---
src/api/request.js | 7
src/components/BaseNav/WasteWater/directive.js | 132 +++++++++++
src/assets/css/map/leaflet.magicMarker.css | 13 +
src/components/BaseNav/WasteWater/WasteWater.js | 177 ++++++++++++++
src/components/plugin/MagicMarker.js | 62 +++-
src/views/MapTemplate.vue | 50 +++
src/assets/images/map-pages/basenav/Waste-water/fs_blue.png | 0
src/assets/images/map-pages/basenav/Waste-water/fs_orange.png | 0
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/img/fs_yellow.7fe82c5d.png | 0
src/assets/images/map-pages/basenav/Waste-water/fs_yellow.png | 0
src/conf/MapConfig.js | 18 +
src/assets/images/map-pages/basenav/Waste-water/fs_green_xc.png | 0
src/assets/images/map-pages/basenav/Waste-water/fs_bright_green.png | 0
src/components/BaseNav/WasteWater/WasteWaterContent.vue | 52 ++++
src/components/BaseNav/WasteWater/WasteWaterTable.vue | 69 +++++
public/static/WasteWater.json | 117 +++++++++
src/assets/images/map-pages/basenav/Waste-water/fs_gray.png | 0
19 files changed, 669 insertions(+), 28 deletions(-)
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/src/api/request.js b/src/api/request.js
index 445b185..38364ca 100644
--- a/src/api/request.js
+++ b/src/api/request.js
@@ -15,3 +15,10 @@
}
})
}
+export function requestWasteWater (data = {}) {
+ return $http.post('EPInterface/DataService/EPMapService.asmx/ObtainningConInfo', Qs.stringify(data), {
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ })
+}
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/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/WasteWater/WasteWaterContent.vue b/src/components/BaseNav/WasteWater/WasteWaterContent.vue
new file mode 100644
index 0000000..22512f2
--- /dev/null
+++ b/src/components/BaseNav/WasteWater/WasteWaterContent.vue
@@ -0,0 +1,52 @@
+<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
new file mode 100644
index 0000000..7468710
--- /dev/null
+++ b/src/components/BaseNav/WasteWater/WasteWaterTable.vue
@@ -0,0 +1,69 @@
+<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
new file mode 100644
index 0000000..adc9450
--- /dev/null
+++ b/src/components/BaseNav/WasteWater/directive.js
@@ -0,0 +1,132 @@
+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/plugin/MagicMarker.js b/src/components/plugin/MagicMarker.js
index afe9916..a9d75bd 100644
--- a/src/components/plugin/MagicMarker.js
+++ b/src/components/plugin/MagicMarker.js
@@ -1,27 +1,45 @@
/* eslint-disable */
-!(function (i) {
- var c = function (i, c) {
- for (var n in c) i[n] = c[n]
- return i
+(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 (i) {
- if (i.iconUrl) {
- var n = { html: '<div class=\'magicDiv\'><div class=\'magictime ' + i.magic + '\'>' + i.html + '<img id=\'migic\' src=\'' + i.iconUrl + '\'/></div></div>' }
+ 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
+ }
} else {
- var n = { html: '<div class=\'magicDiv\'><div class=\'magictime ' + i.magic + '\'>' + i.html + '</div></div>' }
+ opts = {
+ html: '<div class=\'magicDiv\'><div class=\'magictime ' + options.magic + '\'><img id=\'migic\' src=\'' + options.icon.options.iconUrl + '\'/></div></div>'
+ // className: 'magicDiv',
+ }
}
- delete i.html
- var a = c(n, i)
- console.log(a)
- var r = L.divIcon(a)
- return r
- }, L.icon.magic = function (i) {
- return new L.Icon.Magic(i)
- }, L.Marker.Magic = L.Marker.extend({
- initialize: function (i, c) {
- c.icon = L.icon.magic(c), L.Marker.prototype.initialize.call(this, i, c)
- }
- }), L.marker.magic = function (i, c) {
- return new L.Marker.Magic(i, c)
+ delete options.html
+ const magicIconOpts = setOptions(opts, options)
+ // console.log(magicIconOpts)
+ const magicIcon = L.divIcon(magicIconOpts)
+ return magicIcon
}
-}(window))
+
+ 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 = function (latlng, options) {
+ return new L.Marker.Magic(latlng, options)
+ }
+})(window)
diff --git a/src/conf/MapConfig.js b/src/conf/MapConfig.js
index 98ff85c..a039e8f 100644
--- a/src/conf/MapConfig.js
+++ b/src/conf/MapConfig.js
@@ -59,9 +59,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/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/views/MapTemplate.vue b/src/views/MapTemplate.vue
index 681a454..8f55f31 100644
--- a/src/views/MapTemplate.vue
+++ b/src/views/MapTemplate.vue
@@ -17,7 +17,7 @@
<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 type="primary" @click="ChangeState" class="solid-waste">鍥哄簾</el-button>
- <PublicBounced ref="PublicBounced"></PublicBounced>
+ <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>
@@ -40,14 +40,11 @@
import Enterprise from '../components/table/enterprise'
// 搴曞浘涓氬姟js閫昏緫
import AddSolidWasteHelper from '@components/BaseNav/SolidWaste/SolidWaste'
-// import SolidContent from '@components/SolidWaste/SolidContent'
-// 搴熸皵
-import AddGasHelper from '@components/BaseNav/flueGas/flueGas'
+import AddWasteWaterHelper from '@components/BaseNav/WasteWater/WasteWater'
+import AddGasHelper from '@components/flueGas/flueGas'
// import PopupGas from '@/components/flueGas/popup-gas'
// // 鍏叡灞曠ず鏁版嵁
import PublicBounced from '@components/BaseNav/PublicBounced/PublicBounced'
-
-// import PublicBounced from '@components/BaseNav/PublicBounced/PublicBounced'
export default {
name: 'MapTemplate',
components: {
@@ -118,6 +115,28 @@
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)
+ },
+ // isShowHidden () {
+ // this.isShowBtn = !this.isShowBtn
+ // },
saveMapStatus () {
window.serviceLayerHelper = this.serviceLayerHelper
this.$store.commit('setMapObj', this.map)
@@ -144,6 +163,7 @@
// this.ChangeState()
// this.AddGasHelper()
+ // this.ChangeWaterState()
this.saveMapStatus()
// this.setMapObj(this.mapObj)
@@ -206,6 +226,13 @@
z-index: 999;
}
+.Waste-water {
+ position: absolute;
+ top: 88px;
+ left: 280px;
+ z-index: 999;
+}
+
.full-screen {
width: 100%;
height: 100%;
@@ -235,5 +262,16 @@
.leaflet-custom-icon {
background: white;
}
+
+ .leaflet-marker-icon {
+ background: none;
+ }
+
+ #migic {
+ width: 48px;
+ height: 48px;
+ margin: -18px -20px;
+ z-index: 999;
+ }
}
</style>
--
Gitblit v1.8.0