派生自 wuyushui/SewerAndRainNetwork

chenzeping
2021-03-29 8792f905ede68bb1161a1c90948df937861481ad
Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop

 Conflicts:
 src/views/MapTemplate.vue
2个文件已删除
9个文件已添加
6个文件已修改
1 文件已重命名
738 ■■■■ 已修改文件
src/components/LayerController/logic/Sample.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/modules/LcServiceLayer.vue 240 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/service/BusiLayerService.js 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/service/LayerFactory.js 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/service/PopupService.js 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/service/WfsLayerService.js 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/service/WmsLayerService.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/SewersSearch.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/Constants.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/LayerWasteWater.js 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/Layers.js 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/MapConfig.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerSewers.js 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerSolidWaste.js 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerWasteGas.js 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerWasteWater.js 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/AjaxUtils.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/MapTemplate.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/logic/Sample.js
New file
@@ -0,0 +1,9 @@
module.exports = function () {
  this.init = (layer) => {
    console.log('sample init !!!')
  }
  this.clickListener = (list) => {
    console.log('sample clickListener !!!')
  }
}
src/components/LayerController/modules/LcServiceLayer.vue
@@ -1,134 +1,134 @@
<template>
    <div class="inner-panel">
<!--        <div class="title">-->
<!--            图层控制-->
<!--        </div>-->
<!--        <div class="wms-panel">-->
<!--            <div v-for="item in serviceLayers" :key="item.code" class="layerbox">-->
<!--                <div><input type="checkbox" :name="'wmsLayer_'+item.code" :checked="item.checked" :value="item.code"-->
<!--                            @change="swAllLayers(item)"/>{{ item.name }} <span @click="swFilter(item)"-->
<!--                                                                               class="btn-filter">过滤</span>-->
<!--                </div>-->
<!--                <div class="layerbox-item">-->
<!--                    <div class="basemap-layer-item" v-for="itm in item.layers" :key="itm.code"><input type="checkbox"-->
<!--                                                                                                      :name="'wmsSublayers_'+item.code+'_'+itm.code"-->
<!--                                                                                                      :checked="itm.checked"-->
<!--                                                                                                      :value="itm.code"-->
<!--                                                                                                      @change="swWmsLayer(item.url,itm)"/>{{-->
<!--                        itm.name }}-->
<!--                    </div>-->
<!--                </div>-->
<!--            </div>-->
<!--        </div>-->
<!--        <lc-service-layer-filter v-if="layerFilterVisible" ref="serviceLayerFilter"></lc-service-layer-filter>-->
        <div class="title">
            图层控制
        </div>
        <div class="wms-panel">
            <div v-for="item in serviceLayers" :key="item.code" class="layerbox">
                <div><input type="checkbox" :name="'wmsLayer_'+item.code" :checked="item.checked" :value="item.code"
                            @change="swAllLayers(item)"/>{{ item.name }} <span @click="swFilter(item)"
                                                                               class="btn-filter">过滤</span>
                </div>
                <div class="layerbox-item">
                    <div class="basemap-layer-item" v-for="itm in item.layers" :key="itm.code"><input type="checkbox"
                                                                                                      :name="'wmsSublayers_'+item.code+'_'+itm.code"
                                                                                                      :checked="itm.checked"
                                                                                                      :value="itm.code"
                                                                                                      @change="swWmsLayer(itm)"/>{{
                        itm.name }}
                    </div>
                </div>
            </div>
        </div>
        <lc-service-layer-filter v-if="layerFilterVisible" ref="serviceLayerFilter"></lc-service-layer-filter>
    </div>
