From e944883d021a71da57b3f6c7ce7101c2bcc31b90 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 23 四月 2025 09:14:27 +0800
Subject: [PATCH] feat: 接口

---
 src/views/Reward/RewardGrant.vue |   82 +++++++++++++++++++++++++++++-----------
 1 files changed, 59 insertions(+), 23 deletions(-)

diff --git a/src/views/Reward/RewardGrant.vue b/src/views/Reward/RewardGrant.vue
index 5891bf6..83dc7d8 100644
--- a/src/views/Reward/RewardGrant.vue
+++ b/src/views/Reward/RewardGrant.vue
@@ -25,7 +25,16 @@
               @change="getList()"
             ></FieldDatePicker>
           </QueryFilterItem>
-          <QueryFilterItem>
+          <QueryFilterItem tip-content="璐㈡斂鎷ㄤ粯鐘舵��">
+            <FieldRadio
+              v-model="extraParamState.financeStatus"
+              :value-enum="FinanceStatusEnumText"
+              buttonStyle
+              showAllBtn
+              @change="getList()"
+            />
+          </QueryFilterItem>
+          <QueryFilterItem tip-content="骞冲彴鍏呭�肩姸鎬�">
             <FieldRadio
               v-model="extraParamState.settleStatus"
               :value-enum="SettleStatusEnumText"
@@ -55,7 +64,7 @@
         :show-check-btn="false"
         downloadBtnText="鏌ョ湅"
         title="鏌ョ湅鍑瘉"
-        :BusinessTypeEnumText="ApplyTransferFileBusinessTypeEnumText"
+        :BusinessTypeEnumText="TransferFileEnumInRewardGrandText"
       />
       <FinancialDialog v-bind="dialogFinancialProps"></FinancialDialog>
       <PlateformDialog v-bind="dialogPlateformProps"></PlateformDialog>
@@ -80,7 +89,12 @@
 } from '@bole-core/components';
 import { Message, OrderInputType } from '@bole-core/core';
 import { format } from '@/utils';
-import { SettleStatusEnum, SettleStatusEnumText } from '@/constants';
+import {
+  SettleStatusEnum,
+  SettleStatusEnumText,
+  FinanceStatusEnum,
+  FinanceStatusEnumText,
+} from '@/constants';
 import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
 import FinancialDialog from './components/FinancialDialog.vue';
 import PlateformDialog from './components/PlateformDialog.vue';
@@ -89,8 +103,8 @@
 import { useQueryClient } from '@tanstack/vue-query';
 import { FourStreamsMaterialUtils } from '@/components/commonView/utils';
 import {
-  ApplyTransferMaterialFileTableItem,
-  ApplyTransferFileBusinessTypeEnumText,
+  TransferFileEnumInRewardGrandText,
+  TransferFileEnumInRewardGrandTableItem,
 } from '@/components/commonView/types';
 
 defineOptions({
@@ -130,12 +144,12 @@
   },
   {
     id: '7',
-    enCode: 'settleStatus',
+    enCode: 'financeStatus',
     name: '璐㈡斂鎷ㄤ粯鐘舵��',
   },
   {
     id: '8',
-    enCode: 'settleTime',
+    enCode: 'financeTime',
     name: '鎷ㄤ粯鏃ユ湡',
   },
   {
@@ -170,7 +184,7 @@
     },
     extraProps: {
       hide: (row: API.GetParkBountyApplyListOutput) =>
-        row.settleStatus === SettleStatusEnum.HasSettle,
+        row.financeStatus === FinanceStatusEnum.HasIncome,
     },
   },
   {
@@ -196,7 +210,8 @@
     },
     extraProps: {
       hide: (row: API.GetParkBountyApplyListOutput) =>
-        row.settleStatus === SettleStatusEnum.WaitForSettle,
+        row.settleStatus === SettleStatusEnum.WaitForSettle &&
+        row.financeStatus === FinanceStatusEnum.WaitForIncome,
     },
   },
 ]);
@@ -230,6 +245,7 @@
         },
         batchNo: extraParamState.batchNo,
         settleStatus: extraParamState.settleStatus,
