From 1351e497ff256b325662f7d9e3632150ae9d19e9 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 13 十月 2026 00:07:32 +0800
Subject: [PATCH] feat(crm): 合同模块新增导出选中功能

---
 src/views/crm/contract/index.vue |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/src/views/crm/contract/index.vue b/src/views/crm/contract/index.vue
index 66a35c4..c57bffe 100644
--- a/src/views/crm/contract/index.vue
+++ b/src/views/crm/contract/index.vue
@@ -41,6 +41,7 @@
 
 /** 鍒锋柊琛ㄦ牸 */
 function handleRefresh() {
+  gridApi.grid.clearCheckboxRow();
   gridApi.query();
 }
 
@@ -55,6 +56,24 @@
   const formValues = await gridApi.formApi.getValues();
   const data = await exportContract({
     sceneType: sceneType.value,
+    ...formValues,
+  });
+  downloadFileFromBlobPart({ fileName: '鍚堝悓.xls', source: data });
+}
+
+/** 瀵煎嚭鍕鹃�夌殑鍚堝悓 */
+async function handleExportSelected() {
+  const rows: CrmContractApi.Contract[] =
+    gridApi.grid.getCheckboxRecords?.() ?? [];
+  const ids = rows.map((row) => row.id!);
+  if (ids.length === 0) {
+    message.warning('璇峰厛鍕鹃�夎瀵煎嚭鐨勫悎鍚�');
+    return;
+  }
+  const formValues = await gridApi.formApi.getValues();
+  const data = await exportContract({
+    sceneType: sceneType.value,
+    ids: ids.join(','),
     ...formValues,
   });
   downloadFileFromBlobPart({ fileName: '鍚堝悓.xls', source: data });
@@ -249,6 +268,13 @@
               onClick: handleExport,
             },
             {
+              label: '瀵煎嚭閫変腑',
+              type: 'primary',
+              icon: ACTION_ICON.DOWNLOAD,
+              auth: ['crm:contract:export'],
+              onClick: handleExportSelected,
+            },
+            {
               label: '瀵煎叆',
               type: 'primary',
               icon: ACTION_ICON.UPLOAD,

--
Gitblit v1.9.3