import Api from '~/service/Api'; import * as BopTools from '../utils/BopTools' export default function () { return { "recgrp.bas.actiontype": [ { type: "string", required: true, message: "必输项" }, ], "recgrp.bas.actiondesc": [ { type: "string", required: this.model.recgrp.bas.actiontype === 'D', message: "必输项" }, ], "recgrp.bas.buscode": [ { type: "string", required: true, message: "必输项" }, ], "recgrp.bas.custcod": [ { type: "string", required: this.model.recgrp.bas.custype == 'C', message: "必输项" }, ], "recgrp.bas.custnm": [ { type: "string", required: true, message: "必输项" }, ], "recgrp.bas.custype": [ { type: "string", required: true, message: "此栏位为必输项!" }, { validator: (rule, value, callback) => { if(BopTools.startsWithValueUpper.call(this,this.trnName,"-DBA-DBB-DBC-")&&this.model.recgrp.bas.oppuser.startsWith("(JN)")&& BopTools.indexGt.call(this,value,"-F-")){ return callback(new Error("53:交易对方名称以“(JN)”开头,申报主体类型不能为“对私非居民”")) } } } ], "recgrp.bas.exrate": [ { validator: (rule, value, callback) => { if (!isNaN(value)) { if (Number(value) == 0) { if (Number(this.model.recgrp.bas.lcyamt) > 0) { return callback(new Error("汇率必须大于0!")) } } else { if (Number(this.model.recgrp.bas.lcyamt) == 0) { return callback(new Error("此栏位必须为零!")) } } } else { return callback(new Error("请重新录入")) } callback() } }, ], "recgrp.bas.fcyacc": [ { type: "string", required: Number(this.model.recgrp.bas.fcyamt) != 0, message: "必输项" }, { validator: (rule, value, callback) => { if (!value && value !='' && Number(this.model.recgrp.bas.fcyamt) == 0) { return callback(new Error("此栏位必须为空!")) } callback() } } ], "recgrp.bas.fcyamt": [ { validator: (rule, value, callback) => { if (!isNaN(value)) { if (Number(value) == 0) { if (this.model.recgrp.bas.fcyacc && this.model.recgrp.bas.txccy != 'CNY') { return callback(new Error("现汇金额必须大于0")) } } else if (Number(value) < 0) { return callback(new Error("金额不能小于0")) } } else { return callback(new Error("请重新输入")) } callback() } } ], "recgrp.bas.idcode": [ { type: "string", required: this.model.recgrp.bas.custype !== 'C', message: "必输项" }, { validator: (rule, value, callback) => { if (this.model.recgrp.bas.custype == 'C' && value) { return callback(new Error("74:申报主体类型为“对公居民”或“对公非居民”,但个人身份证件号码不为空")) } callback() } } ], "recgrp.bas.lcyacc": [ { type: "string", required: Number(this.model.recgrp.bas.lcyamt)!=0, message: "必输项" }, { validator: (rule, value, callback) => { if (value && Number(this.model.recgrp.bas.lcyamt) == 0) { return callback(new Error("此栏位必须为空")) } callback() } } ], "recgrp.bas.lcyamt": [ { validator: (rule, value, callback) => { if (!isNaN(value)) { if (Number(value) == 0) { if ((Number(this.model.recgrp.bas.exrate) != 0 || this.model.recgrp.bas.lcyacc) && this.model.recgrp.bas.txccy !== 'CNY') { return callback(new Error("此金额必须大于0")) } } else if (Number(value) < 0) { return callback(new Error("金额不能小于0")) } } else { return callback(new Error("请重新输入")) } callback() } } ], "recgrp.bas.method": [ { type: "string", required: true, message: "必输项" }, ], "recgrp.bas.oppuser": [ { type: "string", required: true, message: "此栏位为必输项!" }, { validator: (rule, value, callback) => { if (BopTools.startsWithValueUpper.call(this,this.trnName,"-DBA-DBB-DBC-")){ if (value && !value.match(/(\(JN\)|\(JW\))(.)+/g)){ return callback(new Error("请填写以(JW)或(JN)打头的收/付款人名称")) } } if (BopTools.startsWithValueUpper.call(this,this.trnName,"-DBA-DBB-")){ if (this.model.recgrp.bas.custype!='C' && value && !/(\(JN\)|\(JW\))(.)+\[acc:(.)+\]/g.test(value)){ return callback(new Error("请填写\"(JW)aa[acc:账号]\"格式或\"(JN)aa[acc:账号]\"格式的账号")) } } } } ], "recgrp.bas.othacc": [ { type: "string", required: Number(this.model.recgrp.bas.othamt) != 0, message: "必输项" }, { validator: (rule, value, callback) => { if (value && Number(this.model.recgrp.bas.othamt) == 0) { return callback(new Error("此栏位必须为空")) } callback() } } ], "recgrp.bas.othamt": [ { validator: (rule, value, callback) => { if (!isNaN(value)) { if (this.model.recgrp.bas.txccy == "CNY" && (Number(value) == 0 || Number(this.model.recgrp.bas.lcyamt) > 0 || Number(this.model.recgrp.bas.fcyamt) > 0)) { return callback(new Error("61:币种为人民币,但“其他金额”为“0”或空(无数据),或“结汇金额”、“现汇金额”大于“0”")) } if (Number(value) < 0) { return callback(new Error("金额不能小于0")) } } else { return callback(new Error("请重新输入")) } callback() } }, ], "recgrp.bas.ownextkey": [ { type: "string", required: true, message: "必输项" }, ], "recgrp.bas.rptno": [ { type: "string", required: true, message: "必输项" }, ], "recgrp.bas.txamt": [ { validator: (rule, value, callback) => { if (!isNaN(value)) { if (Number(value) < 0) { return callback(new Error("金额不能小于0")) } } else { return callback(new Error("请重新输入")) } callback() } }, ], } }