</template>
<!--<script>-->
<!--import WfsHelper from '../../helpers/WfsHelper'-->
<!--import LcServiceLayerFilter from '@components/LayerController/modules/LcServiceLayerFilter'-->
<!--import AjaxUtils from '../../../utils/AjaxUtils'-->
<script>
import WfsHelper from '../../helpers/WfsHelper'
import LcServiceLayerFilter from '@components/LayerController/modules/LcServiceLayerFilter'
import AjaxUtils from '../../../utils/AjaxUtils'
<!--export default {-->
<!--  name: 'LcServiceLayer',-->
<!--  components: { LcServiceLayerFilter },-->
<!--  data () {-->
<!--    return {-->
<!--      layerFilterVisible: false-->
<!--    }-->
<!--  },-->
<!--  computed: {-->
<!--    serviceLayers () {-->
<!--      return this.$store.state.map.serviceLayers.LayerSewersLine-->
<!--    }-->
<!--  },-->
<!--  mounted () {-->
<!--    // console.log('03步骤:', this.helper)-->
<!--    this.updateServiceLayerList()-->
<!--  },-->
<!--  methods: {-->
<!--    swAllLayers (item) {-->
<!--      // eslint-disable-next-line no-debugger-->
<!--      item.checked = !item.checked-->
<!--      for (let i = 0, len = item.layers.length; i < len; ++i) {-->
<!--        item.layers[i].checked = item.checked-->
<!--      }-->
<!--      this.updateWms()-->
<!--    },-->
<!--    loadWfs () {-->
<!--      var wfsHelper = new WfsHelper()-->
<!--      wfsHelper.addTypeName('管线点')-->
<!--      wfsHelper.addEquals('pipename', '研究院01路YS000001')-->
export default {
  name: 'LcServiceLayer',
  components: { LcServiceLayerFilter },
  data () {
    return {
      layerFilterVisible: false
    }
  },
  computed: {
    serviceLayers () {
      return this.$store.state.map.serviceLayers.LayerSewersLine
    }
  },
  mounted () {
    // console.log('03步骤:', this.helper)
    this.updateServiceLayerList()
  },
  methods: {
    swAllLayers (item) {
      // eslint-disable-next-line no-debugger
      item.checked = !item.checked
      for (let i = 0, len = item.layers.length; i < len; ++i) {
        item.layers[i].checked = item.checked
      }
      this.updateWms()
    },
    loadWfs () {
      var wfsHelper = new WfsHelper()
      wfsHelper.addTypeName('管线点')
      wfsHelper.addEquals('pipename', '研究院01路YS000001')
<!--      AjaxUtils.GetDataAsynByUrl(wfsHelper.getUrl(), {}, (res) => {-->
<!--        console.log(res)-->
<!--      })-->
<!--    },-->
<!--    swWmsLayer (url, itm) {-->
<!--      itm.checked = !itm.checked-->
<!--      if (itm.checked) {-->
<!--        window.serviceLayerHelper.loadGeojsonLayer(url, itm)-->
<!--      } else {-->
<!--        window.serviceLayerHelper.removeLayer(itm)-->
<!--      }-->
<!--      // this.updateWms()-->
<!--    },-->
<!--    swFilter (item) {-->
<!--      this.layerFilterVisible = !this.layerFilterVisible-->
<!--    },-->
<!--    updateServiceLayerList () {-->
      AjaxUtils.GetDataAsynByUrl(wfsHelper.getUrl(), {}, (res) => {
        console.log(res)
      })
    },
    swWmsLayer (itm) {
      itm.checked = !itm.checked
      if (itm.checked) {
        window.layerFactory.show(itm.code)
      } else {
        window.layerFactory.hide(itm.code)
      }
      // this.updateWms()
    },
    swFilter (item) {
      this.layerFilterVisible = !this.layerFilterVisible
    },
    updateServiceLayerList () {
<!--    },-->
<!--    updateWms () {-->
<!--      var mapConfig = this.mapConfig-->
<!--      var wmsHelper = new WfsHelper()-->
<!--      wmsHelper.initMapConfig(mapConfig)-->
<!--      var wmsLayersMap = wmsHelper.getWmsLayersMap()-->
<!--      for (var k in wmsLayersMap) {-->
<!--        var layers = wmsLayersMap[k]-->
<!--        var tileLayer = window.serviceLayerHelper.getTileLayer(k)-->
<!--        if (tileLayer) {-->
<!--          tileLayer.setParams({ layers: layers.join(',') }, false)-->
<!--          tileLayer.setUrl(tileLayer.config.url, false)-->
<!--        }-->
<!--      }-->
<!--    }-->
<!--  }-->
<!--}-->
<!--</script>-->
    },
    updateWms () {
      var mapConfig = this.mapConfig
      var wmsHelper = new WfsHelper()
      wmsHelper.initMapConfig(mapConfig)
      var wmsLayersMap = wmsHelper.getWmsLayersMap()
      for (var k in wmsLayersMap) {
        var layers = wmsLayersMap[k]
        var tileLayer = window.serviceLayerHelper.getTileLayer(k)
        if (tileLayer) {
          tileLayer.setParams({ layers: layers.join(',') }, false)
          tileLayer.setUrl(tileLayer.config.url, false)
        }
      }
    }
  }
}
</script>
<!--<style scoped lang="less">-->
<!--    .inner-panel {-->
<!--        .title{-->
<!--            color: #ffffff;-->
<!--            font-size: 16px;-->
<!--            font-weight: 600;-->
<!--            margin: 10px;-->
<!--            text-align: center;-->
<!--        }-->
<!--        .btn-filter {-->
<!--            cursor: pointer;-->
<!--            color: #ffffff;-->
<!--        }-->
<style scoped lang="less">
    .inner-panel {
        .title{
            color: #ffffff;
            font-size: 16px;
            font-weight: 600;
            margin: 10px;
            text-align: center;
        }
        .btn-filter {
            cursor: pointer;
            color: #ffffff;
        }
<!--        .wms-panel {-->
<!--            width: 250px;-->
        .wms-panel {
            width: 250px;
<!--            .layerbox {-->
<!--                width: 100%;-->
            .layerbox {
                width: 100%;
<!--                .layerbox-item {-->
<!--                    display: flex;-->
<!--                    flex-flow: row wrap;-->
<!--                    margin-left: 15px;-->
<!--                    margin-top: 5px;-->
                .layerbox-item {
                    display: flex;
                    flex-flow: row wrap;
                    margin-left: 15px;
                    margin-top: 5px;
<!--                    .basemap-layer-item {-->
<!--                        width: 50%;-->
<!--                    }-->
<!--                }-->
<!--            }-->
<!--        }-->
<!--    }-->
                    .basemap-layer-item {
                        width: 50%;
                    }
                }
            }
        }
    }
