From e705ef7b15c04307d6f37b388564dedfaeef4a55 Mon Sep 17 00:00:00 2001
From: 张诺 <zhang_12370@163.com>
Date: 星期二, 21 四月 2026 15:27:09 +0800
Subject: [PATCH] 阳光彩印web 生产报工的机台展示

---
 src/views/procurementManagement/procurementLedger/index.vue |   85 +++++++++++++++++++++++++++---------------
 1 files changed, 54 insertions(+), 31 deletions(-)

diff --git a/src/views/procurementManagement/procurementLedger/index.vue b/src/views/procurementManagement/procurementLedger/index.vue
index 6bde887..74394d5 100644
--- a/src/views/procurementManagement/procurementLedger/index.vue
+++ b/src/views/procurementManagement/procurementLedger/index.vue
@@ -584,12 +584,14 @@
                          placeholder="璇烽�夋嫨"
                          clearable
                          @change="mathNum">
+                <el-option label="0"
+                           :value="0" />
                 <el-option label="1"
-                           value="1" />
+                           :value="1" />
                 <el-option label="6"
-                           value="6" />
+                           :value="6" />
                 <el-option label="13"
-                           value="13" />
+                           :value="13" />
               </el-select>
             </el-form-item>
           </el-col>
@@ -599,7 +601,7 @@
             <el-form-item label="鍚◣鍗曚环(鍏�)锛�"
                           prop="taxInclusiveUnitPrice">
               <el-input-number v-model="productForm.taxInclusiveUnitPrice"
-                               :precision="2"
+                               :precision="3"
                                :step="0.1"
                                :min="0"
                                clearable
@@ -612,7 +614,7 @@
                           prop="quantity">
               <el-input-number :step="0.1"
                                clearable
-                               :precision="2"
+                               :precision="3"
                                :min="0"
                                style="width: 100%"
                                v-model="productForm.quantity"
@@ -626,7 +628,7 @@
             <el-form-item label="鍚◣鎬讳环(鍏�)锛�"
                           prop="taxInclusiveTotalPrice">
               <el-input-number v-model="productForm.taxInclusiveTotalPrice"
-                               :precision="2"
+                               :precision="3"
                                :step="0.1"
                                :min="0"
                                clearable
@@ -638,7 +640,7 @@
             <el-form-item label="涓嶅惈绋庢�讳环(鍏�)锛�"
                           prop="taxExclusiveTotalPrice">
               <el-input-number v-model="productForm.taxExclusiveTotalPrice"
-                               :precision="2"
+                               :precision="3"
                                :step="0.1"
                                :min="0"
                                clearable
@@ -665,7 +667,7 @@
             <el-form-item label="搴撳瓨棰勮鏁伴噺锛�"
                           prop="warnNum">
               <el-input-number v-model="productForm.warnNum"
-                               :precision="2"
+                               :precision="3"
                                :step="0.1"
                                :min="0"
                                clearable
@@ -955,7 +957,7 @@
       unit: "",
       quantity: "",
       taxInclusiveUnitPrice: "",
-      taxRate: "",
+      taxRate: 0,
       taxInclusiveTotalPrice: "",
       taxExclusiveTotalPrice: "",
       invoiceType: "",
@@ -970,7 +972,7 @@
       taxInclusiveUnitPrice: [
         { required: true, message: "璇疯緭鍏�", trigger: "blur" },
       ],
-      taxRate: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+      // taxRate: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
       warnNum: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
       taxInclusiveTotalPrice: [
         { required: true, message: "璇疯緭鍏�", trigger: "blur" },
@@ -978,7 +980,7 @@
       taxExclusiveTotalPrice: [
         { required: true, message: "璇疯緭鍏�", trigger: "blur" },
       ],
-      invoiceType: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+      // invoiceType: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
       isChecked: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
     },
   });
@@ -1067,7 +1069,7 @@
   };
 
   const formattedNumber = (row, column, cellValue) => {
-    return parseFloat(cellValue).toFixed(2);
+    return parseFloat(cellValue).toFixed(3);
   };
   // 鏌ヨ鍒楄〃
   /** 鎼滅储鎸夐挳鎿嶄綔 */
@@ -1191,6 +1193,9 @@
       {
         ticketsNum: { noDecimal: true }, // 涓嶄繚鐣欏皬鏁�
         futureTickets: { noDecimal: true }, // 涓嶄繚鐣欏皬鏁�
+        taxInclusiveUnitPrice: { decimalPlaces: 3 },
+        taxInclusiveTotalPrice: { decimalPlaces: 3 },
+        taxExclusiveTotalPrice: { decimalPlaces: 3 },
       }
     );
   };
