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