From 5b0401fea3c339aa45feb0d165f36b1b7a76fdaf Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 20 十一月 2025 16:49:01 +0800
Subject: [PATCH] feat: 页面

---
 src/views/Reward/FinancialApproval.vue |  105 ++++++++++++++++++++++++++++++++--------------------
 1 files changed, 64 insertions(+), 41 deletions(-)

diff --git a/src/views/Reward/FinancialApproval.vue b/src/views/Reward/FinancialApproval.vue
index 465ca53..3af5205 100644
--- a/src/views/Reward/FinancialApproval.vue
+++ b/src/views/Reward/FinancialApproval.vue
@@ -16,7 +16,7 @@
           </QueryFilterItem>
           <QueryFilterItem tip-content="瀹℃牳鐘舵��">
             <FieldRadio
-              v-model="extraParamState.auditStatus"
+              v-model="extraParamState.financeAuditStatus"
               :value-enum="EnumParkBountyTradeDetailAuditStatusText"
               buttonStyle
               showAllBtn
@@ -37,19 +37,15 @@
           <QueryFilterItem>
             <SearchInput
               v-model="extraParamState.searchKeyWord"
-              style="width: 200px"
-              placeholder="浼佷笟鍚嶇О/淇$敤浠g爜"
+              style="width: 300px"
+              placeholder="浼佷笟鍚�/淇$敤浠g爜/鑱旂郴浜�/鑱旂郴鏂瑰紡"
               @on-click-search="getList"
             >
             </SearchInput>
           </QueryFilterItem>
         </template>
       </ProTableQueryFilterBar>
-      <ProTableV2
-        v-bind="proTableProps"
-        :columns="FinancialApprovalColumns"
-        :operationBtns="operationBtns"
-      >
+      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
       </ProTableV2>
       <RewardApplyTradeCheckDialog v-bind="dialogProps"></RewardApplyTradeCheckDialog>
     </AppContainer>
@@ -80,45 +76,43 @@
   EnumParkBountyTradeDetailAuditStatus,
   EnumParkBountyTradeDetailAuditStatusTag,
   EnumParkBountyTradeDetailAuditStatusText,
+  FinanceTypeEnum,
 } from '@/constants';
 import { ModelValueType } from 'element-plus';
 import RewardApplyTradeCheckDialog from './components/RewardApplyTradeCheckDialog.vue';
-import { convertApi2FormUrlOnlyOne, format } from '@/utils';
-import { FinancialApprovalColumns } from './constants';
+import { convertApi2FormUrlObjectBySeparator, convertApi2FormUrlOnlyOne, format } from '@/utils';
 import { useIndustrialParkDropDownList } from '@/hooks/industrialPark';
+import { useAccess } from '@/hooks';
+import { useGetCurrentExternalSystem } from '@/hooks/externalSystem';
 
 defineOptions({
   name: 'FinancialApproval',
 });
 
