派生自 wuyushui/SewerAndRainNetwork

陈泽平
2021-05-24 9706167cee66aa208e538b9d3a5e9ecd88cd7462
添加企业应急中事件上报/事件处置功能页面
1个文件已删除
7个文件已添加
7个文件已修改
1306 ■■■■■ 已修改文件
public/assets/images/map/loc.png 补丁 | 查看 | 原始文档 | blame | 历史
public/assets/images/map/sewers/应急车辆.png 补丁 | 查看 | 原始文档 | blame | 历史
public/assets/images/map/sewers/应急队伍.png 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/pipeline/AffiliatedFacilities.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/emergency/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/layer/src/layer.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/EnterpriseEmergency/DisposalEvent.vue 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/EnterpriseEmergency/EventQuery.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/EnterpriseEmergency/PipelineFile.vue 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/EnterpriseEmergency/PositionChange.vue 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/EnterpriseEmergency/ReportIncident.vue 474 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/EnterpriseEmergency/ReportPopup.vue 396 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Connectivity.vue 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/SewersSelect/AnalysisChoose/PublicWay.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/MapTemplate.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/assets/images/map/loc.png
public/assets/images/map/sewers/Ó¦¼±³µÁ¾.png
public/assets/images/map/sewers/Ó¦¼±¶ÓÎé.png
src/components/BaseNav/pipeline/AffiliatedFacilities.vue
@@ -84,9 +84,9 @@
  computed: {
    classification () {
      const layers = LayerFsss.layers
      console.log(layers)
      // console.log(layers)
      const filtered = layers.filter(function (value, index, array) {
        console.log(value)
        // console.log(value)
        return value.name !== '流向'
      })
      return filtered
src/components/emergency/index.vue
@@ -283,7 +283,7 @@
  methods: {},
  mounted () {
    eventBus.$on('events-reported', (obj) => {
      console.log(obj)
      // console.log(obj)
      this.showSchedule = obj
    })
  }
src/components/layer/src/layer.vue
@@ -2,7 +2,7 @@
  <div class="public-bounced map-background" v-drag :style="style">
    <div class="public-bounced-title panel-title" ref="publicBounced">
      <span>{{ title }}</span>
      <i class="el-icon-circle-close" @click="close"></i>
      <i class="el-icon-close" @click="close"></i>
    </div>
    <div class="public-bounced-content" :id="id"></div>
  </div>
@@ -48,7 +48,7 @@
    },
    init () {
      const propsData = helper.deepClone(this.content.data) || {}
      console.log(propsData)
      // console.log(propsData)
      const instance = new this.content.comp({
        // parent: this.content.parent,
        propsData: propsData
src/components/panel/topicSearch/EnterpriseEmergency/DisposalEvent.vue
New file
@@ -0,0 +1,153 @@
<template>
    <div class="disposal-event">
        <h3 class="panel-title">事件基本信息</h3>
        <el-form ref="form" :model="form" label-width="100px">
            <el-form-item label="事件名称:" prop="nameOfEvent">
                <label>{{ form.nameOfEvent }}</label>
            </el-form-item>
            <el-row>
                <el-col :span="12">
                    <el-form-item label="事件位置:" prop="eventLocation">
                        <label>{{ form.eventLocation }}</label>
                    </el-form-item>
                </el-col>
                <el-col :span="12">
                    <el-form-item label="位置描述:" prop="positionDesc">
                        <label>{{ form.positionDesc }}</label>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="12">
                    <el-form-item label="事件单位:" prop="incidentUnit">
                        <label>{{ form.incidentUnit }}</label>
                    </el-form-item>
                </el-col>
                <el-col :span="12">
                    <el-form-item label="事发时间:" prop="atTime">
                        <label>{{ form.atTime }}</label>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-form-item label="事件描述:" prop="eventDesc" class="fixed-width">
                <label>{{ form.eventDesc }}</label>
            </el-form-item>
            <el-form-item label="附件:" prop="upload">
                <label>
                    <a href="javascript:;">附件</a>
                    &nbsp;&nbsp;&nbsp;&nbsp;
                    <a href="javascript:;">附件</a>
                </label>
            </el-form-item>
        </el-form>
        <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 class="event-management">
            <el-button type="primary" size="mini" @click="ToManagement">事件管理</el-button>
            <el-button size="mini" @click="close()">关闭</el-button>
        </div>
    </div>
</template>
<script>
import eventBus from '../../../../eventBus'
export default {
  name: 'DisposalEvent',
  data () {
    return {
      form: {
        nameOfEvent: '***************事件',
        eventLocation: '**********装置',
        positionDesc: '**********装置',
        incidentUnit: '**********部门',
        atTime: '2021å¹´5月24日 10:27',
        eventDesc: '事件描述事件描述事件描述事件描述'
      },
      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: '生产'
        }
      ]
    }
  },
  methods: {
    // äº‹ä»¶ç®¡ç†é¡µé¢è·³è½¬
    ToManagement () {
      eventBus.$emit('events-reported', true)
    },
    // é¡µé¢å…³é—­
    close () {
      window.$layer.open({
        content: {
          comp: '',
          parent: this,
          data: { // ä¼ é€’的参数
            // info: this.info
          }
        },
        title: ''
      })
    }
  }
}
</script>
<style lang="less" scoped>
    .fixed-width {
        width: 3.2459893rem;
        min-width: 3.2459893rem;
    }
    /deep/ .el-form-item {
        margin: 5px 0;
    }
    /deep/ .el-form-item__label {
        color: @color;
        font-size: 0.08rem;
    }
    .event-management {
        text-align: right;
        margin: 15px;
    }
</style>
src/components/panel/topicSearch/EnterpriseEmergency/EventQuery.vue
@@ -85,7 +85,7 @@
// import WfsHelper from '@components/helpers/WfsHelper'
// import AjaxUtils from '@utils/AjaxUtils'
import reportPopup from './ReportPopup'
import ReportIncident from './ReportIncident'
export default {
  name: 'EventQuery',
@@ -100,8 +100,8 @@
      LayerEvent: {},
      LayerResources: {},
      // items: [LayerEvent, LayerResources],
      items: [],
      // subItems: LayerEntEmer.layers,
      items: [],
      subItems: [],
      form: {
        pipelineType: '',
@@ -130,13 +130,13 @@
    accordPopup () {
      window.$layer.open({
        content: {
          comp: reportPopup, // ç»„ä»¶
          comp: ReportIncident, // ç»„ä»¶
          parent: this, // çˆ¶ç»„ä»¶
          data: { // ä¼ é€’的参数
            // info: this.info
          }
        },
        title: '事件分析'
        title: '上报事件'
      })
    },
    // radio数据选择
src/components/panel/topicSearch/EnterpriseEmergency/PipelineFile.vue
New file
@@ -0,0 +1,30 @@
<template>
    <div class="pipeline-file map-background" v-show="pipelineFile">
        <span>管线文件选择</span>
    </div>
</template>
<script>
import eventBus from '../../../../eventBus'
export default {
  name: 'PipelineFile',
  data () {
    return {
      pipelineFile: false
    }
  },
  mounted () {
    eventBus.$on('pipelineFile-choose', (obj) => {
      this.pipelineFile = obj
    })
  }
}
</script>
<style lang="less" scoped>
    .pipeline-file {
        min-width: 1.94532rem;
        max-height: 2.343213rem;
    }
</style>
src/components/panel/topicSearch/EnterpriseEmergency/PositionChange.vue
New file
@@ -0,0 +1,122 @@
<template>
    <div class="side-box map-background" v-show="location">
        <el-tabs v-model="activeName" @tab-click="handleClick">
            <el-tab-pane label="点击定位" name="first">
                <div class="click-location">
                    <el-input v-model="clickLocation"></el-input>
                    <el-button type="primary">确认</el-button>
                </div>
            </el-tab-pane>
            <el-tab-pane label="管线定位" name="second">
                <div class="line-pos">
                        <el-form :model="linePos" label-width="90px">
                            <el-form-item label="管线名称:">
                                <el-input v-model="linePos.lineName"></el-input>
                            </el-form-item>
                            <el-form-item label="附属设施:">
                                <el-input v-model="linePos.affFac"></el-input>
                            </el-form-item>
                        </el-form>
                        <el-button type="primary" size="mini">搜索</el-button>
                    <el-button type="primary">确认</el-button>
                </div>
            </el-tab-pane>
            <el-tab-pane label="经纬度定位" name="third">
                <div class="latlng-location">
                    <div class="latlng-location-chose">
                        <el-form :model="LongLatPos" label-width="90px">
                            <el-form-item label="经度:">
                                <el-input v-model="LongLatPos.longPos"></el-input>
                            </el-form-item>
                            <el-form-item label="纬度:">
                                <el-input v-model="LongLatPos.latPos"></el-input>
                            </el-form-item>
                        </el-form>
                        <el-button type="primary" size="mini">定位</el-button>
                    </div>
                    <el-button type="primary">确认</el-button>
                </div>
            </el-tab-pane>
        </el-tabs>
    </div>
</template>
<script>
import eventBus from '../../../../eventBus'
export default {
  name: 'PositionChange',
  props: ['location'],
  data () {
    return {
      pipelineFile: false,
      activeName: 'first',
      clickLocation: '',
      // ç»çº¬åº¦å®šä½
      LongLatPos: {
        longPos: '',
        latPos: ''
      },
      // ç®¡æ®µå®šä½
      linePos: {
        lineName: '',
        affFac: ''
      }
    }
  },
  methods: {
    handleClick (tab, event) {
      // console.log(tab)
      // console.log(event)
      if (tab.label === '管线定位') {
        eventBus.$emit('pipelineFile-choose', true)
      } else {
        eventBus.$emit('pipelineFile-choose', false)
      }
    }
  }
}
</script>
<style lang="less" scoped>
    .side-box {
        min-width: 1.94532rem;
        max-height: 1.343213rem;
    }
    .click-location {
        margin: 0 auto;
        text-align: center;
        .el-input {
            width: 90%;
            margin: 15px auto;
        }
        .el-button {
            margin: 15px auto;
        }
    }
    .line-pos {
        text-align: center;
        .el-input {
            width: 85%;
        }
    }
    .latlng-location {
        text-align: center;
        .latlng-location-chose {
            display: flex;
            align-content: center;
            justify-content: space-around;
        }
        .el-input {
            width: 85%;
        }
    }
</style>
src/components/panel/topicSearch/EnterpriseEmergency/ReportIncident.vue
New file
@@ -0,0 +1,474 @@
<template>
    <div class="report-incident" v-drag v-show="eventsReported">
        <div class="report-box map-background">
            <div class="public-bounced-title panel-title">
                <span>事件上报</span>
                <i class="el-icon-close"></i>
            </div>
            <div class="form-popup">
                <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="90px" class="search-form">
                    <!--            äº‹ä»¶åç§°-->
                    <el-form-item class="input-event-name" label="事件名称" prop="nameOfEvent">
                        <el-input v-model="ruleForm.nameOfEvent" placeholder="将事件命名"></el-input>
                    </el-form-item>
                    <!--            äº‹ä»¶ç±»åž‹-->
                    <el-form-item label="事件类型" prop="eventOfType">
                        <el-radio-group v-model="ruleForm.eventOfType">
                            <el-radio v-for="(item,index) in ruleForm.eventOfTypeList" :label="item.value" :key="index">
                                <span>{{ item.name }}</span>
                            </el-radio>
                        </el-radio-group>
                    </el-form-item>
                    <!--            äº‹ä»¶ç­‰çº§-->
                    <el-form-item label="事件等级" prop="eventOfLevel">
                        <el-radio-group v-model="ruleForm.eventOfLevel">
                            <el-radio v-for="(item,index) in ruleForm.eventOfLevelList" :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="unit">
                                <el-select v-model="ruleForm.unit" placeholder="请选择活动区域">
                                    <el-option
                                            v-for="item in ruleForm.unitList"
                                            :key="item.value"
                                            :label="item.label"
                                            :value="item.value">
                                    </el-option>
                                </el-select>
                            </el-form-item>
                        </el-col>
                        <!--                äº‹å‘æ—¶é—´-->
                        <el-col :span="12">
                            <el-form-item class="search-panel-item" label="事发时间" prop="atTime">
                                <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="positionOf">
                                <el-input v-model="ruleForm.positionOf">
                                    <!--                            <el-button slot="suffix" type="text" class="el-icon-location-information"-->
                                    <!--                                       @click="locationInfo"></el-button>-->
                                    <el-button style="padding-right:10px;" slot="suffix" type="text"
                                               @click="locationInfo">
                                        <img src="../../../../../public/assets/images/map/loc.png" alt="">
                                    </el-button>
                                </el-input>
                            </el-form-item>
                        </el-col>
                        <!--                ä½ç½®æè¿°-->
                        <el-col :span="12">
                            <el-form-item label="位置描述" prop="positionDescription">
                                <el-input v-model="ruleForm.positionDescription"></el-input>
                            </el-form-item>
                        </el-col>
                    </el-row>
                    <el-row>
                        <!--                ç®¡çº¿åç§°-->
                        <el-col :span="12">
                            <el-form-item label="管线名称" prop="lineName" class="search-panel-item">
                                <el-input disabled v-model="ruleForm.lineName" placeholder="自动带出不可修改"
                                          class="report-input"></el-input>
                            </el-form-item>
                        </el-col>
                        <!--                ç®¡çº¿ç±»åž‹-->
                        <el-col :span="12">
                            <el-form-item label="管线类型" prop="lineType">
                                <label>{{ ruleForm.lineTypeText }}</label>
                            </el-form-item>
                        </el-col>
                    </el-row>
                    <!--             ç‚¹å‡»ä¸Šä¼ -->
                    <el-form-item label="附件上传" prop="upload">
                        <el-upload
                                class="upload-demo"
                                action="uploadAction"
                                :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="beingPush">
                        <el-checkbox-group v-model="ruleForm.beingPushed" @change="infotsChange">
                            <el-checkbox v-for="item in ruleForm.beingPushList"
                                         :key="item.name"
                                         :label="item.name"
                            >
                            </el-checkbox>
                        </el-checkbox-group>
                    </el-form-item>
                    <!--            // æè¿° æŽ¥æ”¶ å±•示、隐藏-->
                    <div v-show="wayTo">
                        <el-form-item label="事件描述" prop="desc">
                            <el-input type="textarea" resize="none" v-model="ruleForm.desc"
                                      placeholder="带出事件类型,事件位置,事件单位,事件时间等字段自动生产一部分描述">
                            </el-input>
                            <el-button type="primary">一键<br/>生成</el-button>
                        </el-form-item>
                        <el-form-item label="接收人员" prop="desc">
                            <el-input type="textarea" resize="none" v-model="ruleForm.desc"
                                      placeholder="张三;李四,"></el-input>
                            <el-button type="primary">+</el-button>
                        </el-form-item>
                    </div>
                    <el-form-item class="confirmCancel">
                        <el-button type="primary" @click="submitForm('ruleForm')">确认</el-button>
                        <el-button @click="resetForm('ruleForm')">取消</el-button>
                    </el-form-item>
                </el-form>
            </div>
        </div>
<!--        <div class="side-popup map-background">-->
            <PositionChange :location="location"></PositionChange>
<!--        </div>-->
<!--        <div class="pipeline-file map-background">-->
            <PipelineFile></PipelineFile>
<!--        </div>-->
    </div>
</template>
<script>
import '../../../../utils/dragBoxes'
import eventBus from '../../../.././eventBus'
import DisposalEvent from './DisposalEvent'
import PositionChange from './PositionChange'
import PipelineFile from './PipelineFile'
export default {
  // name: 'ReportPopup',
  name: 'ReportIncident',
  components: {
    PositionChange,
    PipelineFile
  },
  data () {
    return {
      // åˆ¤æ–­å¼¹æ¡†æ˜¯å¦èƒ½å±•示
      eventsReported: false,
      saveSuccess: false,
      // è¡¨å•绑定数据
      ruleForm: {
        // äº‹ä»¶åç§° ç»‘定数据
        nameOfEvent: '',
        // äº‹ä»¶ç±»åž‹ ç»‘定数据值
        eventOfType: '',
        // äº‹ä»¶ç±»åž‹å¯é€‰æ‹©æ•°æ®radio ç»‘定数据
        eventOfTypeList: [
          {
            name: '待补充',
            value: 1
          },
          {
            name: '待补充',
            value: 2
          },
          {
            name: '待补充',
            value: 3
          }
        ],
        // äº‹ä»¶ç­‰çº§
        eventOfLevel: '',
        // äº‹ä»¶ç­‰çº§å¯é€‰æ‹©æ•°æ®radio ç»‘定数据
        eventOfLevelList: [
          {
            name: '待补充',
            value: 1
          },
          {
            name: '待补充',
            value: 2
          },
          {
            name: '待补充',
            value: 3
          }
        ],
        // äº‹å‘单位 ç»‘定数据值
        unit: '',
        unitList: [
          {
            label: '扬子',
            value: '1'
          },
          {
            label: '南京',
            value: '2'
          }
        ],
        // äº‹å‘æ—¶é—´ ç»‘定数据
        atTime: '',
        // äº‹å‘位置
        positionOf: '',
        // ä½ç½®æè¿°
        positionDescription: '',
        // ç®¡çº¿åç§°
        lineName: '',
        // ç®¡çº¿ç±»åž‹
        lineType: '',
        lineTypeText: '自动带出不可修改',
        // æ¶ˆæ¯æŽ¨é€
        beingPushed: [],
        beingPushList: [
          {
            name: '短信推送',
            value: false
          },
          {
            name: '手机应用推送',
            value: false
          }
        ]
      },
      // è¡¨å•验证
      rules: {
        // äº‹ä»¶åç§°æ ¡éªŒ
        nameOfEvent: [
          {
            required: true,
            message: '请输入活动名称',
            trigger: 'blur'
          }
        ],
        // äº‹ä»¶ç±»åž‹æ ¡éªŒ
        eventOfType: [
          {
            required: true,
            message: '请选择事件类型',
            trigger: 'blur'
          }
        ],
        // äº‹ä»¶ç­‰çº§æ ¡éªŒ
        eventOfLevel: [
          {
            required: true,
            message: '请选择事件等级',
            trigger: 'blur'
          }
        ],
        // äº‹å‘单位 ç»‘定数据值
        unit: [
          {
            required: true,
            message: '请选择活动区域',
            trigger: 'change'
          }
        ],
        // äº‹å‘æ—¶é—´
        atTime: [
          {
            required: true,
            message: '请选择活动资源',
            trigger: 'change'
          }
        ],
        // äº‹ä»¶ä½ç½®æ ¡éªŒ
        positionOf: [
          {
            required: true,
            message: '请输入活动位置',
            trigger: 'blur'
          }
        ],
        // ä½ç½®æè¿°æ ¡éªŒ
        positionDescription: [
          {
            required: true,
            message: '请输入位置描述',
            trigger: 'blur'
          }
        ],
        // ç®¡çº¿åç§°
        lineName: [],
        // ç®¡çº¿ç±»åž‹
        lineType: []
      },
      // æè¿° æŽ¥æ”¶ => å±•示/隐藏
      wayTo: false,
      location: false,
      // ä¸Šä¼ åˆ—表
      fileList: [],
      // ä¸Šä¼ åœ°å€
      uploadAction: ''
    }
  },
  methods: {
    // æ¶ˆæ¯æŽ¨é€ é€‰æ‹©æŽ¨é€çš„对象
    infotsChange () {
      if (this.ruleForm.beingPushed.indexOf('短信推送') > -1 || this.ruleForm.beingPushed.indexOf('手机应用推送') > -1) {
        // console.log('包含该元素')
        this.wayTo = true
      } else {
        // console.log('不包含该元素')
        this.wayTo = false
      }
    },
    // ç‚¹å‡»å®šä½ è¿›è¡Œä½ç½®é€‰æ‹©
    locationInfo () {
      // console.log('位置信息选择')
      this.location = !this.location
      eventBus.$emit('pipelineFile-choose', false)
    },
    // ç‚¹å‡»ä¸Šä¼  çš„取消上传事件
    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}?`)
    },
    // è¡¨å•的确认按钮点击事件
    submitForm (formName) {
      // this.$refs[formName].validate((valid) => {
      //   if (valid) {
      //     alert('submit!')
      //   } else {
      //     console.log('error submit!!')
      //     return false
      //   }
      // })
      // temp临时
      // window.mapManager.clickDialogSwitch = false
      // this.eventsReported = false
      // eventBus.$emit('events-reported', true)
      // this.eventsReported = false
      // this.saveSuccess = true
      // temp ä¸´æ—¶æ–¹æ³•2
      window.$layer.open({
        content: {
          comp: DisposalEvent,
          parent: this,
          data: { // ä¼ é€’的参数
            // info: this.info
          }
        },
        title: '事件处置'
      })
    },
    // å¤„置分析
    disposalAnalysis () {
      this.saveSuccess = false
      eventBus.$emit('events-reported', true)
    },
    // form表单的取消按钮点击事件 é‡ç½®ä¿¡æ¯
    resetForm (formName) {
      this.$refs[formName].resetFields()
      this.eventsReported = false
    }
  }
}
</script>
<style lang="less" scoped>
    .report-incident {
        position: absolute;
        display: inline-flex;
        overflow: hidden;
        top: 0.42979rem;
        left: 0.14583rem;
        z-index: 500;
        .report-box {
            .public-bounced-title {
                display: flex;
                align-items: center;
                justify-content: space-between;
                span {
                    color: #f4f7ff;
                    margin: 0 15px;
                    font-size: 14px;
                }
                i {
                    color: #C0C4CC;
                    margin: 0 15px;
                    font-size: 22px;
                    cursor: pointer;
                }
            }
        }
    }
    /deep/ .el-form-item {
        margin: 10px 0;
    }
    /deep/ .el-textarea__inner {
        width: 2rem;
        color: darkgrey;
        border: solid 1px #00fff6;
        background-color: rgba(0, 255, 246, 0.14);
        outline: none;
        font-size: 0.01rem;
    }
    /deep/ .el-checkbox__label {
        color: #00fff6 !important;
    }
    /deep/ input {
        /*width: 145px;*/
        border-radius: 0;
        background-color: rgba(0, 255, 246, 0.14);
        border: solid 1px #00fff6;
        color: #C0C4CC;
        font-size: 0.01rem;
    }
    /deep/ .el-input.is-disabled .el-input__inner {
        color: #C0C4CC;
        font-size: 0.01rem;
        border-radius: 4px;
        background: @background-color;
        border-color: @color;
    }
    /deep/ .el-input__inner {
        /*width: 145px;*/
        border-radius: 5px;
        background: rgba(0, 16, 30, 0.5);
    }
    /deep/ .el-form-item__label {
        color: @color;
    }
    /deep/ .el-radio__label {
        color: @color;
    }
    .confirmCancel {
        text-align: right;
        margin: 15px;
        /*display: flex;*/
        /*justify-content: flex-end;*/
    }
</style>
src/components/panel/topicSearch/EnterpriseEmergency/ReportPopup.vue
File was deleted
src/components/panel/topicSearch/SewersSelect/AnalysisChoose/Connectivity.vue
@@ -15,9 +15,6 @@
                             label="管段名称"></el-table-column>
            <el-table-column sortable width="100" prop="startpointnumber" label="起点编号"></el-table-column>
            <el-table-column sortable width="100" prop="endpointnumber" label="终点编号"></el-table-column>
<!--            <el-table-column v-for="(item, index) in tableDataLinkStartList" :key="index" :prop="item.prop"-->
<!--                             :label="item.label" :show-overflow-tooltip="true" min-width="100" :sortable="item.sortable">-->
<!--            </el-table-column>-->
            <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>
@@ -64,34 +61,12 @@
export default {
  name: 'Connectivity',
  props: ['tableData'],
  data () {
    return {
      // è¿žé€šæ€§  // 1  è¿žé€šæ€§èµ·å§‹ç®¡æ®µ   0 è¿žé€šæ€§ç»“束管段 ç”¨æ¥åˆ¤æ–­æ˜¯ç‚¹å‡»äº†èµ·å§‹  è¿˜æ˜¯ç»“束管段
      linkType: 1,
      // è¿žé€šæ€§ èµ·å§‹ç®¡æ®µ è¡¨æ ¼æ•°æ®
      tableDataLinkStart: [],
      tableDataLinkStartList: [// table è¡¨æ ¼å®šä¹‰çš„字段
        {
          label: '管段类型',
          prop: 'datasource'
        },
        {
          label: '管段名称',
          prop: 'pipecode',
          sortable: true
        },
        {
          label: '起点编号',
          prop: 'material',
          sortable: true
        },
        {
          label: '终点编号',
          prop: 'material',
          sortable: true
        }
      ],
      // è¿žé€šæ€§ ç»“束管段 è¡¨æ ¼æ•°æ®
      tableDataLinkEnd: [],
      // è¿žé€šæ€§ åˆ†æžç»“æžœ å±•示 => è¿žé€š || ä¸è¿žé€š
@@ -120,17 +95,15 @@
    // åœ°å›¾ä¸Šç‚¹å‡»
    selectPipeLine () {
      window.map.on('click', this.selectClick)
      // window.mapManager.clickDialogSwitch = false
      window.mapManager.clickDialogSwitch = false
    },
    // åœ°å›¾ä¸Šç‚¹å‡»å›žè°ƒ
    selectClick (e) {
      // console.log(e)
      // window.mapManager.clickDialogSwitch = true
      window.map.off('click', this.selectClick)
      window.mapManager.clickDialogSwitch = false
      const point = [e.latlng.lng, e.latlng.lat]
      this.getPipeLine(point)
      // this.getPipeLine(point, this.linkType)
      // window.mapManager.clickDialogSwitch = true
    },
    // ç‚¹å‡»èŽ·å–åˆ¤æ–­æ•°æ®
    async getPipeLine (point) {
@@ -141,12 +114,42 @@
      }
      // æ ¹æ®å‚数请求接口数据
      const res = await mapApi.findPipelineByClickPoint(param)
      console.log(res)
      // console.log(res)
      if (this.linkType === 1) {
        this.tableDataLinkStart = res.data
      } else {
        this.tableDataLinkEnd = res.data
      }
    },
    // è¿žé€šæ€§çš„æ¸…除功能
    handleClick () {
      // this.linkClear()
      if (this.currentSelectStartLine != null) {
        this.currentSelectStartLine.remove()
        this.currentSelectStartLine = null
      }
      if (this.currentSelectEndLine != null) {
        this.currentSelectEndLine.remove()
        this.currentSelectEndLine = null
      }
      if (this.currentSelectResultLine != null) {
        this.currentSelectResultLine.remove()
        this.currentSelectResultLine = null
      }
      this.currentLinkIsTrue = ''
      this.tableDataLinkStart = []
      this.tableDataLinkEnd = []
      this.tableDataLinkResult = []
      if (this.flowPipeLine != null) {
        this.flowPipeLine.remove()
        this.flowPipeLine = null
      }
      if (this.linkPipeline.length > 0) {
        this.linkPipeline.forEach((itm, idx) => {
          itm.remove()
        })
      }
      this.linkPipeline = []
    },
    // è¿žé€šæ€§ ===> åœ°å›¾ç‚¹å‡»èµ·å§‹ç®¡æ®µe
    linkClickStart (e) {
@@ -279,36 +282,6 @@
        }
      }).addTo(window.map)
      window.map.panInsideBounds(this.currentSelectResultLine.getBounds())
    },
    // è¿žé€šæ€§çš„æ¸…除功能
    handleClick () {
      // this.linkClear()
      if (this.currentSelectStartLine != null) {
        this.currentSelectStartLine.remove()
        this.currentSelectStartLine = null
      }
      if (this.currentSelectEndLine != null) {
        this.currentSelectEndLine.remove()
        this.currentSelectEndLine = null
      }
      if (this.currentSelectResultLine != null) {
        this.currentSelectResultLine.remove()
        this.currentSelectResultLine = null
      }
      this.currentLinkIsTrue = ''
      this.tableDataLinkStart = []
      this.tableDataLinkEnd = []
      this.tableDataLinkResult = []
      if (this.flowPipeLine != null) {
        this.flowPipeLine.remove()
        this.flowPipeLine = null
      }
      if (this.linkPipeline.length > 0) {
        this.linkPipeline.forEach((itm, idx) => {
          itm.remove()
        })
      }
      this.linkPipeline = []
    }
  }
}
src/components/panel/topicSearch/SewersSelect/AnalysisChoose/PublicWay.js
@@ -1,17 +1,3 @@
export function selectPipeLine () {
  window.map.on('click', this.selectClick)
  window.mapManager.clickDialogSwitch = true
}
// åœ°å›¾ä¸Šç‚¹å‡»å›žè°ƒ
export function selectClick (e) {
  window.map.off('click', this.selectClick)
  const point = [e.latlng.lng, e.latlng.lat]
  this.getPipeLine(point)
  // this.getPipeLine(point, this.linkType)
  // window.mapManager.clickDialogSwitch = true
}
export function createFlowLine (param) {
  const flowLine = window.L.polyline(param.points, param.option)
  flowLine.addTo(window.map)
src/views/MapTemplate.vue
@@ -17,7 +17,7 @@
        <!--    <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>
            <ReportIncident></ReportIncident>
        <Emergency ref="Emergency"></Emergency>
        <Message></Message>
    </div>
@@ -39,7 +39,7 @@
// // å…¬å…±å±•示数据
// import PublicBounced from '@components/BaseNav/PublicBounced/PublicBounced'
import LayerFactory from '@components/LayerController/service/LayerFactory'
import ReportPopup from '../components/panel/topicSearch/EnterpriseEmergency/ReportPopup'
import ReportIncident from '../components/panel/topicSearch/EnterpriseEmergency/ReportIncident'
import Emergency from '@components/emergency/index'
import MapManager from '../components/helpers/MapManager'
import Message from '@components/message/index'
@@ -59,7 +59,7 @@
    // PublicBounced,
    Emergency,
    Message,
    ReportPopup
    ReportIncident
  },
  data () {
    return {