Elements-SY

modify

export const inputBlurValidate = {
data() {
return {
queryForm: {
minWeight: "",
maxWeight: "",
minNumOfPieces: "",
maxNumOfPieces: "",
},
validateForm: true,
};
},
methods: {
// 最小件数失焦事件
inputBlurMinPieces({ target }) {
this.validateNumOfPieces(target.value, "minNumOfPieces");
},
// 最大件数失焦事件
inputBlurMaxPieces({ target }) {
this.validateNumOfPieces(target.value, "maxNumOfPieces");
},
// 最小重量失焦事件
inputBlurMinWeight({ target }) {
this.validateWeight(target.value, "minWeight");
},
// 最大重量失焦事件
inputBlurMaxWeight({ target }) {
this.validateWeight(target.value, "maxWeight");
},
// 最小申报价值
inputBlurMin({ target }, customVal) {
this.validateCustomVal(target.value, customVal);
},
// 最大申报价值
inputBlurMax({ target }, customVal) {
this.validateCustomVal(target.value, customVal);
},
// 校验件数方法 【件数可以为空但件数不得为0】只能输入正整数
validateNumOfPieces(value, pieces) {
if (value.toString().length) {
// 获取当前输入框有值的情况下
this.queryForm[pieces] = Number(value);
let markPieces = false;
if (pieces == "minNumOfPieces" || pieces == "maxNumOfPieces") {
// 最大件数和最小件数都不为空的情况下
if (
this.queryForm.minNumOfPieces.toString() != "" &&
this.queryForm.maxNumOfPieces.toString() != ""
) {
this.validateForm = true;
this.$refs.minNumOfPieces.innerHTML = "";
markPieces = true;
} else {
markPieces = false;
}
}
if (/^\d+$/.test(this.queryForm[pieces])) {
if (markPieces) {
//当最大件数和最小件数都不为空的情况下,最大件数小于最小件数的时候
if (this.queryForm.maxNumOfPieces < this.queryForm.minNumOfPieces) {
if (Array.isArray(this.$refs.minNumOfPieces)) {
this.msgError("最小件数不得大于最大件数");
this.validateForm = false;
} else {
this.$refs.minNumOfPieces.innerHTML = "";
this.$refs.minNumOfPieces.innerHTML =
"最小件数不得大于最大件数";
this.validateForm = false;
}
}
//当最大件数和最小件数都不为空的情况下,最大件数和最小件数小于1的时候
else if (
this.queryForm.minNumOfPieces < 1 ||
this.queryForm.maxNumOfPieces < 1
) {
if (Array.isArray(this.$refs.minNumOfPieces)) {
this.msgError("最小件数和最大件数不能小于1");
this.validateForm = false;
} else {
this.$refs.minNumOfPieces.innerHTML = "";
this.$refs.minNumOfPieces.innerHTML =
"最小件数和最大件数不能小于1";
this.validateForm = false;
}
}
//当最大件数和最小件数都不为空的情况下,最大件数和最小件数满足大于1左区间小于等于右区间的时候
else {
this.$refs.minNumOfPieces.innerHTML = "";
this.validateForm = true;
}
} else {
// 当左右区间其中一个有值的情况下
if (value.length) {
if (Number(value) < 1) {
if (Array.isArray(this.$refs.minNumOfPieces)) {
this.msgError("件数不得小于1");
this.$refs.minNumOfPieces.innerHTML = "";
this.$refs.minNumOfPieces.innerHTML = "件数不得小于1";
this.validateForm = false;
} else {
this.msgError("件数不得小于1");
this.$refs.minNumOfPieces.innerHTML = "";
this.$refs.minNumOfPieces.innerHTML = "件数不得小于1";
this.validateForm = false;
}
} else {
if (!Array.isArray(this.$refs.minNumOfPieces)) {
this.$refs.minNumOfPieces.innerHTML = "";
this.validateForm = true;
}
}
}
}
} else {
if (Array.isArray(this.$refs.minNumOfPieces)) {
this.msgError("请输入有效件数");
} else {
this.$refs.minNumOfPieces.innerHTML = "";
this.$refs.minNumOfPieces.innerHTML = "请输入有效件数";
}
this.validateForm = false;
}
} else {
// 【左右区间不是都有值的情况下】
// 最小件数为空最大件数有值的情况下
if (pieces == "minNumOfPieces" && this.queryForm.maxNumOfPieces > 0) {
this.$refs.minNumOfPieces.innerHTML = "";
this.validateForm = true;
} else {
this.$refs.minNumOfPieces.innerHTML = "";
this.$refs.minNumOfPieces.innerHTML = "最大件数不得小于1";
this.validateForm = false;
}
// 最大件数为空最小件数有值的情况下
if (pieces == "maxNumOfPieces" && this.queryForm.minNumOfPieces > 0) {
this.$refs.minNumOfPieces.innerHTML = "";
this.validateForm = true;
} else {
this.$refs.minNumOfPieces.innerHTML = "";
this.validateForm = true;
}
// 左右区间 都为空的情况下
if (
this.queryForm.minNumOfPieces.toString().length == 0 &&
this.queryForm.maxNumOfPieces.toString().length == 0
) {
this.$refs.minNumOfPieces.innerHTML = "";
this.validateForm = true;
}
}
return this.validateForm;
},
// 校验重量方法 【重量可以为空为0 && 最小/大重量的范围0~34KG】允许保留1~5位小数。
validateWeight(value, weight) {
if (value.length) {
this.queryForm[weight] = Number(value);
let markWeight = false;
if (weight == "minWeight" || weight == "maxWeight") {
if (this.queryForm.minWeight && this.queryForm.maxWeight) {
markWeight =
Number(this.queryForm.maxWeight) <
Number(this.queryForm.minWeight);
}
}
if (/^(0|[1-9]\d*)(.\d{1,5})?$/.test(this.queryForm[weight])) {
if (this.queryForm[weight] >= 0) {
if (markWeight) {
if (Array.isArray(this.$refs.minWeight)) {
this.validateForm = false;
this.msgError("最小重量不得大于最大重量");
} else {
this.validateForm = false;
this.$refs.minWeight.innerHTML = "";
this.$refs.minWeight.innerHTML = "最小重量不得大于最大重量";
}
} else if (this.queryForm[weight] > 34) {
this.validateForm = false;
if (Array.isArray(this.$refs.minWeight)) {
this.msgError("最大重量不能大于34KG");
} else {
this.validateForm = false;
this.$refs.minWeight.innerHTML = "";
this.$refs.minWeight.innerHTML = "最大重量不能大于34KG";
}
} else {
if (!Array.isArray(this.$refs.minWeight)) {
this.validateForm = true;
this.$refs.minWeight.innerHTML = "";
}
}
} else {
if (value.length) {
if (Number(value) > 34) {
if (Array.isArray(this.$refs.minWeight)) {
this.validateForm = false;
this.msgError("最大重量不能大于34KG");
} else {
this.validateForm = false;
this.$refs.minWeight.innerHTML = "";
this.$refs.minWeight.innerHTML = "最大重量不能大于34KG";
}
} else {
if (!Array.isArray(this.$refs.minWeight)) {
this.validateForm = true;
this.$refs.minWeight.innerHTML = "";
}
}
}
}
} else {
if (Array.isArray(this.$refs.minWeight)) {
this.validateForm = false;
this.msgError("请输入正整数,小数保留5位");
} else {
this.validateForm = false;
this.$refs.minWeight.innerHTML = "";
this.$refs.minWeight.innerHTML = "请输入正整数,小数保留5位";
}
}
} else {
this.validateForm = true;
this.$refs.minWeight.innerHTML = "";
}
return this.validateForm;
},
// 报价值【申报价值可以为空为0】
validateCustomVal(value, customVal) {
let coin = {
minCNYCustomVal: "minCNYCustomVal",
maxCNYCustomVal: "minCNYCustomVal",
minSUDCustomVal: "minSUDCustomVal",
maxSUDCustomVal: "minSUDCustomVal",
};
let currency = {
minCNYCustomVal: 2000,
maxCNYCustomVal: 2000,
minSUDCustomVal: 600,
maxSUDCustomVal: 600,
};
let markCoin = false;
if (value.length) {
this[customVal] = Number(value);
// 其中一个有值的情况下人民币
if (customVal == "minCNYCustomVal" || customVal == "maxCNYCustomVal") {
if (this.minCNYCustomVal && this.maxCNYCustomVal) {
this.validateForm = false;
markCoin =
Number(this.maxCNYCustomVal) < Number(this.minCNYCustomVal);
} else {
this.validateForm = true;
this.$refs[coin[customVal]].innerHTML = "";
}
}
// 都有值的情况下美元
else {
if (this.minSUDCustomVal && this.maxSUDCustomVal) {
this.validateForm = false;
markCoin =
Number(this.maxSUDCustomVal) < Number(this.minSUDCustomVal);
}
}
if (/^(0|[1-9]\d*)(.\d{1,2})?$/.test(this[customVal])) {
if (this[customVal] >= 0) {
if (markCoin) {
this.validateForm = false;
this.$refs[coin[customVal]].innerHTML = "";
this.$refs[coin[customVal]].innerHTML =
"最小申报价值不得大于最大申报价值";
}
// 判断申报价值不得大于上限
// else if (this[customVal] > currency[customVal]) {
// this.validateForm = false;
// this.$refs[coin[customVal]].innerHTML = "";
// this.$refs[
// coin[customVal]
// ].innerHTML = `最大申报值不得大于${currency[customVal]}`;
// } else {
// this.validateForm = true;
// this.$refs[coin[customVal]].innerHTML = "";
// }
}
} else {
this.validateForm = false;
this.$refs[coin[customVal]].innerHTML = "";
this.$refs[coin[customVal]].innerHTML = "请输入正确申报价值";
}
} else {
this.validateForm = true;
this.$refs[coin[customVal]].innerHTML = "";
}
return this.validateForm;
},
},
};