jiaxing.zhou

feat(editReportingData): 增加数量输入的精度限制

- 在 RowDataEditForm 组件中,为数量输入框添加 maxlength属性,限制输入长度为 14 位
- 新增 checkFractionalPart 验证函数,用于检查输入值的整数部分和小数部分的位数
- 将原有的 checkNegativeNum验证规则替换为 checkFractionalPart,以同时检查负数和精度
...@@ -159,6 +159,7 @@ ...@@ -159,6 +159,7 @@
159 class="inputShadow" 159 class="inputShadow"
160 id="inputInner--qty" 160 id="inputInner--qty"
161 resize="none" 161 resize="none"
162 + maxlength="14"
162 v-model.number="tableRowformData.qty" 163 v-model.number="tableRowformData.qty"
163 clearable 164 clearable
164 placeholder="" 165 placeholder=""
...@@ -267,6 +268,21 @@ ...@@ -267,6 +268,21 @@
267 }, 268 },
268 }, 269 },
269 data() { 270 data() {
271 + var checkFractionalPart = (rule, value, callback) => {
272 + if (value < 0) {
273 + callback(new Error('数值不能为负'));
274 + }
275 + if (value !== '' && value !== undefined) {
276 + const regex = /^\d{0,14}(\.\d{1,5})?$/;
277 + if (!regex.test(value)) {
278 + callback(new Error('整数最多14位,小数最多5位'));
279 + } else {
280 + callback();
281 + }
282 + } else {
283 + callback();
284 + }
285 + };
270 var checkNegativeNum = (rule, value, callback) => { 286 var checkNegativeNum = (rule, value, callback) => {
271 if (value < 0) { 287 if (value < 0) {
272 callback(new Error('数值不能为负')); 288 callback(new Error('数值不能为负'));
...@@ -329,7 +345,7 @@ ...@@ -329,7 +345,7 @@
329 ], 345 ],
330 legalQty: [ 346 legalQty: [
331 { required: true, message: '请输入法定数量', trigger: 'blur' }, 347 { required: true, message: '请输入法定数量', trigger: 'blur' },
332 - { validator: checkNegativeNum, trigger: 'blur' } 348 + { validator: checkFractionalPart, trigger: 'blur' }
333 ], 349 ],
334 currency: [ 350 currency: [
335 { required: true, message: '请选择币制', trigger: 'change' } 351 { required: true, message: '请选择币制', trigger: 'change' }
...@@ -344,7 +360,7 @@ ...@@ -344,7 +360,7 @@
344 ], 360 ],
345 netWeight: [ 361 netWeight: [
346 { required: true, message: '请输入净重', trigger: 'blur' }, 362 { required: true, message: '请输入净重', trigger: 'blur' },
347 - { validator: checkNegativeNum, trigger: 'blur' } 363 + { validator: checkFractionalPart, trigger: 'blur' }
348 ], 364 ],
349 remark: [ 365 remark: [
350 { max: 1000, message: '长度不能超过1000个字符', trigger: 'blur' } 366 { max: 1000, message: '长度不能超过1000个字符', trigger: 'blur' }
......