From 460ed5e7904c3ef8131a0a26f354e8e2c669425b Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期二, 26 五月 2026 11:43:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_鹤壁_强信宇_pro' into dev_鹤壁_强信宇_pro
---
src/views/salesManagement/salesLedger/index.vue | 122 +++++++++++++++++++++++-----------------
1 files changed, 69 insertions(+), 53 deletions(-)
diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 56f9fd2..5a5156c 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -329,7 +329,7 @@
:label="item.customerName"
:value="item.id">
{{
- item.customerName + "鈥斺��" + item.taxpayerIdentificationNumber
+ item.customerName
}}
</el-option>
</el-select>
@@ -456,13 +456,13 @@
prop="taxRate" />
<el-table-column label="鍚◣鍗曚环(鍏�)"
prop="taxInclusiveUnitPrice"
- :formatter="formattedNumber" />
+ :formatter="format8" />
<el-table-column label="鍚◣鎬讳环(鍏�)"
prop="taxInclusiveTotalPrice"
- :formatter="formattedNumber" />
+ :formatter="format8" />
<el-table-column label="涓嶅惈绋庢�讳环(鍏�)"
prop="taxExclusiveTotalPrice"
- :formatter="formattedNumber" />
+ :formatter="format8" />
<el-table-column label="鏄惁鐢熶骇"
prop="isProduction"
width="150">
@@ -664,11 +664,11 @@
<el-col :span="12">
<el-form-item label="鍚◣鍗曚环(鍏�)锛�"
prop="taxInclusiveUnitPrice">
- <el-input-number :step="0.01"
+ <el-input-number :step="1"
:min="0"
v-model="productForm.taxInclusiveUnitPrice"
style="width: 100%"
- :precision="2"
+ :precision="8"
placeholder="璇疯緭鍏�"
clearable
@change="calculateFromUnitPrice" />
@@ -677,12 +677,12 @@
<el-col :span="12">
<el-form-item label="鏁伴噺锛�"
prop="quantity">
- <el-input-number :step="0.1"
+ <el-input-number :step="1"
:min="0"
v-model="productForm.quantity"
placeholder="璇疯緭鍏�"
clearable
- :precision="2"
+ :precision="8"
@change="calculateFromQuantity"
style="width: 100%" />
</el-form-item>
@@ -1396,11 +1396,27 @@
return productOptions.value;
});
};
+ const calculateTaxExclusiveTotalPrice8 = (inclusiveTotalPrice, taxRate) => {
+ const taxRateDecimal = taxRate / 100;
+ return (inclusiveTotalPrice / (1 + taxRateDecimal)).toFixed(8);
+ };
+
+ const calculateTaxIncludeTotalPrice8 = (unitPrice, quantity) => {
+ return (unitPrice * quantity).toFixed(8);
+ };
+
+ const format8 = (row, column, cellValue) => {
+ if (cellValue === undefined || cellValue === null || cellValue === "") {
+ return "0.00000000";
+ }
+ return parseFloat(cellValue).toFixed(8);
+ };
+
const formattedNumber = (row, column, cellValue) => {
if (cellValue === undefined || cellValue === null || cellValue === "") {
return "0.00";
}
- return parseFloat(cellValue).toFixed(2);
+ return parseFloat(cellValue).toFixed(8);
};
const findLedgerRecordByRow = row => {
if (!row) return null;
@@ -1453,7 +1469,7 @@
if (!isCurrentUserMaintainer(row)) {
return "*****";
}
- return formattedNumber(row, column, cellValue);
+ return format8(row, column, cellValue);
};
// 鑾峰彇tree瀛愭暟鎹�
const getModels = value => {
@@ -1568,7 +1584,10 @@
"contractAmount",
"taxInclusiveTotalPrice",
"taxExclusiveTotalPrice",
- ]);
+ ], {
+ taxInclusiveTotalPrice: { decimalPlaces: 8 },
+ taxExclusiveTotalPrice: { decimalPlaces: 8 },
+ });
};
// 瀛愯〃鍚堣鏂规硶
const summarizeChildrenTable = (param, parentRow) => {
@@ -1594,7 +1613,11 @@
"taxInclusiveUnitPrice",
"taxInclusiveTotalPrice",
"taxExclusiveTotalPrice",
- ]);
+ ], {
+ taxInclusiveUnitPrice: { decimalPlaces: 8 },
+ taxInclusiveTotalPrice: { decimalPlaces: 8 },
+ taxExclusiveTotalPrice: { decimalPlaces: 8 },
+ });
};
// 鎵撳紑寮规
const openForm = async (type, row) => {
@@ -1722,19 +1745,18 @@
const quantity = Number(p.quantity ?? 0) || 0;
const unitPrice = Number(p.unitPrice ?? 0) || 0;
const taxRate = "13"; // 榛樿 13%锛屼究浜庣洿鎺ユ彁浜わ紙濡傞渶鍙湪浜у搧涓嚜琛屼慨鏀癸級
- const taxInclusiveTotalPrice = (unitPrice * quantity).toFixed(2);
- const taxExclusiveTotalPrice = proxy.calculateTaxExclusiveTotalPrice(
+ const taxInclusiveTotalPrice = (unitPrice * quantity).toFixed(8);
+ const taxExclusiveTotalPrice = calculateTaxExclusiveTotalPrice8(
taxInclusiveTotalPrice,
taxRate
);
return {
- // 鍙拌处瀛楁
productCategory: p.product || p.productName || "",
specificationModel: p.specification || "",
unit: p.unit || "",
quantity: quantity,
taxRate: taxRate,
- taxInclusiveUnitPrice: unitPrice.toFixed(2),
+ taxInclusiveUnitPrice: unitPrice.toFixed(8),
taxInclusiveTotalPrice: taxInclusiveTotalPrice,
taxExclusiveTotalPrice: taxExclusiveTotalPrice,
invoiceType: "澧炴櫘绁�",
@@ -2408,7 +2430,7 @@
const total = products.reduce((sum, product) => {
return sum + (parseFloat(product.taxInclusiveTotalPrice) || 0);
}, 0);
- return total.toFixed(2);
+ return total.toFixed(8);
};
// 鐢ㄤ簬鎵撳嵃鐨勮绠楀嚱鏁�
@@ -2425,30 +2447,25 @@
const total = products.reduce((sum, product) => {
return sum + (parseFloat(product.taxInclusiveTotalPrice) || 0);
}, 0);
- return total.toFixed(2);
+ return total.toFixed(8);
};
const mathNum = () => {
- console.log("productForm.value", productForm.value);
if (!productForm.value.taxInclusiveUnitPrice) {
return;
}
if (!productForm.value.quantity) {
return;
}
- // 鍚◣鎬讳环璁$畻
- productForm.value.taxInclusiveTotalPrice =
- proxy.calculateTaxIncludeTotalPrice(
- productForm.value.taxInclusiveUnitPrice,
- productForm.value.quantity
- );
+ productForm.value.taxInclusiveTotalPrice = calculateTaxIncludeTotalPrice8(
+ productForm.value.taxInclusiveUnitPrice,
+ productForm.value.quantity
+ );
if (productForm.value.taxRate) {
- // 涓嶅惈绋庢�讳环璁$畻
- productForm.value.taxExclusiveTotalPrice =
- proxy.calculateTaxExclusiveTotalPrice(
- productForm.value.taxInclusiveTotalPrice,
- productForm.value.taxRate
- );
+ productForm.value.taxExclusiveTotalPrice = calculateTaxExclusiveTotalPrice8(
+ productForm.value.taxInclusiveTotalPrice,
+ productForm.value.taxRate
+ );
}
};
@@ -2466,15 +2483,14 @@
isCalculating.value = true;
// 璁$畻鍚◣鍗曚环 = 鍚◣鎬讳环 / 鏁伴噺
- productForm.value.taxInclusiveUnitPrice = (totalPrice / quantity).toFixed(2);
+ productForm.value.taxInclusiveUnitPrice = (totalPrice / quantity).toFixed(8);
// 濡傛灉鏈夌◣鐜囷紝璁$畻涓嶅惈绋庢�讳环
if (productForm.value.taxRate) {
- productForm.value.taxExclusiveTotalPrice =
- proxy.calculateTaxExclusiveTotalPrice(
- totalPrice,
- productForm.value.taxRate
- );
+ productForm.value.taxExclusiveTotalPrice = calculateTaxExclusiveTotalPrice8(
+ totalPrice,
+ productForm.value.taxRate
+ );
}
isCalculating.value = false;
@@ -2503,12 +2519,12 @@
// 鍏堣绠楀惈绋庢�讳环 = 涓嶅惈绋庢�讳环 / (1 - 绋庣巼/100)
const taxRateDecimal = taxRate / 100;
const inclusiveTotalPrice = exclusiveTotalPrice / (1 - taxRateDecimal);
- productForm.value.taxInclusiveTotalPrice = inclusiveTotalPrice.toFixed(2);
+ productForm.value.taxInclusiveTotalPrice = inclusiveTotalPrice.toFixed(8);
// 璁$畻鍚◣鍗曚环 = 鍚◣鎬讳环 / 鏁伴噺
productForm.value.taxInclusiveUnitPrice = (
inclusiveTotalPrice / quantity
- ).toFixed(2);
+ ).toFixed(8);
isCalculating.value = false;
};
@@ -2531,15 +2547,14 @@
isCalculating.value = true;
// 璁$畻鍚◣鎬讳环
- productForm.value.taxInclusiveTotalPrice = (unitPrice * quantity).toFixed(2);
+ productForm.value.taxInclusiveTotalPrice = (unitPrice * quantity).toFixed(8);
// 濡傛灉鏈夌◣鐜囷紝璁$畻涓嶅惈绋庢�讳环
if (productForm.value.taxRate) {
- productForm.value.taxExclusiveTotalPrice =
- proxy.calculateTaxExclusiveTotalPrice(
- productForm.value.taxInclusiveTotalPrice,
- productForm.value.taxRate
- );
+ productForm.value.taxExclusiveTotalPrice = calculateTaxExclusiveTotalPrice8(
+ productForm.value.taxInclusiveTotalPrice,
+ productForm.value.taxRate
+ );
}
isCalculating.value = false;
@@ -2563,15 +2578,14 @@
isCalculating.value = true;
// 璁$畻鍚◣鎬讳环
- productForm.value.taxInclusiveTotalPrice = (unitPrice * quantity).toFixed(2);
+ productForm.value.taxInclusiveTotalPrice = (unitPrice * quantity).toFixed(8);
// 濡傛灉鏈夌◣鐜囷紝璁$畻涓嶅惈绋庢�讳环
if (productForm.value.taxRate) {
- productForm.value.taxExclusiveTotalPrice =
- proxy.calculateTaxExclusiveTotalPrice(
- productForm.value.taxInclusiveTotalPrice,
- productForm.value.taxRate
- );
+ productForm.value.taxExclusiveTotalPrice = calculateTaxExclusiveTotalPrice8(
+ productForm.value.taxInclusiveTotalPrice,
+ productForm.value.taxRate
+ );
}
isCalculating.value = false;
@@ -2597,8 +2611,10 @@
isCalculating.value = true;
// 璁$畻涓嶅惈绋庢�讳环
- productForm.value.taxExclusiveTotalPrice =
- proxy.calculateTaxExclusiveTotalPrice(inclusiveTotalPrice, taxRate);
+ productForm.value.taxExclusiveTotalPrice = calculateTaxExclusiveTotalPrice8(
+ inclusiveTotalPrice,
+ taxRate
+ );
isCalculating.value = false;
};
--
Gitblit v1.9.3