Browse Source

预装箱单小数判断

jbb 2 years ago
parent
commit
529665a3f0
1 changed files with 43 additions and 59 deletions
  1. 43 59
      src/views/advance-packingList/addAdpackingDrawer.vue

+ 43 - 59
src/views/advance-packingList/addAdpackingDrawer.vue

@@ -269,12 +269,6 @@ export default {
           type: JVXETypes.inputNumber ,
           validateRules:[{ required: true, message: '${title}不能为空' },
           {pattern: /^[1-9]\d*$/, message: '请输入零以上的正整数' }],
-          handler(blur, value, row, column, callback, target){
-            if(value === '23'){
-              callback(false, '不能是abc') // false = 未通过,可以跟自定义提示
-                            return
-            }
-          }
         },
 
         {
@@ -354,7 +348,7 @@ export default {
           width: 120,
           type: JVXETypes.inputNumber,
           validateRules: [{ required: true, message: '${title}不能为空' },
-            {pattern: /^\d+(\.\d{1})?$/, message: '小数点位数不能超过1位' }]
+            ]
         },
 
         {
@@ -363,14 +357,14 @@ export default {
           width: 140,
           type: JVXETypes.inputNumber,
           validateRules: [{ required: true, message: '${title}不能为空' },
-            {pattern: /^\d+(\.\d{1})?$/, message: '小数点位数不能超过1位' }]
+         ]
         },
         {
           title: '外箱高度',
           key: 'outerBoxHeight',
           type: JVXETypes.inputNumber ,
           validateRules: [{ required: true, message: '${title}不能为空' },
-            {pattern: /^\d+(\.\d{1})?$/, message: '小数点位数不能超过1位' }],
+          ],
           width: 140,
         },
 
@@ -549,10 +543,21 @@ export default {
           this.$message.error('第'+(i+1)+'行起始箱号未填,无法保存');
           return;
         }
+
+        //起始箱数判断
+        if(!Number.isInteger(Number(tableRow.startingBoxNumber))){
+          this.$message.error('第'+(i+1)+'行起始箱号不为整数,无法保存');
+          return
+        }
         if (tableRow.endCaseNumber == ""){
           this.$message.error('第'+(i+1)+'行结束箱号未填,无法保存');
           return;
         }
