check.js 18.6 KB
import {checkRuleOfTDO} from "RcpmisRules"

export default class Rmb2122Check {
    constructor(_this) {
    //高阶函数返回的数组
    let thiz = {model:_this.model.rmbbop.rmb2122,root:_this,isCom:true}
    let checks = checkRuleOfTDO().call({module:"TDOCOM"}).call(thiz,_this)
    let target = {}
    //映射路径
    Object.keys(checks).forEach(key=>target['rmbbop.rmb2122.'+key]=checks[key])
    this.check = target
        // this.check = {
        //     "rmbbop.rmb2122.recgrp.ads.opertype": [{
        //         required: true,
        //         message: "必输项"
        //     }],
        //     "rmbbop.rmb2122.recgrp.ads.vouchername": [{
        //         required: true,
        //         message: "必输项"
        //     }],
        //     "rmbbop.rmb2122.recgrp.ads.voucheename": [{
        //         required: true,
        //         message: "必输项"
        //     }],
        //     "rmbbop.rmb2122.recgrp.ads.banktrano": [{
        //         required: true,
        //         message: "必输项"
        //     }],
        //     "rmbbop.rmb2122.recgrp.ads.vouchercountrycode": [{
        //         required: true,
        //         message: "必输项"
        //     }],
        //     "rmbbop.rmb2122.recgrp.ads.voucheecountrycode": [{
        //         required: true,
        //         message: "必输项"
        //     }],
        //     "rmbbop.rmb2122.recgrp.ads.debtorcountrycode": [{
        //         validator: (rule, value, callback) => {
        //             let obj = _this.model.gidgrp || _this.model.nidgrp;
        //             let hndtyp = obj.rec.hndtyp;
        //             if (hndtyp !== 'OT' && !value) {
        //                 return callback(new Error('必输项'))
        //             }
        //             callback()
        //         }
        //     }],
        //     "rmbbop.rmb2122.recgrp.ads.vouchamt": [{
        //         validator: (rule, value, callback) => {
        //             if (value < 0) {
        //                 return callback(new Error('担保币种金额不能为负数'))
        //             }
        //             callback()
        //         }
        //     }],
        //     // "rmbbop.rmb2122.recgrp.ads.reversecountrycode": [{
        //     // 	validator:(rule,value,callback)=>{
        //     // 		let obj
        //     // 		let obj1 =false
        //     // 		if (_this.model.gidgrp){
        //     // 			obj = _this.model.gidgrp.rec.purpos
        //     // 			if(obj.indexOf('CO') == -1){
        //     // 				obj1 =true
        //     // 			}
        //     // 		}else{
        //     // 			obj = _this.model.nidgrp.rec.hndtyp
        //     // 			if (obj =='OL') {
        //     // 				obj1 =true
        //     // 			}
        //     // 		}
        //     // 		if (!obj1 && !value){
        //     // 			callback(new Error('必输项'))
        //     // 		}
        //     // 		callback()
        //     // 	}
        //     // }],
        //     "rmbbop.rmb2122.recgrp.ads.currencycode": [{
        //         required: true,
        //         message: "必输项"
        //     }],
        //     "rmbbop.rmb2122.recgrp.ads.levyno": [{
        //         required: true,
        //         message: "必输项"
        //     }],
        //     "rmbbop.rmb2122.recgrp.ads.leorgcode": [{
        //         required: true,
        //         message: "必输项"
        //     }],
        //     "rmbbop.rmb2122.recgrp.ads.vouchertype": [{
        //         required: true,
        //         message: "必输项"
        //     }],
        //     "rmbbop.rmb2122.recgrp.ads.debtorname": [{
        //         required: true,
        //         message: "必输项"
        //     }],

        //     "rmbbop.rmb2122.recgrp.ads.voucherswiftbic": [{
        //         min: 9,
        //         max: 21,
        //         message: '长度在 9 到 21 个字符',
        //         trigger: 'blur'
        //     }, {
        //         validator: (rule, value, callback) => {
        //             if (_this.model.rmbbop.rmb2122.recgrp.ads.vouchercountrycode === 'CHN') {
        //                 if (!value) {
        //                     return callback(new Error('必输项'))
        //                 } else {
        //                     if (_this.model.rmbbop.rmb2122.recgrp.ads.vouchertype) {
        //                         if (_this.model.rmbbop.rmb2122.recgrp.ads.vouchertype === 'IB03' || _this.model.rmbbop.rmb2122.recgrp.ads.vouchertype === 'IB04') {
        //                             if (value.length !== 12) {
        //                                 return callback(new Error('请填写12位大额行号'))
        //                             }
        //                         } else {
        //                             if (value) {
        //                                 if (value.length !== 9 && value.length !== 18) {
        //                                     return callback(new Error('填写9位组织机构代码或18位统一社会信用代码'))
        //                                 } else {
        //                                     let table = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
        //                                     for (let i = 0; i < value.length; i++) {
        //                                         if (table.indexOf(value[i]) === -1) {
        //                                             return callback(new Error('代码仅支持数字和大写字母'))
        //                                         }
        //                                     }
        //                                 }
        //                             }
        //                         }
        //                     }
        //                 }
        //             } else {
        //                 if (_this.model.rmbbop.rmb2122.recgrp.ads.vouchertype === 'A301' || _this.model.rmbbop.rmb2122.recgrp.ads.vouchertype === 'A302') {
        //                     if (value.length > 0 && value.length !== 8 && value.length !== 11) {
        //                         return callback(new Error('请填写11位境外银行SWIFT BIC'))
        //                     }
        //                     let letter = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
        //                     let bic = value.trim();
        //                     let num = '0123456789';
        //                     for (let i = 0; i < 6; i++) {
        //                         if (letter.indexOf(bic[i]) === -1) {
        //                             return callback(new Error('请填写11位境外银行SWIFT BIC'))
        //                         }
        //                     }
        //                     if (letter.indexOf(bic[6]) === -1 && '23456789'.indexOf(bic[6]) === -1) {
        //                         return callback(new Error('请填写11位境外银行SWIFT BIC'));
        //                     }
        //                     if (num.indexOf(bic[7]) === -1 && 'ABCDEFGHIJKLMNPQRSTUVWXYZ'.indexOf(bic[7]) === -1) {
        //                         return callback(new Error('请填写11位境外银行SWIFT BIC'));
        //                     }
        //                     if (bic.length > 8) {
        //                         for (let i = 8; i < 11; i++) {
        //                             if (letter.indexOf(bic[i]) === -1 && num.indexOf(bic[i]) === -1) {
        //                                 return callback(new Error('请填写11位境外银行SWIFT BIC'))
        //                             }
        //                         }
        //                     }
        //                 }
        //             }
        //             callback()
        //         }
        //     }],
        //     // "rmbbop.rmb2122.recgrp.ads.voucherswiftbic":[{
        //     // 	validator:  (rule, value, callback)=> {
        //     // 		if(_this.model.rmbbop.rmb2122.recgrp.ads.vouchercountrycode == "CHN"){
        //     // 			if (!value) {
        //     // 				return callback(new Error('必输项'))
        //     // 			}else {
        //     // 				if(_this.model.rmbbop.rmb2122.recgrp.ads.vouchertype=='IB03' || _this.model.rmbbop.rmb2122.recgrp.ads.vouchertype =='IB04' ) {
        //     // 					if(value.length !=12) {
        //     // 						return callback(new Error('请填写12位大额行号'))
        //     // 					}
        //     // 				}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()
        //     // 	},
        //     // 	trigger: ['blur', 'change']
        //     // }],
        //     // "rmbbop.rmb2122.recgrp.ads.voucheeorgcode":[{
        //     // 	validator:  (rule, value, callback)=> {
        //     // 		if(_this.model.rmbbop.rmb2122.recgrp.ads.voucheecountrycode == "CHN"){
        //     // 			if (!value) {
        //     // 				return callback(new Error('必输项'))
        //     // 			}else {
        //     // 				if(_this.model.rmbbop.rmb2122.recgrp.ads.voucheetype=='IB03' || _this.model.rmbbop.rmb2122.recgrp.ads.voucheetype =='IB04' ) {
        //     // 					if(value.length !=12) {
        //     // 						return callback(new Error('请填写12位大额行号'))
        //     // 					}
        //     // 				}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()
        //     // 	},
        //     // 	trigger: ['blur', 'change']
        //     // }],
        //     "rmbbop.rmb2122.recgrp.ads.debtororgcode": [{
        //         validator: (rule, value, callback) => {
        //             if (_this.model.rmbbop.rmb2122.recgrp.ads.debtorcountrycode === "CHN") {
        //                 if (!value) {
        //                     return callback(new Error('必输项'))
        //                 } 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.rmb2122.recgrp.ads.reverseorgcode": [{
        //         validator: (rule, value, callback) => {
        //             // let obj
        //             // let obj1 =false
        //             // if (_this.model.gidgrp){
        //             // 	obj = _this.model.gidgrp.rec.purpos
        //             // 	if(obj.indexOf('CO') == -1){
        //             // 		obj1 =true
        //             // 	}
        //             // }else{
        //             // 	obj = _this.model.nidgrp.rec.hndtyp
        //             // 	if (obj =='OL') {
        //             // 		obj1 =true
        //             // 	}
        //             // }
        //             if (_this.model.rmbbop.rmb2122.recgrp.ads.reversename || _this.model.rmbbop.rmb2122.recgrp.ads.reversecountrycode || _this.model.rmbbop.rmb2122.recgrp.ads.vouchmode) {
        //                 if (!value) {
        //                     return callback(new Error('反担保四个栏位必须同时输入或者同时不输入'))
        //                 } else {
        //                     if (_this.model.rmbbop.rmb2122.recgrp.ads.reversecountrycode === "CHN") {
        //                         if (value.length !== 9 && value.length !== 12 && value.length !== 18) {
        //                             return callback(new Error('请填写12位大额行号或9位组织机构代码或18位统一社会信用代码'))
        //                         } else if (value.length === 9 || value.length === 18) {
        //                             if (!(/^[A-Z0-9]+$/.test(value))) {
        //                                 return callback(new Error('代码仅支持数字和大写字母'))
        //                             }
        //                         }
        //                     }
        //                 }
        //             }
        //             callback()
        //         }
        //     }],
        //     "rmbbop.rmb2122.recgrp.ads.voucheetype": [{
        //         required: true,
        //         message: "必输项"
        //     }],
        //     "rmbbop.rmb2122.recgrp.ads.vouchtype": [
        //         {
        //             required: true,
        //             message: "必输项"
        //         },
        //         {
        //             validator: (rule, value, callback) => {
        //                 let obj = _this.model.gidgrp || _this.model.nidgrp;
        //                 let gartyp = obj.rec.gartyp;
        //                 let cfatyp = obj.rec.cfaguatyp;
        //                 let cfatyp1 = cfatyp.slice(0, 2);
        //                 let vouchtype;

        //                 if (gartyp === "J") {
				// 			if (value && value !== "0002") {
        //                         return callback(new Error('报送页面保函类型与开立页面保函类型不一致!'))
        //                     }
        //                 } else {
        //                     switch (cfatyp1) {
        //                         case '11':
        //                             vouchtype = "0001";
        //                             break;
        //                         case '12':
        //                             switch (cfatyp) {
        //                                 case '1201':
        //                                     vouchtype = '0003';
        //                                     break;
        //                                 case '1202':
        //                                     vouchtype = '0005';
        //                                     break;
        //                                 case '1203':
        //                                     vouchtype = '0004';
        //                                     break;
        //                                 case '1204':
        //                                     vouchtype = '0000';
        //                                     break;
        //                                 case '1205':
        //                                     vouchtype = '0000';
        //                                     break;

        //                             }
        //                     }
        //                     if (value && vouchtype != null && value !== vouchtype) {
        //                         return callback(new Error('报送页面保函类型与开立页面保函类型不一致!'))
        //                     }
        //                     callback()
        //                 }
        //                 callback()
        //             }
        //         }],
        //     "rmbbop.rmb2122.recgrp.ads.vouchefficientdate": [{
        //         required: true,
        //         message: "必输项"
        //     }],
        //     "rmbbop.rmb2122.recgrp.ads.contractno": [{
        //         required: true,
        //         message: "必输项"
        //     }],
        //     "rmbbop.rmb2122.recgrp.ads.vouchenddate": [{
        //         validator: (rule, value, callback) => {
        //             if (!value) {
        //                 return callback(new Error('必输项'))
        //             } else if (new Date(value).getTime() <= new Date(_this.model.rmbbop.rmb2122.recgrp.ads.vouchefficientdate).getTime()) {
        //                 return callback(new Error('担保到期日期必须大于担保生效日期!'))
        //             }
        //             callback()
        //         }
        //     }],
        //     "rmbbop.rmb2122.recgrp.ads.addword": [{
        //         required: true,
        //         message: "必输项"
        //     },
        //         {
        //             max: 128,
        //             message: "长度不能超过128"
        //         }],
        //     "rmbbop.rmb2122.recgrp.ads.reversename": [{
        //         validator: (rule, value, callback) => {
        //             if (_this.model.rmbbop.rmb2122.recgrp.ads.reverseorgcode || _this.model.rmbbop.rmb2122.recgrp.ads.reversecountrycode || _this.model.rmbbop.rmb2122.recgrp.ads.vouchmode) {
        //                 if (!value) {
        //                     return callback(new Error('反担保四个栏位必须同时输入或者同时不输入'))
        //                 }
        //             }
        //             callback()
        //         }
        //     }],
        //     "rmbbop.rmb2122.recgrp.ads.reversecountrycode": [{
        //         validator: (rule, value, callback) => {
        //             if (_this.model.rmbbop.rmb2122.recgrp.ads.reversename || _this.model.rmbbop.rmb2122.recgrp.ads.reverseorgcode || _this.model.rmbbop.rmb2122.recgrp.ads.vouchmode) {
        //                 if (!value) {
        //                     return callback(new Error('反担保四个栏位必须同时输入或者同时不输入'))
        //                 }
        //             }
        //             callback()
        //         }
        //     }],
        //     "rmbbop.rmb2122.recgrp.ads.vouchmode": [{
        //         validator: (rule, value, callback) => {
        //             if (_this.model.rmbbop.rmb2122.recgrp.ads.reversename || _this.model.rmbbop.rmb2122.recgrp.ads.reversecountrycode || _this.model.rmbbop.rmb2122.recgrp.ads.reverseorgcode) {
        //                 if (!value) {
        //                     return callback(new Error('反担保四个栏位必须同时输入或者同时不输入'))
        //                 }
        //             }
        //             callback()
        //         }
        //     }],

        //     "rmbbop.rmb2122.recgrp.ads.guaappname": [{
        //         required: true,
        //         message: "必输项"
        //     }],

        // }
    }

}