import BigNumber from "bignumber.js"; import moment from 'moment'; export default { data() { return { rules: { "gcdgrp.rec.ownref": [ { type: "string", required: true, message: "必输项" }, { max: 16, message: "长度不能超过16" } ], "gcdgrp.rec.nam": [ { type: "string", required: false, message: "必输项" }, { max: 40, message: "长度不能超过40" } ], "gcdgrp.rec.clmdat": [ { type: "string", required: true, message: "输入正确的日期" }, { validator: (rule, value, callback) => { let businessType = this.$route.query.businessType; if (businessType) { callback(); } // if (this.model.gidgrp.rec.expdat && moment(value).diff(moment(this.model.gidgrp.rec.expdat), 'days') > 0) { // return callback(new Error('The Date of Claim should be earlier than expire date')); // } if (moment(value).diff(moment(new Date().Format("yyyy-MM-dd")), 'days') > 0) { return callback(new Error('The Date of Claim may not be in the future')); } else if (moment(value).diff(moment(this.model.gidgrp.rec.opndat), 'days') < 0) { return callback(new Error('The Date of Claim cannot be earlier than the opening date')); } else { //校验通过 callback(); } }, trigger: ['blur', 'change'] } ], "gcdgrp.rec.payrol": [ { type: "string", required: true, message: "必输项" }, ], "gcdgrp.rec.docprbrol": [ { type: "string", required: true, message: "必输项" }, ], "gcdgrp.blk.addamtinf": [ { type: "string", required: false, message: "必输项" }, { max: 780, message: "长度不能超过780" } ], "gcdgrp.blk.presentdet": [ { type: "string", required: false, message: "必输项" }, { max: 700, message: "长度不能超过700" } ], "gcdgrp.cbs.max.cur": [ { type: "string", required: false, message: "必输项" }, { max: 3, message: "长度不能超过3" } ], "gcdgrp.cbs.max.amt": [ { required: true, message: "必输项" }, { validator: (rule, value, callback) => { if (value && Number(value) <= Number('0')) { return callback(new Error('索赔金额必须大于0')); } if (new BigNumber(value).comparedTo(new BigNumber(this.model.gidgrp.cbs.opn1.amt)) > 0) { return callback(new Error('索赔金额不能大于保函余额')); } //校验通过 callback(); }, trigger: ['blur', 'change'] } ], "gcdgrp.cbs.opn1.cur": [ { type: "string", required: false, message: "必输项" }, { max: 3, message: "长度不能超过3" } ], "gcdgrp.cbs.opn1.amt": [ { type: "string", required: false, message: "必输项" }, { max: 17, message: "整数位不能超过14位" }, // {pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" } ], "gcdgrp.cbs.max2.amt": [ { validator: (rule, value, callback) => { if (value && Number(value) < Number('0')) { return callback(new Error('索赔附加金额必须大于等于0')); } if (new BigNumber(value).comparedTo(new BigNumber(this.model.gidgrp.cbs.opn2.amt)) > 0) { return callback(new Error('索赔附加金额不能大于保函附加金额余额')); } //校验通过 callback(); }, trigger: ['blur', 'change'] } ], "gcdgrp.apl.pts.ref": [ { type: "string", required: false, message: "必输项" }, { max: 16, message: "长度不能超过16" } ], "gcdgrp.apl.pts.nam": [ { type: "string", required: false, message: "必输项" }, { max: 40, message: "长度不能超过40" } ], "gcdgrp.ben.pts.ref": [ { type: "string", required: false, message: "必输项" }, { max: 16, message: "长度不能超过16" } ], "gcdgrp.ben.pts.nam": [ { type: "string", required: false, message: "必输项" }, { max: 40, message: "长度不能超过40" } ], "gcdgrp.prb.pts.ref": [ { type: "string", required: false, message: "必输项" }, { max: 16, message: "长度不能超过16" } ], "gcdgrp.prb.pts.extkey": [ { type: "string", required: true, message: "必输项" }, { max: 16, message: "长度不能超过16" } ], "gcdgrp.prb.pts.adrblk": [ { type: "string", required: false, message: "必输项" }, { max: 140, message: "长度不能超过140" } ], "gcdgrp.oth.pts.ref": [ { type: "string", required: false, message: "必输项" }, { max: 16, message: "长度不能超过16" } ], "gcdgrp.oth.pts.extkey": [ { type: "string", required: true, message: "必输项" }, { max: 16, message: "长度不能超过16" } ], "gcdgrp.oth.pts.adrblk": [ { type: "string", required: false, message: "必输项" }, { max: 140, message: "长度不能超过140" } ], "gcdgrp.int.pts.extkey": [ { type: "string", required: false, message: "必输项" }, { max: 16, message: "长度不能超过16" } ], "gcdgrp.awi.pts.extkey": [ { type: "string", required: false, message: "必输项" }, { max: 16, message: "长度不能超过16" } ], "payday": [ { required: true, message: "请输入正确的数字" }, { validator: (rule, value, callback) => { if (value < 1 || value > 99) { callback(new Error('请输入1-99范围内的数字')); } else { callback(); } }, trigger: ['blur', 'change'] }, ], "clmtxts20": [ { type: "string", required: false, message: "必输项" }, { max: 3250, message: "长度不能超过65" } ], "szflg": [ { type: "string", required: true, message: "必输项" }, ], "gcdgrp.rec.expludat": [ { validator: (rule, value, callback) => { const date1 = moment(value); const date2 = moment(this.model.gcdgrp.rec.newexpdat); const date3 = moment(this.model.gidgrp.rec.expdat); if (date2.isValid()) { if (date1.isAfter(date2)) { callback(new Error('不能大于延期效期')); } } else { if (date1.isAfter(date3)) { callback(new Error('不能大于保函效期')); } } //校验通过 callback(); }, trigger: ['blur', 'change'] } ], } } } }