import Api from '~/service/Api'; import commonFunctions from '~/mixin/commonFunctions.js'; import commonDepend from "~/mixin/commonDepend.js"; import BigNumber from 'bignumber.js'; export default { mixins: [commonFunctions,commonDepend], methods: { initEngp (requestParams) { return new Promise(async (resolve) => { this.model.liaall.buildParams = requestParams await this.processLiaall() resolve(); }) }, buildEngp (requestParams) { let params = { ...this.model.liaall.buildParams, liaallg: this.model.liaall.liaallg, liaccvg: this.model.liaccv ? this.model.liaccv.liaccvg : [], oldredflg: this.model.liaall.oldredflg, tenorSettles: this.model.liaall.tenorSettles, tensetamt: this.model.liaall.tensetamt, tensetmatdat: this.model.liaall.tensetmatdat, tenset: this.model.liaall.tenset, }; return params }, async processLiaall(requestParams) { if(requestParams){ this.model.liaall.buildParams = requestParams } const loading = this.loading('正在计算表外数据') let liaallRequest = this.buildEngp() let objtyp = liaallRequest.rec.objtyp; liaallRequest.sptinr = this.$route.query.businessInr || '' let rtnmsg = await Api.post(`/${this.moduleRouter()}/${objtyp.toLowerCase()}/liaall/assertLiaall`, liaallRequest); if (rtnmsg.respCode == SUCCESS) { this.model.liaall.liaallg = rtnmsg.data.liaallg this.model.liaall.concur = rtnmsg.data.concur this.model.liaall.misamt = rtnmsg.data.misamt this.model.liaall.oldredflg = rtnmsg.data.oldredflg this.model.liaall.acceptLines = rtnmsg.data.acceptLines this.model.liaall.tenorSettles = rtnmsg.data.tenorSettles this.model.liaall.tensetamt = rtnmsg.data.tensetamt this.model.liaall.tensetmatdat = rtnmsg.data.tensetmatdat this.model.liaall.tenset = rtnmsg.data.tenset this.computeDocamt(); } loading.close(); return rtnmsg; }, async changeFlag() { const loading = this.loading('正在计算表外结算数据') let liaall = { tenorSettles: this.model.liaall.tenorSettles, } let objtyp = this.model.liaall.buildParams.rec.objtyp; let rtnmsg = await Api.post(`/${this.moduleRouter()}/${objtyp.toLowerCase()}/liaall/calcTenset`, liaall); if (rtnmsg.respCode == SUCCESS) { this.model.liaall.tensetamt = rtnmsg.data.tensetamt this.model.liaall.tensetmatdat = rtnmsg.data.tensetmatdat this.model.liaall.tenset = rtnmsg.data.tenset this.computeDocamt(); } loading.close(); }, computeDocamt(){ if (this.model.liaall.tenorSettles.length > 0) { let modified = false; if (this.model.setmod && this.model.setmod.modifySet && this.model.setmod.modifySet.includes('docamt')) { modified = true; } if (!modified && this.model.setmod) { this.model.setmod.docamt = this.model.liaall.tensetamt; this.model.setmod.doccur = this.model.liaall.concur; } } this.$emit('tenorChange'); }, onChangeMatdat(acceptLine, prop) { this.customAddModify(acceptLine, prop); let cbtpfx = acceptLine.cbtpfx; let pteinr = acceptLine.pteinr; let liaallg = this.model.liaall.liaallg; for (let l of liaallg) { if (cbtpfx === l.cbtpfx && pteinr === l.ptegrp.rec.inr) { l.matdat = acceptLine.matdat; this.customAddModify(l, prop); } } this.$emit('changeMatdat', acceptLine); }, getMattxtflg(){ let liaallg = this.model.liaall.liaallg; let count = 0; for (let l of liaallg) { if (l.ptegrp.rec.inr != '' && l.matdat !== '' && l.matdat !== null && l.cbtpfx === 'AKZ' && new BigNumber(l.amt).plus(new BigNumber(l.oldamt)) != 0) { count = count + 1; } } if (count >= 2) { return "X"; } else { return ""; } }, getAkzMatdat(){ let matdat; let liaallg = this.model.liaall.liaallg; for (let l of liaallg) { if (l.cbtpfx === 'AKZ' && l.ptegrp.rec.inr === '') { matdat = l.matdat; } } return matdat; }, } }