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