瀏覽代碼

外箱包装费

lxf 1 年之前
父節點
當前提交
81ede97656

+ 14 - 0
src/components/process/order.vue

@@ -337,6 +337,7 @@
             <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">包装人工费: ¥{{ moneyFormat(calculatedAmount("packingLabor"), 2) }}</span>
             <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">包材费: ¥{{ moneyFormat(calculatedPackagingMaterialCost(), 2) }}</span>
             <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">管理费: ¥{{ moneyFormat(calculatedAmount("managementFee"), 2) }}</span>
+            <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">外箱包装费: ¥{{ moneyFormat(calculatedOuterBoxPackingFee(), 2) }}</span>
           </div>
           <div style="padding: 8px 0 0 0">
             <span style="font-weight: 700; color: red">订单总金额(含税): ¥{{ moneyFormat(calculatedTotalAmount(), 2) }}</span>
@@ -860,6 +861,7 @@ const calculatedTotalAmount = () => {
         calculatedAmount("deliveryMaterialsFee") +
         calculatedAmount("packingLabor") +
         calculatedAmount("managementFee") +
+        calculatedOuterBoxPackingFee() +
         calculatedPackagingMaterialCost()) *
         100
     ) / 100
@@ -942,6 +944,7 @@ const handleSubmit = async (flag) => {
         formData.data.deliveryMaterialsFee = calculatedAmount("deliveryMaterialsFee");
         formData.data.packingLabor = calculatedAmount("packingLabor");
         formData.data.managementFee = calculatedAmount("managementFee");
+        formData.data.outerBoxPackingFee = calculatedOuterBoxPackingFee();
         formData.data.packagingMaterialCost = calculatedPackagingMaterialCost();
         formData.data.totalAmount = calculatedTotalAmount();
         if (fileList.value && fileList.value.length > 0) {
@@ -1028,6 +1031,17 @@ const saveShippingPackage = (data) => {
   formData.data.orderPackageBomList = data.orderPackageBomList;
   formData.data.outerBoxSelfAdhesiveStickerFile = data.outerBoxSelfAdhesiveStickerFile;
 };
+const calculatedOuterBoxPackingFee = () => {
+  let money = 0;
+  if (formData.data.orderPackageBomList && formData.data.orderPackageBomList.length > 0) {
+    for (let i = 0; i < formData.data.orderPackageBomList.length; i++) {
+      if (formData.data.orderPackageBomList[i].costPrice && formData.data.orderPackageBomList[i].quantity) {
+        money = Number(Math.round((money + formData.data.orderPackageBomList[i].costPrice * formData.data.orderPackageBomList[i].quantity) * 100) / 100);
+      }
+    }
+  }
+  return money;
+};
 // 向父组件暴露
 defineExpose({ getFormData, handleSubmit, saveShippingPackage });
 </script>

+ 2 - 0
src/views/group/finance/check-bill/index.vue

@@ -61,6 +61,7 @@
               <el-table-column label="包装人工费 ¥" prop="packingLabor" align="right" width="110" />
               <el-table-column label="包材费 ¥" prop="packagingMaterialCost" align="right" width="100" />
               <el-table-column label="管理费 ¥" prop="managementFee" align="right" width="100" />
+              <el-table-column label="外箱包装费 ¥" prop="outerBoxPackingFee" align="right" width="110" />
               <el-table-column label="操作" align="center" fixed="right" width="60">
                 <template #default="{ $index }">
                   <el-button type="danger" @click="clickOrderDelete($index)" text>删除</el-button>
@@ -400,6 +401,7 @@ const selectOrder = (row) => {
     deliveryMaterialsFee: row.deliveryMaterialsFee,
     packingLabor: row.packingLabor,
     managementFee: row.managementFee,
+    outerBoxPackingFee: row.outerBoxPackingFee,
     packagingMaterialCost: row.packagingMaterialCost,
   });
   ElMessage({ message: "添加成功", type: "success" });

+ 13 - 0
src/views/group/order/already-removed/detail.vue

@@ -223,6 +223,7 @@
               <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">包装人工费: ¥{{ moneyFormat(calculatedAmount("packingLabor"), 2) }}</span>
               <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">包材费: ¥{{ moneyFormat(calculatedPackagingMaterialCost(), 2) }}</span>
               <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">管理费: ¥{{ moneyFormat(calculatedAmount("managementFee"), 2) }}</span>
+              <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">外箱包装费: ¥{{ moneyFormat(calculatedOuterBoxPackingFee(), 2) }}</span>
             </div>
             <div style="padding: 8px 0 0 0">
               <span style="font-weight: 700; color: red">订单总金额(含税): ¥{{ moneyFormat(calculatedTotalAmount(), 2) }}</span>
@@ -595,6 +596,7 @@ const calculatedTotalAmount = () => {
         calculatedAmount("deliveryMaterialsFee") +
         calculatedAmount("packingLabor") +
         calculatedAmount("managementFee") +
+        calculatedOuterBoxPackingFee() +
         calculatedPackagingMaterialCost()) *
         100
     ) / 100
