From 5eb6e6bab29554390851bbed86615110e62efa48 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期一, 11 八月 2025 13:43:18 +0800 Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp --- apps/cMiniApp/src/subpackages/curriculum/editMineInfo/InnerPage.vue | 119 +++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 66 insertions(+), 53 deletions(-) diff --git a/apps/cMiniApp/src/subpackages/curriculum/editMineInfo/InnerPage.vue b/apps/cMiniApp/src/subpackages/curriculum/editMineInfo/InnerPage.vue index 9bf9b84..61ef2e5 100644 --- a/apps/cMiniApp/src/subpackages/curriculum/editMineInfo/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/curriculum/editMineInfo/InnerPage.vue @@ -1,32 +1,32 @@ <template> <ContentScrollView :paddingH="false"> <nut-form :model-value="form" ref="formRef" :rules="rules"> - <nut-form-item label="澶村儚:" class="bole-form-item" prop="avatarUrl"> - <Uploader v-model:file-list="form.avatarUrl" :maximum="1" class="bole-uploader"> </Uploader> + <nut-form-item label="澶村儚:" class="bole-form-item" prop="avatar"> + <Uploader v-model:file-list="form.avatar" :maximum="1" class="bole-uploader"> </Uploader> </nut-form-item> <nut-form-item label="濮撳悕:" class="bole-form-item" prop="name"> - <nut-input v-model.trim="form.name" placeholder="璇疯緭鍏ヤ紒涓氬悕绉�" /> + <nut-input v-model.trim="form.name" placeholder="璇疯緭鍏ュ鍚�" /> </nut-form-item> - <nut-form-item label="鎵嬫満鍙�:" class="bole-form-item" prop="phoneNumber" required> - <nut-input v-model.trim="form.phoneNumber" placeholder="璇疯緭鍏ユ墜鏈哄彿" type="text" /> + <nut-form-item label="鎵嬫満鍙�:" class="bole-form-item" prop="contactPhoneNumber" required> + <nut-input v-model.trim="form.contactPhoneNumber" placeholder="璇疯緭鍏ユ墜鏈哄彿" type="text" /> </nut-form-item> - <nut-form-item label="韬唤:" class="bole-form-item" prop="socialIdentity"> + <nut-form-item label="韬唤:" class="bole-form-item" prop="personalIdentityCode"> <ChooseInputWithPicker - v-model="form.socialIdentity" + v-model="form.personalIdentityCode" placeholder="璇烽�夋嫨韬唤" - :value-enum="IdentityTypeList" + :value-enum="identityList" /> </nut-form-item> - <nut-form-item label="瀛﹀巻:" class="bole-form-item" prop="educationalLevel"> + <nut-form-item label="瀛﹀巻:" class="bole-form-item" prop="educationalBackgroundCode"> <ChooseInputWithPicker - v-model="form.educationalLevel" + v-model="form.educationalBackgroundCode" placeholder="璇烽�夋嫨瀛﹀巻" - :value-enum="EducationTypeList" + :value-enum="educationList" /> </nut-form-item> <nut-form-item label="甯搁┗鍩庡競:" class="bole-form-item" prop="areaList"> <ChooseInputWithAreaPicker - :columns="cityAreaTree" + :columns="completeAreaTree" v-model="form.areaList" placeholder="璇烽�夋嫨甯搁┗鍩庡競" ></ChooseInputWithAreaPicker> @@ -41,11 +41,10 @@ <script setup lang="ts"> import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types'; import { ChooseInputWithPicker, ChooseInputWithAreaPicker } from '@12333/components'; -import { TaskStatusText } from '@/constants'; import { convertApi2FormUrlOnlyOne, Message, setOSSLink } from '@12333/utils'; -import { useAllAreaList, useArea, useSearchSettingType } from '@12333/hooks'; -import { Gender, SearchType } from '@12333/constants'; -import * as userResumeServices from '@12333/services/api/userResume'; +import { useArea, useDictionaryDataSelect } from '@12333/hooks'; +import { CategoryCode } from '@12333/constants'; +import * as userResumeServices from '@12333/services/apiV2/userResume'; import Taro from '@tarojs/taro'; import { useQuery } from '@tanstack/vue-query'; @@ -53,23 +52,24 @@ name: 'InnerPage', }); -const { searchSettingTypeList: EducationTypeList } = useSearchSettingType({ - searchType: SearchType.Education, -}); -const { searchSettingTypeList: IdentityTypeList } = useSearchSettingType({ - searchType: SearchType.Identity, +const { dictionaryDataList: identityList } = useDictionaryDataSelect({ + categoryCode: CategoryCode.Identity, }); -const { findAreaNameFromCode, cityAreaTree } = useAllAreaList(); +const { dictionaryDataList: educationList } = useDictionaryDataSelect({ + categoryCode: CategoryCode.Education, +}); + +const { completeAreaTree } = useArea(); const form = reactive({ - avatarUrl: [], + avatar: [], name: '', - phoneNumber: '', - gender: Gender.Male, - socialIdentity: '', - educationalLevel: '', - areaList: [] as number[], + identity: '', + contactPhoneNumber: '', + personalIdentityCode: '', + educationalBackgroundCode: '', + areaList: [] as string[], }); const { @@ -78,29 +78,43 @@ data: detail, refetch, } = useQuery({ - queryKey: ['userResumeServices/getUserResumeBaseInfo'], + queryKey: ['userResumeServices/getUserResumePersonal'], queryFn: async () => { - return await userResumeServices.getUserResumeBaseInfo({ - showLoading: false, - }); + return await userResumeServices.getUserResumePersonal( + {}, + { + showLoading: false, + } + ); }, - placeholderData: () => ({} as API.UserResumeBaseInfoOutput), + placeholderData: () => ({} as API.GetUserResumePersonalQueryResult), onSuccess(data) { - form.avatarUrl = convertApi2FormUrlOnlyOne(setOSSLink(data.avatarUrl)); + form.avatar = convertApi2FormUrlOnlyOne(setOSSLink(data.avatar)); form.name = data.name; - form.phoneNumber = data.phoneNumber; - form.gender = data.genderType; - form.socialIdentity = data.socialIdentity; - form.educationalLevel = data.educationalLevel; - form.areaList = [data.residentProvinceCode, data.residentCityCode]; + form.identity = data.identity; + form.contactPhoneNumber = data.contactPhoneNumber; + form.personalIdentityCode = data.personalIdentityCode ?? ''; + form.educationalBackgroundCode = data.educationalBackgroundCode ?? ''; + form.areaList = + data.provinceCode && data.cityCode ? [data.provinceCode, data.cityCode] : ['', '']; }, }); const rules = reactive<FormRules>({ - phoneNumber: [{ required: true, message: '璇疯緭鍏ユ墜鏈哄彿' }], - socialIdentity: [{ required: true, message: '璇烽�夋嫨韬唤' }], - educationalLevel: [{ required: true, message: '璇烽�夋嫨瀛﹀巻' }], - areaList: [{ required: true, message: '璇烽�夋嫨甯搁┗鍩庡競' }], + contactPhoneNumber: [{ required: true, message: '璇疯緭鍏ユ墜鏈哄彿' }], + personalIdentityCode: [{ required: true, message: '璇烽�夋嫨韬唤' }], + educationalBackgroundCode: [{ required: true, message: '璇烽�夋嫨瀛﹀巻' }], + areaList: [ + { + required: true, + validator: () => { + if (!form.areaList.length) { + return Promise.reject('璇烽�夋嫨甯搁┗鍩庡競'); + } + return Promise.resolve(); + }, + }, + ], }); const formRef = ref<any>(null); function handleConfirm() { @@ -114,18 +128,17 @@ async function confirm() { try { - let params: API.SaveUserResumeBaseInfoInput = { + let params: API.SaveUserResumePersonalCommand = { name: form.name, - avatarUrl: form.avatarUrl[0]?.path, - phoneNumber: form.phoneNumber, - educationalLevel: form.educationalLevel, - socialIdentity: form.socialIdentity, - residentProvinceCode: form.areaList[0], - residentProvinceName: findAreaNameFromCode(form.areaList[0]), - residentCityCode: form.areaList[1], - residentCityName: findAreaNameFromCode(form.areaList[1]), + identity: form.identity, + avatar: form.avatar[0]?.path, + contactPhoneNumber: form.contactPhoneNumber, + educationalBackgroundCode: form.educationalBackgroundCode, + personalIdentityCode: form.personalIdentityCode, + provinceCode: form.areaList[0], + cityCode: form.areaList[1], }; - let res = await userResumeServices.saveUserResumeBaseInfo(params); + let res = await userResumeServices.saveUserResumePersonal(params); if (res) { Message.success('淇濆瓨鎴愬姛', { onClosed() { -- Gitblit v1.9.1