/**
|
* 废水
|
*/
|
// import WasteWater from "../../table/components/WasteWater";
|
|
const AnimalService = require('../service/AnimalService').default
|
const mapApi = require('../../../api/mapApi').default
|
// 弹窗数据引进
|
const WasteWaterIndex = require('@components/BaseNav/WasteWater/WasteWaterIndex').default
|
// const publicBounced = require('../../BaseNav/PublicBounced/PublicBounced').default
|
|
const NormalImg = '/assets/images/map/wastewater/fs_bright_green.png' // 正常
|
const OffImg = '/assets/images/map/wastewater/fs_gray.png' // 停运
|
const AbnormalImg = '/assets/images/map/wastewater/fs_blue.png' // 异常
|
const MissImg = '/assets/images/map/wastewater/fs_bright_green.png' // 缺失
|
const AlarmImg = '/assets/images/map/wastewater/fs_red.png' // 报警闪烁
|
const WarnImg = '/assets/images/map/wastewater/fs_orange.png' // 预警闪烁
|
|
module.exports = function () {
|
/**
|
* 返回marker对象数组
|
* @param L leaflet对象
|
*/
|
this.init = async (layer, L) => {
|
this.animalService = new AnimalService({
|
L: L,
|
layer: layer
|
})
|
const res = await mapApi.getWasteWater()
|
const data = res.Result.DataInfo || {}
|
for (let i = 0; i < data.length; i++) {
|
// 经纬度 位置
|
const positionX = data[i].Latitude
|
const positionY = data[i].Longitude
|
|
// 定义类型 用来区分数据的不同
|
const testValue = data[i].ContrLevel
|
const iconUrl = this.differentTypes(testValue)
|
const marker = L.marker([positionX, positionY], {
|
totransferData: data[i],
|
icon: L.icon({
|
iconUrl: iconUrl,
|
iconSize: [35, 35],
|
iconAnchor: [15, 15]
|
})
|
})
|
layer.addLayer(marker)
|
}
|
}
|
|
// 分割线-------------------------------------------------------------------------------
|
this.bindTooltip = (layer) => {
|
return '<div class="company-bindTooltip-hover"><h3>天津石化</h3></div>' + layer.options.totransferData.Name
|
}
|
|
this.clickListener = (e) => {
|
// 点击marker的pulse()光波
|
this.animalService.pulseEffect(e.latlng)
|
// 弹框标题
|
const title = e.layer.options.totransferData.Name
|
const res = e.layer.options.totransferData
|
window.$layer.open({
|
content: {
|
content: WasteWaterIndex, // 组件
|
parent: this, // 父组件
|
data: { // 传递的参数
|
// info: this.info
|
storagePlaceId: res
|
}
|
},
|
title: title // 标题
|
})
|
this.setPanTo(e.latlng, 150)
|
}
|
this.requestWasteWaterData = async (e) => {
|
// 基本信息 和 详细信息 展示数据所需参数
|
// const dataValue = {
|
// StoragePlaceId: e.layer.options.test.StoragePlaceId
|
// }
|
// 弹框标题
|
// const title = e.layer.options.totransferData.Name
|
// console.log(e.layer.options)
|
// 基本信息 tabs
|
// const resultBasic = await mapApi.getWasteWater(dataValue)
|
// 图表信息展示 echarts
|
// 实时数据
|
// const resultReal = await mapApi.getDataItems(Value)
|
// 小时数据 及 明细表数据
|
// const result = await mapApi.getQueryOnlineMonData(dataValue)
|
// 日数据 及 明细表数据
|
// const result = await mapApi.getQueryOnlineMonData(dataValue)
|
// 人工数据
|
// const resultEchart = await mapApi.getQueryLabMonData(dataValue)
|
|
// // 绑定弹框实例
|
// const PublicBounced = window.Vue.extend(publicBounced)
|
// const instance = new PublicBounced().$mount()
|
// document.body.appendChild(instance.$el)
|
// // document.body.removeChild(instance.$el)
|
// // 通过方法 向绑定弹框传递数据
|
// instance.setData(title, resultBasic.Result.DataInfo, resultDetailed.Result.DataInfo, 'gufei')
|
/* flyTo()弹出框平移事件 */
|
}
|
|
// 根据返回值的不同标记不同图片
|
this.differentTypes = (testValue) => {
|
let testChange
|
switch (testValue) {
|
case 1:
|
testChange = NormalImg
|
break
|
case 2:
|
testChange = OffImg
|
break
|
case 3:
|
testChange = AbnormalImg
|
break
|
case 4:
|
testChange = MissImg
|
break
|
case 5:
|
testChange = NormalImg
|
break
|
case 6:
|
testChange = AlarmImg
|
break
|
case 7:
|
testChange = AbnormalImg
|
break
|
case 8:
|
testChange = WarnImg
|
break
|
}
|
return testChange
|
}
|
// flayTo() 弹框的可滑动事件
|
this.setPanTo = (pos, value) => {
|
var position = pos
|
position = window.map.latLngToLayerPoint(position)
|
position.y += value
|
position = window.map.layerPointToLatLng(position)
|
window.map.flyTo(position)
|
}
|
}
|