From a6d873f75b70ab5e1dc4a1e5fa610eddc7c9274e Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期五, 17 十月 2025 18:30:23 +0800 Subject: [PATCH] fix: 简历 --- apps/cMiniApp/src/subpackages/curriculum/mineDetailedInfo/InnerPage.vue | 85 ++++++++++++++++++++++++++++++++---------- 1 files changed, 64 insertions(+), 21 deletions(-) diff --git a/apps/cMiniApp/src/subpackages/curriculum/mineDetailedInfo/InnerPage.vue b/apps/cMiniApp/src/subpackages/curriculum/mineDetailedInfo/InnerPage.vue index e360f49..f6496d5 100644 --- a/apps/cMiniApp/src/subpackages/curriculum/mineDetailedInfo/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/curriculum/mineDetailedInfo/InnerPage.vue @@ -14,11 +14,34 @@ <nut-form-item label="涓汉鐢熸椿鐓э紙鍗曞紶鐓х墖涓嶈秴杩�5m锛屾渶澶氫笉瓒呰繃6寮狅級:" class="bole-form-item person-photo" - prop="photo" + prop="photos" label-position="top" > - <Uploader v-model:file-list="form.lifeCircleImgUrlList" :maximum="6" class="bole-uploader"> + <Uploader v-model:file-list="form.photos" :maximum="6" class="bole-uploader"> </Uploader> + </nut-form-item> + <nut-form-item + label="涓汉瑙嗛:" + class="bole-form-item person-photo" + prop="videos" + label-position="top" + > + <Uploader + v-model:file-list="form.videos" + :maximum="1" + class="bole-uploader" + :media-type="['video']" + > + <template #item="{ item }"> + <Video class="editor-video" :src="item.url" /> + </template> + <template #upload-icon> + <UploaderIcon color="#808080" /> + </template> </Uploader> + <div class="video-demo"> + <div class="video-demo-title">瑙嗛妯℃澘</div> + <Video class="editor-video" :src="OssAssets.mine.UseResumeVideo" /> + </div> </nut-form-item> </nut-form> </ContentScrollView> @@ -30,14 +53,20 @@ <script setup lang="ts"> import { goBack } from '@/utils'; import { NumberInput } from '@12333/components'; -import * as userResumeServices from '@12333/services/api/userResume'; -import { convertApiPath2Url, Message } from '@12333/utils'; +import { useUpdateResume } from '@12333/hooks'; +import * as userResumeServices from '@12333/services/apiV2/userResume'; +import { convertApiPath2Url, convertFormUrl2Api, Message } from '@12333/utils'; 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'; defineOptions({ name: 'InnerPage', }); + +const { updateUserResume } = useUpdateResume(); const { isLoading, @@ -45,42 +74,45 @@ data: detail, refetch, } = useQuery({ - queryKey: ['userResumeServices/getUserResumeDetailInfo'], + queryKey: ['userResumeServices/getUserResumeDetail'], queryFn: async () => { - return await userResumeServices.getUserResumeDetailInfo({ - showLoading: false, - }); + return await userResumeServices.getUserResumeDetail( + {}, + { + showLoading: false, + } + ); }, - placeholderData: () => ({} as API.UserResumeDetailInfoOutput), + placeholderData: () => ({} as API.GetUserResumeDetailQueryResult), onSuccess(data) { form.height = data.height; form.weight = data.weight; - form.lifeCircleImgUrlList = data.lifeCircleImgUrlList?.length - ? data.lifeCircleImgUrlList.map((x) => convertApiPath2Url(x)) - : []; + form.photos = data.photos?.length ? data.photos.map(convertApiPath2Url) : []; + form.videos = data.videos?.length ? data.videos.map(convertApiPath2Url) : []; }, }); const form = reactive({ - height: '', - weight: '', - lifeCircleImgUrlList: [] as FileItem[], + height: 0, + weight: 0, + photos: [] as FileItem[], + videos: [] as FileItem[], }); async function handleConfirm() { try { - let params: API.SaveUserResumeDetailInfoInput = { + let params: API.SaveUserResumeDetailCommand = { weight: form.weight, - height: form.weight, - lifeCircleImgUrlList: form.lifeCircleImgUrlList?.length - ? form.lifeCircleImgUrlList.map((x) => x.url) - : [], + height: form.height, + photos: convertFormUrl2Api(form.photos), + videos: convertFormUrl2Api(form.videos), }; - let res = await userResumeServices.saveUserResumeDetailInfo(params); + let res = await userResumeServices.saveUserResumeDetail(params); if (res) { Message.success('淇濆瓨鎴愬姛', { onClosed() { goBack(); + updateUserResume(); }, }); } @@ -102,5 +134,16 @@ page .nut-form .nut-cell.bole-form-item:not(.alignTop) { align-items: flex-start !important; } + + .editor-video { + width: 200px; + height: 200px; + } + + .video-demo { + .video-demo-title { + margin: 12px 0; + } + } } </style> -- Gitblit v1.9.1