From 1ea740c51e84a80e6eb069846ba4a58438f9795c Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期一, 07 四月 2025 17:40:12 +0800
Subject: [PATCH] feat: init

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

diff --git a/src/views/Reward/RewardDeclareDetail.vue b/src/views/Reward/RewardDeclareDetail.vue
index 6510a7c..e3c47c4 100644
--- a/src/views/Reward/RewardDeclareDetail.vue
+++ b/src/views/Reward/RewardDeclareDetail.vue
@@ -1,11 +1,71 @@
 <template>
-  <div>RewardDeclareDetail</div>
+  <LoadingLayout>
+    <AppContainer>
+      <PageFormLayout title="鐢虫姤璇︽儏">
+        <DetailView :form="state.detail">
+          <template #table>
+            <DeclareEnterpriseTableView ref="tableRef"></DeclareEnterpriseTableView>
+          </template>
+        </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 informationServices from '@/services/api/Information';
+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 state = reactive({
+  detail: {
+    categoryName: '',
+    amount: 0,
+    url: [] as UploadUserFile[],
+  },
+});
+
+const tableRef = ref<InstanceType<typeof DeclareEnterpriseTableView>>();
+
+const { data: detail, isLoading } = useQuery({
+  queryKey: ['informationServices/getInformationShowDetail', id],
+  queryFn: async () => {
+    return await informationServices.getInformationShowDetail(
+      { id: id },
+      {
+        showLoading: false,
+      }
+    );
+  },
+  placeholderData: () => ({} as API.InformationShowDetailDto),
+  onSuccess(data) {
+    state.detail.categoryName = data.categoryName;
+    state.detail.amount = data.attentionCount;
+    state.detail.url = convertApi2FormUrlOnlyOne(data.avatarUrl);
+
+    tableRef.value?.getList();
+  },
+});
+
+function handleBack() {
+  closeViewPush(route, {
+    name: 'RewardGrant',
+  });
+}
 </script>
 
 <style lang="scss" scoped>

--
Gitblit v1.9.1