import moment from 'moment'; import BigNumber from 'bignumber.js'; export default { data() { return { rules: { "swiadd.amenbr": [ { required: true, message: "必输项" }, ], "swiadd.amedat":[ { required: true, message: "必输项" }, ], "swiadd.newexpdat":[ { validator: (rule, value, callback) => { if (value!=null&&value!="") { if (moment(value).diff(moment(this.model.didgrp.rec.opndat).add(1,"days"), 'years') >0) { callback(new Error('效期超一年')); } if (moment(value).diff(moment(this.model.swiadd.amedat), 'days') <0) { callback(new Error('新效期不能早于修改当日')); } let shpdat; let info; switch(this.model.didgrp.rec.mytype){ case "H": case "": info = "最迟货物装运日"; break; case "F": info = "最迟服务提供日"; break; case "3": info = "最迟货物装运/服务提供日"; break; default: info = "最迟货物装运日"; } if (this.model.swiadd.newshpdat==null||this.model.swiadd.newshpdat=="") { shpdat =this.model.olddidgrp.rec.shpdat; } else{ shpdat=this.model.swiadd.newshpdat; } if (moment(value).diff(moment(shpdat), 'days') < 0) { callback(new Error('新到期日不得早于'+info)); } callback(); } callback(); }, trigger: ['blur', 'change'] }, ], "swiadd.newshpdat":[ { validator: (rule, value, callback) => { if (value!=null&&value!="") { let expdat; let info; switch(this.model.didgrp.rec.mytype){ case "H": case "": info = "新最迟货物装运日"; break; case "F": info = "新最迟服务提供日"; break; case "3": info = "新最迟货物装运/服务提供日"; break; default: info = "新最迟货物装运日"; } if (this.model.swiadd.newexpdat==null||this.model.swiadd.newexpdat=="") { expdat =this.model.olddidgrp.rec.expdat; } else{ expdat=this.model.swiadd.newexpdat; } if (moment(value).diff(moment(expdat), 'days') > 0) { callback(new Error(info+'不得晚于有效期')); } callback(); } callback(); }, trigger: ['blur', 'change'] }, ], "didgrp.rec.hmyamt": [ { validator: (rule, value, callback) => { if (this.model.didgrp.rec.mytype == '3'&&this.model.olddidgrp.rec.mytype != '3') { if (value == "" || value == 0) { callback(new Error('必输项')) } } if (this.model.didgrp.rec.mytype == '3') { if (value < 0) { callback(new Error('金额必须为正数')) } else { if (value > 0 && this.model.didgrp.rec.fmyamt > 0 && (new BigNumber(value).plus(new BigNumber(this.model.didgrp.rec.fmyamt)).comparedTo(new BigNumber(this.model.didgrp.cbs.max.amt)) != 0)) { callback(new Error('货物贸易金额与服务贸易金额之和应等于信用证最大金额')) } } } callback(); }, trigger: ['blur', 'change'] } ], "didgrp.rec.fmyamt": [ { validator: (rule, value, callback) => { if (this.model.didgrp.rec.mytype == '3'&&this.model.olddidgrp.rec.mytype != '3') { if (value == "" || value == 0) { callback(new Error('必输项')) } } if (this.model.didgrp.rec.mytype == '3') { if (value < 0) { callback(new Error('金额必须为正数')) } else { if (value > 0 && this.model.didgrp.rec.hmyamt > 0 && (new BigNumber(value).plus(new BigNumber(this.model.didgrp.rec.hmyamt)).comparedTo(new BigNumber(this.model.didgrp.cbs.max.amt)) != 0)) { callback(new Error('货物贸易金额与服务贸易金额之和应等于信用证最大金额')) } } } callback(); }, trigger: ['blur', 'change'] } ], "didgrp.rec.concur": [ { required: true, message: "必输项" }, ], "didgrp.rec.conamt": [ { required: true, message: "必输项" }, { validator(rule, value, callback) { if (value < 0) { return callback(new Error('金额不能为负数')); } else { callback(); } }, trigger: ['blur', 'change'] } ], "didgrp.rec.shppar":[ { required: true, message: "必输项" }, ], "didgrp.rec.fenctg":[ { required: true, message: "必输项" }, ], "didgrp.rec.finrenflg": [ { required: true, message: "必输项" } ], "didgrp.rec.bsisaeflg": [ { required: true, message: "必输项" } ], "didgrp.rec.guaflg": [ { required: true, message: "必输项" } ], "didgrp.rec.shpdat": [ { type: "string", required: false, message: "输入正确的日期" } ], "didgrp.rec.tzref": [ { type: "string", required: false, message: "必输项" }, { max: 35, message: "长度不能超过35" } ], "didgrp.rec.tenmaxday": [ { validator: (rule, value, callback) => { if (this.model.didgrp.rec.avbby == 'D') { if (value <= 0) { callback(new Error('必输项')); } if (value > 366) { callback(new Error('付款期限不应超过366天')); } callback(); } callback(); }, trigger: ['blur', 'change'] }, ], "didgrp.rec.shpfro": [ { type: "string", required: false, message: "必输项" }, ], "didgrp.rec.shpto": [ { type: "string", required: false, message: "必输项" }, ], "didgrp.rec.conno": [ { required: true, message: "必输项" }, ], "didgrp.rec.shppro": [ { type: "string", required: false, message: "必输项" }, ], "bchname": [ { type: "string", required: false, message: "必输项" }, ], "issadr": [ { type: "string", required: false, message: "必输项" }, ], "pobzip": [ { type: "string", required: false, message: "必输项" }, { max: 10, message: "长度不能超过10" } ], "tel": [ { type: "string", required: false, message: "必输项" }, { max: 16, message: "长度不能超过16" } ], "fax": [ { type: "string", required: false, message: "必输项" }, { max: 16, message: "长度不能超过16" } ], "ditp.signam": [ { type: "string", required: false, message: "必输项" }, ], "ditp.remark": [ { type: "string", required: true, message: "必输项" }, ], //明细 "didgrp.rec.avbby": [ { required: true, message: "必输项" } ], //备查表 "litameadv":[ { required: true, message: "必输项" } ], "swiadd.lcrgod":[ { validator: (rule, value, callback) => { if(this.model.ditamep.hwmsupdate=='X'){ if(value==""){ return callback(new Error('必输项')); } else{ if(this.model.didgrp.rec.elcflg=="Y"){ if (/["]+/g.test(value)) { return callback(new Error('电证时,此栏位不能输入英文双引号字符')); } } } } callback(); }, trigger: ['blur', 'change'] } ], "swiadd.lcrdoc": [ { validator: (rule, value, callback) => { if(this.model.ditamep.djyqupdate=='X'){ if(value==""){ return callback(new Error('必输项')); } else{ if(this.model.didgrp.rec.elcflg=="Y"){ if (/["]+/g.test(value)) { return callback(new Error('电证时,此栏位不能输入英文双引号字符')); } } } } callback(); }, trigger: ['blur', 'change'] } ], "swiadd.adlcnd": [ { validator: (rule, value, callback) => { if(this.model.ditamep.fjtkupdate=='X'){ if(value==""){ return callback(new Error('必输项')); } else{ if(this.model.didgrp.rec.elcflg=="Y"){ if (/["]+/g.test(value)) { return callback(new Error('电证时,此栏位不能输入英文双引号字符')); } } } } callback(); }, trigger: ['blur', 'change'] } ], "swiadd.insbnk": [ { validator: (rule, value, callback) => { if(this.model.ditamep.zsupdate=='X'){ if(value==""){ return callback(new Error('必输项')); } else{ if(this.model.didgrp.rec.elcflg=="Y"){ if (/["]+/g.test(value)) { return callback(new Error('电证时,此栏位不能输入英文双引号字符')); } } } } callback(); }, trigger: ['blur', 'change'] } ], } } } }