From bfd90be7b80fa5391681530c62e3761742879fcf Mon Sep 17 00:00:00 2001
From: 陈泽平 <chenzeping>
Date: 星期日, 30 五月 2021 14:54:09 +0800
Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop

---
 src/components/LayerController/logic/GovernEquipment.js |   93 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 93 insertions(+), 0 deletions(-)

diff --git a/src/components/LayerController/logic/GovernEquipment.js b/src/components/LayerController/logic/GovernEquipment.js
new file mode 100644
index 0000000..f5f174f
--- /dev/null
+++ b/src/components/LayerController/logic/GovernEquipment.js
@@ -0,0 +1,93 @@
+/**
+ * 姹℃煋婧�
+ */
+// 淇℃伅缁勪欢
+const GovernEquipmentIndex = require('../../base-page/RiskSource/RiskSourceIndex.vue').default
+// 浣跨敤灏佽鏂规硶
+const AnimalService = require('../service/AnimalService').default
+// 璇锋眰鎺ュ彛鏁版嵁
+const mapApi = require('../../../api/mapApi').default
+// 鍏叡鏂规硶 panTo() 寮曠敤
+const { setPanTo } = require('../../../utils/utils')
+
+const governGreen = '/assets/images/map/governEquipment/govern_green.png'
+
+module.exports = function () {
+  /**
+   * 鍒濆鍖栧苟鍔犺浇鍥惧眰
+   * @param L leaflet瀵硅薄
+   */
+  this.init = async (layer, L) => {
+    this.animalService = new AnimalService({
+      L: L,
+      layer: layer
+    })
+    const data = await mapApi.getGovernEquipment()
+    for (let i = 0; i < data.length; i++) {
+      const postion = [data[i].Latitude, data[i].Longitude] // 鍧愭爣
+      const iconUrl = this.governIconUrl(data[i].status) // 娌荤悊璁炬柦鍥炬爣
+      const marker = L.marker(postion, {
+        totransferData: data[i],
+        icon: L.icon({
+          iconUrl: iconUrl,
+          iconSize: [30, 30],
+          iconAnchor: [15, 15]
+        })
+      })
+      layer.addLayer(marker)
+    }
+  }
+
+  /**
+   * 鎻愮ず绐�
+   * @param layer
+   * @returns {string}
+   */
+  this.bindTooltip = (layer) => {
+    return layer.options.totransferData.governName
+  }
+
+  /**
+   * 淇℃伅寮圭獥
+   * @param e
+   */
+  this.clickListener = (e) => {
+    // 鑴夊啿鏁堟灉
+    this.animalService.pulseEffect(e.latlng)
+    // 淇℃伅寮圭獥骞崇Щ
+    setPanTo(e.latlng, 200)
+    // 寮规鏍囬
+    const title = e.layer.options.totransferData.Name
+    window.$layer.open({
+      content: {
+        comp: GovernEquipmentIndex, // 缁勪欢
+        parent: this, // 鐖剁粍浠�
+        data: { // 浼犻�掔殑鍙傛暟
+          riskSourceId: e.layer.options.totransferData.no
+        }
+      },
+      title: title // 鏍囬
+    })
+  }
+
+  /**
+   * 娌荤悊璁炬柦鍥炬爣閰嶇疆
+   * @param t
+   * @returns {string}
+   */
+  this.governIconUrl = (t) => {
+    let iconUrl = null
+    switch (t) {
+      case 1:
+        iconUrl = governGreen
+        break
+      case 2:
+        iconUrl = ''
+        break
+      default:
+        iconUrl = ''
+        break
+    }
+    return iconUrl
+  }
+}

--
Gitblit v1.8.0