import Api from '~/service/Api'; import Utils from "~/utils"; import Pts from '~/components/business/commonModel/Pts'; import commonFunctions from '~/mixin/commonFunctions.js'; import buildFn from "../event/buildCommons.js"; import BigNumber from "bignumber.js"; import commonDepend from "~/mixin/commonDepend"; export default { mixins: [commonFunctions,commonDepend,buildFn], methods: { //获取信用证编号 async onLetpButgetref(transName) { let params = { businessType: "LC", lettyp: "LC", transName:transName, ptainr: this.model.ledgrp.ben.pts.ptainr, ownref: this.model.ledgrp.rec.ownref, }; const loading = this.loading(); let res = await Api.post("/Lc/ref/led", params); if (res.respCode == SUCCESS) { loading.close(); this.model.ledgrp.rec.ownref = res.data; } else { loading.close(); } }, apprulChange(v) { if (v !== 'OTHR') { this.model.ledgrp.rec.apprultxt = '' } }, //指定银行 async avbwthFlg() { switch (this.model.ledgrp.rec.avbwth) { // Advising bank,adv case "A": // Utils.copyValueFromVoData(this.model.ledgrp.avb.pts, this.model.ledgrp.adv.pts); let ptsptaList = Utils.formatPtspta(this.model.ledgrp, this.buildPtspta); let data = { ptsList:ptsptaList, avbwth: this.model.ledgrp.rec.avbwth, }; const loading = this.loading(); let res = await Api.post("/Lc/letopn/avbwth", data); loading.close(); if (res.respCode === SUCCESS) { Utils.copyValueFromVoData(this.model.ledgrp.avb.pts, res.data.pts); } break; // Confirming Bank,con case "C": Utils.copyValueFromVoData(this.model.ledgrp.avb.pts, this.model.ledgrp.con.pts); break; // Issuing Bank,iss case "I": Utils.copyValueFromVoData(this.model.ledgrp.avb.pts, this.model.ledgrp.iss.pts); break; //Reimbursing Bank,rmb case "R": Utils.copyValueFromVoData(this.model.ledgrp.avb.pts, this.model.ledgrp.rmb.pts); break; //Specified Bank, case "S": this.model.ledgrp.avb.pts = new Pts().data; break; //Transferring Bank, trb case "T": Utils.copyValueFromVoData(this.model.ledgrp.avb.pts, this.model.ledgrp.trb.pts); break; //Any Bank, no role case "O": // if any bank is empty or is not modified, then default value is 'Any Bank' if(this.model.ledgrp.blk.avbwthtxt ===''||(this.model.ledgrp.blk.modifySet && !this.model.ledgrp.blk.modifySet.includes('avbwthtxt'))){ this.model.ledgrp.blk.avbwthtxt = 'Any Bank'; } break; default: this.model.ledgrp.avb.pts = new Pts().data; break; } // 如果avb被赋值的话,设置avb角色为AVB if(this.model.ledgrp.avb.pts.ptainr!==''){ this.model.ledgrp.avb.pts.rol ="AVB"; } }, openAddAmount(val) { if (val === '' && !((new BigNumber(this.model.ledgrp.cbs.max2.amt).comparedTo(new BigNumber("0"))==0) && this.model.ledgrp.blk.addamtcov === '')) { this.$confirm('是否确定要删除此合同的附加金额?', '提示', { confirmButtonText: '是', cancelButtonText: '否', type: 'warning', showClose: false }).then(() => {//yes的执行在这里写 this.model.letp.addamtflg = '' this.model.ledgrp.cbs.max2.amt ='0.00'; this.model.ledgrp.blk.addamtcov = ''; this.customRemoveModify(this.model.ledgrp.blk,"addamtcov"); this.$message({ type: 'success', message: '删除成功!' }); }).catch(() => {//No的功能在这里写 this.model.letp.addamtflg = 'X' this.$message({ type: 'info', message: '已取消' }); }); } }, async avbbyChange() { // mixdet为disable时,清除其内容 if(this.model.ledgrp.rec.avbby != 'M'){ this.model.ledgrp.blk.mixdet = ''; } // draft at为disable时,清除draftat内容,同时清除drawee if( this.model.ledgrp.rec.avbby == 'D' || this.model.ledgrp.rec.avbby == 'M' || this.model.ledgrp.rec.avbby == ''){ this.model.ledgrp.blk.dftat = ''; // 清除drawee的内容 this.model.ledgrp.drw.pts = new Pts().data; } // defdet 为disable时,清除其内容 if(this.model.ledgrp.rec.avbby != 'D' && this.model.ledgrp.rec.avbby != 'N'){ this.model.ledgrp.blk.defdet = ''; } // by payment时,tenor day为disable,清空tenor day if(this.model.ledgrp.rec.avbby == 'P'){ this.model.ledgrp.rec.tenmaxday=0; } }, nom1curChange(){ this.changeBlkAddamtcov(); }, // 当max2 amt改变时,同时拼接addamtcov的值 changeBlkAddamtcov(){ // if addmatcov not modified, then automatic connect it. if(!this.model.ledgrp.blk.modifySet || !(this.model.ledgrp.blk.modifySet!=null&&this.model.ledgrp.blk.modifySet.includes("addamtcov"))){ if(new BigNumber(this.model.ledgrp.cbs.max2.amt).comparedTo(new BigNumber("0"))>0){ this.model.ledgrp.cbs.max2.cur = this.model.ledgrp.cbs.nom1.cur; let _currency = this.model.ledgrp.cbs.max2.cur; let _opn2amt = this.model.ledgrp.cbs.max2.amt; if (_currency === "KRW" || _currency === "JPY") { _opn2amt = new BigNumber(_opn2amt).toFixed(0); }else { _opn2amt = new BigNumber(_opn2amt).toFixed(2); } this.model.ledgrp.blk.addamtcov = _currency + " " +_opn2amt; } } }, // 如果adv,con,iss,rmb,trb的值有变动,同时更新avb的值 async bankChanged(){ this.avbwthFlg(); }, // 如果a2b的值被清空,则清空cnfins的值 async a2bBankChange(){ if(this.model.ledgrp.a2b.pts.extkey===''){ this.model.ledgrp.rec.cnfins = '' } }, calculateMaxamt(){ if(this.model.ledgrp.rec.nomtop==null || this.model.ledgrp.rec.nomtop===''){ this.model.ledgrp.rec.nomtop = 0; } if(this.model.ledgrp.rec.nomtop==null || this.model.ledgrp.rec.nomtop===''){ this.model.ledgrp.rec.nomtop = 0; } let _maxamt =new BigNumber(this.model.ledgrp.cbs.nom1.amt).multipliedBy(new BigNumber(1).plus(new BigNumber(this.model.ledgrp.rec.nomtop).dividedBy(new BigNumber(100))) ) ; let _currency = this.model.ledgrp.cbs.max.cur; // 如果是 韩元或者日元,小数位不保留,其它保留两位小数 // TD上,nom1:611.23,tolerance-top:2,maxamt 623.4546,letnot最后是623.46,letopn 最后是623.45,暂时以letopn为准 if (_currency === "KRW" || _currency === "JPY") { _maxamt = _maxamt.toFixed(0); }else { _maxamt = _maxamt.toFixed(2); } this.model.ledgrp.cbs.max.amt = _maxamt; // 默认将将max的值赋值给opn1 this.model.ledgrp.cbs.opn1.amt = this.model.ledgrp.cbs.max.amt; }, nomtopChange(){ let exp=/^\d+$/; if(!exp.test(this.model.ledgrp.rec.nomtop)){ this.model.ledgrp.rec.nomtop = 0; }else{ this.model.ledgrp.rec.nomtop = Number(this.model.ledgrp.rec.nomtop); } this.calculateMaxamt(); }, nomtonChange(){ let exp=/^\d+$/; if(!exp.test(this.model.ledgrp.rec.nomton)){ this.model.ledgrp.rec.nomton = 0; }else{ this.model.ledgrp.rec.nomton = Number(this.model.ledgrp.rec.nomton); } //this.calculateMaxamt(); }, // 当iss改变时,如果stacty没有哦被修改过,则默认将iss所在地区的赋值给stacty字段 changeStacty() { // ledgrp.rec.stacty not modified, when change iss, change the stacty. if (!(this.model.ledgrp.rec.modifySet != null && this.model.ledgrp.rec.modifySet.includes("stacty"))) { Api.post('/Lc/adr/getloccty', this.model.ledgrp.iss.pts.ptainr).then(res => { if (res.respCode == SUCCESS) { this.model.ledgrp.rec.stacty = res.data; } }) } // 同时改变avb的值 this.bankChanged(); }, prepers18Change(){ let exp=/^\d+$/; if(!exp.test(this.model.ledgrp.rec.prepers18)){ this.model.ledgrp.rec.prepers18 = 0; }else{ this.model.ledgrp.rec.prepers18 = Number(this.model.ledgrp.rec.prepers18); } }, }, };