-const operationBtns = defineOperationBtns([
-  {
-    data: {
-      enCode: 'detailBtn',
-      name: '璇︽儏',
-    },
+const operationBtnMap: Record<string, OperationBtnType> = {
+  detailBtn: {
     emits: {
       onClick: (role) => openDialog(role, true),
     },
     extraProps: {
       hide: (row: API.GetParkBountyTradeDetailOutput) =>
-        row.auditStatus === EnumParkBountyTradeDetailAuditStatus.Wait,
+        row.financeAuditStatus === EnumParkBountyTradeDetailAuditStatus.Wait,
     },
   },
-  {
-    data: {
-      enCode: 'checkBtn',
-      name: '瀹℃壒',
-    },
+  checkBtn: {
     emits: {
       onClick: (row) => openDialog(row),
     },
     extraProps: {
       hide: (row: API.GetParkBountyTradeDetailOutput) =>
-        row.auditStatus !== EnumParkBountyTradeDetailAuditStatus.Wait,
+        row.financeAuditStatus !== EnumParkBountyTradeDetailAuditStatus.Wait,
     },
   },
-]);
+};
+
+const { checkSubModuleItemShow, column, operationBtns } = useAccess({
+  operationBtnMap,
+});
 
 const BaseState = {
   loading: true,
@@ -126,6 +120,7 @@
 
 const state = reactive({ ...BaseState });
 const { industrialParkList } = useIndustrialParkDropDownList();
+const { isSignWallet } = useGetCurrentExternalSystem();
 
 const fourStreamsIndustrialParkList = computed(() => {
   return industrialParkList.value.filter((x) => !!x.rewardEnable);
@@ -152,12 +147,13 @@
           orderInput: extraParamState.orderInput,
         },
         searchKeyWord: extraParamState.searchKeyWord,
-        // transferTimeBegin: format(extraParamState.transferTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
-        // transferTimeEnd: format(extraParamState.transferTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
-        creationTimeBegin: format(extraParamState.creationTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
-        creationTimeEnd: format(extraParamState.creationTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
-        // "enterpriseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
-        // "auditStatus": 10
+        parkId: extraParamState.enterpriseId,
+        financeAuditStatus: extraParamState.financeAuditStatus,
+        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,
+        selfAuditStatus: EnumParkBountyTradeDetailAuditStatus.Pass,
+        financeType: FinanceTypeEnum.PlatReward,
       };
       let res = await parkBountyApplyServices.getParkBountyTradeDetailList(params, {
         showLoading: !state.loading,
@@ -169,16 +165,18 @@
     defaultExtraParams: {
       searchKeyWord: '',
       enterpriseId: '',
-      auditStatus: '' as any as EnumParkBountyTradeDetailAuditStatus,
+      financeAuditStatus: '' as any as EnumParkBountyTradeDetailAuditStatus,
       creationTime: [] as unknown as ModelValueType,
-      orderInput: [{ property: 'tradeTime', order: OrderInputType.Desc }],
+      orderInput: [{ property: 'auditTime', order: OrderInputType.Desc }],
     },
     columnsRenderProps: {
       authType: { type: 'enum', valueEnum: EnterpriseTypeText },
       tradeTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
+      auditTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
+      financeAuditTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
       tradeAmount: { type: 'money' },
-      remianAmount: { type: 'money' },
-      auditStatus: {
+      bountyAmount: { type: 'money' },
+      financeAuditStatus: {
         type: 'tag',
         valueEnum: EnumParkBountyTradeDetailAuditStatusText,
         tagTypeEnum: EnumParkBountyTradeDetailAuditStatusTag,
@@ -192,11 +190,13 @@
     id: row.id,
     isCheck,
     auditStatus:
-      row.auditStatus === EnumParkBountyTradeDetailAuditStatus.Reject
+      row.financeAuditStatus === EnumParkBountyTradeDetailAuditStatus.Reject
         ? EnumParkBountyTradeDetailAuditStatus.Reject
         : EnumParkBountyTradeDetailAuditStatus.Pass,
-    auditRemark: row.auditRemark,
-    payAuditFileUrl: convertApi2FormUrlOnlyOne(row.payAuditFileUrl),
+    auditRemark: row.financeAuditRemark,
+    payAuditFileUrl: isCheck
+      ? convertApi2FormUrlObjectBySeparator(row.financeAuditFileUrl)
+      : ([] as UploadUserFile[]),
     userName: row.userName,
     enterpriseName: row.enterpriseName,
     societyCreditCode: row.societyCreditCode,
@@ -205,11 +205,22 @@
     parkName: row.parkName,
     parkTypeName: row.parkTypeName,
     tradeAmount: row.tradeAmount,
-    remianAmount: row.remianAmount,
+    bountyAmount: row.bountyAmount,
     tradeTime: row.tradeTime,
     auditTime: row.auditTime,
+    financeAuditTime: row.financeAuditTime,
     payRemark: row.payRemark,
-    payFileUrl: convertApi2FormUrlOnlyOne(row.payFileUrl),
+    payFileUrl: convertApi2FormUrlObjectBySeparator(row.payFileUrl),
+    title: isCheck ? '璇︽儏' : '璐㈠姟瀹℃壒',
+    incomeCompanyName: row.incomeCompanyName,
+    insureBillNo: row.insureBillNo,
+    incomeBankAccount: row.incomeBankAccount,
+    incomeBankCardNumber: row.incomeBankCardNumber,
+    incomeBankName: row.incomeBankName,
+    creationTime: row.creationTime,
+    insurePeopleNum: row.insurePeopleNum ?? ('' as any as number),
+
+    isSignWallet: isSignWallet.value,
   });
 }
 
@@ -229,11 +240,23 @@
     parkName: '',
     parkTypeName: '',
     tradeAmount: '' as any as number,
-    remianAmount: '' as any as number,
+    bountyAmount: '' as any as number,
     tradeTime: '',
     auditTime: '',
+    financeAuditTime: '',
     payRemark: '',
     payFileUrl: [] as UploadUserFile[],
+    title: '',
+
+    incomeCompanyName: '',
+    insureBillNo: '',
+    incomeBankAccount: '',
+    incomeBankCardNumber: '',
+    incomeBankName: '',
+    creationTime: '',
+    insurePeopleNum: 0,
+
+    isSignWallet: false,
   },
 });
 
@@ -247,7 +270,7 @@
       /** 瀹℃牳鍑瘉 */
       payAuditFileUrl: editForm.payAuditFileUrl?.[0]?.path ?? '',
     };
-    let res = await parkBountyApplyServices.auditParkBountyApplyTrade(params);
+    let res = await parkBountyApplyServices.financeAuditParkBountyApplyTrade(params);
     if (res) {
       Message.successMessage('鎿嶄綔鎴愬姛');
       getList(paginationState.pageIndex);

--
Gitblit v1.9.1