From 9ee573586eeb1240ebd131baa1087bb41c76e776 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 31 十月 2025 15:29:36 +0800
Subject: [PATCH] fix: bug
---
src/views/ServiceChargeManage/ServiceChargeManage.vue | 132 +++++++++++++++++++++++++++++---------------
1 files changed, 87 insertions(+), 45 deletions(-)
diff --git a/src/views/ServiceChargeManage/ServiceChargeManage.vue b/src/views/ServiceChargeManage/ServiceChargeManage.vue
index ceb3bee..b70296a 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
@@ -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',
@@ -160,7 +161,7 @@
{
data: {
enCode: 'settleBtn',
- name: '缁撶畻',
+ name: '缁撶畻纭',
},
emits: {
onClick: (role: API.GetSettlementTasksQueryResultItem) => openSettleMethodDialog(role),
@@ -169,39 +170,38 @@
hide: (role: API.GetSettlementTasksQueryResultItem) =>
!(
role.settlementStatus === EnumTaskSettlementStatus.Wait &&
- role.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed
+ role.auditStatus !== EnumTaskSettlementAuditStatus.Pass
),
},
},
- {
- data: {
- enCode: 'recallBtn',
- name: '鎾ゅ洖',
- },
- emits: {
- onClick: (role) => handleRecall(role),
- },
- extraProps: {
- hide: (role: API.GetSettlementTasksQueryResultItem) =>
- !(
- role.settlementStatus === EnumTaskSettlementStatus.InProcess &&
- role.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed
- ),
- },
- },
- {
- data: {
- enCode: 'settleAuditBtn',
- name: '缁撶畻瀹℃牳',
- },
- emits: {
- onClick: (role: API.GetSettlementTasksQueryResultItem) => goDetail(role.id),
- },
- extraProps: {
- hide: (role: API.GetSettlementTasksQueryResultItem) =>
- role.auditStatus !== EnumTaskSettlementAuditStatus.Wait,
- },
- },
+ // {
+ // data: {
+ // enCode: 'recallBtn',
+ // name: '鎾ゅ洖',
+ // },
+ // emits: {
+ // onClick: (role) => handleRecall(role),
+ // },
+ // extraProps: {
+ // hide: (role: API.GetSettlementTasksQueryResultItem) =>
+ // !(
+ // role.settlementStatus === EnumTaskSettlementStatus.InProcess &&
+ // role.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed
+ // ),
+ // },
+ // },
+ // {
+ // data: {
+ // enCode: 'settleAuditBtn',
+ // name: '缁撶畻瀹℃牳',
+ // },
+ // emits: {
+ // onClick: (role: API.GetSettlementTasksQueryResultItem) => goDetail(role.id, 'settlement'),
+ // },
+ // extraProps: {
+ // hide: (role: API.GetSettlementTasksQueryResultItem) => role.auditStatus !== null,
+ // },
+ // },
{
data: {
enCode: 'detailBtn',
@@ -221,10 +221,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
+ ),
},
},
]);
@@ -295,6 +299,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' },
@@ -433,17 +438,18 @@
});
function openSettleMethodDialog(row: API.GetSettlementTasksQueryResultItem) {
- handleSettlMethodAdd({
- id: row.id,
- settlementAccess: '' as any as EnumEnterpriseWalletAccess,
- });
+ // handleSettlMethodAdd({
+ // id: row.id,
+ // settlementAccess: '' as any as EnumEnterpriseWalletAccess,
+ // });
+ goDetail(row.id, 'settlement');
}
async function handleSettlMethod() {
- goDetail(settlMethodEditForm.id, 'settlement', settlMethodEditForm.settlementAccess);
+ goDetail(settlMethodEditForm.id, 'settlement');
}
-function goDetail(id: string, settlement?: string, settlementAccess?: EnumEnterpriseWalletAccess) {
+function goDetail(id: string, settlement?: string) {
router.push({
name: 'ServiceChargeDetail',
params: {
@@ -451,14 +457,26 @@
},
query: {
settlement: settlement ? settlement : '',
- settlementAccess: settlementAccess ? settlementAccess : '',
+ // settlementAccess: settlementAccess ? settlementAccess : '',
},
});
}
-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