派生自 wuyushui/SewerAndRainNetwork

chenzeping
2021-04-14 c865ad4e70b0769d0a4bfd3ad67aed1198f7fde5
src/components/panel/topicSearch/GasWasteSearch.vue
@@ -0,0 +1,209 @@
<template>
  <div class="sewers-search" v-if="gdVisible">
    <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 label="区域:" size="mini" class="search-panel-item">
          <el-select style="width: 100%" v-model="form.areaVal" @change="areaType" :popper-class="'select-down'">
            <el-option
                v-for="item in inareaTypeOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="企业名称:" size="mini">
          <el-select style="width: 100%" v-model="form.enterpriseVal" @change="enterpriseType"
                     :popper-class="'select-down'">
            <el-option
                v-for="item in enterpriseTypeOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="二级单位:" size="mini">
          <el-select style="width: 100%" v-model="form.enterpriseSubunitsVal" @change="enterpriseSubunitsType"
                     :popper-class="'select-down'">
            <el-option
                v-for="item in enterpriseSubunitsTypeOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="三级单位:" size="mini">
          <el-select style="width: 100%" v-model="form.enterpriseSubunitsVal" @change="enterpriseSubunitsType"
                     :popper-class="'select-down'">
            <el-option
                v-for="item in enterpriseSubunitsTypeOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <!--        <el-form-item label="风险级别" size="mini"></el-form-item>-->
        <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-group>
        <!--              <el-form-item >-->
        <div class="rightButtonSearch">
          <el-input v-model="form.keyword" size="mini" placeholder="在此输入关键字搜索">
            <!-- <el-button slot="append" icon="el-icon-search" size="mini"></el-button>-->
            <!-- <i slot="prefix" class="el-input__icon el-icon-search"></i>-->
            <!-- <i slot="suffix" class="search-btn el-input__icon el-icon-search" @click="handleSearch"></i> -->
          </el-input>
          <el-button class="el-icon-search" @click="handleSearch"></el-button>
        </div>
        <!--              </el-form-item>-->
        <!--              <el-form-item>-->
        <!--                <input type="button" class="btn-ok" @click="handleSearch" value="查询">-->
        <!--                <input type="button" class="btn-reset" @click="handleSearch" value="重置">-->
        <!--              </el-form-item>-->
      </el-form>
    </div>
    <el-scrollbar style="height:264px">
      <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>
    <!--   <span class="location-btn" @click="handleLocation(item)">588</span> -->
    <el-card class="footer-page" v-if="total > 10">
      <el-pagination
          small
          @current-change="handlePage"
          :page-size=pageSize
          layout="prev, pager, next"
          :total=total
          :current-page=current
          class="warnPagination"
      >
      </el-pagination>
    </el-card>
  </div>
  <!--        <div class="monitor2" v-if="hbVisible">-->
  <!--          <env-protect-search></env-protect-search>-->
  <!--        </div>-->
  <!--        <div class="monitor2" v-if="pkVisible">-->
  <!--          <discharge-search></discharge-search>-->
  <!--        </div>-->
</template>
<script>
// import WfsHelper from '@components/helpers/WfsHelper'
// import AjaxUtils from '@utils/AjaxUtils'
import mapApi from '@/api/mapApi'
// import WfsHelper from '@components/helpers/WfsHelper'
export default {
  name: 'GasWasteSearch',
  data () {
    return {
      gdVisible: true,
      list: [],
      // labelList: PipelineTypeOptions[0].labelList,
      total: 0,
      inareaTypeOptions: [],
      enterpriseTypeOptions: [],
      enterpriseSubunitsTypeOptions: [],
      form: {
        areaVal: '',
        enterpriseVal: '',
        enterpriseSubunitsVal: '',
        type: ''
      },
      // pageSize: 10,
      // current: 1,
      isWaybillHover: true,
      isRouteHover: false,
      levelOfRisk: [
        {
          name: '全部',
          value: '1'
        },
        {
          name: '正常',
          value: '2'
        },
        {
          name: '超标',
          value: '3'
        },
        {
          name: '异常',
          value: '4'
        },
        {
          name: '停产',
          value: '5'
        }
      ]
    }
  },
  props: ['title'],
  methods: {
    // 区域筛选
    areaType (val) {
      this.pipelineTypeOptions.forEach((itm) => {
        if (val === itm.value) {
        }
      })
    },
    // 企业筛选
    enterpriseType (val) {
      this.dataTypeOptions.forEach((itm) => {
        if (val === itm.value) {
        }
      })
    },
    // 二级单位筛选
    enterpriseSubunitsType (val) {
    },
    // 三级单位筛选
    async handleSearch () {
      const param = {
        pipelineType: this.form.pipelineType,
        dataType: this.form.dataType
      }
      console.log(param)
      // var wfsHelper = new WfsHelper()
      // wfsHelper.addTypeName(this.form.query.layerName)
      // wfsHelper.addLike(this.form.query.key, this.form.keyword)
      // const _this = this
      // const res = await AjaxUtils.GetDataAsynByUrl(wfsHelper.getUrl(), {})
      const res = await mapApi.getWasteGas()
      console.log(res)
      if (res.data instanceof Object && Object.prototype.hasOwnProperty.call(res.data, 'features')) {
        this.list = res.data.features
      }
    },
    handleLocation (val) {
      console.log(val)
      const bound = this.L.geoJSON([val], {}).getBounds()
      var layer = window.serviceLayerHelper.getByLayerId(val.id)
      layer && layer.openPopup()
      this.$store.state.map.map.flyToBounds(bound)
    }
  }
}
</script>
<style lang="less" scoped>
</style>