import Utils from '~/utils';

/**
 * Gitcom Check规则
 */
let checkObj = {
  'liaall.limmod.limpts.oth.pts.extkey': null,
  'liaall.limmod.ownref': null,
  'liaall.limmod.ecifno': null,
  'liaall.limmod.limpts.oth.pts.nam': null,
  'setmod.dspflg': null,
  'liaall.limmod.limpts.wrk.pts.nam': null,
  'liaall.limmod.limpts.wrk.pts.extkey': null,
  'mtabut.coninf.conexedat': null,
  'liaall.limmod.limpts.nonrevflg1': null,
  'setmod.docamt': null,
  'gitp0.recget.sdamod.dadsnd': [
    { type: 'string', required: false, message: '必输项' },
    { max: 16, message: '长度不能超过16' },
  ],
  'gidgrp.rec.ownref': [
    { type: 'string', required: false, message: '必输项' },
    { max: 16, message: '长度不能超过16' },
  ],
  'gitp0.recget.sdamod.seainf': [
    { type: 'string', required: false, message: '必输项' },
    { max: 3, message: '长度不能超过3' },
  ],
  'gidgrp.rec.nam': [
    { type: 'string', required: false, message: '必输项' },
    { max: 40, message: '长度不能超过40' },
  ],

  'gidgrp.cbs.max.cur': [
    { type: 'string', required: false, message: '必输项' },
    { max: 3, message: '长度不能超过3' },
  ],
  'gidgrp.cbs.max.amt': [
    { type: 'string', required: false, message: '必输项' },
    { max: 18, message: '整数位不能超过14位' },
    {
      pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/,
      message: '小数位不能超过3位',
    },
  ],
  'gidgrp.apl.pts.nam': [
    { type: 'string', required: false, message: '必输项' },
    { max: 40, message: '长度不能超过40' },
  ],
  'gidgrp.cbs.opn1.cur': [
    { type: 'string', required: false, message: '必输项' },
    { max: 3, message: '长度不能超过3' },
  ],
  'gidgrp.cbs.opn1.amt': [
    { type: 'string', required: false, message: '必输项' },
    { max: 18, message: '整数位不能超过14位' },
    {
      pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/,
      message: '小数位不能超过3位',
    },
  ],

  'gidgrp.ben.pts.nam': [
    { type: 'string', required: false, message: '必输项' },
    { max: 40, message: '长度不能超过40' },
  ],

  'gidgrp.ctr.pts.nam': [
    { type: 'string', required: false, message: '必输项' },
    { max: 40, message: '长度不能超过40' },
  ],

  'gidgrp.rec.expdat': [
    { type: 'date', required: false, message: '输入正确的日期' },
  ],

  'gidgrp.rec.liadat': [
    { type: 'date', required: false, message: '输入正确的日期' },
  ],

  'gidgrp.iss.pts.nam': [
    { type: 'string', required: false, message: '必输项' },
    { max: 40, message: '长度不能超过40' },
  ],
  'setmod.refdat': [
    { type: 'date', required: false, message: '输入正确的日期' },
  ],
  'setmod.ref': [
    { type: 'string', required: false, message: '必输项' },
    { max: 16, message: '长度不能超过16' },
  ],

  'setmod.docamt': [
    { type: 'number', required: false, message: '必输项' },
    { max: 18, message: '整数位不能超过14位' },
    {
      pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/,
      message: '小数位不能超过3位',
    },
  ],

  'setmod.zmqacc': [
    { type: 'string', required: false, message: '必输项' },
    { max: 20, message: '长度不能超过20' },
  ],

  'mtabut.coninf.oitinf.oit.inftxt': [
    { type: 'string', required: true, message: '必输项' },
    { max: 60, message: '长度不能超过60' },
  ],

  'mtabut.coninf.oitset.oit.inftxt': [
    { type: 'string', required: true, message: '必输项' },
    { max: 60, message: '长度不能超过60' },
  ],

  'mtabut.coninf.conexedat': [
    { type: 'date', required: false, message: '输入正确的日期' },
  ],
  'mtabut.coninf.usr.extkey': [
    { type: 'string', required: false, message: '必输项' },
    { max: 8, message: '长度不能超过8' },
  ],

  'trnmod.trndoc.advnam': [
    { type: 'string', required: false, message: '必输项' },
    { max: 50, message: '长度不能超过50' },
  ],
  'trnmod.trndoc.amdapl': [
    { type: 'string', required: true, message: '必输项' },
    { max: 50, message: '长度不能超过50' },
  ],

  'trnmod.trndoc.advdoc': [
    { type: 'string', required: false, message: '必输项' },
    { max: 1, message: '长度不能超过1' },
  ],
  'trnmod.trndoc.filrecv': [
    { type: 'string', required: false, message: '必输项' },
    { max: 16, message: '长度不能超过16' },
  ],
  'trnmod.trndoc.doctrestm': [
    { type: 'string', required: false, message: '必输项' },
    { max: 1, message: '长度不能超过1' },
  ],

  'trnmod.trndoc.condocstm': [
    { type: 'string', required: false, message: '必输项' },
    { max: 1, message: '长度不能超过1' },
  ],
  'trnmod.trndoc.rcvatt.seainf': [
    { type: 'string', required: false, message: '必输项' },
    { max: 3, message: '长度不能超过3' },
  ],
  'liaall.limmod.ecifno': [
    { type: 'string', required: false, message: '必输项' },
    { max: 22, message: '长度不能超过22' },
  ],

  'liaall.limmod.ownref': [
    { type: 'string', required: false, message: '必输项' },
    { max: 16, message: '长度不能超过16' },
  ],
  'liaall.limmod.wrkp.ptsget.sdamod.dadsnd': [
    { type: 'string', required: false, message: '必输项' },
    { max: 16, message: '长度不能超过16' },
  ],
  'liaall.limmod.othp.ptsget.sdamod.dadsnd': [
    { type: 'string', required: false, message: '必输项' },
    { max: 16, message: '长度不能超过16' },
  ],
  'liaall.limmod.limpts.wrk.pts.extkey': [
    { type: 'string', required: false, message: '必输项' },
    { max: 16, message: '长度不能超过16' },
  ],
  'liaall.limmod.wrkp.ptsget.sdamod.seainf': [
    { type: 'string', required: false, message: '必输项' },
    { max: 3, message: '长度不能超过3' },
  ],

  'liaall.limmod.limpts.oth.pts.extkey': [
    { type: 'string', required: false, message: '必输项' },
    { max: 16, message: '长度不能超过16' },
  ],
  'liaall.limmod.othp.ptsget.sdamod.seainf': [
    { type: 'string', required: false, message: '必输项' },
    { max: 3, message: '长度不能超过3' },
  ],

  'liaall.limmod.comamt': [
    { type: 'number', required: false, message: '必输项' },
    { max: 18, message: '整数位不能超过14位' },
    {
      pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/,
      message: '小数位不能超过3位',
    },
  ],
  'liaall.limmod.limpts.wrk.pts.nam': [
    { type: 'string', required: false, message: '必输项' },
    { max: 40, message: '长度不能超过40' },
  ],
  'liaall.limmod.limpts.oth.pts.nam': [
    { type: 'string', required: false, message: '必输项' },
    { max: 40, message: '长度不能超过40' },
  ],
  'liaall.limmod.ccvamt': [
    { type: 'number', required: false, message: '必输项' },
    { max: 18, message: '整数位不能超过14位' },
    {
      pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/,
      message: '小数位不能超过3位',
    },
  ],

  'liaall.limmod.limpts.pfcod1': [
    { type: 'string', required: false, message: '必输项' },
    { max: 14, message: '长度不能超过14' },
  ],
  'liaall.limmod.limpts.pfcod2': [
    { type: 'string', required: false, message: '必输项' },
    { max: 14, message: '长度不能超过14' },
  ],
};

for (const key in checkObj) {
  if (Object.hasOwnProperty.call(checkObj, key)) {
    checkObj[key] = checkObj[key] ? checkObj[key] : Utils.reflectCheck(key);
  }
}
export default checkObj;