派生自 wuyushui/SewerAndRainNetwork

chenyabin
2021-04-07 cd80929f0ae8882a98cfe3936b2a96bded1c12d8
Merge remote-tracking branch 'origin/develop' into develop
1个文件已添加
20个文件已修改
773 ■■■■■ 已修改文件
src/assets/css/map/map-panel-style.less 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue 162 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/PublicBounced.vue 80 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/logic/Company.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/logic/SolidWaste.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/logic/WasteGas.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/logic/WasteWater.js 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/modules/LcServiceLayerFilter.vue 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/Constants.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/LayerTopic.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/MapConfig.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerPollutionSources.js 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerSewers.js 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerWasteGas.js 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerWasteSolid.js 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerWasteWater.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/css/map/map-panel-style.less
@@ -294,6 +294,7 @@
}
.el-table td, .el-table th.is-leaf {
  border: none;
  font-size: 0.08rem;
}
.el-table .warning-row {
  background: #28304d;
src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue
@@ -1,33 +1,35 @@
<template>
    <div id="Tab">
        <div class="Infomation">
            <el-tag>氮氧化物 : 29.93 标准 : 100</el-tag>
            <el-tag>二氧化硫 : 17.34 标准 : 50</el-tag>
            <el-tag>烟尘 : 6.93 标准 : 30</el-tag>
            <el-tag>废气流量 : 120343.18</el-tag>
        </div>
      <div class="form-echrts">
        <div>
          <el-button size="mini" round @click="dialogVisible = true">明细表</el-button>
          <el-dialog  :visible.sync="dialogVisible"
                      :append-to-body="true"
                      width="68%"
                      center
                      v-dialogDrag
                      >
            <div class="el-dialog-div" style="height: 500px">
              <public-detailed-list v-bind="$attrs"></public-detailed-list>
            </div>
          </el-dialog>
        </div>
        <div style="width:750px;height:260px;" id="echarts" ref="main">
        </div>
  <div id="Tab">
    <div class="Infomation">
      <el-tag>氮氧化物 : 29.93 标准 : 100</el-tag>
      <el-tag>二氧化硫 : 17.34 标准 : 50</el-tag>
      <el-tag>烟尘 : 6.93 标准 : 30</el-tag>
      <el-tag>废气流量 : 120343.18</el-tag>
    </div>
    <div class="form-echrts">
      <div>
        <el-button size="mini" round @click="dialogVisible = true">明细表</el-button>
        <el-dialog :visible.sync="dialogVisible"
                   :append-to-body="true"
                   :title="this.$attrs.value==='feiqi'?this.$attrs.getWasteGasDetails[0].OnLineMonEmissPointName:this.$attrs.getWasteWaterMonitoringDetails[0].OnLineMonEmissPointName"
                   width="68%"
                   center
                   v-dialogDrag
        >
          <div class="el-dialog-div" style="height: 500px">
            <public-detailed-list v-bind="$attrs"></public-detailed-list>
          </div>
        </el-dialog>
      </div>
      <div style="width:100%;height:1.2rem;margin-top:-0.3rem;position:absolute;" id="echarts" ref="main">
      </div>
    </div>
  </div>
</template>
<script>
import PublicDetailedList from '@components/BaseNav/PublicBounced/GasComponents/PublicDetailedList'
export default {
  name: 'ECharts',
  components: {
@@ -200,50 +202,69 @@
    drawChart: function () {
      const myChart = this.$echarts.init(this.$refs.main)
      myChart.setOption(this.options)
      window.onresize = function () {
        var h1 = document.documentElement.clientHeight// 获取屏幕的高度
        if (h1 > 700) {
          myChart.getDom().style.height = 3 + 'rem'
          myChart.getDom().style.width = 6 + 'rem'
        } else {
          myChart.getDom().style.height = 3 + 'rem'
          myChart.getDom().style.width = 6 + 'rem'
        }
        myChart.resize()
      }
    }
  },
  mounted () {
    this.drawChart()
    const dataWatch = JSON.parse(JSON.stringify(this.$attrs.getWasteWaterMonitoring))
    console.log(dataWatch)
    for (var i = 0; i < dataWatch.length; i++) {
      this.dataDate.push(dataWatch[i].MonTimeStr.substring(10, 17))
    }
    console.log(this.dataDate)
    this.$nextTick(() => {
      this.drawChart()
      const dataWatch = JSON.parse(JSON.stringify(this.$attrs.getWasteWaterMonitoring))
      console.log(dataWatch)
      for (var i = 0; i < dataWatch.length; i++) {
        this.dataDate.push(dataWatch[i].MonTimeStr.substring(10, 17))
      }
      console.log(this.dataDate)
    })
  }
}
</script>
<style scoped lang="less">
    .Infomation {
        margin-left: 10px;
    }
#Tab {
  height: 3rem;
}
.Infomation {
  margin-left: 10px;
}
    .el-tag {
        height: 25px;
        line-height: 25px;
        margin-right: 10px;
        font-size: 10px;
        background-color: rgba(0, 255, 246, 0.14);
        color: #00d0f9;
        border: none;
        padding: 0 15px;
    }
    .form-echrts{
      width: 100%;
      height: 100%;
      border: 1px solid #396d83;
      //margin: 10px 10px 10px 10px;
      .el-dialog-div{
        //height: 50vh!important;
        overflow: auto;
        //overflow: hidden;
      }
      #echarts {
        margin: 0;
        padding: 0;
        //border: 1px solid #396d83;
        //margin: 10px 10px 10px 10px;
    }
