派生自 wuyushui/SewerAndRainNetwork

yangdelong
2021-04-07 f3f693a10d00b75f1eafe7f029cbd99bd3c9825b
Merge remote-tracking branch 'origin/develop' into develop

# Conflicts:
# src/assets/css/map/_map-variable.less
4个文件已删除
7个文件已添加
35个文件已修改
2 文件已重命名
2227 ■■■■■ 已修改文件
src/Sgis.js 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/mapApi.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/mapUrl.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/css/map/_map-variable.less 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/css/map/map-panel-style.less 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/PublicBounced/PublicBounced.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/LayerController.vue 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/LayerController2.vue 288 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/layerControllerPresets.js 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/logic/WasteGas.js 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/modules/LcServiceLayer.vue 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/service/LayerFactory.js 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/service/WfsLayerService.js 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/helpers/ServiceLayerHelper.js 399 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/RightSearchPanel.vue 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/ToolBoxPanel.vue 122 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/DischargeSearch.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/EnvRiskSearch.vue 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/GasWasteSearch.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/SewersSearch.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/SoilGroundWaterSearch.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/SolidWasteSearch.vue 118 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/WaterWasteSearch.vue 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/plugin/FullScreen.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/table/enterprise.vue 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/table/summarySheets.vue 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/Constants.js 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/LayerPipeLine.js 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/LayerTopic.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/MapConfig.js 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/Styles.js 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerAirQuality.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerBasin.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerEnvRisk.js 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerPipeLines.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerSewers.js 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerSoilGroundWater.js 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerWasteSolid.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/styles/theme-dark/el-ui/button.less 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/MapTemplate.vue 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/baseInfoMgr/pipeline/PipeLineIndex.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/popup/Dialog.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Sgis.js
@@ -1,9 +1,7 @@
import BasemapHelper from '@components/helpers/BasemapHelper'
import VectorLayerHelper from '@components/helpers/VectorLayerHelper'
// 初始化显示
import ServiceLayerHelper from '@components/helpers/ServiceLayerHelper'
import '@components/plugin/PathDrag'
// import '@components/plugin/PathDrag'
import MapConfig from '@/conf/MapConfig'
import '@components/plugin/PathDashFlow' // 流动线图
import DownLoad from '@components/plugin/DownLoad'
@@ -37,8 +35,6 @@
  window.map = map
  window.L = L
  initTileLayersHelper(map)
  return map
}
@@ -52,15 +48,7 @@
  console.log(map)
  return new BasemapHelper({ map })
}
/**
 * 业务底图初始化
 * @param map
 * @param L
 */
