<!--
  @description: 采购计划-集采计划回退上报列表表格数据
  @author: lxl
  @date： 2020-11-02 13:32
-->
<template>
  <el-table
    ref="smallTable"
    v-loading="loading"
    :data="tableData"
    @sort-change="sortChange"
  >
    <el-table-column
      type="index"
      label="序号"
      width="60px"
      align="center"
      fixed="left"
    />
    <el-table-column
      sortable="custom"
      prop="purchaseNo"
      min-width="150"
      label="行项目编号"
      header-align="center"
      align="left"
      fixed="left"
    />
    <el-table-column
      sortable="custom"
      prop="purchaseCode"
      min-width="110"
      label="物资编码"
      align="center"
      fixed="left"
    />
    <el-table-column
      sortable="custom"
      prop="purchaseName"
      min-width="230"
      label="物资名称"
      header-align="center"
      align="left"
      fixed="left"
    />
    <el-table-column
      sortable="custom"
      prop="tenderMethod"
      min-width="150"
      label="采购方式"
      align="center"
    >
      <template slot-scope="scope">
        {{ filterDictText(tenderMethodList, scope.row.tenderMethod) }}
      </template>
    </el-table-column>
    <el-table-column
      sortable="custom"
      prop="suppliersName"
      min-width="220"
      label="供货厂商"
      header-align="center"
      align="left"
    />
    <el-table-column
      sortable="custom"
      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
      sortable="custom"
      prop="purchaseClassification"
      min-width="150"
      label="二级专业分类"
      header-align="center"
      align="left"
    />
    <el-table-column
      sortable="custom"
      prop="purchaseSpecification"
      min-width="150"
      label="物资描述"
      align="center"
    />
    <!-- <el-table-column
      sortable="custom"
      prop="resultExeNo"
      min-width="150"
      label="结果执行编号"
      header-align="center"
      align="left"
    /> -->
    <!-- <el-table-column
      sortable="custom"
      width="120"
      label="是否集采"
      align="center"
    >
      <template slot-scope="scope">
        {{ filterDictText(collectionTypeList, scope.row.collectionType) }}
      </template>
    </el-table-column> -->
    <el-table-column
      sortable="custom"
      prop="purchaseNum"
      min-width="110"
      header-align="center"
      label="数量"
      align="right"
    />

    <el-table-column
      sortable="custom"
      prop="purchaseUnit"
      min-width="100"
      label="计量单位"
      align="center"
    >
      <template slot-scope="scope">
        {{ filterDictText(purchaseUnitList, scope.row.purchaseUnit) }}
      </template>
    </el-table-column>
    <el-table-column
      sortable="custom"
      prop="purchaseBudget"
      min-width="130"
      header-align="center"
      align="right"
      label="预算净单价(元)"
    >
      <template slot-scope="scope">
        {{ scope.row.purchaseBudget && numFilter(scope.row.purchaseBudget) }}
      </template>
    </el-table-column>
    <el-table-column
      sortable="custom"
      prop="purchaseTotalBudget"
      min-width="130"
      label="预算净总价(元)"
      header-align="center"
      align="right"
    >
      <template slot-scope="scope">
        {{ scope.row.purchaseTotalBudget && numFilter(scope.row.purchaseTotalBudget) }}
      </template>
    </el-table-column>
    <el-table-column
      sortable="custom"
      prop="purchaseTaxRate"
      min-width="150"
      label="税率(%)"
      header-align="center"
      align="left"
    >
      <template slot-scope="scope">
        {{ filterDictText(taxRateList,scope.row.purchaseTaxRate) }}
      </template>
    </el-table-column>
    <el-table-column
      sortable="custom"
      prop="deliveryTime"
      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
      sortable="custom"
      prop="deliveryAddress"
      min-width="220"
      label="交货地点"
      header-align="center"
      align="left"
    />
    <el-table-column
      sortable="custom"
      prop="purchaseDepartName"
      min-width="220"
      label="采购单位"
      header-align="center"
      align="left"
    />
    <el-table-column
      sortable="custom"
      prop="purchaseUserRealName"
      min-width="150"
      label="上报人"
      header-align="center"
      align="left"
    />
    <el-table-column
      sortable="custom"
      prop="planManagerName"
      min-width="150"
      label="技术联系人/电话"
      header-align="center"
      align="left"
    />
    <el-table-column
      sortable="custom"
      prop="remark"
      min-width="220"
      label="备注"
      header-align="center"
      align="left"
    />
    <el-table-column
      sortable="custom"
      prop="purchaseUserRealName"
      min-width="150"
      label="采购员"
      header-align="center"
      align="left"
    />
    <el-table-column
      sortable="custom"
      prop="purchasePlanNo"
      min-width="150"
      label="采购计划编号"
      align="center"
    />
    <!-- 预算编号 -->
    <el-table-column
      min-width="160"
      prop="ykNo"
      label="预算编号"
      header-align="center"
      align="left"
    />
    <!-- 预算年度 -->
    <el-table-column
      min-width="180"
      prop="ykYear"
      label="预算年度"
      header-align="center"
      align="left"
    />
    <!-- 计划编号 -->
    <el-table-column
      min-width="180"
      prop="ykPlanno"
      label="计划编号"
      header-align="center"
      align="left"
    />
    <!-- Book ID -->
