<!--
  @description: 采购计划-退回计划管理删除记录表格
  @author: lxl
  @date： 2020-11-02 16:52
-->
<template>
  <el-table
    ref="smallTable"
    v-loading="loading"
    :data="tableData"
  >
    <el-table-column
      type="index"
      label="序号"
      width="60px"
      align="center"
      fixed="left"
    />
    <el-table-column prop="date" label="采购单编号" width="150" header-align="center" align="left" fixed="left" />
    <el-table-column prop="purchaseNo" min-width="150" label="行项目编号" header-align="center" align="left" fixed="left" />
    <el-table-column prop="purchaseCode" min-width="100" label="物资编码" align="center" />
    <el-table-column prop="purchaseName" min-width="220" label="物资名称" header-align="center" align="left" />
    <el-table-column min-width="150" label="采购方式" align="center">
      <template slot-scope="scope">
        {{ filterDictText(tenderMethodList,scope.row.tenderMethod) }}
      </template>
    </el-table-column>
    <el-table-column prop="suppliersName" min-width="220" label="供货厂商" header-align="center" align="left" />
    <el-table-column prop="purchaseBrand" min-width="150" label="品牌" header-align="center" align="left" />
    <el-table-column prop="purchaseClassificationParent" width="150" label="一级专业分类" header-align="center" />
    <el-table-column prop="purchaseClassification" width="150" label="二级专业分类" header-align="center" />
    <el-table-column prop="purchaseSpecification" min-width="220" label="物资描述" header-align="center" />
    <el-table-column prop="resultExeNo" min-width="150" label="结果执行编号" header-align="center" align="left" />
    <el-table-column min-width="80" label="是否集采" align="center">
      <template slot-scope="scope">
        {{ filterDictText(collectionTypeList,scope.row.collectionType) }}
      </template>
    </el-table-column>
    <el-table-column prop="purchaseNum" min-width="100" label="数量" header-align="center" align="right" />
    <el-table-column min-width="80" label="计量单位" align="center">
      <template slot-scope="scope">
        {{ filterDictText(purchaseUnitList,scope.row.purchaseUnit) }}
      </template>
    </el-table-column>
    <el-table-column min-width="110" 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="110" label="预算净总价(元)" header-align="center" align="right">
      <template slot-scope="scope">
        {{ scope.row.purchaseTotalBudget && numFilter(scope.row.purchaseTotalBudget) }}
      </template>
    </el-table-column>
    <el-table-column prop="purchaseTaxRate" width="150" label="税率(%)" header-align="center" align="left">
      <template slot-scope="scope">
        {{ filterDictText(taxRateList,scope.row.purchaseTaxRate) }}
      </template>
    </el-table-column>
    <el-table-column 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 prop="deliveryAddress" min-width="220" label="交货地点" header-align="center" />
    <el-table-column prop="purchaseDepartName" min-width="220" label="采购单位" header-align="center" />
    <el-table-column prop="purchaseUserRealName" min-width="150" label="上报人" header-align="center" />
    <el-table-column prop="planManagerName" min-width="150" label="计划负责人" header-align="center" />
    <el-table-column prop="remark" min-width="220" label="备注" header-align="center" />
    <el-table-column prop="purchaseUserRealName" min-width="150" label="采购员" header-align="center" />
    <el-table-column prop="purchasePlanNo" min-width="150" label="采购计划编号" header-align="center" align="left" />
    <el-table-column 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 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 min-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-column label="操作" align="center">
      <template slot-scope="scope">
        <el-link type="primary" @click.stop="handleFlowTrace(scope.row)">
          流程追踪
        </el-link>
      </template>
    </el-table-column>
  </el-table>
</template>
<script>
import { filterDictText, numFilter } from '@/assets/js/utils' // 字典方法
import { procurementPlanGrounpMixins } from '@views/procurement/procurementPlan/mixins/procurementPlanGroupMixins' // 字典信息
export default {
  name: 'RemoveRecordTable',
  mixins: [procurementPlanGrounpMixins],
  props: {
    tableData: {
      type: Array,
      default: () => []
    },
    loading: {
      type: Boolean,
      default: true
    }
  },
  data() {
    return {
      tenderMethodList: [], // 采购方式
      collectionTypeList: [], // 是否集采
      purchaseUnitList: [], // 计量单位
      taxRateList: [], // 税率
      // planAuditStatusList: [], // 退回状态
      dictionaryType: ['tenderMethod', 'purchaseUnit', 'taxRate', 'collectionType'] // 字典请求参数
    }
  },
  created() {
    this.getGroup() // 字典请求初始化
  },
  methods: {
    filterDictText,
    numFilter,
    // 字典请求
    getGroup() {
      this.$store.dispatch('getGroupType', this.dictionaryType).then((data) => {
        // 遍历key存储相应的数据
        for (const key in data.bidTypeData) {
          /* 是否有数据*/
          if (data.bidTypeData[key]) {
            this[key] = data.bidTypeData[key]
          }
        }
      })
    },
    // 流程追踪
    handleFlowTrace(row) {
      this.$emit('flowTrace', row)
    },
    // 附件查看
    checkAccessory(row) {
      this.$emit('checkFile', row, true)
    }
  }
}
</script>
