From 4f8ffe118c818620eca6b997ed0a255590511493 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 31 十月 2025 09:59:28 +0800
Subject: [PATCH] feat: 1.3

---
 src/views/ServiceChargeManage/ServiceChargeManage.vue |   53 ++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 46 insertions(+), 7 deletions(-)

diff --git a/src/views/ServiceChargeManage/ServiceChargeManage.vue b/src/views/ServiceChargeManage/ServiceChargeManage.vue
index 1a80299..43eb6b9 100644
--- a/src/views/ServiceChargeManage/ServiceChargeManage.vue
+++ b/src/views/ServiceChargeManage/ServiceChargeManage.vue
@@ -120,7 +120,7 @@
   EnumTaskCheckReceiveStatusTextForFilter,
   EnumTaskCheckReceiveStatus,
 } from '@/constants';
-import { downloadFileByUrl, format, setOssFileName } from '@/utils';
+import { downloadFileByUrl, format, setOssFileName, setOSSLink } from '@/utils';
 import * as taskServices from '@/services/api/task';
 import { ModelValueType } from 'element-plus';
 import UploadStatementDialog from './components/UploadStatementDialog.vue';
@@ -128,6 +128,7 @@
 import SettlMethodDialog from './components/SettlMethodDialog.vue';
 import RechargeEnterpriseWalletDialog from './components/RechargeEnterpriseWalletDialog.vue';
 import { Message } from '@bole-core/core';
+import _ from 'lodash';
 
 defineOptions({
   name: 'ServiceChargeManageList',
@@ -217,12 +218,14 @@
       name: '瀵煎嚭',
     },
     emits: {
-      onClick: (role) => handleExport(role),
+      onClick: (role) => handleRowExport(role),
     },
     extraProps: {
       hide: (role: API.GetSettlementTasksQueryResultItem) =>
-        role.settlementStatus === EnumTaskSettlementStatus.Wait ||
-        role.settlementStatus === EnumTaskSettlementStatus.InProcess,
+        !(
+          role.settlementStatus !== EnumTaskSettlementStatus.InProcess &&
+          role.settlementStatus !== EnumTaskSettlementStatus.Wait
+        ),
     },
   },
 ]);
@@ -456,9 +459,21 @@
   });
 }
 
-function handleExport(val?) {
-  console.log('val: ', val);
-}
+const handleRowExport = _.debounce(
+  async (row: API.GetSettlementTasksQueryResultItem) => {
+    try {
+      let params: API.ExportTaskSettlementOrderRostersCommand = {
+        id: row.id,
+      };
+      let res = await taskServices.exportTaskSettlementOrderRosters(params);
+      if (res) {
+        downloadFileByUrl(setOSSLink(res), `${row.name}-${row.code}`);
+      }
+    } catch (error) {}
+  },
+  1000,
+  { leading: true, trailing: false }
+);
 
 function handleDownloadTemplate() {
   downloadFileByUrl(
@@ -466,4 +481,28 @@
     '缁撶畻鍗曟ā鏉�'
   );
 }
+
+const handleExport = _.debounce(
+  async () => {
+    if (paginationState.total === 0) {
+      Message.warnMessage('娌℃湁鏁版嵁鍙互瀵煎嚭鍝');
+      return;
+    }
+    try {
+      let params: API.ExportTaskSettlementOrdersCommand = {
+        keywords: extraParamState.keywords,
+        checkReceiveStatus: extraParamState.checkReceiveStatus,
+        settlementStatus: extraParamState.settlementStatus,
+        settlementTimeBegin: format(extraParamState.time?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
+        settlementTimeEnd: format(extraParamState.time?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
+      };
+      let res = await taskServices.exportTaskSettlementOrders(params);
+      if (res) {
+        downloadFileByUrl(setOSSLink(res));
+      }
+    } catch (error) {}
+  },
+  1000,
+  { leading: true, trailing: false }
+);
 </script>

--
Gitblit v1.9.1