From f633483b97b38c2965ecdbffcb80e4e297175a43 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期一, 28 七月 2025 18:54:19 +0800
Subject: [PATCH] fix: 奖励金审核
---
src/constants/fourStreams.ts | 11 +++++++++++
src/services/api/typings.d.ts | 14 ++++++++++----
src/views/Reward/RewardApplyTradeCheck.vue | 4 +++-
src/services/api/ParkBountyApply.ts | 15 +++++++++++++++
src/views/Reward/components/RewardApplyTradeCheckDialog.vue | 11 +++++++----
src/views/Reward/FinancialApproval.vue | 4 +++-
6 files changed, 49 insertions(+), 10 deletions(-)
diff --git a/src/constants/fourStreams.ts b/src/constants/fourStreams.ts
index 6baa16c..d881f87 100644
--- a/src/constants/fourStreams.ts
+++ b/src/constants/fourStreams.ts
@@ -150,3 +150,14 @@
}
export const BountyBatchApplyTransferTemp = `${TempFolderPath}/%E5%85%A5%E8%B4%A6%E6%A8%A1%E6%9D%BFV2.xlsx`;
+
+export enum FinanceTypeEnum {
+ /// 棰勫厖鍊奸噾棰�
+ Recharge = 10,
+
+ /// 骞冲彴濂栧姳
+ PlatReward = 20,
+
+ /// 璐㈡斂鎷ㄤ粯
+ Finance = 30,
+}
diff --git a/src/services/api/ParkBountyApply.ts b/src/services/api/ParkBountyApply.ts
index daa29dd..a85c998 100644
--- a/src/services/api/ParkBountyApply.ts
+++ b/src/services/api/ParkBountyApply.ts
@@ -32,6 +32,21 @@
});
}
+/** 鐢熸垚濂栧姳閲戠粺璁℃姤琛� POST /api/ParkBountyApply/BuildRewardStatistics */
+export async function buildRewardStatistics(
+ body: API.BuildRewardStatisticsInput,
+ options?: API.RequestConfig
+) {
+ return request<any>('/api/ParkBountyApply/BuildRewardStatistics', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 鎾ゅ洖鐢虫姤 GET /api/ParkBountyApply/CancelParkBountyApply */
export async function cancelParkBountyApply(
// 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index d8c1ae5..841e3a9 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -2878,6 +2878,13 @@
type BountyCheckStatusEnum = 10 | 20 | 30 | -10;
+ interface BuildRewardStatisticsInput {
+ /** 寮�濮嬬粺璁℃湀浠� */
+ startMonth?: string;
+ /** 鎴缁熻鏈堜唤 */
+ endMonth?: string;
+ }
+
type BusinessSettingTypeEnum = 10;
interface CalculationWalletPayFeeInput {
@@ -9031,6 +9038,7 @@
/** 鍥尯Id */
parkId?: string;
enterpriseId?: string;
+ financeType?: FinanceTypeEnum;
auditStatus?: EnumParkBountyTradeDetailAuditStatus;
financeAuditStatus?: EnumParkBountyTradeDetailAuditStatus;
}
@@ -9078,6 +9086,8 @@
financeAuditRemark?: string;
/** 璐㈠姟瀹℃牳鏃堕棿 */
financeAuditTime?: string;
+ /** 瀹℃牳鍑瘉 */
+ financeAuditFileUrl?: string;
/** 瀹℃牳鍑瘉 */
payAuditFileUrl?: string;
}
@@ -9554,10 +9564,6 @@
amount?: number;
/** 鍑瘉鍦板潃 */
url?: string;
- /** 瀹℃牳鍑瘉 */
- payAuditFileUrl?: string;
- /** 瀹℃牳鍑瘉 */
- financeAuditFileUrl?: string;
/** 濂栧姳閲戠敵鎶ヨ缁咺d */
parkBountyApplyDetailId?: string;
/** 鍏宠仈Id */
diff --git a/src/views/Reward/FinancialApproval.vue b/src/views/Reward/FinancialApproval.vue
index bf256cd..b43e428 100644
--- a/src/views/Reward/FinancialApproval.vue
+++ b/src/views/Reward/FinancialApproval.vue
@@ -80,6 +80,7 @@
EnumParkBountyTradeDetailAuditStatus,
EnumParkBountyTradeDetailAuditStatusTag,
EnumParkBountyTradeDetailAuditStatusText,
+ FinanceTypeEnum,
} from '@/constants';
import { ModelValueType } from 'element-plus';
import RewardApplyTradeCheckDialog from './components/RewardApplyTradeCheckDialog.vue';
@@ -157,6 +158,7 @@
auditTimeBegin: format(extraParamState.creationTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
auditTimeEnd: format(extraParamState.creationTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
auditStatus: EnumParkBountyTradeDetailAuditStatus.Pass,
+ financeType: FinanceTypeEnum.PlatReward,
};
let res = await parkBountyApplyServices.getParkBountyTradeDetailList(params, {
showLoading: !state.loading,
@@ -198,7 +200,7 @@
: EnumParkBountyTradeDetailAuditStatus.Pass,
auditRemark: row.financeAuditRemark,
payAuditFileUrl: isCheck
- ? convertApi2FormUrlObjectBySeparator(row.payAuditFileUrl)
+ ? convertApi2FormUrlObjectBySeparator(row.financeAuditFileUrl)
: ([] as UploadUserFile[]),
userName: row.userName,
enterpriseName: row.enterpriseName,
diff --git a/src/views/Reward/RewardApplyTradeCheck.vue b/src/views/Reward/RewardApplyTradeCheck.vue
index 3bc5e5d..3ab6909 100644
--- a/src/views/Reward/RewardApplyTradeCheck.vue
+++ b/src/views/Reward/RewardApplyTradeCheck.vue
@@ -51,7 +51,7 @@
:operationBtns="operationBtns"
>
</ProTableV2>
- <RewardApplyTradeCheckDialog v-bind="dialogProps"></RewardApplyTradeCheckDialog>
+ <RewardApplyTradeCheckDialog isApplyTrade v-bind="dialogProps"></RewardApplyTradeCheckDialog>
</AppContainer>
</LoadingLayout>
</template>
@@ -80,6 +80,7 @@
EnumParkBountyTradeDetailAuditStatus,
EnumParkBountyTradeDetailAuditStatusTag,
EnumParkBountyTradeDetailAuditStatusText,
+ FinanceTypeEnum,
} from '@/constants';
import { ModelValueType } from 'element-plus';
import RewardApplyTradeCheckDialog from './components/RewardApplyTradeCheckDialog.vue';
@@ -156,6 +157,7 @@
creationTimeBegin: format(extraParamState.creationTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
creationTimeEnd: format(extraParamState.creationTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
auditStatus: extraParamState.auditStatus,
+ financeType: FinanceTypeEnum.PlatReward,
};
let res = await parkBountyApplyServices.getParkBountyTradeDetailList(params, {
showLoading: !state.loading,
diff --git a/src/views/Reward/components/RewardApplyTradeCheckDialog.vue b/src/views/Reward/components/RewardApplyTradeCheckDialog.vue
index 3bd8b9b..6c39974 100644
--- a/src/views/Reward/components/RewardApplyTradeCheckDialog.vue
+++ b/src/views/Reward/components/RewardApplyTradeCheckDialog.vue
@@ -47,9 +47,9 @@
<ProFormItemV2
label="涓婁紶鍑瘉:"
prop="payAuditFileUrl"
- :required="form.auditStatus === EnumParkBountyTradeDetailAuditStatus.Pass"
+ :required="!isApplyTrade"
:check-rules="
- form.auditStatus === EnumParkBountyTradeDetailAuditStatus.Pass && [
+ !isApplyTrade && [
{
message: '璇蜂笂浼犲嚟璇�',
type: 'upload',
@@ -130,9 +130,12 @@
name: 'WithdrawalApprovalAuditDialog',
});
-// type Props = {};
+type Props = {
+ //true 鍑鸿处瀹℃壒 false 璐㈠姟瀹℃壒
+ isApplyTrade?: boolean;
+};
-// const props = withDefaults(defineProps<Props>(), {});
+const props = withDefaults(defineProps<Props>(), {});
const visible = defineModel({ type: Boolean });
--
Gitblit v1.9.1