<!--
  @description: 招标项目-可参与项目列表
  @Modifier: 肖文龙
  @routerPath: /bidding/bidTenderParticipate-list
  @date: 2021/01/06
-->
<template>
  <table-crud
    ref="tableCrud"
    :search-form="searchForm"
    search-label-width="100px"
    :tabs="tabs"
    @on-load="loadData"
  >
    <template v-slot:header>
      可参与项目列表
    </template>
    <template v-slot:search="search">
      <el-form-item ref="tenderNo" label="招标项目编号" prop="tenderNo">
        <el-input
          v-model.trim="searchForm.tenderNo"
          placeholder="招标项目编号"
          style="width:220px"
          @keyup.enter.native="search.onSearch"
        />
      </el-form-item>
      <el-form-item ref="tenderName" label="招标项目名称" prop="tenderName">
        <el-input
          v-model.trim="searchForm.tenderName"
          style="width:220px"
          placeholder="招标项目名称"
          @keyup.enter.native="search.onSearch"
        />
      </el-form-item>
      <el-form-item
        label="资格审查方式"
        prop="qualificationMethod"
      >
        <el-select v-model="searchForm.qualificationMethod" placeholder="请选择" style="width: 220px">
          <el-option
            v-for="item in phaseTypeList"
            :key="item.typecode"
            :label="item.typename"
            :value="item.typecode"
          />
        </el-select>
      </el-form-item>
      <el-form-item
        label="投标截止时间"
      >
        <el-date-picker
          v-model="searchForm.createTime"
          :value-format="elValueSaveFormat"
          type="daterange"
          range-separator="至"
          start-placeholder="开始日期"
          end-placeholder="结束日期"
          @change="createTimeChange"
        />
      </el-form-item>
    </template>
    <template v-slot:GXTable>
      <!-- 可参与项目招标公告/资审公告列表 -->
      <bidTenderBulletinComp v-if="tab.code==='00'" ref="bulletin" @onSearch="onSearch" />
      <!-- 可参与项目邀请函列表 -->
      <bidTenderInvitationComp v-if="tab.code==='01'" ref="invitation" @onSearch="onSearch" />
    </template>
  </table-crud>
</template>
<script>
/* 组件 */
import bidTenderBulletinComp from './bidTenderBulletinComp-list'// 可参与项目招标公告/资审公告列表
import bidTenderInvitationComp from './bidTenderInvitationComp-list'// 可参与项目邀请函表
export default {
  name: 'BidTenderParticipateList',
  components: {
    bidTenderBulletinComp, // 可参与项目招标公告/资审公告列表
    bidTenderInvitationComp // 可参与项目邀请函表
  },
  data() {
    return {
      // tabs
      tabs: [
        { name: '公开招标', code: '00' },
        { name: '邀请招标', code: '01' }
      ],
      tab: {},
      /* 字典信息-start */
      phaseTypeList: [], // 资格审查方式
      /* 字典信息-end */
      // 搜索
      searchForm: {
        createTime: [], // 创建时间 不传给后端只做回显
        startTime: '', // 投标开始时间
        endTime: '', // 投标结束时间
        qualificationMethod: '', // 资格审查方式 00资格预审,01 资格后审
        tenderName: '', // 项目名称
        tenderNo: '' // 项目编号
      }
    }
  },
  created() {
    this.initGroup() // 获取字典方法
  },
  methods: {
    // 获取字典方法
    initGroup() {
      const data = [
        'bidType', // 招标方式
        'phaseType'// 资格审查方式
      ]
      this.$store.dispatch('getGroupType', data).then(res => {
        Object.keys(res.bidTypeData).forEach((key) => {
          this[key] = res.bidTypeData[key]
        })
      })
    },
    // 投标时间选择
    createTimeChange(val) {
      this.searchForm.startTime = val[0]// 开始日期
      this.searchForm.endTime = val[1]// 结束日期
    },
    // 获取数据
    loadData(params, callback, tab) {
      this.tab = tab
      this.$nextTick(() => {
        // 00 公开招标列表
        if (tab.code === '00') {
          this.$refs.bulletin.loadData(params, callback)
        } else if (tab.code === '01') {
          // 01 邀请招标列表
          this.$refs.invitation.loadData(params, callback)
        }
      })
    },
    // 搜索
    onSearch() {
      // 获取列表信息
      this.$refs.tableCrud.onSearchChange()
    }
  }
}
</script>
<style lang="less" scoped>

</style>