@@ -618,6 +620,17 @@ const onSuccessFile = (any, UploadFile) => {
 const onPreviewFile = (file) => {
   window.open(file.raw.fileUrl, "_blank");
 };
+const calculatedOuterBoxPackingFee = () => {
+  let money = 0;
+  if (formData.data.orderPackageBomList && formData.data.orderPackageBomList.length > 0) {
+    for (let i = 0; i < formData.data.orderPackageBomList.length; i++) {
+      if (formData.data.orderPackageBomList[i].costPrice && formData.data.orderPackageBomList[i].quantity) {
+        money = Number(Math.round((money + formData.data.orderPackageBomList[i].costPrice * formData.data.orderPackageBomList[i].quantity) * 100) / 100);
+      }
+    }
+  }
+  return money;
+};
 </script>
 
 <style lang="scss" scoped>

+ 13 - 15
src/views/group/order/management/detail.vue

@@ -279,6 +279,7 @@
               <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">包装人工费: ¥{{ moneyFormat(calculatedAmount("packingLabor"), 2) }}</span>
               <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">包材费: ¥{{ moneyFormat(calculatedPackagingMaterialCost(), 2) }}</span>
               <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">管理费: ¥{{ moneyFormat(calculatedAmount("managementFee"), 2) }}</span>
+              <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">外箱包装费: ¥{{ moneyFormat(calculatedOuterBoxPackingFee(), 2) }}</span>
             </div>
             <div style="padding: 8px 0 0 0">
               <span style="font-weight: 700; color: red">订单总金额(含税): ¥{{ moneyFormat(calculatedTotalAmount(), 2) }}</span>
@@ -671,6 +672,7 @@ const submitChangePrice = () => {
         formData.data.deliveryMaterialsFee = calculatedAmount("deliveryMaterialsFee");
         formData.data.packingLabor = calculatedAmount("packingLabor");
         formData.data.managementFee = calculatedAmount("managementFee");
+        formData.data.outerBoxPackingFee = calculatedOuterBoxPackingFee();
         formData.data.packagingMaterialCost = calculatedPackagingMaterialCost();
         formData.data.totalAmount = calculatedTotalAmount();
         if (fileList.value && fileList.value.length > 0) {
@@ -835,6 +837,7 @@ const calculatedTotalAmount = () => {
         calculatedAmount("deliveryMaterialsFee") +
         calculatedAmount("packingLabor") +
         calculatedAmount("managementFee") +
+        calculatedOuterBoxPackingFee() +
         calculatedPackagingMaterialCost()) *
         100
     ) / 100
@@ -858,21 +861,16 @@ const onSuccessFile = (any, UploadFile) => {
 const onPreviewFile = (file) => {
   window.open(file.raw.fileUrl, "_blank");
 };
-const uploadAdhesiveData = ref({});
-const uploadAdhesiveFile = async (file) => {
-  const res = await proxy.post("/fileInfo/getSing", { fileName: file.name });
-  uploadAdhesiveData.value = res.uploadBody;
-  file.id = res.id;
-  file.fileName = res.fileName;
-  file.fileUrl = res.fileUrl;
-  return true;
-};
-const handleAdhesiveSuccess = (UploadFile, index) => {
-  formData.data.orderSkuList[index].selfAdhesiveStickerFile = {
-    id: UploadFile.raw.id,
-    fileName: UploadFile.raw.fileName,
-    fileUrl: UploadFile.raw.fileUrl,
-  };
+const calculatedOuterBoxPackingFee = () => {
+  let money = 0;
+  if (formData.data.orderPackageBomList && formData.data.orderPackageBomList.length > 0) {
+    for (let i = 0; i < formData.data.orderPackageBomList.length; i++) {
+      if (formData.data.orderPackageBomList[i].costPrice && formData.data.orderPackageBomList[i].quantity) {
+        money = Number(Math.round((money + formData.data.orderPackageBomList[i].costPrice * formData.data.orderPackageBomList[i].quantity) * 100) / 100);
+      }
+    }
+  }
+  return money;
 };
 </script>
 

+ 11 - 0
src/views/group/order/management/index.vue

@@ -318,6 +318,17 @@ const config = computed(() => {
     },
     {
       attrs: {
+        label: "外箱包装费 ¥",
+        prop: "outerBoxPackingFee",
+        width: 120,
+        align: "right",
+      },
+      render(val) {
+        return proxy.moneyFormat(val);
+      },
+    },
+    {
+      attrs: {
         label: "交期",
         prop: "deliveryTime",
         width: 160,

+ 11 - 0
src/views/group/order/product-management/index.vue

@@ -284,6 +284,17 @@ const config = computed(() => {
     },
     {
       attrs: {
+        label: "外箱包装费 ¥",
+        prop: "outerBoxPackingFee",
+        width: 120,
+        align: "right",
+      },
+      render(val) {
+        return proxy.moneyFormat(val);
+      },
+    },
+    {
+      attrs: {
         label: "下单时间",
         slot: "wlnCreateTime",
         width: 160,

+ 9 - 3
src/views/production/warehouse/inventory/index.vue

@@ -364,9 +364,15 @@ const clickSelect = (item) => {
   emit("selectBOM", item);
 };
 const deriveExcel = () => {
-  proxy.getFile("/inventory/exportExcel", sourceList.value.pagination).then((res) => {
-    proxy.downloadFile(res, "库存.xlsx");
-  });
+  if (route.query && route.query.backupDate) {
+    proxy.getFile("/inventory/exportBackExcel", sourceList.value.pagination).then((res) => {
+      proxy.downloadFile(res, "库存.xlsx");
+    });
+  } else {
+    proxy.getFile("/inventory/exportExcel", sourceList.value.pagination).then((res) => {
+      proxy.downloadFile(res, "库存.xlsx");
+    });
+  }
 };
 </script>
 

+ 14 - 0
src/views/subsidiary/order/management/add.vue

@@ -346,6 +346,7 @@
               <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">包装人工费: ¥{{ moneyFormat(calculatedAmount("packingLabor"), 2) }}</span>
               <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">包材费: ¥{{ moneyFormat(calculatedPackagingMaterialCost(), 2) }}</span>
               <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">管理费: ¥{{ moneyFormat(calculatedAmount("managementFee"), 2) }}</span>
+              <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">外箱包装费: ¥{{ moneyFormat(calculatedOuterBoxPackingFee(), 2) }}</span>
             </div>
             <div style="padding: 8px 0 0 0">
               <span style="font-weight: 700; color: red">订单总金额(含税): ¥{{ moneyFormat(calculatedTotalAmount(), 2) }}</span>
@@ -648,6 +649,7 @@ const submitForm = (status) => {
       formData.data.deliveryMaterialsFee = calculatedAmount("deliveryMaterialsFee");
       formData.data.packingLabor = calculatedAmount("packingLabor");
       formData.data.managementFee = calculatedAmount("managementFee");
+      formData.data.outerBoxPackingFee = calculatedOuterBoxPackingFee();
       formData.data.packagingMaterialCost = calculatedPackagingMaterialCost();
       formData.data.totalAmount = calculatedTotalAmount();
       if (fileList.value && fileList.value.length > 0) {
@@ -1004,6 +1006,7 @@ const calculatedTotalAmount = () => {
         calculatedAmount("deliveryMaterialsFee") +
         calculatedAmount("packingLabor") +
         calculatedAmount("managementFee") +
+        calculatedOuterBoxPackingFee() +
         calculatedPackagingMaterialCost()) *
         100
     ) / 100
@@ -1043,6 +1046,17 @@ const handleAdhesiveSuccess = (UploadFile, index) => {
     fileUrl: UploadFile.raw.fileUrl,
   };
 };
+const calculatedOuterBoxPackingFee = () => {
+  let money = 0;
+  if (formData.data.orderPackageBomList && formData.data.orderPackageBomList.length > 0) {
+    for (let i = 0; i < formData.data.orderPackageBomList.length; i++) {
+      if (formData.data.orderPackageBomList[i].costPrice && formData.data.orderPackageBomList[i].quantity) {
+        money = Number(Math.round((money + formData.data.orderPackageBomList[i].costPrice * formData.data.orderPackageBomList[i].quantity) * 100) / 100);
+      }
+    }
+  }
+  return money;
+};
 </script>
 
 <style lang="scss" scoped>

+ 14 - 0
src/views/subsidiary/order/management/design.vue

@@ -274,6 +274,7 @@
               <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">包装人工费: ¥{{ moneyFormat(calculatedAmount("packingLabor"), 2) }}</span>
               <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">包材费: ¥{{ moneyFormat(calculatedPackagingMaterialCost(), 2) }}</span>
               <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">管理费: ¥{{ moneyFormat(calculatedAmount("managementFee"), 2) }}</span>
+              <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">外箱包装费: ¥{{ moneyFormat(calculatedOuterBoxPackingFee(), 2) }}</span>
             </div>
             <div style="padding: 8px 0 0 0">
               <span style="font-weight: 700; color: red">订单总金额(含税): ¥{{ moneyFormat(calculatedTotalAmount(), 2) }}</span>
@@ -525,6 +526,7 @@ const submitForm = (status) => {
       formData.data.deliveryMaterialsFee = calculatedAmount("deliveryMaterialsFee");
       formData.data.packingLabor = calculatedAmount("packingLabor");
       formData.data.managementFee = calculatedAmount("managementFee");
+      formData.data.outerBoxPackingFee = calculatedOuterBoxPackingFee();
       formData.data.packagingMaterialCost = calculatedPackagingMaterialCost();
       formData.data.totalAmount = calculatedTotalAmount();
       if (fileList.value && fileList.value.length > 0) {
@@ -776,6 +778,7 @@ const calculatedTotalAmount = () => {
         calculatedAmount("deliveryMaterialsFee") +
         calculatedAmount("packingLabor") +
         calculatedAmount("managementFee") +
+        calculatedOuterBoxPackingFee() +
         calculatedPackagingMaterialCost()) *
         100
     ) / 100
@@ -815,6 +818,17 @@ const handleAdhesiveSuccess = (UploadFile, index) => {
     fileUrl: UploadFile.raw.fileUrl,
   };
 };
+const calculatedOuterBoxPackingFee = () => {
+  let money = 0;
+  if (formData.data.orderPackageBomList && formData.data.orderPackageBomList.length > 0) {
+    for (let i = 0; i < formData.data.orderPackageBomList.length; i++) {
+      if (formData.data.orderPackageBomList[i].costPrice && formData.data.orderPackageBomList[i].quantity) {
+        money = Number(Math.round((money + formData.data.orderPackageBomList[i].costPrice * formData.data.orderPackageBomList[i].quantity) * 100) / 100);
+      }
+    }
+  }
+  return money;
+};
 </script>
 
 <style lang="scss" scoped>

+ 12 - 1
src/views/subsidiary/order/management/index.vue

@@ -269,6 +269,17 @@ const config = computed(() => {
     },
     {
       attrs: {
+        label: "外箱包装费 ¥",
+        prop: "outerBoxPackingFee",
+        width: 120,
+        align: "right",
+      },
+      render(val) {
+        return proxy.moneyFormat(val);
+      },
+    },
+    {
+      attrs: {
         label: "交期",
         prop: "deliveryTime",
         width: 160,
@@ -467,7 +478,7 @@ watch(refreshStore().refresh, (val) => {
   }
 });
 const judgeRoles = () => {
-  let status = false;
+  let status = true;
   if (proxy.useUserStore().user.roles && proxy.useUserStore().user.roles.length > 0) {
     let list = proxy.useUserStore().user.roles.filter((item) => ["purchasingOfficer", "sypurchasing", "bzpurchasing"].includes(item.roleKey));
     if (list && list.length > 0) {

+ 11 - 0
src/views/subsidiary/order/productManagement/index.vue

@@ -269,6 +269,17 @@ const config = computed(() => {
     },
     {
       attrs: {
+        label: "外箱包装费 ¥",
+        prop: "outerBoxPackingFee",
+        width: 120,
+        align: "right",
+      },
+      render(val) {
+        return proxy.moneyFormat(val);
+      },
+    },
+    {
+      attrs: {
         label: "下单时间",
         slot: "wlnCreateTime",
         width: 160,