派生自 wuyushui/SewerAndRainNetwork

陈泽平
2021-05-25 6ebf06fa7ce4fccb3144a0c15773cb9e48276fd7
事件上报页面修改
2个文件已添加
8个文件已修改
217 ■■■■ 已修改文件
public/assets/images/map/sewers/应急队伍.png 补丁 | 查看 | 原始文档 | blame | 历史
public/assets/images/map/sewers/截流闸.png 补丁 | 查看 | 原始文档 | blame | 历史
public/assets/images/map/sewers/溢流堰.png 补丁 | 查看 | 原始文档 | blame | 历史
src/components/base-page/enterprise-emergency/DisposalEvent.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/base-page/enterprise-emergency/PipelineFile.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/base-page/enterprise-emergency/PositionChange.vue 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/base-page/enterprise-emergency/ReportIncident.vue 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/enterprise-emergency/EventQuery.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/sewers-select/analysis-choose/Tube.vue 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerHbss.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/assets/images/map/sewers/Ó¦¼±¶ÓÎé.png

public/assets/images/map/sewers/½ØÁ÷Õ¢.png
public/assets/images/map/sewers/ÒçÁ÷Ñß.png
src/components/base-page/enterprise-emergency/DisposalEvent.vue
@@ -54,7 +54,7 @@
        </el-table>
        <div class="event-management">
            <el-button type="primary" size="mini" @click="ToManagement">事件管理</el-button>
            <el-button size="mini" @click="close()">关闭</el-button>
            <el-button size="mini">关闭</el-button>
        </div>
    </div>
</template>
@@ -113,19 +113,6 @@
    // äº‹ä»¶ç®¡ç†é¡µé¢è·³è½¬
    ToManagement () {
      eventBus.$emit('events-reported', true)
    },
    // é¡µé¢å…³é—­
    close () {
      window.$layer.open({
        content: {
          comp: '',
          parent: this,
          data: { // ä¼ é€’的参数
            // info: this.info
          }
        },
        title: ''
      })
    }
  }
}
src/components/base-page/enterprise-emergency/PipelineFile.vue
@@ -1,6 +1,6 @@
<template>
    <div class="pipeline-file map-background" v-show="pipelineFile">
        <el-row>
        <el-row style="margin: 0 15px">
            <el-form ref="form" :model="form" label-width="80px">
                <el-col :span="12">
                    <el-form-item label="管线名称">
src/components/base-page/enterprise-emergency/PositionChange.vue
@@ -8,38 +8,54 @@
                </div>
            </el-tab-pane>
            <el-tab-pane label="管段定位" name="second">
                <div class="line-pos">
                        <div class="line-pos-form">
                <div class="place">
                    <div class="place-top">
                        <div class="place-left">
                            <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-select v-model="linePos.affFac" placeholder="请选择活动区域">
                                        <el-option label="区域一" value="shanghai"></el-option>
                                        <el-option label="区域二" value="beijing"></el-option>
                                    <el-select v-model="linePos.affFac">
                                        <el-option
                                                v-for="item in linePos.affFacList"
                                                :key="item.value"
                                                :label="item.label"
                                                :value="item.value">
                                        </el-option>
                                    </el-select>
                                </el-form-item>
                            </el-form>
                            <el-button type="primary" size="mini">搜索</el-button>
                        </div>
                    <el-button type="primary" @click="confirm">确认</el-button>
                        <div class="place-right">
                            <el-button type="primary" size="small" @click="fileChoose">搜索</el-button>
                        </div>
                    </div>
                    <div class="place-bottom">
                        <el-button type="primary" @click="confirm">确认</el-button>
                    </div>
                </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 class="place">
                    <div class="place-top">
                        <div class="place-left">
                            <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>
                        </div>
                        <div class="place-right">
                            <el-button type="primary" size="small">搜索</el-button>
                        </div>
                    </div>
                    <el-button type="primary" @click="confirm">确认</el-button>
                    <div class="place-bottom">
                        <el-button type="primary" @click="confirm">确认</el-button>
                    </div>
                </div>
            </el-tab-pane>
        </el-tabs>
