派生自 wuyushui/SewerAndRainNetwork

ChenZeping02609
2021-05-13 93a9b3228d214602a899791992726a01925c5ac4
Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop
4个文件已添加
7个文件已修改
262 ■■■■■ 已修改文件
src/components/BaseNav/pipeline/AffiliatedFacilities.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/modules/LcServiceLayer.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/emergency/index.vue 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/RightSearchPanel.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/LayerEmergency.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/MapConfig.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerArea.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerEmergencySource.js 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerPk.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/layers/LayerSurroundings.js 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/MapTemplate.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/BaseNav/pipeline/AffiliatedFacilities.vue
@@ -15,8 +15,8 @@
                       <div class="el-select el-select--mini">8888</div>
                    </el-form-item> -->
                    <el-form-item label="设施类型:" size="mini" class="search-panel-item">
                        <el-select style="width: 100%"  v-model="form.dataType" @change="handleDataType"  :popper-class="'select-down'">
                            <el-option v-for="(item,index) in classification" :key="index" :label="item.name" :value="item"></el-option>
                        <el-select style="width: 100%"  v-model="dataType" @change="handleDataType"  :popper-class="'select-down'">
                            <el-option v-for="(item,index) in classification" :key="index" :label="item.name" :value="item.name"></el-option>
                        </el-select>
                    </el-form-item>
                    <div class="rightButtonSearch">
@@ -62,6 +62,7 @@
        areaVal: '',
        keyword: ''
      },
      dataType: '',
      classification: LayerFsss.layers,
      list: [],
      activeNum: -1