const initTileLayersHelper = (map) => {
  var serviceLayerHelper = new ServiceLayerHelper({ map })
  return serviceLayerHelper
}
/**
 * 矢量地图初始化
 * @param map
@@ -75,6 +63,5 @@
export default {
  initMap,
  initBasemapsHelper,
  initTileLayersHelper,
  initVectorLayersHelper
}
src/api/mapApi.js
@@ -28,9 +28,14 @@
  getSolidWasteSurveyDetail (data) {
    return axios.get(mapUrl.getSolidWasteSurveyDetail, data)
  },
  // 废气点加载
  getWasteGas (data) {
    return axios.get(mapUrl.getWasteGas, data)
  },
  // 废气明细表
  getWasteGasDetails (data) {
    return axios.get(mapUrl.getWasteGasDetails, data)
  },
  getWasteWater (data) {
    return axios.get(mapUrl.getWasteWater, data)
  },
src/api/mapUrl.js
@@ -11,6 +11,7 @@
export const getSolidWasteSurveyDetail = $HOST + '/wasteSolid/getSolidWasteSurveyDetail'
export const getWasteGas = $HOST + '/wasteGas/getWasteGas'
export const getWasteGasDetails = $HOST + '/wasteGas/getWasteGasMonitoringDetails'
export const getWasteWater = $HOST + '/wasteWater/getWasteWater'
src/assets/css/map/_map-variable.less
@@ -1,15 +1,15 @@
@color: #00fff6;
@color-highlight: #fff700;
@color-gray: #C0C4CC;
@color-title: white;
@color-title: white;//标题色
@color-over: white;
@color-tool: #C0C4CC;
@color-shadow: #00fff6;
@background-color: rgba(0, 16, 30, .5);
@background-color-light: rgba(40, 50, 100, .4);
@background-color-split: rgba(0, 255, 246, .14);
@background-color-tools: #1A4951;
@border-radius: .03rem;
@color-tool: #C0C4CC;//工具色
@color-shadow: #00fff6;//显示颜色
@background-color: rgba(0, 16, 30, .7);//背景填充色
@background-color-light: rgba(40, 50, 100, .4);//光晕
@background-color-split: rgba(0, 255, 246, .14);//分割线
@background-color-tools: #1A4951;//工具箱
@border-radius: .03rem;//倒角
@size-0:.08333rem;
@size-1: .125rem;
src/assets/css/map/map-panel-style.less
@@ -44,7 +44,7 @@
  .el-dialog__title {
    padding: .03125rem .08333rem;
    color: @color;
    color: @color-title;
    cursor: pointer;
    flex-shrink: 0;
  }
@@ -208,6 +208,37 @@
  margin-left: 10px;
}
.el-scrollbar__wrap{
}
.el-scrollbar__wrap::-webkit-scrollbar {
  /*滚动条整体样式*/
  width : 5px;  /*高宽分别对应横竖滚动条的尺寸*/
  height: 1px;
}
.el-scrollbar__wrap::-webkit-scrollbar-thumb {
  /*滚动条里面小方块*/
  border-radius   : 10px;
  background: none;
}
.el-scrollbar__wrap::-webkit-scrollbar-track {
  /*滚动条里面轨道*/
  box-shadow   : inset 0 0 5px rgba(0, 0, 0, 0.2);
  background   : none;
  border-radius: 10px;
}
#el-scrollbar__wrap::-webkit-scrollbar-button { /*滚动条两端的按钮,可以用display:none让其不显示,也可以添加背景图片,颜色改变显示效果(位置2)*/
  background: #74D334;
}
/*******************操作按钮点击选中整体样式******************************/
.el-button{
}
.active-button{
  border: 0.00521rem solid #fff700 !important;
  box-shadow: 0 0 0.03rem #fff700 !important;
  color:#fff700 !important;
}
/***************Company 图层 悬浮框样式。*********************************/
.company-bindTooltip {
@@ -250,4 +281,60 @@
.el-table .cell, .el-table--border td:first-child .cell, .el-table--border th:first-child .cell {
  /* padding-left: 10px; */
  text-align: center;
}
.el-table th>.cell {
  color: #00fff6;
}
.el-table__row>td{
  border: none;
}
.el-table::before {//去掉最下面的那一条线
  height: 0;
}
.el-table td, .el-table th.is-leaf {
  border: none;
}
.el-table .warning-row {
  background: #28304d;
}
.el-table .success-row {
  background: #30455f;
}
/***********************************************动画效果************/
.transition{
  transition: all .5s;
 /* transform-origin: top left;*/
  animation: bounce-in .2s;
}
@keyframes bounce-in {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
/**map 页面图标按钮*/
.iconBtn {
  width:0.26rem;
  height: 0.26rem;
  text-align: center;
  background: rgba(0, 16, 30, 0.5);
  cursor: pointer;
  color: #00fff6;
  border: 0.00521rem solid #00fff6;
  box-shadow: 0 0 0.03rem #00fff6;
  display: flex;
  flex-direction: column;
  justify-content: center;
  justify-items: center;
  border-radius: 0.03rem;
  .icon{
    width: 20px;
    margin: 0 auto;
  }
}
src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue
@@ -6,13 +6,37 @@
            <el-tag>烟尘 : 6.93 标准 : 30</el-tag>
            <el-tag>废气流量 : 120343.18</el-tag>
        </div>
        <div style="width:750px;height:260px;" id="echarts" ref="main"></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="66%"
                      center
                      >
            <div class="el-dialog-div" style="height: 600px">
              <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>
    </div>
</template>
<script>
import PublicDetailedList from '@components/BaseNav/PublicBounced/GasComponents/PublicDetailedList'
export default {
  name: 'ECharts',
  components: {
    PublicDetailedList
  },
  data () {
    return {
      dialogVisible: false
    }
  },
  methods: {
    drawChart: function () {
      const myChart = this.$echarts.init(this.$refs.main)
@@ -195,10 +219,21 @@
        border: none;
        padding: 0 15px;
    }
  #echarts{
    margin: 0;
    padding: 0;
    border: 1px solid #396d83;
    margin: 10px 10px 10px 10px;
    .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;
    }
  }
</style>
src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue
@@ -10,7 +10,7 @@
            <li @click='tabTaggle("ECharts")'>月数据</li>
            <li @click='tabTaggle("ECharts")'>人工数据</li>
        </ul>
        <component :is="currentTab"></component>
        <component :is="currentTab" v-bind="$attrs"></component>
    </div>
</template>
src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue
New file
@@ -0,0 +1,51 @@
<template>
  <div class="PublicDetailedList">
    <el-table :data="tableData" max-height="600px">
      <el-table-column prop="OnLineMonEmissPointName" label="排放点"></el-table-column>
      <el-table-column prop="MonTimeStr" label="监测时间"></el-table-column>
      <el-table-column  label="氮氧化物">
        <el-table-column prop="MonQty" label="浓度(mg/m³)"></el-table-column>
        <el-table-column prop="OrglQty" label="折算值(mg/m³)"></el-table-column>
        <el-table-column prop="ConvertQty" label="标准值(mg/m³)"></el-table-column>
        <el-table-column prop="EmissQty" label="排放量(kg/h)"></el-table-column>
      </el-table-column>
      <el-table-column label="二氧化硫">
        <el-table-column prop="MonQty" label="浓度(mg/m³)"></el-table-column>
        <el-table-column prop="OrglQty" label="折算值(mg/m³)"></el-table-column>
        <el-table-column prop="ConvertQty" label="标准值(mg/m³)"></el-table-column>
        <el-table-column prop="EmissQty" label="排放量(kg/h)"></el-table-column>
      </el-table-column>
      <el-table-column  label="烟尘">
        <el-table-column prop="MonQty" label="浓度(mg/m³)"></el-table-column>
        <el-table-column prop="OrglQty" label="折算值(mg/m³)"></el-table-column>
        <el-table-column prop="ConvertQty" label="标准值(mg/m³)"></el-table-column>
        <el-table-column prop="EmissQty" label="排放量(kg/h)"></el-table-column>
      </el-table-column>
      <el-table-column  label="废气流量">
        <el-table-column prop="StdValue" label="气量"></el-table-column>
      </el-table-column>
    </el-table>
  </div>
</template>
<script>
export default {
  name: 'PublicDetailedList',
  data () {
    return {
      tableData: []
    }
  },
  mounted () {
    this.tableData = this.$attrs.getWasteGasDetails
    console.log(this.$attrs.getWasteGasDetails)
  }
}
</script>
<style scoped>
.PublicDetailedList{
  /*height: 100%*/
}
</style>
src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue
@@ -6,18 +6,20 @@
    <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">
      <div class="main-table">
        <el-table
            border
            stripe='stripe'
            :height="300"
            tooltip-effect="dark"
            :data="displayContentTableData"
            :row-class-name="tableRowClassName"
        >
          <el-table-column prop="StoragePlaceId" label="序号"></el-table-column>
          <el-table-column prop="StoragePlaceTypeName" label="类别"></el-table-column>
          <el-table-column prop="StoragePlaceName" label="固废名称"></el-table-column>
          <el-table-column prop="StorageZDMJ" label="代码"></el-table-column>
          <el-table-column prop="StorageZCNL" label="产生量"></el-table-column>
          <el-table-column prop="StorageZCL" label="储存量"></el-table-column>
          <el-table-column prop="StorageZCNL" label="产生量(t)"></el-table-column>
          <el-table-column prop="StorageZCL" label="储存量(t)"></el-table-column>
          <el-table-column prop="StorageType" label="产生装置"></el-table-column>
        </el-table>
      </div>
@@ -38,24 +40,38 @@
    this.$nextTick(() => {
      this.displayContentTable.forEach(item => {
        this.displayContentTableData = item
        // console.log(item[0])
      })
    })
  },
  methods: {
    tableRowClassName ({
      row,
      rowIndex
    }) {
      if (rowIndex % 2 === 0) {
        return 'warning-row'
      } else if (rowIndex % 2 === 1) {
        return 'success-row'
      }
      return ''
    }
  }
}
</script>
<style lang="less" scoped>
.win {
  position: relative;
  background-color: rgba(33, 41, 69, 0.9);
  min-height: 300px;
}
.main {
  width: 100%;
  height: 100%;
  .main-video {
  .main-table {
    width: 100%;
    min-height: 195px;
    //border: 1px @color solid;
@@ -67,13 +83,14 @@
    }
  }
}
.border_corner {
  z-index: 999;
  position: absolute;
  width: 14px;
  height: 14px;
  background: rgba(0, 0, 0, 0);
  border: 1.5px solid #47d5ea;
  border: 1px solid #47d5ea;
}
.border_corner_left_top {
src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue
@@ -16,22 +16,20 @@
          </el-row>
          <el-row type="flex" class="row-bg" justify="space-around">
            <el-col :span="8">排放去向:{{ setWasteGasdata.EmissDirecti }}</el-col>
            <el-col :span="8">控制级别名称:{{ setWasteGasdata.ContrLevelShowName }}</el-col>
            <el-col :span="8">内/外排口:{{ setWasteGasdata.OrOutPortName }}</el-col>
            <el-col :span="18">控制级别名称:{{ setWasteGasdata.ContrLevelShowName }}</el-col>
            <el-col :span="18">内/外排口:{{ setWasteGasdata.OrOutPortName }}</el-col>
          </el-row>
        </div>
       <div v-else-if="value === 'gufei'">
         <el-row type="flex" class="row-bg row-item-one" justify="space-around">
           <el-col :span="8">监测点名称:{{ displayContentTab2.StoragePlaceName }}</el-col>
           <el-col :span="8">生产单位:{{ displayContentTab2.StoragePlaceName }}</el-col>
           <el-col :span="8">排放类型加载:{{ displayContentTab2.DesignFloorArea }}</el-col>
         </el-row>
         <el-row type="flex" class="row-bg" justify="space-around">
           <el-col :span="8">排放去向:{{ displayContentTab2.StorageQty }}</el-col>
           <el-col :span="8">控制级别名称:{{ displayContentTab2.SurplusFloorArea }}</el-col>
           <el-col :span="8">内/外排口:{{ displayContentTab2.StorageDate }}</el-col>
         </el-row>
       </div>
        <div v-else-if="value === 'gufei'">
          <ul>
            <li>场所名称:{{ tabData.StoragePlaceName }}</li>
            <li>贮存能力:{{ tabData.StorageQty }}(吨)</li>
            <li>剩余贮存能力:{{ tabData.SurplusFloorArea }}(吨)</li>
            <li>占地面积(㎡):{{ tabData.DesignFloorArea }}(㎡)</li>
            <li>最近贮存日期:{{ tabData.StorageDate }}</li>
            <li></li>
          </ul>
        </div>
        <div v-else-if="value === 'feishui'">
          <el-row type="flex" class="row-bg row-item-one" justify="space-around">
            <el-col :span="8">监测点名称:{{ setWasteGasdata.Name }}</el-col>
@@ -55,16 +53,19 @@
  props: ['displayContentTab', 'value', 'setWasteGasdata'],
  data () {
    return {
      displayContentTab2: []
      tabData: []
    }
  },
  mounted () {
    this.$nextTick(() => {
      this.displayContentTab.forEach(item => {
        this.displayContentTab2 = item
        // console.log(item)
      })
    })
    this.processingData()
  },
  methods: {
    processingData () {
      for (var i = 0; i < this.displayContentTab.length; i++) {
        console.log(this.displayContentTab[i])
        this.tabData = this.displayContentTab[i]
      }
    }
  }
}
</script>
@@ -73,67 +74,103 @@
.win {
  position: relative;
  margin-bottom: 13px;
  background-color: rgba(33, 41, 69,0.9);
  margin-bottom: 10px;
  background-color: rgba(33, 41, 69, 0.9);
}
.main {
  width: 100%;
  height: 100%;
  .main-matter{
  .main-matter {
    font-size: 13px;
    font-weight: normal;
    padding: 10px 6px;
    //padding: 10px 6px;
    min-height: 70px;
    border: 1px solid #396d83;
    .row-item-one{
    .row-item-one {
      margin-bottom: 7px;
    }
    .el-row {
      width: 100%;
      color: #00d0f9;
      display: flex;
      font-size: 12px !important;
      .el-col{
      .el-col {
        flex: 1;
        width: 100%;
        background-color: #243a55;;
        background-color: #243a55;
        text-align: center;
        line-height: 28px;
        margin-left: 6px;
        border-radius: 4px;
        &:nth-child(1){
          margin-left:0;
        &:nth-child(1) {
          margin-left: 0;
        }
      }
    }
    ul {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: space-around;
      flex-wrap: wrap;
      line-height: 35px;
      li {
        text-align: center;
        width: 32%;
        height: 30px;
        margin: 5px auto;
        background-color: #243a55;
        color: #00d0f9;
        border-radius: 4px;
      }
      li:last-child {
        visibility: hidden
      }
    }
  }
}
.border_corner{
.border_corner {
  z-index: 999;
  position: absolute;
  width: 10px;
  height: 10px;
  background: rgba(0,0,0,0);
  border: 1.5px solid #47d5ea;
  //height: 10px;
  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/GasComponents/PublicVideo.vue
@@ -6,12 +6,12 @@
    <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">
<!--      <div class="main-video">-->
        <video controls>
          <source src="movie.mp4" type="video/mp4">
          <source src="movie.ogg" type="video/ogg">
        </video>
      </div>
<!--      </div>-->
    </div>
  </div>
</template>
@@ -30,15 +30,14 @@
.main {
  border: 1px solid #396d83;
  padding: 6px;
  .main-video {
    width: 100%;
    height: 100%;
  //.main-video {
    height: 378px;
    video {
      width: 100%;
      height: 100%;
      height: 378px;
      outline: none;
    }
  }
  //}
}
.border_corner{
  z-index: 999;
@@ -46,7 +45,7 @@
  width: 14px;
  height: 14px;
  background: rgba(0,0,0,0);
  border: 1.5px solid #47d5ea;
  border: 1px solid #47d5ea;
}
.border_corner_left_top{
  top: 0;
src/components/BaseNav/PublicBounced/PublicBounced.vue
@@ -6,15 +6,16 @@
    </div>
    <div class="public-bounced-content">
      <div class="public-bounced-content-left">
        <PublicTabs :displayContentTab="displayContentTab" :value="value"
                    :setWasteGasdata="setWasteGasdata"></PublicTabs>
        <public-tabs :displayContentTab="displayContentTab" :value="value"
                     :setWasteGasdata="setWasteGasdata"></public-tabs>
        <div class="public-bounced-content-left-bottom">
          <PublicTable v-if="value === 'gufei'" :displayContentTable="displayContentTable"></PublicTable>
          <PublicChart v-else></PublicChart>
          <public-table v-if="value === 'gufei'"
                        :displayContentTable="displayContentTable"></public-table>
          <public-chart v-else :getWasteGasDetails="getWasteGasDetails"></public-chart>
        </div>
      </div>
      <div class="public-bounced-content-right">
        <PublicVideo></PublicVideo>
        <public-video></public-video>
      </div>
    </div>
  </div>
@@ -43,11 +44,14 @@
      displayContentTab: '',
      displayContentTable: '',
      flag: false,
      value: ''
      value: '',
      getWasteGasDetails: []
    }
  },
  methods: {
    setData (dataBasic, dataDetailed, value) {
      this.flag = true
      this.value = value
      dataBasic.forEach(item => {
        this.displayContentTitle = item.StoragePlaceName
      })
@@ -56,8 +60,10 @@
      this.flag = true
      this.value = value
    },
    setGasData (data, value) {
    setGasData (data, dataDetails, value) {
      this.setWasteGasdata = data
      this.getWasteGasDetails = dataDetails
      // console.log(dataDetails)
      this.displayContentTitle = data.Name
      this.flag = true
      this.value = value
src/components/LayerController/LayerController.vue
@@ -1,9 +1,13 @@
<template>
  <div class="float-panel">
    <div :class='["iconBtn",layerControllerVisible ? "active" : ""]' @click="showPanel"><span><img src="@assets/images/map-pages/icon/layer.png" alt="" width="26px" style="display: block;margin: auto"><span class="icon-name">图层</span></span></div>
  <div :class='["float-panel",layerControllerVisible ? "active" : ""]' >
    <div @click="showPanel" class="iconBtn transition" :class='layerControllerVisible ? "active-button" : ""' v-show="!layerControllerVisible" style="position: absolute;top:0;left: 0">
      <img src="@assets/images/map-pages/icon/layer.png" alt="" class="icon">
      <span class="icon-name">图层</span>
    </div>
    <transition name="fade">
      <div :class="'legend-content map-background'" style="position: absolute;left: 50px;top: 0" v-show="layerControllerVisible">
      <div :class="'legend-content map-background'" v-show="layerControllerVisible" style=" transform-origin: top left;">
        <lc-service-layer></lc-service-layer>
        <buttom  @click="showPanel" type="button" class="el-button special-button el-button--default el-icon-d-arrow-left"></buttom>
      </div>
    </transition>
  </div>
@@ -11,7 +15,6 @@
<script>
import '@assets/css/map/magic.min.css'
import presets from './layerControllerPresets'
import iconSetting from '@/assets/images/map-pages/icon/setting.png'
import LcServiceLayer from './modules/LcServiceLayer'
@@ -49,28 +52,9 @@
      }
    }
  },
  mounted () {
    this.$nextTick(function () {
      this.init()
    })
  },
  methods: {
    showPanel () {
      this.layerControllerVisible = !this.layerControllerVisible
    },
    init () {
      this.initPreset()
    },
    initPreset () {
      if (this.preset !== 'default') {
        const prmPreset = presets[this.preset]
        Object.assign(this.layerControllerVisible, prmPreset) // 防止预设参数与默认参数不一致导致报错,如果没有按照您的配置发生改变,请检查拼写是否正确
        if (prmPreset === 'undefined') {
          console.log('该图层控制面板的预设没有找到,请检查预设名称是否正确!')
        } else {
          this.$store.commit('updateLayerControllerVisible', this.layerControllerVisible)
        }
      }
    },
    switchPanel () {
      this.panelSwitch.main = !this.panelSwitch.main
@@ -89,27 +73,19 @@
<style lang="less">
.float-panel {
  position: absolute;
  left: 2px;
  top: 120px;
  left: 0.14583rem;
  top: 0.8rem;
  height: auto;
  font-size: 11px;
  z-index: 1000;
  display: flex;
  div {
    color: #00fff6;
  }
  .iconBtn {
    width:45px;
    text-align: center;
    background: rgba(0, 16, 30, 0.5);
    cursor: pointer;
    color: #00fff6;
    border: 0.00521rem solid #00fff6;
    box-shadow: 0 0 0.03rem #00fff6;
  }
  .active {
    border: 0.00521rem solid #fff700;
    box-shadow: 0 0 0.03rem #fff700;
  .iconBtn.active{
    display: none;
  }
  .title-border {
    width: 100%;
@@ -216,9 +192,8 @@
  .switch-head-down {
    transform: rotateX(180deg);
    transform-origin: 50% 50%;
    transition: transform 0.5s linear 0s;
    transition: transform 2s linear 0s;
  }
  select {
    background: transparent;
    margin: 6px;
@@ -246,6 +221,21 @@
    border-radius: 0px;
    background: #0E3565;
  }
  .el-button--default{
   margin-left: 10px;
    padding: 15px 3px;
    background:@background-color;
    color:@color-tool;
    position: absolute;
    top:0;
    right: -26px;
  }
  .el-button--default:hover{
    background:@background-color;
  }
  .legend-content{
    width:  1.79167rem;
  }
}
</style>
src/components/LayerController/LayerController2.vue
File was deleted
src/components/LayerController/layerControllerPresets.js
File was deleted
src/components/LayerController/logic/WasteGas.js
@@ -50,16 +50,18 @@
  this.clickListener = async (e) => {
    // console.log(e)
    this.animalService.pulseEffect(e.latlng)
    // const dataValue = {
    //   StoragePlaceId: e.layer.options.test.StoragePlaceId
    // }
    // const result = await mapApi.getWasteGas(dataValue)
    const dataValue = {
      StoragePlaceId: e.layer.options.test.StoragePlaceId
    }
    const result = await mapApi.getWasteGasDetails(dataValue)
    // console.log(result.Result.DataInfo)
    const PublicBounced = window.Vue.extend(publicBounced)
    const instance = new PublicBounced()
    instance.setGasData(e.layer.options.test, 'feiqi')
    console.log(e.layer.options.test)
    instance.setGasData(e.layer.options.test, result.Result.DataInfo, 'feiqi')
    // console.log(e.layer.options.test)
    instance.$mount()
    document.body.appendChild(instance.$el)
    this.setPanTo(e.latlng, 240)
  }
  // 不同类型图片加载
  this.differentTypes = (ContrLevel) => {
@@ -75,4 +77,11 @@
    }
    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)
  }
}
src/components/LayerController/modules/LcServiceLayer.vue
@@ -6,22 +6,35 @@
        <div class="wms-panel">
            <el-scrollbar class="wms-panel-scrollbar">
                <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 }}
                        <input type="checkbox" :name="'wmsLayer_'+item.code" :checked="item.checked" :value="item.code"
                               @change="swAllLayers(item)"/>{{ item.name }}
                    </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 style="width: 100%">
                                <div class="basemap-layer-item" v-for="layer in itm.layers" :key="layer.code">
                                    <input type="checkbox"
                                           :name="'wmsSublayers_'+item.code+'_'+layer.code"
                                           :checked="layer.checked"
                                           :value="layer.code"
                                           @change="swWmsLayer(layer)"/>{{ layer.name }}
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </el-scrollbar>
        </div>
        <lc-service-layer-filter v-if="layerFilterVisible" ref="serviceLayerFilter"></lc-service-layer-filter>
        <lc-service-layer-filter ref="serviceLayerFilter"></lc-service-layer-filter>
    </div>
</template>
@@ -33,11 +46,6 @@
export default {
  name: 'LcServiceLayer',
  components: { LcServiceLayerFilter },
  data () {
    return {
      layerFilterVisible: false
    }
  },
  computed: {
    serviceLayers () {
      return this.$store.state.map.serviceLayers.LayerSewersLine
@@ -74,9 +82,6 @@
      }
      // this.updateWms()
    },
    swFilter (item) {
      this.layerFilterVisible = !this.layerFilterVisible
    },
    updateServiceLayerList () {
    },
@@ -101,18 +106,19 @@
<style scoped lang="less">
    .inner-panel {
        .title{
            color: #ffffff;
            font-size: 16px;
            font-weight: 600;
            color: @color-title;
            font-size: 18px;
            margin: 10px;
            text-align: center;
        }
        .btn-filter {
            cursor: pointer;
            color: #ffffff;
        }
        .wms-panel {
            width:  1.79167rem;
            .wms-panel-scrollbar{
                height: 50vh;
                width: 100%;
src/components/LayerController/service/LayerFactory.js
@@ -1,4 +1,3 @@
import store from '@/store'
import WfsLayerService from './WfsLayerService'
import BusiLayerService from './BusiLayerService'
import WmsLayerService from './WmsLayerService'
@@ -10,17 +9,15 @@
    this.layers = {}
  }
  init () {
  init (layerConfig) {
    // 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 checked = childConfig.checked
        checked && this.load(childConfig)
      }
      layers && this.init(config.layers)
      var checked = config.checked
      checked && this.load(config)
    }
  }
src/components/LayerController/service/WfsLayerService.js
@@ -2,7 +2,7 @@
 * 加载业务数据图层
 */
import styles from '../../../conf/Styles'
import { STYLES } from '../../../conf/Constants'
import AjaxUtils from '../../../utils/AjaxUtils'
class WfsLayerService {
@@ -37,14 +37,14 @@
    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
          fill: STYLES.FILL,
          weight: STYLES.WEIGHT,
          fillColor: STYLES.FILL_COLOR,
          color: STYLES.COLOR,
          fillOpacity: STYLES.FILL_OPACITY,
          opacity: STYLES.OPACITY,
          dashArray: STYLES.DASH_ARRAY,
          dashSpeed: STYLES.DASH_SPPED
        }
      },
      pointToLayer: (geoJsonPoint, latlng) => {
@@ -53,7 +53,7 @@
            img: {
              // url: 'assets/images/map/marker-icon.png',
              url: '/assets/images/map/' + icon,
              size: styles.defaultLineStyle.size
              size: STYLES.ICON_SIZE
            }
          })
      },
@@ -94,13 +94,13 @@
    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 })
      layer.setStyle({ weight: STYLES.WEIGHT, color: STYLES.COLOR })
    }
    if (type === 'Point' || type === 'MultiPoint') {
      layer.setStyle({
        img: {
          url: '/assets/images/map/' + icon,
          size: styles.defaultLineStyle.size
          size: STYLES.ICON_SIZE
        }
      })
    }
