import Api from '~/service/Api';
import * as BopTools from  '../utils/BopTools'

export default function () {
  return {
    "recgrp.dcl.actiondesc": [
      { type: "string", required: this.model.recgrp.dcl.actiontype === 'D', message: "修改/删除原因为必输项" },
    ],
    "recgrp.dcl.actiontype": [
      { type: "string", required: true, message: "必输项" },
    ],
    "recgrp.dcl.country": [
      { type: "string", required: true, message: "必输项" },
      {
        validator: async (rule, value, callback) => {
          if(value.length>3){
            return callback(new Error("长度最大为3位"))
          }
          callback();
        },
        trigger:['change']
      }
    ],
    "recgrp.dcl.crtuser": [
      { type: "string", required: true, message: "必输项" },
    ],
    "recgrp.dcl.inptelc": [
      { type: "string", required: true, message: "必输项" },
    ],
    "recgrp.dcl.isref": [
      { type: "string", required: true, message: "必输项" },
    ],
    "recgrp.dcl.paytype": [
      {
        validator: (rule, value, callback) => {
          let inifrm = this.trnName;
          if (!(inifrm.startsWith("dba") && BopTools.indexGt(this.model.recgrp.bas.custype, "-D-F-"))) {
            if (!value) {
              return callback(new Error("必输项"))
            }
          }
          if (value == 'R' && (!this.model.recgrp.dcl.tx2rem.includes("退") && !this.model.recgrp.dcl.txrem.includes("退"))) {
            return callback(new Error("81:收/付款类型为“退款”,但交易附言中不包含“退”字样"))
          }
          if (BopTools.indexGt(value, "-A-P-") && this.model.recgrp.dcl.txcode) {
            if (!this.model.recgrp.dcl.txcode.startsWith("1") && !this.model.recgrp.dcl.txcode.startsWith("2") && this.model.recgrp.dcl.txcode != '822030') {
              if (!this.model.recgrp.dcl.txcode2 || !this.model.recgrp.dcl.txcode2.startsWith("1") && !this.model.recgrp.dcl.txcode2.startsWith("2") && this.model.recgrp.dcl.txcode2 != '822030') {
                return callback(new Error("86:收/付款类型为“预收货款”或“预付货款”或“货到付款”,但交易编码不是以“1货物贸易”开头或不是“2服务贸易”开头。剔除交易编码为“822030”的数据。"))
              }
            }
          }
          callback()
        }
      }
    ],
    "recgrp.dcl.rptdate": [
      { type: "string", required: true, message: "必输项" },
    ],
    "recgrp.dcl.rptno": [
      { type: "string", required: true, message: "必输项" },
    ],
    "recgrp.dcl.tc1amt": [
      {
        validator: (rule, value, callback) => {
          if (!isNaN(value)) {
            if (this.model.recgrp.dcl.txcode != '999998' && Number(value)==0) {
              return callback(new Error("必输项"))
            }
          } else {
            return callback(new Error("请重新输入"))
          }
          callback()
        }
      }
    ],
    "recgrp.dcl.tc2amt": [
      {
        validator: (rule, value, callback) => {
          if (!isNaN(value)) {
            if ((this.model.recgrp.dcl.txcode2 || this.model.recgrp.dcl.tx2rem) && this.model.recgrp.dcl.txcode2 != "999998" && Number(value)==0) {
              return callback(new Error("必输项"))
            }
          } else {
            return callback(new Error("请重新输入"))
          }
          callback()
        }
      }
    ],
    "recgrp.dcl.tx2rem": [
      { type: "string", required: this.model.recgrp.dcl.txcode2, message: "必输项" },
      //{ type: "string", required: true, message: "必输项" },
      {
        validator: (rule, value, callback) => {
          if (value == this.model.recgrp.dcl.txrem) {
            return callback(new Error("交易附言2不能与交易附言1相同!"))
          }
          callback()
        }
      }
    ],
    "recgrp.dcl.txcode": [
      { type: "string", required: true, message: "必输项" },
    ],
    "recgrp.dcl.txcode2": [
      { type: "string", required: this.model.recgrp.dcl.tx2rem || Number(this.model.recgrp.dcl.tc2amt)!=0, message: "必输项" },
      //{ type: "string", required: true, message: "必输项" },
      {
        validator: (rule, value, callback) => {
          if (this.model.recgrp.dcl.txcode && this.model.recgrp.dcl.txcode == value) {
            return callback(new Error("不能与交易编码1相同!"))
          }
          callback()
        }
      }
    ],
    "recgrp.dcl.txrem": [
      { type: "string", required: true, message: "必输项" },
    ],

  }
}