From e3ae5da789eb35217a4a377cab0ff3241ceaf72a Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期一, 11 八月 2025 13:42:07 +0800 Subject: [PATCH] feat: 接口对接 --- apps/cMiniApp/src/subpackages/curriculum/mineJobIntention/InnerPage.vue | 71 ++++++++++++++++++++--------------- 1 files changed, 41 insertions(+), 30 deletions(-) diff --git a/apps/cMiniApp/src/subpackages/curriculum/mineJobIntention/InnerPage.vue b/apps/cMiniApp/src/subpackages/curriculum/mineJobIntention/InnerPage.vue index d40cd5c..4439660 100644 --- a/apps/cMiniApp/src/subpackages/curriculum/mineJobIntention/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/curriculum/mineJobIntention/InnerPage.vue @@ -1,7 +1,12 @@ <template> <ContentScrollView :paddingH="false"> <nut-form :model-value="form" ref="formRef" :rules="rules"> - <nut-form-item label="鏈熸湜宀椾綅:" class="bole-form-item" prop="jobIdList" label-position="top"> + <nut-form-item + label="鏈熸湜宀椾綅:" + class="bole-form-item" + prop="userExpectJobs" + label-position="top" + > <CommonInputField class="job-common-input-field" @click="goExpectPosition"> <JobTagList :jobTagList="jobTagList" /> </CommonInputField> @@ -10,14 +15,14 @@ <ChooseInputWithPicker v-model="form.freeTime" placeholder="璇烽�夋嫨绌洪棽鏃堕棿" - :value-enum="UserResumeFreeTimeEnumText" + :value-enum="EnumPersonalFreeTimeText" /> </nut-form-item> <nut-form-item label="姹傝亴鐘舵��:" class="bole-form-item" prop="jobSeekingStatus"> <ChooseInputWithPicker v-model="form.jobSeekingStatus" placeholder="璇烽�夋嫨姹傝亴鐘舵��" - :value-enum="UserResumeJobSeekingStatusEnumText" + :value-enum="EnumPersonalJobSeekingStatusText" /> </nut-form-item> </nut-form> @@ -31,35 +36,37 @@ import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types'; import { ChooseInputWithPicker, JobTagList, CommonInputField } from '@12333/components'; import { - UserResumeFreeTimeEnumText, - UserResumeJobSeekingStatusEnumText, - UserResumeFreeTimeEnum, - UserResumeJobSeekingStatusEnum, - SearchType, + CategoryCode, + EnumPersonalFreeTime, + EnumPersonalJobSeekingStatus, + EnumPersonalFreeTimeText, + EnumPersonalJobSeekingStatusText, } from '@12333/constants'; import Taro from '@tarojs/taro'; -import * as userResumeServices from '@12333/services/api/userResume'; -import { useSearchSettingType } from '@12333/hooks'; +import * as userResumeServices from '@12333/services/apiV2/userResume'; +import { useDictionaryDataSelect } from '@12333/hooks'; import { Message } from '@12333/utils'; -import { goBack } from '@/utils'; import { useQuery } from '@tanstack/vue-query'; defineOptions({ name: 'InnerPage', }); -const { searchSettingTypeList: positionList } = useSearchSettingType({ - searchType: SearchType.Position, +const { dictionaryDataList: positionList } = useDictionaryDataSelect({ + categoryCode: CategoryCode.Position, }); const jobTagList = computed(() => { - return positionList.value?.filter((x) => form.jobIdList.includes(x.id)).map((x) => x.name) || []; + return ( + positionList.value?.filter((x) => form.userExpectJobs.includes(x.value)).map((x) => x.label) || + [] + ); }); const form = reactive({ - jobIdList: [] as string[], - freeTime: UserResumeFreeTimeEnum.NoLimit, - jobSeekingStatus: UserResumeJobSeekingStatusEnum.Activing, + userExpectJobs: [] as string[], + freeTime: EnumPersonalFreeTime.NoLimit, + jobSeekingStatus: EnumPersonalJobSeekingStatus.Active, }); const { @@ -68,26 +75,29 @@ data: detail, refetch, } = useQuery({ - queryKey: ['userResumeServices/getResumeExpectationJob'], + queryKey: ['userResumeServices/getUserResumeJobSeeking'], queryFn: async () => { - return await userResumeServices.getResumeExpectationJob({ - showLoading: false, - }); + return await userResumeServices.getUserResumeJobSeeking( + {}, + { + showLoading: false, + } + ); }, - placeholderData: () => ({} as API.UserResumeExpectationJobOutput), + placeholderData: () => ({} as API.GetUserResumeJobSeekingQueryResult), onSuccess(data) { - form.jobIdList = data.jobIdList.map((x) => x.id); + form.userExpectJobs = data.userExpectJobs.map((x) => x.expectJobCode); form.freeTime = data.freeTime; form.jobSeekingStatus = data.jobSeekingStatus; }, }); const rules = reactive<FormRules>({ - jobIdList: [ + userExpectJobs: [ { required: true, validator() { - if (form.jobIdList.length) return Promise.resolve(true); + if (form.userExpectJobs.length) return Promise.resolve(true); return Promise.reject('璇烽�夋嫨鏈熸湜宀椾綅'); }, }, @@ -107,12 +117,12 @@ async function confirm() { try { - let params: API.SaveUserResumeExpectationJobInput = { - jobIdList: form.jobIdList, + let params: API.SaveUserResumeJobSeekingCommand = { + userExpectJobsExpectJobCode: form.userExpectJobs, freeTime: form.freeTime, jobSeekingStatus: form.jobSeekingStatus, }; - let res = await userResumeServices.saveUserResumeExpectationJob(params); + let res = await userResumeServices.saveUserResumeJobSeeking(params); if (res) { Message.success('淇濆瓨鎴愬姛', { onClosed() { @@ -133,11 +143,12 @@ url: `${RouterPath.expectPosition}`, events: { addPosition: function (data: { content: string[] }) { - form.jobIdList = data.content?.length ? data.content : []; + form.userExpectJobs = data.content?.length ? data.content : []; }, }, success: function (res) { - res.eventChannel.emit('updatePosition', { content: form.jobIdList }); + console.log('res: ', res); + res.eventChannel.emit('updatePosition', { content: form.userExpectJobs }); }, }); } -- Gitblit v1.9.1