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/RewardGrant.vue |  153 +++++++-------------------------------------------
 1 files changed, 22 insertions(+), 131 deletions(-)

diff --git a/src/views/Reward/RewardGrant.vue b/src/views/Reward/RewardGrant.vue
index e6b15e0..e5254de 100644
--- a/src/views/Reward/RewardGrant.vue
+++ b/src/views/Reward/RewardGrant.vue
@@ -72,8 +72,6 @@
         v-bind="dialogMaterialFileProps"
         :show-upload-btn="false"
         :show-delete-btn="false"
-        :show-check-btn="false"
-        downloadBtnText="鏌ョ湅"
         title="鏌ョ湅鍑瘉"
         :BusinessTypeEnumText="TransferFileEnumInRewardGrandText"
       />
@@ -112,6 +110,7 @@
   SettleStatusEnumTextV2Query,
   IncomeTypeEnum,
   BillStatusEnum,
+  BountyCheckStatusEnum,
 } from '@/constants';
 import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
 import RegisterDialog from './components/RegisterDialog.vue';
@@ -123,118 +122,16 @@
 import { useQueryClient } from '@tanstack/vue-query';
 import { TransferFileEnumInRewardGrandTableItem } from '@/components/commonView/types';
 import { FourStreamsMaterialUtils } from '@/components/commonView/utils';
+import { useAccess } from '@/hooks';
 
 defineOptions({
   name: 'RewardGrant',
 });
 
-const column: API.CustomModuleColumnDto[] = [
-  {
-    id: '1',
-    enCode: 'batchNo',
-    name: '鐢宠鎵规鍙�',
-    width: 160,
-  },
-  {
-    id: '2',
-    enCode: 'parkName',
-    name: '鐢宠鍥尯',
-    width: 250,
-  },
-  {
-    id: '3',
-    enCode: 'parkTypeName',
-    name: '鍥尯绫诲瀷',
-    width: 160,
-  },
-  {
-    id: '4',
-    enCode: 'applyMonth',
-    name: '鐢宠骞冲彴濂栧姳鏈堜唤',
-    width: 160,
-  },
-  {
-    id: '5',
-    enCode: 'applySumAmount',
-    name: '骞冲彴濂栧姳姹囨�婚噾棰濓紙鍏冿級',
-    width: 180,
-  },
-  {
-    id: '6',
-    enCode: 'creationTime',
-    name: '鐢虫姤鏃ユ湡',
-    width: 180,
-  },
-  {
-    id: '7',
-    enCode: 'financeStatus',
-    name: '璐㈡斂鎷ㄤ粯鐧昏鐘舵��',
-    width: 160,
-  },
-  {
-    id: '8',
-    enCode: 'financeTime',
-    name: '璐㈡斂鎷ㄤ粯鐧昏鏃ユ湡',
-    width: 180,
-  },
-  {
-    id: '9',
-    enCode: 'settleStatus',
-    name: '骞冲彴鎷ㄤ粯鐧昏鐘舵��',
-    width: 160,
-  },
-  {
-    id: '10',
-    enCode: 'settleTime',
-    name: '骞冲彴鎷ㄤ粯鐧昏鏃ユ湡',
-    width: 180,
-  },
-];
-
-const operationBtns = defineOperationBtns([
-  {
-    data: {
-      enCode: 'detailBtn',
-      name: '鐢虫姤璇︽儏',
-    },
-    emits: {
-      onClick: (role) => goDetail(role),
-    },
-  },
-  // {
-  //   data: {
-  //     enCode: 'financialBtn',
-  //     name: '璐㈡斂鎷ㄤ粯',
-  //   },
-  //   emits: {
-  //     onClick: (role) => openFinancialDialog(role),
-  //   },
-  //   extraProps: {
-  //     hide: (row: API.GetParkBountyApplyListOutput) =>
-  //       row.financeStatus === FinanceStatusEnum.HasIncome,
-  //   },
-  // },
-  // {
-  //   data: {
-  //     enCode: 'plateformBtn',
-  //     name: '骞冲彴鍏呭��',
-  //   },
-  //   emits: {
-  //     onClick: (role) => openPlateformDialog(role),
-  //   },
-  //   extraProps: {
-  //     hide: (row: API.GetParkBountyApplyListOutput) =>
-  //       row.settleStatus !== SettleStatusEnum.WaitForSettle,
-  //   },
-  // },
-  {
-    data: {
-      enCode: 'registerBtn',
-      name: '鐧昏',
-    },
-    emits: {
-      onClick: (role) => openRegisterDialog(role),
-    },
+const operationBtnMap: Record<string, OperationBtnType> = {
+  detailBtn: { emits: { onClick: (role) => goDetail(role) } },
+  registerBtn: {
+    emits: { onClick: (role) => goRewardGrantRegister(role) },
     extraProps: {
       hide: (row: API.GetParkBountyApplyListOutput) =>
         !(
@@ -243,27 +140,7 @@
         ),
     },
   },
-  // {
-  //   data: {
-  //     enCode: 'uploadCertBtn',
-  //     name: '涓婁紶鍑瘉',
-  //   },
-  //   emits: {
-  //     onClick: (role) => openCertRewardDialog(role),
-  //   },
-  //   extraProps: {
-  //     hide: (row: API.GetParkBountyApplyListOutput) =>
-  //       !(
-  //         row.settleStatus === SettleStatusEnum.HasSettle ||
-  //         row.financeStatus === FinanceStatusEnum.HasIncome
-  //       ),
-  //   },
-  // },
-  {
-    data: {
-      enCode: 'checkBtn',
-      name: '鏌ョ湅鍑瘉',
-    },
+  checkBtn: {
     emits: {
       onClick: (row) => openMaterialFileDialog(row),
     },
@@ -275,7 +152,11 @@
         ),
     },
   },
-]);
+};
+
+const { checkSubModuleItemShow, column, operationBtns } = useAccess({
+  operationBtnMap,
+});
 
 const router = useRouter();
 const BaseState = {
@@ -313,6 +194,7 @@
         settleTimeEnd: format(extraParamState.settleTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
         financeTimeBegin: format(extraParamState.financeTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
         financeTimeEnd: format(extraParamState.financeTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
+        outReCheckStatus: BountyCheckStatusEnum.CheckPassed,
       };
       let res = await parkBountyApplyServices.getParkBountyApplyList(params, {
         showLoading: !state.loading,
@@ -544,6 +426,15 @@
     }
   } catch (error) {}
 }
+
+function goRewardGrantRegister(row: API.GetParkBountyApplyListOutput) {
+  router.push({
+    name: 'RewardGrantRegister',
+    params: {
+      id: row.id,
+    },
+  });
+}
 </script>
 
 <style lang="scss" scoped>

--
Gitblit v1.9.1