|  |  |  | 
|---|
|  |  |  | <PageFormLayout title="申报详情"> | 
|---|
|  |  |  | <DetailView :form="form"> | 
|---|
|  |  |  | <ChunkCellV2 title="申报企业名单"> | 
|---|
|  |  |  | <DeclareEnterpriseTableView ref="tableRef"></DeclareEnterpriseTableView> | 
|---|
|  |  |  | <DeclareEnterpriseTableView | 
|---|
|  |  |  | :getList="getList" | 
|---|
|  |  |  | :extra-param-state="extraParamState" | 
|---|
|  |  |  | :pro-table-props="proTableProps" | 
|---|
|  |  |  | :reset="reset" | 
|---|
|  |  |  | :open-dialog="openDialog" | 
|---|
|  |  |  | ></DeclareEnterpriseTableView> | 
|---|
|  |  |  | <MateriaDetailDialog | 
|---|
|  |  |  | v-bind="dialogProps" | 
|---|
|  |  |  | :show-upload-btn="false" | 
|---|
|  |  |  | :show-delete-btn="false" | 
|---|
|  |  |  | :show-check-btn="false" | 
|---|
|  |  |  | downloadBtnText="查看" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </ChunkCellV2> | 
|---|
|  |  |  | </DetailView> | 
|---|
|  |  |  | <template #footer> | 
|---|
|  |  |  | <el-button @click="handleBack">关闭</el-button> | 
|---|
|  |  |  | <el-button @click="handleBack" type="primary">确认</el-button> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </PageFormLayout> | 
|---|
|  |  |  | </AppContainer> | 
|---|
|  |  |  | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script setup lang="ts"> | 
|---|
|  |  |  | import { AppContainer, LoadingLayout, UploadUserFile, PageFormLayout } from '@bole-core/components'; | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | AppContainer, | 
|---|
|  |  |  | LoadingLayout, | 
|---|
|  |  |  | UploadUserFile, | 
|---|
|  |  |  | PageFormLayout, | 
|---|
|  |  |  | useTable, | 
|---|
|  |  |  | useFormDialog, | 
|---|
|  |  |  | } 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 } from '@/utils'; | 
|---|
|  |  |  | 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 { useIndustrialParkDropDownList } from '@/hooks/industrialPark'; | 
|---|
|  |  |  | import { FourStreamsMaterialUtils } from '@/components/commonView/utils'; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | defineOptions({ | 
|---|
|  |  |  | name: 'RewardDeclareDetail', | 
|---|
|  |  |  | 
|---|
|  |  |  | bountyAssignFileUlr: [] as UploadUserFile[], | 
|---|
|  |  |  | bountyCollectFileUrl: [] as UploadUserFile[], | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const tableRef = ref<InstanceType<typeof DeclareEnterpriseTableView>>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const { data: detail, isLoading } = useQuery({ | 
|---|
|  |  |  | queryKey: ['parkBountyApplyServices/getParkBountyApplyDetail', id], | 
|---|
|  |  |  | 
|---|
|  |  |  | form.bountyAssignFileUlr = convertApi2FormUrlOnlyOne(data?.bountyAssignFileUlr); | 
|---|
|  |  |  | form.bountyCollectFileUrl = convertApi2FormUrlOnlyOne(data?.bountyCollectFileUrl); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | tableRef.value?.getList(); | 
|---|
|  |  |  | 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, { | 
|---|
|  |  |  | name: 'RewardGrant', | 
|---|