check.js 5.54 KB
import {checkRuleOfTDA} from "RcpmisRules"
import BigNumber from 'bignumber.js';

export default class Rmb2101Check {
    constructor(_this) {
			//高阶函数返回的数组
			let thiz = {model:_this.model.rmbbop.rmb2101,root:_this,isCom:true}
			let checks = checkRuleOfTDA().call({module:"TDACOM"}).call(thiz,_this,null,BigNumber)
			let target = {}
			//映射路径
			Object.keys(checks).forEach(key=>target['rmbbop.rmb2101.'+key]=checks[key])
			this.check = target
        // this.check = {
        //     // "rmbbop.rmb2101.recgrp.ads.levyno": [
        //     //     {required: true, message: "必输项"}
        //     // ],
        //     // "rmbbop.rmb2101.recgrp.ads.opertype": [
        //     //     {required: true, message: "必输项"}
        //     // ],
        //     // "rmbbop.rmb2101.recgrp.ads.banktrano": [
        //     //     {required: true, message: "必输项"}
        //     // ],
        //     // "rmbbop.rmb2101.recgrp.ads.bankorgcode": [
        //     //     {required: true, message: "必输项"}
        //     // ],
        //     "rmbbop.rmb2101.recgrp.ads.actiondesc": [
        //         {
        //             validator: (rule, value, callback) => {
        //                 let opertype = _this.model.rmbbop.rmb2101.recgrp.ads.opertype;
        //                 if (opertype === '2' || opertype === '3') {
        //                     if (!value) {
        //                         return callback(new Error('必输项'))
        //                     }
        //                 }
        //                 callback()
        //             }
        //         }],
        //     "rmbbop.rmb2101.recgrp.ads.payeeattr": [
        //         {required: true, message: "必输项"}
        //     ],
        //     "rmbbop.rmb2101.recgrp.ads.payeename": [
        //         {required: true, message: "必输项"}
        //     ],
        //     "rmbbop.rmb2101.recgrp.ads.payername": [
        //         {required: true, message: "必输项"}
        //     ],
        //     "rmbbop.rmb2101.recgrp.ads.payeeorgcode": [
        //         {required: true, message: "必输项"},
        //         {
        //             validator: (rule, value, callback) => {
        //                 let payType = _this.model.rmbbop.rmb2101.recgrp.ads.payeeattr;
        //                 if (payType === '1001') {
        //                     if (value.length !== 18) {
        //                         return callback(new Error('请填写18位身份证件号码'))
        //                     }
        //                 } else if (payType === '1002') {
        //                     return callback()
        //                 } else {
        //                     if (value.length !== 9 && value.length !== 18) {
        //                         return callback(new Error('请填写9位组织机构代码或18位统一社会信用代码'))
        //                     } else {
        //                         if (!(/^[A-Z0-9]+$/.test(value))) {
        //                             return callback(new Error('代码仅支持数字和大写字母'))
        //                         }
        //                     }
        //                 }
        //                 callback()
        //             }
        //         }
        //     ],
        //     "rmbbop.rmb2101.recgrp.ads.paybankcode": [
        //         {required: true, message: "必输项"},
        //         {
        //             validator: (rule, value, callback) => {
        //                 if (value.length < 11) {
        //                     return callback(new Error('请输入11位SWIFT BIC或12位支付行号'))
        //                 }
        //                 callback()
        //             }
        //         }
        //     ],
        //     "rmbbop.rmb2101.recgrp.ads.payeedate": [
        //         {required: true, message: "必输项"},
        //         {
        //             validator: (rule, value, callback) => {
        //                 if (new Date(value).getTime() > new Date().getTime()) {
        //                     return callback(new Error('该字段必须小于等于系统当前日期'))
        //                 }
        //                 callback()
        //             }
        //         }
        //     ],
        //     "rmbbop.rmb2101.recgrp.ads.balancemode": [
        //         {required: true, message: "必输项"}
        //     ],
        //     "rmbbop.rmb2101.recgrp.ads.payeecny": [
        //         {required: true, message: "必输项"}
        //     ],
        //     "rmbbop.rmb2101.recgrp.ads.allamt": [
        //         {required: true, message: "必输项"},
        //         {
        //             validator: (rule, value, callback) => {
        //                 if (value <= 0) {
        //                     return callback(new Error('总金额必须大于0'))
        //                 } else if (_this.model.rmbbop.rmb2112.recgrp.tbz.length > 0) {
        //                     let amt = 0;
        //                     for (let index = 0; index < _this.model.rmbbop.rmb2112.recgrp.tbz.length; index++) {
        //                         amt += Number(_this.model.rmbbop.rmb2112.recgrp.tbz[index].receamt)
        //                     }
        //                     if (Number(value) !== amt) {
        //                         return callback(new Error('总金额应等于明细信息收款金额之和'))
        //                     }
        //                 }

        //                 callback()
        //             }
        //         }
        //     ]
        // }
    }
}