src/components/helpers/ServiceLayerHelper.js
File was deleted
src/components/panel/RightSearchPanel.vue
@@ -7,7 +7,7 @@
      <div class="container">
        <ul  v-for="item in topicList" :key="item.name" :class="item.checked?'module-wrap map-btn-active':'module-wrap map-btn-unactive'" @click="()=>{selected(item)}" >
          <el-tooltip :popper-class="'map-tooltip'" effect="dark" :content="item.name" placement="left">
          <li  style="   ">
          <li>
<!--            <span>{{item.name}}</span>-->
<!--            <div >-->
                <img src="../../assets/images/map-pages/icon/sl.png" class="icon">
@@ -35,11 +35,11 @@
        <div :class="[isCollapse? 'btn-stretch':'btn-shrink']" ></div>
      </div>
        <div :class="'search-container map-background'">
            <div class="el-message-box__content" style="padding:6px;font-size: 13px;">
                <component :title="title" :is="gcComp"></component>
            </div>
      <div :class="'search-container map-background'">
        <div class="el-message-box__content" style="padding:6px;font-size: 13px;">
          <component :title="title" :is="gcComp"></component>
        </div>
      </div>
    </div>
  </div>
</template>
@@ -178,16 +178,14 @@
<style lang="less">
.search-title{
    color: rgb(255, 255, 255);
    font-size: 16px;
    color:@color-title;
    font-size: 18px;
    margin: 5px;
}
.search-container {
    position: relative;
    width: 1.79167rem;
    /*height: 5.6475rem;*/
    min-height: 80vh;
    max-height: 90vh;
    overflow: hidden;
}
.module-wrap{
@@ -224,8 +222,8 @@
  //top: 10px;
  height: 0;
  position: absolute;
  top: .4rem;
  right: .08333rem;
  top: .46rem;
  right: 0.14583rem;
  z-index: 501;
  display: -webkit-box;
  display: -ms-flexbox;
@@ -474,7 +472,7 @@
        display: inline-block;
        position: relative;
        padding-right: 5px;
        color:#f5f5f5;
        color:@color-shadow;
        i{
            display: block;
            width: 15px;
@@ -488,14 +486,13 @@
    .el-radio.is-checked .levelOfRisk-type{color:#409EFF}
    .environmental-risk-list{
        border:1px solid @color;
        margin-right: 10px;
        margin-bottom: 15px;
        position: relative;
        cursor: pointer;
        padding-left:50px;
        padding-top:3px;
        padding-bottom:3px;
        color: #f5f5f5;
        padding-top:5px;
        padding-bottom:5px;
        color: @color-shadow;
        border-bottom:1px solid @background-color-split;
        .state{
            width: 30px;
            height: 30px;
@@ -508,6 +505,11 @@
            background: #0B3B6D;
        }
    }
    .environmental-risk-list.hover,
    .environmental-risk-list:hover{
        color:@color-over;
        background: @background-color;
    }
  //.search-panel {
  //  border: #07325B;
  //  background-color: #07325B !important;
src/components/panel/ToolBoxPanel.vue
@@ -1,10 +1,9 @@
<template>
  <div class="left-top-toolbox-panel">
    <div class="specific-tools">
      <el-button :class="selectGroup === true ?'active-button':''" class="el-button-choice"
                 @mouseover.enter.native="changeSelectMouse">
        <img src="@assets/images/map-pages/icon/toolbox/Selecd/tool.png" alt=""/>
        <span class="span-default">工具</span>
      <el-button :class="selectGroup === true ?'active-button':''" class="el-button-choice"   @mouseover.enter.native="changeSelectMouse">
          <img src="@assets/images/map-pages/icon/toolbox/Selecd/tool.png" alt="" class="icon" />
          <span class="span-default">工具</span>
      </el-button>
      <transition name="animationChange">
        <el-row v-show="selectGroup" class="specific-tools-group">
@@ -29,15 +28,16 @@
              <img :src="itemT.iconChoose" :title="itemT.title" v-if="Selecd === indexT && checkedItem" alt=""/>
              <img :src="itemT.icon" :title="itemT.title" alt="" v-else/>
            </el-button>
            <div class="base-map-inner-panel" v-show="item.index==='2'">
              <div v-for="item in basemapHelper.basemapList" :key="item.code" class="basemap-layer-item">
                <img class="base-map-img" width="50" height="50" :src="item.conf.icon_actived" :title="item.name"
                     @click="changeBasemap(item)" alt=""/>
                <el-checkbox class="base-map-anno" name="basemap" v-model="item.conf.annotationCheck"
                             label="标注" @change="changeBasemap(item)">
                </el-checkbox>
              </div>
            </div>
<!--            <div class="base-map-inner-panel" v-show="item.index==='2'">-->
<!--              <div v-for="item in basemapHelper.basemapList" :key="item.code" class="basemap-layer-item">-->
<!--                <img class="base-map-img" width="50" height="50" :src="item.conf.icon_actived" :title="item.name"-->
<!--                     @click="changeBasemap(item)" alt=""/>-->
<!--                <el-checkbox class="base-map-anno" name="basemap" v-model="item.conf.annotationCheck"-->
<!--                             label="标注" @change="changeBasemap(item)">-->
<!--                </el-checkbox>-->
<!--              </div>-->
<!--            </div>-->
            <lc-base-map v-show="item.index==='2'"></lc-base-map>
          </el-popover>
          <el-button @click="changeSelect" class="special-button">
            <i class="el-icon-d-arrow-left"></i>
@@ -49,6 +49,7 @@
</template>
<script>
import LcBaseMap from '@components/LayerController/modules/LcBaseMap'
// 功能导航
import plot from '@assets/images/map-pages/icon/toolbox/biaohui.png'
import polygon from '@assets/images/map-pages/icon/toolbox/celiang1.png'
@@ -95,11 +96,14 @@
export default {
  name: 'ToolBoxPanel',
  components: {
    LcBaseMap
  },
  data () {
    return {
      isShow: [],
      currentBaseMapCode: 'tianditu_img',
      basemapList: [],
      // currentBaseMapCode: 'tianditu_img',
      // basemapList: [],
      selectGroup: false,
      drawLayer: null,
      drawLayerArray: [],
@@ -257,33 +261,10 @@
      ]
    }
  },
  computed: {
    basemapHelper () {
      return this.$store.state.map.basemapHelper
    }
  },
  methods: {
    init (map) {
      this.map = map
      this.toolBoxPanelVisible = true
    },
    changeBasemap (itm) {
      this.active = -1
      const code = itm.code
      this.basemapHelper.basemapList.forEach((item) => {
        if (item.code === code) {
          if (this.currentBaseMapCode == null || this.currentBaseMapCode !== code) {
            this.currentBaseMapCode = code
            this.basemapHelper.showBasemap(item.code, item.conf.annotationCheck, true)
          } else {
            this.basemapHelper.showBasemap(item.code, item.conf.annotationCheck, false)
          }
          this.basemapHelper.basemapList.forEach((item) => {
            item.layer.bringToBack()
          })
        }
      })
    },
    changeChoose (index) {
      if (this.drawLayer == null) {
@@ -422,8 +403,8 @@
.left-top-toolbox-panel {
  position: absolute;
  left: 0;
  top: 15px;
  left: 0.14583rem;
  top: 0.11979rem;
  z-index: 999;
  .specific-tools {
@@ -436,7 +417,7 @@
      width: 45px;
      height: 45px;
      background: @background-color;
      vertical-align: middle !important;
      //vertical-align: middle !important;
      .base-map-img {
        position: absolute;
@@ -445,22 +426,18 @@
      .base-map-img:hover {
        cursor: pointer;
      }
      img {
        width: 22px;
        height: 22px;
      }
      .span-default {
        display: block;
        color: @color-shadow;
        font-size: 11px;
        font-size: 10px;
      }
      span {
        display: block;
        color: @color-over;
        font-size: 11px;
        font-size: 10px;
        color: #0B89B5;
      }
    }
@@ -468,7 +445,8 @@
      left: 500px;
      z-index: 999;
      padding: 0;
      margin: 0 0.015rem;
      margin: 0;
      margin-right:0.015rem;
      width: 45px;
      height: 45px;
      background: @background-color;
@@ -482,52 +460,6 @@
    .specific-tools-group {
      z-index: 1;
      .base-map-inner-panel {
        display: flex;
        justify-content: center;
        align-items: center;
        .base-map-img {
          position: absolute;
        }
        .base-map-img-Tool:hover {
          cursor: pointer;
        }
        .base-map-anno-Tool {
          position: absolute;
          margin-left: 2px;
          background-color: rgba(0, 0, 0, .5);
          color: @color-over;
          .el-checkbox__label {
            padding-left: 5px !important;
          }
        }
        .basemap-layer-item {
          display: flex;
          width: 50px;
          height: 50px;
          margin: 10px;
          border: 2px solid white;
          input {
            position: relative;
            left: 0;
            top: -53px;
          }
          .basemap-layer-item-name {
            position: relative;
            left: 0;
            top: -53px;
          }
        }
      }
      .tools-panel-choose {
        border: none;
        box-shadow: 0 0 0.03rem @color-shadow;
src/components/panel/topicSearch/DischargeSearch.vue
@@ -1,15 +1,15 @@
<template>
  <div class="sewers-search" v-if="gdVisible">
  <div class="query-search" v-if="gdVisible">
    <div class="search-title">{{title}}</div>
    <div class="search-panel ">
      <el-form ref="form" :model="form" label-width="90px" class="search-form">
        <el-form-item label="区域:" size="mini" class="search-panel-item">
          <el-select style="width: 100%"  v-model="form.areaVal" @change="areaType"  :popper-class="'select-down'">
            <el-option
                    v-for="item in areaTypeOptions"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value">
                v-for="item in areaTypeOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
@@ -44,8 +44,8 @@
        </div>
      </el-form>
    </div>
    <el-scrollbar style="height:300px">
      <div class="environmental-risk-list" ><!-- v-for="(item,index) in list" :key="index" -->
    <el-scrollbar style="height:416.44px">
      <div class="environmental-risk-list hover" ><!-- v-for="(item,index) in list" :key="index" -->
        <i class="state"></i>
        <div>
          <h3>###炼化部</h3>
@@ -97,13 +97,13 @@
    <!--   <span class="location-btn" @click="handleLocation(item)">588</span> -->
    <el-card class="footer-page" v-if="total > 10">
      <el-pagination
              small
              @current-change="handlePage"
              :page-size=pageSize
              layout="prev, pager, next"
              :total=total
              :current-page=current
              class="warnPagination"
          small
          @current-change="handlePage"
          :page-size=pageSize
          layout="prev, pager, next"
          :total=total
          :current-page=current
          class="warnPagination"
      >
      </el-pagination>
    </el-card>
src/components/panel/topicSearch/EnvRiskSearch.vue
@@ -1,41 +1,41 @@
<template>
  <div class="sewers-search" v-if="gdVisible">
  <div class="query-search" v-if="gdVisible">
    <div class="search-title">{{title}}</div>
    <div class="search-panel ">
      <el-form ref="form" :model="form" label-width="90px" class="search-form">
        <el-form-item label="区域:" size="mini" class="search-panel-item">
          <el-select style="width: 100%"  v-model="form.areaVal" @change="areaType"  :popper-class="'select-down'">
            <el-option
                    v-for="item in areaTypeOptions"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value">
                v-for="item in areaTypeOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="企业名称" size="mini">
          <el-select style="width: 100%"  v-model="form.enterpriseVal"  @change="enterpriseType" :popper-class="'select-down'">
            <el-option
                    v-for="item in enterpriseTypeOptions"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value">
                v-for="item in enterpriseTypeOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="二级单位" size="mini">
          <el-select style="width: 100%"  v-model="form.enterpriseSubunitsVal"  @change="enterpriseSubunitsType" :popper-class="'select-down'">
            <el-option
                    v-for="item in enterpriseSubunitsTypeOptions"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value">
                v-for="item in enterpriseSubunitsTypeOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="风险级别" size="mini"></el-form-item>
        <el-radio-group v-model="form.type" class="levelOfRisk">
            <el-radio  v-for="(item,index) in levelOfRisk" :label="item.value" :key="index"><span class="levelOfRisk-type">{{item.name}}<i :style="'background:'+item.color"></i></span></el-radio>
          <el-radio  v-for="(item,index) in levelOfRisk" :label="item.value" :key="index"><span class="levelOfRisk-type">{{item.name}}<i :style="'background:'+item.color"></i></span></el-radio>
        </el-radio-group>
        <div class="rightButtonSearch">
          <el-input  v-model="form.keyword" size="mini"  placeholder="在此输入关键字搜索">
@@ -44,26 +44,26 @@
        </div>
      </el-form>
    </div>
    <el-scrollbar style="height:300px">
    <el-scrollbar style="height:264px">
      <div class="environmental-risk-list" v-for="(item,index) in 5" :key="index" ><!-- v-for="(item,index) in list" :key="index" -->
        <i class="state"></i>
        <div>
            <h3>###炼化部</h3>
            <p>所属部门:<span>炼化部</span></p>
            <p>风险级别:<span>三级</span></p>
          <h3>###炼化部</h3>
          <p>所属部门:<span>炼化部</span></p>
          <p>风险级别:<span>三级</span></p>
        </div>
      </div>
    </el-scrollbar>
    <!--   <span class="location-btn" @click="handleLocation(item)">588</span> -->
    <el-card class="footer-page" v-if="total > 10">
      <el-pagination
              small
              @current-change="handlePage"
              :page-size=pageSize
              layout="prev, pager, next"
              :total=total
              :current-page=current
              class="warnPagination"
          small
          @current-change="handlePage"
          :page-size=pageSize
          layout="prev, pager, next"
          :total=total
          :current-page=current
          class="warnPagination"
      >
      </el-pagination>
    </el-card>
src/components/panel/topicSearch/GasWasteSearch.vue
@@ -1,5 +1,5 @@
<template>
  <div class="sewers-search" v-if="gdVisible">
  <div class="query-search" v-if="gdVisible">
    <div class="search-title">{{title}}</div>
    <div class="search-panel ">
      <el-form ref="form" :model="form" label-width="90px" class="search-form">
@@ -24,6 +24,16 @@
          </el-select>
        </el-form-item>
        <el-form-item label="二级单位" size="mini">
          <el-select style="width: 100%"  v-model="form.enterpriseSubunitsVal"  @change="enterpriseSubunitsType" :popper-class="'select-down'">
            <el-option
                v-for="item in enterpriseSubunitsTypeOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="三级单位" size="mini">
          <el-select style="width: 100%"  v-model="form.enterpriseSubunitsVal"  @change="enterpriseSubunitsType" :popper-class="'select-down'">
            <el-option
                v-for="item in enterpriseSubunitsTypeOptions"
@@ -156,7 +166,7 @@
        { name: '正常', value: '2' },
        { name: '超标', value: '3' },
        { name: '异常', value: '4' },
        { name: '停产', value: '4' }
        { name: '停产', value: '5' }
      ]
    }
  },
@@ -182,6 +192,7 @@
    enterpriseSubunitsType (val) {
    },
    // 三级单位筛选
    async handleSearch () {
      const param = {
        pipelineType: this.form.pipelineType,
src/components/panel/topicSearch/SewersSearch.vue
@@ -39,7 +39,7 @@
              <!--              </el-form-item>-->
            </el-form>
          </div>
          <el-scrollbar style="height:100%">
          <el-scrollbar style="height:380.44px;" >
            <div class="B-TMD-table-list" v-for="(item,index) in list" :key="index">
              <div class="B-TMD-table-list-title">
                <div class="B-TMD-table-list-head">
src/components/panel/topicSearch/SoilGroundWaterSearch.vue
@@ -54,7 +54,7 @@
                <!--              </el-form-item>-->
            </el-form>
        </div>
        <el-scrollbar style="height:300px">
        <el-scrollbar style="height:416.44px">
            <div class="environmental-risk-list" ><!-- v-for="(item,index) in list" :key="index" -->
                <i class="state"></i>
                <div>
src/components/panel/topicSearch/SolidWasteSearch.vue
@@ -1,9 +1,6 @@
<template>
  <div class="solidwaste-search" v-if="judgeVisible">
    <div class="search-title">
      <span>固废</span>
      <!--      <span>{{ title }}</span>-->
    </div>
  <div class="sewers-search" v-if="judgeVisible">
    <div class="search-title">{{title}}</div>
    <div class="search-panel ">
      <el-form ref="form" :model="form" label-width="90px" class="search-form">
        <el-form-item v-for="(item,index) in solidWasteTypeOptions" :key="index" :label="item.label+':'" size="mini"
@@ -31,70 +28,18 @@
          <el-input  v-model="form.keyword" size="mini"  placeholder="在此输入关键字搜索"></el-input>
          <el-buttom class="el-icon-search" @click="handleSearch"></el-buttom>
        </div>
        <el-input v-model="form.keyword" size="mini" placeholder="在此输入关键字搜索">
          <i slot="suffix" class="search-btn el-input__icon el-icon-search" @click="handleSearch"></i>
        </el-input>
      </el-form>
      <el-scrollbar style="height:500px">
        <div class="environmental-risk-list">
          <i class="state"></i>
          <div>
            <h3>###炼化部</h3>
            <p>所属部门:<span>炼化部</span></p>
            <p>风险级别:<span>三级</span></p>
          </div>
        </div>
        <div class="environmental-risk-list"><!-- v-for="(item,index) in list" :key="index" -->
          <i class="state"></i>
          <div>
            <h3>###炼化部</h3>
            <p>所属部门:<span>炼化部</span></p>
            <p>风险级别:<span>三级</span></p>
          </div>
        </div>
        <div class="environmental-risk-list"><!-- v-for="(item,index) in list" :key="index" -->
          <i class="state"></i>
          <div>
            <h3>###炼化部</h3>
            <p>所属部门:<span>炼化部</span></p>
            <p>风险级别:<span>三级</span></p>
          </div>
        </div>
        <div class="environmental-risk-list"><!-- v-for="(item,index) in list" :key="index" -->
          <i class="state"></i>
          <div>
            <h3>###炼化部</h3>
            <p>所属部门:<span>炼化部</span></p>
            <p>风险级别:<span>三级</span></p>
          </div>
        </div>
        <div class="environmental-risk-list"><!-- v-for="(item,index) in list" :key="index" -->
          <i class="state"></i>
          <div>
            <h3>###炼化部</h3>
            <p>所属部门:<span>炼化部</span></p>
            <p>风险级别:<span>三级</span></p>
          </div>
        </div>
        <div class="environmental-risk-list"><!-- v-for="(item,index) in list" :key="index" -->
          <i class="state"></i>
          <div>
            <h3>###炼化部</h3>
            <p>所属部门:<span>炼化部</span></p>
            <p>风险级别:<span>三级</span></p>
          </div>
        </div>
      </el-scrollbar>
      <!--      <el-card class="box-card"-->
      <!--               v-for="(item,index) in searchDataDisplay"-->
      <!--               :key="index">-->
      <!--        <div>-->
      <!--          {{ item.CompanyName }}-->
      <!--        </div>-->
      <!--      </el-card>-->
    </div>
    <!--      <el-scrollbar style="height:100%">-->
    <!--      </el-scrollbar>-->
    <el-scrollbar style="height:286.22px">
      <div class="environmental-risk-list" v-for="(item,index) in searchDataDisplay" :key="index" ><!-- v-for="(item,index) in list" :key="index" -->
        <i class="state"></i>
        <div>
          <h3>###炼化部</h3>
          <p>所属部门:<span>炼化部</span></p>
          <p>风险级别:<span>三级</span></p>
        </div>
      </div>
    </el-scrollbar>
  </div>
</template>
@@ -184,6 +129,7 @@
        // 数据的传递
        transferData: ''
      },
      // 数据搜索之后,存储数据的
      searchDataDisplay: []
    }
  },
@@ -212,43 +158,5 @@
</script>
<style lang="less" scoped>
.el-radio.is-checked .levelOfRisk-type {
  color: #409EFF
}
.levelOfRisk {
  padding-left: 20px
}
.levelOfRisk .el-radio {
  padding-bottom: 6px
}
.environmental-risk-list {
  border: 1px solid @color;
  margin-right: 10px;
  margin-bottom: 15px;
  position: relative;
  padding-left: 50px;
  padding-top: 3px;
  padding-bottom: 3px;
  color: #f5f5f5;
  .state {
    width: 30px;
    height: 30px;
    position: absolute;
    top: 50%;
    left: 10px;
    margin-top: -15px;
    border-radius: 50%;
    box-shadow: 0 0 3px #000;
    background: #0B3B6D;
  }
}
.el-input {
  margin: 15px auto;
}
</style>
src/components/panel/topicSearch/WaterWasteSearch.vue
@@ -23,105 +23,17 @@
                    <el-buttom class="el-icon-search" @click="handleSearch"></el-buttom>
                </div>
            </el-form>
            <el-scrollbar style="height:300px">
                <div class="environmental-risk-list" ><!-- v-for="(item,index) in list" :key="index" -->
                    <i class="state"></i>
                    <div>
                        <h3>###炼化部</h3>
                        <p>所属部门:<span>炼化部</span></p>
                        <p>风险级别:<span>三级</span></p>
                    </div>
                </div>
                <div class="environmental-risk-list" ><!-- v-for="(item,index) in list" :key="index" -->
                    <i class="state"></i>
                    <div>
                        <h3>###炼化部</h3>
                        <p>所属部门:<span>炼化部</span></p>
                        <p>风险级别:<span>三级</span></p>
                    </div>
                </div>
                <div class="environmental-risk-list" ><!-- v-for="(item,index) in list" :key="index" -->
                    <i class="state"></i>
                    <div>
                        <h3>###炼化部</h3>
                        <p>所属部门:<span>炼化部</span></p>
                        <p>风险级别:<span>三级</span></p>
                    </div>
                </div>
                <div class="environmental-risk-list" ><!-- v-for="(item,index) in list" :key="index" -->
                    <i class="state"></i>
                    <div>
                        <h3>###炼化部</h3>
                        <p>所属部门:<span>炼化部</span></p>
                        <p>风险级别:<span>三级</span></p>
                    </div>
                </div>
                <div class="environmental-risk-list" ><!-- v-for="(item,index) in list" :key="index" -->
                    <i class="state"></i>
                    <div>
                        <h3>###炼化部</h3>
                        <p>所属部门:<span>炼化部</span></p>
                        <p>风险级别:<span>三级</span></p>
                    </div>
                </div>
                <div class="environmental-risk-list" ><!-- v-for="(item,index) in list" :key="index" -->
                    <i class="state"></i>
                    <div>
                        <h3>###炼化部</h3>
                        <p>所属部门:<span>炼化部</span></p>
                        <p>风险级别:<span>三级</span></p>
                    </div>
                </div>
            </el-scrollbar>
            <div>
<!--                <el-card class="box-card" v-for="(item,index) in searchDataDisplay" :key="index">-->
<!--                    <div v-if="total > 3">-->
<!--                        {{ item.CompanyName }}-->
<!--                    </div>-->
<!--                </el-card>-->
                <el-card class="footer-page" v-if="total > 10">
                    <el-pagination
                            small
                            @current-change="handlePage"
                            :page-size=pageSize
                            layout="prev, pager, next"
                            :total=total
                            :current-page=current
                            class="warnPagination"
                    >
                    </el-pagination>
                </el-card>
<!--                        <el-pagination-->
<!--                            small-->
<!--                            layout="prev, pager, next"-->
<!--                            :total=total-->
<!--                            :current-page=1-->
<!--                            class="warnPagination"-->
<!--                        >-->
<!--                        </el-pagination>-->
            </div>
<!--                      <el-scrollbar style="height:100%">-->
<!--                      <el-card class="footer-page">-->
<!--                        <ul>-->
<!--                          {{ searchDataDisplay }}-->
<!--                          <li v-for="(item,index) in searchDataDisplay" :key="index">-->
<!--                            {{ item.CompanyName }}-->
<!--                          </li>-->
<!--                        </ul>-->
<!--                      </el-card>-->
<!--                          <el-pagination-->
<!--                              small-->
<!--                              @current-change="handlePage"-->
<!--                              :page-size=pageSize-->
<!--                              layout="prev, pager, next"-->
<!--                              :total=total-->
<!--                              :current-page=current-->
<!--                              class="warnPagination"-->
<!--                          >-->
<!--                          </el-pagination>-->
<!--                      </el-card>-->
<!--                      </el-scrollbar>-->
        </div>
        <el-scrollbar style="height:264px">
            <div class="environmental-risk-list" v-for="(item,index) in searchDataDisplay" :key="index" ><!-- v-for="(item,index) in list" :key="index" -->
                <i class="state"></i>
                <div>
                    <h3>###炼化部</h3>
                    <p>所属部门:<span>炼化部</span></p>
                    <p>风险级别:<span>三级</span></p>
                </div>
            </div>
        </el-scrollbar>
    </div>
</template>
src/components/plugin/FullScreen.js
@@ -48,7 +48,7 @@
      },
      _toggleTitle: function () {
        this.link.title = this.options.title[this._map.isFullscreen()]
        this.link.title = this.optionsthis._map.isFullscreen()]
      }
    })
src/components/table/enterprise.vue
@@ -1,13 +1,22 @@
<template>
    <div class="enterprise-panel">
        <div class="enterprise-function" @click="showWarnDialog()">
            <div :class='["iconBtn",warnVisible ? "active" : ""]'><span><img src="@/assets/images/map-pages/icon/map/warn.png" alt="" width="26px" style="display: block;margin: auto"><span class="icon-name">预报警</span></span></div>
            <div :class='["iconBtn",warnVisible ? "active-button" : ""]'>
                <img src="@/assets/images/map-pages/icon/map/warn.png" alt="" class="icon">
                <span class="icon-name">预报警</span>
                <!--    <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="预报警" placement="left">
                    <img src="@/assets/images/map-pages/icon/map/warn.png" alt="" width="26px" style="display: block;margin: auto">
                </el-tooltip> -->
            </div>
        </div>
        <div class="enterprise-function" @click="showStatisDialog()">
            <div :class='["iconBtn",companyVisible ? "active" : ""]'><span><img src="@/assets/images/map-pages/icon/map/company.png" alt="" width="26px" style="display: block;margin: auto"><span class="icon-name">指标</span></span></div>
            <div :class='["iconBtn",companyVisible ? "active-button" : ""]'>
                <img src="@/assets/images/map-pages/icon/map/company.png" alt="" class="icon">
                <span class="icon-name">指标</span>
            </div>
        </div>
        <Dialog ref="warnDialog" title="企业预警报警分类统计">
        <Dialog ref="warnDialog" title="企业预警报警分类统计" >
            <warn></warn>
        </Dialog>
        <Dialog ref="indexStatisticsDialog" title="企业指标分类统计">
@@ -47,6 +56,17 @@
      this.$refs.indexStatisticsDialog.show()
      this.companyVisible = true
    }
  },
  mounted () {
    const that = this
    this.$nextTick(() => {
      this.$refs.warnDialog.$on('closeDialog', () => {
        that.warnVisible = false
      })
      this.$refs.indexStatisticsDialog.$on('closeDialog', () => {
        that.companyVisible = false
      })
    })
  }
}
</script>
@@ -54,27 +74,15 @@
<style lang="less" scoped>
.enterprise-panel{
    position: absolute;
    right: 5px;
    top:5px;
    right: 0.14583rem;
    top:0.11979rem;
    z-index: 9999;
    .enterprise-function{
        width: 50px;
        float: left;
        cursor: pointer;
    }
    .iconBtn {
        width:45px;
        text-align: center;
        background: rgba(0, 16, 30, 0.5);
        cursor: pointer;
        color: #00fff6;
        border: 0.00521rem solid #00fff6;
        box-shadow: 0 0 0.03rem #00fff6;
    }
    .active {
        // border: 0.00521rem solid #fff700;
        // box-shadow: 0 0 0.03rem #fff700;
    .enterprise-function:not(:first-child){
        margin-left: 10px;
    }
}
</style>
src/components/table/summarySheets.vue
@@ -1,6 +1,9 @@
<template>
    <div class="summary-sheets">
        <div :class='["iconBtn",summaryVisible ? "active" : ""]' @click="closeBtn"><span><img src="@assets/images/map-pages/icon/toolbox/table.png" alt="" width="26px" style="display: block;margin: auto"><span class="icon-name">统计表</span></span></div>
        <div :class='["iconBtn",summaryVisible ? "active-button" : ""]' @click="closeBtn">
            <img src="@assets/images/map-pages/icon/toolbox/table.png" alt="" class="icon">
            <span class="icon-name">统计表</span>
        </div>
        <Dialog ref="summarySheets" title="企业指标分类统计">
          <tab-handover></tab-handover>
        </Dialog >
@@ -26,7 +29,16 @@
      // const summary = document.getElementById('summary')
      // summary.style.display = 'none'
      this.$refs.summarySheets.show()
      this.summaryVisible = true
    }
  },
  mounted () {
    const that = this
    this.$nextTick(() => {
      this.$refs.summarySheets.$on('closeDialog', () => {
        that.summaryVisible = false
      })
    })
  }
}
</script>
@@ -34,29 +46,17 @@
<style scoped lang="less">
    .summary-sheets {
        position: absolute;
        top: 70px;
        left: 1px;
        top: 0.46rem;
        left: 0.14583rem;
        /*width: 850px;*/
        /*height: 265px;*/
        z-index:500;
        /*color: #fff;*/
       .el-icon-c-scale-to-original {
         width: 30px;
         height: 30px;
         font-size: 30px;
       }
        .iconBtn {
            width:45px;
            text-align: center;
            background: rgba(0, 16, 30, 0.5);
            cursor: pointer;
            color: #00fff6;
            border: 0.00521rem solid #00fff6;
            box-shadow: 0 0 0.03rem #00fff6;
        }
        .active {
            border: 0.00521rem solid #fff700;
            box-shadow: 0 0 0.03rem #fff700;
        }
    }
