import { filterDictText } from '@/assets/js/utils'
export const statisticalMixins = {
  data() {
    return {
      purchaseUnitList: [], // 计量单位
      taxRateList: [], // 税率
      belong_bkList: [], // 所属板块
      tender_methodList: [], // 采购方式
      tenderTypeList: [], // 公开/邀请
      reviewMethodList: [], // 评审办法
      protproject_emergencyProcurementList: [], // 紧急采购
      protproject_uploadReplyFileList: [], // 强制上传应答文件
      protproject_currencyList: [], // 币种
      protproject_payTypeList: [], // 付款方式
      protproject_containsFreightList: [], // 是否含运费
      protproject_quoteTypeList: [], // 报价要求
      protproject_quoteMethodList: [], // 询价方式
      procurementOrderOrderStatusList: [], // 订单状态
      plan_data_statusList: [], // 行项目状态
      isFramePlanList: [], // 是否框架
      planAuditStatusList: [], // 审批状态
      supplierAuditBusinessTypeList: [], // 供应商审批业务类型
      supplierAuditTypeList: [], // 供应商审批类型
      isFinishProjectList: []// 是否已完成采购
    }
  },
  created() {
    this.initGroup()
  },
  methods: {
    // 获取字典方法
    initGroup() {
      const data = [
        'purchaseUnit', // 计量单位
        'taxRate', // 税率
        'belong_bk', // 所属板块
        'tender_method', // 采购方式
        'tenderType', // 公开/邀请
        'reviewMethod', // 评审办法
        'protproject_emergencyProcurement', // 紧急采购
        'protproject_uploadReplyFile', // 强制上传应答文件
        'protproject_currency', // 币种
        'protproject_payType', // 付款方式
        'protproject_containsFreight', // 是否含运费
        'protproject_quoteType', // 报价要求R
        'protproject_quoteMethod', // 询价方式
        'procurementOrderOrderStatus', // 订单状态
        'plan_data_status', // 行项目状态
        'isFramePlan', // 是否框架
        'planAuditStatus', // 审批状态
        'supplierAuditBusinessType', // 供应商审批业务类型
        'supplierAuditType', // 供应商审批类型
        'isFinishProject' // 是否已完成采购
      ]
      this.$store.dispatch('getGroupType', data).then(res => {
        Object.keys(res.bidTypeData).forEach((key) => {
          this[key] = res.bidTypeData[key]
        })
      })
    },
    // 格式化时间
    formatterTime(row, column, cellValue) {
      return cellValue && this.$Moment(cellValue).format(cellValue)
    },
    // 计量单位
    formatterPurchaseUnit(row, column, cellValue) {
      return filterDictText(this.purchaseUnitList, cellValue)
    },
    // 税率
    formatterPurchaseTaxRate(row, column, cellValue) {
      return filterDictText(this.taxRateList, cellValue)
    },
    // 所属板块
    formatterBelongBk(row, column, cellValue) {
      return filterDictText(this.belong_bkList, cellValue)
    },
    // 采购方式
    formatterTenderMethod(row, column, cellValue) {
      return filterDictText(this.tender_methodList, cellValue)
    },
    // 公开/邀请
    formatterTenderType(row, column, cellValue) {
      return filterDictText(this.tenderTypeList, cellValue)
    },
    // 评审办法
    formatterReviewMethod(row, column, cellValue) {
      return filterDictText(this.reviewMethodList, cellValue)
    },
    // 紧急采购
    formatterIsEmergencyProcurement(row, column, cellValue) {
      return filterDictText(this.protproject_emergencyProcurementList, cellValue)
    },
    // 强制上传应答文件
    formatterIsUploadReplyFile(row, column, cellValue) {
      return filterDictText(this.protproject_uploadReplyFileList, cellValue)
    },
    // 付款方式
    formatterPayType(row, column, cellValue) {
      return filterDictText(this.protproject_payTypeList, cellValue)
    },
    // 报价要求
    formatterQuoteType(row, column, cellValue) {
      return filterDictText(this.protproject_quoteTypeList, cellValue)
    },
    // 询价方式
    formatterQuoteMethod(row, column, cellValue) {
      return filterDictText(this.protproject_quoteMethodList, cellValue)
    },
    // 订单状态
    formatterOrderStatus(row, column, cellValue) {
      return filterDictText(this.procurementOrderOrderStatusList, cellValue)
    },
    // 行项目状态
    formatterDataStatus(row, column, cellValue) {
      return filterDictText(this.plan_data_statusList, cellValue)
    },
    // 框架协议
    formatterPlanType(row, column, cellValue) {
      return filterDictText(this.isFramePlanList, cellValue)
    }
  }
}
