|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <LoadingLayout :loading="state.loading"> | 
|---|
|  |  |  | <AppContainer> | 
|---|
|  |  |  | <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns"> | 
|---|
|  |  |  | <ProTableV2 v-bind="proTableProps" :columns="signColumns" :showOperationColumn="false"> | 
|---|
|  |  |  | </ProTableV2> | 
|---|
|  |  |  | </AppContainer> | 
|---|
|  |  |  | </LoadingLayout> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script setup lang="ts"> | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | OperationBtnType, | 
|---|
|  |  |  | ProTableV2, | 
|---|
|  |  |  | LoadingLayout, | 
|---|
|  |  |  | AppContainer, | 
|---|
|  |  |  | useTable, | 
|---|
|  |  |  | } from '@bole-core/components'; | 
|---|
|  |  |  | import { useAccess } from '@/hooks'; | 
|---|
|  |  |  | import { ModelValueType } from 'element-plus'; | 
|---|
|  |  |  | import * as enterpriseServices from '@/services/api/enterprise'; | 
|---|
|  |  |  | import { ProTableV2, LoadingLayout, AppContainer, useTable } from '@bole-core/components'; | 
|---|
|  |  |  | import * as userResumeServices from '@/services/api/userResume'; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | defineOptions({ | 
|---|
|  |  |  | name: 'SignDetailView', | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const operationBtnMap: Record<string, OperationBtnType> = { | 
|---|
|  |  |  | detailBtn: { emits: { onClick: (role) => goDetail(role) } }, | 
|---|
|  |  |  | recommendBtn: { | 
|---|
|  |  |  | emits: { onClick: (role) => setAdvertiseOnShowStatus(role) }, | 
|---|
|  |  |  | extraProps: { | 
|---|
|  |  |  | hide: (row) => row.status, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | cancelRecommendBtn: { | 
|---|
|  |  |  | emits: { onClick: (role) => setAdvertiseOnShowStatus(role) }, | 
|---|
|  |  |  | props: { type: 'danger' }, | 
|---|
|  |  |  | extraProps: { | 
|---|
|  |  |  | hide: (row) => !row.status, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 'sign-detailBtn': { emits: { onClick: (role) => goDetail(role) } }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const { checkSubModuleItemShow, column, operationBtns } = useAccess({ | 
|---|
|  |  |  | operationBtnMap, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const router = useRouter(); | 
|---|
|  |  |  | const [signColumns] = useGroupColumns(column, ['sign-']); | 
|---|
|  |  |  | const [signOperationBtns] = useGroupOperationBtns(operationBtns, ['sign-']); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const route = useRoute(); | 
|---|
|  |  |  | const id = route.params?.id as string; | 
|---|
|  |  |  | const BaseState = { | 
|---|
|  |  |  | loading: true, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | 
|---|
|  |  |  | } = useTable( | 
|---|
|  |  |  | async ({ pageIndex, pageSize }, extraParamState) => { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | let params: API.GetEnterprisesQuery = { | 
|---|
|  |  |  | let params: API.GetUserResumesQuery = { | 
|---|
|  |  |  | pageModel: { | 
|---|
|  |  |  | rows: pageSize, | 
|---|
|  |  |  | page: pageIndex, | 
|---|
|  |  |  | orderInput: extraParamState.orderInput, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // searchKeys: extraParamState.keyword, | 
|---|
|  |  |  | taskInfoId: id, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | let res = await enterpriseServices.getEnterprises(params, { | 
|---|
|  |  |  | let res = await userResumeServices.getUserResumes(params, { | 
|---|
|  |  |  | showLoading: !state.loading, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | return res; | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | defaultExtraParams: { | 
|---|
|  |  |  | keyword: '', | 
|---|
|  |  |  | pageType: '' as any as number, | 
|---|
|  |  |  | status: '' as any as boolean, | 
|---|
|  |  |  | beginDate: [] as unknown as ModelValueType, | 
|---|
|  |  |  | endDate: [] as unknown as ModelValueType, | 
|---|
|  |  |  | orderInput: [{ property: 'id', order: EnumPagedListOrder.Asc }], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | columnsRenderProps: {}, | 
|---|
|  |  |  | columnsRenderProps: { | 
|---|
|  |  |  | hireStatus: { type: 'enum', valueEnum: EnumTaskUserHireStatusText }, | 
|---|
|  |  |  | gender: { type: 'enum', valueEnum: EnumUserGenderText }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | async function setAdvertiseOnShowStatus(row) { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | } catch (error) {} | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function goDetail(row) { | 
|---|
|  |  |  | router.push({ name: 'TaskManageDetail', params: { id: row?.id ?? '' } }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|