/*
  @description:招标公告时间规则
  @Modifier:肖文龙
  @routerPath:
  @date:2020-1-10 17:49
*/
/* api*/
import { queryTenderBulletinStageTimeRuleInfo } from '@/api/bidding/bidBulletin'// 招标公告
import { queryTenderInvitationStageTimeRuleInfo } from '@/api/bidding/bidInvitation'// 招标邀请函
import { querytenderIsLimit } from '@/api/bidding/biddingProject.js'// 华能定制-招标时间规则 （是否依法必招，是否限额以上时间规则校验）
/* 混入 */
import { bidLawTimeRule } from '@/views/bidding/mixins/bidLawTimeRule'// 招标法-时间规则
const tenderStageTimeRule = {
  data() {
    return {
      tenderBase: this.$store.getters.tenderBase, // 项目信息
      stageType: '', // 资格审查方式 00 资审 01 后审  （变更公告，澄清节点时，在编辑页面进行获取）（招标公告，邀请函节点时，在此页面进行获取）
      bulletinId: '', // 资审/招标公告Id
      invitationId: '', // 邀请函Id
      /* =================================提示文案==================================*/
      timeRuleCopyWriter: {
        bshqkssj: '', // 标书获取开始时间
        bshqjzsj: '', // 标书获取截止时间
        jsdyjzsj: '', // 接收答疑截止时间
        tbjzsj: '', // 投标截止时间
        kbjzsj: '', // 开标时间
        jsbkbsj: '', // 技术标开标时间(两步开标)
        jjbkbsj: '' // 经济标开标时间(两步开标)
      },
      /* ==================================招标公告时间==================================*/
      timeRuleInfo: {
        acceptAnsweringQuestionsEndTime: '', // 接受答疑截止时间
        economicOpenBidStartTime: '', // 经济标开标时间(两步开标)
        isTwoBidOpening: '00', // 是否两步开标 00:否 01:是
        openBidStartTime: '', // 开标时间
        submitEndTime: '', // 投标截止时间
        technicalOpenBidStartTime: '', // 技术标开标时间(两步开标)
        tenderDocumentReceiveEndTime: '', // 标书获取截止时间
        tenderDocumentReceiveStartTime: '', // 标书获取开始时间
        twoBidOpeningMethod: '00'// 两步开标方式(开标顺序) 00:先开商务技术后开经济 01:先开经济后开商务技术
      },
      /* ==================================招标-时间规则==================================*/
      // 招标-时间规则
      timeDataRule: bidLawTimeRule,
      // 华能定制-招标时间规则 （是否依法必招，是否限额以上时间规则校验）
      legalLimitData: {
        loadding: false, // 接口是否已调取 false 否 true 是
        beyondLegalLimit: '', // 是否限额以下(00限额以下 01限额以上)
        isLegalTender: '' // 是否依法必招招标 00:否 01:是 若为法定招标，则时间控制有规则，反之则没有规则限制
      },
      // 投标截止时间选择器控制
      submitEndTimeDisabled: {
        disabledDate: time => {
          const tenderDocument = new Date(this.timeRuleInfo.tenderDocumentReceiveEndTime)
          const beginVal = new Date(this.timeRuleInfo.tenderDocumentReceiveEndTime).setDate(tenderDocument.getDate() + 20)
          if (beginVal) {
            return time.getTime() < beginVal
          }
        }
      }
    }
  },
  created() {
    // 获取时间规则
    this.initTimeRuleData()
    // 初始化是否依法必招，是否限额以上时间规则校验
    this.isLimitData()
    // 初始化提示文案
    this.initCopyWriter()
  },
  watch: {
    // 资格审查方式
    stageType() {
      // 初始化提示文案
      this.initCopyWriter()
    }
  },
  methods: {
    /* ==================================api-Start==================================*/
    // 初始化-华能定制-招标时间规则 （是否依法必招，是否限额以上时间规则校验）
    isLimitData() {
      this.stageType = this.tenderBase.stageType // 资格审查方式 00 资审 01 后审
      querytenderIsLimit(this.tenderBase.tenderId).then((res) => {
        this.legalLimitData = res.data
        this.legalLimitData.ladding = true // 接口已调取
        // 公开招标 或者邀请招
        if (this.tenderBase.tenderMethod === '00' || this.tenderBase.tenderMethod === '01') {
          // 非法定 或者 资审
          /*
              * 法定（投标截止时间  与 标书获取时间开始时间 大于等于 20 天，比文件发售截止时间 大）
              * 非法定（投标截止时间  与 标书获取时间开始时间 大于等于 5 天，比文件发售截止时间 大）
            */
          // || this.stageType === '00'
          if (this.legalLimitData.isLegalTender === '00') { // 非法定
            this.timeDataRule.TIMEDATE1 = 0 // 标书获取开始、结束间隔天数
            this.timeDataRule.TIMEDATE3 = 5 // 天数
          } else { // 法定
            this.timeDataRule.TIMEDATE1 = 5 // 标书获取开始、结束间隔天数
            this.timeDataRule.TIMEDATE3 = 20 // 天数
          }
        } else {
          // 非招标
          this.timeDataRule.TIMEDATE3 = 0 // 天数
        }
      })
    },
    // 获取时间规则
    initTimeRuleData() {
      // 判断当前所处阶段
      if (this.$route.path.includes('bulletin')) {
        this.stageType = this.tenderBase.stageType // 资格审查方式 00 资审 01 后审
        this.bulletinId = this.$route.query.bulletinId // 资审/招标公告Id
        // 招标公告时间获取
        this.bulletinIdData()
      } else if (this.$route.path.includes('invitation')) {
        this.stageType = this.tenderBase.stageType // 资格审查方式 00 资审 01 后审
        this.invitationId = this.$route.query.invitationId // 邀请函Id
        // 邀请函时间获取
        this.invitatioData()
      } else if (this.$route.path.includes('changeBulletin') || this.$route.path.includes('clarification')) {
        // 变更公告 || 澄清
        // 不在这做初始化处理-另有其他方式（分别再自己的编辑页面进行处理，这里只用招标公告的时间规则）
      }
    },
    /*
    * 招标公告时间获取
     */
    bulletinIdData() {
      queryTenderBulletinStageTimeRuleInfo(this.bulletinId).then(res => {
        this.timeRuleInfo = res.data
        this.combineObject()// 组装数据-获取的时间》刚输入的时间
      })
    },

    /*
    * 邀请函时间获取
     */
    invitatioData() {
      queryTenderInvitationStageTimeRuleInfo(this.invitationId).then(res => {
        this.timeRuleInfo = res.data
        this.combineObject()// 组装数据-获取的时间》刚输入的时间
      })
    },
    /* ==================================api-End==================================*/
    /* ==================================提示文案-Start==================================*/
    // 初始化提示文案（邀请函，招标公告，澄清，变更公告）
    initCopyWriter() {
      const stageType = this.stageType// 资格审查方式 00 资审 01 后审
      // 判断当前所处功能
      if (this.$route.path.includes('bulletin') || this.$route.path.includes('invitation')) {
        // 招标公告 || 邀请函
        if (stageType === '00') {
          // 资格预审阶段
          this.timeRuleCopyWriter = {
            bshqkssj: '资格预审文件开始时间',
            bshqjzsj: '资格预审文件截止时间',
            jsdyjzsj: '接收答疑截止时间',
            tbjzsj: '递交资格预审申请文件截止时间',
            kbjzsj: '资格预审开启时间',
            jsbkbsj: '商务技术开标时间',
            jjbkbsj: '经济开标时间'
          }
        } else if (stageType === '01') {
          // 公开招标 或者邀请招标
          if (this.tenderBase.tenderMethod === '00' || this.tenderBase.tenderMethod === '01') {
            // 后审阶段
            this.timeRuleCopyWriter = {
              bshqkssj: '标书获取开始时间',
              bshqjzsj: '标书获取截止时间',
              jsdyjzsj: '接收答疑截止时间',
              tbjzsj: '投标截止时间',
              kbjzsj: '开标时间',
              jsbkbsj: '商务技术开标时间',
              jjbkbsj: '经济开标时间'
            }
          } else {
            // 非招
            this.timeRuleCopyWriter = {
              bshqkssj: '标书获取开始时间',
              bshqjzsj: '标书获取截止时间',
              jsdyjzsj: '接收答疑截止时间',
              tbjzsj: '响应截止时间',
              kbjzsj: '开标时间',
              jsbkbsj: '商务技术开标时间',
              jjbkbsj: '经济开标时间'
            }
          }
        }
      } else if (this.$route.path.includes('changeBulletin') || this.$route.path.includes('clarification')) {
        // 变更公告 || 澄清
        // 公开招标 或者邀请招
        this.timeRuleCopyWriter = {
          bshqkssj: '标书获取开始时间',
          bshqjzsj: '标书获取截止时间',
          jsdyjzsj: '澄清截止时间',
          tbjzsj: '投标截止时间及开标时间'
        }
        /*      if (this.tenderBase.tenderMethod === '00' || this.tenderBase.tenderMethod === '01') {
          this.timeRuleCopyWriter = {
            bshqkssj: '标书获取开始时间',
            bshqjzsj: '标书获取截止时间',
            jsdyjzsj: '澄清截止时间',
            tbjzsj: '投标截止时间及开标时间'
          }
        }else{
         this.timeRuleCopyWriter = {
            bshqkssj: '标书获取开始时间',
            bshqjzsj: '标书获取截止时间',
            jsdyjzsj: '澄清截止时间',
            tbjzsj: '投标截止时间及开标时间'
          }
          }*/
      }
    },
    /* ==================================提示文案-End==================================*/
    /*
    * 组装数据-获取的时间》刚输入的时间
    * @parms：fromData->Object 调用方法时传入的参数
    * return Object
    */
    combineObject(fromData) {
      // 判断是不是一个对象
      if (fromData instanceof Object) {
        this.timeRuleInfo = {
          ...this.timeRuleInfo,
          ...fromData
        }
      } else {
        this.timeRuleInfo = {
          ...this.timeRuleInfo
        }
      }

      // 开标方式
      if (!this.timeRuleInfo.isTwoBidOpening) {
        this.timeRuleInfo.isTwoBidOpening = '00'
      }
      // 两步法开标顺序
      if (!this.timeRuleInfo.twoBidOpeningMethod) {
        this.timeRuleInfo.twoBidOpeningMethod = '00'
      }
      // 返回数据
      return this.timeRuleInfo
    },
    /* ==================================招标-时间规则校验·方式-Start==================================*/
    /*
     * 校验公告时间规则-All
    * @parms：fromData 最新的时间信息
    * return 布尔值 true 通过 false 不通过
     */
    async tenderStageTimeRule(fromData) {
      let isTimeRule = true
      const timeRuleInfo = this.combineObject(fromData)
      // 资格审查方式 有值时才能继续下一步
      if (this.stageType) {
      // 招标文件的获取-tab页-标书获取开始时间
        isTimeRule = this.tenderDocumentReceiveStartTimeRule(timeRuleInfo)
        // 招标文件的获取-tab页-标书获取结束时间
        if (isTimeRule) { isTimeRule = this.tenderDocumentReceiveEndTimeRule(timeRuleInfo) }
        // 投标文件递交-tab页-接收答疑截止时间
        if (isTimeRule) { isTimeRule = await this.acceptAnsweringQuestionsEndTimeRule(timeRuleInfo) }
        // 投标文件递交-tab页-投标截止时间
        if (isTimeRule) { isTimeRule = await this.submitEndTimeRule(timeRuleInfo) }
        // 招标公告 || 邀请函
        if (this.$route.path.includes('bulletin') || this.$route.path.includes('invitation')) {
          if (isTimeRule) { isTimeRule = this.toTheBidOpeningRule() } // 开标时间及地点-tab页-开标时间
        }
      } else {
        isTimeRule = false
        this.$elAlert('获取数据中，请稍等1-3秒后再新操作！', 'warning')
      }
      // 返回数据
      return new Promise((resolve, reject) => {
        if (isTimeRule) {
          // 校验通过
          resolve()
        } else {
          // 校验未通过
          reject('公告时间规则，校验未通过')
        }
      })
    },
    /* -------------招标文件的获取-tab页-Start-------------*/
    /*
    * 标书获取开始时间
    * @parms：fromData 最新的时间信息
    * return 布尔值 true 通过 false 不通过
    */
    tenderDocumentReceiveStartTimeRule(fromData) {
      let isTimeRule = true
      const timeRuleInfo = this.combineObject(fromData)
      // 标书获取开始时间不为空时
      if (timeRuleInfo.tenderDocumentReceiveStartTime) {
        // 公开招标 或者邀请招标
        if (this.tenderBase.tenderMethod === '00' || this.tenderBase.tenderMethod === '01') {
          isTimeRule = this.transformTime1(timeRuleInfo)
        } else {
          // 非招
          isTimeRule = this.transformTenderDocTime1(timeRuleInfo)
        }
      } else {
        this.$elAlert('请选择【' + this.timeRuleCopyWriter.bshqkssj + '】', 'warning')
        isTimeRule = false
      }
      return isTimeRule
    },
    /*
  * 标书获取结束时间
  * @parms：fromData 最新的时间信息
  * return 布尔值 true 通过 false 不通过
  */
    tenderDocumentReceiveEndTimeRule(fromData) {
      let isTimeRule = true
      const timeRuleInfo = this.combineObject(fromData)
      // 标书获取结束时间不为空时
      if (timeRuleInfo.tenderDocumentReceiveEndTime) {
        // 公开招标 或者邀请招标
        if (this.tenderBase.tenderMethod === '00' || this.tenderBase.tenderMethod === '01') {
          isTimeRule = this.transformTime1(timeRuleInfo)
        } else {
          // 非招
          isTimeRule = this.transformTenderDocTime1(timeRuleInfo)
        }
      } else {
        this.$elAlert('请选择【' + this.timeRuleCopyWriter.bshqjzsj + '】', 'warning')
        isTimeRule = false
      }
      return isTimeRule
    },
    /* -------------招标文件的获取-tab页-End-------------*/
    /* -------------投标文件递交-tab页-Start-------------*/
    /*
     * 投标文件递交-tab页-接收答疑截止时间
    * @parms：fromData 最新的时间信息
    * return Promise resolve 通过 reject 不通过
     */
    acceptAnsweringQuestionsEndTimeRule(fromData) {
      let isTimeRule = true
      const timeRuleInfo = this.combineObject(fromData)
      return new Promise((resolve, reject) => {
        // 接收答疑截止时间不为空时
        if (timeRuleInfo.acceptAnsweringQuestionsEndTime) {
          // 标书获取开始时间不为空时
          if (timeRuleInfo.tenderDocumentReceiveStartTime) {
            isTimeRule = this.computationTime2()
          }
          // 投标截止时间不为空时
          if (isTimeRule && timeRuleInfo.submitEndTime) {
            isTimeRule = this.transformTime2()
          }
          if (isTimeRule) {
            // 校验通过
            resolve(isTimeRule)
          } else {
            // 校验未通过
            reject('接收答疑截止时间,校验未通过')
          }
        } else {
          this.$elAlert('请选择【' + this.timeRuleCopyWriter.jsdyjzsj + '】', 'warning')
          reject()
        }
      })
    },
    /*
      * 华能定制-招标时间规则 （是否依法必招，是否限额以上时间规则校验）-是否强制校验
      ** 法定
       * 限额以上 20天 强制校验
       * 限额以下 20天不强制校验，只提醒
      ** 非法定
       * 限额以上 5天 不强制校验，只提醒
       * 限额以下 5天 不强制校验，只提醒
       * return 是否强制校验 true 通过/非强制校验 false 强制校验
     */
    legalLimitRule() {
      return new Promise((resolve, reject) => {
        let interval = '' // 定时器
        clearInterval(interval)
        let intervalIndex = 0 // 定时器
        // 接口是否已调取 false 否 true 是
        if (!this.legalLimitData.ladding) {
          interval = setInterval(() => {
            // 接口是否已调取 false 否 true 是
            if (this.legalLimitData.ladding) {
              // 清除定时器
              clearInterval(interval)
              resolve()
            } else {
              intervalIndex++
              // 定时器 执行次数 9次时停止
              if (intervalIndex === 9) {
                clearInterval(interval)
                this.$elAlert('加载超时，请重新操作', 'warning')
                reject('华能定制-招标时间规则 （是否依法必招，是否限额以上时间规则校验）-是否强制校验,接口调取失败')
              }
            }
          }, 1000)
        } else {
          resolve()
        }
      }).then(() => {
        /*
         * beyondLegalLimit 是否限额以下(01限额以上 00限额以下)
         * isLegalTender 是否依法必招招标 00:否 01:是 若为法定招标，则时间控制有规则，反之则没有规则限制
        */
        // return 是否强制校验 true 通过/非强制校验 false 强制校验
        return ((this.legalLimitData.isLegalTender === '01' && this.legalLimitData.beyondLegalLimit === '00') || // 法定 && 限额以下
        this.legalLimitData.isLegalTender === '00')// 非法定
      })
    },
    /*
     *投标文件递交-tab页-投标截止时间
    * @parms：fromData 最新的时间信息
    * return 布尔值 true 通过 false 不通过
    */
    submitEndTimeRule(fromData) {
      let isTimeRule = false
      const timeRuleInfo = this.combineObject(fromData)
      return new Promise((resolve, reject) => {
        // 投标截止时间不为空时
        if (timeRuleInfo.submitEndTime) {
          // 标书获取截止时间不为空时
          if (timeRuleInfo.tenderDocumentReceiveEndTime) {
            // 投标截止时间必须大于或等于标书获取截止时间---start
            isTimeRule = this.computationTime3()
            if (!isTimeRule)reject('【' + this.timeRuleCopyWriter.tbjzsj + '】必须大于或等于【' + this.timeRuleCopyWriter.bshqjzsj + '】')
            // 投标截止时间必须大于或等于标书获取截止时间---end
            if (isTimeRule && this.stageType === '00') {
              // 资审
              isTimeRule = this.transformTime3(resolve)
            }
          }
          // 标书获取开始时间不为空时
          if (isTimeRule && timeRuleInfo.tenderDocumentReceiveStartTime) {
            if (this.stageType === '01') {
              // 后审
              isTimeRule = this.transformTime4(resolve)
            }
          }
          // 如果校验成功直接通过
          if (isTimeRule) resolve()
        } else {
          this.$elAlert('请选择【' + this.timeRuleCopyWriter.tbjzsj + '】', 'warning')
          isTimeRule = false
          reject()
        }
      }).then(() => {
        if (!isTimeRule) {
          // 华能定制-法定/非法定-是否强制校验
          return this.legalLimitRule().then(isLegalLimitRule => {
            isTimeRule = isLegalLimitRule
            // 中断 promise 链 && 返回数据
            return new Promise((resolve, reject) => {
              if (isTimeRule) {
                // 校验通过
                resolve(isTimeRule)
              } else {
                // 校验未通过
                reject('投标截止时间,校验未通过')
              }
            })
          })
        } else {
          // 中断 promise 链 && 返回数据
          return new Promise((resolve, reject) => {
            if (isTimeRule) {
              // 校验通过
              resolve(isTimeRule)
            } else {
              // 校验未通过
              reject('投标截止时间,校验未通过')
            }
          })
        }
      })
      // .then(() => {
      //   // 中断 promise 链 && 返回数据
      //   return new Promise((resolve, reject) => {
      //     if (isTimeRule) {
      //       // 校验通过
      //       resolve(isTimeRule)
      //     } else {
      //       // 校验未通过
      //       reject('投标截止时间,校验未通过')
      //     }
      //   })
      // })
    },
    /* -------------投标文件递交-tab页-End-------------*/
    /* -------------开标时间及地点-tab页-Start-------------*/
    /*
     * 开标时间及地点-tab页-开标时间
    * @parms：fromData 最新的时间信息
    * return 布尔值 true 通过 false 不通过
    */
    toTheBidOpeningRule(fromData) {
      let isTimeRule = true
      const timeRuleInfo = this.combineObject(fromData)// 合并对象-获取的时间》刚输入的时间

      if (timeRuleInfo.isTwoBidOpening === '00') {
        // 一步开标法
        isTimeRule = this.stepToTheBidOpening(timeRuleInfo)
      } else if (timeRuleInfo.isTwoBidOpening === '01') {
        // 两步开标法
        isTimeRule = this.twoStepsTheBidOpening(timeRuleInfo)
      }
      // 返回数据
      return isTimeRule
    },
    /* 一步开标法 */
    stepToTheBidOpening(timeRuleInfo) {
      let isTimeRule = true
      // 开标时间 不为空时
      if (timeRuleInfo.openBidStartTime) {
        //  投标截止时间时间不为空时
        if (timeRuleInfo.submitEndTime) {
          // 投标截止时间和开标时间是否相等
          isTimeRule = this.equalityFormTime5()
        }
        // 标书获取开始时间不为空时
        if (isTimeRule && timeRuleInfo.tenderDocumentReceiveStartTime) {
          if (this.tenderBase.tenderMethod === '00' || this.tenderBase.tenderMethod === '01') {
            // TIMEDATE3
            isTimeRule = this.transformTime5()
          } else {
            // 非招
            isTimeRule = this.transformTenderDocTime1(timeRuleInfo)
          }
        }
      } else {
        this.$elAlert('请选择【' + this.timeRuleCopyWriter.kbjzsj + '】', 'warning')
        isTimeRule = false
      }
      // 返回数据
      return isTimeRule
    },

    /* 两步开标法*/
    twoStepsTheBidOpening(timeRuleInfo) {
      let isTimeRule = true
      if (timeRuleInfo.twoBidOpeningMethod === '00') {
        // 00:先开商务技术后开经济
        isTimeRule = this.businesstechnology(timeRuleInfo)
      } else if (timeRuleInfo.twoBidOpeningMethod === '01') {
        // 01:先开经济后开商务技术
        isTimeRule = this.economics(timeRuleInfo)
      }
      // 返回数据
      return isTimeRule
    },
    /* 先开商务技术后开经济*/
    businesstechnology(timeRuleInfo) {
      let isTimeRule = true
      // 商务技术开标时间不为空时
      if (timeRuleInfo.technicalOpenBidStartTime) {
        //  投标截止时间时间不为空时
        if (timeRuleInfo.submitEndTime) {
          // 投标截止时和开标时间是否相等
          isTimeRule = this.equalityFormTime6()
        }
        // 标书获取开始时间 不为空时
        if (isTimeRule && timeRuleInfo.tenderDocumentReceiveStartTime) {
          // TIMEDATE3
          isTimeRule = this.transformTime6()
        }
      } else {
        this.$elAlert('请选择【' + this.timeRuleCopyWriter.jsbkbsj + '】', 'warning')
        isTimeRule = false
      }
      // 返回数据
      return isTimeRule
    },
    /* 先开经济后开商务技术*/
    economics(timeRuleInfo) {
      let isTimeRule = true
      // 经济开标时间不为空时
      if (timeRuleInfo.economicOpenBidStartTime) {
        //  投标截止时间时间不为空时
        if (timeRuleInfo.submitEndTime) {
          // 投标截止时和开标时间是否相等
          isTimeRule = this.equalityFormTime7()
        }
        // 标书获取开始时间不为空时
        if (isTimeRule && timeRuleInfo.tenderDocumentReceiveStartTime) {
          // TIMEDATE3
          isTimeRule = this.transformTime7()
        }
      } else {
        this.$elAlert('请选择【' + this.timeRuleCopyWriter.jjbkbsj + '】', 'warning')
        isTimeRule = false
      }
      // 返回数据
      return isTimeRule
    },
    /* ==================================招标-时间规则校验·方式-End==================================*/
    /* ==================================招标-时间规则结果-Start==================================*/
    /* computationTime1() {
      return this.computationTime(
        this.currentTime(), // 标书获取开始时间
        this.timeRuleInfo.tenderDocumentReceiveStartTime, // 标书获取开始时间
        '【' + this.timeRuleCopyWriter.bshqjzsj + '】应大于【当前时间】'// 提示文案
      )
    }, */
    transformTime1() {
      return this.transformTime(
        'days',
        this.timeRuleInfo.tenderDocumentReceiveStartTime, // 标书获取开始时间
        this.timeRuleInfo.tenderDocumentReceiveEndTime, // 标书获取结束时间
        this.timeDataRule.TIMEDATE1, // 间隔相差的天数
        `【${this.timeRuleCopyWriter.bshqjzsj}】距离【${this.timeRuleCopyWriter.bshqkssj}】应不小于 ${this.timeDataRule.TIMEDATE1} 天`// 提示文案
      )
    },
    // 非招标书获取时间
    transformTenderDocTime1() {
      return this.transformTime(
        'days',
        this.timeRuleInfo.tenderDocumentReceiveStartTime, // 标书获取开始时间
        this.timeRuleInfo.tenderDocumentReceiveEndTime, // 标书获取结束时间
        this.timeDataRule.TIMEDATE7, // 间隔相差的天数
        `【${this.timeRuleCopyWriter.bshqjzsj}】距离【${this.timeRuleCopyWriter.bshqkssj}】应不小于 ${this.timeDataRule.TIMEDATE7} 天`// 提示文案
      )
    },
    computationTime2() {
      return this.computationTime(
        this.timeRuleInfo.tenderDocumentReceiveStartTime, // 标书获取开始时间
        this.timeRuleInfo.acceptAnsweringQuestionsEndTime, // 接收答疑截止时间
        '【' + this.timeRuleCopyWriter.jsdyjzsj + '】应大于【' + this.timeRuleCopyWriter.bshqkssj + '】'// 提示文案
      )
    },
    transformTime2() {
      return this.computationTime(
        this.timeRuleInfo.acceptAnsweringQuestionsEndTime, // 接收答疑截止时间
        this.timeRuleInfo.submitEndTime, // 投标截止时间
        '【' + this.timeRuleCopyWriter.jsdyjzsj + '】应小于【' + this.timeRuleCopyWriter.tbjzsj + '】'// 提示文案
        // 接收答疑截止时间 应小于 投标截止时间
      )
      // return this.transformTime(
      //   'days',
      //   this.timeRuleInfo.acceptAnsweringQuestionsEndTime, // 接收答疑截止时间
      //   this.timeRuleInfo.submitEndTime, // 投标截止时间
      //   this.timeDataRule.TIMEDATE2, // 间隔相差的天数
      //   '【' + this.timeRuleCopyWriter.jsdyjzsj + '】距离【' + this.timeRuleCopyWriter.tbjzsj + '】应不小于' + this.timeDataRule.TIMEDATE2 + '天' // 提示文案
      //   接收答疑截止时间 距离 投标截止时间 应不小于 this.timeDataRule.TIMEDATE2 天
      // )
    },
    computationTime3() {
      return this.computationTime(
        this.timeRuleInfo.tenderDocumentReceiveEndTime, // 标书获取截止时间
        this.timeRuleInfo.submitEndTime, // 投标截止时间
        '【' + this.timeRuleCopyWriter.tbjzsj + '】应大于【' + this.timeRuleCopyWriter.bshqjzsj + '】' // 提示文案
      )
    },
    transformTime3(resolve) {
      return this.transformTime(
        'days',
        this.timeRuleInfo.tenderDocumentReceiveEndTime, // 标书获取截止时间
        this.timeRuleInfo.submitEndTime, // 投标截止时间
        this.timeDataRule.TIMEDATE4, // 间隔相差的天数
        '【' + this.timeRuleCopyWriter.tbjzsj + '】距离【' + this.timeRuleCopyWriter.bshqjzsj + '】应不小于' + this.timeDataRule.TIMEDATE4 + '天', // 提示文案
        resolve
      )
    },
    // 标书获取开始时间 投标截止时间 比较
    transformTime4(resolve) {
      return this.transformTime(
        'days',
        this.timeRuleInfo.tenderDocumentReceiveStartTime, // 标书获取开始时间
        this.timeRuleInfo.submitEndTime, // 投标截止时间
        this.timeDataRule.TIMEDATE3, // 间隔相差的天数
        '【' + this.timeRuleCopyWriter.tbjzsj + '】距离【' + this.timeRuleCopyWriter.bshqkssj + '】应不小于' + this.timeDataRule.TIMEDATE3 + '天', // 提示文案
        resolve
      )
    },
    equalityFormTime5() {
      return this.equalityFormTime(
        'days',
        this.timeRuleInfo.submitEndTime, // 投标截止时间
        this.timeRuleInfo.openBidStartTime, // 开标时间
        '【' + this.timeRuleCopyWriter.kbjzsj + '】应等于【' + this.timeRuleCopyWriter.tbjzsj + '】'// 提示文案
      )
    },
    // 标书获取开始时间 开标时间/资格预审开始时间
    transformTime5() {
      return this.transformTime(
        'days',
        this.timeRuleInfo.tenderDocumentReceiveStartTime, // 标书获取开始时间
        this.timeRuleInfo.openBidStartTime, // 开标时间/资格预审开始时间
        this.timeDataRule.TIMEDATE4, // 间隔相差的天数
        '【' + this.timeRuleCopyWriter.kbjzsj + '】距离【' + this.timeRuleCopyWriter.bshqkssj + '】应不小于' + this.timeDataRule.TIMEDATE3 + '天'// 提示文案
      )
    },
    equalityFormTime6() {
      return this.equalityFormTime(
        'days',
        this.timeRuleInfo.submitEndTime, // 投标截止时间
        this.timeRuleInfo.technicalOpenBidStartTime, // 开标时间
        '【' + this.timeRuleCopyWriter.jsbkbsj + '】应等于【' + this.timeRuleCopyWriter.tbjzsj + '】'// 提示文案
      )
    },
    transformTime6() {
      return this.transformTime(
        'days',
        this.timeRuleInfo.tenderDocumentReceiveStartTime, // 标书获取开始时间
        this.timeRuleInfo.technicalOpenBidStartTime, // 商务技术开标时间
        this.timeDataRule.TIMEDATE3, // 间隔相差的天数
        '【' + this.timeRuleCopyWriter.jsbkbsj + '】距离【' + this.timeRuleCopyWriter.bshqkssj + '】应不小于' + this.timeDataRule.TIMEDATE3 + '天'// 提示文案
      )
    },
    equalityFormTime7() {
      return this.equalityFormTime(
        'days',
        this.timeRuleInfo.submitEndTime, // 投标截止时间
        this.timeRuleInfo.economicOpenBidStartTime, // 经济开标时间
        '【' + this.timeRuleCopyWriter.jjbkbsj + '】应等于【' + this.timeRuleCopyWriter.tbjzsj + '】'// 提示文案
      )
    },
    transformTime7() {
      return this.transformTime(
        'days',
        this.timeRuleInfo.tenderDocumentReceiveStartTime, // 标书获取开始时间
        this.timeRuleInfo.economicOpenBidStartTime, // 经济开标时间
        this.timeDataRule.TIMEDATE3, // 间隔相差的天数
        '【' + this.timeRuleCopyWriter.jjbkbsj + '】距离【' + this.timeRuleCopyWriter.bshqkssj + '】应不小于' + this.timeDataRule.TIMEDATE3 + '天'// 提示文案
      )
    },
    /* 判断时间是否是工作日 */
    isWeekday(val) {
      return val.getDay() % 6 !== 0
    }
  }
}

export { tenderStageTimeRule }
