/*
  @description:招标公告公用字典
  @Modifier:肖文龙
  @routerPath:
  @date:2020-1-3 17:49
*/
import { getBulletinPublishMethodInitInfo, getTenderDocumentInitInfo, getTenderQualificationInitInfo, getBidDocumentSubmitChannelInitInfo, getBulletinOpenInitInfo, getTenderBailPriceInitInfo } from '@/api/bidding/bidBulletin'
import { getSystemConfigValueByConfigType } from '@/api/common/systemConfigCenter'
export const tenderBulletinInitGroupMixin = {
  data() {
    return {
      tenderBase: this.$store.getters.tenderBase, // 项目信息
      /* ==============================招标公告-前端控制==============================*/
      // 开标时间及地址-字典标题
      dict: {
        kbsj: '', // 开标时间
        kbdd: '' // 开标地点
      },
      bulletinTitle: '', // 招标公告 资审公告
      bulletinType: '', // 01 招标公告 21 资审公告
      isPlatformEconomicOpeningTime: '00', // 是否在平台录入经济开标时间 00否在工具端录入 01是在平台录入
      /* ==============================招标公告-接口回显==============================*/
      // 项目概况与招标范围
      publishMethodList: [], // 本次招标标段
      // 招标文件获取-获取标书费相关字典信息
      documentMethodList: [], // 标书金额设置
      receiveMethodList: [], // 标书获取方式
      isNeedSignupList: [], // 是否需要报名
      // 资格要求获取字典信息
      qualificationTypeList: [], // 资质类型
      projectClassificationList: [], // 资格要求类型
      // 获取投标文件递交字典初始化信息
      bidFileSubmitMethodList: [], // 投标文件递交方式
      bidDocumentSubmitDetailAddress: '', // 投标文件递交方式
      // 获取开标方式字典初始化信息
      decryptionMethodList: [], // 标书解密方式
      isSubmitBidPriceList: [], // 第一阶段投标规则
      openingMethodList: [], // 开标方式
      twoBidOpeningMethodList: [], // 两步法开标顺序
      openBidDetailAddress: '', // 开标地点
      // 获取保证金字典初始化信息
      isReceiveTenderBailPriceList: [
        { typename: '开票', typecode: '01' },
        { typename: '不开票', typecode: '00' }
      ], // 是否需要开票
      bailPriceReceiveChannelList: [], // 保证金收取途径
      mediaPartnersList: [], // 指定媒体
      bailPriceMethodList: [], // 保证金收取方式
      bailPriceModeList: [] // 保证金收取方式 00 银企直连  01 线下转账

    }
  },
  created() {
    this.initDict()// 初始化字段标题
    this.getSystemConfigValueByConfigType()
  },
  methods: {
    /* ==============================招标公告-前端控制==============================*/
    // 开标时间及地址-初始化字段标题
    // 00 资审 01 后审
    initDict() {
      if (this.tenderBase.stageType === '00') { // 资审
        // 字典标题
        this.dict = {
          tenderNameLabel: '招标项目名称',
          tenderMethodLabel: '招标方式',
          tenderScaleLabel: '招标规模',
          tenderingAreaLabel: '招标范围',
          kbsj: '资格预审开启时间',
          kbdd: '资格预审开启地点',
          bidDocumentSubmitChannelLabel: '资格预审申请文件递交途径',
          submitEndTimeLabel: '递交资格预审申请文件截止时间',
          bidDocumentSubmitDetailAddressLabel: '资格预审申请文件递交方式',
          bidDocumentSubmitAddressLabel: '资格预审申请文件递交地址',
          tenderDocumentReceiveTimeLabel: '资格预审文件时间',
          tenderDocumentReceiveMethodLabel: '资格预审文件获取方式',
          tenderDocumentSaleMethodLabel: '资格预审文件金额设置',
          tenderDocumentReceiveAddressLabel: '资格预审文件购买详细地址',
          documentPriceTitle: '资格预审文件费（元）',
          bidDocumentDecryptionMethodLabel: '资格预审文件解密方式'
        }
        this.bulletinTitle = '资审公告'
      }
      // 招标采购配置00招标 01采购 bidProcurementConfig
      if (this.tenderBase.stageType === '01' && this.tenderBase.bidProcurementConfig === '00') { // 后审
        // 字典标题
        this.dict = {
          tenderNameLabel: '招标项目名称',
          tenderMethodLabel: '招标方式',
          tenderScaleLabel: '招标规模',
          tenderingAreaLabel: '招标范围',
          kbsj: '开标时间',
          kbdd: '开标地点',
          bidDocumentSubmitChannelLabel: '投标文件递交途径',
          submitEndTimeLabel: '投标截止时间',
          bidDocumentSubmitDetailAddressLabel: '投标文件递交方式',
          bidDocumentSubmitAddressLabel: '投标文件递交地址',
          tenderDocumentReceiveTimeLabel: '标书获取时间',
          tenderDocumentReceiveMethodLabel: '标书获取方式',
          tenderDocumentSaleMethodLabel: '标书金额设置',
          tenderDocumentReceiveAddressLabel: '标书购买详细地址',
          documentPriceTitle: '标书费（元）',
          bidDocumentDecryptionMethodLabel: '标书解密方式'
        }
        this.bulletinTitle = '招标公告'
      }
      // 招标采购配置00招标 01采购 bidProcurementConfig 询比、谈判文案配置
      if (this.tenderBase.stageType === '01' && this.tenderBase.bidProcurementConfig === '01') {
        // 字典标题
        this.dict = {
          tenderNameLabel: '项目名称',
          tenderMethodLabel: '公开方式',
          tenderScaleLabel: '采购规模',
          tenderingAreaLabel: '采购范围',
          kbsj: '开标时间',
          kbdd: '开标地点',
          bidDocumentSubmitChannelLabel: '响应文件递交途径',
          submitEndTimeLabel: '响应截止时间',
          bidDocumentSubmitDetailAddressLabel: '响应文件递交方式',
          bidDocumentSubmitAddressLabel: '响应文件递交地址',
          tenderDocumentReceiveTimeLabel: '标书获取时间',
          tenderDocumentReceiveMethodLabel: '标书获取方式',
          tenderDocumentSaleMethodLabel: '标书金额设置',
          tenderDocumentReceiveAddressLabel: '标书购买详细地址',
          documentPriceTitle: '标书费（元）',
          bidDocumentDecryptionMethodLabel: '标书解密方式'
        }
        this.bulletinTitle = '采购公告'
      }
    },
    /* 初始化-区分招标公告/资审公告 涉及页面 列表 ,审核,发布*/
    initBulletinType() {
      this.bulletinType = this.$route.meta.bulletinType
      if (this.bulletinType === '01') {
        this.bulletinTitle = '招标公告'
      } else if (this.bulletinType === '21') {
        this.bulletinTitle = '资审公告'
      }
    },
    /* 获取是否在平台录入经济开标时间00:否（评标工具录入） 01: 是（平台录入）  */
    getSystemConfigValueByConfigType() {
      getSystemConfigValueByConfigType('isPlatformEconomicOpeningTime').then((res) => {
        this.isPlatformEconomicOpeningTime = res.data
      })
    },

    /* ==============================招标公告-接口回显==============================*/
    // 项目概况与招标范围
    getBulletinPublishMethodInitInfo() {
      getBulletinPublishMethodInitInfo().then(res => {
        // 遍历key存储相应的数据
        for (const key in res.data) {
          this[key + 'List'] = res.data[key].typeList
        }
      })
    },
    // 招标文件获取-获取标书费相关字典信息
    getTenderDocumentInitInfo() {
      getTenderDocumentInitInfo().then(res => {
        // 遍历key存储相应的数据
        for (const key in res.data) {
          this[key + 'List'] = res.data[key].typeList
        }
      })
    },
    // 资格要求获取字典信息
    getTenderQualificationInitInfo() {
      getTenderQualificationInitInfo().then(res => {
        // 遍历key存储相应的数据
        for (const key in res.data) {
          this[key + 'List'] = res.data[key].typeList
        }
      })
    },
    // 获取投标文件递交字典初始化信息
    getBidDocumentSubmitChannelInitInfo() {
      getBidDocumentSubmitChannelInitInfo().then(res => {
        // 遍历key存储相应的数据
        for (const key in res.data) {
          if (key === 'bidDocumentSubmitDetailAddress') { // 投标文件递交方式
            this.bidDocumentSubmitDetailAddress = res.data[key]
          } else { // 字典信息
            this[key + 'List'] = res.data[key].typeList
          }
        }
      })
    },
    // 获取开标方式字典初始化信息
    getBulletinOpenInitInfo(decryptMethod) {
      getBulletinOpenInitInfo().then(res => {
        // 遍历key存储相应的数据
        for (const key in res.data) {
          if (key === 'openBidDetailAddress') { // 投标文件递交方式
            this.openBidDetailAddress = res.data[key]
          } else { // 字典信息
            this[key + 'List'] = res.data[key].typeList
          }
        }
        // 开标时间地点页面需调用
        if (decryptMethod) {
          this.getSystemDecryptMethod() // 获取系统配置-解密方式
        }
      })
    },
    // 获取保证金字典初始化信息
    getTenderBailPriceInitInfo() {
      getTenderBailPriceInitInfo().then(res => {
        // 遍历key存储相应的数据
        for (const key in res.data) {
          this[key + 'List'] = res.data[key].typeList
        }
      })
    }
  }
}
