| | |
| | | <template> |
| | | <div>MaterialReviewDetail</div> |
| | | <LoadingLayout> |
| | | <AppContainer> |
| | | <PageFormLayout> |
| | | <template #title> |
| | | <div class="page-form-layout-title"> |
| | | <div> |
| | | 申报详情 |
| | | <span class="page-form-layout-title-item status"> |
| | | {{ `审核状态:${state.detail.categoryName}` }} |
| | | </span> |
| | | <span class="page-form-layout-title-item remark"> |
| | | {{ `审核未通过原因:${state.detail.categoryName}` }} |
| | | </span> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <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 { DataRangeEnum } from '@/constants'; |
| | | 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: 'MaterialReviewDetail', |
| | | }); |
| | | |
| | | 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: 'MaterialReviewList', |
| | | }); |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @use '@/style/common.scss' as *; |
| | | |
| | | .page-form-layout-title-item { |
| | | margin-left: 16px; |
| | | font-size: 16px; |
| | | |
| | | &.remark { |
| | | flex: 1; |
| | | min-width: 0; |
| | | |
| | | @include utils-ellipsis; |
| | | } |
| | | } |
| | | </style> |