import moment from 'moment';
import BigNumber from 'bignumber.js';
import imgInvmodCheck from '~/components/business/Invchkpan/model/check.js'
export default function () {

		return {
				"bfdgrp.rec.ownref": [{
					type: "string",
					required: true,
					message: "必输项"
				},],

				"bfdgrp.cbs.max.amt": [
					{ required: true, message: "必输项" },
					{
						validator: (rule, value, callback) => {
							if (value <= 0) {
								return callback(new Error('金额必须为正数'));
              }
              else if(new BigNumber(value) - new BigNumber(this.model.dedgrp.cbs.opn1.amt) > 0){
                return callback(new Error('索款金额应小于信用证余额'));
              }
              else if(new BigNumber(value) - new BigNumber(this.model.bfdgrp.rec.invamt) > 0){
                return callback(new Error('索款金额应小于原始单据金额'));
              }
              else {
								callback();
							}
						}, trigger: ['blur', 'change']
          },
				],

				"bfdgrp.rec.doctypcod": [{
					type: "string",
					required: true,
					message: "必输项"
				},],
				"bfdgrp.rec.rcvdat": [
					{ required: true, message: "必输项" },
					{
						validator: (rule, value, callback) => {
							if (moment(value).diff(moment(new Date()), 'days') > 0) {
								callback(new Error('收单日期不得大于当前日期!'))
							}
							callback()
						},
						trigger: 'change'
					}
				],

				"bfdgrp.rec.orddat": [
					{ required: true, message: "必输项" },
					{
						validator: (rule, value, callback) => {
							if (moment(value).diff(moment(new Date()), 'days') > 0) {
								callback(new Error('寄单日期不得大于当前日期!'))
							}
							callback()
						},
						trigger: 'change'
					}
				],

				"bfdgrp.rec.docprbrol": [{
					type: "string",
					required: true,
					message: "必输项"
				},],

				"bfdgrp.rec.invtyp": [{
					type: "string",
					required: true,
					message: "必输项"
        },],
        
        "bfdgrp.rec.anobnkcod": [{
          type: "string",
					required: this.model.dedgrp.rec.elcflg == 'Y' && this.model.bftp.msgtyp=='elcs.201.001.02',
					message: "必输项"
					}
				],

				"bfdgrp.blk.setinsbe": [{
					type: "string",
					required: true,
					message: "必输项"
				},],
				...new imgInvmodCheck(this).check,
	}
}