From e3ae5da789eb35217a4a377cab0ff3241ceaf72a Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期一, 11 八月 2025 13:42:07 +0800 Subject: [PATCH] feat: 接口对接 --- apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue | 79 ++++++++++++++++++++++++++++----------- 1 files changed, 57 insertions(+), 22 deletions(-) diff --git a/apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue b/apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue index 77d25d5..6faed82 100644 --- a/apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue @@ -1,23 +1,31 @@ <template> <ContentView> <nut-noticebar - text="涓汉绠�鍘嗗凡瀹屽杽50%锛屽畬鍠勭畝鍘嗗彲鎻愬崌褰曠敤鐜�" + :text="`涓汉绠�鍘嗗凡瀹屽杽${detail?.completeRate ?? 0}锛屽畬鍠勭畝鍘嗗彲鎻愬崌褰曠敤鐜嘸" :left-icon="false" background="transparent" close-mode class="mine-curriculum-noticebar" /> <div class="mine-curriculum-info-wrapper"> - <UserAvatar :size="60" class="mine-curriculum-avatar" /> + <Avatar + :size="60" + class="mine-curriculum-avatar" + :src="setOSSLink(detail?.avatar ?? '')" + ></Avatar> <div class="mine-curriculum-info-content"> <div class="mine-curriculum-info-item"> <div class="mine-curriculum-info-item-left"> <div class="mine-curriculum-info-item-name"> - {{ userStore.userDetail?.userName ?? '' }} + {{ detail?.name ?? '' }} </div> <div class="mine-curriculum-info-item-gender"> <div class="mine-curriculum-info-item-gender-dot">路</div> - <img v-if="1" :src="IconMale" class="mine-curriculum-info-item-gender-icon" /> + <img + v-if="detail?.gender === EnumUserGender.Male" + :src="IconMale" + class="mine-curriculum-info-item-gender-icon" + /> <img v-else :src="IconFemale" class="mine-curriculum-info-item-gender-icon" /> </div> </div> @@ -27,11 +35,19 @@ <div class="mine-curriculum-info-item-left"> <img :src="IconPhone" class="mine-curriculum-info-item-phone-icon" /> <div class="mine-curriculum-info-item-phone"> - {{ userStore.userDetail?.phoneNumber ?? '' }} + {{ detail?.contactPhoneNumber ?? '' }} </div> </div> <div class="mine-curriculum-info-item-detail"> - {{ '26宀� | 闈炲鐢� | 鏈' }} + {{ + `${detail?.age ? `${detail?.age}宀乣 : ''} + ${detail?.personalIdentityContent ? `| ${detail?.personalIdentityContent}` : ''} + ${ + detail?.educationalBackgroundContent + ? `| ${detail?.educationalBackgroundContent}` + : '' + }` + }} </div> </div> </div> @@ -47,17 +63,21 @@ </div> <MineAgreementSignDetailItem label="鏈熸湜宀椾綅" class="mine-curriculum-intention-job"> <template #detail> - <JobTagList /> + <JobTagList :jobTagList="jobTag" /> </template> </MineAgreementSignDetailItem> <MineAgreementSignDetailItem label="绌洪棽鏃堕棿"> <template #detail> - <div class="mine-curriculum-intention-bold">涓嶉檺</div> + <div class="mine-curriculum-intention-bold"> + {{ EnumPersonalFreeTimeText[detail?.freeTime] }} + </div> </template> </MineAgreementSignDetailItem> <MineAgreementSignDetailItem label="姹傝亴鐘舵��"> <template #detail> - <div class="mine-curriculum-intention-bold">绉瀬鎵惧伐浣�</div> + <div class="mine-curriculum-intention-bold"> + {{ EnumPersonalJobSeekingStatusText[detail?.jobSeekingStatus] }} + </div> </template> </MineAgreementSignDetailItem> </div> @@ -87,11 +107,15 @@ <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 } from '@12333/components'; +import { List, ListItem, JobTagList, Avatar } from '@12333/components'; +import { + EnumUserGender, + EnumPersonalFreeTimeText, + EnumPersonalJobSeekingStatusText, +} from '@12333/constants'; import { RouterPath } from '@/constants'; -import * as userResumeServices from '@12333/services/api/userResume'; +import * as userResumeServices from '@12333/services/apiV2/userResume'; import IconArrow from '@/assets/setting/icon-arrow.png'; import IconAuth from '@/assets/mine/icon-auth.png'; import IconMale from '@/assets/mine/icon-male.png'; @@ -99,16 +123,24 @@ import IconPhone from '@/assets/mine/icon-phone.png'; import Taro from '@tarojs/taro'; import { useQuery } from '@tanstack/vue-query'; +import { setOSSLink } from '@12333/utils'; +import { useEvent } from 'senin-mini/hooks'; defineOptions({ name: 'InnerPage', }); -const userStore = useUserStore(); -const isLogin = useIsLogin(); -const router = Taro.useRouter(); +const { userId } = useUser(); -const taskId = router.params?.taskId; +useEvent('updateResume', function (data: { content: boolean }) { + if (data.content) { + refetch({ + type: 'inactive', + }); + } +}); + +const jobTag = computed(() => detail?.value?.userExpectJobs?.map((x) => x.expectJobContent) ?? []); const { isLoading, @@ -116,14 +148,17 @@ data: detail, refetch, } = useQuery({ - queryKey: ['userResumeServices/getUserResume', taskId], + queryKey: ['userResumeServices/getUserResume', userId], queryFn: async () => { - return await userResumeServices.getUserResume({ - showLoading: false, - }); + return await userResumeServices.getUserResume( + { userId: userId.value }, + { + showLoading: false, + } + ); }, - placeholderData: () => ({} as API.MyResumeOutput), - onSuccess(data) {}, + placeholderData: () => ({} as API.GetUserResumeQueryResult), + enabled: computed(() => !!userId.value), }); function goPage(routeName: string) { -- Gitblit v1.9.1