From 9f396e3cc7f18fb626931d01190ecac6235e4790 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 24 三月 2026 09:32:49 +0800
Subject: [PATCH] 新疆海川开心 1.回款登记、付款登记要能批量操作

---
 src/views/procurementManagement/invoiceEntry/components/Modal.vue |   46 ++++++++++++++++++++++++----------------------
 1 files changed, 24 insertions(+), 22 deletions(-)

diff --git a/src/views/procurementManagement/invoiceEntry/components/Modal.vue b/src/views/procurementManagement/invoiceEntry/components/Modal.vue
index 90b8a9a..836e338 100644
--- a/src/views/procurementManagement/invoiceEntry/components/Modal.vue
+++ b/src/views/procurementManagement/invoiceEntry/components/Modal.vue
@@ -149,7 +149,7 @@
 				<el-table-column label="鏈寮�绁ㄦ暟" prop="ticketsNum" width="180">
 					<template #default="scope">
 						<el-input-number :step="0.1" :min="0" style="width: 100%"
-														 :precision="2"
+														 :precision="3"
 														 v-model="scope.row.ticketsNum"
 														 @change="invoiceNumBlur(scope.row)"
 						/>
@@ -162,7 +162,7 @@
 				>
 					<template #default="scope">
 						<el-input-number :step="0.01" :min="0" style="width: 100%"
-														 :precision="2"
+														 :precision="3"
 														 v-model="scope.row.ticketsAmount"
 														 @change="invoiceAmountBlur(scope.row)"
 						/>
@@ -214,6 +214,7 @@
 import { getToken } from "@/utils/auth";
 import useUserStore from "@/store/modules/user";
 import dayjs from "dayjs";
+import { truncate } from "@/utils/index.js";
 
 defineOptions({
 	name: "鏉ョエ鐧昏妯℃�佹",
@@ -303,7 +304,7 @@
 		prop: "taxInclusiveUnitPrice",
 		width: 150,
 		formatData: (val) => {
-			return val ? parseFloat(val).toFixed(2) : 0;
+			return val ? truncate(parseFloat(val), 3) : 0;
 		},
 	},
 	{
@@ -311,7 +312,7 @@
 		prop: "taxInclusiveTotalPrice",
 		width: 150,
 		formatData: (val) => {
-			return parseFloat(val).toFixed(2) ?? 0;
+			return val ? truncate(parseFloat(val), 3) : 0;
 		},
 	},
 	{
@@ -319,7 +320,7 @@
 		prop: "taxExclusiveTotalPrice",
 		width: 150,
 		formatData: (val) => {
-			return parseFloat(val).toFixed(2) ?? 0;
+			return val ? truncate(parseFloat(val), 3) : 0;
 		},
 	},
 	{
@@ -351,10 +352,10 @@
 ];
 const formattedNumber = (row, column, cellValue) => {
 	if (cellValue == 0) {
-		return parseFloat(cellValue).toFixed(2);
+		return truncate(parseFloat(cellValue), 3);
 	}
 	if (cellValue) {
-		return parseFloat(cellValue).toFixed(2);
+		return truncate(parseFloat(cellValue), 3);
 	} else {
 		return cellValue;
 	}
@@ -395,14 +396,15 @@
 				const contractId = contract.id;
 				if (result.data && result.data.productData) {
 					result.data.productData.forEach(item => {
-						allProductData.push({
-							...item,
-							id: contractId, // 鏄庣‘璁剧疆鍚堝悓ID
-							purchaseLedgerNo: contract.purchaseContractNumber, // 娣诲姞閲囪喘鍚堝悓鍙�
-							supplierName: contract.supplierName, // 娣诲姞渚涘簲鍟嗗悕绉�
-							projectName: contract.projectName // 娣诲姞椤圭洰鍚嶇О
-						});
+					allProductData.push({
+						...item,
+						id: item.id, // 淇濈暀浜у搧鍘熸湰鐨処D
+						salesLedgerId: contractId, // 鍚堝悓ID瀛樺偍鍦╯alesLedgerId瀛楁
+						purchaseLedgerNo: contract.purchaseContractNumber, // 娣诲姞閲囪喘鍚堝悓鍙�
+						supplierName: contract.supplierName, // 娣诲姞渚涘簲鍟嗗悕绉�
+						projectName: contract.projectName // 娣诲姞椤圭洰鍚嶇О
 					});
+				});
 				}
 			});
 			
@@ -438,7 +440,7 @@
 			const totalAmount = allProductData.reduce((sum, item) => {
 				return sum + (Number(item.taxInclusiveTotalPrice) || 0);
 			}, 0);
-			form.invoiceAmount = totalAmount.toFixed(2);
+			form.invoiceAmount = truncate(totalAmount, 3);
 			
 			// 瀛樺偍閫変腑鐨勫悎鍚屾暟鎹�
 			selectedContracts.value = selectedRows;
@@ -480,11 +482,11 @@
 		return;
 	}
 	// 璁$畻鏈鏉ョエ閲戦
-	row.ticketsAmount = (row.ticketsNum * row.taxInclusiveUnitPrice).toFixed(2)
+	row.ticketsAmount = truncate(row.ticketsNum * row.taxInclusiveUnitPrice, 3)
 	// 璁$畻鏈潵绁ㄦ暟
-	row.futureTickets = (row.tempFutureTickets - row.ticketsNum).toFixed(2)
+	row.futureTickets = truncate(row.tempFutureTickets - row.ticketsNum, 3)
 	// 璁$畻鏈潵绁ㄩ噾棰�
-	row.futureTicketsAmount = (row.tempFutureTicketsAmount - row.ticketsAmount).toFixed(2)
+	row.futureTicketsAmount = truncate(row.tempFutureTicketsAmount - row.ticketsAmount, 3)
 	calculateinvoiceAmount();
 };
 
@@ -500,12 +502,12 @@
 	}
 	// 璁$畻鏈鏉ョエ鏁�
 	row.ticketsNum = Number(
-		(row.ticketsAmount / row.taxInclusiveUnitPrice).toFixed(2)
+		truncate(row.ticketsAmount / row.taxInclusiveUnitPrice, 3)
 	);
 	// 璁$畻鏈潵绁ㄦ暟
-	row.futureTickets = (row.tempFutureTickets - row.ticketsNum).toFixed(2)
+	row.futureTickets = truncate(row.tempFutureTickets - row.ticketsNum, 3)
 	// 璁$畻鏈潵绁ㄩ噾棰�
-	row.futureTicketsAmount = (row.tempFutureTicketsAmount - row.ticketsAmount).toFixed(2)
+	row.futureTicketsAmount = truncate(row.tempFutureTicketsAmount - row.ticketsAmount, 3)
 	calculateinvoiceAmount();
 };
 
@@ -516,7 +518,7 @@
 			invoiceAmountTotal += Number(item.ticketsAmount);
 		}
 	});
-	form.invoiceAmount = invoiceAmountTotal.toFixed(2);
+	form.invoiceAmount = truncate(invoiceAmountTotal, 3);
 };
 
 const open = async (type, selectedRows) => {

--
Gitblit v1.9.3