派生自 wuyushui/SewerAndRainNetwork

yangdelong
2021-05-30 4adfa4774e09f3b388335bb8dee5dea518856e5b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
/**
 * 废气
 */
const AnimalService = require('../service/AnimalService').default
// const AjaxUtils = require('../../../utils/AjaxUtils').default
// 公共方法 panTo() 引用
const { setPanTo } = require('../../../utils/utils')
// 区分不同类型 使用不同img
// const ImgBlue = '/assets/images/map/exhaust/fq_blue.png'
// const ImgGray = '/assets/images/map/exhaust/fq_gray.png'
const ImagGreen = '/assets/images/map/exhaust/fq_green2.png'
// const ImagBright = '/assets/images/map/exhaust/fq_bright_green.png'
 
const mapApi = require('../../../api/mapApi').default
// const publicBounced = require('../../base-page/PublicBounced/PublicBounced').default
const WasteGasIndex = require('../../base-page/WasteGas/WasteGasIndex').default
// const WasteGasChats = require('./WasteGasChats').default
module.exports = function () {
  /**
   * 返回marker对象数组
   * @param L leaflet对象
   */
  this.init = async (layer, L) => {
    // console.log(WasteGasChats)
    this.animalService = new AnimalService({
      L: L,
      layer: layer
    })
    const param = {
      companyId: 3900100145, // 企业编码
      id: '',
      monType: 2, // 废气
      userCode: 'wenchun.deng', // 用户名称
      monDuration: '',
      epName: '',
      secdDeptId: '',
      contrLevel: '',
      dataStatus: '',
      dataFlag: '',
      runStatus: '',
      emissTypeId: ''
    }
    const res = await mapApi.getWasteGas(param)
    const data = res.Result.DataInfo || {}
    for (let i = 0; i < data.length; i++) {
      // 经纬度 位置
      const positionX = data[i].Latitude
      const positionY = data[i].Longitude
      // 定义类型 用来区分数据
      const ContrLevel = data[i].ContrLevel
      var iconUrl = this.differentTypes(ContrLevel)
      const marker = L.marker([positionX, positionY], {
        test: data[i],
        icon: L.icon({
          iconUrl: iconUrl,
          iconSize: [30, 30],
          iconAnchor: [15, 15]
        })
      })
      layer.addLayer(marker)
      // layer.addLayer(L.marker([positionX, positionY], {}))
    }
  }
 
  this.bindTooltip = (layer) => {
    return '<div class="company-bindTooltip-hover"><h3>天津石化</h3></div>' + layer.options.test.Name
  }
 
  this.clickListener = async (e) => {
    // console.log(e)
    this.animalService.pulseEffect(e.latlng)
    setPanTo(e.latlng, 200)
    const title = e.layer.options.test.Name
    const res = e.layer.options.test
    window.$layer.open({
      content: {
        comp: WasteGasIndex, // 组件
        parent: this, // 父组件
        data: { // 传递的参数
          storagePlaceId: res
        }
      },
      title: '天津石化' + title // 标题
    })
  }
  // 不同类型图片加载
  this.differentTypes = (ContrLevel) => {
    var effectOfChange
    /*
     if (ContrLevel === 1) {
       effectOfChange = ImgBlue
     } else if (ContrLevel === 2) {
    */
    effectOfChange = ImagGreen
    // } else if (ContrLevel === 3) {
    //   effectOfChange = ImagBright
    // } else {
    //   effectOfChange = ImgGray
    // }
    return effectOfChange
  }
}