From 00840e19923b568b00143b1fd406af8b7e613eb1 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 07 十一月 2025 16:37:59 +0800
Subject: [PATCH] feat: 接口

---
 src/views/ServiceChargeManage/ServiceChargeManage.vue |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 50 insertions(+), 8 deletions(-)

diff --git a/src/views/ServiceChargeManage/ServiceChargeManage.vue b/src/views/ServiceChargeManage/ServiceChargeManage.vue
index 1a80299..b70296a 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',
@@ -167,7 +168,10 @@
     },
     extraProps: {
       hide: (role: API.GetSettlementTasksQueryResultItem) =>
-        !(role.settlementStatus === EnumTaskSettlementStatus.Wait),
+        !(
+          role.settlementStatus === EnumTaskSettlementStatus.Wait &&
+          role.auditStatus !== EnumTaskSettlementAuditStatus.Pass
+        ),
     },
   },
   // {
@@ -217,12 +221,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 +462,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 +484,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