<!--</style>-->
</style>
src/components/LayerController/service/BusiLayerService.js
New file
@@ -0,0 +1,32 @@
/**
 * 加载业务数据图层
 */
import { logicMapper } from '@src/conf/Constants'
class BusiLayerService {
  constructor (config) {
    this.L = window.L
    this.map = window.map
    this.config = config
  }
  init (layer) {
    // 引入 关联的js,在constant.js中根据config配置的id得到处理js
    const id = this.config.code
    console.log(logicMapper)
    const file = logicMapper[id]
    if (!file) {
      console.log('找不到逻辑处理js!!!')
    } else {
      console.log('-----' + file)
      var BusiLayer = require('../logic/' + file)
      console.log(BusiLayer)
      var busiLayer = new BusiLayer()
      // 调用init
      busiLayer.init(layer)
      // 调用click事件
    }
  }
}
export default BusiLayerService
src/components/LayerController/service/LayerFactory.js
New file
@@ -0,0 +1,88 @@
import store from '@/store'
import WfsLayerService from './WfsLayerService'
import BusiLayerService from './BusiLayerService'
import WmsLayerService from './WmsLayerService'
class LayerFactory {
  constructor (options) {
    this.L = options.L
    this.map = window.map
    this.layers = {}
  }
  createLayerGroup () {
    return this.L.layerGroup().addTo(this.map)
  }
  init () {
    // 1. 遍历layer config
    var layerConfig = store.state.map.serviceLayers.LayerSewersLine
    for (var i = 0, l = layerConfig.length; i < l; i++) {
      var config = layerConfig[i]
      var layers = config.layers
      for (var j = 0; j < layers.length; j++) {
        var childConfig = layers[j]
        var code = childConfig.code
        var wfs = childConfig.wfs
        var wms = childConfig.wms
        var url = childConfig.url
        // 判断是否已经加载过,加载过就 忽略掉
        const layer = this.layers[code]
        if (!layer) {
          const newLayer = this.createLayerGroup()
          this.layers[code] = newLayer
          // 2. 判断类型
          if (wfs) {
            // 3. 实例化具体service
            // var busiLayerService = new BusiLayerService()
            // busiLayerService.init()
            var wfsLayerService = new WfsLayerService(childConfig)
            wfsLayerService.init(newLayer)
          }
          if (wms) {
            var wmsLayerService = new WmsLayerService(childConfig)
            wmsLayerService.init(newLayer)
          }
          // 请求业务数据接口
          if (url) {
            var busiLayerService = new BusiLayerService(childConfig)
            busiLayerService.init(newLayer)
          }
        } else {
          this.show(code)
        }
      }
    }
  }
  show (code) {
    var _layer = this.layers[code].addTo(this.map)
    this.setZIndex(_layer)
  }
  hide (code) {
    var layer = this.layers[code]
    layer && this.map.removeLayer(layer)
  }
  toggle (code) {
  }
  /**
   * 设置index,线在最下面,点在上面
   * @param layerGroup 图层组
   */
  setZIndex (layerGroup) {
    var layers = layerGroup.getLayers()
    if (layers.length > 0) {
      var layer = layers[0]
      if (layer.feature && (layer.feature.geometry.type === 'LineString' || layer.feature.geometry.type === 'MultiLineString')) {
        layerGroup.bringToBack()
      } else {
        layerGroup.bringToFront()
      }
    }
  }
}
export default LayerFactory
src/components/LayerController/service/PopupService.js
src/components/LayerController/service/WfsLayerService.js
New file
@@ -0,0 +1,119 @@
/**
 * 加载业务数据图层
 */