.el-tag {
  height: 25px;
  line-height: 25px;
  margin-right: 10px;
  font-size: 10px;
  background-color: rgba(0, 255, 246, 0.14);
  color: #00d0f9;
  border: none;
  padding: 0 15px;
}
.form-echrts {
  width: 100%;
  height: 100%;
  border-top: 1px solid #396d83;
  //margin: 10px 10px 10px 10px;
  .el-dialog-div {
    //height: 50vh!important;
    overflow: auto;
    //overflow: hidden;
  }
  #echarts {
    margin: 0;
    padding: 0;
    height: 3rem;
    //border: 1px solid #396d83;
    //margin: 10px 10px 10px 10px;
  }
}
</style>
src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue
@@ -1,17 +1,17 @@
<template>
    <div class="win">
        <div class="border_corner border_corner_left_top"></div>
        <div class="border_corner border_corner_right_top"></div>
        <div class="border_corner border_corner_left_bottom"></div>
        <div class="border_corner border_corner_right_bottom"></div>
        <ul class="tab">
            <li @click='tabTaggle("ECharts")'>实时数据</li>
            <li @click='tabTaggle("ECharts")'>小时数据</li>
            <li @click='tabTaggle("ECharts")'>日数据</li>
            <li @click='tabTaggle("ECharts")'>人工数据</li>
        </ul>
        <component :is="currentTab" v-bind="$attrs"></component>
    </div>
  <div class="win">
    <div class="border_corner border_corner_left_top"></div>
    <div class="border_corner border_corner_right_top"></div>
    <div class="border_corner border_corner_left_bottom"></div>
    <div class="border_corner border_corner_right_bottom"></div>
    <ul class="tab">
      <li @click='tabTaggle("ECharts")'>实时数据</li>
      <li @click='tabTaggle("ECharts")'>小时数据</li>
      <li @click='tabTaggle("ECharts")'>日数据</li>
      <li @click='tabTaggle("ECharts")'>人工数据</li>
    </ul>
    <component :is="currentTab" v-bind="$attrs"></component>
  </div>
