派生自 wuyushui/SewerAndRainNetwork

chenzeping
2021-04-14 447610041c067c090497108c49f923b4ae5ea76e
src/components/panel/topicSearch/SolidWasteSearch.vue
@@ -1,9 +1,6 @@
<template>
  <div class="solidwaste-search" v-if="judgeVisible">
    <div class="search-title">
      <span>固废</span>
      <!--      <span>{{ title }}</span>-->
    </div>
  <div class="sewers-search" v-if="judgeVisible">
    <div class="panel-title">{{ title }}</div>
    <div class="search-panel ">
      <el-form ref="form" :model="form" label-width="90px" class="search-form">
        <el-form-item v-for="(item,index) in solidWasteTypeOptions" :key="index" :label="item.label+':'" size="mini"
@@ -18,89 +15,37 @@
            </el-option>
          </el-select>
        </el-form-item>
        <!--  <div class="search-radio">
          <el-radio v-model="radio" label="1">全部</el-radio>
          <el-radio v-model="radio" label="2">正常</el-radio>
          <el-radio v-model="radio" label="3">预警</el-radio>
        </div> -->
        <el-radio-group v-model="form.type" class="levelOfRisk">
          <el-radio  v-for="(item,index) in levelOfRisk" :label="item.value" :key="index"><span class="levelOfRisk-type">{{item.name}}</span></el-radio>
          <el-radio v-for="(item,index) in levelOfRisk" :label="item.value" :key="index"><span class="levelOfRisk-type">{{
              item.name
            }}</span>
          </el-radio>
        </el-radio-group>
        <div class="rightButtonSearch">
          <el-input  v-model="form.keyword" size="mini"  placeholder="在此输入关键字搜索"></el-input>
          <el-buttom class="el-icon-search" @click="handleSearch"></el-buttom>
          <el-input v-model="form.keyword" size="mini" placeholder="在此输入关键字搜索"></el-input>
          <el-button class="el-icon-search" @click="handleSearch"></el-button>
        </div>
        <el-input v-model="form.keyword" size="mini" placeholder="在此输入关键字搜索">
          <i slot="suffix" class="search-btn el-input__icon el-icon-search" @click="handleSearch"></i>
        </el-input>
      </el-form>
      <el-scrollbar style="height:500px">
        <div class="environmental-risk-list">
          <i class="state"></i>
          <div>
            <h3>###炼化部</h3>
            <p>所属部门:<span>炼化部</span></p>
            <p>风险级别:<span>三级</span></p>
          </div>
        </div>
        <div class="environmental-risk-list"><!-- v-for="(item,index) in list" :key="index" -->
          <i class="state"></i>
          <div>
            <h3>###炼化部</h3>
            <p>所属部门:<span>炼化部</span></p>
            <p>风险级别:<span>三级</span></p>
          </div>
        </div>
        <div class="environmental-risk-list"><!-- v-for="(item,index) in list" :key="index" -->
          <i class="state"></i>
          <div>
            <h3>###炼化部</h3>
            <p>所属部门:<span>炼化部</span></p>
            <p>风险级别:<span>三级</span></p>
          </div>
        </div>
        <div class="environmental-risk-list"><!-- v-for="(item,index) in list" :key="index" -->
          <i class="state"></i>
          <div>
            <h3>###炼化部</h3>
            <p>所属部门:<span>炼化部</span></p>
            <p>风险级别:<span>三级</span></p>
          </div>
        </div>
        <div class="environmental-risk-list"><!-- v-for="(item,index) in list" :key="index" -->
          <i class="state"></i>
          <div>
            <h3>###炼化部</h3>
            <p>所属部门:<span>炼化部</span></p>
            <p>风险级别:<span>三级</span></p>
          </div>
        </div>
        <div class="environmental-risk-list"><!-- v-for="(item,index) in list" :key="index" -->
          <i class="state"></i>
          <div>
            <h3>###炼化部</h3>
            <p>所属部门:<span>炼化部</span></p>
            <p>风险级别:<span>三级</span></p>
          </div>
        </div>
      </el-scrollbar>
      <!--      <el-card class="box-card"-->
      <!--               v-for="(item,index) in searchDataDisplay"-->
      <!--               :key="index">-->
      <!--        <div>-->
      <!--          {{ item.CompanyName }}-->
      <!--        </div>-->
      <!--      </el-card>-->
    </div>
    <!--      <el-scrollbar style="height:100%">-->
    <!--      </el-scrollbar>-->
    <el-scrollbar style="height:286.22px">
      <div class="environmental-risk-list" v-for="(item,index) in searchDataDisplay" :key="index"
           @click="setBounced(item)">
        <i class="state"></i>
        <div>
          <h3>###炼化部</h3>
          <p>所属部门:<span>{{ item.Name }}</span></p>
          <p>风险级别:<span>三级</span></p>
        </div>
      </div>
    </el-scrollbar>
  </div>
