派生自 wuyushui/SewerAndRainNetwork

seatonwan9
2021-05-31 94ae577b548d2f4c51f82f57feadde0048a69f9a
Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop
8个文件已修改
422 ■■■■ 已修改文件
src/components/base-page/RiskSource/PublicTable.vue 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/base-page/RiskSource/PublicTabs.vue 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/base-page/RiskSource/RiskSourceIndex.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/base-page/enterprise-emergency/events-reported/ReportLocationPoint.vue 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/enterprise-emergency/EventQuery.vue 280 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/utils.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/base-page/RiskSource/PublicTable.vue
@@ -6,13 +6,13 @@
    <span></span>
    <div class="main-table">
      <div class="">
        <ul>
          <li>风险评估过程</li>
          <li>初始评价结果:{{ riskSourceAssess }}</li>
        <ul style="margin-bottom: .02rem">
          <li><h3>风险评估过程</h3></li>
          <li>初始评价结果:{{ riskSourceAssess }}</li>
        </ul>
      </div>
      <div>
        <table border="1">
      <div class="EvaluationTable">
        <table border="1" style="border-color: rgba(118,132,189,0.77)" >
          <tr>
            <th colspan="2">风险控制</th>
            <th>评估指标</th>
@@ -95,10 +95,13 @@
          </tr>
        </table>
      </div>
      <el-table :data="riskSourceDetail" style="width: 100%" height="200px" :row-class-name="tableRowClassName">
        <el-table-column v-for="(item, index) in listLabel" :key="index" :prop="item.prop"
                         :label="item.label" :show-overflow-tooltip="true"></el-table-column>
      </el-table>
      <h3>环境风险评估结果</h3>
      <div class="pTable">
        <el-table :data="riskSourceDetail" style="width: 100%" height="200px" :row-class-name="tableRowClassName">
          <el-table-column v-for="(item, index) in listLabel" :key="index" :prop="item.prop"
                           :label="item.label" :show-overflow-tooltip="true"></el-table-column>
        </el-table>
      </div>
    </div>
  </div>
