派生自 wuyushui/SewerAndRainNetwork

chenzeping
2021-04-19 142720dc771df774b5531c0a2a3c448e214ecda6
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/**
 * 废气
 */
const AnimalService = require('../service/AnimalService').default
// const AjaxUtils = require('../../../utils/AjaxUtils').default
 
// 区分不同类型 使用不同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('../../BaseNav/PublicBounced/PublicBounced').default
const WasteGasIndex = require('../../BaseNav/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 res = await mapApi.getWasteGas()
    // console.log(res)
    const data = res.Result.DataInfo || {}
    // console.log(data)
    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.canvasMarker([positionX, positionY], {
      //   img: {
      //     // url: 'assets/images/map/marker-icon.png',
      //     url: iconUrl,
      //     size: STYLES.ICON_SIZE
      //   }
      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 layer.options.test.Name
  }
 
  this.clickListener = async (e) => {
    // console.log(e)
    this.animalService.pulseEffect(e.latlng)
    const dataValue = {
      StoragePlaceId: e.layer.options.test.StoragePlaceId
    }
    // console.log(e.layer.options.test.EpsGisMonPointId)
    const title = e.layer.options.test.Name
    const res = e.layer.options.test
    console.log(res)
    // const GasOnlinedata = {
    //   onLineMonEmissPointId: '23',
    //   monItemId: '28,31',
    //   beginTime: '2020-04-06 15:13:20',
    //   endTime: '2020-04-07 15:13:20',
    //   dataType: '1'
    // }
    // const GasManualData = {
    //   companyId: '3900100145',
    //   labMonPointId: '219',
    //   beginTime: '2020-04-06 15:13:20',
    //   endTime: ' 2020-04-07 15:13:20'
    // }
    // const ManualData = await mapApi.getWasteGasManualData(GasManualData)
    // console.log(ManualData)
    // const Mondata = await mapApi.getWasteGasMonData(GasOnlinedata)
    // // console.log(Mondata)
    const result = await mapApi.getWasteGasDetails(dataValue)
    console.log(result.Result.DataInfo)
    // const PublicBounced = window.Vue.extend(publicBounced)
    // const instance = new PublicBounced()
    // // console.log(e.layer.options.test)
    // instance.$mount()
    // document.body.appendChild(instance.$el)
    // instance.setGasData(e.layer.options.test, result.Result.DataInfo, Mondata.Result.DataInfo, ManualData.Result.DataInfo, 'feiqi')
    window.$layer.open({
      content: {
        content: WasteGasIndex, // 组件
        parent: this, // 父组件
        data: { // 传递的参数
          storagePlaceId: res
        }
      },
      title: title // 标题
    })
    // console.log(e.layer.options.totransferData.EpsGisMonPointId)
    this.setPanTo(e.latlng, 150)
    // console.log(e.latlng)
  }
  // 不同类型图片加载
  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
  }
  this.setPanTo = (pos, value) => {
    var position = pos
    position = window.map.latLngToLayerPoint(position)
    position.y += value
    position = window.map.layerPointToLatLng(position)
    window.map.flyTo(position)
  }
}