</style>
src/conf/Constants.js
@@ -11,6 +11,18 @@
  sewersAreaGs: 'Company.js'
}
export const STYLES = {
  FILL: true,
  WEIGHT: 3,
  FILL_COLOR: '#73b2ff',
  COLOR: '#73b2ff',
  FILL_OPACITY: 0.2,
  OPACITY: 1,
  DASH_ARRAY: '4,4',
  DASH_SPPED: -5,
  ICON_SIZE: [20, 20]
}
export const props = {
  pipename: '管线名称',
  pipecode: '管线编码',
src/conf/LayerPipeLine.js
New file
@@ -0,0 +1,13 @@
/**
 * 管线数据
 */
import { LayerPipeLines } from './layers/LayerPipeLines'
import { LayerArea } from './layers/LayerArea'
import { LayerPk } from './layers/LayerPk'
export const LayerPipeLine = {
  code: 'sewersPipeLine',
  name: '管线数据',
  checked: true,
  layers: [LayerPipeLines, LayerPk, LayerArea]
}
src/conf/LayerTopic.js
New file
@@ -0,0 +1,16 @@
/**
 * 区域
 */
import { LayerWasteWater } from './layers/LayerWasteWater'
import { LayerWasteGas } from './layers/LayerWasteGas'
import { LayerWasteSolid } from './layers/LayerWasteSolid'
import { LayerAirQuality } from './layers/LayerAirQuality'
import { LayerEnvRisk } from './layers/LayerEnvRisk'
import { LayerSoilGroundWater } from './layers/LayerSoilGroundWater'
export const LayerTopic = {
  code: 'sewersTopic',
  name: '专题图层',
  checked: true,
  layers: [LayerWasteWater, LayerWasteGas, LayerWasteSolid, LayerAirQuality, LayerEnvRisk, LayerSoilGroundWater]
}
src/conf/MapConfig.js
@@ -1,14 +1,8 @@
import * as L from 'leaflet'
import TDT from './TDT'
import { LayerSewersPoint } from './layers/LayerSewers'
import { LayerWasteWater } from './layers/LayerWasteWater'
import { LayerSolidWaste } from './layers/LayerSolidWaste'
import { LayerWasteGas } from './layers/LayerWasteGas'
import { LayerPipeLine } from './layers/LayerPipeLine'
import { LayerArea } from './layers/LayerArea'
import { LayerPk } from './layers/LayerPk'
import { LayerFsss } from './layers/LayerFsss'
import { LayerHbss } from './layers/LayerHbss'
import { LayerTopic } from './LayerTopic'
import { LayerPipeLine } from './LayerPipeLine'
const curWwwPath = window.document.location.href
const pathname = window.document.location.pathname
@@ -32,7 +26,7 @@
  // center: [26, 104],
  center: [38.828558921813965, 117.41676807403564],
  // center: [29.454345703125, 113.40362548828125],
  zoom: 14,
  zoom: 5,
  worldCopyJump: true,
  inertia: true,
  zoomControl: false,
@@ -48,7 +42,7 @@
  IntranetBaseMaps: TDT.intranet,
  InternetBaseMaps: TDT.internet,
  Layers: {
    LayerSewersLine: [LayerPipeLine, LayerFsss, LayerHbss, LayerArea, LayerPk, LayerWasteWater, LayerWasteGas, LayerSolidWaste],
    LayerSewersLine: [LayerPipeLine, LayerTopic],
    layerSewersPoint: LayerSewersPoint
  } // 污雨水图层配置
}
src/conf/Styles.js
File was deleted
src/conf/layers/LayerAirQuality.js
New file
@@ -0,0 +1,20 @@
/**
 * 区域
 */