</template>
@@ -171,7 +174,12 @@
</script>
<style lang="less" scoped>
/deep/ .el-table .warning-row{
  background-color: rgba(0, 0, 0, 0) !important;
}
/deep/ .el-table .success-row{
  background-color: rgba(48, 69, 95, .6) !important;
}
/deep/ .el-table thead tr {
  color: #02a6b5 !important;
  //.el-table .has-gutter tr th .cell {
@@ -199,13 +207,21 @@
/deep/ .el-table tbody tr:hover > td {
  background: none !important
}
.pTable{
  box-shadow: 0 0 10px rgba(129,211,248,.35) inset;
  padding: 0.04rem;
  margin-top: .06rem;
}
.slotChildTable {
  position: relative;
  background: rgba(33, 41, 69, 0.9);
  background: rgba(0, 16, 30, 0.7);
  box-shadow: 0 0 10px rgba(129,211,248,.35) inset;
  color: #00fff6;
  padding: 0.04rem;
  border: 1px solid #396d83;
  .main-table {
    border: 1px #396d83 solid;
    max-height: 2rem;
    overflow: hidden auto;
  }
}
src/components/base-page/RiskSource/PublicTabs.vue
@@ -6,10 +6,9 @@
    <span></span>
    <div class="tabs-content">
      <ul>
        <li>风险名称:{{ riskSourceBaseInfo.riskname }}</li>
        <li>风险级别:{{ riskSourceBaseInfo.riskLevel }}</li>
        <li>风险描述:{{ riskSourceBaseInfo.depiction }}</li>
        <li class="lastli"></li>
        <li>风险名称:{{ riskSourceBaseInfo.riskname }}</li>
        <li :style="{boxShadow: riskLevel[riskSourceBaseInfo.riskLevel]}">风险级别:{{ riskSourceBaseInfo.riskLevel }}</li>
        <li>风险描述:{{ riskSourceBaseInfo.depiction }}</li>
      </ul>
    </div>
  </div>
@@ -22,7 +21,13 @@
  name: 'PublicTabs',
  data () {
    return {
      riskSourceBaseInfo: []
      riskSourceBaseInfo: [],
      riskLevel: {
        1: '0 0 10px rgba(246,16,43,.7) inset',
        2: '0 0 10px rgba(244,142,88,.7) inset',
        3: '0 0 10px rgba(253,238,13,.7) inset',
        4: '0 0 10px rgba(38,144,2,.7) inset'
      }
    }
  },
  mounted () {
@@ -44,7 +49,7 @@
.slotChildTabs {
  position: relative;
  margin-bottom: 0.1rem;
  margin-bottom: 0.06rem;
  background-color: @background-color;
  .tabs-content {
@@ -56,21 +61,26 @@
    ul {
      display: flex;
      align-items: center;
      justify-content: space-around;
      flex-wrap: wrap;
      padding: 0 .03rem;
      li {
        margin-bottom: 0.04rem;
        text-align: center;
        min-width: 30%;
        background-color: #243a55;
        color: #00d0f9;
        box-shadow: 0 0 10px rgba(129,211,248,.35) inset;
        color: #00fff6;
        border-radius: 0.02rem;
        font-size: 0.08rem;
        line-height: 0.09rem;
        padding: 0.03rem .5%;
        padding: 0.05rem .8%;
      }
      li:nth-child(2){
        margin-left: .03rem;
      }
      li:last-child {
        text-align: left;
        line-height: .12rem;
        margin-bottom: 0;
      }
      .lastli {
        visibility: hidden
      }
src/components/base-page/RiskSource/RiskSourceIndex.vue
@@ -83,7 +83,7 @@
  .public-bounced-content {
    //padding: 0.1rem;
    display: flex;
    //align-items: center;
    //justify-content: space-around;
src/components/base-page/enterprise-emergency/events-reported/ReportLocationPoint.vue
@@ -1,27 +1,5 @@
<template>
    <div class="location-lon-and-lat">
        <!--        <el-row>-->
        <!--            <el-form :model="lonlatpos" label-width="60px">-->
        <!--                <el-col :span="12">-->
        <!--                    <el-form-item label="经度:">-->
        <!--                        <el-input type="text" v-model="lonlatpos.longPos"></el-input>-->
        <!--                    </el-form-item>-->
        <!--                </el-col>-->
        <!--                <el-col :span="12">-->
        <!--                    <el-form-item label="纬度:">-->
        <!--                        <el-input type="text" v-model="lonlatpos.latPos"></el-input>-->
        <!--                    </el-form-item>-->
        <!--                </el-col>-->
        <!--            </el-form>-->
        <!--            <el-row>-->
        <!--                <el-col :span="12" style="text-align: center;margin: 5px 0">-->
        <!--                    <el-button type="primary" size="small" @click="mapPoints">精确定位</el-button>-->
        <!--                </el-col>-->
        <!--                <el-col :span="12" style="text-align: center;margin: 5px 0">-->
        <!--                    <el-button type="primary" size="small" @click="dataPoints">数据识取</el-button>-->
        <!--                </el-col>-->
        <!--            </el-row>-->
        <!--        </el-row>-->
        <el-form :model="lonlatpos" label-width="60px">
            <el-row class="pipe-line-search">
                <el-col :span="12">
@@ -41,10 +19,10 @@
                <el-button type="primary" size="small" @click="mapPoints">精确定位</el-button>
            </el-col>
            <el-col :span="12" style="text-align: center;margin: 5px 0">
                <el-button type="primary" size="small" @click="dataPoints">数据识取</el-button>
                <el-button type="primary" size="small" @click="dataPoints">位置拾取</el-button>
            </el-col>
        </el-row>
        <el-row class="place-bottom" style="text-align: right;margin: 5px">
        <el-row style="text-align: right;margin: 5px">
            <el-button type="primary" @click="confirm" size="small">确认</el-button>
        </el-row>
    </div>
@@ -88,12 +66,12 @@
        window.map.addLayer(this.marker)
        this.layersGroupArrList.push(this.marker)
        window.map.off('click')
        // this.lonlatpos.latPos = ''
        // this.lonlatpos.longPos = ''
      })
    },
    // 通过数据定位
    dataPoints () {
      // this.lonlatpos.latPos = ''
      // this.lonlatpos.longPos = ''
      if (this.lonlatpos.latPos !== '' && this.lonlatpos.longPos !== '') {
        const as = [this.lonlatpos.latPos, this.lonlatpos.longPos]
        window.map.setView(as, 17)
@@ -127,25 +105,4 @@
</script>
<style lang="less" scoped>
    .place-box {
        display: flex;
        align-items: center;
        justify-content: space-around;
    }
    .place {
        text-align: center;
        .place-top {
            display: flex;
            align-items: center;
            justify-content: space-around;
            .place-right {
                .el-button {
                    margin: 15px;
                }
            }
        }
    }
</style>
src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue
@@ -136,11 +136,14 @@
        // 返回数据类型 1(普通POI)
        if (res.resultType === 1) {
          this.searchList = res.pois
          // this.total = res.count
          this.total = res.pois.length
        } else if (res.resultType === 2) {
          // 返回数据类型 2(统计
          this.searchListStatistics = res.statistics.priorityCitys
          this.total = res.statistics.priorityCitys.length
        } else if (res.resultType === 3) {
          // 返回数据类型 3 area 区域
        }
      })
    },
src/components/panel/topicSearch/enterprise-emergency/EventQuery.vue
@@ -1,106 +1,110 @@
<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.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"
                              @change="redioChange(item.name)">
                        <span class="levelOfRisk-type">{{ item.name }}</span>
                    </el-radio>
                </el-radio-group>
            </el-form-item>
            <el-button type="primary" small @click="dialogVisibleChange">事件上报</el-button>
            <div class="page_total">
                <p>共计
                    <span>{{total}}</span>
                    条记录
                </p>
            </div>
            <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" v-for="(item,index) in list" :key="index" :class="activeNum===index?'hover':''" @click="accordPopup(item)">-->
            <!--                &lt;!&ndash;                <i class="state"></i>&ndash;&gt;-->
            <!--                <img class="state" :src="getImgSrc(item.properties.type)" style="background: none"/>-->
            <!--                <div>-->
            <!--                    <h3 @click="handleLocation(item,index)">事件名称:XXX事件</h3>-->
            <!--                    <h5>-->
            <!--                        事件事件:2021年3月21日-->
            <!--                        <el-button class="rt btn00fff6" size="mini" style="margin-right: 0.04rem;">删除</el-button>-->
            <!--                    </h5>-->
            <!--                    <p>-->
            <!--                        事件状态:<span>审批阶段</span>-->
            <!--                    </p>-->
            <!--                    <p>事件类型:<span>{{ item.properties.pipecode }}</span>-->
            <!--                        <el-button class="rt btn00fff6" size="mini" style="margin-right: 0.04rem;">事件管理-->
            <!--                        </el-button>-->
            <!--                    </p>-->
            <!--                </div>-->
            <!--            </div>-->
            <div class="environmental-risk-list">
                <i class="state"></i>
                <div>
                    <h3>
                        <span @click="disposalfx">事件名称:XXX事件</span>
                        <el-button class="rt btn00fff6" size="mini" style="margin-right: 0.04rem;"
                                   @click="startAnalysis">
                            <span>开始分析</span>
                        </el-button>
                    </h3>
                    <h5>
                        <span>事件事件:2021年3月21日</span>
                        <el-button class="rt btn00fff6" size="mini" style="margin: 0.04rem 0.1rem;">删除</el-button>
                    </h5>
                    <p>
                        事件状态:<span>审批阶段</span>
                    </p>
                    <p>事件类型:<span>模拟管线事件</span>
                        <el-button class="rt btn00fff6" size="mini" style="margin-right: 0.04rem;"
                                   @click="accordPopup()">
                            <span>事件处置</span>
                        </el-button>
                    </p>
                </div>
            </div>
        </el-scrollbar>
        <div class="event-report">
            <el-dialog
                    custom-class="event-report-dialog"
                    title="事件上报"
                    :visible.sync="dialogVisible"
                    :append-to-body="true"
                    :modal="false"
                    v-dialogDrag
            >
                <EventsReported></EventsReported>
            </el-dialog>
        </div>
  <div class="search-panel">
    <el-form ref="form" :model="form" label-width="90px" class="search-form">
      <el-form-item label="企业名称:" size="mini" class="search-panel-item">
        <el-select style="width: 100%" v-model="form.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"
                    @change="redioChange(item.name)">
            <span class="levelOfRisk-type">{{ item.name }}</span>
          </el-radio>
        </el-radio-group>
      </el-form-item>
      <el-button type="primary" small @click="dialogVisibleChange">事件上报</el-button>
      <div class="page_total">
        <p>共计
          <span>{{ total }}</span>
          条记录
        </p>
      </div>
      <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">-->
      <!--                <i class="state"></i>-->
      <!--                <el-row>-->
      <!--                    <h3>-->
      <!--                        <span @click="handleLocation">事件名称:XXX事件</span>-->
      <!--                      <el-button class="rt btn00fff6" size="mini" @click="startAnalysis">开始分析</el-button>-->
      <!--                    </h3>-->
      <!--                    <h5>-->
      <!--                        <span>事件事件:2021年3月21日</span>-->
      <!--                      <el-button class="rt btn00fff6" size="mini">删除</el-button>-->
      <!--                    </h5>-->
      <!--                    <p>-->
      <!--                        事件状态:<span>审批阶段</span>-->
      <!--                      <el-button class="rt btn00fff6" size="mini" @click="accordPopup()">事件处置</el-button>-->
      <!--                    </p>-->
      <!--                    <p>事件类型:<span>模拟管线事件</span></p>-->
      <!--                </el-row>-->
      <!--            </div>-->
      <el-row class="environmental-risk-list">
        <el-col :span="1">
          <i class="state"></i>
        </el-col>
        <el-col :span="19">
<!--          <div>-->
<!--            <el-row>-->
              <h3>
                <span @click="handleLocation">事件名称:XXX事件</span>
                <!--                    <el-button class="rt btn00fff6" size="mini" @click="startAnalysis">开始分析</el-button>-->
              </h3>
              <h5>
                <span>事件事件:2021年3月21日</span>
                <!--                    <el-button class="rt btn00fff6" size="mini">删除</el-button>-->
              </h5>
              <p>
                事件状态:<span>审批阶段</span>
                <!--                    <el-button class="rt btn00fff6" size="mini" @click="accordPopup()">事件处置</el-button>-->
              </p>
              <p>事件类型:<span>模拟管线事件</span></p>
<!--            </el-row>-->
<!--          </div>-->
        </el-col>
        <el-col :span="4">
          <el-button class="rt btn00fff6" size="mini" @click="startAnalysis" style="margin: 0.01rem">开始分析</el-button>
          <el-button class="rt btn00fff6" size="mini" style="margin: 0.05rem">删除</el-button>
          <el-button class="rt btn00fff6" size="mini" @click="accordPopup()" style="margin: 0.02rem">事件处置</el-button>
        </el-col>
      </el-row>
    </el-scrollbar>
    <div class="event-report">
      <el-dialog
          custom-class="event-report-dialog"
          title="事件上报"
          :visible.sync="dialogVisible"
          :append-to-body="true"
          :modal="false"
          v-dialogDrag
      >
        <EventsReported></EventsReported>
      </el-dialog>
    </div>
  </div>
</template>
<script>
@@ -108,10 +112,10 @@
// import WfsHelper from '@components/helpers/WfsHelper'
// import AjaxUtils from '@utils/AjaxUtils'
import DisposalEvent from '../../../base-page/enterprise-emergency/DisposalEvent'
// import EventHandling from '@components/base-page/enterprise-emergency/event-handling/EventHandling'
import eventBus from '../../../../eventBus'
import DisposalEvent from '../../../base-page/enterprise-emergency/DisposalEvent'
import EventsReported from '../../../base-page/enterprise-emergency/events-reported/EventsReported'
// import EventHandling from '@components/base-page/enterprise-emergency/event-handling/EventHandling'
export default {
  name: 'EventQuery',
@@ -120,12 +124,11 @@
  },
  data () {
    return {
      // 弹框绑定 显示/隐藏 数据
      dialogVisible: false,
      list: [],
      total: 0,
      activeNum: -1,
      items: [],
      subItems: [],
      // wfs数据请求
      WfsHelper: null,
      // form 表单绑定数据
      form: {
        pipelineType: '',
        dataType: '',
@@ -142,39 +145,35 @@
          }
        ]
      },
      WfsHelper: null
      // active index
      activeNum: -1,
      // 图层
      items: [],
      subItems: [],
      // 请求数据展示列表
      list: [],
      // 分页功能 总数量
      total: 0
    }
  },
  mounted () {
    // this.wfsHelper = new WfsHelper()
    // 接收 数据 用来控制 弹出框 的隐藏
    eventBus.$on('event-report-popup', (obj) => {
      this.dialogVisible = obj
    })
  },
  methods: {
    // 事件上报按钮 点击事件 控制弹框的显示/隐藏
    dialogVisibleChange () {
      this.dialogVisible = !this.dialogVisible
    },
    // 点击事件管理
    accordPopup () {
      // eventBus.$emit('disposal-analysis', true)
    },
    // 开始分析
    startAnalysis () {
      eventBus.$emit('event-handling', {})
    },
    disposalfx () {
      window.$layer.open({
        content: {
          comp: DisposalEvent, // 组件
          parent: this, // 父组件
          data: { // 传递的参数
            // info: this.info
          }
        },
        title: '事件信息'
      })
    },
    // radio数据选择
    redioChange (item) {
@@ -207,26 +206,31 @@
    // 搜索的数据 de 点击事件
    handleLocation () {
      console.log('val')
      // 时间信息 弹出框
      window.$layer.open({
        content: {
          comp: DisposalEvent, // 组件
          parent: this, // 父组件
          data: { // 传递的参数
            // info: this.info
          }
        },
        title: '事件信息'
      })
    }
  }
}
</script>
<style lang="less" scoped>
    /*/deep/ .event-report-dialog {*/
    /*    left: 3rem;*/
    /*    top: 1rem;*/
    /*}*/
    /*.event-report {*/
        /deep/ .el-dialog {
            width: 3.343545rem;
        }
    /*}*/
/deep/ .el-dialog {
  width: 3.343545rem;
}
    /deep/ .event-report-dialog {
        left: 3rem;
        top: 1rem;
        margin-top: 2rem;
        margin-left: 2rem;
    }
/deep/ .event-report-dialog {
  left: 3rem;
  top: 1rem;
  margin-top: 2rem;
  margin-left: 2rem;
}
</style>
src/router/index.js
@@ -21,9 +21,10 @@
  const token = getToken()
  if (!token && to.name !== LOGIN_PAGE_ROUTE_NAME) {
    // 未登录且要跳转的页面不是登录页
    next({
    /* next({
      name: LOGIN_PAGE_ROUTE_NAME // 跳转到登录页
    })
    }) */
    next() // 跳转
  } else if (!token && to.name === LOGIN_PAGE_ROUTE_NAME) {
    // 未登陆且要跳转的页面是登录页
    next() // 跳转
src/utils/utils.js
@@ -27,6 +27,7 @@
 * 脉冲效果
 */
export function pulseEffect (xy) {
  window.mapManager.clearHighlight()
  let times = 1000
  const colors = ['#00f100', '#ff0000']
  // 插件 效果实现