check.js 4.06 KB
Newer Older
fukai committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
import moment from 'moment';
import BigNumber from 'bignumber.js';
import LimitbodyCheck from '~/components/business/limitbody/model/check.js';
import CfagitCheck from '~/components/business/Cfagit/model/check.js';
import Utils from "~/utils"
import imgInvmodCheck from '~/components/business/Invchkpan/model/check.js'

export default function(){
		return {
				"didgrp.rec.conno": [
					{ required: true, message: "必输项" },
				],
				"bddgrp.rec.rcvdat": [
					{ required: true, message: "必输项" },
					{
						validator: (rule, value, callback) => {
							if (moment(value).diff(moment(new Date()).format('YYYY-MM-DD'), 'days') > 0) {
								callback(new Error('到单日期不得大于当前日期!'))
							}
							callback()
						},
						trigger: ['blur', 'change']
					}
				],
				"bddgrp.rec.orddat": [
					{ required: true, message: "必输项" },
					{
						validator: (rule, value, callback) => {
							if (moment(value).diff(moment(new Date()).format('YYYY-MM-DD'), 'days') > 0) {
								callback(new Error('通知日期不得大于当前日期!'))
							}
							callback()
						},
						trigger: ['blur', 'change']
					}
				],
				"bddgrp.rec.matdat": [
					{
						validator: (rule, value, callback) => {
							if (moment(value).diff(moment(this.model.bddgrp.rec.rcvdat).add(1,"days").format('YYYY-MM-DD'), 'years') > 0) {
								callback(new Error('到期付款日期超一年'))
							}
							callback()
						},
						trigger: ['blur', 'change']
					}
				],
				"bddgrp.cbs.max.cur":[
					{ required: true, message: "必输项" },
				],
				"bddgrp.rec.invamt":[
					{ required: true, message: "必输项" },
					{
						validator:(rule, value, callback) =>{
							if (value <= 0) {
								return callback(new Error('金额必须为正数'));
							}
							if(new BigNumber(value).comparedTo(new BigNumber(this.model.bddgrp.cbs.max.amt)) < 0){
								return callback(new Error('原始单据金额不应该小于索款金额'));
							}
							callback();
						}, trigger: ['blur', 'change']
					}
				],
				"bddgrp.cbs.max.amt": [
					{ required: true, message: "必输项" },
					{
						validator: (rule, value, callback) => {
							if (value <= 0) {
								return callback(new Error('金额必须为正数'));
							}
							if(new BigNumber(value).comparedTo(new BigNumber(this.model.didgrp.cbs.opn1.amt)) > 0){
								return callback(new Error('索款金额不能大于信用证余额'));
							}
							if(new BigNumber(value).comparedTo(new BigNumber(this.model.bddgrp.rec.invamt)) > 0){
								return callback(new Error('索款金额不应该大于原始单据金额'));
							}
							callback();
						},
						trigger: ['blur', 'change']
					}
				],
				"bddgrp.rec.predat": [
					{  required: true, message: "必输项" }
				],
				"bddgrp.rec.invtyp": [
					{  required: true, message: "必输项" }
				],
				"bddgrp.skh.pts.jigomc":[
					{  required: true, message: "必输项" }
				],
				"bddgrp.rec.docprbrol":[
					{  required: true, message: "必输项" }
				],
				"swiadd.orimsgid":[
					{  required: false, message: "必输项" },
					{
						validator: (rule, value, callback) => {
							if(this.model.didgrp.rec.elcflg=="Y"){
								if(value==""){
									return callback(new Error('必输项'));
								}
								else{
									if (/[^\x00-\xff]+/g.test(value)) {
										return callback(new Error('此栏位不能输入中文、中文符号以及全角字符'));
									}
								}
							}
							callback();
						},
						trigger: ['blur', 'change']
					}
				],
				"swiadd.oriinstgagt":[
					{  required: false, message: "必输项" },
					{
						validator: (rule, value, callback) => {
							if(this.model.didgrp.rec.elcflg=="Y"){
								if(value==""){
									return callback(new Error('必输项'));
								}
								else{
									if (/[^\x00-\xff]+/g.test(value)) {
										return callback(new Error('此栏位不能输入中文、中文符号以及全角字符'));
									}
								}
							}
							callback();
						},
						trigger: ['blur', 'change']
					}
				],
				...new imgInvmodCheck(this).check,
			}
}