@@ -94,17 +95,17 @@
      window.layerFactory.flyByFeature(val1, val.code)
    },
    handleDataType () {
      console.log(this.dataType)
    },
    async handleSearch () {
      var wfsHelper = new WfsHelper()
      // todo 现在管网还没区分开类型,后面改
      wfsHelper.addTypeName(this.form.dataType.sname)
      wfsHelper.addTypeName(this.dataType)
      wfsHelper.addLike('name', this.form.keyword)
      // const _this = this
      const res = await AjaxUtils.GetDataAsynByUrl(wfsHelper.getUrl(), {})
      console.log(res)
      // console.log(res)
      if (res instanceof Object && Object.prototype.hasOwnProperty.call(res, 'features')) {
        const datas = res.features
src/components/LayerController/modules/LcServiceLayer.vue
@@ -53,9 +53,14 @@
      item.checked = !item.checked
      this.toggleLayer(item)
      this.swLayers(item.layers, item.checked)
      // 判断是否是点击 专题图层 下的子节点
      if (v === '专题图层') {
        bus.$emit('changeSearchBar', item)
      }
      // 判断是否点击的 一级专题图层
      if (item.name === '专题图层') {
        console.log(item, '88888888888888')
      }
      this.serviceLayers.forEach(function (item1, index1) {
        if (item1.layers) {
src/components/emergency/index.vue
New file
@@ -0,0 +1,105 @@
<template>
    <el-dialog class="emergency" :visible.sync="showSchedule" :title="tit" :modal="false" v-dialogDrag >
        <!-- 基础信息 -->
        <div class="basicInformation">
            <div>
                <h3 class="panel-title">演练信息</h3>
                <ul>
                    <li>事件类型:</li>
                    <li>事件位置:</li>
                    <li>位置描述:</li>
                    <li>事件时间:</li>
                    <li>附件:<a href="javascript:;">附件1</a><a href="javascript:;">附件1</a></li>
                </ul>
                <h3 class="panel-title">预案匹配</h3>
                <el-table :data="tableData" style="width: 100%">
                    <el-table-column prop="name" label="预案名称"></el-table-column>
                    <el-table-column prop="define" label="预案定义"></el-table-column>
                    <el-table-column prop="hierarchy" label="预案层级"></el-table-column>
                    <el-table-column prop="classification" label="预案分类"></el-table-column>
                    <el-table-column label="附件">
                        <template>
                            <a href="javascript:;">预案</a>
                        </template>
                    </el-table-column>
                </el-table>
                <el-button type="primary" size="mini">分析</el-button>
            </div>
            <!-- <div>
                <div class="panel-title">处置分析</div>
                <div class="area-selected">
                    <el-button type="primary" class="el-icon-location" size="mini"></el-button>
                    <el-button type="primary" class="el-icon-location" size="mini"></el-button>
                    <el-select v-model="value" filterable placeholder="请选择" size="mini">
                        <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
                    </el-select>
                    <el-button type="primary" class="el-icon-search" size="mini"></el-button>
                </div>
                <div>
                    <div class="analysis-btn">
                        <div>
                            <el-button type="primary" size="mini" >重置分析条件</el-button>
                            <el-button type="primary" size="mini" >开始分析</el-button>
                        </div>
                    </div>
                </div>
            </div> -->
        </div>
    </el-dialog>
</template>
<script>
const cityOptions = ['上海', '北京', '广州', '深圳']
export default {
  name: 'index',
  data () {
    return {
      tit: '事件处置',
      showSchedule: false,
      tableData: [
        { name: '预案A', define: '综合预案', hierarchy: '二级单位', classification: '环保' },
        { name: '预案B', define: '专项预案', hierarchy: '直属企业', classification: '环保' },
        { name: '预案C', define: '现场处置预案', hierarchy: '基层单位', classification: '生产' },
        { name: '预案D', define: '现场处置预案', hierarchy: '基层单位', classification: '生产' },
        { name: '预案E', define: '现场处置预案', hierarchy: '基层单位', classification: '生产' }
      ],
      checkAll: false,
      checkedCities: ['上海', '北京'],
      cities: cityOptions,
      isIndeterminate: true,
      value: '',
      options: [{ value: '500', label: '500m' }, { value: '1000', label: '1km' }, { value: '2000', label: '2km' }, { value: '5000', label: '5km' }, { value: '10000', label: '10km' }]
    }
  },
  methods: {
  },
  mounted () {
  }
}
</script>
<style scoped lang="less">
.emergency{
    /deep/ .el-dialog{
        width: 450px;
    }
    .panel-title{
        text-align: left;
        padding: 5px 0 0 0;
    }
    .basicInformation{
        .area-selected{
            display: flex;
            justify-content:flex-end;
            align-items : center;
        }
        .analysis-btn{
            display: flex;
            justify-content:space-between;
            align-items : center;
        }
    }
}
</style>
src/components/panel/RightSearchPanel.vue
@@ -86,7 +86,6 @@
      hbVisible: false,
      pkVisible: false,
      toggleMonitorStyle: 'right:0px',
      title: '污雨水管网',
      isCollapse: true,
      selectGroup: false
src/conf/LayerEmergency.js
New file
@@ -0,0 +1,14 @@
/**
 * 专题
 */
import { LayerEmergencySource } from './layers/LayerEmergencySource'
import { LayerSurroundings } from './layers/LayerSurroundings'
export const LayerEmergency = {
  code: 'sewersEmergency',
  name: '应急图层',
  checked: false,
  isShow: true,
  type: 0,
  layers: [LayerEmergencySource, LayerSurroundings]
}
src/conf/MapConfig.js
@@ -2,6 +2,7 @@
import TDT from './TDT'
import { LayerTopic } from './LayerTopic'
import { LayerBasin } from './layers/LayerBasin'
import { LayerEmergency } from './LayerEmergency'
const curWwwPath = window.document.location.href
const pathname = window.document.location.pathname
@@ -41,7 +42,7 @@
  IntranetBaseMaps: TDT.intranet,
  InternetBaseMaps: TDT.internet,
  Layers: {
    LayerSewersLine: [LayerBasin, LayerTopic]
    LayerSewersLine: [LayerBasin, LayerTopic, LayerEmergency]
  } // 污雨水图层配置
}
src/conf/layers/LayerArea.js
@@ -1,7 +1,7 @@
/**
 * 区域
 */
import { PIPELINE_WFS } from '../Constants'
import { SERVICE_TYPE, PIPELINE_WFS } from '../Constants'
const WFS_URL = PIPELINE_WFS
export const LayerArea = {
  code: 'sewersArea',
@@ -30,8 +30,8 @@
      name: '装置区',
      sname: '装置区',
      checked: false, // 默认选中状态
      type: 0,
      wfs: WFS_URL + '?TYPENAME=装置区'
      type: SERVICE_TYPE.WMS,
      typeName: 'sewer:unitareaboundary'
    }
  ]
}
src/conf/layers/LayerEmergencySource.js
New file
@@ -0,0 +1,41 @@
import { SERVICE_TYPE } from '../Constants'
/**
 * 应急资源
 */
export const LayerEmergencySource = {
  code: 'sewersEmergencySource',
  name: '应急资源',
  checked: false,
  layers: [
    {
      code: 'sewersYjWz',
      name: '应急物资',
      sname: '应急物资',
      checked: false,
      type: SERVICE_TYPE.WMS,
      icon: 'sewers/雨水排口.png',
      typeName: 'sewer:emergencyesources',
      minZoom: 10 // 在指定级别显示
    },
    {
      code: 'sewersYjcl',
      name: '应急车辆',
      sname: '应急车辆',
      icon: 'sewers/雨水排口.png',
      checked: false, // 默认选中状态
      type: SERVICE_TYPE.WMS,
      minZoom: 10
    },
    {
      code: 'sewersYjdw',
      name: '应急队伍',
      sname: '应急队伍',
      icon: 'sewers/雨水排口.png',
      checked: false, // 默认选中状态
      type: SERVICE_TYPE.WMS,
      typeName: 'sewer:maintenanceteam',
      minZoom: 10
    }
  ]
}
src/conf/layers/LayerPk.js
@@ -1,3 +1,5 @@
import { SERVICE_TYPE } from '../Constants'
/**
 * 排口
 */
@@ -13,9 +15,9 @@
      name: '内排口',
      sname: '内排口',
      checked: true,
      type: 0,
      type: SERVICE_TYPE.WMS,
      icon: 'sewers/雨水排口.png',
      wfs: 'http://xearth.cn:6240/geoserver/sewer/wfs?service=WFS&version=1.0.0&request=GetFeature&typeName=sewer:dischargeport&maxFeatures=50&outputFormat=application/json&cql_filter=pfktype=\'内排\'',
      typeName: 'sewer:dischargeport',
      minZoom: 10 // 在指定级别显示
    },
    {
@@ -24,8 +26,8 @@
      sname: '外排口',
      icon: 'sewers/雨水排口.png',
      checked: true, // 默认选中状态
      type: 0,
      wfs: 'http://xearth.cn:6240/geoserver/sewer/wfs?service=WFS&version=1.0.0&request=GetFeature&typeName=sewer:dischargeport&maxFeatures=50&outputFormat=application/json&cql_filter=pfktype=\'外排\'',
      type: SERVICE_TYPE.WMS,
      typeName: 'sewer:dischargeport',
      minZoom: 10
    }
  ]
