|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <ContentView style="background-color: transparent" class="job-detail-content"> | 
|---|
|  |  |  | <FlexJobTopView size="small" class="job-detail-content-top" /> | 
|---|
|  |  |  | <FlexJobTopView | 
|---|
|  |  |  | :avatar="avatar" | 
|---|
|  |  |  | :name="name" | 
|---|
|  |  |  | :age="age" | 
|---|
|  |  |  | :isReal="isReal" | 
|---|
|  |  |  | :gender="gender" | 
|---|
|  |  |  | :personalIdentityContent="personalIdentityContent" | 
|---|
|  |  |  | :educationalBackgroundContent="educationalBackgroundContent" | 
|---|
|  |  |  | :taskCount="taskCount" | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | class="job-detail-content-top" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <div class="job-detail-content-contact-info"> | 
|---|
|  |  |  | <div class="job-detail-content-contact-info-item"> | 
|---|
|  |  |  | <div class="job-detail-content-contact-info-item-label">手机号:</div> | 
|---|
|  |  |  | <div class="job-detail-content-contact-info-item-text"> | 
|---|
|  |  |  | {{ isCollapse ? '13333333333' : '立即联系后可查看' }} | 
|---|
|  |  |  | {{ isCollapse ? contactPhoneNumber : '立即联系后可查看' }} | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="job-detail-content-contact-info-item"> | 
|---|
|  |  |  | <div class="job-detail-content-contact-info-item-label">身份证号:</div> | 
|---|
|  |  |  | <div class="job-detail-content-contact-info-item-text"> | 
|---|
|  |  |  | {{ isCollapse ? hiddenIDNumberForEnd6('330902199909123456') : '立即联系后可查看' }} | 
|---|
|  |  |  | {{ isCollapse ? hiddenIDNumberForEnd6(identity) : '立即联系后可查看' }} | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </ContentView> | 
|---|
|  |  |  | <ProTabs | 
|---|
|  |  |  | v-model="tab" | 
|---|
|  |  |  | name="job-detail-content-tab" | 
|---|
|  |  |  | :showSmile="false" | 
|---|
|  |  |  | class="job-detail-content-tabs" | 
|---|
|  |  |  | isTransparent | 
|---|
|  |  |  | title-gutter="8" | 
|---|
|  |  |  | fullHeight | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <ProTabPane :title="`简历`" pane-key="1"> | 
|---|
|  |  |  | <curriculumView /> | 
|---|
|  |  |  | </ProTabPane> | 
|---|
|  |  |  | <ProTabPane :title="`经历`" pane-key="2"> | 
|---|
|  |  |  | <experienceView /> | 
|---|
|  |  |  | </ProTabPane> | 
|---|
|  |  |  | </ProTabs> | 
|---|
|  |  |  | <div style="flex: 1; min-height: 0"> | 
|---|
|  |  |  | <ProTabs | 
|---|
|  |  |  | v-model="tab" | 
|---|
|  |  |  | name="job-detail-content-tab" | 
|---|
|  |  |  | :showSmile="false" | 
|---|
|  |  |  | class="job-detail-content-tabs" | 
|---|
|  |  |  | isTransparent | 
|---|
|  |  |  | title-gutter="8" | 
|---|
|  |  |  | fullHeight | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <ProTabPane :title="`简历`" pane-key="1"> | 
|---|
|  |  |  | <curriculumView | 
|---|
|  |  |  | :userExpectJobs="userExpectJobs" | 
|---|
|  |  |  | :freeTime="freeTime" | 
|---|
|  |  |  | :jobSeekingStatus="jobSeekingStatus" | 
|---|
|  |  |  | :userCredentials="userCredentials" | 
|---|
|  |  |  | :workSeniority="workSeniority" | 
|---|
|  |  |  | :workExperience="workExperience" | 
|---|
|  |  |  | :photos="photos" | 
|---|
|  |  |  | :height="height" | 
|---|
|  |  |  | :weight="weight" | 
|---|
|  |  |  | :videos="videos" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </ProTabPane> | 
|---|
|  |  |  | <ProTabPane :title="`经历`" pane-key="2"> | 
|---|
|  |  |  | <experienceView :taskInfoUsers="taskInfoUsers" /> | 
|---|
|  |  |  | </ProTabPane> | 
|---|
|  |  |  | </ProTabs> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <PageFooter> | 
|---|
|  |  |  | <slot name="footer"></slot> | 
|---|
|  |  |  | </PageFooter> | 
|---|
|  |  |  | 
|---|
|  |  |  | import { hiddenIDNumberForEnd6 } from '@12333/utils'; | 
|---|
|  |  |  | import curriculumView from './components/curriculumView.vue'; | 
|---|
|  |  |  | import experienceView from './components/experienceView.vue'; | 
|---|
|  |  |  | import { EnumUserGender } from '@12333/constants'; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | defineOptions({ | 
|---|
|  |  |  | name: 'JobDetailContent', | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | type Props = { | 
|---|
|  |  |  | isCollapse: boolean; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | avatar?: string; | 
|---|
|  |  |  | name?: string; | 
|---|
|  |  |  | gender?: EnumUserGender; | 
|---|
|  |  |  | age?: number; | 
|---|
|  |  |  | isReal?: boolean; | 
|---|
|  |  |  | personalIdentityContent?: string; | 
|---|
|  |  |  | educationalBackgroundContent?: string; | 
|---|
|  |  |  | taskCount?: number; | 
|---|
|  |  |  | contactPhoneNumber?: string; | 
|---|
|  |  |  | identity?: string; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | userExpectJobs?: API.GetUserResumeQueryResultExpectJob[]; | 
|---|
|  |  |  | freeTime?: API.EnumPersonalFreeTime; | 
|---|
|  |  |  | jobSeekingStatus?: API.EnumPersonalJobSeekingStatus; | 
|---|
|  |  |  | userCredentials?: API.GetUserResumeQueryResultCredential[]; | 
|---|
|  |  |  | workSeniority?: string; | 
|---|
|  |  |  | workExperience?: string; | 
|---|
|  |  |  | photos?: string[]; | 
|---|
|  |  |  | videos?: string[]; | 
|---|
|  |  |  | /** 身高 */ | 
|---|
|  |  |  | height?: number; | 
|---|
|  |  |  | /** 体重 */ | 
|---|
|  |  |  | weight?: number; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | taskInfoUsers?: API.GetUserResumeQueryResultExperience[]; | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const tab = ref('1'); | 
|---|