import Api from '~/service/Api'; import commonFunctions from '~/mixin/commonFunctions.js'; import moment from 'moment'; import { cloneDeep } from "lodash"; import Utils from "~/utils" export default { mixins: [commonFunctions], methods: { buildDftcre() { let params = { ...this.model.dftcre.buildParams, dftcre: this.model.dftcre } return params; }, onChangeAmt() { this.model.dftcre.dfdgrp.cbs.opn1.amt = this.model.dftcre.dfdgrp.cbs.max.amt; this.calcName(); }, calcTenday(){ let fromDate = this.model.dftcre.dfdgrp.rec.stttendat; let toDate = this.model.dftcre.dfdgrp.rec.matdat; if(fromDate == "" || fromDate == null || toDate == "" || toDate == null ){ this.model.dftcre.dfdgrp.rec.tenday = 0; return; } let day1 = moment(toDate).format('YYYY-MM-DD'); let day2 = moment(fromDate).format('YYYY-MM-DD'); this.model.dftcre.dfdgrp.rec.tenday = moment(day1).diff(day2, 'days'); }, onChangeFlttyp(){ let flttyp = this.model.dftcre.dfdgrp.rec.flttyp; if (flttyp === '0' || flttyp === '3') { this.model.dftcre.dfdgrp.rec.fltval = 0; if (this.model.dftcre.dfdgrp.rec.modifySet) { this.model.dftcre.dfdgrp.rec.modifySet = this.model.dftcre.dfdgrp.rec.modifySet.filter(key=>key!='fltval') } } }, onChangeDff(){ this.getDfuflg(); this.getTrntyp(); }, onChangeDfuflg(){ this.getTrntyp(); }, getTrntyp(){ let fintyp = this.model.dftcre.dfdgrp.rec.fintyp; let dfuflg = this.model.dftcre.dfdgrp.rec.dfuflg; if (fintyp === 'A' && dfuflg === '1') { //我行融资+境内代付 this.model.dftcre.trntyp = 'A'; } if (fintyp === 'A' && dfuflg === '2') { //我行融资+境外代付 this.model.dftcre.trntyp = 'B'; } if (fintyp === 'B' && dfuflg === '1') { //我行风险参与+境内代付 this.model.dftcre.trntyp = 'C'; } if (fintyp === 'B' && dfuflg === '2') { //我行风险参与+境外代付 this.model.dftcre.trntyp = 'D'; } }, async processDftcre(requestParams) { if(requestParams){ this.model.dftcre.buildParams = cloneDeep(requestParams) delete this.model.dftcre.buildParams.rec.dftcreVo if (this.model.dftcre.buildParams.rec.trtcreVo){ delete this.model.dftcre.buildParams.rec.trtcreVo.buildParams } } const loading = this.loading('正在计算委托方代付数据') let dftcreRequest = this.buildDftcre() let objtyp = dftcreRequest.rec.objtyp; let rtnmsg = await Api.post(`/${this.moduleRouter()}/${objtyp.toLowerCase()}/dftcre/assertDftcre`, dftcreRequest); if (rtnmsg.respCode == SUCCESS) { this.model.dftcre.oricur = rtnmsg.data.dftcre.oricur; this.model.dftcre.oriamt = rtnmsg.data.dftcre.oriamt; this.model.dftcre.dfflag = rtnmsg.data.dftcre.dfflag; Utils.copyValueFromVoData( this.model.dftcre.dfdgrp, rtnmsg.data.dftcre.dfdgrp); Utils.copyValueFromVoData( this.model.dftcre.dftp, rtnmsg.data.dftcre.dftp); this.getTrntyp(); } loading.close(); return rtnmsg; }, async queryOwnref() { let data = { ownref: this.model.dftcre.dfdgrp.rec.ownref, ptainr: this.model.dftcre.dfdgrp.apl.pts.ptainr, trntyp: this.model.dftcre.dfdgrp.rec.trntyp } let objtyp = this.model.dftcre.buildParams.rec.objtyp; const loading = this.loading("正在获取委托方代付业务编号"); let res = await Api.post(`/${this.moduleRouter()}/${objtyp.toLowerCase()}/dftcre/getRef`, data); loading.close(); if (res.respCode === SUCCESS) { this.model.dftcre.dfdgrp.rec.ownref = res.data; } else { this.$message.error(res.respMsg); } }, async calcName(){ let objtyp = this.model.dftcre.buildParams.rec.objtyp; const loading = this.loading(); let res = await Api.post(`/${this.moduleRouter()}/${objtyp.toLowerCase()}/dftcre/getRecNam`, this.model.dftcre); loading.close(); if (res.respCode === SUCCESS) { this.model.dftcre.dfdgrp.rec.nam = res.data; } }, async getDfuflg(){ let objtyp = this.model.dftcre.buildParams.rec.objtyp; const loading = this.loading(); let res = await Api.post(`/${this.moduleRouter()}/${objtyp.toLowerCase()}/dftcre/getDfuflg`, this.model.dftcre.dfdgrp); loading.close(); if (res.respCode === SUCCESS) { this.model.dftcre.dfdgrp.rec.dfuflg = res.data; } }, //修改代付金额币种,代付利息币种随之改变 changeMaxcur() { this.model.dftcre.dfdgrp.rec.rescur = this.model.dftcre.dfdgrp.cbs.max.cur }, async getEcifName(){ let extkey = this.model.dftcre.dfdgrp.rec.bankno; if (extkey !== '') { const loading = this.loading("正在请求ECIF0905获取客户信息"); let request = { ecifno: extkey } let objtyp = this.model.dftcre.buildParams.rec.objtyp; let res = await Api.post(`/${this.moduleRouter()}/${objtyp.toLowerCase()}/dftcre/getEcifName`, request); if (res.respCode === SUCCESS) { this.model.dftcre.dfdgrp.rec.bankcn = res.data; } loading.close(); } } } }