import moment from 'moment'; import LimitbodyCheck from '~/components/business/limitbody/model/check.js'; import CfabopCheck from '~/components/business/cfa/cfabop/model/check.js'; import Utils from "~/utils" import BigNumber from "bignumber.js"; export default function () { return { ...new LimitbodyCheck(this).check, ...new CfabopCheck(this).check, // ...new CfagitCheck(this).check, "bpdgrp.rec.mcdate": [ { type: "string", required: true, message: "必输项" }, ], "bpdgrp.rec.bmhrzd": [ { type: "string", required: true, message: "必输项" }, { validator: (rule, value, callback) => { if (moment(value).diff(moment(this.model.bpdgrp.rec.matdat), 'days') < 0) { callback(new Error('包买行融资期限应大于等于融资到期日')); } callback(); }, trigger: ['change', 'blur'] }, ], "bpdgrp.rec.bmhamt": [ { validator: (rule, value, callback) => { if (!value || Number(value) == 0) { callback(new Error('必输项')); } callback(); }, trigger: ['change', 'blur'] }, ], "bpdgrp.rec.bmhrat": [ { validator: (rule, value, callback) => { if (this.model.bpdgrp.rec.ffttyp == "0") { if (!value || Number(value) == 0) { callback(new Error('必输项')); } if (new BigNumber(value).comparedTo(new BigNumber(this.model.bpdgrp.rec.tolrat)) > 0) { callback(new Error('我行卖出执行利率需小于等于执行利率')); } } callback(); }, trigger: ['change', 'blur'] }, ], "finmod.accbch": [ { validator: (rule, value, callback) => { if (this.model.bpdgrp.rec.ywacct === "") { callback(new Error('请点击获取融资所在机构')); } callback(); }, trigger: ['change', 'blur'] }, ], "blcgrp.rec.facrcvdat": [ { type: "string", required: true, message: "必输项" }, { validator: (rule, value, callback) => { if (value && this.model.blcgrp.rec.loadat) { if (moment(value).diff(moment(this.model.blcgrp.rec.loadat)) < 0) { callback(new Error('还款日不得早于放款日')); } } callback(); }, trigger: ['change', 'blur'] }, ], "zxbgrp.rec.facrcvdat": [ { type: "string", required: true, message: "必输项" }, { validator: (rule, value, callback) => { if (value && this.model.zxbgrp.rec.loadat) { if (moment(value).diff(moment(this.model.zxbgrp.rec.loadat)) < 0) { callback(new Error('还款日不得早于放款日')); } } callback(); }, trigger: ['change', 'blur'] }, ], "setamt": [ { validator: (rule, value, callback) => { if (this.model.finmod.cbs.calflg === "") { callback(new Error('融资还款试算有误或者未试算,请重试')); } else { let setAmt = 0; if (this.model.finmod.intprd == "6") { setAmt = new BigNumber(this.model.finmod.cbs.cbe.amt); } else { setAmt = new BigNumber(this.model.finmod.cbs.cbe.intamt1).plus(new BigNumber(this.model.finmod.cbs.cbe.intamty1)).plus(new BigNumber(this.model.finmod.cbs.cbe.intamt2)).plus(new BigNumber(this.model.finmod.cbs.cbe.intamty2)).plus(new BigNumber(this.model.finmod.cbs.cbe.intamt)).plus(new BigNumber(this.model.finmod.cbs.cbe.amt)); } if (this.model.finmod.intprd == "") { if (new BigNumber(this.model.setamt).comparedTo(new BigNumber(this.model.finmod.cbs.cbe.amt)) != 0 && new BigNumber(this.model.setamt).comparedTo(new BigNumber(this.model.finmod.cbs.cbe.amt).plus(new BigNumber(this.model.finmod.cbs.totint)) != 0)) { callback(new Error('还款总额计算有误,请重算')); } } else { if (new BigNumber(this.model.setamt).comparedTo(setAmt) != 0) { callback(new Error('还款总额计算有误,请重算')); } } // if (this.model.finmod.reptyp == "2" && new BigNumber(this.model.setamt).comparedTo(new BigNumber(this.model.bpdgrp.cbs.max.amt)) == 0) { // callback(new Error('部分还款金额应小于融资放款总额')); // } } callback(); }, trigger: ['change', 'blur'] }, ], "setmod.docamt": [ { validator: (rule, value, callback) => { if (new BigNumber(this.model.setmod.docamt).comparedTo(new BigNumber(this.model.bpdgrp.cbs.opn1.amt)) > 0) { callback(new Error('More than the open amount of ' + this.model.bpdgrp.cbs.opn1.cur + ' ' + this.model.bpdgrp.cbs.opn1.amt + ' cannot be repaid')); } callback(); }, trigger: ['change', 'blur'] }, ], "finmod.reptyp": [ { validator: (rule, value, callback) => { if (value == "2" && this.model.bpdgrp.rec.opttyp == "2") { callback(new Error('转卖时不能部分还款,必须一次性还款')); } callback(); }, trigger: ['change', 'blur'] }, ], "bpdgrp.rec.baomzh": [ { validator: (rule, value, callback) => { let num = this.model.setmod.setglg.setgll.length; for (let i = 0; i < num; i++) { if ( this.model.setmod.setglg.setgll[i].rol == "FIA" && this.model.setmod.setglg.setgll[i].debcdtflg == "D" && this.model.setmod.setglg.setgll[i].act != value && (this.model.setmod.setglg.setgll[i].dsp == "SPD" || this.model.setmod.setglg.setgll[i].dsp == "ARD") ) { callback(new Error('付款账号与账务中的借记账号不一致')); } } callback(); }, trigger: ['change', 'blur'] }, ], // "bpdgrp.rec.bmhamt": [ // { // validator: (rule, value, callback) => { // if (new BigNumber(value).comparedTo(new BigNumber(this.model.bpdgrp.cbs.max.amt).plus(new BigNumber("0.1"))) > 0) { // callback(new Error('包买行汇入我行款项金额不能大于还款金额+0.1元')); // } // callback(); // }, // trigger: ['change', 'blur'] // }, // ], } }