From 05a07471a6e55cc82210f9ad8b74d4b5aa445cfc Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期一, 14 四月 2025 10:46:54 +0800 Subject: [PATCH] feat: 接口 --- src/views/Home/Home.vue | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 101 insertions(+), 16 deletions(-) diff --git a/src/views/Home/Home.vue b/src/views/Home/Home.vue index 743c705..4fe6e3a 100644 --- a/src/views/Home/Home.vue +++ b/src/views/Home/Home.vue @@ -1,34 +1,119 @@ <template> <LoadingLayout :loading="isLoading"> <AppContainer> - <ChunkCell title="寰呭鐞�"> </ChunkCell> - <ChunkCell title="鏁版嵁鐪嬫澘"> </ChunkCell> + <ChunkCell title="寰呭鐞�"> + <div class="data-board-card-list"> + <DataBoardCard title="寰呭鏍镐紒涓�" :contentBetween="true"> + <DataBoardCardPrice + :value="detail?.waitCheckEnterpriseNumber ?? 0" + :isInline="true" + :useThousand="false" + unit="瀹�" + /> + <el-button type="primary" link @click="goToAudit">鍘诲鏍�</el-button> + </DataBoardCard> + <DataBoardCard title="濂栧姳閲戝緟鍙戞斁" :contentBetween="true"> + <DataBoardCardPrice + :isInline="true" + :value="detail?.waitForSettleRewardNumber ?? 0" + :useThousand="false" + unit="瀹�" + /> + <el-button type="primary" link @click="goToGrant">鍘诲彂鏀�</el-button> + </DataBoardCard> + </div> + </ChunkCell> + <ChunkCell title="鏁版嵁鐪嬫澘"> + <div class="data-board-card-list"> + <DataBoardCard title="绱宸插鏍镐紒涓�"> + <DataBoardCardPrice + :value="detail?.accumulatedCheckEnterpriseNumber ?? 0" + :useThousand="false" + unit="瀹�" + /> + </DataBoardCard> + <DataBoardCard title="绱宸插鏍搁�氳繃浼佷笟"> + <DataBoardCardPrice + :value="detail?.accumulatedCheckPassEnterpriseNumber ?? 0" + :useThousand="false" + unit="瀹�" + /> + </DataBoardCard> + <DataBoardCard title="绱鏈鏍搁�氳繃浼佷笟"> + <DataBoardCardPrice + :value="detail?.accumulatedCheckRejectEnterpriseNumber ?? 0" + :useThousand="false" + unit="瀹�" + /> + </DataBoardCard> + <DataBoardCard title="绱宸插彂鏀惧鍔遍噾"> + <DataBoardCardPrice :value="detail?.accumulatedHasSettleRewardAmount ?? 0" unit="鍏�" /> + </DataBoardCard> + <DataBoardCard title="绱寰呭彂鏀惧鍔遍噾"> + <DataBoardCardPrice + :value="detail?.accumulatedWaitForSettleRewardAmount ?? 0" + unit="鍏�" + /> + </DataBoardCard> + <DataBoardCard title="绱宸蹭娇鐢ㄥ鍔遍噾"> + <DataBoardCardPrice :value="detail?.accumulatedUsedRewardAmount ?? 0" unit="鍏�" /> + </DataBoardCard> + </div> + </ChunkCell> </AppContainer> </LoadingLayout> </template> <script setup lang="ts"> -import { - ProForm, - ProFormItemV2, - ProFormSelect, - ProFormText, - ProFormCol, - ProFormColItem, - ProFormInputNumber, - ProFormTextArea, - ProFormRadio, - ChunkCell, - AppScrollContainer, -} from '@bole-core/components'; +import { AppContainer, ChunkCell } from '@bole-core/components'; +import DataBoardCard from '@/components/DataBoardCard/DataBoardCard.vue'; +import DataBoardCardPrice from '@/components/DataBoardCard/DataBoardCardPrice.vue'; +import * as parkBountyApplyServices from '@/services/api/ParkBountyApply'; +import { useQuery, useQueryClient } from '@tanstack/vue-query'; defineOptions({ name: 'Home', }); -const isLoading = ref(false); +const router = useRouter(); + +const { data: detail, isLoading } = useQuery({ + queryKey: ['parkBountyApplyServices/getGoverDataBoard'], + queryFn: async () => { + return await parkBountyApplyServices.getGoverDataBoard({ + showLoading: false, + }); + }, + placeholderData: () => ({} as API.GetGoverDataBoardOutput), +}); + +function goToAudit() { + router.push({ + name: 'MaterialReviewList', + }); +} +function goToGrant() { + router.push({ + name: 'RewardGrant', + }); +} + +const queryClient = useQueryClient(); + +onMounted(async () => { + await queryClient.ensureQueryData({ + queryKey: ['parkBountyApplyServices/getGoverDataBoard'], + }); +}); </script> <style lang="scss" scoped> @use '@/style/common.scss' as *; + +.data-board-card-list { + display: grid; + grid-template-columns: repeat(4, 1fr); + grid-gap: 40px; + padding: 20px; +} </style> -- Gitblit v1.9.1