</template>
<script>
@@ -38,67 +38,77 @@
</script>
<style scoped>
    *{
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .win {
        position: relative;
        margin-bottom: 13px;
        background-color: rgba(33, 41, 69,0.9);
        border: 0.8px solid #396d83;
    }
    .border_corner{
        z-index: 999;
        position: absolute;
        width: 10px;
        height: 10px;
        background: rgba(0,0,0,0);
        border: 1.5px solid #47d5ea;
    }
    .border_corner_left_top{
        top: 0;
        left: 0;
        border-right: none;
        border-bottom: none;
    }
    .border_corner_right_top{
        top: 0;
        right: 0;
        border-left: none;
        border-bottom: none;
    }
    .border_corner_left_bottom{
        bottom: 0;
        left: 0;
        border-right: none;
        border-top: none;
    }
    .border_corner_right_bottom{
        bottom: 0;
        right: 0;
        border-left: none;
        border-top: none;
    }
    .tab{
        display: flex;
        border-bottom: 1px solid #396d83;
        margin-bottom: 10px;
    }
    li{
        background-color: #243a55;
        margin: 10px 10px 2px 10px;
        /*padding: 5px 10px;*/
        width: 90px;
        height: 25px;
        line-height: 25px;
        text-align: center;
        border-radius: 5px;
    }
    ul li:hover{
        background-color: #0e639e;
        color: #682000;
        cursor: pointer;
    }
* {
  margin: 0;
  padding: 0;
  list-style: none;
}
.win {
  position: relative;
  margin-bottom: 13px;
  background-color: rgba(33, 41, 69, 0.9);
  border: 0.8px solid #396d83;
  height: 1.5rem;
}
.border_corner {
  z-index: 999;
  position: absolute;
  width: 10px;
  height: 10px;
  background: rgba(0, 0, 0, 0);
  border: 1.5px solid #47d5ea;
}
.border_corner_left_top {
  top: 0;
  left: 0;
  border-right: none;
  border-bottom: none;
}
.border_corner_right_top {
  top: 0;
  right: 0;
  border-left: none;
  border-bottom: none;
}
.border_corner_left_bottom {
  bottom: 0;
  left: 0;
  border-right: none;
  border-top: none;
}
.border_corner_right_bottom {
  bottom: 0;
  right: 0;
  border-left: none;
  border-top: none;
}
.tab {
  display: flex;
  border-bottom: 1px solid #396d83;
  margin-bottom: 10px;
}
li {
  background-color: #243a55;
  margin: 10px 10px 2px 10px;
  /*padding: 5px 10px;*/
  width: 90px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  border-radius: 5px;
}
ul li:hover {
  background-color: #0e639e;
  color: #682000;
  cursor: pointer;
}
</style>
src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue
@@ -37,13 +37,13 @@
    }
  },
  mounted () {
    console.log('value')
    if (this.$attrs.getWasteGasDetails) {
    console.log(this.$attrs.value)
    if (this.$attrs.value === 'feiqi') {
      this.tableData = this.$attrs.getWasteGasDetails
      console.log(this.$attrs.getWasteGasDetails)
    } else if (this.$attrs.getWasteWaterMonitoringDetails) {
      // console.log(this.$attrs.getWasteGasDetails)
    } else if (this.$attrs.value === 'feishui') {
      this.tableData = this.$attrs.getWasteWaterMonitoringDetails
      console.log(this.$attrs.getWasteWaterMonitoringDetails)
      // console.log(this.$attrs.getWasteWaterMonitoringDetails)
    }
  }
}
src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue
@@ -8,9 +8,9 @@
    <div class="main">
      <div class="main-table">
        <el-table :data="listData" style="width: 100%" stripe='stripe'
                  :height="300"
                  tooltip-effect="dark" :row-class-name="tableRowClassName">
          <el-table-column v-for="(item, index) in listLabel" :key="index" :prop="item.prop" :label="item.label"></el-table-column>
          <el-table-column v-for="(item, index) in listLabel" :key="index" :prop="item.prop"
                           :label="item.label"></el-table-column>
        </el-table>
      </div>
    </div>