<!--    <el-table-column
      min-width="180"
      prop="ykBookid"
      label="Book ID"
      header-align="center"
      align="left"
    />-->
    <!-- 计划名称 -->
    <el-table-column
      min-width="180"
      prop="ykPlannoT"
      label="计划名称"
      header-align="center"
      align="left"
    />
    <!-- 预算编号描述 -->
    <el-table-column
      min-width="230"
      prop="post1"
      label="预算编号描述"
      header-align="center"
      align="left"
    />
    <el-table-column
      sortable="custom"
      prop="createTime"
      min-width="110"
      label="创建日期"
      header-align="center"
      align="left"
    >
      <template slot-scope="scope">
        {{ scope.row.createTime && $Moment(scope.row.createTime).format(momentDate) }}
      </template>
    </el-table-column>
    <el-table-column
      sortable="custom"
      prop="approvalTime"
      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
      prop="businessNo"
      min-width="220"
      label="业务编号"
      header-align="center"
      align="left"
    />
    <el-table-column
      prop="bizReason"
      min-width="220"
      label="退回原因"
      header-align="center"
      align="left"
    />
    <el-table-column
      prop="bizAuditStatus"
      min-width="100"
      label="退回状态"
      align="center"
    >
      <template slot-scope="scope">
        {{ filterDictText(planAuditStatusList, scope.row.bizAuditStatus) }}
      </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 fixed="right" width="180" label="操作" align="center">
      <template slot-scope="scope">
        <!-- 编辑 - 暂时隐藏 -->
        <!-- <el-link
          v-if="scope.row.bizAuditStatus === '02' || scope.row.bizAuditStatus==='03'"
          type="primary"
          @click.stop="backCompile(scope.row)"
        >
          [编辑]
        </el-link> -->
        <el-link
          v-if="scope.row.bizAuditStatus === '02' || scope.row.bizAuditStatus==='03'"
          type="primary"
          @click.stop="handleCancel(scope.row)"
        >
          [取消退回]
        </el-link>
        <template v-if="scope.row.bizAuditStatus!=='03'">
          <!-- 撤回 - 暂时隐藏 -->
          <!-- <el-link
            v-if="scope.row.activitiStatus === '00'"
            type="primary"
            @click.stop="handleWithdraw(scope.row)"
          >
            [撤回]
          </el-link> -->
          <el-link v-if="purchasplanChangeAuditConfig" type="primary" @click.stop="handleFlowTrace(scope.row)">
            [流程追踪]
          </el-link>
        </template>
      </template>
    </el-table-column>
  </el-table>
</template>
<script>
import { filterDictText, numFilter } from '@/assets/js/utils' // 字典方法
import { purPlanBaleMixins } from './mixins/purPlanBaleMixins' // 工作流配置（是否启用工作流）
// import { procurementPlanGrounpMixins } from '@views/procurement/procurementPlan/mixins/procurementPlanGroupMixins' // 字典信息
export default {
  name: 'AppearTable',
  mixins: [purPlanBaleMixins],
  props: {
    tableData: {
      type: Array,
      default: () => []
    },
    loading: {
      type: Boolean,
      default: true
    }
  },
  data() {
    return {
      tenderMethodList: [], // 采购方式
      // collectionTypeList: [], // 是否集采
      purchaseUnitList: [], // 计量单位
      taxRateList: [], // 税率
      planAuditStatusList: [], // 退回状态
      dictionaryType: ['tenderMethod', 'purchaseUnit', 'taxRate', 'planAuditStatus'] // 字典请求参数
    }
  },
  created() {
    this.getGroupType() // 字典请求初始化
    this.purchasplanChangeAudit() // 集采转自采获取工作流配置
  },
  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)
    },
    // 流程追宗
    handleFlowTrace(row) {
      this.$emit('flowTrace', row)
    },
    // 编辑 - 暂时隐藏
    // backCompile(row) {
    //   this.$emit('backCompile', row)
    // },
    // 取消
    handleCancel(row) {
      this.$emit('handelCancel', row)
    },
    // 撤回 - 暂时隐藏
    // handleWithdraw(row) {
    //   this.$emit('handleWithdraw', 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>

