From 0aab114ff888094283b8197ef20d387906209a57 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期四, 24 七月 2025 17:53:24 +0800 Subject: [PATCH] feat: 接口 --- src/views/Reward/RewardDeclareDetail.vue | 118 +++++++++++++++++----------------------------------------- 1 files changed, 35 insertions(+), 83 deletions(-) diff --git a/src/views/Reward/RewardDeclareDetail.vue b/src/views/Reward/RewardDeclareDetail.vue index f0241f9..6e9d5c5 100644 --- a/src/views/Reward/RewardDeclareDetail.vue +++ b/src/views/Reward/RewardDeclareDetail.vue @@ -9,7 +9,8 @@ :extra-param-state="extraParamState" :pro-table-props="proTableProps" :reset="reset" - :open-dialog="openDialog" + :column="addRewardApplyStep3Columns" + :operationBtns="operationBtns" ></DeclareEnterpriseTableView> <MateriaDetailDialog v-bind="dialogProps" @@ -28,27 +29,20 @@ </template> <script setup lang="ts"> -import { - AppContainer, - LoadingLayout, - UploadUserFile, - PageFormLayout, - useTable, - useFormDialog, -} from '@bole-core/components'; +import { AppContainer, LoadingLayout, PageFormLayout } from '@bole-core/components'; import DetailView from '@/components/commonView/DetailView.vue'; import ChunkCellV2 from '@/components/Layout/ChunkCellV2.vue'; import MateriaDetailDialog from '@/components/commonView/MateriaDetailDialog.vue'; import DeclareEnterpriseTableView from '@/components/commonView/DeclareEnterpriseTableView.vue'; import { useQuery } from '@tanstack/vue-query'; import * as parkBountyApplyServices from '@/services/api/ParkBountyApply'; -import { convertApi2FormUrlOnlyOne, setOSSLink } from '@/utils'; -import { useRouteView } from '@/hooks'; -import { OrderInputType } from '@bole-core/core'; -import { EnterpriseTypeText } from '@/constants'; -import { FourStreamsMaterialFileTableItem } from '@/components/commonView/types'; +import { useDeclareEnterpriseTable, useRouteView } from '@/hooks'; +import { useAddRewardApplyStep3Columns } from '@/constants'; import { useIndustrialParkDropDownList } from '@/hooks/industrialPark'; -import { FourStreamsMaterialUtils } from '@/components/commonView/utils'; +import { + CustomerApplyFileTypeListItem, + EnterpriseApplyFileUtils, +} from '@/components/commonView/utils'; defineOptions({ name: 'RewardDeclareDetail', @@ -63,15 +57,25 @@ parkTypeName: '', applyMonth: '', applySumAmount: 0, - enterpriseTaxSubFileUrl: [] as UploadUserFile[], - enterpriseOperateFileUrl: [] as UploadUserFile[], - bountyAssignFileUlr: [] as UploadUserFile[], - bountyCollectFileUrl: [] as UploadUserFile[], - enterpriseRelateFileUrl: [] as UploadUserFile[], + financeSumAmount: 0, + settleSumAmount: 0, + parkCollectFileList: [] as CustomerApplyFileTypeListItem[], + calculationFileList: [] as CustomerApplyFileTypeListItem[], + suportPlatRecharge: false, }); +const { addRewardApplyStep3Columns } = useAddRewardApplyStep3Columns({ + suportPlatRecharge: toRef(form, 'suportPlatRecharge'), +}); + +const { extraParamState, getList, reset, proTableProps, operationBtns, dialogProps } = + useDeclareEnterpriseTable({ + id: ref(id), + applyMonth: toRef(form, 'applyMonth'), + }); + const { data: detail, isLoading } = useQuery({ - queryKey: ['parkBountyApplyServices/getParkBountyApplyDetail', id], + queryKey: ['parkBountyApplyServices/getParkBountyApplyDetailBaseInfo', id], queryFn: async () => { return await parkBountyApplyServices.getParkBountyApplyDetailBaseInfo( { parkBountyApplyId: id }, @@ -80,78 +84,26 @@ } ); }, - placeholderData: () => ({} as API.OutCheckParkBountyApplyBaseInfo), + placeholderData: () => ({} as API.ParkBountyApplyBaseInfo), onSuccess(data) { form.batchNo = data.batchNo; form.parkName = data.parkName; form.parkTypeName = data.parkTypeName; form.applyMonth = data.applyMonth; form.applySumAmount = data.applySumAmount; - form.enterpriseTaxSubFileUrl = convertApi2FormUrlOnlyOne(data?.enterpriseTaxSubFileUrl); - form.enterpriseOperateFileUrl = convertApi2FormUrlOnlyOne(data?.enterpriseOperateFileUrl); - form.bountyAssignFileUlr = convertApi2FormUrlOnlyOne(data?.bountyAssignFileUlr); - form.bountyCollectFileUrl = convertApi2FormUrlOnlyOne(data?.bountyCollectFileUrl); - form.enterpriseRelateFileUrl = convertApi2FormUrlOnlyOne(data?.enterpriseRelateFileUrl); + form.financeSumAmount = data.financeSumAmount; + form.settleSumAmount = data.settleSumAmount; + form.parkCollectFileList = EnterpriseApplyFileUtils.convertApiFileToParkCollectFileList( + data.listFiles + ); + form.calculationFileList = EnterpriseApplyFileUtils.convertApiFileToParkCollectFileList( + data.collectCountListFiles + ); + form.suportPlatRecharge = data.suportPlatRecharge; getList(); }, }); - -const { - getDataSource: getList, - proTableProps, - paginationState, - extraParamState, - reset, -} = useTable( - async ({ pageIndex, pageSize }, extraParamState) => { - try { - let params: API.GetParkBountyApplyInfoInput = { - pageModel: { - rows: pageSize, - page: pageIndex, - orderInput: extraParamState.orderInput, - }, - searchKeyWord: extraParamState.searchKeyWord, - parkBountyApplyId: id, - }; - let res = await parkBountyApplyServices.getOutCheckParkBountyApplyDetailList(params); - return res; - } catch (error) {} - }, - { - defaultExtraParams: { - orderInput: [{ property: 'parkBountyApplyId', order: OrderInputType.Desc }], - searchKeyWord: '', - }, - columnsRenderProps: { - authType: { type: 'enum', valueEnum: EnterpriseTypeText }, - licenseUrl: { - type: 'urlV2', - formatter: (row: API.UserCertificationAuditListDto) => setOSSLink(row.licenseUrl), - }, - }, - } -); - -const { dialogProps, handleEdit, editForm } = useFormDialog({ - defaultFormParams: { - list: [] as FourStreamsMaterialFileTableItem[], - companyId: '', - }, -}); - -const { getIndustrialParkTypeNameById } = useIndustrialParkDropDownList(); - -function openDialog(row: API.ParkBountyApplyDetailInfo) { - handleEdit({ - list: FourStreamsMaterialUtils.initFourStreamsMaterialFileList( - row, - getIndustrialParkTypeNameById(detail.value?.parkId) - ), - companyId: row.enterpriseId, - }); -} function handleBack() { closeViewPush(route, { -- Gitblit v1.9.1