| | |
| | | <template> |
| | | <ContentView> |
| | | <nut-noticebar |
| | | text="个人简历已完善50%,完善简历可提升录用率" |
| | | :text="`个人简历已完善${detail?.completeRate ?? 0},完善简历可提升录用率`" |
| | | :left-icon="false" |
| | | background="transparent" |
| | | close-mode |
| | |
| | | <div class="mine-curriculum-info-item-left"> |
| | | <img :src="IconPhone" class="mine-curriculum-info-item-phone-icon" /> |
| | | <div class="mine-curriculum-info-item-phone"> |
| | | {{ detail?.phoneNumber ?? '' }} |
| | | {{ detail?.contactPhoneNumber ?? '' }} |
| | | </div> |
| | | </div> |
| | | <div class="mine-curriculum-info-item-detail"> |
| | | {{ |
| | | `${detail?.age ?? ''}岁 | ${detail?.personalIdentityContent} | ${ |
| | | detail?.educationalBackgroundContent |
| | | }` |
| | | `${detail?.age ? `${detail?.age}岁` : ''} |
| | | ${detail?.personalIdentityContent ? `| ${detail?.personalIdentityContent}` : ''} |
| | | ${ |
| | | detail?.educationalBackgroundContent |
| | | ? `| ${detail?.educationalBackgroundContent}` |
| | | : '' |
| | | }` |
| | | }} |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | <script setup lang="ts"> |
| | | import { useUserStore } from '@/stores/modules/user'; |
| | | import { useIsLogin } from '@/hooks'; |
| | | import MineAgreementSignDetailItem from '../../mine/mineAgreementSignDetail/MineAgreementSignDetailItem.vue'; |
| | | import { List, ListItem, JobTagList, Avatar } from '@12333/components'; |
| | | import { |
| | |
| | | import Taro from '@tarojs/taro'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import { setOSSLink } from '@12333/utils'; |
| | | import { useEvent, useEventChannel } from 'senin-mini/hooks'; |
| | | import { useEvent } from 'senin-mini/hooks'; |
| | | |
| | | defineOptions({ |
| | | name: 'InnerPage', |
| | | }); |
| | | |
| | | const { userDetail } = useUserStore(); |
| | | const isLogin = useIsLogin(); |
| | | const router = Taro.useRouter(); |
| | | |
| | | const usrId = computed(() => userDetail?.userId ?? ''); |
| | | |
| | | const eventChannel = useEventChannel(); |
| | | const { userId } = useUser(); |
| | | |
| | | useEvent('updateResume', function (data: { content: boolean }) { |
| | | if (data.content) { |
| | |
| | | } |
| | | }); |
| | | |
| | | const jobTag = computed( |
| | | () => detail?.value?.userExpectJobs?.map((x) => x.personalIdentityContent) ?? [] |
| | | ); |
| | | const jobTag = computed(() => detail?.value?.userExpectJobs?.map((x) => x.expectJobContent) ?? []); |
| | | |
| | | const { |
| | | isLoading, |
| | |
| | | data: detail, |
| | | refetch, |
| | | } = useQuery({ |
| | | queryKey: ['userResumeServices/getUserResume', usrId], |
| | | queryKey: ['userResumeServices/getUserResume', userId], |
| | | queryFn: async () => { |
| | | return await userResumeServices.getUserResume( |
| | | { userId: usrId.value }, |
| | | { userId: userId.value }, |
| | | { |
| | | showLoading: false, |
| | | } |
| | | ); |
| | | }, |
| | | placeholderData: () => ({} as API.GetUserResumeQueryResult), |
| | | enabled: !!usrId.value, |
| | | enabled: computed(() => !!userId.value), |
| | | }); |
| | | |
| | | function goPage(routeName: string) { |