feat(editReportingData): 增加数量输入的精度限制
- 在 RowDataEditForm 组件中,为数量输入框添加 maxlength属性,限制输入长度为 14 位 - 新增 checkFractionalPart 验证函数,用于检查输入值的整数部分和小数部分的位数 - 将原有的 checkNegativeNum验证规则替换为 checkFractionalPart,以同时检查负数和精度
Showing
1 changed file
with
18 additions
and
2 deletions
| ... | @@ -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' } | ... | ... |
-
Please register or login to post a comment