From 74ef343394996b2a6c6e196ef30f998e4f156b74 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期五, 11 七月 2025 11:43:51 +0800 Subject: [PATCH] 1.销售管理、采购管理优化 --- src/views/procurementManagement/invoiceEntry/index.vue | 98 ++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 88 insertions(+), 10 deletions(-) diff --git a/src/views/procurementManagement/invoiceEntry/index.vue b/src/views/procurementManagement/invoiceEntry/index.vue index 6de82f0..6df5636 100644 --- a/src/views/procurementManagement/invoiceEntry/index.vue +++ b/src/views/procurementManagement/invoiceEntry/index.vue @@ -40,8 +40,11 @@ total: pagination.total, }" :expand-row-keys="expandRowKeys" + :summaryMethod="summarizeMainTable" + :isShowSummary="true" @expand-change="expandChange" @selection-change="handleSelectionChange" + @pagination="changePage" > <template #expand="{ row }"> <ExpandTable ref="expandTableRef" /> @@ -64,10 +67,11 @@ <script setup> import { usePaginationApi } from "@/hooks/usePaginationApi"; -import { gePurchaseListPage } from "@/api/procurementManagement/invoiceEntry.js"; +import {delRegistration, gePurchaseListPage} from "@/api/procurementManagement/invoiceEntry.js"; import { nextTick, onMounted, getCurrentInstance } from "vue"; import ExpandTable from "./components/ExpandTable.vue"; import Modal from "./components/Modal.vue"; +import {ElMessageBox} from "element-plus"; defineOptions({ name: "鏉ョエ鐧昏", @@ -87,6 +91,7 @@ pagination, getTableData, resetFilters, + onCurrentChange, } = usePaginationApi( gePurchaseListPage, { @@ -99,36 +104,56 @@ slot: "expand", }, { + label: "閲囪喘璁㈠崟鍙�", + prop: "purchaseContractNumber", + width:150 + }, + { label: "閿�鍞悎鍚屽彿", prop: "salesContractNo", + width:150 }, { label: "渚涘簲鍟嗗悕绉�", prop: "supplierName", + width:200 }, { label: "椤圭洰鍚嶇О", prop: "projectName", + width:150 + }, + { + label: "褰曞叆浜�", + prop: "recorderName", + }, + { + label: "褰曞叆鏃ユ湡", + prop: "entryDate", + width:110 }, { label: "鍚堝悓閲戦(鍏�)", prop: "contractAmount", + width:200, formatData: (val) => { - return parseFloat(val).toFixed(2) ?? 0; + return val ? parseFloat(val).toFixed(2) : 0; }, }, { label: "宸插紑绁ㄩ噾棰�(鍏�)", prop: "receiptPaymentAmount", + width:200, formatData: (val) => { - return parseFloat(val).toFixed(2) ?? 0; + return val ? parseFloat(val).toFixed(2) : 0; }, }, { label: "寰呭紑绁ㄩ噾棰�(鍏�)", prop: "unReceiptPaymentAmount", + width:200, formatData: (val) => { - return parseFloat(val).toFixed(2) ?? 0; + return val ? parseFloat(val).toFixed(2) : 0; }, }, // { @@ -160,14 +185,67 @@ modalRef.value.open(type, id); }; -const handleOut = () => {}; -const handleDelete = () => {}; - -const expandChange = async (row, expandedRows) => { - await nextTick(); - expandTableRef.value.getList(row.id); +// 瀵煎嚭 +const handleOut = () => { + ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚鍑猴紝鏄惁纭瀵煎嚭锛�", "瀵煎嚭", { + confirmButtonText: "纭", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(() => { + proxy.download("/purchase/registration/export", {}, "鏉ョエ鐧昏.xlsx"); + }) + .catch(() => { + proxy.$modal.msg("宸插彇娑�"); + }); +}; +// 鍒犻櫎 +const handleDelete = () => { + let ids = []; + if (selectedRows.value.length > 0) { + ids = selectedRows.value.map((item) => item.id); + } else { + proxy.$modal.msgWarning("璇烽�夋嫨鏁版嵁"); + return; + } + ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚垹闄わ紝鏄惁纭鍒犻櫎锛�", "瀵煎嚭", { + confirmButtonText: "纭", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(() => { + delRegistration(ids).then((res) => { + proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + getList(); + }); + }) + .catch(() => { + proxy.$modal.msg("宸插彇娑�"); + }); }; +const expandChange = async (row, expandedRows) => { + if (expandedRows.length > 0) { + await nextTick(); + expandTableRef.value.getList(row.id); + } +}; + +const changePage = ({ page }) => { + pagination.currentPage = page; + onCurrentChange(page); +}; +// 涓昏〃鍚堣鏂规硶 +const summarizeMainTable = (param) => { + return proxy.summarizeTable( + param, + ["contractAmount", "receiptPaymentAmount", "unReceiptPaymentAmount"], + { + ticketsNum: { noDecimal: true }, // 涓嶄繚鐣欏皬鏁� + futureTickets: { noDecimal: true }, // 涓嶄繚鐣欏皬鏁� + } + ); +}; onMounted(() => { getTableData(); }); -- Gitblit v1.9.3