const APP_GIS_HOST_2 = 'http://xearth.cn:8088'
const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs'
export const LayerAirQuality = {
  code: 'sewersAirQuality',
  name: '空气质量',
  checked: true,
  layers: [
    {
      code: 'airQualityStation',
      name: '监测站',
      sname: '监测站', // 表名
      checked: true, // 默认选中状态
      url: WFS_URL + '?TYPENAME=公司',
      minZoom: 10
    }
  ]
}
src/conf/layers/LayerBasin.js
New file
@@ -0,0 +1,44 @@
/**
 * 流域
 */
const APP_GIS_HOST_2 = 'http://xearth.cn:8088'
const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs'
export const LayerBasin = {
  code: 'sewersBasin',
  name: '区域图层',
  checked: true,
  layers: [
    {
      code: 'basinCj',
      name: '长江流域',
      sname: '长江流域', // 表名
      checked: true, // 默认选中状态
      url: WFS_URL + '?TYPENAME=公司',
      minZoom: 10
    },
    {
      code: 'basinHh',
      name: '黄河流域',
      sname: '黄河流域',
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=码头',
      minZoom: 10
    },
    {
      code: 'basinBh',
      name: '渤海流域',
      sname: '渤海流域',
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=装置区',
      minZoom: 10
    },
    {
      code: 'basinQt',
      name: '其他',
      sname: '其他',
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=装置区',
      minZoom: 10
    }
  ]
}
src/conf/layers/LayerEnvRisk.js
New file
@@ -0,0 +1,52 @@
/**
 * 环境风险
 */
