From 7e1c5eb99eda42ff9d54b7ecf1bbab9920dc17e6 Mon Sep 17 00:00:00 2001
From: 张诺 <zhang_12370@163.com>
Date: 星期一, 20 四月 2026 11:23:36 +0800
Subject: [PATCH] feat(采购/销售台账): 将价格和数量精度从2位改为3位小数

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

diff --git a/src/views/procurementManagement/procurementLedger/index.vue b/src/views/procurementManagement/procurementLedger/index.vue
index 5c83ab2..83616a3 100644
--- a/src/views/procurementManagement/procurementLedger/index.vue
+++ b/src/views/procurementManagement/procurementLedger/index.vue
@@ -233,7 +233,7 @@
                 <el-option v-for="item in supplierList"
                            :key="item.id"
                            :label="item.supplierName"
-                           :value="item.id" />
+													 :value="item.id" >{{item.supplierName + '---' + item.supplierType}}</el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -599,7 +599,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 +612,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 +626,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 +638,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 +665,7 @@
             <el-form-item label="搴撳瓨棰勮鏁伴噺锛�"
                           prop="warnNum">
               <el-input-number v-model="productForm.warnNum"
-                               :precision="2"
+                               :precision="3"
                                :step="0.1"
                                :min="0"
                                clearable
@@ -921,9 +921,9 @@
       approverId: [
         { required: true, message: "璇烽�夋嫨瀹℃壒浜�", trigger: "change" },
       ],
-      projectName: [
-        { required: true, message: "璇疯緭鍏ラ」鐩悕绉�", trigger: "blur" },
-      ],
+      // projectName: [
+      //   { required: true, message: "璇疯緭鍏ラ」鐩悕绉�", trigger: "blur" },
+      // ],
       supplierId: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
       entryDate: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
       executionDate: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
@@ -1067,7 +1067,7 @@
   };
 
   const formattedNumber = (row, column, cellValue) => {
-    return parseFloat(cellValue).toFixed(2);
+    return parseFloat(cellValue).toFixed(3);
   };
   // 鏌ヨ鍒楄〃
   /** 鎼滅储鎸夐挳鎿嶄綔 */
@@ -1191,6 +1191,9 @@
       {
         ticketsNum: { noDecimal: true }, // 涓嶄繚鐣欏皬鏁�
         futureTickets: { noDecimal: true }, // 涓嶄繚鐣欏皬鏁�
+        taxInclusiveUnitPrice: { decimalPlaces: 3 },
+        taxInclusiveTotalPrice: { decimalPlaces: 3 },
+        taxExclusiveTotalPrice: { decimalPlaces: 3 },
       }
     );
   };
@@ -1254,7 +1257,9 @@
   };
   // 涓昏〃鍚堣鏂规硶
   const summarizeMainTable = param => {
-    return proxy.summarizeTable(param, ["contractAmount"]);
+    return proxy.summarizeTable(param, ["contractAmount"], {
+      contractAmount: { decimalPlaces: 3 },
+    });
   };
   // 瀛愯〃鍚堣鏂规硶
   const summarizeProTable = param => {
@@ -1262,7 +1267,11 @@
       "taxInclusiveUnitPrice",
       "taxInclusiveTotalPrice",
       "taxExclusiveTotalPrice",
-    ]);
+    ], {
+      taxInclusiveUnitPrice: { decimalPlaces: 3 },
+      taxInclusiveTotalPrice: { decimalPlaces: 3 },
+      taxExclusiveTotalPrice: { decimalPlaces: 3 },
+    });
   };
   // 鎵撳紑寮规
   const openForm = async (type, row) => {
@@ -1648,7 +1657,7 @@
           delProduct(ids).then(res => {
             proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
             closeProductDia();
-            getSalesLedgerWithProducts({ id: currentId.value, type: 2 }).then(
+            getPurchaseById({ id: currentId.value, type: 2 }).then(
               res => {
                 productData.value = res.productData;
               }
@@ -1683,20 +1692,12 @@
   const handleDelete = () => {
     let ids = [];
     if (selectedRows.value.length > 0) {
-      // 妫�鏌ユ槸鍚︽湁浠栦汉缁存姢鐨勬暟鎹�
-      const unauthorizedData = selectedRows.value.filter(
-        item => item.recorderName !== userStore.nickName
-      );
-      if (unauthorizedData.length > 0) {
-        proxy.$modal.msgWarning("涓嶅彲鍒犻櫎浠栦汉缁存姢鐨勬暟鎹�");
-        return;
-      }
-      ids = selectedRows.value.map(item => item.id);
+      ids = selectedRows.value.filter(item => item.salesLedgerId === null).map(item => item.id);
     } else {
       proxy.$modal.msgWarning("璇烽�夋嫨鏁版嵁");
       return;
     }
-    ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚垹闄わ紝鏄惁纭鍒犻櫎锛�", "瀵煎嚭", {
+    ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚垹闄わ紝鏄惁纭鍒犻櫎锛�", "鍒犻櫎", {
       confirmButtonText: "纭",
       cancelButtonText: "鍙栨秷",
       type: "warning",
@@ -1734,14 +1735,16 @@
     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
         );
     }
   };
@@ -1772,7 +1775,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";
@@ -1783,7 +1786,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";
@@ -1793,7 +1796,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";
@@ -1803,7 +1806,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";
@@ -1813,7 +1816,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";
@@ -1824,7 +1827,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