|  |  | 
 |  |  |           <template #right>kg</template> | 
 |  |  |         </NumberInput> | 
 |  |  |       </nut-form-item> | 
 |  |  |       <nut-form-item label="鞋码:" class="bole-form-item" prop="shoeSize"> | 
 |  |  |         <NumberInput v-model="form.shoeSize" :min="0" :max="100" placeholder="请输入"> | 
 |  |  |           <template #right>码</template> | 
 |  |  |         </NumberInput> | 
 |  |  |       </nut-form-item> | 
 |  |  |       <nut-form-item | 
 |  |  |         label="个人生活照(单张照片不超过5m,最多不超过6张):" | 
 |  |  |         class="bole-form-item person-photo" | 
 |  |  | 
 |  |  |           :media-type="['video']" | 
 |  |  |         > | 
 |  |  |           <template #item="{ item }"> | 
 |  |  |             <Video class="editor-video" :src="item.url" /> | 
 |  |  |             <video class="editor-video" :src="item.url" /> | 
 |  |  |           </template> | 
 |  |  |           <template #upload-icon> | 
 |  |  |             <UploaderIcon color="#808080" /> | 
 |  |  | 
 |  |  |         </Uploader> | 
 |  |  |         <div class="video-demo"> | 
 |  |  |           <div class="video-demo-title">视频模板</div> | 
 |  |  |           <Video class="editor-video" :src="OssAssets.mine.UseResumeVideo" /> | 
 |  |  |           <video class="editor-video" :src="OssAssets.mine.UseResumeVideo" /> | 
 |  |  |         </div> | 
 |  |  |       </nut-form-item> | 
 |  |  |     </nut-form> | 
 |  |  | 
 |  |  | import { FileItem } from '@nutui/nutui-taro/dist/types/__VUE/uploader/type'; | 
 |  |  | import { useQuery } from '@tanstack/vue-query'; | 
 |  |  | import { Uploader as UploaderIcon } from '@nutui/icons-vue-taro'; | 
 |  |  | import { Video } from '@tarojs/components'; | 
 |  |  | import { OssAssets } from '@/constants'; | 
 |  |  | import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types'; | 
 |  |  |  | 
 |  |  | defineOptions({ | 
 |  |  |   name: 'InnerPage', | 
 |  |  | 
 |  |  |   onSuccess(data) { | 
 |  |  |     form.height = data.height; | 
 |  |  |     form.weight = data.weight; | 
 |  |  |     form.shoeSize = data.shoeSize; | 
 |  |  |     form.photos = data.photos?.length ? data.photos.map(convertApiPath2Url) : []; | 
 |  |  |     form.videos = data.videos?.length ? data.videos.map(convertApiPath2Url) : []; | 
 |  |  |   }, | 
 |  |  | 
 |  |  | const form = reactive({ | 
 |  |  |   height: 0, | 
 |  |  |   weight: 0, | 
 |  |  |   shoeSize: 0, | 
 |  |  |   photos: [] as FileItem[], | 
 |  |  |   videos: [] as FileItem[], | 
 |  |  | }); | 
 |  |  |  | 
 |  |  | const rules = reactive<FormRules>({}); | 
 |  |  |  | 
 |  |  | async function handleConfirm() { | 
 |  |  |   try { | 
 |  |  |     let params: API.SaveUserResumeDetailCommand = { | 
 |  |  |       weight: form.weight, | 
 |  |  |       height: form.height, | 
 |  |  |       shoeSize: form.shoeSize, | 
 |  |  |       photos: convertFormUrl2Api(form.photos), | 
 |  |  |       videos: convertFormUrl2Api(form.videos), | 
 |  |  |     }; |