import moment from "moment";
import BigNumber from "bignumber.js";
import {checkRuleOfTDN} from "RcpmisRules"

export default {
    data() {
        return {
            rules: {
                ...checkRuleOfTDN().call({module: "TDNAME"}).call(this, this, moment, BigNumber),
                // "pblmod.pbl.reldat": [{
                //     validator: (rule, value, callback) => {
                //         if (!value) {
                //             callback(new Error('请输入业务发生日期'))
                //         }
                //         const currentDate = new Date().toISOString().slice(0, 10);
                //         if (value > currentDate) {
                //             callback(new Error('业务发生日期不得晚于系统日期!'))
                //         } else {
                //             callback()
                //         }
                //     },
                //     trigger: 'blur'
                // }],
                // "rmbbut.ownextkey": [{
                //     required: true,
                //     message: '必输项'
                // }],
                // "recgrp.ads.levyno": [
                //     {type: "string", required: true, message: "必输项"}
                // ],
                // "recgrp.ads.addword": [
                //     {type: "string", required: true, message: "必输项"}
                // ],
                //
                // "recgrp.ads.amt": [
                //     {required: true, message: '必输项'},
                //     {
                //         validator: (rule, value, callback) => {
                //             if (value <= 0) {
                //                 callback(new Error('金额必须大于0'))
                //             }
                //             callback()
                //         }
                //     }
                // ],
                //
                // "recgrp.ads.banktrano": [
                //     {
                //         validator: (rule, value, callback) => {
                //             if (this.model.pblmod.dectyp !== "V" && !value) {
                //                 callback(new Error('必输项'))
                //             }
                //             callback()
                //         }
                //     },
                //     {max: 22, message: "长度不能超过22"}],
                //
                // "recgrp.ads.transtype": [{
                //     required: true,
                //     message: '必输项'
                // }
                //     // {validator:(rule,value,callback)=>{
                //     //   if(this.model.pblmod.dectyp != "" && this.model.pblmod.dectyp == "M" && this.model.recgrp.ads.opertype=="1"){
                //     //     if(value!=""){
                //     //       if(value != "2001"){
                //     //         if(this.model.tek.length >0){
                //     //            callback(new Error('业务类型与节点信息不匹配'))
                //     //         }
                //     //         callback()
                //     //       }else{
                //     //         if(value =="1001" && this.model.recgrp.ads.termtype=="02"){}
                //     //         else{
                //     //           if(this.model.tej.length>0){
                //     //              callback(new Error('业务类型与节点信息不匹配'))
                //     //           }
                //     //           callback()
                //     //         }
                //     //       }
                //     //     }
                //     //   }
                //     // }}
                // ],
                //
                //
                // "recgrp.ads.creditenddate": [{
                //     validator: (rule, value, callback) => {
                //         if (this.model.recgrp.ads.transtype === '1001' && !value) {
                //             callback(new Error('业务类型为信用证业务时必填'))
                //         }
                //         callback()
                //     }
                // }],
                //
                // "recgrp.ads.currencycode": [{
                //     required: true,
                //     message: '必输项'
                // }],
                //
                //
                // "recgrp.ads.enddate": [
                //     {required: true, message: '必输项'},
                // ],
                //
                // "recgrp.ads.expcountrycode": [{
                //     required: true,
                //     message: '必输项'
                // }],
                //
                //
                // "recgrp.ads.exportername": [{
                //     required: true,
                //     message: '必输项'
                // }],
                //
                // "recgrp.ads.forbankswiftbic": [
                //     {
                //         pattern: /^[A-Z]{6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3})?$/,
                //         message: "11位境外银行SWIFT BIC填写错误",
                //         trigger: 'blur'
                //     }
                // ],
                //
                // // "recgrp.ads.forbankswiftbic": [
                // //     {
                // //         validator: (rule, value, callback) => {
                // //           if (value!="") {
                // //             // if (value.length > 0 && value.length !== 8 && value.length !== 11) {
                // //             //    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) {
                // //                  callback(new Error('请填写11位境外银行SWIFT BIC'))
                // //               }
                // //             }
                // //             if (letter.indexOf(bic[6]) == -1 && '23456789'.indexOf(bic[6]) == -1) {
                // //                callback(new Error('请填写11位境外银行SWIFT BIC'));
                // //             }
                // //             if (num.indexOf(bic[7]) == -1 && 'ABCDEFGHIJKLMNPQRSTUVWXYZ'.indexOf(bic[7]) == -1) {
                // //                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) {
                // //                    callback(new Error('请填写11位境外银行SWIFT BIC'))
                // //                 }
                // //               }
                // //             }
                // //           }
                // //           callback()
                // //         }
                // //     }],
                //
                // "recgrp.ads.impcountrycode": [{
                //     required: true,
                //     message: '必输项'
                // },
                //     {
                //         validator: (rule, value, callback) => {
                //             if (value !== "") {
                //                 if (value === "CHN" && this.model.recgrp.ads.expcountrycode === "CHN") {
                //                     callback(new Error('进口商、出口商国别地区代码不能同时为中国'))
                //                 } else {
                //                     callback()
                //                 }
                //             } else {
                //                 callback()
                //             }
                //         }
                //     }
                // ],
                //
                // "recgrp.ads.importercode": [
                //     // {type: "string", required: true, message: "必输项"},
                //     {max: 18, message: "若存在18位的统一社会信用代码则填写统一社会信用代码,否则填写9位企业机构代码"},
                //     {
                //         pattern: /[A-Z0-9]$/,
                //         message: "仅支持数字和大写字母",
                //     },
                //     {
                //         validator: (rule, value, callback) => {
                //             if (value === "") {
                //                 if (this.model.recgrp.ads.impcountrycode === "CHN") {
                //                     callback(new Error('必输项'))
                //                 } else {
                //                     callback()
                //                 }
                //             } else {
                //                 if (value.length === 9 || value.length === 18) {
                //                     callback();
                //                 } else {
                //                     callback(new Error('填写9位组织机构代码或18位统一社会信用代码'));
                //                 }
                //             }
                //
                //         }
                //     }
                // ],
                //
                // "recgrp.ads.exportercode": [
                //     // {type: "string", required: true, message: "必输项"},
                //     {max: 18, message: "若存在18位的统一社会信用代码则填写统一社会信用代码,否则填写9位企业机构代码"},
                //     {
                //         pattern: /[A-Z0-9]$/,
                //         message: "仅支持数字和大写字母",
                //     },
                //     {
                //         validator: (rule, value, callback) => {
                //             if (this.model.recgrp.ads.expcountrycode === "CHN") {
                //                 if (!value) {
                //                     callback(new Error('必输项'));
                //                 }
                //                 // 校验长度为9或18位
                //                 if (![9, 18].includes(value.length)) {
                //                     callback(new Error('填写9位组织机构代码或18位统一社会信用代码'));
                //                 }
                //                 // 校验只包含大写字母和数字
                //                 if (!/^[A-Z0-9]+$/.test(value)) {
                //                     callback(new Error('输入必须只包含大写字母和数字'));
                //                 }
                //             }
                //             //校验通过
                //             callback();
                //         }
                //     }
                // ],
                //
                // "recgrp.ads.importername": [{
                //     required: true,
                //     message: '必输项'
                // }],
                //
                // "recgrp.ads.occurdate": [
                //     {required: true, message: '必输项'},
                //     {
                //         validator: (rule, value, callback) => {
                //             const enddate = this.model.recgrp.ads.enddate;
                //             if (enddate !== '' && value >= enddate) {
                //                 callback(new Error('业务发生日期必须小于业务到期日'));
                //             } else {
                //                 callback();
                //             }
                //         }, trigger: 'blur'
                //     }
                // ],
                //
                // "recgrp.ads.termtype": [{
                //     required: true,
                //     message: '必输项'
                // }],
                //
                // "recgrp.ads.transattr": [{
                //     validator: (rule, value, callback) => {
                //         if (this.model.recgrp.ads.transtype !== '2001' && !value) {
                //             callback(new Error('必输项'))
                //         }
                //         callback()
                //     }
                // }],
                // "recgrp.ads.actiondesc": [{
                //     validator: (rule, value, callback) => {
                //         let opertype = this.model.recgrp.ads.opertype;
                //         if (opertype === '2' || opertype === '3') {
                //             if (!value) {
                //                 return callback(new Error('必输项'))
                //             }
                //         }
                //         callback()
                //     }
                // }]

            }

        }
    }
}