派生自 wuyushui/SewerAndRainNetwork

徐旺旺
2021-05-11 896776bdfb2435ba9ed49996e39f007cc487ffe0
Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop
5个文件已添加
9个文件已修改
841 ■■■■ 已修改文件
src/api/host.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/mapUrl.js 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/RightSearchPanel.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/ReportSearch.vue 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/SewersSelect/AnalysisChoose/PublicWay.js 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/SewersSelect/EnterpriseEmergency/EventQuery.vue 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/SewersSelect/EnterpriseEmergency/ReportPopup.vue 223 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/SewersSelect/EnterpriseEmergency/ResourcesQuery.vue 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/SolidWasteSearch.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/table/Public.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/Topic.js 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerEntEmer.js 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/MapTemplate.vue 133 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/host.js
@@ -4,3 +4,9 @@
import { getSchemeHost } from '../utils/tools'
export const $HOST = getSchemeHost()
// 管线分析-线上
export const $HOSTANALYSE = 'http://xearth.cn:6202'
// 管线分析-本地
// export const $HOSTANALYSE = 'http://10.238.105.124:8089'
src/api/mapUrl.js
@@ -1,7 +1,7 @@
/**
 * 该文件配置接口的URL地址
 */
import { $HOST } from './host'
import { $HOST, $HOSTANALYSE } from './host'
export const GetUser = $HOST + '/user/getUser'
@@ -30,8 +30,8 @@
export const getCompany = $HOST + '/company/getCompany'
// 管线分析
export const findPipelineByClickPoint = 'http://xearth.cn:6202' + '/findPipelineByClickPoint'
export const findConnectedPipelines = 'http://xearth.cn:6202' + '/findConnectedPipelines'
export const findFlowDirection = 'http://xearth.cn:6202' + '/findFlowDirection'
export const findLeakages = 'http://xearth.cn:6202' + '/findLeakages'
export const getCrossSection = 'http://xearth.cn:6202' + '/getCrossSection'
export const findPipelineByClickPoint = $HOSTANALYSE + '/findPipelineByClickPoint'
export const findConnectedPipelines = $HOSTANALYSE + '/findConnectedPipelines'
export const findFlowDirection = $HOSTANALYSE + '/findFlowDirection'
export const findLeakages = $HOSTANALYSE + '/findLeakages'
export const getCrossSection = $HOSTANALYSE + '/getCrossSection'
src/components/panel/RightSearchPanel.vue
@@ -24,7 +24,7 @@
            </ul>
          </div>
        </div>
        <div class="right-control" :class="[{ 'unfold': !isCollapse },{ 'shrink': isCollapse }] ">
        <div class="right-control" :class="[{ 'unfold': !isCollapse },{ 'shrink': isCollapse }] " v-if="gcComp!=''">
          <div class="panel-fold-btn" @click="toggleMonitorPanel">
            <div :class="[isCollapse? 'btn-stretch':'btn-shrink']"></div>
          </div>