@@ -1254,7 +1259,9 @@
   };
   // 涓昏〃鍚堣鏂规硶
   const summarizeMainTable = param => {
-    return proxy.summarizeTable(param, ["contractAmount"]);
+    return proxy.summarizeTable(param, ["contractAmount"], {
+      contractAmount: { decimalPlaces: 3 },
+    });
   };
   // 瀛愯〃鍚堣鏂规硶
   const summarizeProTable = param => {
@@ -1262,7 +1269,11 @@
       "taxInclusiveUnitPrice",
       "taxInclusiveTotalPrice",
       "taxExclusiveTotalPrice",
-    ]);
+    ], {
+      taxInclusiveUnitPrice: { decimalPlaces: 3 },
+      taxInclusiveTotalPrice: { decimalPlaces: 3 },
+      taxExclusiveTotalPrice: { decimalPlaces: 3 },
+    });
   };
   // 鎵撳紑寮规
   const openForm = async (type, row) => {
@@ -1461,7 +1472,10 @@
   const openProductForm = async (type, row, index) => {
     productOperationType.value = type;
     productOperationIndex.value = index;
-    productForm.value = {};
+    productForm.value = {
+      taxRate: 0,
+      invoiceType: "澧炴櫘绁�"
+    };
     proxy.resetForm("productFormRef");
     productFormVisible.value = true;
     
@@ -1712,10 +1726,10 @@
     return `${year}-${month}-${day}`;
   }
   const mathNum = () => {
-    if (!productForm.value.taxRate) {
-      proxy.$modal.msgWarning("璇峰厛閫夋嫨绋庣巼");
-      return;
-    }
+    // if (!productForm.value.taxRate) {
+    //   proxy.$modal.msgWarning("璇峰厛閫夋嫨绋庣巼");
+    //   return;
+    // }
     if (!productForm.value.taxInclusiveUnitPrice) {
       return;
     }
@@ -1726,22 +1740,31 @@
     productForm.value.taxInclusiveTotalPrice =
       proxy.calculateTaxIncludeTotalPrice(
         productForm.value.taxInclusiveUnitPrice,
-        productForm.value.quantity
+        productForm.value.quantity,
+        3
       );
     if (productForm.value.taxRate) {
       // 涓嶅惈绋庢�讳环璁$畻
       productForm.value.taxExclusiveTotalPrice =
         proxy.calculateTaxExclusiveTotalPrice(
           productForm.value.taxInclusiveTotalPrice,
-          productForm.value.taxRate
+          productForm.value.taxRate,
+          3
         );
+    }else{
+      productForm.value.taxExclusiveTotalPrice =
+      proxy.calculateTaxIncludeTotalPrice(
+          productForm.value.taxInclusiveUnitPrice,
+          productForm.value.quantity,
+          3
+      );
     }
   };
   const reverseMathNum = field => {
-    if (!productForm.value.taxRate) {
-      proxy.$modal.msgWarning("璇峰厛閫夋嫨绋庣巼");
-      return;
-    }
+    // if (!productForm.value.taxRate) {
+    //   proxy.$modal.msgWarning("璇峰厛閫夋嫨绋庣巼");
+    //   return;
+    // }
     const taxRate = Number(productForm.value.taxRate);
     if (!taxRate) return;
 
@@ -1764,7 +1787,7 @@
         productForm.value.taxInclusiveUnitPrice = (
           Number(productForm.value.taxInclusiveTotalPrice) /
           Number(productForm.value.quantity)
-        ).toFixed(2);
+        ).toFixed(3);
         // 纭繚缁撴灉涓嶄负璐熸暟
         if (Number(productForm.value.taxInclusiveUnitPrice) < 0) {
           productForm.value.taxInclusiveUnitPrice = "0";
@@ -1775,7 +1798,7 @@
         productForm.value.quantity = (
           Number(productForm.value.taxInclusiveTotalPrice) /
           Number(productForm.value.taxInclusiveUnitPrice)
-        ).toFixed(2);
+        ).toFixed(3);
         // 纭繚缁撴灉涓嶄负璐熸暟
         if (Number(productForm.value.quantity) < 0) {
           productForm.value.quantity = "0";
@@ -1785,7 +1808,7 @@
       productForm.value.taxExclusiveTotalPrice = (
         Number(productForm.value.taxInclusiveTotalPrice) /
         (1 + taxRate / 100)
-      ).toFixed(2);
+      ).toFixed(3);
       // 纭繚缁撴灉涓嶄负璐熸暟
       if (Number(productForm.value.taxExclusiveTotalPrice) < 0) {
         productForm.value.taxExclusiveTotalPrice = "0";
@@ -1795,7 +1818,7 @@
       productForm.value.taxInclusiveTotalPrice = (
         Number(productForm.value.taxExclusiveTotalPrice) *
         (1 + taxRate / 100)
-      ).toFixed(2);
+      ).toFixed(3);
       // 纭繚缁撴灉涓嶄负璐熸暟
       if (Number(productForm.value.taxInclusiveTotalPrice) < 0) {
         productForm.value.taxInclusiveTotalPrice = "0";
@@ -1805,7 +1828,7 @@
         productForm.value.taxInclusiveUnitPrice = (
           Number(productForm.value.taxInclusiveTotalPrice) /
           Number(productForm.value.quantity)
-        ).toFixed(2);
+        ).toFixed(3);
         // 纭繚缁撴灉涓嶄负璐熸暟
         if (Number(productForm.value.taxInclusiveUnitPrice) < 0) {
           productForm.value.taxInclusiveUnitPrice = "0";
@@ -1816,7 +1839,7 @@
         productForm.value.quantity = (
           Number(productForm.value.taxInclusiveTotalPrice) /
           Number(productForm.value.taxInclusiveUnitPrice)
-        ).toFixed(2);
+        ).toFixed(3);
         // 纭繚缁撴灉涓嶄负璐熸暟
         if (Number(productForm.value.quantity) < 0) {
           productForm.value.quantity = "0";

--
Gitblit v1.9.3