@@ -84,24 +84,13 @@
.win {
  position: relative;
  background-color: rgba(33, 41, 69, 0.9);
  //min-height: 354px;
  height: 208px;
  //width: 6rem;
  height: 1.5rem;
}
.main {
  width: 100%;
  height: 100%;
  .main-table {
    width: 100%;
    //min-height: 195px;
    //border: 1px @color solid;
    video {
      width: 100%;
      height: 100%;
      outline: none;
    }
  }
}
src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue
@@ -53,37 +53,7 @@
  props: ['displayContentTab', 'value', 'setWasteGasdata', 'setWasteWaterdata'],
  data () {
    return {
      tabData: [],
      listLabel: [
        {
          label: '序号',
          prop: 'StoragePlaceId'
        },
        {
          label: '类别',
          prop: 'StoragePlaceTypeName'
        },
        {
          label: '固废名称',
          prop: 'StoragePlaceName'
        },
        {
          label: '代码',
          prop: 'StorageZDMJ'
        },
        {
          label: '产生量(t)',
          prop: 'StorageZCL'
        },
        {
          label: '贮存量(t)',
          prop: 'StorageZCNL'
        },
        {
          label: '产生装置',
          prop: 'StorageType'
        }
      ]
      tabData: []
    }
  },
  mounted () {
@@ -106,17 +76,18 @@
  position: relative;
  margin-bottom: 10px;
  background-color: rgba(33, 41, 69, 0.9);
  //width: 6rem;
  height: 0.5rem;
}
.main {
  width: 100%;
  height: 100%;
  //width: 100%;
  //height: 100%;
  .main-matter {
    font-size: 13px;
    font-weight: normal;
    //padding: 10px 6px;
    min-height: 70px;
    border: 1px solid #396d83;
    .row-item-one {
@@ -145,8 +116,8 @@
    }
    ul {
      width: 100%;
      height: 100%;
      //width: 100%;
      //height: 100%;
      display: flex;
      align-items: center;
      justify-content: space-around;
@@ -161,6 +132,7 @@
        background-color: #243a55;
        color: #00d0f9;
        border-radius: 4px;
        font-size: 0.08rem;
      }
      li:last-child {
src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue
@@ -1,17 +1,17 @@
<template>
  <div class="win" >
  <div class="win">
    <!-- 四个角的边框效果 -->
    <div class="border_corner border_corner_left_top"></div>
    <div class="border_corner border_corner_right_top"></div>
    <div class="border_corner border_corner_left_bottom"></div>
    <div class="border_corner border_corner_right_bottom"></div>
    <div class="main">
<!--      <div class="main-video">-->
        <video controls>
          <source src="movie.mp4" type="video/mp4">
          <source src="movie.ogg" type="video/ogg">
        </video>
<!--      </div>-->
      <!--      <div class="main-video">-->
      <video controls>
        <source src="movie.mp4" type="video/mp4">
        <source src="movie.ogg" type="video/ogg">
      </video>
      <!--      </div>-->
    </div>
  </div>
</template>
@@ -25,47 +25,53 @@
<style scoped lang="less">
.win {
  position: relative;
  background-color: rgba(33, 41, 69,0.9);
  height: 300px;
  background-color: rgba(33, 41, 69, 0.9);
  height: 2.1rem;
}
.main {
  border: 1px solid #396d83;
  padding: 6px;
  //.main-video {
    video {
      width: 100%;
      height: 100%;
      outline: none;
    }
  //}
  padding: 5px;
  height: 2rem;
  video {
    width: 100%;
    height: 100%;
    outline: none;
  }
}
.border_corner{
.border_corner {
  z-index: 999;
  position: absolute;
  width: 14px;
  height: 14px;
  background: rgba(0,0,0,0);
  background: rgba(0, 0, 0, 0);
  border: 1px solid #47d5ea;
}
.border_corner_left_top{
.border_corner_left_top {
  top: 0;
  left: 0;
  border-right: none;
  border-bottom: none;
}
.border_corner_right_top{
.border_corner_right_top {
  top: 0;
  right: 0;
  border-left: none;
  border-bottom: none;
}
.border_corner_left_bottom{
.border_corner_left_bottom {
  bottom: 0;
  left: 0;
  border-right: none;
  border-top: none;
}
.border_corner_right_bottom{
.border_corner_right_bottom {
  bottom: 0;
  right: 0;
  border-left: none;
src/components/BaseNav/PublicBounced/PublicBounced.vue
@@ -12,38 +12,41 @@
          <public-table v-if="value === 'gufei'"
                        :displayContentTable="displayContentTable"></public-table>
          <public-chart v-else :getWasteGasDetails="getWasteGasDetails"
                        :getWasteWaterMonitoring="getWasteWaterMonitoring"></public-chart>
                        :value="value"
                        :getWasteWaterMonitoring="getWasteWaterMonitoring"
                        :getWasteWaterMonitoringDetails="getWasteWaterMonitoringDetails
"></public-chart>
        </div>
      </div>
      <div class="public-bounced-content-right">
        <public-video></public-video>
      </div>
    </div>
<!--    <el-dialog-->
<!--        :visible.sync="flag"-->
<!--        width="70%"-->
<!--        v-drag-->
<!--        :modal="false">-->
<!--      <div class="public-bounced-title">-->
<!--        <span>{{ displayContentTitle }}</span>-->
<!--        <i class="el-icon-circle-close" @click="closePopup"></i>-->
<!--      </div>-->
<!--      <div class="public-bounced-content">-->
<!--        <div class="public-bounced-content-left">-->
<!--          <public-tabs :displayContentTab="displayContentTab" :value="value"-->
<!--                       :setWasteGasdata="setWasteGasdata" :setWasteWaterdata="setWasteWaterdata"></public-tabs>-->
<!--          <div class="public-bounced-content-left-bottom">-->
<!--            <public-table v-if="value === 'gufei'"-->
<!--                          :displayContentTable="displayContentTable"></public-table>-->
<!--            <public-chart v-else :getWasteGasDetails="getWasteGasDetails"-->
<!--                          :getWasteWaterMonitoring="getWasteWaterMonitoring"></public-chart>-->
<!--          </div>-->
<!--        </div>-->
<!--        <div class="public-bounced-content-right">-->
<!--          <public-video></public-video>-->
<!--        </div>-->
<!--      </div>-->
<!--    </el-dialog>-->
    <!--    <el-dialog-->
    <!--        :visible.sync="flag"-->
    <!--        width="70%"-->
    <!--        v-drag-->
    <!--        :modal="false">-->
    <!--      <div class="public-bounced-title">-->
    <!--        <span>{{ displayContentTitle }}</span>-->
    <!--        <i class="el-icon-circle-close" @click="closePopup"></i>-->
    <!--      </div>-->
    <!--      <div class="public-bounced-content">-->
    <!--        <div class="public-bounced-content-left">-->
    <!--          <public-tabs :displayContentTab="displayContentTab" :value="value"-->
    <!--                       :setWasteGasdata="setWasteGasdata" :setWasteWaterdata="setWasteWaterdata"></public-tabs>-->
    <!--          <div class="public-bounced-content-left-bottom">-->
    <!--            <public-table v-if="value === 'gufei'"-->
    <!--                          :displayContentTable="displayContentTable"></public-table>-->
    <!--            <public-chart v-else :getWasteGasDetails="getWasteGasDetails"-->
    <!--                          :getWasteWaterMonitoring="getWasteWaterMonitoring"></public-chart>-->
    <!--          </div>-->
    <!--        </div>-->
    <!--        <div class="public-bounced-content-right">-->
    <!--          <public-video></public-video>-->
    <!--        </div>-->
    <!--      </div>-->
    <!--    </el-dialog>-->
  </div>
</template>
@@ -116,22 +119,24 @@
<style lang="less" scoped>
.public-bounced {
  width: 75%;
  //height: 520px;
  height: 40%;
  width: 10rem;
  //height: 2.6rem;
  //width: 70vw;
  //height: 30vh;
  z-index: 999;
  position: absolute;
  bottom: 5%;
  left: 15%;
  top: 5%;
  left: 5%;
  background-color: #002432;
  border: 1px #9fc5c8 solid;
  .public-bounced-title {
    height: 0.1rem;
    border: 1px #a4c0d8 solid;
    padding: 10px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 0;
    span {
      color: #f4f7ff;
@@ -148,22 +153,17 @@
  }
  .public-bounced-content {
    margin: 15px 0;
    margin: 0.2rem auto !important;
    display: flex;
    //align-items: center;
    justify-content: space-around;
    padding: 10px;
    .public-bounced-content-left {
      flex: 3;
      height: 100%;
      margin-right: 10px;
      width: 6.8rem;
    }
    .public-bounced-content-right {
      flex: 2;
      //width: 48%;
      height: 100%;
      width: 3rem;
    }
  }
}
src/components/LayerController/logic/Company.js
@@ -28,11 +28,11 @@
      const positionY = data[i].Longitude
      var iconUrl = companyImg
      const marker = L.marker.magic([positionX, positionY], {
      const marker = L.marker([positionX, positionY], {
        icon: L.icon({
          iconUrl: iconUrl,
          iconSize: [50, 50],
          iconAnchor: [25, 25]
          iconSize: [30, 30],
          iconAnchor: [13, 5]
        }),
        test: data[i]
      })
src/components/LayerController/logic/SolidWaste.js
@@ -39,8 +39,8 @@
        totransferData: getSolidWasteData[i],
        icon: L.icon({
          iconUrl: iconUrl,
          iconSize: [50, 50],
          iconAnchor: [25, 25]
          iconSize: [20, 20],
          iconAnchor: [10, 10]
        })
      })
      layer.addLayer(marker)
@@ -88,7 +88,7 @@
    // 通过方法 向绑定弹框传递数据
    instance.setData(resultBasic.Result.DataInfo, resultDetailed.Result.DataInfo, 'gufei')
    /* flyTo()弹出框平移事件 */
    this.setPanTo(e.latlng, 200)
    this.setPanTo(e.latlng, 80)
  }
  // flayTo() 弹框的可滑动事件
src/components/LayerController/logic/WasteGas.js
@@ -20,6 +20,7 @@
  this.init = async (layer, L) => {
    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++) {
@@ -29,13 +30,18 @@
      // 定义类型 用来区分数据
      const ContrLevel = data[i].ContrLevel
      var iconUrl = this.differentTypes(ContrLevel)
      const marker = L.marker.magic([positionX, positionY], {
      // 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: [50, 50],
          iconAnchor: [25, 25]
          iconSize: [20, 20],
          iconAnchor: [10, 10]
        })
      })
      layer.addLayer(marker)
@@ -61,7 +67,7 @@
    // console.log(e.layer.options.test)
    instance.$mount()
    document.body.appendChild(instance.$el)
    this.setPanTo(e.latlng, 240)
    this.setPanTo(e.latlng, 80)
  }
  // 不同类型图片加载
  this.differentTypes = (ContrLevel) => {
src/components/LayerController/logic/WasteWater.js
@@ -33,12 +33,12 @@
      // 定义类型 用来区分数据的不同
      const testValue = data[i].ContrLevel
      const iconUrl = this.differentTypes(testValue)
      const marker = L.marker.magic([positionX, positionY], {
      const marker = L.marker([positionX, positionY], {
        test: data[i],
        icon: L.icon({
          iconUrl: iconUrl,
          iconSize: [50, 50],
          iconAnchor: [25, 25]
          iconSize: [20, 20],
          iconAnchor: [10, 10]
        })
      })
      layer.addLayer(marker)
@@ -64,7 +64,7 @@
    // console.log(e.layer.options.test)
    instance.$mount()
    document.body.appendChild(instance.$el)
    this.setPanTo(e.latlng, 240)
    this.setPanTo(e.latlng, 80)
  }
  // 根据返回值的不同标记不同图片
src/components/LayerController/modules/LcServiceLayerFilter.vue
@@ -50,18 +50,20 @@
    },
    // todo 还需要优化,在有多个需要子图层独立弹窗情况下无效
    toggle (serviceLayers) {
      for (var i = 0; i < serviceLayers.length; i++) {
        var serviceLayer = serviceLayers[i]
        var childLayer = serviceLayer.childLayer
        if (childLayer) {
          if (this.checkChecked(serviceLayer.layers)) {
            this.layers = childLayer
      if (serviceLayers) {
        for (var i = 0; i < serviceLayers.length; i++) {
          var serviceLayer = serviceLayers[i]
          var childLayer = serviceLayer.childLayer
          if (childLayer) {
            if (this.checkChecked(serviceLayer.layers)) {
              this.layers = childLayer
            } else {
              this.layers = []
            }
            break
          } else {
            this.layers = []
            this.toggle(serviceLayer.layers)
          }
          break
        } else {
          this.toggle(serviceLayer.layers)
        }
      }
    },
src/conf/Constants.js
@@ -5,9 +5,9 @@
}
export const logicMapper = {
  wasteGasJcd: 'WasteGas.js',
  wasteWaterJcd: 'WasteWater.js',
  solidWasteJcd: 'SolidWaste.js',
  wasteGasPfk: 'WasteGas.js',
  wasteWaterPfk: 'WasteWater.js',
  wasteSolidCcd: 'SolidWaste.js',
  sewersAreaGs: 'Company.js'
}
src/conf/LayerTopic.js
@@ -1,5 +1,5 @@
/**
 * 区域
 * 专题
 */
import { LayerWasteWater } from './layers/LayerWasteWater'
import { LayerWasteGas } from './layers/LayerWasteGas'
@@ -7,10 +7,11 @@
import { LayerAirQuality } from './layers/LayerAirQuality'
import { LayerEnvRisk } from './layers/LayerEnvRisk'
import { LayerSoilGroundWater } from './layers/LayerSoilGroundWater'
import { LayerPollutionSources } from './layers/LayerPollutionSources'
export const LayerTopic = {
  code: 'sewersTopic',
  name: '专题图层',
  checked: true,
  layers: [LayerWasteWater, LayerWasteGas, LayerWasteSolid, LayerAirQuality, LayerEnvRisk, LayerSoilGroundWater]
  layers: [LayerPollutionSources, LayerWasteWater, LayerWasteGas, LayerWasteSolid, LayerAirQuality, LayerEnvRisk, LayerSoilGroundWater]
}
src/conf/MapConfig.js
@@ -3,6 +3,7 @@
import { LayerSewersPoint } from './layers/LayerSewers'
import { LayerTopic } from './LayerTopic'
import { LayerPipeLine } from './LayerPipeLine'
import { LayerBasin } from './layers/LayerBasin'
const curWwwPath = window.document.location.href
const pathname = window.document.location.pathname
@@ -42,7 +43,7 @@
  IntranetBaseMaps: TDT.intranet,
  InternetBaseMaps: TDT.internet,
  Layers: {
    LayerSewersLine: [LayerPipeLine, LayerTopic],
    LayerSewersLine: [LayerBasin, LayerTopic, LayerPipeLine],
    layerSewersPoint: LayerSewersPoint
  } // 污雨水图层配置
}
src/conf/layers/LayerPollutionSources.js
New file
@@ -0,0 +1,26 @@
/**
 * 污染源
 * @type {string}
 */
export const LayerPollutionSources = {
  code: 'pollutionSources',
  name: '污染源',
  checked: true,
  layers: [
    {
      code: 'pollutionSourcesSczz',
      name: '生产装置',
      sname: '生产装置', // 表名
      checked: true, // 默认选中状态
      url: 'http://www.baidu.com', // 请求业务数据接口
      minZoom: 10 // 在指定级别显示
    },
    {
      code: 'pollutionSourcesZlss',
      name: '治理设施',
      sname: '治理设施', // 表名
      checked: true, // 默认选中状态
      url: 'http://www.baidu.com', // 请求业务数据接口
      minZoom: 10 // 在指定级别显示
    }]
}
src/conf/layers/LayerSewers.js
@@ -1,106 +1,4 @@
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',
  checked: true,
  layers: [
    {
      code: 'rainline',
      name: '雨水线',
      sname: '管网', // 表名
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=管网',
      minZoom: 10, // 在指定级别显示
      childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers
    },
    {
      code: 'oilline',
      name: '含油污水线',
      sname: '含油污水',
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=含油污水',
      minZoom: 10,
      childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers
    },
    {
      code: 'saltline',
      name: '含盐污水线',
      sname: '含盐污水',
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=含盐污水',
      minZoom: 10,
      childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers
    },
    {
      code: 'alkaliline',
      name: '含碱污水线',
      sname: '含碱污水',
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=含碱污水',
      minZoom: 10,
      childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers
    },
    {
      code: 'outlet',
      name: '排口',
      sname: '排口',
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=排口',
      minZoom: 10,
      childLayer: 'pk' // 关联PointLayers
    },
    {
      code: 'accidentline',
      name: '事故水线',
      sname: '事故水',
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=事故水',
      minZoom: 10,
      childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers
    },
    {
      code: 'loopline',
      name: '循环水线',
      sname: '循环水',
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=循环水',
      minZoom: 10,
      childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers
    },
    {
      code: 'purifyline',
      name: '净化水线',
      sname: '净化水',
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=净化水',
      minZoom: 10,
      childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers
    },
    {
      code: 'lifeline',
      name: '生活污水',
      sname: '生活污水',
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=生活污水',
      minZoom: 10,
      childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers
    },
    {
      code: 'areainfo',
      name: '区域信息',
      sname: '区域信息',
      checked: true, // 默认选中状态
      filter: {},
      minZoom: 10,
      childLayer: 'qyxx' // 关联PointLayers
    }
  ]
}
export const LayerSewersPoint = [
  {
    code: 'sewersFsss',
src/conf/layers/LayerWasteGas.js
@@ -8,28 +8,12 @@
  checked: true,
  layers: [
    {
      code: 'wasteGasQy',
      name: '企业',
      sname: '企业', // 表名
      code: 'wasteGasPfk',
      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',
@@ -46,6 +30,14 @@
      checked: true, // 默认选中状态
      url: '',
      minZoom: 10
    },
    {
      code: 'wasteGasVocs',
      name: 'VOCs',
      sname: 'VOCs',
      checked: true, // 默认选中状态
      url: '',
      minZoom: 10
    }
  ]
}
src/conf/layers/LayerWasteSolid.js
@@ -4,22 +4,14 @@
 */
export const LayerWasteSolid = {
  code: 'solidWaste',
  code: 'wasteSolid',
  name: '固废',
  checked: true,
  layers: [
    {
      code: 'solidWasteQy',
      name: '企业',
      sname: '企业', // 表名
      checked: true, // 默认选中状态
      url: 'http://www.baidu.com', // 请求业务数据接口
      minZoom: 10 // 在指定级别显示
    },
    {
      code: 'solidWasteJcd',
      name: '监测点',
      sname: '监测点',
      code: 'wasteSolidCcd',
      name: '贮存点',
      sname: '贮存点',
      checked: true, // 默认选中状态
      url: 'http://www.baidu2.com',
      minZoom: 10
src/conf/layers/LayerWasteWater.js
@@ -8,30 +8,28 @@
  checked: true,
  layers: [
    {
      code: 'wasteWaterqy',
      name: '企业',
      sname: '企业', // 表名
      code: 'wasteWaterPfk',
      name: '排放口',
      sname: '排放口', // 表名
      checked: true, // 默认选中状态
      url: 'http://www.baidu.com', // 请求业务数据接口
      minZoom: 10 // 在指定级别显示
    },
    {
      code: 'wasteWaterJcd',
      name: '监测点',
      sname: '监测点',
      name: '流量',
      sname: '流量',
      checked: true, // 默认选中状态
      url: 'http://www.baidu2.com',
      minZoom: 10,
      childLayer: 'fsss,hbss' // 关联PointLayers
      minZoom: 10
    },
    {
      code: 'wasteWaterfk',
      name: '排放口',
      sname: '排放口',
      name: '液位',
      sname: '液位',
      checked: true, // 默认选中状态
      url: '',
      minZoom: 10,
      childLayer: 'fsss,hbss' // 关联PointLayers
      minZoom: 10
    }
  ]
}