Browse Source

调整快递包材费计算方式

lxf 1 year ago
parent
commit
6bcb281e2b

+ 1 - 1
src/views/group/order/management/detail.vue

@@ -1085,7 +1085,7 @@ const onPreviewFile = (file) => {
   window.open(file.raw.fileUrl, "_blank");
   window.open(file.raw.fileUrl, "_blank");
 };
 };
 const computeDeliveryMaterialsFee = () => {
 const computeDeliveryMaterialsFee = () => {
-  let money = calculatedAmount("deliveryMaterialsFee");
+  let money = 0;
   if (formData.data.orderPackageBomList && formData.data.orderPackageBomList.length > 0) {
   if (formData.data.orderPackageBomList && formData.data.orderPackageBomList.length > 0) {
     for (let i = 0; i < formData.data.orderPackageBomList.length; i++) {
     for (let i = 0; i < formData.data.orderPackageBomList.length; i++) {
       if (formData.data.orderPackageBomList[i].internalSellingPrice && formData.data.orderPackageBomList[i].quantity) {
       if (formData.data.orderPackageBomList[i].internalSellingPrice && formData.data.orderPackageBomList[i].quantity) {

+ 16 - 7
src/views/subsidiary/order/management/add.vue

@@ -123,7 +123,7 @@
                           </div>
                           </div>
                           <div style="line-height: 35px">
                           <div style="line-height: 35px">
                             <span style="color: black; font-weight: 700">快递包材费: </span>
                             <span style="color: black; font-weight: 700">快递包材费: </span>
-                            <span>{{ item.deliveryMaterialsFee }}</span>
+                            <span>{{ computeSingleDeliveryMaterialsFee(index) }}</span>
                           </div>
                           </div>
                           <div style="line-height: 35px">
                           <div style="line-height: 35px">
                             <span style="color: black; font-weight: 700">包装人工费: </span>
                             <span style="color: black; font-weight: 700">包装人工费: </span>
@@ -1224,11 +1224,6 @@ const handleAdhesiveSuccess = (UploadFile, index) => {
     fileUrl: UploadFile.raw.fileUrl,
     fileUrl: UploadFile.raw.fileUrl,
   };
   };
 };
 };
-const formShippingPackage = reactive({
-  data: {
-    assemblyName: "",
-  },
-});
 const rulesShippingPackage = ref({
 const rulesShippingPackage = ref({
   quantity: [{ required: true, message: "请输入数量", trigger: "blur" }],
   quantity: [{ required: true, message: "请输入数量", trigger: "blur" }],
 });
 });
@@ -1361,7 +1356,7 @@ const getShippingPackage = () => {
   }
   }
 };
 };
 const computeDeliveryMaterialsFee = () => {
 const computeDeliveryMaterialsFee = () => {
-  let money = calculatedAmount("deliveryMaterialsFee");
+  let money = 0;
   if (formData.data.orderPackageBomList && formData.data.orderPackageBomList.length > 0) {
   if (formData.data.orderPackageBomList && formData.data.orderPackageBomList.length > 0) {
     for (let i = 0; i < formData.data.orderPackageBomList.length; i++) {
     for (let i = 0; i < formData.data.orderPackageBomList.length; i++) {
       if (formData.data.orderPackageBomList[i].internalSellingPrice && formData.data.orderPackageBomList[i].quantity) {
       if (formData.data.orderPackageBomList[i].internalSellingPrice && formData.data.orderPackageBomList[i].quantity) {
@@ -1377,6 +1372,20 @@ const openViewPackaging = ref(false);
 const clickViewPackaging = () => {
 const clickViewPackaging = () => {
   openViewPackaging.value = true;
   openViewPackaging.value = true;
 };
 };
+const computeSingleDeliveryMaterialsFee = (index) => {
+  let money = computeDeliveryMaterialsFee();
+  let list = formData.data.orderSkuList.filter((item) => item.quantity > 0);
+  let num = 0;
+  let singlePrice = 0;
+  if (list && list.length > 0) {
+    for (let i = 0; i < list.length; i++) {
+      num = Number(Math.round(num + list[i].quantity));
+    }
+    singlePrice = Number(Math.ceil((money / num) * 100) / 100);
+  }
+  formData.data.orderSkuList[index].deliveryMaterialsFee = singlePrice;
+  return formData.data.orderSkuList[index].deliveryMaterialsFee;
+};
 </script>
 </script>
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>

+ 16 - 7
src/views/subsidiary/order/management/design.vue

@@ -61,7 +61,7 @@
                           </div>
                           </div>
                           <div style="line-height: 35px">
                           <div style="line-height: 35px">
                             <span style="color: black; font-weight: 700">快递包材费: </span>
                             <span style="color: black; font-weight: 700">快递包材费: </span>
-                            <span>{{ item.deliveryMaterialsFee }}</span>
+                            <span>{{ computeSingleDeliveryMaterialsFee(index) }}</span>
                           </div>
                           </div>
                           <div style="line-height: 35px">
                           <div style="line-height: 35px">
                             <span style="color: black; font-weight: 700">包装人工费: </span>
                             <span style="color: black; font-weight: 700">包装人工费: </span>
@@ -924,11 +924,6 @@ const handleAdhesiveSuccess = (UploadFile, index) => {
     fileUrl: UploadFile.raw.fileUrl,
     fileUrl: UploadFile.raw.fileUrl,
   };
   };
 };
 };
-const formShippingPackage = reactive({
-  data: {
-    assemblyName: "",
-  },
-});
 const rulesShippingPackage = ref({
 const rulesShippingPackage = ref({
   quantity: [{ required: true, message: "请输入数量", trigger: "blur" }],
   quantity: [{ required: true, message: "请输入数量", trigger: "blur" }],
 });
 });
@@ -1011,7 +1006,7 @@ const selectExpressPacking = (data) => {
   ElMessage({ message: "添加成功", type: "success" });
   ElMessage({ message: "添加成功", type: "success" });
 };
 };
 const computeDeliveryMaterialsFee = () => {
 const computeDeliveryMaterialsFee = () => {
-  let money = calculatedAmount("deliveryMaterialsFee");
+  let money = 0;
   if (formData.data.orderPackageBomList && formData.data.orderPackageBomList.length > 0) {
   if (formData.data.orderPackageBomList && formData.data.orderPackageBomList.length > 0) {
     for (let i = 0; i < formData.data.orderPackageBomList.length; i++) {
     for (let i = 0; i < formData.data.orderPackageBomList.length; i++) {
       if (formData.data.orderPackageBomList[i].internalSellingPrice && formData.data.orderPackageBomList[i].quantity) {
       if (formData.data.orderPackageBomList[i].internalSellingPrice && formData.data.orderPackageBomList[i].quantity) {
@@ -1023,6 +1018,20 @@ const computeDeliveryMaterialsFee = () => {
   }
   }
   return money;
   return money;
 };
 };
+const computeSingleDeliveryMaterialsFee = (index) => {
+  let money = computeDeliveryMaterialsFee();
+  let list = formData.data.orderSkuList.filter((item) => item.quantity > 0);
+  let num = 0;
+  let singlePrice = 0;
+  if (list && list.length > 0) {
+    for (let i = 0; i < list.length; i++) {
+      num = Number(Math.round(num + list[i].quantity));
+    }
+    singlePrice = Number(Math.ceil((money / num) * 100) / 100);
+  }
+  formData.data.orderSkuList[index].deliveryMaterialsFee = singlePrice;
+  return formData.data.orderSkuList[index].deliveryMaterialsFee;
+};
 </script>
 </script>
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>