jiaxing.zhou

feat(editReportingData): 优化保费输入校验规则

- 为包装号输入框添加 maxlength 属性,限制输入长度为 9
- 新增 checkInsuredFee校验函数,用于检查保费输入
- 修改保费校验规则,允许 14 位整数和 5 位小数,不允许负数
...@@ -428,6 +428,7 @@ ...@@ -428,6 +428,7 @@
428 class="inputShadow" 428 class="inputShadow"
429 id="inputInner--packNo" 429 id="inputInner--packNo"
430 resize="none" 430 resize="none"
431 + maxlength="9"
431 v-model.number="formData.packNo" 432 v-model.number="formData.packNo"
432 clearable 433 clearable
433 placeholder="" 434 placeholder=""
...@@ -557,6 +558,21 @@ ...@@ -557,6 +558,21 @@
557 callback(); 558 callback();
558 } 559 }
559 }; 560 };
561 + var checkInsuredFee = (rule, value, callback) => {
562 + if (value < 0) {
563 + callback(new Error('数值不能为负'));
564 + }
565 + if (value !== '' && value !== undefined) {
566 + const regex = /^\d{0,14}(\.\d{1,5})?$/;
567 + if (!regex.test(value)) {
568 + callback(new Error('整数最多14位,小数最多5位'));
569 + } else {
570 + callback();
571 + }
572 + } else {
573 + callback();
574 + }
575 + };
560 var checkPackNo = (rule, value, callback) => { 576 var checkPackNo = (rule, value, callback) => {
561 if (!Number.isInteger(value)) { 577 if (!Number.isInteger(value)) {
562 callback(new Error('请输入整数值')); 578 callback(new Error('请输入整数值'));
...@@ -644,7 +660,7 @@ ...@@ -644,7 +660,7 @@
644 ], 660 ],
645 insuredfee: [ 661 insuredfee: [
646 { required: true, message: '请输入保费', trigger: 'blur' }, 662 { required: true, message: '请输入保费', trigger: 'blur' },
647 - { validator: checkNegativeNum, trigger: 'blur' } 663 + { validator: checkInsuredFee, trigger: 'blur' }
648 ], 664 ],
649 insuredfeeCurrency: [ 665 insuredfeeCurrency: [
650 { required: true, message: '请输入保费币制', trigger: 'blur' } 666 { required: true, message: '请输入保费币制', trigger: 'blur' }
......