Sfoglia il codice sorgente

feature_20250926_数字题型&单行文本题型

zhujindu 2 mesi fa
parent
commit
f7487f6821
1 ha cambiato i file con 15 aggiunte e 4 eliminazioni
  1. 15 4
      src/views/deviceWithin/addStoreVisit.vue

+ 15 - 4
src/views/deviceWithin/addStoreVisit.vue

@@ -261,8 +261,7 @@
             <van-field
               v-model="item.answerValue"
               :placeholder="item.collectionOptionList[0].collectionOption"
-              @blur="SZsizeComparison(item, index)"
-              @input="szNumberFn(item, index, 'A')"></van-field>
+              @blur="SZsizeComparison(item, index)"></van-field>
             <delete-upload-img
               :photoIdentifyType="photoIdentifyType"
               :imgs="item.fileInfoList"></delete-upload-img>
@@ -3938,8 +3937,9 @@ export default {
         }
       }
     },
-    // 数字类型 @input
+    // 数字类型 van-field number 类型iOS不能输入负数,改成text
     szNumberFn(val, index, type) {
+      debugger;
       let value = this.collectionItemList[index].answerValue;
       if (value) {
         if (!/^[+-]?\d*\.{0,1}\d{0,1}$/.test(value)) {
@@ -3952,7 +3952,11 @@ export default {
     },
     // 数字类型最大值最小值校验
     SZsizeComparison(item, index) {
-      let value = item.answerValue;
+      let value = item.answerValue.replace(
+        /[^-\d.]|(?<!\d)\.|\.(?!\d)|^[.]$|^[+-]$|^[+-]\.$|(?<=\.\d*)\.|(?<=\d\.\d*)\.(?=\d)/g,
+        ''
+      );
+      this.$set(item, 'answerValue', value);
       if (value) {
         // 最大值
         let maxValue = item.collectionOptionList[0].maxValue;
@@ -4025,6 +4029,13 @@ export default {
         ''
       );
     },
+    // 数字 负数、小数
+    szFormatter(value) {
+      return value.replace(
+        /[^-\d.]|(?<!\d)\.|\.(?!\d)|^[.]$|^[+-]$|^[+-]\.$|(?<=\.\d*)\.|(?<=\d\.\d*)\.(?=\d)/g,
+        ''
+      );
+    },
     logshowFN() {
       this.logshow = true;
     },