派生自 wuyushui/SewerAndRainNetwork

徐旺旺
2021-05-13 275ab635e9bb15e083462abf15070d601b577e62
Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop
3个文件已添加
21个文件已修改
326 ■■■■ 已修改文件
public/static/SourcesPoll.json 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/mapApi.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/mapUrl.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/pipeline/AffiliatedFacilities.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/event/EventHandler.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/logic/SourcesPollution.js 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/logic/WasteGas.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/logic/WasteSolid.js 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/logic/WasteWater.js 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/modules/LcServiceLayer.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/service/AnimalService.js 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/service/WmsLayerService.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/emergency/index.vue 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/RightSearchPanel.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/SewersSelect/EnterpriseEmergency/EventQuery.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/SewersSelect/EnterpriseEmergency/ReportPopup.vue 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/SewersSelect/EnterpriseEmergency/ResourcesQuery.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/Constants.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/LayerTopic.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/MapConfig.js 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerEntEmer.js 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/dragBoxes.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/MapTemplate.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/static/SourcesPoll.json
New file
@@ -0,0 +1,24 @@
{
  "Result": {
    "IsSuccess": 1,
    "ErrorMsg": "",
    "DataInfo": [
      [
        39.90751504898071,
        116.38927817344666
      ],
      [
        39.9088454246521,
        116.38689637184143
      ],
      [
        39.90931749343872,
        116.39344096183777
      ],
      [
        39.90489721298218,
        116.39116644859314
      ]
    ]
  }
}
src/api/mapApi.js
@@ -85,5 +85,8 @@
  },
  getCrossSection (data) {
    return axios.get(mapUrl.getCrossSection, data)
  },
  getSourcesPoll (data) {
    return axios.get(mapUrl.getSourcesPoll, data)
  }
}
src/api/mapUrl.js
@@ -35,3 +35,6 @@
export const findFlowDirection = $HOSTANALYSE + '/findFlowDirection'
export const findLeakages = $HOSTANALYSE + '/findLeakages'
export const getCrossSection = $HOSTANALYSE + '/getCrossSection'
// 污染源
export const getSourcesPoll = 'http://localhost:8080/static/SourcesPoll.json'
src/components/BaseNav/pipeline/AffiliatedFacilities.vue
@@ -15,8 +15,8 @@
                       <div class="el-select el-select--mini">8888</div>
                    </el-form-item> -->
                    <el-form-item label="设施类型:" size="mini" class="search-panel-item">
                        <el-select style="width: 100%"  v-model="form.dataType" @change="handleDataType"  :popper-class="'select-down'">
                            <el-option v-for="(item,index) in classification" :key="index" :label="item.name" :value="item"></el-option>
                        <el-select style="width: 100%"  v-model="dataType" @change="handleDataType"  :popper-class="'select-down'">
                            <el-option v-for="(item,index) in classification" :key="index" :label="item.name" :value="item.name"></el-option>
                        </el-select>
                    </el-form-item>
                    <div class="rightButtonSearch">
@@ -62,6 +62,7 @@
        areaVal: '',
        keyword: ''
      },
      dataType: '',
      classification: LayerFsss.layers,
      list: [],
      activeNum: -1
