From 19f42147fc99bea9c435abdbe4f822da98dbad71 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期五, 12 六月 2026 10:15:07 +0800
Subject: [PATCH] 销售台账/采购台账产品列表增加运费单价和总运费字段展示
---
src/pages/sales/salesAccount/out.vue | 14 +++++++
src/pages/procurementManagement/procurementLedger/detail.vue | 48 ++++++++++++++++++++++++
2 files changed, 62 insertions(+), 0 deletions(-)
diff --git a/src/pages/procurementManagement/procurementLedger/detail.vue b/src/pages/procurementManagement/procurementLedger/detail.vue
index 26721b1..f27b6c1 100644
--- a/src/pages/procurementManagement/procurementLedger/detail.vue
+++ b/src/pages/procurementManagement/procurementLedger/detail.vue
@@ -268,6 +268,24 @@
placeholder="璇疯緭鍏�"
@blur="formatAmount(idx)" />
</up-form-item>
+ <up-form-item label="杩愯垂鍗曚环(鍏�)"
+ prop="freightUnitPrice"
+ :rules="productRules">
+ <up-input v-model="product.freightUnitPrice"
+ type="number"
+ :disabled="!canEditProducts"
+ placeholder="璇疯緭鍏�"
+ @blur="formatFreightUnitPrice(idx)" />
+ </up-form-item>
+ <up-form-item label="鎬昏繍璐�(鍏�)"
+ prop="totalFreight"
+ :rules="productRules">
+ <up-input v-model="product.totalFreight"
+ type="number"
+ :disabled="!canEditProducts"
+ placeholder="璇疯緭鍏�"
+ @blur="formatTotalFreight(idx)" />
+ </up-form-item>
<!-- 鍚◣鎬讳环 -->
<up-form-item label="鍚◣鎬讳环(鍏�)"
prop="taxInclusiveTotalPrice"
@@ -546,6 +564,8 @@
taxRate: "",
taxInclusiveUnitPrice: "",
quantity: "",
+ freightUnitPrice: "",
+ totalFreight: "",
taxInclusiveTotalPrice: "",
taxExclusiveTotalPrice: "",
invoiceType: "",
@@ -764,6 +784,34 @@
}
};
+ const formatFreightUnitPrice = idx => {
+ if (productData.value[idx].freightUnitPrice) {
+ const value = parseFloat(productData.value[idx].freightUnitPrice);
+ if (!isNaN(value)) {
+ productData.value[idx].freightUnitPrice = value.toFixed(2);
+ }
+ }
+ const quantity = parseFloat(productData.value[idx].quantity);
+ const unitPrice = parseFloat(productData.value[idx].freightUnitPrice);
+ if (!quantity || quantity <= 0 || !unitPrice) return;
+ productData.value[idx].totalFreight = (unitPrice * quantity).toFixed(2);
+ };
+
+ const formatTotalFreight = idx => {
+ if (productData.value[idx].totalFreight) {
+ const value = parseFloat(productData.value[idx].totalFreight);
+ if (!isNaN(value)) {
+ productData.value[idx].totalFreight = value.toFixed(2);
+ }
+ }
+ const quantity = parseFloat(productData.value[idx].quantity);
+ const totalFreight = parseFloat(productData.value[idx].totalFreight);
+ if (!quantity || quantity <= 0 || !totalFreight) return;
+ productData.value[idx].freightUnitPrice = (totalFreight / quantity).toFixed(
+ 2
+ );
+ };
+
// 鏁伴噺杈撳叆妗嗗け鐒�
const formatAmount = idx => {
if (productData.value[idx].quantity) {
diff --git a/src/pages/sales/salesAccount/out.vue b/src/pages/sales/salesAccount/out.vue
index d4fc5be..d0ba9b3 100644
--- a/src/pages/sales/salesAccount/out.vue
+++ b/src/pages/sales/salesAccount/out.vue
@@ -94,6 +94,14 @@
<text class="detail-value">{{ item.taxInclusiveUnitPrice }}</text>
</view>
<view class="detail-row">
+ <text class="detail-label">杩愯垂鍗曚环锛堝厓锛�</text>
+ <text class="detail-value">{{ formatMoney2(item.freightUnitPrice) }}</text>
+ </view>
+ <view class="detail-row">
+ <text class="detail-label">鎬昏繍璐癸紙鍏冿級</text>
+ <text class="detail-value">{{ formatMoney2(item.totalFreight) }}</text>
+ </view>
+ <view class="detail-row">
<text class="detail-label">鍚◣鎬讳环锛堝厓锛�</text>
<text class="detail-value">{{ item.taxInclusiveTotalPrice }}</text>
</view>
@@ -252,6 +260,12 @@
uni.hideLoading();
};
const outData = ref({});
+ const formatMoney2 = value => {
+ if (value === null || value === undefined || value === "") return "-";
+ const num = Number(value);
+ if (Number.isNaN(num)) return String(value);
+ return num.toFixed(2);
+ };
onMounted(() => {
// 椤甸潰鍔犺浇鏃惰幏鍙栧弬鏁板苟鍒锋柊鍒楄〃
--
Gitblit v1.9.3