@@ -65,9 +81,19 @@
      // ç®¡æ®µå®šä½
      linePos: {
        lineName: '',
        affFac: ''
        affFac: '',
        affFacList: [
          {
            label: '阀门A',
            value: '1'
          },
          {
            label: '阀门B',
            value: '2'
          }
        ]
      },
      tabLabel: ''
      fileChoChange: false
    }
  },
  mounted () {
@@ -79,14 +105,11 @@
  methods: {
    // tab åˆ‡æ¢ç”¨äºŽåˆ¤æ–­
    handleClick (tab) {
      // æŽ§åˆ¶ç¬¬ä¸‰å±‚页面 ç®¡çº¿åç§°/管段代码选择页面
      if (tab.label === '管段定位') {
        // å¦‚æžœ æ˜¯ç®¡çº¿å®šä½ æ˜¾ç¤ºä¸‰çº§é™„属框 è¿›è¡Œé€‰æ‹©æ–‡ä»¶æ“ä½œ
        eventBus.$emit('pipelineFile-choose', true)
      } else {
        // eles ä¸è¿›è¡Œæ˜¾ç¤º
        eventBus.$emit('pipelineFile-choose', false)
      }
    },
    // ç‚¹å‡»æ–‡ä»¶é€‰æ‹© æ˜¾ç¤ºç¬¬ä¸‰çº§é¡µé¢ è¿›è¡Œç®¡çº¿/段选择
    fileChoose () {
      this.fileChoChange = !this.fileChoChange
      eventBus.$emit('pipelineFile-choose', this.fileChoChange)
    },
    // ç‚¹å‡»ç¡®è®¤æŒ‰é’®äº‹ä»¶
    confirm () {
@@ -103,8 +126,9 @@
    .side-box {
        min-width: 1.94532rem;
        max-height: 1.343213rem;
        max-width: 1.94532rem;
    }
    .click-location {
        margin: 0 auto;
        text-align: center;
@@ -119,28 +143,25 @@
        }
    }
    .line-pos {
        text-align: center;
        .el-input {
            width: 85%;
        }
        .line-pos-form {
            display: flex;
        }
    }
    .latlng-location {
    .place {
        text-align: center;
        .latlng-location-chose {
        .place-top {
            display: flex;
            align-content: center;
            align-items: center;
            justify-content: space-around;
            .place-right {
                .el-button {
                    margin: 15px;
                }
            }
        }
        .el-input {
            width: 85%;
        .place-bottom {
            .el-button {
                margin: 15px;
            }
        }
    }
</style>
src/components/base-page/enterprise-emergency/ReportIncident.vue
@@ -3,7 +3,7 @@
        <div class="report-box map-background">
            <div class="public-bounced-title panel-title">
                <span>事件上报</span>
                <i class="el-icon-close"></i>
                <i class="el-icon-close" @click="circlePopup"></i>
            </div>
            <div class="form-popup">
                <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="90px" class="search-form">
@@ -25,11 +25,8 @@
                    <!--            äº‹ä»¶ç­‰çº§-->
                    <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-col :span="8" v-for="(item,index) in ruleForm.eventOfLevelList" :key="index" :style="{margin:'5px 0'}">
                            <el-col :span="8" v-for="(item,index) in ruleForm.eventOfLevelList" :key="index"
                                    :style="{margin:'5px 0'}">
                                <el-radio :label="item.value">
                                    <span>{{ item.name }}</span>
                                </el-radio>
@@ -41,12 +38,12 @@
                        <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-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>
@@ -123,7 +120,7 @@
                        </el-checkbox-group>
                    </el-form-item>
                    <!--            // æè¿° æŽ¥æ”¶ å±•示、隐藏-->
                    <div v-show="wayTo">
                    <div v-show="wayTo" class="way-to">
                        <el-form-item label="事件描述" prop="desc">
                            <el-input type="textarea" resize="none" v-model="ruleForm.desc"
                                      placeholder="带出事件类型,事件位置,事件单位,事件时间等字段自动生产一部分描述">
@@ -376,6 +373,10 @@
      })
      this.eventsReported = false
    },
    // ç‚¹å‡»å…³é—­ äº‹ä»¶ä¸ŠæŠ¥
    circlePopup () {
      this.eventsReported = false
    },
    // form表单的取消按钮点击事件 é‡ç½®ä¿¡æ¯
    resetForm (formName) {
      this.$refs[formName].resetFields()
@@ -401,6 +402,12 @@
<style lang="less" scoped>
    .way-to {
        /deep/ .el-form-item__content {
            display: flex;
        }
    }
    /deep/ .form-popup {
        margin: 0 15px;
    }
@@ -415,6 +422,7 @@
        .report-box {
            min-width: 3.4674324rem;
            max-width: 3.4674324rem;
            .public-bounced-title {
                display: flex;
                align-items: center;
@@ -453,6 +461,10 @@
        color: #00fff6 !important;
    }
    /deep/ .el-icon-time:before {
        content: " ";
    }
    /deep/ input {
        /*width: 145px;*/
        border-radius: 0;
src/components/panel/topicSearch/enterprise-emergency/EventQuery.vue
@@ -82,7 +82,6 @@
                </div>
            </div>
        </el-scrollbar>
        <!--        <reportPopup></reportPopup>-->
    </div>
</template>
@@ -97,7 +96,7 @@
export default {
  name: 'EventQuery',
  components: {
    // reportPopup
    // DisposalEvent
  },
  data () {
    return {
@@ -150,7 +149,7 @@
            // info: this.info
          }
        },
        title: '处置事件'
        title: '事件处置'
      })
    },
    // radio数据选择
src/components/panel/topicSearch/sewers-select/analysis-choose/Tube.vue
@@ -34,7 +34,7 @@
                             label="终点编号"></el-table-column>
            <el-table-column class-name="fixed-table" fixed="right" label="操作" width="40">
                <template slot-scope="scope">
                    <el-button @click="linkResultSelect(scope.row)" type="text" size="small">定位</el-button>
                    <el-button @click.once="linkResultSelect(scope.row)" type="text" size="small">定位</el-button>
                </template>
            </el-table-column>
        </el-table>
@@ -73,13 +73,12 @@
    })
  },
  methods: {
    // æ¸…除功能
    handleClick () {
      window.mapManager.clearHighlight()
      this.clearLinkPipe()
      this.linkClear()
      this.bgFm = []
      this.bgPipeLine = []
    },
    linkClear () {
      if (this.currentSelectStartLine != null) {
        this.currentSelectStartLine.remove()
        this.currentSelectStartLine = null
@@ -115,10 +114,14 @@
      }
      // æ ¹æ®å‚数请求接口数据
      const res = await mapApi.findPipelineByClickPoint(param)
      console.log(res)
      // console.log(res)
      this.bgPipeLine = res.data
    },
    // æ¸…楚分析结果
    // çˆ†ç®¡ ===> é€‰æ‹©ç®¡æ®µ
    bgClick () {
      this.selectPipeLine()
    },
    // æ¸…除结果
    clearLinkPipe () {
      if (this.linkPipeline.length > 0) {
        this.linkPipeline.forEach((itm, idx) => {
@@ -131,10 +134,7 @@
        this.currentSelectEndLine = null
      }
    },
    // çˆ†ç®¡ ===> é€‰æ‹©ç®¡æ®µ
    bgClick () {
      this.selectPipeLine()
    },
    // ç‚¹å‡»é€‰æ‹©äº‹ä»¶
    async bgSelect (e) {
      // console.log('选择爆管管段')
      // console.log(e)
@@ -175,17 +175,6 @@
      }
      res.data.reverse()
      this.bgFm = res.data
      // console.log(res.data)
      this.bgPoint = res.data[0].startControlPoint
      // const point = JSON.parse(this.bgPoint.geomText)
      // const p = [point.coordinates[1], point.coordinates[0]]
      // this.bgMarker = this.createFlowMarker(p)
      // this.bgMarker = pulseEffect(p)
      // this.bgMarker.bindTooltip(this.bgPoint.pointnumbe)
      // this.bgMarker.addTo(window.map)
      // window.map.flyTo(p)
      const linkPipe = []
      res.data.forEach((itm, idx) => {
@@ -214,20 +203,17 @@
        this.linkPipeline.push(line)
      })
    },
    // ç‚¹å‡»å®šä½ æ‰€åœ¨è¡Œåˆ—表 åŠŸèƒ½
    bgFmClick (e) {
      // console.log('点击影响的阀门')
      // console.log(e)
      // const point = [e.data[0][0], e.data[0][1]]
      console.log(e)
      // window.map.flyTo(point, 22)
      const point = [e.startControlPoint.y, e.startControlPoint.x]
      pulseEffect(point)
      // const marker = this.createFlowMarker(point)
      // marker.addTo(window.map)
      // window.map.flyTo(point, 17)
    },
    // å®šä½æ–¹æ³•事件
    linkResultSelect (e) {
      // console.log('连通性分析结果列表点击')
      console.log(e)
      // console.log(e)
      const geom = JSON.parse(e.geomText)
      if (this.currentSelectResultLine != null) {
        this.currentSelectResultLine.remove()
src/conf/layers/LayerHbss.js
@@ -54,7 +54,7 @@
      sname: '截流闸',
      type: SERVICE_TYPE.WMS,
      typeName: 'sewer:chokevalve',
      icon: 'sewers/.png',
      icon: 'sewers/截流闸.png',
      checked: false
    },
    {
@@ -64,7 +64,7 @@
      minZoom: 16,
      type: SERVICE_TYPE.WMS,
      typeName: 'sewer:overflowweir',
      icon: 'sewers/.png',
      icon: 'sewers/溢流堰.png',
      checked: false
    },
    {