@@ -94,17 +95,17 @@
      window.layerFactory.flyByFeature(val1, val.code)
    },
    handleDataType () {
      console.log(this.dataType)
    },
    async handleSearch () {
      var wfsHelper = new WfsHelper()
      // todo 现在管网还没区分开类型,后面改
      wfsHelper.addTypeName(this.form.dataType.sname)
      wfsHelper.addTypeName(this.dataType)
      wfsHelper.addLike('name', this.form.keyword)
      // const _this = this
      const res = await AjaxUtils.GetDataAsynByUrl(wfsHelper.getUrl(), {})
      console.log(res)
      // console.log(res)
      if (res instanceof Object && Object.prototype.hasOwnProperty.call(res, 'features')) {
        const datas = res.features
src/components/LayerController/event/EventHandler.js
@@ -5,6 +5,7 @@
    this.mapClickForLayers = {}
    window.map.on('click', (e) => {
      console.log(e)
      for (var k in this.mapClickForLayers) {
        const func = this.mapClickForLayers[k]
        console.log(func)
src/components/LayerController/logic/SourcesPollution.js
New file
@@ -0,0 +1,22 @@
/**
 * 污染源
 *  */
// 请求接口数据
const mapApi = require('../../../api/mapApi').default
// 使用封装方法
const AnimalService = require('../service/AnimalService').default
module.exports = function () {
  this.init = async (layer, L) => {
    this.animalService = new AnimalService({
      L: L,
      layer: layer
    })
    const result = await mapApi.getSourcesPoll()
    console.log(result)
    const resultData = result.Result.DataInfo || []
    const polygon = L.polygon(resultData, { color: 'yellow' })
    polygon.addTo(layer)
  }
}
src/components/LayerController/logic/WasteGas.js
@@ -21,7 +21,10 @@
   */
  this.init = async (layer, L) => {
    // console.log(WasteGasChats)
    this.animalService = new AnimalService({ L: L, layer: layer })
    this.animalService = new AnimalService({
      L: L,
      layer: layer
    })
    const res = await mapApi.getWasteGas()
    // console.log(res)
    const data = res.Result.DataInfo || {}
@@ -53,7 +56,7 @@
  }
  this.bindTooltip = (layer) => {
    return layer.options.test.Name
    return '<div class="company-bindTooltip-hover"><h3>天津石化</h3></div>' + layer.options.test.Name
  }
  this.clickListener = async (e) => {
@@ -71,7 +74,7 @@
      },
      title: title // 标题
    })
    this.setPanTo(e.latlng, 150)
    this.animalService.setPanTo(e.latlng, 150)
  }
  // 不同类型图片加载
  this.differentTypes = (ContrLevel) => {
@@ -88,12 +91,5 @@
    //   effectOfChange = ImgGray
    // }
    return effectOfChange
  }
  this.setPanTo = (pos, value) => {
    var position = pos
    position = window.map.latLngToLayerPoint(position)
    position.y += value
    position = window.map.layerPointToLatLng(position)
    window.map.flyTo(position)
  }
}
src/components/LayerController/logic/WasteSolid.js
@@ -46,6 +46,7 @@
  }
  this.bindTooltip = (layer) => {
    // '<div class="company-bindTooltip-hover"><h3>天津石化</h3></div>' +
    return layer.options.totransferData.Name
  }
@@ -65,7 +66,7 @@
      title: title // 标题
    })
    /* flyTo()弹出框平移事件 */
    this.setPanTo(e.latlng, 300)
    this.animalService.setPanTo(e.latlng, 300)
  }
  // 不同类型图片封装
@@ -77,14 +78,5 @@
      effectOfChange = setting
    }
    return effectOfChange
  }
  // flayTo() 弹框的可滑动事件
  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/logic/WasteWater.js
@@ -50,7 +50,7 @@
  // 分割线-------------------------------------------------------------------------------
  this.bindTooltip = (layer) => {
    return layer.options.totransferData.Name
    return '<div class="company-bindTooltip-hover"><h3>天津石化</h3></div>' + layer.options.totransferData.Name
  }
  this.clickListener = (e) => {
@@ -70,7 +70,7 @@
      },
      title: title // 标题
    })
    this.setPanTo(e.latlng, 150)
    this.animalService.setPanTo(e.latlng, 150)
  }
  this.requestWasteWaterData = async (e) => {
    // 基本信息 和 详细信息 展示数据所需参数
@@ -132,13 +132,5 @@
        break
    }
    return testChange
  }
  // flayTo() 弹框的可滑动事件
  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
