Elements-SY

modify

export const inputBlurValidate = {
data() {
return {
queryForm: {
minWeight: "",
maxWeight: "",
minNumOfPieces: "",
maxNumOfPieces: "",
},
validateForm: true, // form表单节流阀
};
},
methods: {
// 最小件数失焦事件
inputBlurMinPieces({ target }) {
this.validateNumOfPieces(target.value, "minNumOfPieces");
},
// 最大件数失焦事件
inputBlurMaxPieces({ target }) {
this.validateNumOfPieces(target.value, "maxNumOfPieces");
},
// 最小重量失焦事件
inputBlurMinWeight({ target }) {
// 重量最小值和最大值都为空的情况下
if (this.queryForm.minWeight == "" && this.queryForm.maxWeight == "") {
this.validateForm = true;
this.$refs.minWeight.innerHTML = "";
}
// 鼠标聚焦最小重量,最小重量无值的情况下去校验最大重量
if (target.value == "" && this.queryForm.maxWeight) {
if (
/^(0|[1-9]\d*)(.\d{1,5})?$/.test(Number(this.queryForm.maxWeight))
) {
this.validateForm = true;
this.$refs.minWeight.innerHTML = "";
}
}
// 最小重量有值的情况下
if (target.value && Number(target.value) >= 0) {
if (/^(0|[1-9]\d*)(.\d{1,5})?$/.test(Number(target.value))) {
if (this.queryForm.maxWeight) {
if (
Number(this.queryForm.maxWeight) <
Number(this.queryForm.minWeight)
) {
this.validateForm = false;
this.$refs.minWeight.innerHTML = "最小重量不得大于最大重量";
} else if (
/^(0|[1-9]\d*)(.\d{1,5})?$/.test(Number(this.queryForm.maxWeight))
) {
this.validateForm = true;
this.$refs.minWeight.innerHTML = "";
} else {
this.validateForm = false;
this.$refs.minWeight.innerHTML = "请输入有效重量,小数保留5位";
}
} else {
this.validateForm = true;
this.$refs.minWeight.innerHTML = "";
}
} else {
this.validateForm = false;
this.$refs.minWeight.innerHTML = "请输入有效重量,小数保留5位";
}
}
},
// 最大重量失焦事件
inputBlurMaxWeight({ target }) {
// 重量最小值和最大值都为空的情况下
if (this.queryForm.minWeight == "" && this.queryForm.maxWeight == "") {
this.validateForm = true;
this.$refs.minWeight.innerHTML = "";
}
// 鼠标聚焦最大重量,最大重量无值的情况下去校验最小重量
if (target.value == "" && this.queryForm.minWeight) {
if (
/^(0|[1-9]\d*)(.\d{1,5})?$/.test(Number(this.queryForm.minWeight))
) {
this.validateForm = true;
this.$refs.minWeight.innerHTML = "";
} else {
this.validateForm = false;
this.$refs.minWeight.innerHTML = "请输入有效重量,小数保留5位";
// this.msgError("请输入有效重量,小数保留5位");
}
}
if (target.value && Number(target.value) >= 0) {
if (/^(0|[1-9]\d*)(.\d{1,5})?$/.test(Number(target.value))) {
if (this.queryForm.minWeight) {
if (
Number(this.queryForm.maxWeight) <
Number(this.queryForm.minWeight)
) {
this.validateForm = false;
this.$refs.minWeight.innerHTML = "最小重量不得大于最大重量";
} else if (
/^(0|[1-9]\d*)(.\d{1,5})?$/.test(Number(this.queryForm.minWeight))
) {
this.validateForm = true;
this.$refs.minWeight.innerHTML = "";
} else {
this.validateForm = false;
this.$refs.minWeight.innerHTML = "请输入有效重量,小数保留5位";
}
} else {
this.validateForm = true;
this.$refs.minWeight.innerHTML = "";
}
} else {
this.validateForm = false;
this.$refs.minWeight.innerHTML = "请输入有效重量,小数保留5位";
}
}
},
// 人民币最小申报价值
inputCNYBlurMin({ target }, customVal) {
// 申报价值最小值和最大值都为空的情况下
if (
this.queryForm.minCustomVal == "" &&
this.queryForm.maxCustomVal == ""
) {
this.validateForm = true;
this.$refs.minCNYCustomVal.innerHTML = "";
}
// 鼠标聚焦最小申报价值,最小申报价值无值的情况下去校验最大申报价值
if (target.value == "" && this.queryForm.maxCustomVal) {
if (
/^(0|[1-9]\d*)(.\d{1,2})?$/.test(Number(this.queryForm.maxCustomVal))
) {
this.validateForm = true;
this.$refs.minCNYCustomVal.innerHTML = "";
}
}
// 最小申报价值有值的情况下
if (target.value && Number(target.value) >= 0) {
if (/^(0|[1-9]\d*)(.\d{1,2})?$/.test(Number(target.value))) {
if (this.queryForm.maxCustomVal) {
if (
Number(this.queryForm.maxCustomVal) <
Number(this.queryForm.minCustomVal)
) {
this.validateForm = false;
this.$refs.minCNYCustomVal.innerHTML =
"最小申报价值不得大于最大申报价值";
} else if (
/^(0|[1-9]\d*)(.\d{1,2})?$/.test(
Number(this.queryForm.maxCustomVal)
)
) {
this.validateForm = true;
this.$refs.minCNYCustomVal.innerHTML = "";
} else {
this.validateForm = false;
this.$refs.minCNYCustomVal.innerHTML =
"请输入有效申报价值,小数保留2位";
}
} else {
this.validateForm = true;
this.$refs.minCNYCustomVal.innerHTML = "";
}
} else {
this.validateForm = false;
this.$refs.minCNYCustomVal.innerHTML =
"请输入有效申报价值,小数保留2位";
}
}
},
// 人民币最大申报价值
inputCNYBlurMax({ target }, customVal) {
// 申报价值最小值和最大值都为空的情况下
if (
this.queryForm.minCustomVal == "" &&
this.queryForm.maxCustomVal == ""
) {
this.validateForm = true;
this.$refs.minCNYCustomVal.innerHTML = "";
}
// 鼠标聚焦最大申报价值,最大申报价值无值的情况下去校验最小申报价值
if (target.value == "" && this.queryForm.minCustomVal) {
if (
/^(0|[1-9]\d*)(.\d{1,2})?$/.test(Number(this.queryForm.minCustomVal))
) {
this.validateForm = true;
this.$refs.minCNYCustomVal.innerHTML = "";
} else {
this.validateForm = false;
this.$refs.minCNYCustomVal.innerHTML =
"请输入有效申报价值,小数保留2位";
}
}
// 最大申报价值有值的情况下
if (target.value && Number(target.value) >= 0) {
if (/^(0|[1-9]\d*)(.\d{1,2})?$/.test(Number(target.value))) {
if (this.queryForm.minCustomVal) {
if (
Number(this.queryForm.maxCustomVal) <
Number(this.queryForm.minCustomVal)
) {
this.validateForm = false;
this.$refs.minCNYCustomVal.innerHTML =
"最小申报价值不得大于最大申报价值";
} else if (
/^(0|[1-9]\d*)(.\d{1,2})?$/.test(
Number(this.queryForm.minCustomVal)
)
) {
this.validateForm = true;
this.$refs.minCNYCustomVal.innerHTML = "";
} else {
this.validateForm = false;
this.$refs.minCNYCustomVal.innerHTML =
"请输入有效申报价值,小数保留2位";
}
}
} else {
this.validateForm = false;
this.$refs.minCNYCustomVal.innerHTML =
"请输入有效申报价值,小数保留2位";
}
}
},
// 美元最小申报价值
inputSUDBlurMin({ target }, customVal) {
// 申报价值最小值和最大值都为空的情况下
if (
this.queryForm.minUsdCustomVal == "" &&
this.queryForm.maxUsdCustomVal == ""
) {
this.validateForm = true;
this.$refs.minSUDCustomVal.innerHTML = "";
}
// 鼠标聚焦最小申报价值,最小申报价值无值的情况下去校验最大申报价值
if (target.value == "" && this.queryForm.maxUsdCustomVal) {
if (
/^(0|[1-9]\d*)(.\d{1,2})?$/.test(
Number(this.queryForm.maxUsdCustomVal)
)
) {
this.validateForm = true;
this.$refs.minSUDCustomVal.innerHTML = "";
}
}
// 最小申报价值有值的情况下
if (target.value && Number(target.value) >= 0) {
if (/^(0|[1-9]\d*)(.\d{1,2})?$/.test(Number(target.value))) {
if (this.queryForm.maxUsdCustomVal) {
if (
Number(this.queryForm.maxUsdCustomVal) <
Number(this.queryForm.minUsdCustomVal)
) {
this.validateForm = false;
this.$refs.minSUDCustomVal.innerHTML =
"最小申报价值不得大于最大申报价值";
} else if (
/^(0|[1-9]\d*)(.\d{1,2})?$/.test(
Number(this.queryForm.maxUsdCustomVal)
)
) {
this.validateForm = true;
this.$refs.minSUDCustomVal.innerHTML = "";
} else {
this.validateForm = false;
this.$refs.minSUDCustomVal.innerHTML =
"请输入有效申报价值,小数保留2位";
}
} else {
this.validateForm = true;
this.$refs.minSUDCustomVal.innerHTML = "";
}
} else {
this.validateForm = false;
this.$refs.minSUDCustomVal.innerHTML =
"请输入有效申报价值,小数保留2位";
}
}
},
// 美元最大申报价值
inputSUDBlurMax({ target }, customVal) {
// 申报价值最小值和最大值都为空的情况下
if (
this.queryForm.minUsdCustomVal == "" &&
this.queryForm.maxUsdCustomVal == ""
) {
this.validateForm = true;
this.$refs.minSUDCustomVal.innerHTML = "";
}
// 鼠标聚焦最大申报价值,最大申报价值无值的情况下去校验最小申报价值
if (target.value == "" && this.queryForm.minUsdCustomVal) {
if (
/^(0|[1-9]\d*)(.\d{1,2})?$/.test(
Number(this.queryForm.minUsdCustomVal)
)
) {
this.validateForm = true;
this.$refs.minSUDCustomVal.innerHTML = "";
} else {
this.validateForm = false;
this.$refs.minSUDCustomVal.innerHTML =
"请输入有效申报价值,小数保留2位";
}
}
// 最大申报价值有值的情况下
if (target.value && Number(target.value) >= 0) {
if (/^(0|[1-9]\d*)(.\d{1,2})?$/.test(Number(target.value))) {
if (this.queryForm.minUsdCustomVal) {
if (
Number(this.queryForm.maxUsdCustomVal) <
Number(this.queryForm.minUsdCustomVal)
) {
this.validateForm = false;
this.$refs.minSUDCustomVal.innerHTML =
"最小申报价值不得大于最大申报价值";
} else if (
/^(0|[1-9]\d*)(.\d{1,2})?$/.test(
Number(this.queryForm.minUsdCustomVal)
)
) {
this.validateForm = true;
this.$refs.minSUDCustomVal.innerHTML = "";
} else {
this.validateForm = false;
this.$refs.minSUDCustomVal.innerHTML =
"请输入有效申报价值,小数保留2位";
}
}
} else {
this.validateForm = false;
this.$refs.minSUDCustomVal.innerHTML =
"请输入有效申报价值,小数保留2位";
}
}
},
// 校验件数方法 【件数可以为空但件数不得为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.queryForm[pieces] = value;
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;
},
},
};