const APP_GIS_HOST_2 = 'http://xearth.cn:8088'
const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs'
export const LayerEnvRisk = {
  code: 'sewersEnvRisk',
  name: '环境风险',
  checked: true,
  layers: [
    {
      code: 'envRiskChart',
      name: '风险统计图',
      sname: '风险统计图', // 表名
      checked: true, // 默认选中状态
      url: WFS_URL + '?TYPENAME=公司',
      minZoom: 10
    },
    {
      code: 'envRiskMaterial',
      name: '物资库',
      sname: '物资库',
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=码头',
      minZoom: 10
    },
    {
      code: 'envRiskMajor',
      name: '重大风险',
      sname: '重大风险',
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=装置区',
      minZoom: 10
    },
    {
      code: 'envRiskFirst',
      name: '一级风险',
      sname: '一级风险',
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=装置区',
      minZoom: 10
    },
    {
      code: 'envRiskSecond',
      name: '二级风险',
      sname: '二级风险',
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=装置区',
      minZoom: 10
    }
  ]
}
src/conf/layers/LayerPipeLines.js
File was renamed from src/conf/layers/LayerPipeLine.js
@@ -4,8 +4,8 @@
const APP_GIS_HOST_2 = 'http://xearth.cn:8088'
const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs'
export const LayerPipeLine = {
  code: 'sewersPipeLine',
export const LayerPipeLines = {
  code: 'sewersPipeLines',
  name: '管线',
  checked: true,
  layers: [
src/conf/layers/LayerSewers.js
@@ -15,7 +15,7 @@
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=管网',
      minZoom: 10, // 在指定级别显示
      childLayer: 'fsss,hbss' // 关联PointLayers
      childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers
    },
    {
      code: 'oilline',
@@ -24,7 +24,7 @@
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=含油污水',
      minZoom: 10,
      childLayer: 'fsss,hbss' // 关联PointLayers
      childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers
    },
    {
      code: 'saltline',
@@ -33,7 +33,7 @@
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=含盐污水',
      minZoom: 10,
      childLayer: 'fsss,hbss' // 关联PointLayers
      childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers
    },
    {
      code: 'alkaliline',
@@ -42,7 +42,7 @@
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=含碱污水',
      minZoom: 10,
      childLayer: 'fsss,hbss' // 关联PointLayers
      childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers
    },
    {
      code: 'outlet',
@@ -60,7 +60,7 @@
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=事故水',
      minZoom: 10,
      childLayer: 'fsss,hbss' // 关联PointLayers
      childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers
    },
    {
      code: 'loopline',
@@ -69,7 +69,7 @@
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=循环水',
      minZoom: 10,
      childLayer: 'fsss,hbss' // 关联PointLayers
      childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers
    },
    {
      code: 'purifyline',
@@ -78,7 +78,7 @@
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=净化水',
      minZoom: 10,
      childLayer: 'fsss,hbss' // 关联PointLayers
      childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers
    },
    {
      code: 'lifeline',
@@ -87,7 +87,7 @@
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=生活污水',
      minZoom: 10,
      childLayer: 'fsss,hbss' // 关联PointLayers
      childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers
    },
    {
      code: 'areainfo',
src/conf/layers/LayerSoilGroundWater.js
New file
@@ -0,0 +1,52 @@
/**
 * 土壤及地下水
 */
const APP_GIS_HOST_2 = 'http://xearth.cn:8088'
const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs'
export const LayerSoilGroundWater = {
  code: 'sewersSoilGroundWater',
  name: '土壤及地下水',
  checked: true,
  layers: [
    {
      code: 'soil',
      name: '土壤',
      sname: '土壤', // 表名
      checked: true, // 默认选中状态
      url: WFS_URL + '?TYPENAME=公司',
      minZoom: 10
    },
    {
      code: 'groundWater',
      name: '地下水',
      sname: '地下水',
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=码头',
      minZoom: 10
    },
    {
      code: 'firstRiskBlock',
      name: '一级风险地块',
      sname: '一级风险地块',
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=装置区',
      minZoom: 10
    },
    {
      code: 'secondRiskBlock',
      name: '二级风险地块',
      sname: '二级风险地块',
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=装置区',
      minZoom: 10
    },
    {
      code: 'threeRiskBlock',
      name: '三级风险地块',
      sname: '三级风险地块',
      checked: true, // 默认选中状态
      wfs: WFS_URL + '?TYPENAME=装置区',
      minZoom: 10
    }
  ]
}
src/conf/layers/LayerWasteSolid.js
File was renamed from src/conf/layers/LayerSolidWaste.js
@@ -3,7 +3,7 @@
 * @type {string}
 */
export const LayerSolidWaste = {
export const LayerWasteSolid = {
  code: 'solidWaste',
  name: '固废',
  checked: true,
src/styles/theme-dark/el-ui/button.less
@@ -1,35 +1,35 @@
.el-button--primary{
--primary{
    color: @dark--text-base;
    background-color: @dark--button-primary-background-color;
    border-color: @dark--primary-color;
}
.el-button--primary:hover, .el-button--primary:focus{
--primary:hover, --primary:focus{
    background: rgb(51, 163, 182);
    border-color: rgb(81, 229, 253);
    color: @dark--title-color;
}
.el-button--primary:active{
--primary:active{
    background: rgb(0, 126, 148);
    border-color: rgb(34, 200, 228);
    color: @dark--title-color;
    outline: none;
}
.el-button--primary.is-active{
--primary.is-active{
    background: rgb(0, 126, 148);
    border-color: rgb(34, 200, 228);
    color: @dark--title-color;
}
.el-button--primary.is-plain{
--primary.is-plain{
    background: transparent;
    border: 1px solid #198CA7;
    color: rgb(31, 45, 61);
}
.el-button--primary.is-plain:hover, .el-button--primary.is-plain:focus{
--primary.is-plain:hover, --primary.is-plain:focus{
    background: transparent;
    border-color: @dark--primary-color;
    color: @dark--button-primary-background-color;
src/views/MapTemplate.vue
@@ -3,11 +3,7 @@
    <popup ref="popup" @callPopup="callPopup"></popup>
    <div id="map" ref="rootmap">
    </div>
    <sgis-layer-controller :preset="'warningPreset'">
      <lc-basemap></lc-basemap>
      <!--            <div class="barline"></div>-->
      <lc-service-layer class="barline" v-if="lcServiceLayerVisible"></lc-service-layer>
    </sgis-layer-controller>
    <sgis-layer-controller></sgis-layer-controller>
    <monitor-panel></monitor-panel>
    <!--        <top-enterprise-panel></top-enterprise-panel>-->
    <tool-box-panel ref="toolBox"></tool-box-panel>
@@ -28,8 +24,6 @@
import Sgis from '@src/Sgis'
// import mapConfig from '@/conf/MapConfig'
import SgisLayerController from '@components/LayerController/LayerController'
import LcBasemap from '@components/LayerController/modules/LcBaseMap'
import LcServiceLayer from '@components/LayerController/modules/LcServiceLayer'
import MonitorPanel from '@components/panel/RightSearchPanel'
// import TopEnterprisePanel from '@components/panel/TopEnterprisePanel'
import summarySheets from '@components/table/summarySheets.vue'
@@ -38,10 +32,6 @@
// import MenuSpecial from '@components/panel/MenuTopic'
import LegendPanel from '@components/panel/LegendPanel'
import Enterprise from '../components/table/enterprise'
// 底图业务js逻辑
import AddWasteWaterHelper from '@components/BaseNav/WasteWater/WasteWater'
import AddGasHelper from '@components/BaseNav/flueGas/flueGas'
// // 公共展示数据
import PublicBounced from '@components/BaseNav/PublicBounced/PublicBounced'
import LayerFactory from '@components/LayerController/service/LayerFactory'
@@ -56,8 +46,6 @@
    // TopEnterprisePanel,
    SgisLayerController,
    MonitorPanel,
    LcBasemap,
    LcServiceLayer,
    Popup,
    summarySheets,
    PublicBounced
@@ -83,44 +71,6 @@
    })
  },
  methods: {
    AddGasHelper () {
      const data = {
        companyId: 3900100145,
        id: '',
        monType: 2,
        userCode: 'wenchun.deng',
        monDuration: '',
        epName: '',
        secdDeptId: '',
        contrLevel: '',
        dataStatus: '',
        dataFlag: '',
        runStatus: '',
        emissTypeId: ''
      }
      const AddGas = new AddGasHelper({ map: this.map })
      AddGas.requestData(data)
      AddGas.SetPlueGasContent(this.config, this.$refs.PublicBounced)
    },
    ChangeWaterState () {
      const data = {
        companyId: 3900100145,
        id: '',
        monType: 1,
        userCode: 'wenchun.deng',
        monDuration: '',
        epName: '',
        secdDeptId: '',
        contrLevel: '',
        dataStatus: '',
        dataFlag: '',
        runStatus: '',
        emissTypeId: ''
      }
      const AddWasteWater = new AddWasteWaterHelper({ map: this.map })
      AddWasteWater.requestData(data)
      AddWasteWater.SetWasteWaterContent(this.config, this.$refs.PublicBounced)
    },
    saveMapStatus () {
      window.serviceLayerHelper = this.serviceLayerHelper
      this.$store.commit('setMapObj', this.map)
@@ -140,16 +90,11 @@
        L: window.L,
        map: this.map
      })
      layerFactory.init()
      layerFactory.init(this.$store.state.map.serviceLayers.LayerSewersLine)
      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.vectorLayerHelper = Sgis.initVectorLayersHelper(this.map) // 初始化动态要素图层助手
      this.vectorLayerHelper.initVectorLayers(this.config)
@@ -161,36 +106,6 @@
      // this.setBasemapHelper(this.basemapHelper)
      // this.setServiceLayerHelper(this.serviceLayerHelper)
      // this.setVectorLayerHelper(this.vectorLayerHelper)
      this.addMarker()
    },
    addMarker () {
      const L = this.L
      var icon = new L.Icon({
        iconUrl: 'assets/images/map/marker-icon.png',
        shadowUrl: 'assets/images/map/marker-shadow.png',
        iconSize: [25, 41],
        iconAnchor: [12, 41],
        popupAnchor: [1, -34],
        shadowSize: [41, 41]
      })
      var marker = L.marker([32.2221, 118.7843], {
        icon: icon
      }).addTo(this.map)
        .bindPopup(() => this.$refs.popup.$el, {
          className: 's-map-popup',
          minWidth: 300,
          closeButton: false,
          autoClose: false
        })
        .bindTooltip('字体光晕效果t.', {
          // permanent : true,
          offset: [0, 0], // 偏移
          direction: 'right', // 放置位置
          // sticky:true,//是否标记在点上面
          className: 'anim-tooltip'// CSS控制
        })
      marker.on('popupopen', this.onLayerClick)
    },
    onLayerClick () {
      this.$refs.popup.setShow()
src/views/baseInfoMgr/pipeline/PipeLineIndex.vue
@@ -9,7 +9,6 @@
import 'leaflet/dist/leaflet.css'
import Sgis from '@src/Sgis'
import PipeLineList from './PipeLineList'
import { mapMutations } from 'vuex'
export default {
  name: 'PipeLineIndex',
@@ -20,20 +19,10 @@
    })
  },
  methods: {
    ...mapMutations({
      setMapObj: 'setMapObj',
      setLayerHelper: 'setLayerHelper'
    }),
    init () {
      const mapcontainer = this.$refs.rootmap
      this.mapObj = Sgis.initMap(mapcontainer)
      this.basemapHelper = Sgis.initBasemaps(this.mapObj.map, this.mapObj.L) // 初始化底图
      this.vectorLayerHelper = Sgis.initLayers(this.mapObj.map, this.mapObj.L, {}, this.$nodeEnv) // 初始化业务图层
      this.setLayerHelper(this.vectorLayerHelper)
      Sgis.initMap(mapcontainer)
      return this.map
    },
    setLayerHelper () {
    }
  }
}
src/views/popup/Dialog.vue
@@ -5,6 +5,7 @@
            width="30%"
            :modal="false"
            :close-on-click-modal="false"
             @close='closeDialog'
            center>
        <slot></slot>
    </el-dialog>
@@ -27,6 +28,9 @@
  methods: {
    show () {
      this.centerDialogVisible = true
    },
    closeDialog () {
      this.$emit('closeDialog')
    }
  }
}