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/procurementLedger/index.vue | 77 ++++++++++++++++++++++++--------------
1 files changed, 49 insertions(+), 28 deletions(-)
diff --git a/src/views/procurementManagement/procurementLedger/index.vue b/src/views/procurementManagement/procurementLedger/index.vue
index f5dc910..575b6e7 100644
--- a/src/views/procurementManagement/procurementLedger/index.vue
+++ b/src/views/procurementManagement/procurementLedger/index.vue
@@ -106,6 +106,12 @@
prop="supplierName"
show-overflow-tooltip
/>
+ <el-table-column
+ label="绛捐鏃ユ湡"
+ prop="executionDate"
+ width="100"
+ show-overflow-tooltip
+ />
<el-table-column
label="浠樻鏂瑰紡"
width="100"
@@ -174,6 +180,7 @@
</div>
<el-dialog
v-model="dialogFormVisible"
+ draggable
:title="operationType === 'add' ? '鏂板閲囪喘鍙拌处椤甸潰' : '缂栬緫閲囪喘鍙拌处椤甸潰'"
width="70%"
@close="closeDia"
@@ -404,6 +411,7 @@
</el-dialog>
<el-dialog
v-model="productFormVisible"
+ draggable
:title="productOperationType === 'add' ? '鏂板浜у搧' : '缂栬緫浜у搧'"
width="40%"
@close="closeProductDia"
@@ -469,7 +477,9 @@
@change="mathNum"
>
<el-option label="1" value="1" />
+ <el-option label="3" value="3" />
<el-option label="6" value="6" />
+ <el-option label="9" value="9" />
<el-option label="13" value="13" />
</el-select>
</el-form-item>
@@ -480,7 +490,7 @@
<el-form-item label="鍚◣鍗曚环(鍏�)锛�" prop="taxInclusiveUnitPrice">
<el-input-number
v-model="productForm.taxInclusiveUnitPrice"
- :precision="2"
+ :precision="3"
:step="0.1"
clearable
style="width: 100%"
@@ -493,7 +503,7 @@
<el-input-number
:step="0.1"
clearable
- :precision="2"
+ :precision="3"
style="width: 100%"
v-model="productForm.quantity"
placeholder="璇疯緭鍏�"
@@ -507,7 +517,7 @@
<el-form-item label="鍚◣鎬讳环(鍏�)锛�" prop="taxInclusiveTotalPrice">
<el-input-number
v-model="productForm.taxInclusiveTotalPrice"
- :precision="2"
+ :precision="3"
:step="0.1"
clearable
style="width: 100%"
@@ -544,7 +554,7 @@
<el-form-item label="搴撳瓨棰勮鏁伴噺锛�" prop="warnNum">
<el-input-number
v-model="productForm.warnNum"
- :precision="2"
+ :precision="3"
:step="0.1"
clearable
style="width: 100%"
@@ -628,7 +638,7 @@
<el-form-item label="鍚堝悓閲戦(鍏�)锛�" prop="contractAmount">
<el-input-number
v-model="scanAddForm.contractAmount"
- :precision="2"
+ :precision="3"
:step="0.1"
clearable
style="width: 100%"
@@ -812,6 +822,7 @@
import useUserStore from "@/store/modules/user";
import { modelList, productTreeList } from "@/api/basicData/product.js";
import dayjs from "dayjs";
+import { getCurrentDate, truncate } from "@/utils/index.js";
const userStore = useUserStore();
@@ -919,7 +930,7 @@
};
const formattedNumber = (row, column, cellValue) => {
- return parseFloat(cellValue).toFixed(2);
+ return truncate(parseFloat(cellValue), 3);
};
// 鏌ヨ鍒楄〃
/** 鎼滅储鎸夐挳鎿嶄綔 */
@@ -1029,6 +1040,11 @@
});
form.value.recorderId = userStore.id;
form.value.entryDate = getCurrentDate();
+ if (type === "add") {
+ // 鏂板鏃惰缃粯璁ゅ��
+ form.value.paymentMethod = "鐢垫眹"; // 浠樻鏂瑰紡榛樿涓虹數姹�
+ form.value.executionDate = getCurrentDate(); // 绛捐鏃ユ湡榛樿涓哄綋澶�
+ }
if (type === "edit") {
currentId.value = row.id;
getPurchaseById({ id: row.id, type: 2 }).then((res) => {
@@ -1100,6 +1116,12 @@
}
form.value.tempFileIds = tempFileIds;
form.value.type = 2;
+
+ // 濡傛灉salesLedgerId涓虹┖锛屽垯涓嶄紶閫抯alesContractNo
+ if (!form.value.salesLedgerId) {
+ form.value.salesContractNo = ''
+ }
+
addOrEditPurchase(form.value).then((res) => {
proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
closeDia();
@@ -1121,12 +1143,17 @@
proxy.resetForm("productFormRef");
if (type === "edit") {
productForm.value = { ...row };
+ } else {
+ // 鏂板浜у搧鏃惰缃粯璁ゅ��
+ productForm.value.taxRate = "13"; // 绋庣巼榛樿涓�13%
+ productForm.value.invoiceType = "澧炰笓绁�"; // 鍙戠エ绫诲瀷榛樿涓哄涓撶エ
+ productForm.value.warnNum = 500; // 棰勮閲忛粯璁や负500
}
productFormVisible.value = true;
getProductOptions();
};
const getProductOptions = () => {
- productTreeList().then((res) => {
+ productTreeList({productName: '閲囪喘'}).then((res) => {
productOptions.value = convertIdToValue(res);
});
};
@@ -1300,14 +1327,6 @@
proxy.$modal.msg("宸插彇娑�");
});
};
-// 鑾峰彇褰撳墠鏃ユ湡骞舵牸寮忓寲涓� YYYY-MM-DD
-function getCurrentDate() {
- const today = new Date();
- const year = today.getFullYear();
- const month = String(today.getMonth() + 1).padStart(2, "0"); // 鏈堜唤浠�0寮�濮�
- const day = String(today.getDate()).padStart(2, "0");
- return `${year}-${month}-${day}`;
-}
const mathNum = () => {
if (!productForm.value.taxRate) {
proxy.$modal.msgWarning("璇峰厛閫夋嫨绋庣巼");
@@ -1321,16 +1340,18 @@
}
// 鍚◣鎬讳环璁$畻
productForm.value.taxInclusiveTotalPrice =
- proxy.calculateTaxIncludeTotalPrice(
- productForm.value.taxInclusiveUnitPrice,
- productForm.value.quantity
+ truncate(
+ Number(productForm.value.taxInclusiveUnitPrice) * Number(productForm.value.quantity),
+ 3
);
if (productForm.value.taxRate) {
// 涓嶅惈绋庢�讳环璁$畻
+ const taxRate = Number(productForm.value.taxRate);
+ const taxRateDecimal = taxRate / 100;
productForm.value.taxExclusiveTotalPrice =
- proxy.calculateTaxExclusiveTotalPrice(
- productForm.value.taxInclusiveTotalPrice,
- productForm.value.taxRate
+ truncate(
+ Number(productForm.value.taxInclusiveTotalPrice) / (1 + taxRateDecimal),
+ 3
);
}
};
@@ -1345,29 +1366,29 @@
// 宸茬煡鍚◣鎬讳环鍜屾暟閲忥紝鍙嶇畻鍚◣鍗曚环
if (productForm.value.quantity) {
productForm.value.taxInclusiveUnitPrice =
- (Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.quantity)).toFixed(2);
+ truncate(Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.quantity), 3);
}
// 宸茬煡鍚◣鎬讳环鍜屽惈绋庡崟浠凤紝鍙嶇畻鏁伴噺
else if (productForm.value.taxInclusiveUnitPrice) {
productForm.value.quantity =
- (Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.taxInclusiveUnitPrice)).toFixed(2);
+ truncate(Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.taxInclusiveUnitPrice), 3);
}
// 鍙嶇畻涓嶅惈绋庢�讳环
productForm.value.taxExclusiveTotalPrice =
- (Number(productForm.value.taxInclusiveTotalPrice) / (1 + taxRate / 100)).toFixed(2);
+ truncate(Number(productForm.value.taxInclusiveTotalPrice) / (1 + taxRate / 100), 3);
} else if (field === 'taxExclusiveTotalPrice') {
// 鍙嶇畻鍚◣鎬讳环
productForm.value.taxInclusiveTotalPrice =
- (Number(productForm.value.taxExclusiveTotalPrice) * (1 + taxRate / 100)).toFixed(2);
+ truncate(Number(productForm.value.taxExclusiveTotalPrice) * (1 + taxRate / 100), 3);
// 宸茬煡鏁伴噺锛屽弽绠楀惈绋庡崟浠�
if (productForm.value.quantity) {
productForm.value.taxInclusiveUnitPrice =
- (Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.quantity)).toFixed(2);
+ truncate(Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.quantity), 3);
}
// 宸茬煡鍚◣鍗曚环锛屽弽绠楁暟閲�
else if (productForm.value.taxInclusiveUnitPrice) {
productForm.value.quantity =
- (Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.taxInclusiveUnitPrice)).toFixed(2);
+ truncate(Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.taxInclusiveUnitPrice), 3);
}
}
};
@@ -1581,4 +1602,4 @@
});
</script>
-<style scoped lang="scss"></style>
+<style scoped lang="scss"></style>
\ No newline at end of file
--
Gitblit v1.9.3