<!--
  @description:项目信息审核列表
  招标项目-运维-项目综合管理-招标项目审核-项目信息审核列表
  @Modifier:haoFx
  @routerPath:projectManagement/auditBidProject
  @date:2019/11/12-18:15
-->
<template>
  <table-crud
    ref="tableCrud"
    :search-form="searchForm"
    :tabs="auditStatusList"
    search-label-width="100px"
    @on-load="loadData"
  >
    <template v-slot:header>
      招标项目审核列表
    </template>
    <template v-slot:search="search">
      <el-form-item label="招标项目编号" prop="tenderNo">
        <el-input v-model.trim="searchForm.tenderNo" placeholder="招标项目编号" @keyup.enter.native="search.onSearch" />
      </el-form-item>
      <el-form-item label="招标项目名称" prop="tenderName">
        <el-input v-model.trim="searchForm.tenderName" placeholder="招标项目名称" @keyup.enter.native="search.onSearch" />
      </el-form-item>
    </template>
    <template v-slot:GXTable>
      <el-table
        ref="smallTable"
        :data="tableData"
      >
        <el-table-column
          type="index"
          label="序号"
          align="center"
          width="60"
        />
        <el-table-column
          header-align="center"
          prop="tenderNo"
          label="招标项目编号"
          align="center"
          width="200"
        />
        <el-table-column
          header-align="center"
          prop="tenderName"
          label="招标项目名称"
          min-width="230"
        />
        <el-table-column
          prop="tenderType"
          label="招标方式"
          align="center"
          width="100"
        >
          <template slot-scope="scope">
            <span
              v-for="(item,index) in allTenderMethodTypeList"
              v-if="scope.row.tenderMethod===item.typecode"
              :key="index"
            >{{ item.typename }}</span>
          </template>
        </el-table-column>
        <el-table-column
          align="center"
          prop="managerName"
          label="项目经理"
          width="100"
        />
        <el-table-column label="操作" align="center" width="80">
          <template slot-scope="scope">
            <el-link
              v-if="auditStatus === '00'"
              type="primary"
              @click="editProject(scope.row)"
            >
              [审核]
            </el-link>
            <el-link
              v-if="auditStatus === '01'"
              type="primary"
              @click="editProject(scope.row)"
            >
              [查看]
            </el-link>
          </template>
        </el-table-column>
      </el-table>
    </template>
  </table-crud>
</template>

<script>
/* api*/
import { listWaitAuditTenderProjectPages } from '@/api/bidding/biddingProject'
/* 组件*/
import pagination from '@comp/common/pagination/pagination'// 分页
/* 混合开发*/
import { ListMixin } from '@/mixins/ListMixin'
import { initGroupMixin } from '@/mixins/initGroupMixin' // 公共tabs切换页数据list
// 字典信息
export default {
  name: 'Partake',
  components: {
    pagination
  },
  mixins: [ListMixin, initGroupMixin],
  data() {
    return {
      /* 字典信息-start */
      allTenderMethodTypeList: [], // 招标方式
      /* 字典信息-end */
      date: '',
      searchForm: {
        auditStatus: '', // 审核状态:无审批: 00暂存，01待审批,01审核中,03驳回,02通过
        buyersName: '', // 招标人名称
        createTimeBegin: '', // 创建开始时间
        createTimeEnd: '', // 创建结束时间
        isBaseProject: '00', // 是否为基础项目 00否 01是
        tenderMethod: '', // 招标方式 : 公开招标 00  邀请招标 01  竞争性谈判 02  询价 03  单一来源招标 04  其他 05
        tenderName: '', // 项目名称
        tenderNo: '', // 项目编号
        tenderType: ''// 项目类型
      },
      tableData: [],
      auditStatus: '' // 审核状态 00待审核 01已审核
    }
  },
  created() {
    this.initGroup() // 获取字典方法
  },
  methods: {
    // 获取字典方法
    initGroup() {
      const data = [
        'allTenderMethodType' // 招标方式
      ]
      this.$store.dispatch('getGroupType', data).then(res => {
        Object.keys(res.bidTypeData).forEach((key) => {
          this[key] = res.bidTypeData[key]
        })
      })
    },
    // 获取数据
    loadData(params, callback, tabData) {
      this.auditStatus = tabData.typecode // 审核状态
      params.auditStatus = tabData.typecode
      listWaitAuditTenderProjectPages(params).then(response => {
        this.loading = false
        this.tableData = response.data.records
        callback(response.data.total)
      }).catch(() => {
        this.loading = false
      })
    },
    // 审核
    editProject(row) {
      this.$router.push({
        path: '/projectManagement/bidProjectAudit-detail',
        name: 'BidProjectAuditDetail',
        params: {
          id: row.id,
          auditStatus: this.auditStatus, // 审核状态 00待审核 01已审核
          isShow: true, // 判断查看页面是否展示标题
          tenderMethod: row.tenderMethod
        }
      })
    }
  }
}
</script>
<style lang="less">
</style>