+        //结束箱数小数判断
+         if(!Number.isInteger(Number(tableRow.endCaseNumber))){
+          this.$message.error('第'+(i+1)+'行结束箱号不为整数,无法保存');
+          return
+        }
         if (tableRow.boxNumber == "" || tableRow.boxNumber == 0){
           this.$message.error('第'+(i+1)+'行箱数,无法保存');
           return;
@@ -561,34 +566,41 @@ export default {
           this.$message.error('第'+(i+1)+'行净重/箱未填,无法保存');
           return;
         }
-        // if(!Number.isInteger(Number(tableRow.netWeight))){
-        //   var position = tableRow.netWeight.toString().indexOf('.') + 1;   //小数点的位置
-        //   var digit = tableRow.netWeight.toString().length - position;  //小数的位数
-        //   if(digit > 2){
-        //   this.$message.error('第'+(i+1)+'行净重/箱超过两位小数,无法保存');
-        //   return;
-        //   }
-        // }
+        //净重/箱小数判断
+        if(!Number.isInteger(Number(tableRow.netWeight))){
+           var position = tableRow.netWeight.toString().indexOf('.') + 1;   //小数点的位置
+            var digit = tableRow.netWeight.toString().length - position;  //小数的位数
+            if(digit > 2){
+              this.$message.error('第'+(i+1)+'行净重/箱超过两位小数,无法保存');
+              return 
+            }
+        }
         if (tableRow.piecesBox == null || tableRow.piecesBox == "" || tableRow.piecesBox == undefined){
           this.$message.error('第'+(i+1)+'行件数/箱未填,无法保存');
           return;
         }
-        // if(!Number.isInteger(Number(tableRow.piecesBox))){
-        //   this.$message.error('第'+(i+1)+'行件数/箱不为整数,无法保存');
-        //   return;
-        // }
+        //件数/箱小数判断
+        if(!Number.isInteger(tableRow.piecesBox)){
+          for (var i=0; i<this.sizeFields.length; i++){
+           if (!Number.isInteger(tableRow[this.sizeFields[i]]) ){
+             this.$message.error('第'+(i+1)+'行'+this.sizeFields[i]+'不为整数,无法保存');
+             return;
+           }
+           }
+        }
         if (tableRow.grossWeight == null || tableRow.grossWeight == "" || tableRow.grossWeight == undefined){
           this.$message.error('第'+(i+1)+'行毛重/箱未填,无法保存');
           return;
         }
-        // if(!Number.isInteger(Number(tableRow.grossWeight))){
-        //   var position = tableRow.grossWeight.toString().indexOf('.') + 1;   //小数点的位置
-        //   var digit = tableRow.grossWeight.toString().length - position;  //小数的位数
-        //   if(digit > 2){
-        //   this.$message.error('第'+(i+1)+'行毛重/箱超过两位小数,无法保存');
-        //   return;
-        //   }
-        // }
+        //毛重/箱小数判断
+        if(!Number.isInteger(Number(tableRow.grossWeight))){
+           var position = tableRow.grossWeight.toString().indexOf('.') + 1;   //小数点的位置
+            var digit = tableRow.grossWeight.toString().length - position;  //小数的位数
+            if(digit > 2){
+              this.$message.error('第'+(i+1)+'行毛重/箱超过两位小数,无法保存');
+              return 
+            }
+        }
         if (tableRow.outerBoxLength == null || tableRow.outerBoxLength == "" || tableRow.outerBoxLength == undefined){
           this.$message.error('第'+(i+1)+'行外箱长度未填,无法保存');
           return;
@@ -601,26 +613,10 @@ export default {
           this.$message.error('第'+(i+1)+'行外箱高度未填,无法保存');
           return;
         }
-        // if(!Number.isInteger(Number(tableRow.totalVolume))){
-        //   var position = tableRow.totalVolume.toString().indexOf('.') + 1;   //小数点的位置
-        //   var digit = tableRow.totalVolume.toString().length - position;  //小数的位数
-        //   if(digit > 3){
-        //   this.$message.error('第'+(i+1)+'行总体积超过三位小数,无法保存');
-        //   return;
-        //   }
-        // }
         if (tableRow.netWeightToo == null || tableRow.netWeightToo == "" || tableRow.netWeightToo == undefined){
           this.$message.error('第'+(i+1)+'行净净重未填,无法保存');
           return;
         }
-        // if(!Number.isInteger(Number(tableRow.netWeightToo))){
-        //   var position = tableRow.netWeightToo.toString().indexOf('.') + 1;   //小数点的位置
-        //   var digit = tableRow.netWeightToo.toString().length - position;  //小数的位数
-        //   if(digit > 2){
-        //   this.$message.error('第'+(i+1)+'行净净重超过两位小数,无法保存');
-        //   return;
-        //   }
-        // }
         for (var j=0; j<tableRow.sizeTables.length; j++){
           var sizeTable = tableRow.sizeTables[j];
           var field = 'size-'+sizeTable.size;
@@ -687,7 +683,6 @@ export default {
       }
       // 设置件数小数位数
       this.dotConfig = getDotConfig(itemData.masterMetering);
-
       this.addAdpacking.syDeclarationElementsId = mData.syDeclarationElementsId;      
       this.addAdpacking.itemNumber = referData.itemNumber;
       this.addAdpacking.productName = referData.chineseName;
@@ -779,17 +774,6 @@ export default {
     },
     // 表格字段值变动时触发
     handleValueChange(event) {
-      // if(!Number.isInteger(Number(event.row.startingBoxNumber))){
-      //   var position = event.row.startingBoxNumber.toString().indexOf('.') + 1;   //小数点的位置
-      //   var digit = event.row.startingBoxNumber.toString().length - position;  //小数的位数
-      //   if(digit > 2){
-      //     var cc =event.row.startingBoxNumber.toString().slice(0, position+2)
-      //     event.row.startingBoxNumber = Number(cc)
-      //     this.$forceUpdate()
-      //     // for (let i = 0; i < position+2; i++) {console.log(cc[i])  }
-      //     // event.row.startingBoxNumber = cc.s
-      //   }
-      // }
       if (event.row.startingBoxNumber != undefined && event.row.startingBoxNumber != "" &&
       event.row.endCaseNumber != undefined && event.row.endCaseNumber != ""){
         event.row.boxNumber = event.row.endCaseNumber*1-event.row.startingBoxNumber*1+1;
@@ -809,9 +793,9 @@ export default {
       if (event.row.outerBoxLength != "" && event.row.outerBoxLength != undefined &&
       event.row.outerBoxWidth != "" && event.row.outerBoxWidth != undefined &&
       event.row.outerBoxHeight != "" && event.row.outerBoxHeight != undefined){
-        event.row.totalVolume = (event.row.outerBoxLength * event.row.outerBoxWidth * event.row.outerBoxHeight * event.row.boxNumber).toFixed(this.dotConfig.volume);
+        event.row.totalVolume = (event.row.outerBoxLength * event.row.outerBoxWidth * event.row.outerBoxHeight * event.row.boxNumber).toFixed(3);
       }
-      
+      this.$forceUpdate()
       this.setHeadCalField();
       },
     // 获取不同尺码数量之和