src/conf/layers/LayerSurroundings.js
New file
@@ -0,0 +1,61 @@
import { SERVICE_TYPE } from '../Constants'
/**
 * 周边环境
 */
export const LayerSurroundings = {
  code: 'sewersSurroundings',
  name: '应急资源',
  checked: false,
  layers: [
    {
      code: 'sewersYy',
      name: '医院',
      sname: '医院',
      checked: false,
      type: SERVICE_TYPE.WMS,
      icon: 'sewers/雨水排口.png',
      typeName: 'sewer:hospital',
      minZoom: 10 // 在指定级别显示
    },
    {
      code: 'sewersXx',
      name: '学校',
      sname: '学校',
      icon: 'sewers/雨水排口.png',
      checked: false, // 默认选中状态
      type: SERVICE_TYPE.WMS,
      minZoom: 10
    },
    {
      code: 'sewersSt',
      name: '水体',
      sname: '水体',
      icon: 'sewers/雨水排口.png',
      checked: false, // 默认选中状态
      type: SERVICE_TYPE.WMS,
      typeName: 'sewer:pointhydrology',
      minZoom: 10
    },
    {
      code: 'sewersZrbhq',
      name: '自然保护区',
      sname: '自然保护区',
      icon: 'sewers/雨水排口.png',
      checked: false, // 默认选中状态
      type: SERVICE_TYPE.WMS,
      wfs: 'sewer:pointpreservationzone',
      minZoom: 10
    },
    {
      code: 'sewersMgmb',
      name: '敏感目标',
      sname: '敏感目标',
      icon: 'sewers/雨水排口.png',
      checked: false, // 默认选中状态
      type: SERVICE_TYPE.WMS,
      wfs: 'sewer:sensitivetarget',
      minZoom: 10
    }
  ]
}
src/views/MapTemplate.vue
@@ -18,6 +18,7 @@
        <!--    <el-button type="primary" @click="AddGasHelper" class="flue-gas">废气</el-button>-->
        <PublicBounced ref="PublicBounced"></PublicBounced>
<!--            <ReportPopup></ReportPopup>-->
        <Emergency ref="Emergency"></Emergency>
    </div>
</template>
@@ -39,6 +40,7 @@
import LayerFactory from '@components/LayerController/service/LayerFactory'
import EventHandler from '../components/LayerController/event/EventHandler'
// import ReportPopup from '../components/panel/topicSearch/SewersSelect/EnterpriseEmergency/ReportPopup'
import Emergency from '@components/emergency/index'
export default {
  name: 'MapTemplate',
@@ -52,7 +54,8 @@
    MonitorPanel,
    // summarySheets,
    SummarySheet,
    PublicBounced
    PublicBounced,
    Emergency
    // ReportPopup
  },
  data () {