From 3ab45f295fb26c7794b4829976f3fb20c68a012e Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 22 一月 2026 10:33:41 +0800
Subject: [PATCH] 新疆海川开心 1.采购模块的计算都改为保留三位小数并且不四舍五入
---
src/views/procurementManagement/invoiceEntry/components/Modal.vue | 52 ++++++++++++++++++++++++++++++++++++----------------
1 files changed, 36 insertions(+), 16 deletions(-)
diff --git a/src/views/procurementManagement/invoiceEntry/components/Modal.vue b/src/views/procurementManagement/invoiceEntry/components/Modal.vue
index 475eabc..ba31332 100644
--- a/src/views/procurementManagement/invoiceEntry/components/Modal.vue
+++ b/src/views/procurementManagement/invoiceEntry/components/Modal.vue
@@ -1,5 +1,5 @@
<template>
- <el-dialog :title="modalOptions.title" v-model="visible" width="70%">
+ <el-dialog :title="modalOptions.title" v-model="visible" width="70%" draggable>
<el-form
ref="formRef"
:model="form"
@@ -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;
}
@@ -408,7 +409,6 @@
// 璁剧疆琛ㄥ崟鏁版嵁锛堜娇鐢ㄧ涓�涓悎鍚岀殑鍩烘湰淇℃伅锛岄噰璐悎鍚屽彿鐣欑┖锛�
form.purchaseLedgerNo = ""; // 閲囪喘鍚堝悓鍙风暀绌猴紝鍥犱负浼氬湪浜у搧琛ㄦ牸涓垎鍒樉绀�
- form.invoiceAmount = 0;
form.invoiceNumber = "";
form.entryDate = dayjs().format("YYYY-MM-DD");
form.enterDate = dayjs().format("YYYY-MM-DD");
@@ -419,7 +419,27 @@
form.issUerId = userStore.id;
form.issUer = userStore.nickName;
+ // 璁剧疆浜у搧鏁版嵁锛屽苟鍒濆鍖栧紑绁ㄦ暟閲忓拰閲戦
+ allProductData.forEach(item => {
+ // 鏈寮�绁ㄦ暟榛樿涓烘�绘暟閲�
+ item.ticketsNum = Number(item.quantity || 0);
+ // 鏈寮�绁ㄩ噾棰濋粯璁や负鍚◣鎬讳环
+ item.ticketsAmount = Number(item.taxInclusiveTotalPrice || 0);
+ // 淇濆瓨鍘熷鏈潵绁ㄦ暟鍜岄噾棰濓紙鐢ㄤ簬璁$畻锛�
+ item.tempFutureTickets = Number(item.quantity || 0);
+ item.tempFutureTicketsAmount = Number(item.taxInclusiveTotalPrice || 0);
+ // 鏈潵绁ㄦ暟鍜岄噾棰濆垵濮嬩负0锛堝洜涓哄叏閮ㄥ紑绁級
+ item.futureTickets = 0;
+ item.futureTicketsAmount = 0;
+ });
+
form.productData = allProductData;
+
+ // 璁$畻鍙戠エ閲戦锛氭墍鏈変骇鍝佺殑鍚◣鎬讳环涔嬪拰
+ const totalAmount = allProductData.reduce((sum, item) => {
+ return sum + (Number(item.taxInclusiveTotalPrice) || 0);
+ }, 0);
+ form.invoiceAmount = truncate(totalAmount, 3);
// 瀛樺偍閫変腑鐨勫悎鍚屾暟鎹�
selectedContracts.value = selectedRows;
@@ -461,11 +481,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();
};
@@ -481,12 +501,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();
};
@@ -497,7 +517,7 @@
invoiceAmountTotal += Number(item.ticketsAmount);
}
});
- form.invoiceAmount = invoiceAmountTotal.toFixed(2);
+ form.invoiceAmount = truncate(invoiceAmountTotal, 3);
};
const open = async (type, selectedRows) => {
--
Gitblit v1.9.3