Explorar o código

复核-活动单后置取消问题修复

zhaohuanhuan hai 8 meses
pai
achega
2aecb8800d

+ 18 - 8
src/views/outbound/check/activity/index.vue

@@ -278,6 +278,8 @@ const onPrint=(code)=>{
       closeLoading()
   })
 }
+const successNumber=ref(0)
+const errorNumber=ref(0)
 //结束复核
 const endCheck=()=>{
   const allCount = orderList.value.reduce((sum, item) => sum + Math.max(Number(item.qty), 0), 0);
@@ -311,12 +313,17 @@ const endCheck=()=>{
   errorNumber.value=0
 }
 //装箱
-const successNumber=ref(0)
-const errorNumber=ref(0)
 const reversePickingRef=ref(null)
 const packingRequests = async (startIndex = 0, lastNumber) => {
   if(startIndex>=lastNumber){
-    reversePickingRef.value.show(successNumber,errorNumber,orderMap.value.cancelGroup,orderMap.value.freezeGroup)
+    const cancelOrder= Object.keys(orderMap.value.cancelGroup).length
+    const freezeOrder= Object.keys(orderMap.value.freezeGroup).length
+   if(cancelOrder>0 || freezeOrder>0) {
+     scanError()
+   }else {
+     scanSuccess()
+   }
+    reversePickingRef.value.show(successNumber.value,errorNumber.value,orderMap.value.cancelGroup,orderMap.value.freezeGroup)
     return
   }
   try {
@@ -340,17 +347,20 @@ const packingRequests = async (startIndex = 0, lastNumber) => {
       const res = await packingReview(data)
       closeLoading()
       if (res) {
-        await packingRequests(startIndex + 1, lastNumber)
-        if (res.data && res.data != '0000'  && res.data != '1111'){
-          successNumber.value+=1
+        if (res.data == '0000'){
+          orderMap.value.cancelGroup[item.orderNo] = item.orderNo
+        }else if(res.data == '1111'){
+          orderMap.value.freezeGroup[item.orderNo] = item.orderNo
         }else {
-          errorNumber.value+=1
+          successNumber.value+=1
         }
+        await packingRequests(startIndex + 1, lastNumber)
       }
   } catch (error) {
+    errorNumber.value+=1
     tips.value=error.message
     if(startIndex>0){
-      reversePickingRef.value.show(startIndex,lastNumber-startIndex,orderMap.value.cancelGroup,orderMap.value.freezeGroup)
+      reversePickingRef.value.show(successNumber.value,errorNumber.value,orderMap.value.cancelGroup,orderMap.value.freezeGroup)
     }
     scanError()
   } finally {

+ 4 - 1
src/views/outbound/check/components/ReversePicking.vue

@@ -49,8 +49,11 @@ const beforeClose = (action) =>
         _reversePicking()
         resolve(true)
         return
+      }else if(errorCount.value>0){
+        emit('loadData')
+        resolve(true)
+        return
       }
-      // emit('loadData')
       resolve(true)
     }
     resolve(true)