check.js 7.88 KB
import BigNumber from "bignumber.js";
import {checkRuleOfTDN} from "RcpmisRules"

export default class Rmb2106Check {
    constructor(_this) {
        let thiz = {model: _this.model.rmbbop.rmb2106, root: _this, isCom: true};
        let checks = checkRuleOfTDN().call({module: "TDNCOM"}).call(thiz, _this, null, BigNumber);
        let target = {};
        //映射路径
        Object.keys(checks).forEach(key => target['rmbbop.rmb2106.' + key] = checks[key]);
        this.check = target;
        // this.check = {
        //     "rmbbop.rmb2106.recgrp.ads.entrustbankorgcode": [
        //         {
        //             validator: (rule, value, callback) => {
        //                 const dkflg = _this.model.lidgrp && _this.model.lidgrp.rec && _this.model.lidgrp.rec.dkflg;
        //                 if (dkflg === "X" && !value) {
        //                     callback(new Error('必输项'));
        //                 }
        //                 //校验通过
        //                 callback();
        //
        //             }, trigger: 'blur'
        //         }
        //     ],
        //     "rmbbop.rmb2106.recgrp.ads.transattr": [
        //         {
        //             validator: (rule, value, callback) => {
        //                 const transtype = _this.model.rmbbop.rmb2106.recgrp.ads.transtype;
        //                 if (transtype !== "2001" && !value) {
        //                     callback(new Error('必输项'));
        //                 }
        //                 //校验通过
        //                 callback();
        //
        //             }, trigger: 'blur'
        //         }
        //     ],
        //     "rmbbop.rmb2106.recgrp.ads.transtype": [
        //         {required: true, message: "必输项"}
        //     ],
        //     "rmbbop.rmb2106.recgrp.ads.forbankswiftbic": [
        //         {
        //             pattern: /^[A-Z]{6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3})?$/,
        //             message: "11位境外银行SWIFT BIC填写错误",
        //             trigger: 'blur'
        //         }
        //     ],
        //     "rmbbop.rmb2106.recgrp.ads.importername": [
        //         {required: true, message: "必输项"},
        //         {max: 124, message: "长度不能超过124"}
        //     ],
        //     "rmbbop.rmb2106.recgrp.ads.impcountrycode": [
        //         {required: true, message: "必输项"},
        //         {
        //             validator: (rule, value, callback) => {
        //                 const expcountrycode = _this.model.rmbbop.rmb2106.recgrp.ads.expcountrycode;
        //                 if (expcountrycode === "CHN" && value === "CHN") {
        //                     return callback(new Error('进口商、出口商国别地区代码不能同时为中国'));
        //                 }
        //                 //校验通过
        //                 callback();
        //
        //             }, trigger: ['blur', 'change']
        //         }
        //     ],
        //     "rmbbop.rmb2106.recgrp.ads.importercode": [
        //         {required: _this.model.rmbbop.rmb2106.recgrp.ads.impcountrycode === "CHN", message: "必输项"},
        //         {
        //             validator: (rule, value, callback) => {
        //                 if (_this.model.rmbbop.rmb2106.recgrp.ads.impcountrycode === "CHN") {
        //                     // 校验长度为9或18位
        //                     if (![9, 18].includes(value.length)) {
        //                         return callback(new Error('填写9位组织机构代码或18位统一社会信用代码'));
        //                     }
        //                     // 校验只包含大写字母和数字
        //                     if (!/^[A-Z0-9]+$/.test(value)) {
        //                         return callback(new Error('输入必须只包含大写字母和数字'));
        //                     }
        //                 }
        //                 //校验通过
        //                 callback();
        //
        //             }, trigger: ['blur', 'change']
        //         }
        //     ],
        //     "rmbbop.rmb2106.recgrp.ads.exportername": [
        //         {required: true, message: "必输项"},
        //         {max: 124, message: "长度不能超过124"}
        //     ],
        //     "rmbbop.rmb2106.recgrp.ads.expcountrycode": [
        //         {required: true, message: "必输项"}
        //     ],
        //     "rmbbop.rmb2106.recgrp.ads.exportercode": [
        //         {required: _this.model.rmbbop.rmb2106.recgrp.ads.expcountrycode === "CHN", message: "必输项"},
        //         {
        //             validator: (rule, value, callback) => {
        //                 if (_this.model.rmbbop.rmb2106.recgrp.ads.expcountrycode === "CHN") {
        //                     // 校验长度为9或18位
        //                     if (![9, 18].includes(value.length)) {
        //                         return callback(new Error('填写9位组织机构代码或18位统一社会信用代码'));
        //                     }
        //                     // 校验只包含大写字母和数字
        //                     if (!/^[A-Z0-9]+$/.test(value)) {
        //                         return callback(new Error('输入必须只包含大写字母和数字'));
        //                     }
        //                 }
        //                 //校验通过
        //                 callback();
        //
        //             }, trigger: ['blur', 'change']
        //         }
        //     ],
        //     "rmbbop.rmb2106.recgrp.ads.occurdate": [
        //         {required: true, message: "必输项"},
        //         {
        //             validator: (rule, value, callback) => {
        //                 const enddate = _this.model.rmbbop.rmb2106.recgrp.ads.enddate;
        //                 if (enddate !== '' && value >= enddate) {
        //                     callback(new Error('业务发生日期必须小于业务到期日'));
        //                 } else {
        //                     callback();
        //                 }
        //             }
        //         }
        //     ],
        //     "rmbbop.rmb2106.recgrp.ads.enddate": [
        //         {required: true, message: "必输项"}
        //     ],
        //     "rmbbop.rmb2106.recgrp.ads.creditenddate": [
        //         {
        //             validator: (rule, value, callback) => {
        //                 const transtype = _this.model.rmbbop.rmb2106.recgrp.ads.transtype;
        //                 if (transtype === "1001" && !value) {
        //                     callback(new Error('必输项'));
        //                 }
        //                 //校验通过
        //                 callback();
        //
        //             }, trigger: 'blur'
        //         }
        //     ],
        //     "rmbbop.rmb2106.recgrp.ads.currencycode": [
        //         {required: true, message: "必输项", trigger: 'blur'}
        //     ],
        //     "rmbbop.rmb2106.recgrp.ads.amt": [
        //         {
        //             validator: (rule, value, callback) => {
        //                 if (value <= 0) {
        //                     return callback(new Error('必输项'))
        //                 }
        //                 callback()
        //             }, trigger: 'blur'
        //         }
        //     ],
        //     "rmbbop.rmb2106.recgrp.ads.termtype": [
        //         {required: true, message: "必输项"}
        //     ],
        //     "rmbbop.rmb2106.recgrp.ads.actiondesc": [
        //         {required: _this.model.rmbbop.rmb2106.recgrp.ads.opertype !== "1", message: "必输项"},
        //     ],
        //     "rmbbop.rmb2106.recgrp.ads.addword": [
        //         {required: true, message: "必输项"},
        //         {max: 128, message: "长度不能超过128"}
        //     ],
        // }
    }
}