<template>
|
<ContentScrollView>
|
<Cell :show-title="false">
|
<CellChunk title="求职意向">
|
<div class="curriculum-list">
|
<CurriculumViewItem label="期望岗位:">
|
<div class="curriculum-position-list">
|
<div
|
v-for="userExpectJob in userExpectJobs"
|
:key="userExpectJob.expectJobCode"
|
class="curriculum-position-list-item"
|
>
|
{{ userExpectJob.expectJobContent }}
|
</div>
|
</div>
|
</CurriculumViewItem>
|
<CurriculumViewItem label="空闲时间:" :text="EnumPersonalFreeTimeText[freeTime]">
|
</CurriculumViewItem>
|
<CurriculumViewItem
|
label="求职状态:"
|
:text="EnumPersonalJobSeekingStatusText[jobSeekingStatus]"
|
>
|
</CurriculumViewItem>
|
</div>
|
</CellChunk>
|
<CellChunk title="资格证书">
|
<nut-grid
|
square
|
:column-num="3"
|
:border="false"
|
:gutter="20"
|
v-if="_userCredentials.length > 0"
|
class="pro-img-grid"
|
>
|
<nut-grid-item
|
v-for="(item, index) in _userCredentials"
|
:key="item"
|
class="pro-img-grid-item"
|
>
|
<div class="pro-img-grid-img-item">
|
<PreviewImage :src="item" class="pro-img-grid-img" :urls="_userCredentials" />
|
</div>
|
</nut-grid-item>
|
</nut-grid>
|
</CellChunk>
|
<CellChunk title="工作经验">
|
<CurriculumViewItem label="工作年限:" :text="workSeniority ? `${workSeniority}年` : ''">
|
</CurriculumViewItem>
|
<CurriculumViewItem label="工作经验:" :text="workExperience"> </CurriculumViewItem>
|
</CellChunk>
|
<CellChunk title="详细信息">
|
<CurriculumViewItem
|
label="身高:"
|
:text="`${height} cm`"
|
:label-width="labelWidth"
|
></CurriculumViewItem>
|
<CurriculumViewItem
|
label="体重:"
|
:text="`${weight} kg`"
|
:label-width="labelWidth"
|
></CurriculumViewItem>
|
<CurriculumViewItem label="个人照片:">
|
<nut-grid
|
square
|
:column-num="2"
|
:border="false"
|
:gutter="20"
|
v-if="_photos.length > 0"
|
class="pro-img-grid"
|
>
|
<nut-grid-item v-for="(item, index) in _photos" :key="item" class="pro-img-grid-item">
|
<div class="pro-img-grid-img-item">
|
<PreviewImage :src="item" class="pro-img-grid-img" :urls="_photos" />
|
</div>
|
</nut-grid-item>
|
</nut-grid>
|
</CurriculumViewItem>
|
</CellChunk>
|
</Cell>
|
</ContentScrollView>
|
</template>
|
|
<script setup lang="ts">
|
import CurriculumViewItem from './CurriculumViewItem.vue';
|
import { PreviewImage } from '@12333/components';
|
import Taro from '@tarojs/taro';
|
import { EnumPersonalFreeTimeText, EnumPersonalJobSeekingStatusText } from '@12333/constants';
|
import { setOSSLink } from '@12333/utils';
|
|
defineOptions({
|
name: 'curriculumView',
|
});
|
|
type Props = {
|
userExpectJobs?: API.GetUserResumeQueryResultExpectJob[];
|
freeTime?: API.EnumPersonalFreeTime;
|
jobSeekingStatus?: API.EnumPersonalJobSeekingStatus;
|
userCredentials?: API.GetUserResumeQueryResultCredential[];
|
workSeniority?: string;
|
workExperience?: string;
|
photos?: string[];
|
/** 身高 */
|
height?: number;
|
/** 体重 */
|
weight?: number;
|
};
|
|
const props = withDefaults(defineProps<Props>(), {
|
userExpectJobs: () => [],
|
userCredentials: () => [],
|
photos: () => [],
|
});
|
|
const _userCredentials = computed(() => props.userCredentials.map((x) => setOSSLink(x.img)));
|
const _photos = computed(() => props.photos.map((x) => setOSSLink(x)));
|
|
const labelWidth = Taro.pxTransform(120);
|
</script>
|
|
<style lang="scss">
|
@import '@/styles/common.scss';
|
|
.job-detail-content-tabs {
|
.curriculum-position-list {
|
width: 100%;
|
display: flex;
|
flex-wrap: wrap;
|
column-gap: 24px;
|
row-gap: 16px;
|
|
.curriculum-position-list-item {
|
font-weight: 500;
|
font-size: 24px;
|
color: boleGetCssVar('color', 'warning');
|
line-height: 36px;
|
}
|
}
|
}
|
</style>
|