import Api from '~/service/Api';
import commonFunctions from '~/mixin/commonFunctions.js';
import buildFn from './buildCommons.js';
import Utils from "~/utils/index";

export default {
  mixins: [commonFunctions,buildFn],
  methods: {
    // 业务信息=》基本信息=》保函编号-----获取保函编号
		queryOwnref () {
      let params = this.model.nidgrp.rec;
      if (!this.model.nidgrp.apl.pts.ptainr) {
        return
      }
      let ptainr = this.model.nidgrp.apl.pts.ptainr;
      const loading = this.loading();
      Api.post(`/business/ref/nid?ptaInr=${ptainr}`, params).then(res => {
				loading.close();
        if (res.respCode == SUCCESS) {
          this.model.nidgrp.rec.ownref = res.data;
        }
      }).catch(() => {
        loading.close();
      });
		},
		// //申报2122报文
		async query2122() {
			let trnName = this.root ? this.root.trnName : this.trnName;
			if (this.model.rmbbop.rmb2122.rmbflg == '1') {
				let rmbbop = this.buildRobbop(this.model, trnName);
        let opertype = "2";
        let rtnmsg = await Api.post('/business/rmbbopnid/rmbbop2122Cal', rmbbop);
        if (rtnmsg.respCode == SUCCESS) {
          Utils.copyValueFromVoData(this.model.rmbbop.rmb2122,rtnmsg.data.rmb2122);
          this.model.rmbbop.rmb2122.recgrp.ads.opertype = opertype;
        }
			}
		},
    gitamechoChange(){
      if(this.model.addbcb.gitamecho!='SPEC'){
        this.model.addbcb.gitamermk="";
      }
    },
      changedata(){
        if(this.model.nidgrp.rec.beyzd3 == 'N'){
          this.model.nidgrp.rec.beyzd4 = ''
        }
      },
    newliaflgChange(){
      if(this.model.swiadd.newliaflg=='X'){
        this.model.swiadd.newliadat="";
        //this.model.nidgrp.rec.liadat = ''
      }
      this.defaultChangeCfaflg();
      //this.model.nidgrp.rec.liaflg = this.model.swiadd.newliaflg
    },
    newliadatChange(){
      // if(this.model.swiadd.newliadat!=''){
      //   this.model.nidgrp.rec.liadat = this.model.swiadd.newliadat;
      // }
      this.defaultChangeCfaflg();
    },
    // 设置面函标题被修改标志为true
    setMstitleModified(){
      this.mstitleModified = true;
    },
    // 设置面函标题,前端联动设置
    defaultMstitleN1000() {
      if(this.model.nitamep.prtflg === undefined){
        return
      }
      if(this.model.nitamep.prtflg==='X'){
				this.model.nitamep.plateflg='';
				this.$set(this.codes, 'amestatxt', this.model.swiadd.ameblk);
        this.model.swiadd.ameblk = '';
      }
      if (!this.mstitleModified) {
          let gtxName = this.getGtxName(this.model.nitamep.mstitle);
          if (gtxName != null&&gtxName !="") {
            if (this.model.nitamep.prtflg === 'X') {
              this.model.nitamep.mstitle = gtxName;
            } else {
              if (this.model.nidgrp.rec.giduil != 'EN') {
                this.model.nitamep.mstitle = gtxName + '修改';
              }
              else{
                this.model.nitamep.mstitle = gtxName + ' Amendment';
              }
            }
          }
      }
    },
      // 获取 保函名字
      getGtxName(mstitle) {
        if (mstitle != null&&mstitle !="") {
            let length = mstitle.length;
            if (length >= 2 && this.model.nidgrp.rec.giduil != 'EN') {
                // 如果面函标题带有修改,则去掉修改二字,即 保函名字
                if (mstitle.substring(length - 2, length) == '修改') {
                    return mstitle.substring(0, length - 2);
                }
            }
            if (length >= 9 && this.model.nidgrp.rec.giduil == 'EN') {
                // 如果面函标题带有修改,则去掉修改二字,既是保函名字
                if (mstitle.substring(length - 9, length) == 'Amendment') {
                    return mstitle.substring(0, length - 9);
                }
            }
            return mstitle;
        }
        return "";
    },

  rulePlateflgN1000() {
      let data = this.model;
      Api.post(`/business/nitameRule/rulePlateflgN1000`, data).then(res => {
          this.model.swiadd.ameblk = res.data.ameblk;
      })

  },
  amedatChange(){
		let ameblkModifySet = this.model.swiadd.modifySet;
    if (this.model.nitamep.plateflg === 'X' && (!ameblkModifySet || (ameblkModifySet && !ameblkModifySet.includes('ameblk')))) {
			if(this.model.swiadd.ameblk){
				this.model.swiadd.amestatxt = this.model.swiadd.ameblk
			}
      this.rulePlateflgN1000()
    }
  },
  amenbrChange(){
		let ameblkModifySet = this.model.swiadd.modifySet;
    if(this.model.nitamep.amenbr!=''&&this.model.nitamep.plateflg === 'X' && (!ameblkModifySet || (ameblkModifySet && !ameblkModifySet.includes('ameblk')))){
			if(this.model.swiadd.ameblk){
				this.model.swiadd.amestatxt = this.model.swiadd.ameblk
			}
      this.rulePlateflgN1000()
    }
  },
  benChange(){
		let ameblkModifySet = this.model.swiadd.modifySet;
    if(this.model.nitamep.plateflg === 'X' && (!ameblkModifySet || (ameblkModifySet && !ameblkModifySet.includes('ameblk')))){
			if(this.model.swiadd.ameblk){
				this.model.swiadd.amestatxt = this.model.swiadd.ameblk
			}
      this.rulePlateflgN1000()
    }
    this.changeBenCfaRmbflg()
  },

  		// 保函模板转文本
  templateToText () {
    let gtxinr = this.model.nidgrp.rec.gtxinr;
    let textTempData = this.model.textTempData;
    this.formatTxtp(this.model.nidgrp.blk.gtxgidtxt, gtxinr, 'gtx', textTempData, 'nidgrp')
  },
  changeTxt () {
    if(!this.model.nidgrp.rec.gidtxtmodflg && (!this.model.nidgrp.blk.modifySet || !this.model.nidgrp.blk.modifySet.includes("gidtxt"))){
      this.templateToText()
    }
    if(!this.model.nitp.modifySet || !this.model.nitp.modifySet.includes("indirectswiadd")){
      if (this.model.nidgrp.rec.hndtyp == 'OC') {
        this.getindirectswiadd()
      }     
    }
  },
  // 获取反担保保函附加条款
  async getindirectswiadd() {
    let giduil;
			if(!this.model.nidgrp.rec.giduil){
				giduil = ''
			}else{
        giduil = this.model.nidgrp.rec.giduil
			}
			let params = {
				giduil: giduil
			};
      const loading = this.loading();
      let res = await Api.post('/business/nitopnRule/getInDirectSwiAdd',params);
      loading.close();
      if (res.respCode === SUCCESS) {
        if(res.data){
          this.formatTxtp(res.data.gidtxt, res.data.inr, 'gtx', {}, '', 'fdb')

        }
      }   
  },
  // 获取地区机构号
  async getOwnExtkeyCondition1() {
    let body = {ownExtKey: ""};
    if(this.model.cfagit.ownextkey) {
      body.ownExtKey = this.model.cfagit.ownextkey;
    }
    let res = await Api.post('/business/bch/getBranchListByownExtKey', body);
    if (res.respCode === SUCCESS) {
        this.ownExtkeyList = res.data;
    }
  },
  defaultChangeCfaflg() {
    if(this.isInDisplay){
      return;
    }
    if(this.model.nidgrp.rec.fingua == "Y") {
      if(this.model.cfagit.recgrp.dcl == null || this.model.cfagit.recgrp.dcl.length == 0) {
        var a = [{
          exguarancode: "",
          actiontype: "",
          wabachandate: "",
          basere: "",
          remark: "",
          actiondesc: "",
          acp: "",
        }];
        this.model.cfagit.recgrp.dcl = a;
      }
      //修改新业务逻辑
      if(this.model.swiadd.ameamt > 0) {
        if(this.model.rmbbop.rmb2122.recgrp.ads.levyno != null && this.model.rmbbop.rmb2122.recgrp.ads.levyno != '') {
          this.model.rmbbop.rmb2122.recgrp.ads.opertype = "2";
          this.model.rmbbop.rmb2122.rmbflg = "1";
        }
        if(this.model.cfagit.recgrp.bas.exguarancode != null && this.model.cfagit.recgrp.bas.exguarancode != '') {
          this.model.cfagit.cfaflg = "2";
          this.model.cfagit.basflg = "X";
          this.model.cfagit.dclflg = "X";
          this.model.cfagit.cfatyp = "M";
        }
      } else if(this.model.swiadd.ameamt == 0) {
        if(this.model.oldnidgrp.rec.hndtyp =='OC') {
          if(this.model.rmbbop.rmb2122.recgrp.ads.levyno != null && this.model.rmbbop.rmb2122.recgrp.ads.levyno != '') {
            if(this.model.rmbbop.rmb2122.benchange != "1") {
              if(this.model.oldnidgrp.rec.liadat != "" && this.model.swiadd.newliaflg == "X") {
                this.model.rmbbop.rmb2122.recgrp.ads.opertype = "2";
                this.model.rmbbop.rmb2122.rmbflg = "1";
              } else if(this.model.oldnidgrp.rec.liadat != "" && this.model.swiadd.newliadat != "" && this.model.swiadd.newliadat > this.model.oldnidgrp.rec.liadat){
                this.model.rmbbop.rmb2122.recgrp.ads.opertype = "2";
                this.model.rmbbop.rmb2122.rmbflg = "1";
              } else {
                this.model.rmbbop.rmb2122.rmbflg = "2";
              }
            } else {
              if(this.model.swiadd.newliadat != "" && (this.model.oldnidgrp.rec.liadat == "" || this.model.oldnidgrp.rec.liadat == null)) {
                this.model.rmbbop.rmb2122.rmbflg = "2";
              } else if(this.model.oldnidgrp.rec.liadat != "" && this.model.swiadd.newliadat != "" && this.model.swiadd.newliadat < this.model.oldnidgrp.rec.liadat){
                this.model.rmbbop.rmb2122.rmbflg = "2";
              } else {
                this.model.rmbbop.rmb2122.recgrp.ads.opertype = "2";
                this.model.rmbbop.rmb2122.rmbflg = "1";
              }
            }
          }
          if(this.model.cfagit.recgrp.bas.exguarancode != null && this.model.cfagit.recgrp.bas.exguarancode != '') {
            this.model.cfagit.dclflg = "";
            this.model.cfagit.recgrp.dcl[0].acp = "";
            if(this.model.cfagit.benchange != "1") {
              if(this.model.oldnidgrp.rec.liadat != "" && this.model.swiadd.newliaflg == "X") {
                this.model.cfagit.basflg = "X";
                this.model.cfagit.cfaflg = "2";
                this.model.cfagit.cfatyp = "M";
              } else if(this.model.oldnidgrp.rec.liadat != "" && this.model.swiadd.newliadat != "" && this.model.swiadd.newliadat > this.model.oldnidgrp.rec.liadat){
                this.model.cfagit.cfatyp = "M";
                this.model.cfagit.cfaflg = "2";
                this.model.cfagit.basflg = "X";
              } else {
                this.model.cfagit.basflg = "";
                this.model.cfagit.cfatyp = "";
                this.model.cfagit.cfaflg = "4";
              }
            } else {
              if(this.model.swiadd.newliadat != "" && (this.model.oldnidgrp.rec.liadat == "" || this.model.oldnidgrp.rec.liadat == null)) {
                this.model.cfagit.basflg = "";
                this.model.cfagit.cfatyp = "";
                this.model.cfagit.cfaflg = "4";
              } else if(this.model.oldnidgrp.rec.liadat != "" && this.model.swiadd.newliadat != "" && this.model.swiadd.newliadat < this.model.oldnidgrp.rec.liadat){
                this.model.cfagit.basflg = "";
                this.model.cfagit.cfatyp = "";
                this.model.cfagit.cfaflg = "4";
              } else {
                this.model.cfagit.cfatyp = "M";
                this.model.cfagit.cfaflg = "2";
                this.model.cfagit.basflg = "X";
              }
            }
          }
        } else {
          if(this.model.rmbbop.rmb2122.recgrp.ads.levyno != null && this.model.rmbbop.rmb2122.recgrp.ads.levyno != '') {
            if(this.model.rmbbop.rmb2122.benchange != "1") {
              if(this.model.oldnidgrp.rec.expdat != "" && this.model.swiadd.newexpflg == "X") {
                this.model.rmbbop.rmb2122.recgrp.ads.opertype = "2";
                this.model.rmbbop.rmb2122.rmbflg = "1";
              } else if(this.model.oldnidgrp.rec.expdat != "" && this.model.swiadd.newexpdat != "" && this.model.swiadd.newexpdat > this.model.oldnidgrp.rec.expdat){
                this.model.rmbbop.rmb2122.recgrp.ads.opertype = "2";
                this.model.rmbbop.rmb2122.rmbflg = "1";
              } else {
                this.model.rmbbop.rmb2122.rmbflg = "2";
              }
            } else {
              if(this.model.swiadd.newexpdat != "" && (this.model.oldnidgrp.rec.expdat == "" || this.model.oldnidgrp.rec.expdat == null)) {
                this.model.rmbbop.rmb2122.rmbflg = "2";
              } else if(this.model.oldnidgrp.rec.expdat != "" && this.model.swiadd.newexpdat != "" && this.model.swiadd.newexpdat < this.model.oldnidgrp.rec.expdat){
                this.model.rmbbop.rmb2122.rmbflg = "2";
              } else {
                this.model.rmbbop.rmb2122.recgrp.ads.opertype = "2";
                this.model.rmbbop.rmb2122.rmbflg = "1";
              }
            }
          }
          if(this.model.cfagit.recgrp.bas.exguarancode != null && this.model.cfagit.recgrp.bas.exguarancode != '') {
            this.model.cfagit.dclflg = "";
            this.model.cfagit.recgrp.dcl[0].acp = "";
            if(this.model.cfagit.benchange != "1") {
              if(this.model.oldnidgrp.rec.expdat != "" && this.model.swiadd.newexpflg == "X") {
                this.model.cfagit.basflg = "X";
                this.model.cfagit.cfaflg = "2";
                this.model.cfagit.cfatyp = "M";
              } else if(this.model.oldnidgrp.rec.expdat != "" && this.model.swiadd.newexpdat != "" && this.model.swiadd.newexpdat > this.model.oldnidgrp.rec.expdat){
                this.model.cfagit.cfatyp = "M";
                this.model.cfagit.cfaflg = "2";
                this.model.cfagit.basflg = "X";
              } else {
                this.model.cfagit.basflg = "";
                this.model.cfagit.cfatyp = "";
                this.model.cfagit.cfaflg = "4";
              }
            } else {
              if(this.model.swiadd.newexpdat != "" && (this.model.oldnidgrp.rec.expdat == "" || this.model.oldnidgrp.rec.expdat == null)) {
                this.model.cfagit.basflg = "";
                this.model.cfagit.cfatyp = "";
                this.model.cfagit.cfaflg = "4";
              } else if(this.model.oldnidgrp.rec.expdat != "" && this.model.swiadd.newexpdat != "" && this.model.swiadd.newexpdat < this.model.oldnidgrp.rec.expdat){
                this.model.cfagit.basflg = "";
                this.model.cfagit.cfatyp = "";
                this.model.cfagit.cfaflg = "4";
              } else {
                this.model.cfagit.cfatyp = "M";
                this.model.cfagit.cfaflg = "2";
                this.model.cfagit.basflg = "X";
              }
            }
          }
        }
      } else if(this.model.swiadd.ameamt < 0) {
        if(this.model.rmbbop.rmb2122.recgrp.ads.levyno != null && this.model.rmbbop.rmb2122.recgrp.ads.levyno != '') {
          this.model.rmbbop.rmb2122.rmbflg = "2";
        }
        if(this.model.cfagit.recgrp.bas.exguarancode != null && this.model.cfagit.recgrp.bas.exguarancode != '') {
          this.model.cfagit.dclflg = "";
          this.model.cfagit.recgrp.dcl[0].acp = "";
          this.model.cfagit.basflg = "";
          this.model.cfagit.cfatyp = "";
          this.model.cfagit.cfaflg = "4";
        }
      } else {
        if(this.model.rmbbop.rmb2122.recgrp.ads.levyno != null && this.model.rmbbop.rmb2122.recgrp.ads.levyno != '') {
          this.model.rmbbop.rmb2122.rmbflg = "2";
        }
        if(this.model.cfagit.recgrp.bas.exguarancode != null && this.model.cfagit.recgrp.bas.exguarancode != '') {
          this.model.cfagit.cfaflg = "4";
          this.model.cfagit.basflg = "";
          this.model.cfagit.dclflg = "";
          this.model.cfagit.recgrp.dcl[0].acp = "";
          this.model.cfagit.cfatyp = "";
        }
      }
    }
  },
  changeBenCfaRmbflg() {
    if(this.model.nidgrp.rec.fingua == "Y") {
      this.model.rmbbop.rmb2122.benchange = "1";
      //非融资类
      let cfaguatype = this.model.nidgrp.rec.cfaguatyp;
      if(cfaguatype.slice(0,2) == '12') {
        this.model.cfagit.benchange = "1";
      }
    }
    this.defaultChangeCfaflg();
  },
  changeAdvCfaRmbflg() {
    if(this.model.nidgrp.rec.fingua == "Y") {
      //融资类 修改通知行有效
      let cfaguatype = this.model.nidgrp.rec.cfaguatyp;
      if(cfaguatype.slice(0,2) == '11') {
        this.model.cfagit.benchange = "1";
      }
    }
    this.defaultChangeCfaflg();
  },
  copyValueToCountrycod() {
    this.ejectOitWarning('cty', this.model.nidgrp.rec.countrycod, 'nidgrp.rec.countrycod');
    let val = this.model.nidgrp.rec.countrycod;
    if (this.model.cfagit) {
      this.model.cfagit.recgrp.bas.bencountrycode = val;
      if (this.model.cfagit.recgrp.bas.modifySet) {
        if (!this.model.cfagit.recgrp.bas.modifySet.includes("bencountrycode")) {
          this.model.cfagit.recgrp.bas.modifySet.push("bencountrycode");
        }
      } else {
        this.model.cfagit.recgrp.bas.modifySet = ["bencountrycode"];
      }
    }
    if (this.model.rmbbop.rmb2122) {
      this.model.rmbbop.rmb2122.recgrp.ads.voucheecountrycode = val;
    }
  },
  },
};