From 9e63ed4533fe6fbb5e81a096c9f5949c7ccf58f2 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期二, 08 四月 2025 17:34:15 +0800
Subject: [PATCH] feat: 接口

---
 src/views/Reward/RewardDeclareDetail.vue |   79 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 78 insertions(+), 1 deletions(-)

diff --git a/src/views/Reward/RewardDeclareDetail.vue b/src/views/Reward/RewardDeclareDetail.vue
index 6510a7c..94164c5 100644
--- a/src/views/Reward/RewardDeclareDetail.vue
+++ b/src/views/Reward/RewardDeclareDetail.vue
@@ -1,11 +1,88 @@
 <template>
-  <div>RewardDeclareDetail</div>
+  <LoadingLayout>
+    <AppContainer>
+      <PageFormLayout title="鐢虫姤璇︽儏">
+        <DetailView :form="form">
+          <DeclareEnterpriseTableView ref="tableRef"></DeclareEnterpriseTableView>
+        </DetailView>
+        <template #footer>
+          <el-button @click="handleBack">鍏抽棴</el-button>
+        </template>
+      </PageFormLayout>
+    </AppContainer>
+  </LoadingLayout>
 </template>
 
 <script setup lang="ts">
+import { AppContainer, LoadingLayout, UploadUserFile, PageFormLayout } from '@bole-core/components';
+import DetailView from '@/components/commonView/DetailView.vue';
+import DeclareEnterpriseTableView from '@/components/commonView/DeclareEnterpriseTableView.vue';
+import { useQuery } from '@tanstack/vue-query';
+import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
+import { convertApi2FormUrlOnlyOne } from '@/utils';
+import { useRouteView } from '@/hooks';
+
 defineOptions({
   name: 'RewardDeclareDetail',
 });
+
+const route = useRoute();
+const { closeViewPush } = useRouteView();
+const id = route.params?.id as string;
+const form = reactive({
+  searchKeyWord: '',
+  batchNo: '',
+  parkName: '',
+  parkTypeName: '',
+  applyMonth: '',
+  applySumAmount: 0,
+  enterpriseTaxSubFileUrl: [] as UploadUserFile[],
+  enterpriseOperateFileUrl: [] as UploadUserFile[],
+  bountyAssignFileUlr: [] as UploadUserFile[],
+  bountyCollectFileUrl: [] as UploadUserFile[],
+});
+
+const tableRef = ref<InstanceType<typeof DeclareEnterpriseTableView>>();
+
+const { data: detail, isLoading } = useQuery({
+  queryKey: ['parkBountyApplyServices/getParkBountyApplyDetail', id],
+  queryFn: async () => {
+    return await parkBountyApplyServices.getParkBountyApplyDetail(
+      { parkBountyApplyId: id, searchKeyWord: form.searchKeyWord },
+      {
+        showLoading: false,
+      }
+    );
+  },
+  placeholderData: () => ({} as API.GetParkBountyApplyInfoOutput),
+  onSuccess(data) {
+    form.batchNo = data.parkBountyApplyBaseInfo.batchNo;
+    form.parkName = data.parkBountyApplyBaseInfo.parkName;
+    form.parkTypeName = data.parkBountyApplyBaseInfo.parkTypeName;
+    form.applyMonth = data.parkBountyApplyBaseInfo.applyMonth;
+    form.applySumAmount = data.parkBountyApplyBaseInfo.applySumAmount;
+    form.enterpriseTaxSubFileUrl = convertApi2FormUrlOnlyOne(
+      data.parkBountyApplyBaseInfo?.enterpriseTaxSubFileUrl
+    );
+    form.enterpriseOperateFileUrl = convertApi2FormUrlOnlyOne(
+      data.parkBountyApplyBaseInfo?.enterpriseOperateFileUrl
+    );
+    form.bountyAssignFileUlr = convertApi2FormUrlOnlyOne(
+      data.parkBountyApplyBaseInfo?.bountyAssignFileUlr
+    );
+    form.bountyCollectFileUrl = convertApi2FormUrlOnlyOne(
+      data.parkBountyApplyBaseInfo?.bountyCollectFileUrl
+    );
+
+    tableRef.value?.getList();
+  },
+});
+
+function handleBack() {
+  closeViewPush(route, {
+    name: 'RewardGrant',
+  });
+}
 </script>
 
 <style lang="scss" scoped>

--
Gitblit v1.9.1