From e758ffefbcc4c8c06fe6c8691bf77f8249d09f66 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 23 四月 2026 10:42:02 +0800
Subject: [PATCH] fix: 发货台账内的发货图片不显示
---
src/views/procurementManagement/paymentLedger/index.vue | 104 +++++++++++++++++++++++++++-------------------------
1 files changed, 54 insertions(+), 50 deletions(-)
diff --git a/src/views/procurementManagement/paymentLedger/index.vue b/src/views/procurementManagement/paymentLedger/index.vue
index 8226031..f86e188 100644
--- a/src/views/procurementManagement/paymentLedger/index.vue
+++ b/src/views/procurementManagement/paymentLedger/index.vue
@@ -4,7 +4,7 @@
<div>
<span class="search_title">渚涘簲鍟嗗悕绉�:</span>
<el-input
- v-model="searchForm.supplierNameOrContractNo"
+ v-model="searchForm.supplierName"
style="width: 240px"
placeholder="杈撳叆渚涘簲鍟嗗悕绉�"
@change="handleQuery"
@@ -43,7 +43,7 @@
/>
<el-table-column label="渚涘簲鍟嗗悕绉�" prop="supplierName" />
<el-table-column
- label="鍙戠エ閲戦(鍏�)"
+ label="鍚堝悓閲戦(鍏�)"
prop="invoiceAmount"
show-overflow-tooltip
:formatter="formattedNumber"
@@ -83,9 +83,11 @@
:column="tableColumnSon"
:tableData="originalTableDataSon"
:isSelection="false"
+ :isShowPagination="false"
:tableLoading="tableLoadingSon"
:isShowSummary="isShowSummarySon"
:summaryMethod="summarizeMainTable1"
+ height="calc(100vh - 18.5em)"
>
<template #payableAmountSlot="{ row }">
<el-text type="danger">
@@ -93,14 +95,6 @@
</el-text>
</template>
</PIMTable>
- <pagination
- v-show="sonTotal > 0"
- :total="sonTotal"
- @pagination="sonPaginationSearch"
- :layout="page.layout"
- :page="sonPage.current"
- :limit="sonPage.size"
- />
</div>
</el-col>
</el-row>
@@ -116,25 +110,6 @@
} from "@/api/procurementManagement/paymentLedger.js";
import Pagination from "../../../components/PIMTable/Pagination.vue";
-const tableColumn = ref([
- {
- label: "渚涘簲鍟嗗悕绉�",
- prop: "supplierName",
- width:240
- },
- {
- label: "鍙戠エ閲戦(鍏�)",
- prop: "invoiceAmount",
- },
- {
- label: "浠樻閲戦(鍏�)",
- prop: "paymentAmount",
- },
- {
- label: "搴斾粯閲戦(鍏�)",
- prop: "payableAmount",
- },
-]);
const tableData = ref([]);
const tableLoading = ref(false);
const data = reactive({
@@ -163,18 +138,26 @@
const tableColumnSon = ref([
{
label: "鍙戠敓鏃ユ湡",
- prop: "happenTime",
+ prop: "paymentDate",
+ width: 110,
},
{
- label: "鍙戠エ閲戦(鍏�)",
+ label: "閲囪喘鍚堝悓鍙�",
+ prop: "purchaseContractNumber",
+ width: 150,
+ },
+ {
+ label: "鍚堝悓閲戦(鍏�)",
prop: "invoiceAmount",
+ width: 200,
formatData: (params) => {
return params ? parseFloat(params).toFixed(2) : 0;
},
},
{
label: "浠樻閲戦(鍏�)",
- prop: "currentPaymentAmount",
+ prop: "paymentAmount",
+ width: 200,
formatData: (params) => {
return params ? parseFloat(params).toFixed(2) : 0;
},
@@ -182,6 +165,7 @@
{
label: "搴斾粯閲戦(鍏�)",
dataType: "slot",
+ width: 200,
prop: "payableAmount",
slot: "payableAmountSlot",
},
@@ -207,23 +191,45 @@
};
// 瀛愯〃鍚堣鏂规硶
const summarizeMainTable1 = (param) => {
- let summarizeTable = proxy.summarizeTable(
- param,
- ["invoiceAmount", "currentPaymentAmount"],
- {
- ticketsNum: { noDecimal: true }, // 涓嶄繚鐣欏皬鏁�
- futureTickets: { noDecimal: true }, // 涓嶄繚鐣欏皬鏁�
+ const toNum = (v) => {
+ const n = Number(v);
+ return Number.isFinite(n) ? n : 0;
+ };
+
+ // 浠ュ綋鍓嶅彸渚ц〃鏍煎睍绀虹殑鏁版嵁涓哄噯锛堝垎椤� slice 鍚庣殑鏁版嵁锛�
+ const rows = originalTableDataSon.value || [];
+
+ // 鍚堝悓閲戦锛氭寜閲囪喘鍚堝悓鍙峰幓閲嶅悗鍚堣
+ const invoiceByContract = new Map();
+ for (const r of rows) {
+ const contractNo = r?.purchaseContractNumber;
+ if (!contractNo) continue;
+ if (!invoiceByContract.has(contractNo)) {
+ invoiceByContract.set(contractNo, toNum(r?.invoiceAmount));
}
- );
- if (originalTableDataSon.value.length > 0) {
- summarizeTable[summarizeTable.length - 1] =
- originalTableDataSon.value[
- originalTableDataSon.value.length - 1
- ].payableAmount.toFixed(2);
- } else {
- summarizeTable[summarizeTable.length - 1] = 0.0;
}
- return summarizeTable;
+ const invoiceTotal = Array.from(invoiceByContract.values()).reduce(
+ (sum, v) => sum + v,
+ 0
+ );
+
+ const paymentTotal = rows.reduce((sum, r) => sum + toNum(r?.paymentAmount), 0);
+
+ const columns = param?.columns || [];
+ const summary = columns.map((col, idx) => {
+ if (idx === 0) return "鍚堣";
+ const prop = col?.property ?? col?.prop;
+ if (prop === "invoiceAmount") return invoiceTotal.toFixed(2);
+ if (prop === "paymentAmount") return paymentTotal.toFixed(2);
+ return "";
+ });
+
+ if (summary.length > 0) {
+ summary[summary.length - 1] =
+ rows.length > 0 ? toNum(rows[rows.length - 1]?.payableAmount).toFixed(2) : "0.00";
+ }
+
+ return summary;
};
/** 鎼滅储鎸夐挳鎿嶄綔 */
const handleQuery = () => {
@@ -240,8 +246,6 @@
paymentLedgerList({
...searchForm.value,
...page,
- detailPageNum: detailPageNum.value, // 鏂板
- detailPageSize: detailPageSize.value, // 鏂板
}).then((res) => {
let result = res.data;
tableLoading.value = false;
@@ -256,7 +260,7 @@
const getPaymenRecordtList = (supplierId) => {
tableLoadingSon.value = true;
- paymentRecordList(supplierId)
+ paymentRecordList({supplierId: supplierId})
.then((res) => {
tableLoadingSon.value = false;
tableDataSon.value = res.data;
--
Gitblit v1.9.3