@@ -53,9 +53,14 @@
      item.checked = !item.checked
      this.toggleLayer(item)
      this.swLayers(item.layers, item.checked)
      // 判断是否是点击 专题图层 下的子节点
      if (v === '专题图层') {
        bus.$emit('changeSearchBar', item)
      }
      // 判断是否点击的 一级专题图层
      if (item.name === '专题图层') {
        console.log(item, '88888888888888')
      }
      this.serviceLayers.forEach(function (item1, index1) {
        if (item1.layers) {
src/components/LayerController/service/AnimalService.js
@@ -33,6 +33,19 @@
      }
    }, 1000)
  }
  /**
   * 设置弹窗平移位置
   * @param pos
   * @param value
   */
  setPanTo = (pos, value) => {
    var position = pos
    position = this.layer.latLngToLayerPoint(position)
    position.y += value
    position = this.layer.layerPointToLatLng(position)
    this.layer.flyTo(position)
  }
}
export default AnimalService
src/components/LayerController/service/WmsLayerService.js
@@ -85,7 +85,7 @@
  clickListener () {
    window.map.on('click', (e) => {
      console.log(e)
      // console.log(e)
      this.featureGroup.clearLayers()
      var point = this.map.latLngToContainerPoint(e.latlng, this.map.getZoom())
      var size = this.map.getSize()
src/components/emergency/index.vue
New file
@@ -0,0 +1,89 @@
<template>
    <el-dialog class="emergency" :visible.sync="showSchedule" :title="tit" :modal="false" v-dialogDrag >
        <!-- 基础信息 -->
        <div class="basicInformation">
            <div>
                <h3 class="panel-title">演练信息</h3>
                <ul>
                    <li>事件类型:</li>
                    <li>事件位置:</li>
                    <li>位置描述:</li>
                    <li>事件时间:</li>
                    <li>附件:<a href="javascript:;">附件1</a><a href="javascript:;">附件1</a></li>
                </ul>
                <h3 class="panel-title">预案匹配</h3>
                <el-table :data="tableData" style="width: 100%">
                    <el-table-column prop="name" label="预案名称"></el-table-column>
                    <el-table-column prop="define" label="预案定义"></el-table-column>
                    <el-table-column prop="hierarchy" label="预案层级"></el-table-column>
                    <el-table-column prop="classification" label="预案分类"></el-table-column>
                    <el-table-column label="附件">
                        <template>
                            <a href="javascript:;">预案</a>
                        </template>
                    </el-table-column>
                </el-table>
            </div>
            <div>
                <div class="panel-title">搜索</div>
                <div>
                    <ul>
                        <li>
                            <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
                            <div style="margin: 15px 0;"></div>
                            <el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
                                <el-checkbox v-for="city in cities" :label="city" :key="city">{{city}}</el-checkbox>
                            </el-checkbox-group>
                        </li>
                    </ul>
                </div>
            </div>
        </div>
    </el-dialog>
</template>
<script>
const cityOptions = ['上海', '北京', '广州', '深圳']
export default {
  name: 'index',
  data () {
    return {
      tit: '事件处置',
      showSchedule: true,
      tableData: [
        { name: '预案A', define: '综合预案', hierarchy: '二级单位', classification: '环保' },
        { name: '预案B', define: '专项预案', hierarchy: '直属企业', classification: '环保' },
        { name: '预案C', define: '现场处置预案', hierarchy: '基层单位', classification: '生产' },
        { name: '预案D', define: '现场处置预案', hierarchy: '基层单位', classification: '生产' },
        { name: '预案E', define: '现场处置预案', hierarchy: '基层单位', classification: '生产' }
      ],
      checkAll: false,
      checkedCities: ['上海', '北京'],
      cities: cityOptions,
      isIndeterminate: true
    }
  },
  methods: {
    handleCheckAllChange (val) {
      this.checkedCities = val ? cityOptions : []
      this.isIndeterminate = false
    },
    handleCheckedCitiesChange (value) {
      const checkedCount = value.length
      this.checkAll = checkedCount === this.cities.length
      this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length
    }
  }
}
</script>
<style scoped lang="less">
.emergency{
    /deep/ .el-dialog{
        width: 750px;
    }
    .basicInformation{
        display: flex;
    }
}
</style>
src/components/panel/RightSearchPanel.vue
@@ -86,7 +86,6 @@
      hbVisible: false,
      pkVisible: false,
      toggleMonitorStyle: 'right:0px',
      title: '污雨水管网',
      isCollapse: true,
      selectGroup: false
src/components/panel/topicSearch/SewersSelect/EnterpriseEmergency/EventQuery.vue
@@ -86,7 +86,9 @@
</template>
<script>
import { LayerEntEmer } from '../../../../../conf/layers/LayerEntEmer'
// import { LayerEntEmer } from '../../../../../conf/layers/LayerEntEmer'
import ReportPopup from './ReportPopup'
export default {
  name: 'EventQuery',
@@ -97,7 +99,7 @@
        { name: '金陵石化' },
        { name: '南京化学' }
      ],
      subItems: LayerEntEmer.layers,
      subItems: ['事前阶段', '审批阶段', '事件完结'],
      form: {
        pipelineType: '',
        dataType: '',
@@ -128,6 +130,16 @@
    },
    btnAffiliatedFacilities () {
      console.log('item')
      window.$layer.open({
        content: {
          content: ReportPopup, // 组件
          parent: this, // 父组件
          data: { // 传递的参数
            // storagePlaceId: e.layer.options.totransferData.StoragePlaceId
          }
        }
        // title: 'title' // 标题
      })
    }
  }
}
src/components/panel/topicSearch/SewersSelect/EnterpriseEmergency/ReportPopup.vue
@@ -1,10 +1,10 @@
<template>
    <div class="report-popup map-background" v-drag v-show="!flags">
        <div class="public-bounced-title panel-title">
            <span>上报事件</span>
            <i class="el-icon-circle-close" @click="closePopup"></i>
        </div>
        <div class="report-content">
    <!--    <div class="public-bounced map-background">-->
    <!--        <div class="public-bounced-title panel-title">-->
    <!--            <span>上报事件</span>-->
    <!--            <i class="el-icon-circle-close" @click="closePopup"></i>-->
    <!--        </div>-->
    <div class="public-bounced-content">
            <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="search-form">
                <el-form-item label="事件名称" prop="nameEvent" class="input-event-name">
                    <el-input v-model="ruleForm.nameEvent" placeholder="将事件命名"></el-input>
@@ -62,7 +62,7 @@
                    </el-col>
                    <el-col :span="12">
                        <el-form-item label="管线类型" prop="name">
                            <label for="">自动带出不可修改</label>
                        <label>自动带出不可修改</label>
                        </el-form-item>
                    </el-col>
                </el-row>
@@ -101,7 +101,7 @@
                </el-form-item>
            </el-form>
        </div>
    </div>
    <!--    </div>-->
</template>
<script>
@@ -109,7 +109,6 @@
export default {
  name: 'ReportPopup',
  props: ['flags'],
  data () {
    return {
      flag: false,
@@ -232,12 +231,11 @@
</script>
<style lang="less" scoped>
    .report-popup {
        width: 35%;
        z-index: 999;
    .public-bounced {
        z-index: 2000;
        position: absolute;
        top: 15%;
        left: 35%;
        left: 20%;
    }
    /deep/ input {
src/components/panel/topicSearch/SewersSelect/EnterpriseEmergency/ResourcesQuery.vue
@@ -69,19 +69,18 @@
                </div>
            </div>
        </el-scrollbar>
        <ReportPopup :flags="flag"></ReportPopup>
    </div>
</template>
<script>
import { LayerEntEmer } from '../../../../../conf/layers/LayerEntEmer'
import ReportPopup from './ReportPopup'
// import ReportPopup from './ReportPopup'
export default {
  name: 'ResourcesQuery',
  components: {
    ReportPopup
  },
  // components: {
  //   ReportPopup
  // },
  data () {
    return {
      form: {
@@ -96,14 +95,12 @@
      },
      items: [LayerEntEmer],
      subItems: LayerEntEmer.layers,
      searchDataDisplay: [],
      flag: false
      searchDataDisplay: []
    }
  },
  methods: {
    showthePopup () {
      console.log('item')
      this.flag = !this.flag
    },
    handlePipelineType () {
      console.log('item')
src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue
@@ -4,12 +4,12 @@
        <!--<el-card>-->
        <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
            <el-tab-pane label="连通性" name="first">
               <div>
               <el-row>
                   <el-button type="primary" @click="linkClickStart" size="mini" title="地图上点击选择需要进行连通分析的管段">起始管段</el-button>
                   <el-button type="primary" @click="linkClickEnd" size="mini" title="地图上点击与所选管段连通管段">结束管段</el-button>
                   <el-button type="primary" @click="linkQuery" size="mini" title="根据起始、结束管段进行连通性分析">连通性分析</el-button>
                   <el-button type="primary" @click="handleClick" size="mini" title="根据起始、结束管段进行连通性分析">清除</el-button>
               </div>
               </el-row>
                <!--        <el-scrollbar style="height:450px">-->
                <!--          <el-card shadow="hover">-->
                <span class="fixed-style">起始管段</span>
@@ -18,7 +18,7 @@
                    <el-table-column :show-overflow-tooltip="true" sortable width="100" prop="pipecode" label="管段名称"></el-table-column>
                    <el-table-column sortable width="100" prop="material" label="起点编号"></el-table-column>
                    <el-table-column sortable width="100" prop="material" label="终点编号"></el-table-column>
                    <el-table-column fixed="right" class-name="fixed-table" label="操作" width="40">
                    <el-table-column width="40" fixed="right" class-name="fixed-table" label="操作">
                        <template slot-scope="scope">
                            <el-button @click="linkSelectStart(scope.row)" type="text" size="small">选择</el-button>
                        </template>
@@ -37,7 +37,7 @@
                    </el-table-column>
                </el-table>
                <span class="fixed-style">分析结果:<span style="color: red;margin-left: 15px">{{ currentLinkIsTrue }}</span></span>
                <el-table class="tableBox" highlight-current-row max-height="200" :data="tableDataLinkResult" @row-click="linkResultSelect" style="width: 100%" size="mini">
                <el-table class="tableBox" highlight-current-row max-height="200" :data="tableDataLinkResult" style="width: 100%" size="mini">
                    <el-table-column prop="material" label="管段类型"></el-table-column>
                    <el-table-column :show-overflow-tooltip="true" sortable width="100" prop="pipecode" label="管段名称"></el-table-column>
                    <el-table-column sortable width="100" prop="material" label="起点编号"></el-table-column>
@@ -261,7 +261,7 @@
      }
      // 根据参数请求接口数据
      const res = await mapApi.findPipelineByClickPoint(param)
      console.log(res.pipesegcode)
      console.log(res)
      if (this.activeName === 'first') {
        if (this.linkType === 1) {
          this.tableDataLinkStart = res.data
@@ -367,7 +367,7 @@
        startLineID: this.currentSelectStart.pipesegcode,
        endLineID: this.currentSelectEnd.pipesegcode
      }
      // console.log(param)
      console.log(param)
      // 请求接口和数据
      const res = await mapApi.findConnectedPipelines(param)
      // console.log(res)
@@ -823,6 +823,7 @@
    }
    /deep/ .fixed-style {
        /*margin: 15px;*/
        font-size: 12px;
        display: inline-block;
        color: #00fff6;
src/conf/Constants.js
@@ -18,7 +18,8 @@
  wasteWaterPfk: 'WasteWater.js',
  wasteSolidCcd: 'WasteSolid.js',
  sewersAreaGs: 'Company.js',
  pipesegment: 'PipeLineAnimal.js'
  pipesegment: 'PipeLineAnimal.js',
  pollutionSources: 'SourcesPollution.js'
}
export const STYLES = {
src/conf/LayerTopic.js
@@ -12,6 +12,7 @@
import { LayerArea } from './layers/LayerArea'
import { LayerVideo } from './layers/LayerVideo'
import { LayerPk } from './layers/LayerPk'
import { LayerEntEmer } from './layers/LayerEntEmer'
export const LayerTopic = {
  code: 'sewersTopic',
@@ -19,5 +20,5 @@
  checked: false,
  isShow: true,
  type: 0,
  layers: [LayerPollutionSources, LayerWasteWater, LayerWasteGas, LayerWasteSolid, LayerAirQuality, LayerEnvRisk, LayerSoilGroundWater, LayerPipeLines, LayerPk, LayerVideo, LayerArea]
  layers: [LayerPollutionSources, LayerWasteWater, LayerWasteGas, LayerWasteSolid, LayerAirQuality, LayerEnvRisk, LayerSoilGroundWater, LayerPipeLines, LayerPk, LayerVideo, LayerArea, LayerEntEmer]
}
src/conf/MapConfig.js
@@ -23,10 +23,10 @@
  minZoom: 3,
  maxZoom: 17,
  // center: [26, 104],
  // center: [34.828558921813965, 117.41676807403564],
  // zoom: 5,
  center: [32.25853085517883, 118.78592848777771],
  zoom: 16,
  center: [34.828558921813965, 117.41676807403564],
  zoom: 5,
  // center: [39.907214641571045, 116.39019012451172],
  // zoom: 16,
  worldCopyJump: true,
  inertia: true,
  zoomControl: false,
src/conf/layers/LayerEntEmer.js
@@ -1,22 +1,23 @@
/**
 * 企业预警
 * 企业应急
 */
import { LayerHbss } from './LayerHbss'
import { LayerFsss } from './LayerFsss'
import { PIPELINE_WFS } from '../Constants'
const WFS_URL = PIPELINE_WFS
export const LayerEntEmer = {
  code: 'reportEntemeage',
  name: '企业预警',
  name: '企业应急',
  checked: false,
  type: 0,
  childLayer: [LayerFsss, LayerHbss],
  layers: [
    {
      code: 'rainline',
      name: '事前阶段',
      name: '基础图层',
      sname: '管网',
      checked: false,
      type: 0,
@@ -32,7 +33,7 @@
    },
    {
      code: 'accidentline',
      name: '审批阶段',
      name: '在线监测',
      sname: '事故水',
      checked: false,
      // wmsLayers: 'sewer:pipeline_accident',
@@ -42,7 +43,22 @@
    },
    {
      code: 'oilline',
      name: '事件完结',
      name: '应急资源',
      sname: '含油污水',
      checked: false,
      type: 0,
      minZoom: 13,
      color: '#ffaa00',
      wmsLayers: 'sewer:pipeline_sewer',
      // wfs: 'http://xearth.cn:6240/geoserver/sewer/wfs?typeName=sewer:pipeline&maxFeatures=500&outputFormat=application%2Fjson&cql_filter=mediumtype=\'含油污水\'',
      styles: {
        COLOR: '#ffaa00',
        FILL_COLOR: '#ffaa00'
      }
    },
    {
      code: 'oil',
      name: '周边环境',
      sname: '含油污水',
      checked: false,
      type: 0,
src/utils/dragBoxes.js
@@ -4,6 +4,7 @@
const drag = Vue.directive('drag', {
  bind (el, binding, vnode, oldVnode) {
    const dialogHeaderEl = el.querySelector('.public-bounced-title')
    dialogHeaderEl.style.cursor = 'move'
    dialogHeaderEl.onmousedown = function (e) {
      var distX = e.pageX - el.offsetLeft
      var distY = e.pageY - el.offsetTop
src/views/MapTemplate.vue
@@ -18,6 +18,7 @@
        <!--    <el-button type="primary" @click="AddGasHelper" class="flue-gas">废气</el-button>-->
        <PublicBounced ref="PublicBounced"></PublicBounced>
<!--            <ReportPopup></ReportPopup>-->
        <Emergency ref="Emergency"></Emergency>
    </div>
</template>
@@ -39,6 +40,7 @@
import LayerFactory from '@components/LayerController/service/LayerFactory'
import EventHandler from '../components/LayerController/event/EventHandler'
// import ReportPopup from '../components/panel/topicSearch/SewersSelect/EnterpriseEmergency/ReportPopup'
import Emergency from '@components/emergency/index'
export default {
  name: 'MapTemplate',
@@ -52,7 +54,8 @@
    MonitorPanel,
    // summarySheets,
    SummarySheet,
    PublicBounced
    PublicBounced,
    Emergency
    // ReportPopup
  },
  data () {