import Utils from "~/utils" import BigNumber from "bignumber.js"; /** * Dbezxb Check规则 */ export default { data() { return { rules: { "recgrp.rec.agreementno": [ { type: "string", required: true, message: "必输项" }, { max: 60, message: "长度不能超过60" } ], "recgrp.rec.amt": [ { validator: (rule, value, callback) => { if (this.model.recgrp.rec.amt == "") { callback(new Error('必输项')); } else { if (this.model.recgrp.rec.rcvtotamt != "") { if (new BigNumber(this.model.recgrp.rec.amt).comparedTo(new BigNumber(this.model.recgrp.rec.rcvtotamt)) > 0) { callback(new Error('融资申请金额应小于等于应收账款金额')); } } if (this.model.recpan.bgdamt != "") { if (new BigNumber(this.model.recgrp.rec.amt).comparedTo(new BigNumber(this.model.recpan.bgdamt)) > 0) { callback(new Error('融资申请金额应小于等于报关单汇总金额')); } } } callback(); }, trigger: ['change', 'blur'] }, ], "recgrp.rec.cliextkey": [ { type: "string", required: true, message: "必输项" }, { max: 10, message: "长度不能超过10" } ], "recgrp.rec.clinam": [ { type: "string", required: true, message: "必输项" }, { max: 100, message: "长度不能超过49" } ], "recgrp.rec.conenddat": [ { type: "string", required: true, message: "必输项" } ], "recgrp.rec.cur": [ { type: "string", required: true, message: "必输项" }, ], "recgrp.rec.custcode": [ { type: "string", required: true, message: "必输项" }, { max: 32, message: "长度不能超过32" } ], "recgrp.rec.finloaamt": [ { validator: (rule, value, callback) => { if (this.model.recgrp.rec.finloaamt == "") { callback(new Error('必输项')); } callback(); }, trigger: ['change', 'blur'] }, ], "recgrp.rec.loadat": [ { type: "string", required: true, message: "必输项" }, ], "recgrp.rec.loalimday": [ { validator: (rule, value, callback) => { if (this.model.recgrp.rec.loalimday == "") { callback(new Error('必输项')); } callback(); }, trigger: ['change', 'blur'] }, ], "recgrp.rec.noticeid": [ { validator: (rule, value, callback) => { if (this.model.recgrp.rec.xxcbflg == "Y" && this.model.recgrp.rec.noticeid == "") { callback(new Error('必输项')); } callback(); }, trigger: ['change', 'blur'] }, ], "recgrp.rec.ownbchcod": [ { type: "string", required: true, message: "必输项" }, ], "recgrp.rec.policyno": [ { type: "string", required: true, message: "必输项" }, { max: 25, message: "长度不能超过25" } ], "recgrp.rec.policytype": [ { type: "string", required: true, message: "必输项" }, ], "recgrp.rec.rcvtotamt": [ { validator: (rule, value, callback) => { if (value == "") { callback(new Error('必输项')); } let rcvtotamt = new BigNumber("0"); for (let i = 0; i < this.model.recgrp.inelst.length; i++) { rcvtotamt = rcvtotamt.plus(new BigNumber(this.model.recgrp.inelst[i].amt)) } if (new BigNumber(value).comparedTo(rcvtotamt) > 0) { callback(new Error("应收账总金额不能超过发票总金额")); } callback(); }, trigger: ['change', 'blur'] }, ], "recgrp.rec.rcvtotcur": [ { validator: (rule, value, callback) => { if (value == "") { callback(new Error('必输项')); } for (let i = 0; i < this.model.recpan.danlst.length; i++) { if (value != this.model.recpan.danlst[i].cur) { callback(new Error("与承包通知书关联的发票币种不一致")); } } callback(); }, trigger: ['change', 'blur'] }, ], } } } }