From 1bbd7061dac79cacf5513234a04cac8ba0be5c6f Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期五, 21 三月 2025 09:15:36 +0800 Subject: [PATCH] feat: 接口对接 --- apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue | 321 +++++++++++++++++++++++++++++++--------------------- 1 files changed, 190 insertions(+), 131 deletions(-) diff --git a/apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue b/apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue index 9d00f77..c8b000e 100644 --- a/apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue @@ -8,29 +8,40 @@ 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?.resumeBaseInfo?.avatarUrl ?? '')" + ></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?.resumeBaseInfo?.name ?? '' }} </div> <div class="mine-curriculum-info-item-gender"> <div class="mine-curriculum-info-item-gender-dot">路</div> - <img :src="IconAuth" class="mine-curriculum-info-item-gender-icon" /> + <img + v-if="detail?.resumeBaseInfo?.genderType === Gender.Male" + :src="IconMale" + class="mine-curriculum-info-item-gender-icon" + /> + <img v-else :src="IconFemale" class="mine-curriculum-info-item-gender-icon" /> </div> </div> <IconFont name="rect-right" size="16" color="#6D6E6E" @click="goEditMineInfo"></IconFont> </div> <div class="mine-curriculum-info-item"> <div class="mine-curriculum-info-item-left"> - <img :src="IconAuth" class="mine-curriculum-info-item-phone-icon" /> + <img :src="IconPhone" class="mine-curriculum-info-item-phone-icon" /> <div class="mine-curriculum-info-item-phone"> - {{ userStore.userDetail?.phoneNumber ?? '' }} + {{ detail?.resumeBaseInfo?.phoneNumber ?? '' }} </div> </div> <div class="mine-curriculum-info-item-detail"> - {{ '26宀� | 闈炲鐢� | 鏈' }} + {{ + `${detail?.resumeBaseInfo?.age}宀� | ${detail?.resumeBaseInfo?.socialIdentityName} | ${detail?.resumeBaseInfo?.educationalLevelName}` + }} </div> </div> </div> @@ -46,22 +57,23 @@ </div> <MineAgreementSignDetailItem label="鏈熸湜宀椾綅" class="mine-curriculum-intention-job"> <template #detail> - <div class="mine-curriculum-intention-job-content"> - <div class="mine-curriculum-intention-job-item">瀹㈡埧鏈嶅姟鍛�</div> - <div class="mine-curriculum-intention-job-item">瀹㈡埧鏈嶅姟鍛�</div> - <div class="mine-curriculum-intention-job-item">瀹㈡埧鏈嶅姟鍛�</div> - <div class="mine-curriculum-intention-job-item">瀹㈡埧鏈嶅姟鍛�</div> - </div> + <JobTagList :jobTagList="jobTag" /> </template> </MineAgreementSignDetailItem> <MineAgreementSignDetailItem label="绌洪棽鏃堕棿"> <template #detail> - <div class="mine-curriculum-intention-bold">涓嶉檺</div> + <div class="mine-curriculum-intention-bold"> + {{ UserResumeFreeTimeEnumText[detail?.resumeExpectationJob?.freeTime] }} + </div> </template> </MineAgreementSignDetailItem> <MineAgreementSignDetailItem label="姹傝亴鐘舵��"> <template #detail> - <div class="mine-curriculum-intention-bold">绉瀬鎵惧伐浣�</div> + <div class="mine-curriculum-intention-bold"> + {{ + UserResumeJobSeekingStatusEnumText[detail?.resumeExpectationJob?.jobSeekingStatus] + }} + </div> </template> </MineAgreementSignDetailItem> </div> @@ -93,11 +105,23 @@ import { useUserStore } from '@/stores/modules/user'; import { useIsLogin } from '@/hooks'; import MineAgreementSignDetailItem from '../../mine/mineAgreementSignDetail/MineAgreementSignDetailItem.vue'; -import { List, ListItem } from '@12333/components'; +import { List, ListItem, JobTagList, Avatar } from '@12333/components'; +import { + Gender, + UserResumeFreeTimeEnumText, + UserResumeJobSeekingStatusEnumText, +} from '@12333/constants'; import { RouterPath } from '@/constants'; +import * as userResumeServices from '@12333/services/api/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'; +import IconFemale from '@/assets/mine/icon-female.png'; +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, useEventChannel } from 'senin-mini/hooks'; defineOptions({ name: 'InnerPage', @@ -105,6 +129,39 @@ const userStore = useUserStore(); const isLogin = useIsLogin(); +const router = Taro.useRouter(); + +const taskId = router.params?.taskId; + +const eventChannel = useEventChannel(); + +useEvent('updateResume', function (data: { content: boolean }) { + if (data.content) { + refetch({ + type: 'inactive', + }); + } +}); + +const jobTag = computed( + () => detail?.value?.resumeExpectationJob?.jobIdList?.map((x) => x.name) ?? [] +); + +const { + isLoading, + isError, + data: detail, + refetch, +} = useQuery({ + queryKey: ['userResumeServices/getUserResume', taskId], + queryFn: async () => { + return await userResumeServices.getUserResume({ + showLoading: false, + }); + }, + placeholderData: () => ({} as API.MyResumeOutput), + onSuccess(data) {}, +}); function goPage(routeName: string) { Taro.navigateTo({ @@ -131,151 +188,153 @@ <style lang="scss"> @import '@/styles/common.scss'; -.mine-curriculum-noticebar { - .nut-noticebar__page { - padding: 0; - } -} - -.mine-curriculum-info-wrapper { - padding: 24px 0 60px; - display: flex; - - .mine-curriculum-avatar { - margin-right: 24px; +.mineCurriculumVitae-page-wrapper { + .mine-curriculum-noticebar { + .nut-noticebar__page { + padding: 0; + } } - .mine-curriculum-info-content { + .mine-curriculum-info-wrapper { + padding: 24px 0 60px; display: flex; - flex-direction: column; - padding: 12px 0; - justify-content: space-between; - flex: 1; - min-width: 0; - .mine-curriculum-info-item { + .mine-curriculum-avatar { + margin-right: 24px; + } + + .mine-curriculum-info-content { display: flex; - align-items: center; + flex-direction: column; + padding: 12px 0; justify-content: space-between; + flex: 1; + min-width: 0; - .mine-curriculum-info-item-left { - display: inline-flex; + .mine-curriculum-info-item { + display: flex; align-items: center; + justify-content: space-between; - .mine-curriculum-info-item-name { - font-size: 32px; + .mine-curriculum-info-item-left { + display: inline-flex; + align-items: center; + + .mine-curriculum-info-item-name { + font-size: 32px; + line-height: 40px; + font-weight: 600; + color: boleGetCssVar('text-color', 'primary'); + } + + .mine-curriculum-info-item-gender { + display: inline-flex; + align-items: center; + + .mine-curriculum-info-item-gender-dot { + margin: 0 8px; + line-height: 40px; + } + + .mine-curriculum-info-item-gender-icon { + width: 28px; + height: 28px; + } + } + + .mine-curriculum-info-item-phone { + font-size: 28px; + line-height: 40px; + font-weight: 400; + color: boleGetCssVar('text-color', 'primary'); + } + + .mine-curriculum-info-item-phone-icon { + width: 40px; + height: 40px; + } + } + + .mine-curriculum-info-item-detail { + font-size: 24px; line-height: 40px; + color: boleGetCssVar('text-color', 'primary'); + } + } + } + } + + .mine-curriculum-intention { + padding: 30px 0; + border-radius: 12px; + + .mine-curriculum-intention-content { + padding: 0 boleGetCssVar('size', 'body-padding-h') 40px; + border-bottom: 1px solid #f6f6f6; + + .mine-curriculum-intention-title { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 40px; + + .mine-curriculum-intention-title-text { + font-size: 32px; font-weight: 600; color: boleGetCssVar('text-color', 'primary'); } - .mine-curriculum-info-item-gender { + .mine-curriculum-intention-title-edit { display: inline-flex; align-items: center; + font-size: 22px; + color: boleGetCssVar('text-color', 'regular'); - .mine-curriculum-info-item-gender-dot { - margin: 0 8px; - line-height: 40px; + .mine-curriculum-intention-title-edit-icon { + width: 32px; + height: 32px; } - - .mine-curriculum-info-item-gender-icon { - width: 36px; - height: 36px; - } - } - - .mine-curriculum-info-item-phone { - font-size: 28px; - line-height: 40px; - font-weight: 400; - color: boleGetCssVar('text-color', 'primary'); - } - - .mine-curriculum-info-item-phone-icon { - width: 24px; - height: 24px; } } - .mine-curriculum-info-item-detail { - font-size: 24px; - line-height: 40px; - color: boleGetCssVar('text-color', 'primary'); + .mine-curriculum-intention-job { + align-items: flex-start; + + .mine-curriculum-intention-job-content { + display: inline-flex; + flex-wrap: wrap; + + .mine-curriculum-intention-job-item { + font-size: 20px; + color: boleGetCssVar('color', 'primary'); + padding: 6px 16px; + background-color: #edf2ff; + border-radius: 4px; + display: inline-flex; + align-items: center; + justify-content: center; + margin-right: 16px; + margin-bottom: 14px; + } + } } - } - } -} -.mine-curriculum-intention { - padding: 30px 0; - border-radius: 12px; - - .mine-curriculum-intention-content { - padding: 0 boleGetCssVar('size', 'body-padding-h') 40px; - border-bottom: 1px solid #f6f6f6; - - .mine-curriculum-intention-title { - display: flex; - justify-content: space-between; - align-items: center; - margin-bottom: 40px; - - .mine-curriculum-intention-title-text { - font-size: 32px; + .mine-curriculum-intention-bold { font-weight: 600; + font-size: 28px; color: boleGetCssVar('text-color', 'primary'); } + } - .mine-curriculum-intention-title-edit { - display: inline-flex; - align-items: center; - font-size: 22px; - color: boleGetCssVar('text-color', 'regular'); + .mine-curriculum-intention-enit-btn { + font-size: 22px; + color: boleGetCssVar('text-color', 'regular'); + } - .mine-curriculum-intention-title-edit-icon { - width: 32px; - height: 32px; - } + .mine-curriculum-intention-detail { + .pro-list-item-inner { + border-bottom: none; } - } - - .mine-curriculum-intention-job { - align-items: flex-start; - - .mine-curriculum-intention-job-content { - display: inline-flex; - flex-wrap: wrap; - - .mine-curriculum-intention-job-item { - font-size: 20px; - color: boleGetCssVar('color', 'primary'); - padding: 6px 16px; - background-color: #edf2ff; - border-radius: 4px; - display: inline-flex; - align-items: center; - justify-content: center; - margin-right: 16px; - margin-bottom: 14px; - } - } - } - - .mine-curriculum-intention-bold { - font-weight: 600; - font-size: 28px; - color: boleGetCssVar('text-color', 'primary'); - } - } - - .mine-curriculum-intention-enit-btn { - font-size: 22px; - color: boleGetCssVar('text-color', 'regular'); - } - - .mine-curriculum-intention-detail { - .pro-list-item-inner { - border-bottom: none; } } } -- Gitblit v1.9.1