</template>
<script>
import mapApi from '@/api/mapApi'
import WfsHelper from '@components/helpers/WfsHelper'
export default {
  name: 'SolidWasteSearch',
@@ -108,9 +53,18 @@
  data () {
    return {
      levelOfRisk: [
        { name: '全部', value: '1' },
        { name: '正常', value: '2' },
        { name: '预警', value: '3' }
        {
          name: '全部',
          value: '1'
        },
        {
          name: '正常',
          value: '2'
        },
        {
          name: '预警',
          value: '3'
        }
      ],
      judgeVisible: true,
      solidWasteTypeOptions: [{
@@ -184,71 +138,44 @@
        // 数据的传递
        transferData: ''
      },
      // 数据搜索之后,存储数据的
      searchDataDisplay: []
    }
  },
  methods: {
    setBounced (val) {
      console.log(val)
      const bound = this.L.geoJSON([val], {}).getBounds()
      // var layer = window.layerFactory.flyByLayerId(val.id, bound)
      window.map.flyToBounds(bound)
      // layer && layer.openPopup()
    },
    handlePipelineType (val) {
      // console.log(val)
      this.solidWasteTypeOptions.forEach(item => {
        // console.log(item.value)
        if (val === item.value) {
          // console.log('数据选择相同')
          // 接收数据 用于之后接口数据的调用
          // this.form.transferData = item.value
          this.handleSearch(item.value)
        }
      })
    },
    // 点击搜索实现数据的搜索展示
    async handleSearch (data) {
      // console.log(this.form.keyword)
      const result = await mapApi.getSolidWasteSurveyDetail(data)
      // // console.log(this.form.keyword)
      // const result = await mapApi.getSolidWaste(data)
      // console.log(result)
      this.searchDataDisplay = result.Result.DataInfo
      // this.searchDataDisplay = result.Result.Result
      var wfsHelper = new WfsHelper()
      wfsHelper.addTypeName('固废')
      wfsHelper.addLike('name', this.form.keyword)
      const res = await mapApi.getSolidWaste(wfsHelper.getUrl(), {})
      console.log(res)
      // if (res instanceof Object && Object.prototype.hasOwnProperty.call(res, 'features')) {
      this.searchDataDisplay = res.Result.Result
      // }
    }
  }
}
</script>
<style lang="less" scoped>
.el-radio.is-checked .levelOfRisk-type {
  color: #409EFF
}
.levelOfRisk {
  padding-left: 20px
}
.levelOfRisk .el-radio {
  padding-bottom: 6px
}
.environmental-risk-list {
  border: 1px solid @color;
  margin-right: 10px;
  margin-bottom: 15px;
  position: relative;
  padding-left: 50px;
  padding-top: 3px;
  padding-bottom: 3px;
  color: #f5f5f5;
  .state {
    width: 30px;
    height: 30px;
    position: absolute;
    top: 50%;
    left: 10px;
    margin-top: -15px;
    border-radius: 50%;
    box-shadow: 0 0 3px #000;
    background: #0B3B6D;
  }
}
.el-input {
  margin: 15px auto;
}
</style>