/**
|
* 废水
|
*/
|
const AnimalService = require('../service/AnimalService').default
|
const mapApi = require('../../../api/mapApi').default
|
// 弹窗数据引进
|
const publicBounced = require('../../BaseNav/PublicBounced/PublicBounced').default
|
|
const NormalImg = '/assets/images/map/wastewater/fs_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_yellow.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], {
|
test: data[i],
|
icon: L.icon({
|
iconUrl: iconUrl,
|
iconSize: [35, 35],
|
iconAnchor: [18, 18]
|
})
|
})
|
layer.addLayer(marker)
|
}
|
}
|
|
this.bindTooltip = (layer) => {
|
return layer.options.test.Name
|
}
|
|
this.clickListener = async (e) => {
|
// console.log(e)
|
this.animalService.pulseEffect(e.latlng)
|
const dataValue = {
|
StoragePlaceId: e.layer.options.test.StoragePlaceId
|
}
|
const hourValue = {
|
onLineMonEmissPointId: '23',
|
monItemId: '28,31',
|
beginTime: '2020-04-06 15:13:20',
|
endTime: '2020-04-07 15:13:20',
|
dataType: '2'
|
}
|
const dateValue = {
|
onLineMonEmissPointId: '23',
|
monItemId: '28,31',
|
beginTime: '2020-04-06',
|
endTime: '2020-04-07',
|
dataType: '1'
|
}
|
const hourData = await mapApi.getQueryOnlineMonData(hourValue)
|
const dateData = await mapApi.getQueryOnlineMonData(dateValue)
|
console.log(dateData)
|
// const drawback = await mapApi.getWasteWaterMonitoring()
|
// console.log(drawback)
|
const result = await mapApi.getWasteWaterMonitoringDetails(dataValue)
|
const PublicBounced = window.Vue.extend(publicBounced)
|
const instance = new PublicBounced()
|
instance.setWaterData(e.layer.options.test, result.Result.DataInfo, hourData.Result.DataInfo, dateData.Result.DataInfo, 'feishui')
|
// console.log(e.layer.options.test)
|
instance.$mount()
|
document.body.appendChild(instance.$el)
|
this.setPanTo(e.latlng, 80)
|
}
|
|
// 根据返回值的不同标记不同图片
|
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
|
}
|
this.setPanTo = (pos, value) => {
|
var position = pos
|
position = window.map.latLngToLayerPoint(position)
|
position.y += value
|
position = window.map.layerPointToLatLng(position)
|
window.map.flyTo(position)
|
}
|
}
|