import styles from '../../../conf/Styles'
import AjaxUtils from '../../../utils/AjaxUtils'
class WfsLayerService {
  constructor (config) {
    this.config = config
    this.params = {
      version: '1.0.0',
      REQUEST: 'getfeature',
      OUTPUTFORMAT: 'json',
      maxFeatures: 20000
    }
    this.popupComp = window.popupComp
    this.L = window.L
    this.map = window.map
    this.regex = /\{(.+?)\}/g // 匹配{}
  }
  init (layer) {
    const wfsUrl = this.config.wfs
    if (wfsUrl) {
      AjaxUtils.get4JsonDataByUrl(wfsUrl, this.params, (res) => this.draw(layer, res.data.features))
    }
  }
  draw (layer, features) {
    const icon = this.config.icon
    const geojson = this.L.geoJSON(features, {
      style: function (feature) {
        return {
          fill: styles.defaultLineStyle.fill,
          weight: styles.defaultLineStyle.weight,
          fillColor: styles.defaultLineStyle.fillColor,
          color: styles.defaultLineStyle.color,
          fillOpacity: styles.defaultLineStyle.fillOpacity,
          opacity: styles.defaultLineStyle.opacity,
          dashArray: styles.defaultLineStyle.dashArray,
          dashSpeed: styles.defaultLineStyle.dashSpeed
        }
      },
      pointToLayer: (geoJsonPoint, latlng) => {
        return this.L.canvasMarker(latlng,
          {
            img: {
              // url: 'assets/images/map/marker-icon.png',
              url: '/assets/images/map/' + icon,
              size: styles.defaultLineStyle.size
            }
          })
      },
      onEachFeature: (feature, layer) => {
        layer.bindPopup((layer) => {
          this.popupComp.setDatas(layer)
          this.popupComp.setShow()
          return this.popupComp.$el
        }, {
          className: 's-map-popup',
          minWidth: 300,
          closeButton: false,
          autoClose: false
        })
          .bindTooltip((layer) => this.tooltipListener(layer), { direction: 'bottom', offset: [0, 15], sticky: true })
          .on('mouseover', (e) => this.mouseOverListener(e, layer)).on('mouseout', (e) => this.mouseOutListener(e, layer))
      }
    }).addTo(layer)
    return geojson
  }
  mouseOverListener (e, layer) {
    const icon = this.config.icon
    const type = e.target.feature.geometry.type
    if (type === 'LineString' || type === 'MultiLineString') {
      layer.setStyle({ weight: 8, color: '#00ffff' })
    } else if (type === 'Point' || type === 'MultiPoint') {
      layer.setStyle({
        img: {
          url: '/assets/images/map/' + icon,
          size: [25, 25]
        }
      })
      layer.bringToFront()
    }
  }
  mouseOutListener (e, layer) {
    const icon = this.config.icon
    const type = e.target.feature.geometry.type
    if (type === 'LineString' || type === 'MultiLineString') {
      layer.setStyle({ weight: styles.defaultLineStyle.weight, color: styles.defaultLineStyle.color })
    }
    if (type === 'Point' || type === 'MultiPoint') {
      layer.setStyle({
        img: {
          url: '/assets/images/map/' + icon,
          size: styles.defaultLineStyle.size
        }
      })
    }
  }
  tooltipListener (layer) {
    const nameId = layer.feature.id
    let name = ''
    if (nameId.indexOf('三通') !== -1 || nameId.indexOf('四通') !== -1 || nameId.indexOf('窨井') !== -1) {
      name = layer.feature.properties.pointnumber
    } else {
      name = layer.feature.properties.name
    }
    if (name === undefined) {
      name = ''
    }
    return name
  }
}
export default WfsLayerService
src/components/LayerController/service/WmsLayerService.js
New file
@@ -0,0 +1,11 @@
class WfsLayerService {
  constructor (config) {
    this.config = config
  }
  init () {
  }
}
export default WfsLayerService
src/components/panel/topicSearch/SewersSearch.vue
@@ -101,7 +101,7 @@
</template>
<script>
import { PipelineTypeOptions } from '@/conf/LayerSewers'
import { PipelineTypeOptions } from '@/conf/layers/LayerSewers'
import WfsHelper from '@components/helpers/WfsHelper'
import AjaxUtils from '@utils/AjaxUtils'
src/conf/Constants.js
@@ -4,6 +4,12 @@
  POLYGON: 'polygon'
}
export const logicMapper = {
  fsqy: 'Sample.js',
  fspfk: 'Sample.js',
  fsjcd: 'Sample.js'
}
export const props = {
  pipename: '管线名称',
  pipecode: '管线编码',
src/conf/LayerWasteWater.js
File was deleted
src/conf/Layers.js
File was deleted
src/conf/MapConfig.js
@@ -1,7 +1,9 @@
import * as L from 'leaflet'
import TDT from './TDT'
import { LayerSewersLine, LayerSewersPoint } from './LayerSewers'
import { LayerWasteWater } from './LayerWasteWater'
import { LayerSewersLine, LayerSewersPoint } from './layers/LayerSewers'
import { LayerWasteWater } from './layers/LayerWasteWater'
import { LayerSolidWaste } from './layers/LayerSolidWaste'
import { LayerWasteGas } from './layers/LayerWasteGas'
const curWwwPath = window.document.location.href
const pathname = window.document.location.pathname
@@ -40,7 +42,7 @@
  IntranetBaseMaps: TDT.intranet,
  InternetBaseMaps: TDT.internet,
  Layers: {
    LayerSewersLine: [LayerSewersLine, LayerWasteWater],
    LayerSewersLine: [LayerSewersLine, LayerWasteWater, LayerWasteWater, LayerWasteGas, LayerSolidWaste],
    layerSewersPoint: LayerSewersPoint
  } // 污雨水图层配置
}
src/conf/layers/LayerSewers.js
File was renamed from src/conf/LayerSewers.js
@@ -1,13 +1,11 @@
const APP_GIS_HOST_2 = 'http://xearth.cn:8088'
const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs'
// const APP_GIS_HOST_2 = 'http://localhost:3000'
// const APP_GIS_HOST_2 = 'http://192.168.31.226:8088'
export const LayerSewersLine = {
  code: 'pipeline',
  name: '管网数据',
  type: 'geojson',
  // url: APP_GIS_HOST_2 + '/server/ogcserver/PipeLineTest/wms?version=1.1.1',
  // url: APP_GIS_HOST_2 + '/layer/findLayer?layerName={sname}',
  url: APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs?version=1.0.0&TYPENAME={sname}&REQUEST=getfeature&OUTPUTFORMAT=json&maxFeatures=20000',
  checked: true,
  layers: [
    {
@@ -15,7 +13,7 @@
      name: '雨水线',
      sname: '管网', // 表名
      checked: true, // 默认选中状态
      filter: {},
      wfs: WFS_URL + '?TYPENAME=管网',
      minZoom: 10, // 在指定级别显示
      childLayer: 'fsss,hbss' // 关联PointLayers
    },
@@ -24,7 +22,7 @@
      name: '含油污水线',
      sname: '含油污水',
      checked: true, // 默认选中状态
      filter: {},
      wfs: WFS_URL + '?TYPENAME=含油污水',
      minZoom: 10,
      childLayer: 'fsss,hbss' // 关联PointLayers
    },
@@ -33,7 +31,7 @@
      name: '含盐污水线',
      sname: '含盐污水',
      checked: true, // 默认选中状态
      filter: {},
      wfs: WFS_URL + '?TYPENAME=含盐污水',
      minZoom: 10,
      childLayer: 'fsss,hbss' // 关联PointLayers
    },
