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