+        financeStatus: extraParamState.financeStatus,
         creationTimeBegin: format(extraParamState.creationTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
         creationTimeEnd: format(extraParamState.creationTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
         settleTimeBegin: format(extraParamState.settleTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
@@ -245,6 +261,7 @@
     defaultExtraParams: {
       batchNo: '',
       settleStatus: '' as any as SettleStatusEnum,
+      financeStatus: '' as any as FinanceStatusEnum,
       creationTime: [] as unknown as ModelValueType,
       settleTime: [] as unknown as ModelValueType,
       orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }],
@@ -253,13 +270,15 @@
       applyMonth: { type: 'date', format: 'YYYY骞碝M鏈�' },
       creationTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
       settleTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
+      financeTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
       applySumAmount: { type: 'money' },
       settleStatus: { type: 'enum', valueEnum: SettleStatusEnumText },
+      financeStatus: { type: 'enum', valueEnum: FinanceStatusEnumText },
     },
   }
 );
 
-function goDetail(row: any) {
+function goDetail(row: API.GetParkBountyApplyListOutput) {
   router.push({
     name: 'RewardDeclareDetail',
     params: {
@@ -268,15 +287,15 @@
   });
 }
 
-function openMaterialFileDialog(row: API.ParkBountyApplyTransferDetailInfo) {
+function openMaterialFileDialog(row: API.GetParkBountyApplyListOutput) {
   handleMaterialFileAdd({
-    list: FourStreamsMaterialUtils.initApplyTransferMaterialFileList(row),
+    list: FourStreamsMaterialUtils.initApplyRewardGrandFileList(row),
   });
 }
 
 const { dialogProps: dialogMaterialFileProps, handleAdd: handleMaterialFileAdd } = useFormDialog({
   defaultFormParams: {
-    list: [] as ApplyTransferMaterialFileTableItem[],
+    list: [] as TransferFileEnumInRewardGrandTableItem[],
   },
 });
 
@@ -289,25 +308,26 @@
   onConfirm: handleFinancial,
   defaultFormParams: {
     parkBountyApplyId: '',
-    amount: 0,
-    settleFileUrl: [] as UploadUserFile[],
+    financeSumAmount: 0,
+    financeFileUrl: [] as UploadUserFile[],
   },
 });
 
 function openFinancialDialog(row?: API.GetParkBountyApplyListOutput) {
   handleFinancialEdit({
     parkBountyApplyId: row.id,
-    amount: 0,
-    settleFileUrl: [] as UploadUserFile[],
+    financeSumAmount: 0,
+    financeFileUrl: [] as UploadUserFile[],
   });
 }
 async function handleFinancial() {
   try {
-    let params: API.ParkBountyApplySettleInput = {
+    let params: API.ParkBountyApplyFinanceFileInput = {
       parkBountyApplyId: editFinancialForm.parkBountyApplyId,
-      settleFileUrl: editFinancialForm.settleFileUrl.map((x) => x.path).join('|'),
+      financeSumAmount: editFinancialForm.financeSumAmount,
+      financeFileUrl: editFinancialForm.financeFileUrl.map((x) => x.path).join('|'),
     };
-    let res = await parkBountyApplyServices.parkBountyApplySettle(params);
+    let res = await parkBountyApplyServices.parkBountyApplyFinanceBill(params);
     if (res) {
       Message.successMessage('鎿嶄綔鎴愬姛');
       getList(paginationState.pageIndex);
@@ -326,7 +346,7 @@
   onConfirm: handlePlateform,
   defaultFormParams: {
     parkBountyApplyId: '',
-    amount: 0,
+    settleSumAmount: 0,
     settleFileUrl: [] as UploadUserFile[],
   },
 });
@@ -334,12 +354,28 @@
 function openPlateformDialog(row?: API.GetParkBountyApplyListOutput) {
   handlePlateformEdit({
     parkBountyApplyId: row.id,
-    amount: 0,
+    settleSumAmount: 0,
     settleFileUrl: [] as UploadUserFile[],
   });
 }
 
-async function handlePlateform() {}
+async function handlePlateform() {
+  try {
+    let params: API.ParkBountyApplySettleInput = {
+      parkBountyApplyId: editPlateformForm.parkBountyApplyId,
+      settleSumAmount: editPlateformForm.settleSumAmount,
+      settleFileUrl: editPlateformForm.settleFileUrl.map((x) => x.path).join('|'),
+    };
+    let res = await parkBountyApplyServices.parkBountyApplySettle(params);
+    if (res) {
+      Message.successMessage('鎿嶄綔鎴愬姛');
+      getList(paginationState.pageIndex);
+      queryClient.invalidateQueries({
+        queryKey: ['parkBountyApplyServices/getGoverDataBoard'],
+      });
+    }
+  } catch (error) {}
+}
 </script>
 
 <style lang="scss" scoped>

--
Gitblit v1.9.1