mixins.js
12.5 KB
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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
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,
};
if (value.length) {
this[customVal] = Number(value);
if (/^(0|[1-9]\d*)(.\d{1,2})?$/.test(this[customVal])) {
// 其中一个有值的情况下人民币
if (
customVal == "minCNYCustomVal" ||
customVal == "maxCNYCustomVal"
) {
// 如果人民币两个都有值的情况下
if (this.minCNYCustomVal && this.maxCNYCustomVal) {
// 判断右区间是否大于左区间
if (Number(this.maxCNYCustomVal) < Number(this.minCNYCustomVal)) {
this.$refs[coin[customVal]].innerHTML =
"最小申报价值不得大于最大申报价值";
this.validateForm = false;
} else {
this.$refs[coin[customVal]].innerHTML = "";
this.validateForm = true;
}
} else {
this.$refs[coin[customVal]].innerHTML = "";
this.validateForm = true;
}
// 如果人民币其中任何一个有值,去判断美元是否有值,如果有值把美元值清空
if (this.minCNYCustomVal || this.maxCNYCustomVal) {
if (this.minSUDCustomVal || this.maxSUDCustomVal) {
this.$refs.minSUDCustomVal.innerHTML = "";
this.validateForm = true;
this.minSUDCustomVal = this.maxSUDCustomVal = "";
}
}
}
// 其中一个有值的情况下美元
if (
customVal == "minSUDCustomVal" ||
customVal == "maxSUDCustomVal"
) {
// 如果美元两个都有值的情况下
if (this.minSUDCustomVal && this.maxSUDCustomVal) {
// 判断右区间是否大于左区间
if (Number(this.maxSUDCustomVal) < Number(this.minSUDCustomVal)) {
this.$refs[coin[customVal]].innerHTML =
"最小申报价值不得大于最大申报价值";
this.validateForm = false;
} else {
this.$refs[coin[customVal]].innerHTML = "";
this.validateForm = true;
}
} else {
this.$refs[coin[customVal]].innerHTML = "";
this.validateForm = true;
}
// 如果美元其中任何一个有值,去判断人民币是否有值,如果有值把人民币值清空
if (this.minSUDCustomVal || this.maxSUDCustomVal) {
if (this.minCNYCustomVal || this.maxCNYCustomVal) {
this.$refs.minCNYCustomVal.innerHTML = "";
this.validateForm = true;
this.minCNYCustomVal = this.maxCNYCustomVal = "";
}
}
}
} 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;
},
},
};