@@ -42,7 +40,7 @@
      name: '含碱污水线',
      sname: '含碱污水',
      checked: true, // 默认选中状态
      filter: {},
      wfs: WFS_URL + '?TYPENAME=含碱污水',
      minZoom: 10,
      childLayer: 'fsss,hbss' // 关联PointLayers
    },
@@ -51,7 +49,7 @@
      name: '排口',
      sname: '排口',
      checked: true, // 默认选中状态
      filter: {},
      wfs: WFS_URL + '?TYPENAME=排口',
      minZoom: 10,
      childLayer: 'pk' // 关联PointLayers
    },
@@ -60,7 +58,7 @@
      name: '事故水线',
      sname: '事故水',
      checked: true, // 默认选中状态
      filter: {},
      wfs: WFS_URL + '?TYPENAME=事故水',
      minZoom: 10,
      childLayer: 'fsss,hbss' // 关联PointLayers
    },
@@ -69,7 +67,7 @@
      name: '循环水线',
      sname: '循环水',
      checked: true, // 默认选中状态
      filter: {},
      wfs: WFS_URL + '?TYPENAME=循环水',
      minZoom: 10,
      childLayer: 'fsss,hbss' // 关联PointLayers
    },
@@ -78,7 +76,7 @@
      name: '净化水线',
      sname: '净化水',
      checked: true, // 默认选中状态
      filter: {},
      wfs: WFS_URL + '?TYPENAME=净化水',
      minZoom: 10,
      childLayer: 'fsss,hbss' // 关联PointLayers
    },
