lxf пре 1 година
родитељ
комит
15bda4bf88
1 измењених фајлова са 65 додато и 1 уклоњено
  1. 65 1
      src/views/group/order/management/add.vue

+ 65 - 1
src/views/group/order/management/add.vue

@@ -547,6 +547,57 @@ const getOrderDetail = (parameter) => {
       activeNames.value = allIndex;
       formOption.disabled = true;
     }
+    if (formData.data.orderSkuList && formData.data.orderSkuList.length > 0) {
+      for (let i = 0; i < formData.data.orderSkuList.length; i++) {
+        let subtotal = 0;
+        let packagingMaterialCost = 0;
+        if (formData.data.orderSkuList[i].quantity) {
+          subtotal = Number(
+            Math.round(
+              (formData.data.orderSkuList[i].customProcessingFee +
+                formData.data.orderSkuList[i].deliveryMaterialsFee +
+                formData.data.orderSkuList[i].lssueFee +
+                formData.data.orderSkuList[i].packingLabor +
+                formData.data.orderSkuList[i].unitPrice) *
+                formData.data.orderSkuList[i].quantity *
+                100
+            ) / 100
+          );
+          if (formData.data.orderSkuList[i].orderSkuBomList && formData.data.orderSkuList[i].orderSkuBomList.length > 0) {
+            for (let j = 0; j < formData.data.orderSkuList[i].orderSkuBomList.length; j++) {
+              let allQuantity = 0;
+              let allUnitPrice = 0;
+              if (formData.data.orderSkuList[i].orderSkuBomList[j].quantity) {
+                allQuantity = Number(
+                  Math.round(formData.data.orderSkuList[i].orderSkuBomList[j].quantity * formData.data.orderSkuList[i].quantity * 100) / 100
+                );
+                if (formData.data.orderSkuList[i].orderSkuBomList[j].unitPrice) {
+                  allUnitPrice = Number(
+                    Math.round(
+                      formData.data.orderSkuList[i].orderSkuBomList[j].quantity *
+                        formData.data.orderSkuList[i].orderSkuBomList[j].unitPrice *
+                        formData.data.orderSkuList[i].quantity *
+                        100
+                    ) / 100
+                  );
+                  packagingMaterialCost = Number(
+                    Math.round(
+                      (packagingMaterialCost +
+                        formData.data.orderSkuList[i].orderSkuBomList[j].quantity * formData.data.orderSkuList[i].orderSkuBomList[j].unitPrice) *
+                        100
+                    ) / 100
+                  );
+                }
+              }
+              formData.data.orderSkuList[i].orderSkuBomList[j].allQuantity = allQuantity;
+              formData.data.orderSkuList[i].orderSkuBomList[j].allUnitPrice = allUnitPrice;
+            }
+          }
+        }
+        formData.data.orderSkuList[i].subtotal = subtotal;
+        formData.data.orderSkuList[i].packagingMaterialCost = packagingMaterialCost;
+      }
+    }
     let list = [res.id];
     if (res.orderSkuList && res.orderSkuList.length > 0) {
       list = list.concat(res.orderSkuList.map((item) => item.id));
@@ -669,7 +720,13 @@ const changeQuantity = (index) => {
         formData.data.orderSkuList[index].lssueFee = res.lssueFee;
         formData.data.orderSkuList[index].packingLabor = res.packingLabor;
         formData.data.orderSkuList[index].unitPrice = res.unitPrice;
-        formData.data.orderSkuList[index].subtotal = Number(Math.round(Number(res.unitPrice) * Number(formData.data.orderSkuList[index].quantity) * 100) / 100);
+        formData.data.orderSkuList[index].subtotal = Number(
+          Math.round(
+            (res.customProcessingFee + res.deliveryMaterialsFee + res.lssueFee + res.packingLabor + res.unitPrice) *
+              formData.data.orderSkuList[index].quantity *
+              100
+          ) / 100
+        );
         changeBOMQuantity(index);
       });
   }
@@ -736,6 +793,7 @@ const calculatedAmount = () => {
             Math.round((productTotalAmount + formData.data.orderSkuList[i].unitPrice * formData.data.orderSkuList[i].quantity) * 100) / 100
           );
         }
+        let money = 0;
         if (formData.data.orderSkuList[i].orderSkuBomList && formData.data.orderSkuList[i].orderSkuBomList.length > 0) {
           for (let j = 0; j < formData.data.orderSkuList[i].orderSkuBomList.length; j++) {
             if (formData.data.orderSkuList[i].orderSkuBomList[j].quantity && formData.data.orderSkuList[i].orderSkuBomList[j].unitPrice) {
@@ -748,9 +806,15 @@ const calculatedAmount = () => {
                     100
                 ) / 100
               );
+              money = Number(
+                Math.round(
+                  (money + formData.data.orderSkuList[i].orderSkuBomList[j].quantity * formData.data.orderSkuList[i].orderSkuBomList[j].unitPrice) * 100
+                ) / 100
+              );
             }
           }
         }
+        formData.data.orderSkuList[i].packagingMaterialCost = money;
       }
     }
   }