From 843d1d0d0936375c7cc259d9483fd09fec4e7bff Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 10 六月 2026 14:14:06 +0800
Subject: [PATCH] pro 1.销售出库、销售退货、开票申请、撤项发票、收款单、采购入库、采购退货、进项发票、人员薪资、付款申请、付款单等页面需要做金额的统计合算

---
 src/views/financialManagement/payable/input-invoice.vue |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/src/views/financialManagement/payable/input-invoice.vue b/src/views/financialManagement/payable/input-invoice.vue
index 86ebd09..ae40709 100644
--- a/src/views/financialManagement/payable/input-invoice.vue
+++ b/src/views/financialManagement/payable/input-invoice.vue
@@ -51,6 +51,8 @@
         :column="columns"
         :tableData="dataList"
         :tableLoading="tableLoading"
+        isShowSummary
+        :summaryMethod="getSummaries"
         :page="{
           current: pagination.currentPage,
           size: pagination.pageSize,
@@ -375,6 +377,26 @@
   amount: [{ required: true, message: "璇疯緭鍏ラ噾棰�", trigger: "blur" }],
 };
 
+const summaryProps = ["amount", "taxAmount", "totalAmount"];
+
+const getSummaries = ({ columns, data }) => {
+  const sums = [];
+  columns.forEach((col, index) => {
+    if (index === 0) {
+      sums[index] = "鍚堣";
+    } else if (summaryProps.includes(col.property)) {
+      const total = data.reduce((prev, cur) => {
+        const v = Number(cur[col.property]);
+        return prev + (isNaN(v) ? 0 : v);
+      }, 0);
+      sums[index] = Number(total.toFixed(2)).toLocaleString("zh-CN", { minimumFractionDigits: 2, maximumFractionDigits: 2 });
+    } else {
+      sums[index] = "";
+    }
+  });
+  return sums;
+};
+
 const formatMoney = (value) => {
   if (value === undefined || value === null) return "0.00";
   return Number(value).toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ",");

--
Gitblit v1.9.3