check.js 4.72 KB
Newer Older
fukai committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
import Utils from "~/utils"
import BigNumber from "bignumber.js";

/**
* Dbazxb Check规则
*/
export default {
  data() {
    return {
      rules: {
        "recgrp.rec.agreementno": [
          { type: "string", required: true, message: "必输项" },
          { max: 60, message: "长度不能超过60" }
        ],
        "recgrp.rec.amt": [
          {
            validator: (rule, value, callback) => {
              if (this.model.recgrp.rec.amt == "") {
                callback(new Error('必输项'));
              } else {
                if (this.model.recgrp.rec.rcvtotamt != "") {
                  if (new BigNumber(this.model.recgrp.rec.amt).comparedTo(new BigNumber(this.model.recgrp.rec.rcvtotamt)) > 0) {
                    callback(new Error('融资申请金额应小于等于应收账款金额'));
                  }
                }
                if (this.model.recpan.bgdamt != "") {
                  if (new BigNumber(this.model.recgrp.rec.amt).comparedTo(new BigNumber(this.model.recpan.bgdamt)) > 0) {
                    callback(new Error('融资申请金额应小于等于报关单汇总金额'));
                  }
                }
              }
              callback();
            },
            trigger: ['change', 'blur']
          },
        ],
        "recgrp.rec.cliextkey": [
          { type: "string", required: true, message: "必输项" },
          { max: 10, message: "长度不能超过10" }
        ],
        "recgrp.rec.clinam": [
          { type: "string", required: true, message: "必输项" },
          { max: 100, message: "长度不能超过49" }
        ],
        "recgrp.rec.conenddat": [
          { type: "string", required: true, message: "必输项" }
        ],
        "recgrp.rec.cur": [
          { type: "string", required: true, message: "必输项" },
        ],
        "recgrp.rec.custcode": [
          { type: "string", required: true, message: "必输项" },
          { max: 32, message: "长度不能超过32" }
        ],
        "recgrp.rec.finloaamt": [
          {
            validator: (rule, value, callback) => {
              if (this.model.recgrp.rec.finloaamt == "") {
                callback(new Error('必输项'));
              }
              callback();
            },
            trigger: ['change', 'blur']
          },
        ],
        "recgrp.rec.loadat": [
          { type: "string", required: true, message: "必输项" },
        ],
        "recgrp.rec.loalimday": [
          {
            validator: (rule, value, callback) => {
              if (this.model.recgrp.rec.loalimday == "") {
                callback(new Error('必输项'));
              }
              callback();
            },
            trigger: ['change', 'blur']
          },
        ],
        "recgrp.rec.noticeid": [
          {
            validator: (rule, value, callback) => {
              if (this.model.recgrp.rec.xxcbflg == "Y" && this.model.recgrp.rec.noticeid == "") {
                callback(new Error('必输项'));
              }
              callback();
            },
            trigger: ['change', 'blur']
          },
        ],
        "recgrp.rec.ownbchcod": [
          { type: "string", required: true, message: "必输项" },
        ],
        "recgrp.rec.policyno": [
          { type: "string", required: true, message: "必输项" },
          { max: 25, message: "长度不能超过25" }
        ],
        "recgrp.rec.policytype": [
          { type: "string", required: true, message: "必输项" },
        ],
        "recgrp.rec.rcvtotamt": [
          {
            validator: (rule, value, callback) => {
              if (value == "") {
                callback(new Error('必输项'));
              }
              let rcvtotamt = new BigNumber("0");
              for (let i = 0; i < this.model.recgrp.inelst.length; i++) {
                rcvtotamt = rcvtotamt.plus(new BigNumber(this.model.recgrp.inelst[i].amt))
              }
              if (new BigNumber(value).comparedTo(rcvtotamt) > 0) {
                callback(new Error("应收账总金额不能超过发票总金额"));
              }
              callback();
            },
            trigger: ['change', 'blur']
          },
        ],
        "recgrp.rec.rcvtotcur": [
          {
            validator: (rule, value, callback) => {
              if (value == "") {
                callback(new Error('必输项'));
              }
              for (let i = 0; i < this.model.recpan.danlst.length; i++) {
                if (value != this.model.recpan.danlst[i].cur) {
                  callback(new Error("与承包通知书关联的发票币种不一致"));
                }
              }
              callback();
            },
            trigger: ['change', 'blur']
          },
        ],
      }
    }
  }
}