From 203cf783a18b2a5e85ba4e80505c4a49d4ccc4a5 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期五, 27 三月 2026 17:16:20 +0800
Subject: [PATCH] feat(销售台账): 新增打印销售标签功能

---
 src/views/salesManagement/salesLedger/index.vue |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index badc47c..9ec8ef2 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -57,6 +57,7 @@
               </el-dropdown-menu>
             </template>
           </el-dropdown>
+          <el-button type="primary" plain @click="handlePrintLabel">鎵撳嵃鏍囩</el-button>
         </div>
       </div>
       <el-table :data="tableData" border v-loading="tableLoading" @selection-change="handleSelectionChange"
@@ -894,6 +895,7 @@
 	getProcessCard,
 	getSalesOrder,
 	getSalesInvoices,
+	getSalesLabel,
 } from "@/api/salesManagement/salesLedger.js";
 import { modelList, productTreeList } from "@/api/basicData/product.js";
 import useFormData from "@/hooks/useFormData.js";
@@ -902,6 +904,7 @@
 import { printFinishedProcessCard } from "./components/processCardPrint.js";
 import { printSalesOrder } from "./components/salesOrderPrint.js";
 import { printSalesDeliveryNote } from "./components/salesDeliveryPrint.js";
+import { printSalesLabel } from "./components/salesLabelPrint.js";
 // import { salesLedgerProductSetProcessFlowConfig } from "@/api/salesManagement/salesProcessFlowConfig.js";
 
 const userStore = useUserStore();
@@ -2113,6 +2116,35 @@
 	}
 };
 
+const handlePrintLabel = async () => {
+	if (selectedRows.value.length !== 1) {
+		proxy.$modal.msgWarning("璇烽�夋嫨涓�鏉¢攢鍞彴璐︽暟鎹繘琛屾爣绛炬墦鍗�");
+		return;
+	}
+
+	const selectedId = selectedRows.value[0]?.id;
+	if (!selectedId) {
+		proxy.$modal.msgWarning("褰撳墠閫夋嫨鏁版嵁缂哄皯ID锛屾棤娉曟墦鍗版爣绛�");
+		return;
+	}
+
+	proxy.$modal.loading("姝e湪鑾峰彇鏍囩鏁版嵁锛岃绋嶅��...");
+	try {
+		const res = await getSalesLabel(selectedId);
+		const labelList = res?.data ?? [];
+		if (!Array.isArray(labelList) || labelList.length === 0) {
+			proxy.$modal.msgWarning("鏆傛棤鍙墦鍗版爣绛炬暟鎹�");
+			return;
+		}
+		printSalesLabel(labelList);
+	} catch (error) {
+		console.error("鎵撳嵃鏍囩澶辫触:", error);
+		proxy.$modal.msgError("鎵撳嵃鏍囩澶辫触锛岃绋嶅悗閲嶈瘯");
+	} finally {
+		proxy.$modal.closeLoading();
+	}
+};
+
 const mathNum = () => {
 	console.log("productForm.value", productForm.value);
 	if (!productForm.value.taxInclusiveUnitPrice) {

--
Gitblit v1.9.3