/*
  @description:立项采购-公用字典
  @Modifier:qk
  @routerPath:
  @date:2020-1-3 17:49
*/
/* 接口*/
// @ts-ignore
import { getTime } from '@api/common/tools.js' // 获取服务器时间
export const procurementProjectMixins = {
  data() {
    return {
      /* ====================================公共====================================*/
      confirmLoading: false, // 暂存Loding
      /* 立项采购-项目信息*/
      formData: {
        buyersCode: '', // 采购人代码
        buyersLinkerAddress: '', // 地址
        tendermethodRemarks: '', // 说明信息
        purchaseIndustryName: '', // 项目类型
        buyersLinkerEmail: '', // 联系人邮箱
        buyersLinkerName: '', // 联系人
        buyersLinkerTel: '', // 联系人电话
        tenderName: '', // 项目名称
        tenderMethod: '', // 采购方式
        tenderOrgMethod: '', // 组织方式
        tenderType: '', // 项目类型 00 公开 01 邀请
        agency: '',
        buyersId: '', // 采购人id
        buyersName: '', // 采购人/代理机构的名称
        tenderNo: '', // 采购项目编号
        packId: '', // 标段id
        sourceType: '' // 组织结构字段
      },
      /* 立项采购-项目规则*/
      ruleData: {
        /* ==============新增====================*/
        currency: '00', // 币种00人名币  01美元  02欧元 默认00
        payType: '00', // 付款方式 00货到验收后付款 01质保金 02 货到付款 03其他 默认00
        isContainsFreight: '01', // 是否包含运费  00 否   01 是
        isEmergencyProcurement: '00', // 是否紧急采购  00否  01是 00否   01是（只针对单一来源）
        isPublic: '00', // 是否公示
        acceptAnsweringQuestionsEndTime: '', // 答疑截止时间(暂无)
        quoteValidity: '', // 报价有效期
        publicityEndTime: '', // 公示结束时间
        materialContactPerson: '', // 物资公司联系人
        materialContactPhone: '', // 联系电话
        materialContactEmail: '', // 联系邮箱
        materialContactAddress: '', // 联系地址
        isUploadReplyFile: '00', // 是否强制上传应答文件  00 否  01是" 默认00否
        autoExtension: '01', // 自动延期 00:不延期 01:延期
        bailPriceReceiveChannel: '', // 保证金收取途径(暂无)
        comparePrice: '', // 起拍(控制)价格(元)/起拍(控制)折扣率(%)
        comparePriceMethod: '01', // 竞价方式 00:竞高价 01:竞低价
        comparePriceType: '00', // 竞价类型 00:竞价格 01:竞折扣率
        createTime: '', // 创建时间
        createUser: '', // 创建人id
        id: '', // 采购项目规则记录表ID
        invoiceType: '00', // 发票要求 00:普通发票 01:增值税专用发票
        isFile: '00', // 制作采购文件 00:不制作 01:制作
        isPublicSupplierCount: '00', // 是否公开参与的竞价家数 00:公开 01:不公开
        isPublicSupplierName: '00', // 是否公开竞价方名称 00:公开 01:不公开
        isPublicSupplierPrice: '00', // 是否公开报价金额 00:公开 01:不公开
        isPublicSupplierRanking: '00', // 是否公开竞价排名 00:公开 01:不公开
        isReceiveTenderBailPrice: '00', // 是否收取保证金 00:不收取 01:收取
        isReceiveTenderDocumentPrice: '00', // 是否收取标书费 00:不收取 01:收取
        openBidAddress: '', // 开标地点(暂无)
        openBidStartTime: '', // 开标时间
        paymentAccountBankName: '', // 汇款账户开户行
        paymentAccountName: '', // 汇款账户户名
        paymentAccountNumber: '', // 保证金汇款账号
        protProjectBailPriceList: [{
          bailPrice: ''
        }], // 保证金list
        protProjectDocumentPriceList: [{
          documentPrice: ''
        }], // 标书费list
        quoteCount: '', // 报总价次数
        quoteCountType: '00', // 报价次数 00:无限制 01:报总价
        quoteEndTime: '', // 报价(竞价)结束时间
        quoteMethod: '01', // 询价方式 01:一次报价 02:二次报价
        quoteOutTime: '', // 超时竞价时间(例:5分钟)
        quoteOutTimeAddTime: '', // 超时竞价延长时间(例:5分钟)
        quoteOutTimeAddTimeUnit: 'S', // 超时竞价延长单位 S:秒 M:分钟 H:小时
        quoteOutTimeUnit: 'S', // 超时竞价单位 S:秒 M:分钟 H:小时
        quotePriceMethod: '01', // 报价方式 00:报总价 01:分项报价
        quoteRangePrice: '', // 幅度金额(元)
        quoteRangeType: '00', // 报价最小幅度 00:无限制 01:最低幅度
        quoteStartTime: '', // 报价(竞价)开始时间
        quoteTime: '', // 报价时长(天)/竞价时长(单位单独标识quoteTimeUnit)
        quoteTimeUnit: 'M', // 竞价时长单位 M:分钟 H:小时
        quoteType: '01', // 报价要求 00:允许部分报价 01:必须全部报价
        receiveBailPriceMethod: '01', // 保证金收取方式 00:按标段收取 01:按项目收取
        reviewMethod: '02', // 评审办法 00:综合评估法 01:经评审的有效最低价 02 最低成交价
        signupAudit: '00', // 审核报名 00:不审核 01:审核
        submitEndTime: '', // 投标截止时间(暂无)
        tenderDocumentSaleMethod: '01', // 标书金额设置方式(售卖方式) 00:按标段售卖 01:按项目售卖
        tenderId: '', // 采购项目id
        updateTime: '', // 修改时间
        updateUser: '', // 修改人id
        projectFileType: '01', // 使用工具制作采购文件 00 使用工具 01 文件上传 默认01
        state: '',
        singleSourceExplain: '', //  采用单一来源的原因及说明
        purchasingMaterialsExplain: '', // 拟采购物资、施工或服务的说明
        supplierCategory: [], // 供应商分类
        supplierAttribute: [], // 供应商属性
        principalFile: '', // 采购文件上传校验
        workingDay: '' // 公告发布时间距离报价截止工作日

      },
      /* 立项采购-公告*/
      noticeData: {
        noticeTitle: '', // 公告标题
        supplierRequirements: '', // 供应商要求
        mattersNeedingAttention: '' // 注意事项
      },
      /* 立项采购-邀请函*/
      invitaData: {
        invitaTitle: '', // 公告标题
        instructionsQuotation: '', // 报价须知
        mattersNeedingAttention: '' // 注意事项
      },
      // 报价响应条件 conditionName条件名称 conditionContent条件内容 默认空
      conditionData: [],
      // 响应条件添加数据
      addData: {
        id: '', // 报价条件id 提交
        sortNo: '', // 序号
        conditionName: '', // 条件名称
        conditionContent: '' // 添加内容
      },
      // 行项目信息文件上传数据
      principalData: {
        bizId: '', // 业务主键Id
        fileType: 'pro_procurement_project_material_requirements_base'// 文件类型
      },
      // 采购文件上传
      procurementFile: {
        bizId: '', // 业务主键Id
        fileType: 'prot_procurement_procfile_content_base' // 文件类型
      },
      // 单一来源批复附件
      giveFileData: {
        bizId: '', // 业务主键Id
        fileType: 'prot_invitation_reply_attr' // 文件类型
      },
      // 公开附件
      openTenderProjectFileType: {
        bizId: '',
        fileType: 'open_tender_project_file'
      },
      // 内部附件
      insideTenderProjectFileType: {
        bizId: '',
        fileType: 'inside_tender_project_file'
      },
      // 联合体协议
      invitationComboFileType: {
        bizId: '',
        fileType: 'invitation_combo_file_type'
      },
      // 文件上传数据
      principalList: [],
      // 采购发布公告的采购公告数据
      saveNotice: {
        id: '', // 公告id
        mattersNeedingAttention: '', // 备注
        state: '', // 保存 00 提交01
        tenderId: this.$route.query.tenderId,
        tenderMethod: '', // 采购方式
        publicityEndTime: '', // 公示结束时间
        materialContactPerson: '', // 物资公司联系人
        materialContactPhone: '', // 联系电话
        materialContactEmail: '', // 联系邮箱
        materialContactAddress: '' // 联系地址
      },
      // 上传采购文件
      supplementaryData: {
        tenderId: this.$route.query.tenderId, // 项目id
        packIds: this.$route.query.packId, // 标段id
        makeWay: '01', // 使用工具字段 00 使用工具 01 上传文件 默认01
        id: '' // 文件上传id
      },
      procurementBulletinConditionList: [], // 报价响应条件
      // 添加供应商弹框
      addSupplierDialogData: {
        invitationId: '', // 供应商id
        dialog: false, // 添加供应商
        departId: '', // 审核单位id
        excludeSupplierIds: '', // 已被邀请供应商所有id拼接的字符串
        tenderMethod: '' // 采购方式 11 询价 12单一来源 13竞争性谈判 14 竞价
      },
      // 保存供应商接口参数数据
      supplerlist: {
        invitationId: '', // 邀请函id
        list: [], // 供应商列表
        tenderId: '', // 项目id
        packId: ''
      },
      // 采购公告/邀请函可参与返回页面路由
      driveSupplierList: {
        '11': '/procurement/enquiryPaticipation', // 询价-正在参与列表
        '12': '/procurement/singleSourcePaticipation', // 单一来源-正在参与列表
        '13': '/procurement/competitivePaticipation', // 竞争性谈判-正在参与列表
        '14': '/procurement/qutcryPaticipation' // 竞价-正在参与列表
      },
      // 采购公告/邀请函可参与返回页面路由
      driveCompletedList: {
        '11': '/procurement/enquiryCompleted', // 询价-可参与管理列表
        '12': '/procurement/singleSourceCompleted', // 单一来源-可参与管理列表
        '13': '/procurement/competitiveCompleted', // 竞争性谈判-可参与管理列表
        '14': '/procurement/qutcryCompleted' // 竞价-可参与管理列表
      },
      // 采购公告/邀请函项目管理列表
      projectMgmtList: {
        '11': '/procurement/enquiryManageList', // 询价-项目管理列表
        '12': '/procurement/singleSourceManageList', // 单一来源-项目管理列表
        '13': '/procurement/competitiveManageList', // 竞争性谈判-项目管理列表
        '14': '/procurement/qutcryManageList', // 竞价-项目管理列表
        '00': '/procurement/biDManageList' // 招标-项目管理列表
      },
      paginationDataF: {
        pageNo: 1,
        pageSize: 10,
        total: 0
      },
      paginationDataA: {
        pageNo: 1,
        pageSize: 10,
        total: 0
      }

    }
  },
  methods: {
    // 获取当前时间
    async getCurrentTime() {
      return await getTime().then(res => {
        return {
          nowTime: res.data.time
        }
      })
    },
    /*
    * 计算 startTime 是否小于 endTime
    * @parms：startTime  计算的开始时间,endTime 计算结束时间
    * return 布尔值 true 通过 false 不通过
    */
    computationTimes(startTime, endTime) {
    // startTime 是否小于 endTime 布尔值
      const days = this.$Moment(startTime).isBefore(endTime)
      return days
    }
  }
}
