| <template> | 
|   <ProForm :model="detail" ref="dialogForm" label-width="120px" is-read> | 
|     <ProFormCol> | 
|       <ProFormColItem :span="12"> | 
|         <ProFormItemV2 label="期望岗位:" prop="name"> | 
|           <div>{{ detail.userExpectJobs }}</div> | 
|         </ProFormItemV2> | 
|       </ProFormColItem> | 
|     </ProFormCol> | 
|     <ProFormCol> | 
|       <ProFormColItem :span="12"> | 
|         <ProFormItemV2 label="空闲时间:" prop="freeTime"> | 
|           <ProFormRadio | 
|             v-model="detail.freeTime" | 
|             :value-enum="EnumPersonalFreeTimeText" | 
|           ></ProFormRadio> | 
|         </ProFormItemV2> | 
|       </ProFormColItem> | 
|     </ProFormCol> | 
|     <ProFormCol> | 
|       <ProFormColItem :span="12"> | 
|         <ProFormItemV2 label="求职状态:" prop="jobSeekingStatus"> | 
|           <ProFormRadio | 
|             v-model="detail.jobSeekingStatus" | 
|             :value-enum="EnumPersonalJobSeekingStatusText" | 
|           ></ProFormRadio> | 
|         </ProFormItemV2> | 
|       </ProFormColItem> | 
|     </ProFormCol> | 
|     <ProFormCol> | 
|       <ProFormColItem :span="12"> | 
|         <ProFormItemV2 label="工作年限:" prop="workSeniority"> | 
|           <ProFormText v-model="detail.workSeniority"></ProFormText> | 
|         </ProFormItemV2> | 
|       </ProFormColItem> | 
|     </ProFormCol> | 
|     <ProFormCol> | 
|       <ProFormColItem :span="12"> | 
|         <ProFormItemV2 label="工作经验:" prop="workExperience"> | 
|           <ProFormText v-model="detail.workExperience"></ProFormText> | 
|         </ProFormItemV2> | 
|       </ProFormColItem> | 
|     </ProFormCol> | 
|     <ProFormCol> | 
|       <ProFormColItem :span="12"> | 
|         <ProFormItemV2 label="身高:" prop="height"> | 
|           <ProFormInputNumber v-model="detail.height"></ProFormInputNumber> | 
|         </ProFormItemV2> | 
|       </ProFormColItem> | 
|     </ProFormCol> | 
|     <ProFormCol> | 
|       <ProFormColItem :span="12"> | 
|         <ProFormItemV2 label="体重:" prop="weight"> | 
|           <ProFormInputNumber v-model="detail.weight"></ProFormInputNumber> | 
|         </ProFormItemV2> | 
|       </ProFormColItem> | 
|     </ProFormCol> | 
|     <ProFormItemV2 label="个人照片:" prop="photos"> | 
|       <ProFormImageUpload v-model:file-url="detail.photos"> </ProFormImageUpload> | 
|     </ProFormItemV2> | 
|   </ProForm> | 
| </template> | 
|   | 
| <script setup lang="ts"> | 
| import { | 
|   ProForm, | 
|   ProFormCol, | 
|   ProFormColItem, | 
|   ProFormItemV2, | 
|   ProFormText, | 
|   ProFormInputNumber, | 
|   ProFormRadio, | 
|   UploadUserFile, | 
|   ProFormImageUpload, | 
| } from '@bole-core/components'; | 
| import { EnumPersonalFreeTimeText, EnumPersonalJobSeekingStatusText } from '@/constants'; | 
| import { useQuery } from '@tanstack/vue-query'; | 
| import * as userResumeServices from '@/services/api/userResume'; | 
| import { convertApi2FormUrl } from '@/utils'; | 
|   | 
| defineOptions({ | 
|   name: 'StaffResumeView', | 
| }); | 
|   | 
| type Form = { | 
|   id: string; | 
| }; | 
|   | 
| const form = defineModel<Form>('form'); | 
|   | 
| const detail = reactive({ | 
|   userExpectJobs: '', | 
|   freeTime: '' as any as EnumPersonalFreeTime, | 
|   jobSeekingStatus: '' as any as EnumPersonalJobSeekingStatus, | 
|   workSeniority: '', | 
|   workExperience: '', | 
|   height: 0, | 
|   weight: 0, | 
|   photos: [] as UploadUserFile[], | 
| }); | 
|   | 
| const { isLoading } = useQuery({ | 
|   queryKey: ['userResumeServices/getUserResume', form.value.id], | 
|   queryFn: async () => { | 
|     return await userResumeServices.getUserResume({ enterpriseEmployeeId: form.value.id }); | 
|   }, | 
|   onSuccess(data) { | 
|     detail.userExpectJobs = | 
|       data.userExpectJobs?.length > 0 | 
|         ? data.userExpectJobs.map((x) => x.expectJobContent).join(',') | 
|         : ''; | 
|     detail.freeTime = data.freeTime; | 
|     detail.jobSeekingStatus = data.jobSeekingStatus; | 
|     detail.workSeniority = data.workSeniority; | 
|     detail.workExperience = data.workExperience; | 
|     detail.height = data.height ?? 0; | 
|     detail.weight = data.weight ?? 0; | 
|     detail.photos = data.photos | 
|       ? data.photos.map((x) => convertApi2FormUrl(x)) | 
|       : ([] as UploadUserFile[]); | 
|   }, | 
|   enabled: computed(() => !!form.value.id), | 
| }); | 
| </script> |