@@ -60,6 +60,7 @@
import SoilGroundWaterSearch from '@components/panel/topicSearch/SoilGroundWaterSearch.vue'
import PipeChangesSearch from '@components/panel/topicSearch/pipeChangesSearch.vue'
import PipeInformationSearch from '@components/panel/topicSearch/pipeInformationSearch.vue'
import ReportSearch from './topicSearch/ReportSearch'
import bus from '@/eventBus'
@@ -70,7 +71,8 @@
    WaterWasteSearch,
    SolidWasteSearch,
    EnvRiskSearch,
    DischargeSearch
    DischargeSearch,
    ReportSearch
  },
  data () {
    return {
@@ -153,6 +155,9 @@
        case '管道信息':
          this.gcComp = PipeInformationSearch
          break
        case '企业应急':
          this.gcComp = ReportSearch
          break
      }
    },
    handlePage (page) {
@@ -214,6 +219,7 @@
    const that = this
    bus.$on('changeSearchBar', function (obj) {
      // console.log(obj.checked, obj.name)
      that.gcComp = ''
      that.topicList.forEach((item) => {
        if (item.name === obj.name) {
          item.isShow = obj.checked
src/components/panel/topicSearch/ReportSearch.vue
New file
@@ -0,0 +1,45 @@
<template>
    <div class="sewers-search" v-if="judgeVisible">
        <div class="panel-title">{{ title }}</div>
        <el-tabs v-model="activeName" @tab-click="handleClick">
            <el-tab-pane label="事件查询" name="first">
                <EventQuery></EventQuery>
            </el-tab-pane>
            <el-tab-pane label="资源查询" name="second">
                <ResourcesQuery></ResourcesQuery>
            </el-tab-pane>
        </el-tabs>
        <!--        <ReportPopup></ReportPopup>-->
    </div>
</template>
<script>
import EventQuery from './SewersSelect/EnterpriseEmergency/EventQuery'
import ResourcesQuery from './SewersSelect/EnterpriseEmergency/ResourcesQuery'
// import ReportPopup from './SewersSelect/EnterpriseEmergency/ReportPopup'
export default {
  name: 'ReportSearch',
  props: ['title'],
  components: {
    EventQuery,
    ResourcesQuery
    // ReportPopup
  },
  data () {
    return {
      judgeVisible: true,
      activeName: 'first'
    }
  },
  methods: {
    handleClick (tab) {
      console.log(tab)
    }
  }
}
</script>
<style lang="less" scoped>
</style>
src/components/panel/topicSearch/SewersSelect/AnalysisChoose/PublicWay.js
@@ -1,18 +1,5 @@
export default {
  // 爆管
  bgClick () {
    this.selectPipeLine()
  },
  // 流向地图上点击
  selectPipeLine () {
    // console.log(map)
    window.on('click', this.selectClick)
  },
  // 地图上点击回调
  selectClick (e) {
    console.log(e)
    // window.map.off('click', this.selectClick)
    // const point = [e.latlng.lng, e.latlng.lat]
    // console.log(point)
  clickPopup () {
    console.log('公共方法')
  }
}
src/components/panel/topicSearch/SewersSelect/EnterpriseEmergency/EventQuery.vue
New file
@@ -0,0 +1,138 @@
<template>
    <div class="search-panel">
        <el-form ref="form" :model="form" label-width="90px" class="search-form">
            <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.pipelineType" @change="handlePipelineType"
                               :popper-class="'select-down'">
                        <el-option
                                v-for="item in items"
                                :key="item.code"
                                :label="item.name"
                                :value="item.name">
                        </el-option>
                    </el-select>
                </el-form-item>
                <el-form-item label="事件状态:" size="mini">
                    <el-select style="width: 100%" v-model="form.dataType" value-key="code"
                               :popper-class="'select-down'" @change="handleDataType">
                        <el-option
                                v-for="item in subItems"
                                :key="item.code"
                                :label="item.name"
                                :value="item">
                        </el-option>
                    </el-select>
                </el-form-item>
                <el-form-item label="事件类型:">
                    <el-radio-group v-model="form.transferData" class="levelOfRisk">
                        <el-radio v-for="(item,index) in form.levelOfRisk" :label="item.value" :key="index">
                            <span class="levelOfRisk-type">{{ item.name }}</span>
                        </el-radio>
                    </el-radio-group>
                </el-form-item>
                <div class="rightButtonSearch">
                    <el-input v-model="form.keyword" size="mini" placeholder="在此输入关键字搜索"></el-input>
                    <el-button class="el-icon-search" @click="handleSearch"></el-button>
                </div>
            </el-form>
        </el-form>
        <el-scrollbar style="height:286.22px">
            <div class="environmental-risk-list">
                <i class="state"></i>
                <div>
                    <h3>事件名称:XXX事件</h3>
                    <h5>事件事件:2021年3月21日
                        <el-button class="rt btn00fff6" size="mini" style="margin-right: 0.04rem;"
                                   @click="btnAffiliatedFacilities()">删除
                        </el-button>
                    </h5>
                    <p>事件状态:<span>审批阶段</span></p>
                    <p>事件类型:<span>真实事件</span>
                        <el-button class="rt btn00fff6" size="mini" style="margin-right: 0.04rem;"
                                   @click="btnAffiliatedFacilities()">事件管理
                        </el-button>
                    </p>
                </div>
            </div>
            <div class="environmental-risk-list">
                <i class="state"></i>
                <div>
                    <h3>事件名称:XXX事件</h3>
                    <h5>事件事件:2021年3月21日</h5>
                    <p>事件状态:<span>审批阶段</span></p>
                    <p>事件类型:<span>真实事件</span>
                        <el-button class="rt btn00fff6" size="mini" style="margin-right: 0.04rem;"
                                   @click="btnAffiliatedFacilities()">事件管理
                        </el-button>
                    </p>
                </div>
            </div>
            <div class="environmental-risk-list">
                <i class="state"></i>
                <div>
                    <h3>事件名称:XXX事件</h3>
                    <h5>事件事件:2021年3月21日</h5>
                    <p>事件状态:<span>审批阶段</span></p>
                    <p>事件类型:<span>真实事件</span>
                        <el-button class="rt btn00fff6" size="mini" style="margin-right: 0.04rem;"
                                   @click="btnAffiliatedFacilities()">事件管理
                        </el-button>
                    </p>
                </div>
            </div>
        </el-scrollbar>
    </div>
</template>
<script>
import { LayerEntEmer } from '../../../../../conf/layers/LayerEntEmer'
export default {
  name: 'EventQuery',
  data () {
    return {
      list: [],
      items: [
        { name: '金陵石化' },
        { name: '南京化学' }
      ],
      subItems: LayerEntEmer.layers,
      form: {
        pipelineType: '',
        dataType: '',
        keyword: '',
        transferData: 1,
        levelOfRisk: [
          {
            name: '真实事件',
            value: 1
          },
          {
            name: '模拟演练',
            value: 2
          }
        ]
      }
    }
  },
  methods: {
    handleDataType () {
      console.log('ite')
    },
    handlePipelineType () {
      console.log('数据查询')
    },
    handleSearch () {
      console.log('item')
    },
    btnAffiliatedFacilities () {
      console.log('item')
    }
  }
}
</script>
<style scoped>
</style>
src/components/panel/topicSearch/SewersSelect/EnterpriseEmergency/ReportPopup.vue
New file
@@ -0,0 +1,223 @@
<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">
            <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="search-form">
                <el-form-item label="事件名称" prop="nameEvent">
                    <el-input v-model="ruleForm.nameEvent" class="report-input"></el-input>
                </el-form-item>
                <el-form-item label="事件类型" prop="eventType">
                    <el-radio-group v-model="ruleForm.eventType">
                        <el-radio v-for="(item,index) in ruleForm.eventTypeList" :label="item.value" :key="index">
                            <span>{{ item.name }}</span>
                        </el-radio>
                    </el-radio-group>
                </el-form-item>
                <el-form-item label="事件等级" prop="eventLevel">
                    <el-radio-group v-model="ruleForm.eventLevel">
                        <el-radio v-for="(item,index) in ruleForm.eventLevelList" :label="item.value" :key="index">
                            <span>{{ item.name }}</span>
                        </el-radio>
                    </el-radio-group>
                </el-form-item>
                <el-row>
                    <el-col :span="12">
                        <el-form-item label="事发单位" prop="region">
                            <el-select v-model="ruleForm.region" placeholder="请选择活动区域">
                                <el-option label="单位位置1" value="shanghai"></el-option>
                                <el-option label="单位位置2" value="beijing"></el-option>
                            </el-select>
                        </el-form-item>
                    </el-col>
                    <el-col :span="12">
                        <el-form-item label="事发时间" prop="region" class="search-panel-item">
                            <el-date-picker
                                    v-model="ruleForm.atTime"
                                    type="datetime"
                                    placeholder="选择日期时间">
                            </el-date-picker>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :span="12">
                        <el-form-item label="事发位置" prop="region" class="search-panel-item">
                            <el-input v-model="ruleForm.name" class="report-input"></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="12">
                        <el-form-item label="位置描述" prop="name">
                            <el-input v-model="ruleForm.name" class="report-input"></el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-form-item>
                    <el-upload
                            class="upload-demo"
                            action="https://jsonplaceholder.typicode.com/posts/"
                            :on-preview="handlePreview"
                            :on-remove="handleRemove"
                            :before-remove="beforeRemove"
                            multiple
                            :limit="3"
                            :on-exceed="handleExceed"
                            :file-list="fileList">
                        <el-button size="small" type="primary">点击上传</el-button>
                    </el-upload>
                </el-form-item>
                <el-form-item label="消息推送" prop="resource">
                    <el-radio-group v-model="ruleForm.resource">
                        <el-radio label="短信推送"></el-radio>
                        <el-radio label="手机应用推送"></el-radio>
                    </el-radio-group>
                </el-form-item>
                <el-form-item label="事件描述" prop="desc">
                    <el-input type="textarea" v-model="ruleForm.desc"></el-input>
                </el-form-item>
                <el-form-item label="接收人员" prop="desc">
                    <el-input type="textarea" v-model="ruleForm.desc"></el-input>
                </el-form-item>
                <el-form-item>
                    <el-button type="primary" @click="submitForm('ruleForm')">确认</el-button>
                    <el-button @click="resetForm('ruleForm')">取消</el-button>
                </el-form-item>
            </el-form>
        </div>
    </div>
</template>
<script>
import '@utils/dragBoxes'
export default {
  name: 'ReportPopup',
  props: ['flags'],
  data () {
    return {
      flag: false,
      ruleForm: {
        nameEvent: '',
        eventType: '',
        eventTypeList: [
          {
            name: '待补充',
            value: 1
          },
          {
            name: '待补充',
            value: 2
          },
          {
            name: '待补充',
            value: 3
          }
        ],
        eventLevel: '',
        eventLevelList: [
          {
            name: '待补充',
            value: 1
          },
          {
            name: '待补充',
            value: 2
          },
          {
            name: '待补充',
            value: 3
          }
        ],
        atTime: ''
      },
      fileList: [],
      rules: {
        name: [
          {
            required: true,
            message: '请输入活动名称',
            trigger: 'blur'
          },
          {
            min: 3,
            max: 5,
            message: '长度在 3 到 5 个字符',
            trigger: 'blur'
          }
        ],
        region: [
          {
            required: true,
            message: '请选择活动区域',
            trigger: 'change'
          }
        ],
        resource: [
          {
            required: true,
            message: '请选择活动资源',
            trigger: 'change'
          }
        ],
        desc: [
          {
            required: true,
            message: '请填写活动形式',
            trigger: 'blur'
          }
        ]
      }
    }
  },
  methods: {
    handleRemove (file, fileList) {
      console.log(file, fileList)
    },
    handlePreview (file) {
      console.log(file)
    },
    handleExceed (files, fileList) {
      this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`)
    },
    beforeRemove (file, fileList) {
      return this.$confirm(`确定移除 ${file.name}?`)
    },
    closePopup () {
      this.flags = false
    },
    submitForm (formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          alert('submit!')
        } else {
          console.log('error submit!!')
          return false
        }
      })
    },
    resetForm (formName) {
      this.$refs[formName].resetFields()
    }
  }
}
</script>
<style lang="less" scoped>
    /deep/ .el-form-item__label {
        color: @color;
    }
    /deep/ .el-radio__label {
        color: @color;
    }
    .report-popup {
        width: 35%;
        z-index: 999;
        position: absolute;
        top: 35%;
        left: 20%;
    }
</style>
src/components/panel/topicSearch/SewersSelect/EnterpriseEmergency/ResourcesQuery.vue
New file
@@ -0,0 +1,126 @@
<template>
    <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.eventName" @change="handlePipelineType"
                           :popper-class="'select-down'">
                    <el-option
                            v-for="item in form.eventNameList"
                            :key="item.code"
                            :label="item.name"
                            :value="item.name">
                    </el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="资源环境:" size="mini" class="search-panel-item">
                <el-select style="width: 100%" v-model="form.pipelineType" @change="handlePipelineType"
                           :popper-class="'select-down'">
                    <el-option
                            v-for="item in items"
                            :key="item.code"
                            :label="item.name"
                            :value="item.name">
                    </el-option>
                </el-select>
            </el-form-item>
            <el-form-item :label="form.pipelineType+':'" size="mini">
                <el-select style="width: 100%" v-model="form.dataType" value-key="code"
                           :popper-class="'select-down'" @change="handleDataType">
                    <el-option
                            v-for="item in subItems"
                            :key="item.code"
                            :label="item.name"
                            :value="item">
                    </el-option>
                </el-select>
            </el-form-item>
            <div class="rightButtonSearch">
                <el-input v-model="form.keyword" size="mini" placeholder="在此输入关键字搜索"></el-input>
                <el-button class="el-icon-search" @click="handleSearch"></el-button>
            </div>
        </el-form>
        <el-scrollbar style="height:286.22px">
            <div class="environmental-risk-list" @click="showthePopup">
                <!-- v-for="(item,index) in searchDataDisplay" :key="index" @click="setBounced(item)"-->
                <i class="state"></i>
                <div>
                    <h3>事件名称:XXX事件</h3>
                    <h5>事件事件:2021年3月21日</h5>
                    <p>事件状态:<span>审批阶段</span></p>
                    <p>事件类型:<span>真实事件</span></p>
                </div>
            </div>
            <div class="environmental-risk-list">
                <i class="state"></i>
                <div>
                    <h3>事件名称:XXX事件</h3>
                    <h5>事件事件:2021年3月21日</h5>
                    <p>事件状态:<span>审批阶段</span></p>
                    <p>事件类型:<span>真实事件</span></p>
                </div>
            </div>
            <div class="environmental-risk-list">
                <i class="state"></i>
                <div>
                    <h3>事件名称:XXX事件</h3>
                    <h5>事件事件:2021年3月21日</h5>
                    <p>事件状态:<span>审批阶段</span></p>
                    <p>事件类型:<span>真实事件</span></p>
                </div>
            </div>
        </el-scrollbar>
        <ReportPopup :flags="flag"></ReportPopup>
    </div>
</template>
<script>
import { LayerEntEmer } from '../../../../../conf/layers/LayerEntEmer'
import ReportPopup from './ReportPopup'
export default {
  name: 'ResourcesQuery',
  components: {
    ReportPopup
  },
  data () {
    return {
      form: {
        eventName: '',
        pipelineType: '资源类型',
        dataType: '',
        keyword: '',
        eventNameList: [
          { name: '金陵石化' },
          { name: '南京化学' }
        ]
      },
      items: [LayerEntEmer],
      subItems: LayerEntEmer.layers,
      searchDataDisplay: [],
      flag: false
    }
  },
  methods: {
    showthePopup () {
      console.log('item')
      this.flag = !this.flag
    },
    handlePipelineType () {
      console.log('item')
    },
    handleDataType () {
      console.log('item')
    },
    handleSearch () {
      console.log('数据查询')
    },
    setBounced (item) {
      console.log(item)
    }
  }
}
</script>
<style scoped>
</style>
src/components/panel/topicSearch/SewersSelect/SewersAnalysis.vue
@@ -55,8 +55,8 @@
            <el-tab-pane label="爆管" style="color: #cccccc" name="second">
                <el-row>
                    <span>爆管(相关开关)</span>
                    <el-button type="primary" @click="bgClick" size="mini" style="margin-bottom: 5px;" title="地图上点击选择发生爆管的管段">选择管段</el-button>
                    <el-button type="primary" @click="handleClick" size="mini" style="margin-bottom: 5px;" title="清除绘制">清除</el-button>
                    <el-button type="primary" @click="bgClick" size="mini"  title="地图上点击选择发生爆管的管段">选择管段</el-button>
                    <el-button type="primary" @click="handleClick" size="mini"  title="清除绘制">清除</el-button>
                </el-row>
                <!--        <el-card shadow="hover">-->
                <span class="fixed-style">发生爆裂的管段</span>
@@ -86,8 +86,8 @@
                <!--        </el-card>-->
            </el-tab-pane>
            <el-tab-pane label="流向" name="third">
                <el-button type="primary" @click="selectPipeLine" size="mini" style="margin-bottom: 5px;" title="地图上点击要显示流向的管段">选择管段</el-button>
                <el-table max-height="200" class="tableBox" :data="tableDataLiuxiang" size="mini">
                <el-button type="primary" @click="selectPipeLine" size="mini" highlight-current-row title="地图上点击要显示流向的管段">选择管段</el-button>
                <el-table max-height="200" class="tableBox" highlight-current-row :data="tableDataLiuxiang" size="mini">
                    <el-table-column :show-overflow-tooltip="true" prop="pipecode" label="管段类型"></el-table-column>
                    <el-table-column :show-overflow-tooltip="true" sortable width="100" prop="pipecode" label="管段名称"></el-table-column>
                    <el-table-column :show-overflow-tooltip="true" sortable width="100" prop="pipecode" label="起点编号"></el-table-column>
@@ -113,15 +113,15 @@
            </el-tab-pane>
            <el-tab-pane label="横断面" name="fourth">
                <div>
                    <el-button type="primary" @click="drawLine" size="mini" style="margin-bottom: 5px;" title="地图上绘制要进行分析截断面的线">绘制线段</el-button>
                    <el-button type="primary" @click="jdmQuery" size="mini" style="margin-bottom: 5px;" title="截断面分析">截断面分析</el-button>
                    <el-button type="primary" @click="jdmClear" size="mini" style="margin-bottom: 5px;" title="清除截断面分析结果">清除</el-button>
                    <el-button type="primary" @click="drawLine" size="mini"  title="地图上绘制要进行分析截断面的线">绘制线段</el-button>
                    <el-button type="primary" @click="jdmQuery" size="mini"  title="截断面分析">截断面分析</el-button>
                    <el-button type="primary" @click="jdmClear" size="mini"  title="清除截断面分析结果">清除</el-button>
                </div>
                <!--        <el-card class="box-card">-->
                <!-- <el-card class="box-card">-->
                <div slot="header" class="fixed-style">
                    <span>管段查询结果</span>
                </div>
                <el-table class="tableBox" :data="tableData" max-height="200" style="width: 100%" @row-click="selectRow" size="mini">
                <el-table class="tableBox" :data="tableData" max-height="200" highlight-current-row style="width: 100%" @row-click="selectRow" size="mini">
                    <el-table-column prop="pipename" label="管段名称"></el-table-column>
                    <el-table-column prop="mediumtype" label="管段类型" width="80"></el-table-column>
                    <el-table-column class-name="fixed-table" fixed="right" label="图表"  width="40">
@@ -130,7 +130,7 @@
                        </template>
                    </el-table-column>
                </el-table>
                <!--        </el-card>-->
                <!--  </el-card>-->
                <!-- <el-card class="box-card">
                    <div slot="header" class="fixed-style">
                        <span>断面图</span>
@@ -166,7 +166,9 @@
      myChart: null,
      options: [],
      echartsList: [],
      myChartShow: false,
      flowPipeLine: null,
      // 用于判断
@@ -205,9 +207,7 @@
      lxTableDataResult: [],
      // 横断面 管段查询结果 的table表格数据
      tableData: [],
      echartsList: []
      tableData: []
    }
  },
@@ -222,7 +222,8 @@
  methods: {
    // tab切换
    handleClick (tab, event) {
      // console.log(tab, event)
      console.log(event)
      // console.log(tab)
      this.clearLinkPipe()
      this.clearLX()
      this.linkClear()
@@ -298,7 +299,6 @@
    // 连通性 ===> 地图点击起始管段e
    linkClickStart (e) {
      // console.log(e)
      // console.log('地图点击起始管段')
      this.linkType = 1
      this.selectPipeLine()
@@ -379,6 +379,7 @@
      // 判断数据结果 === 0 则没有请求到数据
      if (res.data.length === 0) {
        this.$message('没有找到连通的管段')
        // 进行判断
        // if (this.tableDataLinkStart === [] && this.tableDataLinkEnd === []) {
        this.currentLinkIsTrue = '不连通'
        // }
@@ -670,6 +671,7 @@
    },
    // 横断面数据请求
    async jdmQuery () {
      this.tableData = []
      if (this.hdmParam == null) {
        this.$message('请先在地图上绘制截断线')
        return false
@@ -684,6 +686,7 @@
        }
        this.tableData.push(obj)
      }
      // console.log(this.tableData, 'this.tableData')
      this.dealWithData(res)
    },
    dealWithData (e) {
@@ -845,6 +848,7 @@
    /deep/ .el-table__body .el-table__row.hover-row td {
        background: none !important;
        color:yellow;
    }
    /deep/ .el-table__body tr.current-row > td {
src/components/panel/topicSearch/SolidWasteSearch.vue
@@ -73,12 +73,6 @@
      ],
      // 数据搜索之后,存储数据的
      searchDataDisplay: [],
      instance: null,
      intervals: [],
      layer: window.map,
      L: window.L,
      times: 5,
      colors: ['#98FB98', '#ff0000'],
      solidWasteTypeOptions: [{
        value: '1',
        label: '区域',
@@ -163,7 +157,7 @@
    },
    // 数据展示,点击进行弹框及点的展示
    setBounced (val) {
      console.log(val)
      // console.log(val)
      const pos = [val.Latitude, val.Longitude]
      window.map.flyTo(pos, 15)
      window.$layer.open({
src/components/table/Public.vue
@@ -12,8 +12,8 @@
<script>
// 引入拖拽
import '@/utils/dragBoxes'
// 弹框头部拖拽
// import '@/utils/dragBoxes'
export default {
  name: 'Public'
src/conf/Topic.js
@@ -8,59 +8,67 @@
  dischargeSearch: () => import('@components/panel/topicSearch/DischargeSearch'),
  envProtectSearch: () => import('@components/panel/topicSearch/EnvRiskSearch'),
  soilGroundWaterSearch: () => import('@components/panel/topicSearch/SoilGroundWaterSearch'),
  sewersSearch: () => import('@components/panel/topicSearch/SewersSearch.vue')
  sewersSearch: () => import('@components/panel/topicSearch/SewersSearch.vue'),
  ReportSearchL: () => import('@components/panel/topicSearch/ReportSearch.vue')
}
export const TopicList = [{
  name: '污染源',
  id: 1,
  check: false,
  isShow: true,
  isShow: false,
  icon: 'iconwuranyuan',
  comp: ''
}, {
  name: '废水',
  id: 2,
  checked: false,
  isShow: true,
  isShow: false,
  icon: 'iconfs',
  comp: ''
}, {
  name: '废气',
  id: 3,
  checked: false,
  isShow: true,
  isShow: false,
  icon: 'iconfq',
  comp: ''
}, {
  name: '固废',
  id: 4,
  checked: false,
  isShow: true,
  isShow: false,
  icon: 'icongf_green2',
  comp: ''
}, {
  name: '环境风险',
  id: 5,
  checked: false,
  isShow: true,
  isShow: false,
  icon: 'iconditu',
  comp: ''
}, {
  name: '土壤及地下水',
  id: 6,
  checked: false,
  isShow: true,
  isShow: false,
  icon: 'icondxs_green',
  comp: ''
}, {
  name: '管线',
  id: 7,
  checked: false,
  isShow: true,
  isShow: false,
  icon: 'iconguanxianxuncha',
  comp: ''
} /* {
}, {
  name: '企业应急',
  id: 8,
  checked: false,
  isShow: false,
  icon: 'iconguanxianyanghu',
  comp: ''
}/* {
  name: '管道变更',
  id: 8,
  checked: false,
src/conf/layers/LayerEntEmer.js
New file
@@ -0,0 +1,59 @@
/**
 * 企业预警
 */
import { LayerHbss } from './LayerHbss'
import { LayerFsss } from './LayerFsss'
import { PIPELINE_WFS } from '../Constants'
const WFS_URL = PIPELINE_WFS
export const LayerEntEmer = {
  code: 'reportEntemeage',
  name: '企业预警',
  checked: false,
  type: 0,
  childLayer: [LayerFsss, LayerHbss],
  layers: [
    {
      code: 'rainline',
      name: '事前阶段',
      sname: '管网',
      checked: false,
      type: 0,
      wmsLayers: 'sewer:pipeline_rain',
      // wfs: WFS_URL + '?TYPENAME=管网&FILTER=<Filter xmlns="http://www.opengis.net/ogc"><PropertyIsEqualTo><PropertyName>mediumtype</PropertyName><Literal>雨水管线</Literal></PropertyIsEqualTo></Filter>',
      icon: 'sewers/雨水线.png',
      color: '#0070ff',
      minZoom: 13,
      styles: {
        COLOR: '#0070ff',
        FILL_COLOR: '#0070ff'
      }
    },
    {
      code: 'accidentline',
      name: '审批阶段',
      sname: '事故水',
      checked: false,
      // wmsLayers: 'sewer:pipeline_accident',
      type: 0,
      minZoom: 13,
      wfs: WFS_URL + '?TYPENAME=事故水'
    },
    {
      code: 'oilline',
      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'
      }
    }
  ]
}
src/views/MapTemplate.vue
@@ -1,23 +1,24 @@
<template>
  <div class="full-screen">
    <!--<popup ref="popup" @callPopup="callPopup"></popup>-->
    <div id="map" ref="rootmap">
    <div class="full-screen">
        <!--<popup ref="popup" @callPopup="callPopup"></popup>-->
        <div id="map" ref="rootmap">
        </div>
        <sgis-layer-controller></sgis-layer-controller>
        <monitor-panel></monitor-panel>
        <!--        <top-enterprise-panel></top-enterprise-panel>-->
        <tool-box-panel ref="toolBox"></tool-box-panel>
        <!--    <menu-special></menu-special>-->
        <legend-panel></legend-panel>
        <!--    <summary-sheets></summary-sheets>-->
        <SummarySheet></SummarySheet>
        <!-- <enterprise></enterprise> -->
        <!--    <el-button id="map-btn" el-icon-c-scale-to-original icon="el-icon-c-scale-to-original" circle @click="isShowHidden"></el-button>-->
        <!--    <el-button type="primary" @click="ChangeState" class="solid-waste">固废</el-button>-->
        <!--    <el-button type="primary" @click="ChangeWaterState" class="Waste-water">废水</el-button>-->
        <!--    <el-button type="primary" @click="AddGasHelper" class="flue-gas">废气</el-button>-->
        <PublicBounced ref="PublicBounced"></PublicBounced>
        <!--    <ReportPopup></ReportPopup>-->
    </div>
    <sgis-layer-controller></sgis-layer-controller>
    <monitor-panel></monitor-panel>
    <!--        <top-enterprise-panel></top-enterprise-panel>-->
    <tool-box-panel ref="toolBox"></tool-box-panel>
    <!--    <menu-special></menu-special>-->
    <legend-panel></legend-panel>
<!--    <summary-sheets></summary-sheets>-->
    <SummarySheet></SummarySheet>
    <!-- <enterprise></enterprise> -->
    <!--    <el-button id="map-btn" el-icon-c-scale-to-original icon="el-icon-c-scale-to-original" circle @click="isShowHidden"></el-button>-->
    <!--    <el-button type="primary" @click="ChangeState" class="solid-waste">固废</el-button>-->
    <!--    <el-button type="primary" @click="ChangeWaterState" class="Waste-water">废水</el-button>-->
    <!--    <el-button type="primary" @click="AddGasHelper" class="flue-gas">废气</el-button>-->
    <PublicBounced ref="PublicBounced"></PublicBounced>
  </div>
</template>
<script>
@@ -37,6 +38,7 @@
import PublicBounced from '@components/BaseNav/PublicBounced/PublicBounced'
import LayerFactory from '@components/LayerController/service/LayerFactory'
import EventHandler from '../components/LayerController/event/EventHandler'
// import ReportPopup from '../components/panel/topicSearch/SewersSelect/EnterpriseEmergency/ReportPopup'
export default {
  name: 'MapTemplate',
@@ -51,6 +53,7 @@
    // summarySheets,
    SummarySheet,
    PublicBounced
    // ReportPopup
  },
  data () {
    return {
@@ -121,59 +124,59 @@
</script>
<style lang="less">
.flue-gas {
  position: fixed;
  top: 88px;
  left: 180px;
  z-index: 500;
}
    .flue-gas {
        position: fixed;
        top: 88px;
        left: 180px;
        z-index: 500;
    }
.solid-waste {
  position: absolute;
  top: 88px;
  left: 88px;
  z-index: 999;
}
    .solid-waste {
        position: absolute;
        top: 88px;
        left: 88px;
        z-index: 999;
    }
.full-screen {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  position: absolute;
    .full-screen {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        position: absolute;
  #map {
    height: 100%;
    width: 100%;
  }
        #map {
            height: 100%;
            width: 100%;
        }
  .barline {
    //width: 100%;
    //height: 1px;
    //background-color: #0661AE;
    border-top: 1px solid #0661AE;
  }
        .barline {
            //width: 100%;
            //height: 1px;
            //background-color: #0661AE;
            border-top: 1px solid #0661AE;
        }
  #map-btn {
    position: fixed;
    top: 20px;
    left: 100px;
    z-index: 9999;
  }
        #map-btn {
            position: fixed;
            top: 20px;
            left: 100px;
            z-index: 9999;
        }
  .leaflet-custom-icon {
    background: white;
  }
        .leaflet-custom-icon {
            background: white;
        }
  .leaflet-marker-icon {
    background: none;
  }
        .leaflet-marker-icon {
            background: none;
        }
  #migic {
    width: 48px;
    height: 48px;
    margin: -18px -20px;
    z-index: 999;
  }
}
        #migic {
            width: 48px;
            height: 48px;
            margin: -18px -20px;
            z-index: 999;
        }
    }
</style>