From b635695521d03fb15e90c400cdd2f9779adb73b4 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 31 十月 2025 09:59:10 +0800
Subject: [PATCH] feat: 1.3
---
src/views/ServiceChargeManage/ServiceChargeManage.vue | 67 ++++++++++++++++++++++++++-------
1 files changed, 52 insertions(+), 15 deletions(-)
diff --git a/src/views/ServiceChargeManage/ServiceChargeManage.vue b/src/views/ServiceChargeManage/ServiceChargeManage.vue
index 2d3ee4c..1582a0d 100644
--- a/src/views/ServiceChargeManage/ServiceChargeManage.vue
+++ b/src/views/ServiceChargeManage/ServiceChargeManage.vue
@@ -47,7 +47,7 @@
<template #btn>
<!-- <el-button type="primary" link @click="handleDownloadTemplate()">缁撶畻鍗曟ā鏉�</el-button> -->
<!-- <el-button type="primary" @click="handleAdd()">涓婁紶缁撶畻鍗�</el-button> -->
- <!-- <el-button type="primary" @click="handleDownloadTemplate()">瀵煎嚭</el-button> -->
+ <el-button type="primary" @click="handleExport()">瀵煎嚭</el-button>
</template>
</ProTableQueryFilterBar>
<ProTableV2
@@ -119,8 +119,9 @@
EnumTaskCheckReceiveStatusText,
EnumTaskCheckReceiveStatusTextForFilter,
EnumTaskCheckReceiveStatus,
+ EnumEnterpriseWalletAccessText,
} 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 +129,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,10 +169,7 @@
},
extraProps: {
hide: (role: API.GetSettlementTasksQueryResultItem) =>
- !(
- role.settlementStatus === EnumTaskSettlementStatus.Wait &&
- role.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed
- ),
+ role.settlementStatus !== EnumTaskSettlementStatus.Wait,
},
},
{
@@ -183,10 +182,7 @@
},
extraProps: {
hide: (role: API.GetSettlementTasksQueryResultItem) =>
- !(
- role.settlementStatus === EnumTaskSettlementStatus.InProcess &&
- role.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed
- ),
+ role.settlementStatus !== EnumTaskSettlementStatus.InProcess,
},
},
// {
@@ -220,10 +216,14 @@
name: '瀵煎嚭',
},
emits: {
- onClick: (role) => handleExport(role),
+ onClick: (role) => handleRowExport(role),
},
extraProps: {
- hide: () => true,
+ hide: (role: API.GetSettlementTasksQueryResultItem) =>
+ !(
+ role.settlementStatus !== EnumTaskSettlementStatus.InProcess &&
+ role.settlementStatus !== EnumTaskSettlementStatus.Wait
+ ),
},
},
]);
@@ -294,6 +294,7 @@
settlementStatus: { type: 'enum', valueEnum: EnumTaskSettlementStatusText },
checkReceiveStatus: { type: 'enum', valueEnum: EnumTaskCheckReceiveStatusText },
auditStatus: { type: 'enum', valueEnum: EnumTaskSettlementAuditStatusText },
+ settlementAccess: { type: 'enum', valueEnum: EnumEnterpriseWalletAccessText },
actualSettlementAmount: { type: 'money' },
settlementAmount: { type: 'money' },
settlementTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
@@ -456,9 +457,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 +479,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