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