|  |  | 
 |  |  |         <div class="curriculum-list"> | 
 |  |  |           <CurriculumViewItem label="期望岗位:"> | 
 |  |  |             <div class="curriculum-position-list"> | 
 |  |  |               <div class="curriculum-position-list-item">客房服务员</div> | 
 |  |  |               <div class="curriculum-position-list-item">客房服务员</div> | 
 |  |  |               <div class="curriculum-position-list-item">客房服务员</div> | 
 |  |  |               <div class="curriculum-position-list-item">客房服务员</div> | 
 |  |  |               <div class="curriculum-position-list-item">客房员</div> | 
 |  |  |               <div class="curriculum-position-list-item">客房服务员</div> | 
 |  |  |               <div class="curriculum-position-list-item">客房服务员</div> | 
 |  |  |               <div class="curriculum-position-list-item">客房服务员</div> | 
 |  |  |               <div | 
 |  |  |                 v-for="userExpectJob in userExpectJobs" | 
 |  |  |                 :key="userExpectJob.expectJobCode" | 
 |  |  |                 class="curriculum-position-list-item" | 
 |  |  |               > | 
 |  |  |                 {{ userExpectJob.expectJobContent }} | 
 |  |  |               </div> | 
 |  |  |             </div> | 
 |  |  |           </CurriculumViewItem> | 
 |  |  |           <CurriculumViewItem label="空闲时间:" text="不限"> </CurriculumViewItem> | 
 |  |  |           <CurriculumViewItem label="求职状态:" text="积极找工作"> </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="list.length > 0" | 
 |  |  |           class="pro-img-grid" | 
 |  |  |         > | 
 |  |  |           <nut-grid-item v-for="(item, index) in list" :key="item" class="pro-img-grid-item"> | 
 |  |  |       <CellChunk title="资格证书" v-if="_userCredentials.length > 0"> | 
 |  |  |         <nut-grid square :column-num="3" :border="false" :gutter="20" 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="list" /> | 
 |  |  |               <PreviewImage :src="item" class="pro-img-grid-img" :urls="_userCredentials" /> | 
 |  |  |             </div> | 
 |  |  |           </nut-grid-item> | 
 |  |  |         </nut-grid> | 
 |  |  |       </CellChunk> | 
 |  |  |       <CellChunk title="工作经验"> | 
 |  |  |         <CurriculumViewItem label="工作年限:" text="无工作经验,用户自己填写"> | 
 |  |  |         </CurriculumViewItem> | 
 |  |  |         <CurriculumViewItem label="工作经验:" text="客房服务员,用户自己填写"> | 
 |  |  |         </CurriculumViewItem> | 
 |  |  |         <CurriculumViewItem label="工作年限:" :text="workSeniority"> </CurriculumViewItem> | 
 |  |  |         <CurriculumViewItem label="工作经验:" :text="workExperience"> </CurriculumViewItem> | 
 |  |  |       </CellChunk> | 
 |  |  |       <CellChunk title="详细信息"> | 
 |  |  |         <CurriculumViewItem | 
 |  |  |           label="身高:" | 
 |  |  |           text="175 cm" | 
 |  |  |           :text="height && `${height} cm`" | 
 |  |  |           :label-width="labelWidth" | 
 |  |  |         ></CurriculumViewItem> | 
 |  |  |         <CurriculumViewItem | 
 |  |  |           label="体重:" | 
 |  |  |           text="80 kg" | 
 |  |  |           :text="weight && `${weight} kg`" | 
 |  |  |           :label-width="labelWidth" | 
 |  |  |         ></CurriculumViewItem> | 
 |  |  |         <CurriculumViewItem label="个人照片:"> | 
 |  |  | 
 |  |  |             :column-num="2" | 
 |  |  |             :border="false" | 
 |  |  |             :gutter="20" | 
 |  |  |             v-if="list.length > 0" | 
 |  |  |             v-if="_photos.length > 0" | 
 |  |  |             class="pro-img-grid" | 
 |  |  |           > | 
 |  |  |             <nut-grid-item v-for="(item, index) in list" :key="item" class="pro-img-grid-item"> | 
 |  |  |             <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="list" /> | 
 |  |  |                 <PreviewImage :src="item" class="pro-img-grid-img" :urls="_photos" /> | 
 |  |  |               </div> | 
 |  |  |             </nut-grid-item> | 
 |  |  |           </nut-grid> | 
 |  |  | 
 |  |  | 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', | 
 |  |  | }); | 
 |  |  |  | 
 |  |  | const labelWidth = Taro.pxTransform(120); | 
 |  |  | 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 list = ref([ | 
 |  |  |   'https://storage.360buyimg.com/jdc-article/NutUItaro34.jpg', | 
 |  |  |   'https://storage.360buyimg.com/jdc-article/NutUItaro2.jpg', | 
 |  |  |   'https://storage.360buyimg.com/jdc-article/welcomenutui.jpg', | 
 |  |  |   'https://storage.360buyimg.com/jdc-article/fristfabu.jpg', | 
 |  |  | ]); | 
 |  |  | 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"> |