@@ -87,7 +85,7 @@
      name: '生活污水',
      sname: '生活污水',
      checked: true, // 默认选中状态
      filter: {},
      wfs: WFS_URL + '?TYPENAME=生活污水',
      minZoom: 10,
      childLayer: 'fsss,hbss' // 关联PointLayers
    },
src/conf/layers/LayerSolidWaste.js
New file
@@ -0,0 +1,27 @@
/**
 * 固废图层
 * @type {string}
 */
export const LayerSolidWaste = {
  code: 'solidWaste',
  name: '废气',
  checked: true,
  layers: [
    {
      code: 'solidWasteQy',
      name: '企业',
      sname: '企业', // 表名
      checked: true, // 默认选中状态
      url: 'http://www.baidu.com', // 请求业务数据接口
      minZoom: 10 // 在指定级别显示
    },
    {
      code: 'solidWasteJcd',
      name: '监测点',
      sname: '监测点',
      checked: true, // 默认选中状态
      url: 'http://www.baidu2.com',
      minZoom: 10
    }
  ]
}
src/conf/layers/LayerWasteGas.js
New file
@@ -0,0 +1,51 @@
/**
 * 废气图层
 * @type {string}
 */
export const LayerWasteGas = {
  code: 'wasteGas',
  name: '废气',
  checked: true,
  layers: [
    {
      code: 'wasteGasQy',
      name: '企业',
      sname: '企业', // 表名
      checked: true, // 默认选中状态
      url: 'http://www.baidu.com', // 请求业务数据接口
      minZoom: 10 // 在指定级别显示
    },
    {
      code: 'wasteGasJcd',
      name: '监测点',
      sname: '监测点',
      checked: true, // 默认选中状态
      url: 'http://www.baidu2.com',
      minZoom: 10
    },
    {
      code: 'wasteGasVocs',
      name: 'VOCs',
      sname: 'VOCs',
      checked: true, // 默认选中状态
      url: '',
      minZoom: 10
    },
    {
      code: 'wasteGasKrq',
      name: '可燃气',
      sname: '可燃气',
      checked: true, // 默认选中状态
      url: '',
      minZoom: 10
    },
    {
      code: 'wasteGasYhq',
      name: '有害气',
      sname: '有害气',
      checked: true, // 默认选中状态
      url: '',
      minZoom: 10
    }
  ]
}
src/conf/layers/LayerWasteWater.js
New file
@@ -0,0 +1,37 @@
/**
 * 废水图层
 * @type {string}
 */
