<template> 
 | 
  <ContentView> 
 | 
    <nut-noticebar 
 | 
      :text="`个人简历已完善${userResumeInfo?.completeRate ?? 0}%,完善简历可提升录用率`" 
 | 
      :left-icon="false" 
 | 
      background="transparent" 
 | 
      close-mode 
 | 
      class="mine-curriculum-noticebar" 
 | 
    /> 
 | 
    <div class="mine-curriculum-info-wrapper"> 
 | 
      <Avatar 
 | 
        :size="60" 
 | 
        class="mine-curriculum-avatar" 
 | 
        :src="setOSSLink(userResumeInfo?.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"> 
 | 
              {{ userResumeInfo?.name ?? '' }} 
 | 
            </div> 
 | 
            <div class="mine-curriculum-info-item-gender" v-if="userResumeInfo?.gender"> 
 | 
              <div class="mine-curriculum-info-item-gender-dot">·</div> 
 | 
              <img 
 | 
                v-if="userResumeInfo?.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> 
 | 
          <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" v-if="userResumeInfo?.contactPhoneNumber"> 
 | 
            <img :src="IconPhone" class="mine-curriculum-info-item-phone-icon" /> 
 | 
            <div class="mine-curriculum-info-item-phone"> 
 | 
              {{ userResumeInfo?.contactPhoneNumber ?? '' }} 
 | 
            </div> 
 | 
          </div> 
 | 
          <div class="mine-curriculum-info-item-detail"> 
 | 
            {{ 
 | 
              `${userResumeInfo?.age ? `${userResumeInfo?.age}岁` : ''}  
 | 
              ${ 
 | 
                userResumeInfo?.personalIdentityContent 
 | 
                  ? `| ${userResumeInfo?.personalIdentityContent}` 
 | 
                  : '' 
 | 
              } 
 | 
                ${ 
 | 
                  userResumeInfo?.educationalBackgroundContent 
 | 
                    ? `| ${userResumeInfo?.educationalBackgroundContent}` 
 | 
                    : '' 
 | 
                }` 
 | 
            }} 
 | 
          </div> 
 | 
        </div> 
 | 
      </div> 
 | 
    </div> 
 | 
    <List class="mine-curriculum-intention"> 
 | 
      <div class="mine-curriculum-intention-content"> 
 | 
        <div class="mine-curriculum-intention-title"> 
 | 
          <div class="mine-curriculum-intention-title-text">求职意向</div> 
 | 
          <div class="mine-curriculum-intention-title-edit" @click="goMineJobIntention"> 
 | 
            编辑 
 | 
            <img :src="IconArrow" class="mine-curriculum-intention-title-edit-icon" /> 
 | 
          </div> 
 | 
        </div> 
 | 
        <MineAgreementSignDetailItem label="期望岗位" class="mine-curriculum-intention-job"> 
 | 
          <template #detail> 
 | 
            <JobTagList :jobTagList="jobTag" /> 
 | 
          </template> 
 | 
        </MineAgreementSignDetailItem> 
 | 
        <MineAgreementSignDetailItem label="空闲时间"> 
 | 
          <template #detail> 
 | 
            <div class="mine-curriculum-intention-bold"> 
 | 
              {{ EnumPersonalFreeTimeText[userResumeInfo?.freeTime] }} 
 | 
            </div> 
 | 
          </template> 
 | 
        </MineAgreementSignDetailItem> 
 | 
        <MineAgreementSignDetailItem label="求职状态"> 
 | 
          <template #detail> 
 | 
            <div class="mine-curriculum-intention-bold"> 
 | 
              {{ EnumPersonalJobSeekingStatusText[userResumeInfo?.jobSeekingStatus] }} 
 | 
            </div> 
 | 
          </template> 
 | 
        </MineAgreementSignDetailItem> 
 | 
      </div> 
 | 
  
 | 
      <ListItem title="资格证书" @click="goMineCertificate"> 
 | 
        <template #extra> 
 | 
          <div class="mine-curriculum-intention-enit-btn">编辑</div> 
 | 
        </template> 
 | 
      </ListItem> 
 | 
      <ListItem title="工作经验" @click="goMineWorkExperience"> 
 | 
        <template #extra> 
 | 
          <div class="mine-curriculum-intention-enit-btn">编辑</div> 
 | 
        </template> 
 | 
      </ListItem> 
 | 
      <ListItem 
 | 
        title="详细信息" 
 | 
        class="mine-curriculum-intention-detail" 
 | 
        @click="goMineDetailedInfo" 
 | 
      > 
 | 
        <template #extra> 
 | 
          <div class="mine-curriculum-intention-enit-btn">编辑</div> 
 | 
        </template> 
 | 
      </ListItem> 
 | 
    </List> 
 | 
  </ContentView> 
 | 
