zhangqi 1 год назад
Родитель
Сommit
05e9c06952
2 измененных файлов с 18 добавлено и 30 удалено
  1. 2 20
      src/DRP/SDrpManagement/productGroup/detail/index.vue
  2. 16 10
      src/class/product.js

+ 2 - 20
src/DRP/SDrpManagement/productGroup/detail/index.vue

@@ -69,7 +69,7 @@
           <p class="label"><span class="mr-10">长度</span></p>
           <div>
             <div v-if="lengthscheme.type == '自定义'">
-              <a-input-number style="width: 150px;" :controls="false" :step="1" v-model:value="schemeData.length" @blur="onInputChange('length')" placeholder="输入区间内长度"/><span style="color:#666">&emsp;输入范围:{{lengthscheme.min}}mm - {{lengthscheme.max}}mm,不保留小数</span>
+              <a-input-number style="width: 150px;" :controls="false" :step="1" v-model:value="schemeData.length" @blur="validCustomSize('length')" placeholder="输入区间内长度"/><span style="color:#666">&emsp;输入范围:{{lengthscheme.min}}mm - {{lengthscheme.max}}mm,不保留小数</span>
             </div>
             <div>
               <a-button class="mr-10 mt-10" v-for="(item,index) in lengthscheme.rowsdetail" :key="index" :disabled="schemeData.length != item.num && (schemeData.length != null && schemeData.length != '')" :type="schemeData.length == item.num?'primary':'default'" @click="customClick2('length',item.num)">{{item.num}}</a-button>
@@ -80,7 +80,7 @@
           <p class="label"><span class="mr-10">宽度</span></p>
           <div>
             <div v-if="widthscheme.type == '自定义'">
-             <a-input-number style="width: 150px;" :controls="false" :step="1" v-model:value="schemeData.width" @blur="onInputChange('width')" placeholder="输入区间内宽度"/><span style="color:#666">&emsp;输入范围:{{widthscheme.min}}mm - {{widthscheme.max}}mm,不保留小数</span>
+             <a-input-number style="width: 150px;" :controls="false" :step="1" v-model:value="schemeData.width" @blur="validCustomSize('width')" placeholder="输入区间内宽度"/><span style="color:#666">&emsp;输入范围:{{widthscheme.min}}mm - {{widthscheme.max}}mm,不保留小数</span>
             </div>
             <div v-else>
               <a-button class="mr-10 mt-10"  v-for="(item,index) in widthscheme.rowsdetail" :key="index" :disabled="schemeData.width != item.num && (schemeData.width != null && schemeData.width != '')" :type="schemeData.width == item.num?'primary':'default'" @click="customClick2('width',item.num)">{{item.num}}</a-button>
@@ -296,24 +296,6 @@
     schemeInfo.value = res.data
     return res.data
   }
-  const onInputChange = ((type)=>{
-    function hasDecimal(num) {
-      const str = num.toString();
-      const decimalIndex = str.indexOf('.');
-      return decimalIndex !== -1;
-    }
-    if (schemeData.value.width && hasDecimal(schemeData.value.width)){
-      message.warning('请输入整数')
-      schemeData.value.width = widthscheme.value.min
-      return false
-    }
-    if (schemeData.value.length && hasDecimal(schemeData.value.length)) {
-      message.warning('请输入整数')
-      schemeData.value.length = lengthscheme.value.min
-      return false
-    }
-    if (!validCustomSize()) return false
-  })
   const getCustomsizeData =  async ()=>{
     let lengthschemeid = group.value.item[0].lengthschemeid
     let widthschemeid = group.value.item[0].widthschemeid

+ 16 - 10
src/class/product.js

@@ -27,21 +27,27 @@ class Product {
   checkDimension (dimensionData, schemeData, dimensionName, messageContent) {  
     const { min, max, type } = dimensionData;  
     const dimensionValue = schemeData[dimensionName];  
+    console.log(dimensionData, schemeData, dimensionName, messageContent)
     
-    // 检查自定义类型下的范围  
-    if (type === '自定义' && (dimensionValue < min || dimensionValue > max)) {  
+    if (this.hasDecimal(schemeData[dimensionName])) {
+      message.warning(`${dimensionName == 'length'?'长度':'宽度'}请输入整数`)
+      return false
+    } else if (type === '自定义' && (dimensionValue < min || dimensionValue > max)) {  
       message.error({ content: messageContent, key: 1 });  
       return false;  
-    }  
-    
-    // 检查值是否为空  
-    if (!dimensionValue) {  
+    } else if (!dimensionValue) {  
       message.error({ content: '定制选项不能为空!', key: 1 });  
       return false;  
-    }  
-    
-    return true;  
-  }  
+    } else {
+      return true
+    }
+  }
+
+  hasDecimal(num) {
+    const str = num.toString();
+    const decimalIndex = str.indexOf('.');
+    return decimalIndex !== -1;
+  }
 }  
   
 // const product1 = new Product({