export const LayerWasteWater = {
  code: 'pipeline',
  name: '废水',
  checked: true,
  layers: [
    {
      code: 'fsqy',
      name: '企业',
      sname: '企业', // 表名
      checked: true, // 默认选中状态
      url: 'http://www.baidu.com', // 请求业务数据接口
      minZoom: 10 // 在指定级别显示
    },
    {
      code: 'fsjcd',
      name: '监测点',
      sname: '监测点',
      checked: true, // 默认选中状态
      url: 'http://www.baidu2.com',
      minZoom: 10,
      childLayer: 'fsss,hbss' // 关联PointLayers
    },
    {
      code: 'fspfk',
      name: '排放口',
      sname: '排放口',
      checked: true, // 默认选中状态
      url: '',
      minZoom: 10,
      childLayer: 'fsss,hbss' // 关联PointLayers
    }
  ]
}
src/utils/AjaxUtils.js
@@ -33,7 +33,7 @@
  axios({
    method: 'get',
    url: pUrl,
    data: pData
    params: pData
  }).then(function (response) {
    pBackFun(response)
  })
src/views/MapTemplate.vue
@@ -144,12 +144,17 @@
      this.map = Sgis.initMap(mapcontainer)
      this.$refs.toolBox.map = this.map
      window.popupComp = this.$refs.popup
      var layerFactory = new LayerFactory({ L: window.L, map: this.map })
      layerFactory.init()
      window.layerFactory = layerFactory
      this.basemapHelper = Sgis.initBasemapsHelper(this.map) // 初始化基础底图助手
      this.basemapHelper.initBasemap(this.config, false) // 第二个参数,表示是否内网底图
      this.serviceLayerHelper = Sgis.initTileLayersHelper(this.map) // 初始化业务底图助手
      console.log('-------' + this.$refs.popup.$el)
      this.serviceLayerHelper.initServiceLayers(this.config, this.$refs.popup)
      // this.serviceLayerHelper = Sgis.initTileLayersHelper(this.map) // 初始化业务底图助手
      // console.log('-------' + this.$refs.popup.$el)
      // this.serviceLayerHelper.initServiceLayers(this.config, this.$refs.popup)
      this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.map) // 初始化动态要素图层助手
      this.vectorLayerHelper.initVectorLayers(this.config)