| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- <!-- 人才库 - 人才详情 -->
- <template>
- <div class="d-flex justify-center mb-8">
- <div v-if="Object.keys(cvData).length" style="width: 940px;background: #fff;" class="px-8 pb-12 pt-3 my-n3 mr-3">
- <!-- 基本信息 -->
- <baseInfo class="mt-5" :data="cvData.person"></baseInfo>
- <!-- 个人优势 -->
- <div class="d-flex mt-8" v-if="cvData?.person?.advantage">
- <span class="mr-6">{{ $t('resume.personalAdvantages') }}</span>
- <div style="flex: 1; white-space: pre-line; font-size: 15px;" v-if="cvData?.person?.advantage" v-html="cvData.person.advantage"></div>
- </div>
- <!-- 职业技能 -->
- <div class="d-flex mt-8" v-if="cvData?.skillList?.length">
- <span class="mr-6">{{ $t('resume.vocationalSkills') }}</span>
- <vocationalSkills style="flex: 1;" :data="cvData.skillList"></vocationalSkills>
- </div>
- <!-- 求职意向 -->
- <div class="d-flex mt-8" v-if="cvData?.interestedList?.length">
- <span class="mr-6">{{ $t('resume.jobIntention') }}</span>
- <jobIntention style="flex: 1;" :data="cvData.interestedList"></jobIntention>
- </div>
- <!-- 工作经历 -->
- <div class="d-flex mt-8" v-if="cvData?.workList?.length">
- <span class="mr-6">{{ $t('resume.workExperience') }}</span>
- <workExperience style="flex: 1;" :data="cvData.workList"></workExperience>
- </div>
- <!-- 项目经历 -->
- <div class="d-flex mt-8" v-if="cvData?.projectList?.length">
- <span class="mr-6">{{ $t('resume.projectExperience') }}</span>
- <projectExperience style="flex: 1;" :data="cvData.projectList"></projectExperience>
- </div>
- <!-- 培训经历 -->
- <div class="d-flex mt-8" v-if="cvData?.trainList?.length">
- <span class="mr-6">{{ $t('resume.trainingExperience') }}</span>
- <trainingExperience style="flex: 1;" :data="cvData.trainList"></trainingExperience>
- </div>
- <!-- 教育经历 -->
- <div class="d-flex mt-8" v-if="cvData?.eduList?.length">
- <span class="mr-6">{{ $t('resume.educationExp') }}</span>
- <educationExp style="flex: 1;" :data="cvData.eduList"></educationExp>
- </div>
- </div>
- </div>
- </template>
- <script setup>
- defineOptions({name: 'enterprise-talentPool-details'})
- import baseInfo from './details/baseInfo.vue'
- import vocationalSkills from '@/views/recruit/enterprise/talentPool/components/details/vocationalSkills.vue'
- import jobIntention from '@/views/recruit/enterprise/talentPool/components/details/jobIntention.vue'
- import workExperience from '@/views/recruit/enterprise/talentPool/components/details/workExperience.vue'
- import projectExperience from '@/views/recruit/enterprise/talentPool/components/details/projectExperience.vue'
- import trainingExperience from '@/views/recruit/enterprise/talentPool/components/details/trainingExperience.vue'
- import educationExp from '@/views/recruit/enterprise/talentPool/components/details/educationExp.vue'
- import { getPersonCvDetail } from '@/api/enterprise'
- import { ref } from 'vue'
- import { useRouter, useRoute } from 'vue-router'
- const route = useRoute()
- const router = useRouter()
- // 获取人才详情
- const cvData = ref({})
- const getCvDetail = async () => {
- const { id } = route.query
- const { id: userId } = router.currentRoute.value.params
- if (!id || !userId) return
- const data = await getPersonCvDetail(userId, id)
- cvData.value = data
- }
- getCvDetail()
- </script>
- <style lang="scss" scoped>
- .operate {
- width: 240px;
- height: 500px; // 272px
- position: sticky;
- top: 60px;
- }
- </style>
|