</template> 
 | 
  
 | 
<script setup lang="ts"> 
 | 
import MineAgreementSignDetailItem from '../../mine/mineAgreementSignDetail/MineAgreementSignDetailItem.vue'; 
 | 
import { List, ListItem, JobTagList, Avatar } from '@12333/components'; 
 | 
import { 
 | 
  EnumUserGender, 
 | 
  EnumPersonalFreeTimeText, 
 | 
  EnumPersonalJobSeekingStatusText, 
 | 
} from '@12333/constants'; 
 | 
import { RouterPath } from '@/constants'; 
 | 
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 { setOSSLink } from '@12333/utils'; 
 | 
  
 | 
defineOptions({ 
 | 
  name: 'InnerPage', 
 | 
}); 
 | 
  
 | 
const { userResumeInfo, refetch } = useUserResume(); 
 | 
  
 | 
const jobTag = computed( 
 | 
  () => userResumeInfo?.value?.userExpectJobs?.map((x) => x.expectJobContent) ?? [] 
 | 
); 
 | 
  
 | 
function goPage(routeName: string) { 
 | 
  Taro.navigateTo({ 
 | 
    url: routeName, 
 | 
    // events: { 
 | 
    //   updateResume(data: { content: boolean }) { 
 | 
    //     if (data.content) { 
 | 
    //       refetch({ 
 | 
    //         type: 'inactive', 
 | 
    //       }); 
 | 
    //     } 
 | 
    //   }, 
 | 
    // }, 
 | 
  }); 
 | 
} 
 | 
function goEditMineInfo() { 
 | 
  goPage(RouterPath.editMineInfo); 
 | 
} 
 | 
function goMineJobIntention() { 
 | 
  goPage(RouterPath.mineJobIntention); 
 | 
} 
 | 
function goMineDetailedInfo() { 
 | 
  goPage(RouterPath.mineDetailedInfo); 
 | 
} 
 | 
function goMineWorkExperience() { 
 | 
  goPage(RouterPath.mineWorkExperience); 
 | 
} 
 | 
function goMineCertificate() { 
 | 
  goPage(RouterPath.mineCertificate); 
 | 
} 
 | 
</script> 
 | 
  
 | 
<style lang="scss"> 
 | 
@import '@/styles/common.scss'; 
 | 
  
 | 
.mineCurriculumVitae-page-wrapper { 
 | 
  .mine-curriculum-noticebar { 
 | 
    .nut-noticebar__page { 
 | 
      padding: 0; 
 | 
    } 
 | 
  } 
 | 
  
 | 
  .mine-curriculum-info-wrapper { 
 | 
    padding: 24px 0 60px; 
 | 
    display: flex; 
 | 
  
 | 
    .mine-curriculum-avatar { 
 | 
      margin-right: 24px; 
 | 
    } 
 | 
  
 | 
    .mine-curriculum-info-content { 
 | 
      display: flex; 
 | 
      flex-direction: column; 
 | 
      padding: 12px 0; 
 | 
      justify-content: space-between; 
 | 
      flex: 1; 
 | 
      min-width: 0; 
 | 
  
 | 
      .mine-curriculum-info-item { 
 | 
        display: flex; 
 | 
        align-items: center; 
 | 
        justify-content: space-between; 
 | 
  
 | 
        .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-intention-title-edit { 
 | 
          display: inline-flex; 
 | 
          align-items: center; 
 | 
          font-size: 22px; 
 | 
          color: boleGetCssVar('text-color', 'regular'); 
 | 
  
 | 
          .mine-curriculum-intention-title-edit-icon { 
 | 
            width: 32px; 
 | 
            height: 32px; 
 | 
          } 
 | 
        } 
 | 
      } 
 | 
  
 | 
      .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; 
 | 
      } 
 | 
    } 
 | 
  } 
 | 
} 
 | 
</style> 
 |