import Utils from "~/utils"

export default {
  methods: {
    buildPtspta(ptsptaObj) {
      const pts = ptsptaObj.pts;
      return {
        rol: pts.rol,
        name: pts.nam,
        ptyinr: pts.ptyinr,
        ptainr: pts.ptainr,
        extkey: pts.extkey,
        nam: pts.nam,
        dftdsp: pts.dftdsp,
        dftcur: pts.dftcur,
        dftact: pts.dftact,
        dftfeecur: pts.dftfeecur,
        dftactptainr: pts.dftactptainr,
        glggrpflg: pts.glggrpflg,
        adrblk: pts.adrblk,
        pts: ptsptaObj.pts
      };
    },
    buildCommonData(model, trnName) {
      let ptsptaList = Utils.formatPtspta(model.cpdgrp, this.buildPtspta);
      if (model.dftcre.dfflag == "X") {
        let ptsptaListDfdgrp = Utils.formatPtspta(model.dftcre.dfdgrp, this.buildPtspta);
        ptsptaList = ptsptaList.concat(ptsptaListDfdgrp);
      }
      if (model.trtcre.crefinflg == "X" && model.trtcre.trdgrp.fip.pts.extkey != "") {
        let ptsptaListTrdgrp = Utils.formatPtspta(model.trtcre.trdgrp, this.buildPtspta);
        ptsptaList = ptsptaList.concat(ptsptaListTrdgrp);
      }
      var waitjmVal = '';
      if(model.cpdgrp.msgtyp == 'T22'){
        waitjmVal = '310';
      } else if(model.cpdgrp.msgtyp == 'T24'){
        waitjmVal = '321';
      } else {
        waitjmVal = '';
      }
      return {
        rec: {
          objtyp: 'CPD',
          objinr: model.cpdgrp.rec.inr,
          ownref: model.cpdgrp.rec.ownref,
          branchInr: model.cpdgrp.rec.branchinr,
          paytyp: "O",
          cptrou: model.cpdgrp.rec.cptrou,
          paytype: model.cpdgrp.rec.paytype,
          valdat: model.cpdgrp.rec.valdat,
          gors: model.cpdgrp.rec.gors,
          sztyp: model.cpdgrp.rec.sztyp,
          detchgcod: model.cpdgrp.rec.detchgcod,
          swftyp: model.cpdgrp.rec.swftyp,
          pyectycod: model.cpdgrp.rec.pyectycod,
          tsnflg: model.cpdgrp.rec.tsnflg,
          //收支申报需要的字段
          doccur: model.setmod.doccur,
          feecorrol: model.setmod.feecorrol,
          zmqacc: model.setmod.zmqacc,
          //原始金额币种
          oricur: model.cpdgrp.rec.curf33b,
          //原始金额
          oriamt: model.cpdgrp.rec.amtf33b,
          //========
          orcact: model.cpdgrp.rec.orcact,
          orcnam: model.cptp.orcnam,
          orcadr: model.cptp.orcadr,
          pyeact: model.cpdgrp.rec.pyeact,
          prechkdat: model.cpdgrp.rec.prechkdat,
          liqtyp: model.cptp.liqtyp,
          dfdflg: model.cptp.dfdflg,
          pyenam: model.cptp.pyenam,
          pyeadr: model.cptp.pyeadr,
          draweecountcode: model.cptp.draweecountcode,
          payeecountcode: model.cptp.payeecountcode,
          resbch: model.cptp.resbch,
          resbchnam: model.cptp.resbchnam,
          pyebchkey: model.cptp.pyebchkey,
          pyebchnam: model.cptp.pyebchnam,
          pyebchadr: model.cptp.pyebchadr,
          commet: model.cptp.commet,
          reconebch: model.cptp.reconebch,
          secmod: model.cptp.secmod,
          dftcreVo: model.dftcre,
          trtcreVo: model.trtcre,
          entmodVisflg: model.entmod.visflg,
          lcyacc: model.ecmmodVo.ecmbop.lcyacc,
          lcyamt: model.ecmmodVo.ecmbop.lcyamt,
          fcyacc: model.ecmmodVo.ecmbop.fcyacc,
          fcyamt: model.ecmmodVo.ecmbop.fcyamt,
          msgtyp: model.cpdgrp.msgtyp,
          waitjm: waitjmVal,
          acc54: model.cpdgrp.acc54,
          bic54: model.cpdgrp.bic54,
          adr54: model.cpdgrp.adr54,
          calflg: model.calflg,
          cnyamt: model.cnyamt,
          cpdSwiftBizInfo: {
            sin202: model.cptp.sin202,
            blkt70: model.cptp.commet,
            ownref: model.cpdgrp.rec.ownref,
            qsfysd: model.cptp.qsfysd,
            fwtgyh: model.cptp.fwtgyh,
          },
          cpdCipsBizInfo: {
            flg: model.cptp.flg,
            bustyp: model.cptp.bustyp,
            fkrzhj: model.fkrzhj,
            cur33b: model.cpdgrp.rec.curf33b,
            amt33b: model.cpdgrp.rec.amtf33b,
          },
          cpdJnwbBizInfo: {
            ywlxdm: model.attp.ywlxdm,
            bustyp: model.attp.bustyp,
            acctyp: model.attp.acctyp,
            opndat: model.attp.opndat,
            orcnam: model.attp.orcnamfxps,
            orcadr: model.attp.orcadrfxps,
            pyenam: model.attp.pyenamfxps,
            pyeadr: model.attp.pyeadrfxps,
            commet: model.attp.commet,
            resbch: model.attp.resbch,
            resbchnam: model.attp.resbchnam,
          }
        },
        cbsMap: {
          MAX: model.cpdgrp.cbs.max,
          NOM1: model.cpdgrp.cbs.nom1,
        },
        ptsList: ptsptaList,
        transName: trnName,
      }
    },
    buildCfap(model, trnName) {
      let params = {
        ...this.buildCommonData(model, trnName),
        amdRec: {
          gcdownref: "",
          chgdat: "",
          chgamt: "",
        },
        cfatyp: "A",
        ownextkey: model.cfagit.ownextkey,
        dclflg: model.cfagit.dclflg,
        cfaflg: model.cfagit.cfaflg,
        basflg: model.cfagit.basflg,
        vrfflg: model.cfagit.vrfflg,
        recgrp: model.cfagit.recgrp,
      };
      return params
    },
    buildTxfReq() {
      return {
        trntyp: this.model.cpdgrp.rec.trntyp,
        amt: this.model.cpdgrp.cbs.max.amt,
        cur: this.model.cpdgrp.cbs.max.cur
      };
    }
  }
}