
<!--
  @description: 采购计划-计划结果执行待确认列表表格
  @author: lxl
  @date： 2020-10-30 10:32
-->
<template>
  <el-table
    ref="smallTable"
    v-loading="false"
    :data="tableData"
    select-on-indeterminate
    :row-key="getRowKeys"
    @sort-change="sortChange"
    @selection-change="handleSelectionChange"
  >
    <el-table-column
      type="selection"
      width="60px"
      align="center"
      fixed="left"
    />
    <el-table-column
      type="index"
      label="序号"
      width="60px"
      align="center"
      fixed="left"
    />
    <el-table-column min-width="150" sortable="custom" prop="purchaseNo" label="行项目编号" header-align="center" align="left" fixed="left" />
    <el-table-column min-width="110" sortable="custom" prop="purchaseCode" label="物资编码" header-align="center" align="left" fixed="left" />
    <el-table-column min-width="220" sortable="custom" prop="purchaseName" label="物资名称" header-align="center" align="left" fixed="left" />
    <el-table-column min-width="150" sortable="custom" prop="tenderMethod" label="采购方式" align="center">
      <template slot-scope="scope">
        {{ filterDictText(tenderMethodList,scope.row.tenderMethod) }}
      </template>
    </el-table-column>
    <el-table-column min-width="220" sortable="custom" prop="suppliersName" label="供货厂商" header-align="center" align="left" />
    <el-table-column min-width="150" sortable="custom" prop="purchaseBrand" label="品牌" header-align="center" align="left" />
    <el-table-column prop="purchaseClassificationParent" sortable="custom" min-width="150" label="一级专业分类" header-align="center" />
    <el-table-column min-width="150" sortable="custom" prop="purchaseClassification" label="二级专业分类" header-align="center" align="left" />
    <el-table-column min-width="220" sortable="custom" prop="purchaseSpecification" label="物资描述" header-align="center" align="left" />
    <el-table-column min-width="150" sortable="custom" prop="resultExeNo" label="结果执行编号" align="center" />
    <el-table-column min-width="100" sortable="custom" label="是否集采" align="center">
      <template slot-scope="scope">
        {{ filterDictText(collectionTypeList,scope.row.collectionType) }}
      </template>
    </el-table-column>
    <el-table-column min-width="100" sortable="custom" prop="purchaseNum" label="数量" header-align="center" align="right" />
    <el-table-column min-width="110" sortable="custom" prop="purchaseUnit" label="计量单位" align="center">
      <template slot-scope="scope">
        {{ filterDictText(purchaseUnitList,scope.row.purchaseUnit) }}
      </template>
    </el-table-column>
    <el-table-column min-width="150" sortable="custom" label="预算净单价(元)" header-align="center" align="right">
      <template slot-scope="scope">
        {{ scope.row.purchaseBudget && numFilter(scope.row.purchaseBudget) }}
      </template>
    </el-table-column>
    <el-table-column min-width="150" sortable="custom" label="预算净总价(元)" header-align="center" align="right">
      <template slot-scope="scope">
        {{ scope.row.purchaseTotalBudget && numFilter(scope.row.purchaseTotalBudget) }}
      </template>
    </el-table-column>
    <el-table-column min-width="150" sortable="custom" prop="purchaseTaxRate" label="税率(%)" header-align="center" align="left">
      <template slot-scope="scope">
        {{ filterDictText(taxRateList,scope.row.purchaseTaxRate) }}
      </template>
    </el-table-column>
    <el-table-column sortable="custom" min-width="110" label="交货日期" align="center">
      <template slot-scope="scope">
        {{ scope.row.deliveryTime && $Moment(scope.row.deliveryTime).format(momentDate) }}
      </template>
    </el-table-column>
    <el-table-column min-width="220" sortable="custom" prop="deliveryAddress" label="交货地点" header-align="center" align="left" />
    <el-table-column min-width="220" sortable="custom" prop="purchaseDepartName" label="采购单位" header-align="center" align="left" />
    <el-table-column min-width="130" sortable="custom" prop="planManagerName" label="计划负责人" header-align="center" align="left" />
    <el-table-column min-width="150" prop="remark" label="备注" header-align="center" align="left" />
    <el-table-column min-width="130" sortable="custom" prop="purchaseDepartName" label="上报人" header-align="center" align="left" />
    <el-table-column min-width="150" sortable="custom" prop="purchasePlanNo" label="采购计划编号" header-align="center" align="left" />
    <el-table-column min-width="150" sortable="custom" prop="purchasePlanName" label="采购计划名称" header-align="center" align="left" />
    <el-table-column
      sortable="custom"
      min-width="110"
      label="创建日期"
      align="center"
    >
      <template slot-scope="scope">
        {{ scope.row.createTime && $Moment(scope.row.createTime).format(momentDate) }}
      </template>
    </el-table-column>
    <el-table-column
      sortable="custom"
      min-width="110"
      label="批准日期"
      align="center"
    >
      <template slot-scope="scope">
        {{ scope.row.approvalTime && $Moment(scope.row.approvalTime).format(momentDate) }}
      </template>
    </el-table-column>
    <el-table-column width="80" fixed="right" label="附件" align="center">
      <template slot-scope="scope">
        <el-link v-if="scope.row.isContainAttachment==='1'" type="primary" @click.stop="checkAccessory(scope.row)">
          查看
        </el-link>
      </template>
    </el-table-column>
  </el-table>
</template>
<script>
/* 公用方法*/
// import { procurementPlanGrounpMixins } from '@views/procurement/procurementPlan/mixins/procurementPlanGroupMixins' // 字典信息
import { filterDictText, numFilter } from '@/assets/js/utils' // 字典方法
export default {
  name: 'RestStaAffirmTable',
  // mixins: [procurementPlanGrounpMixins],
  props: {
    tableData: {
      type: Array,
      required: true
    }
  },
  data() {
    return {
      /* --------------字典----------------*/
      tenderMethodList: [], // 采购方式
      collectionTypeList: [], // 是否集采
      purchaseUnitList: [], // 计量单位
      taxRateList: [], // 税率
      dictionaryType: ['tenderMethod', 'sourceType', 'collectionType', 'purchaseUnit', 'taxRate'] // 字典请求参数
      /* ------------------------------*/
    }
  },
  created() {
    this.getGroupType()
  },
  methods: {
    filterDictText,
    numFilter,
    // 字典请求
    getGroupType() {
      this.$store.dispatch('getGroupType', this.dictionaryType).then((data) => {
        // 遍历key存储相应的数据
        for (const key in data.bidTypeData) {
          /* 是否有数据*/
          if (data.bidTypeData[key]) {
            this[key] = data.bidTypeData[key]
          }
        }
      })
    },
    // 附件查看
    checkAccessory(row) {
      this.$emit('checkFile', row, true)
    },
    // 获取row的key值优化表格的渲染
    getRowKeys(row) {
      return row.planDetailId
    },
    // 选择事件
    handleSelectionChange(row) {
      this.$emit('MultipleData', row)
    },
    // 排序
    sortChange: function(column, prop, order) {
      let orderType = ''
      switch (column.order) {
        case 'ascending':
          orderType = 'ASC'
          break
        case 'descending':
          orderType = 'DESC'
          break
      }
      this.$emit('orderData', { column: column.prop, orderSort: orderType })
    }
  }
}
</script>
