From eaef32fd071d159741dcec146d58b94b8fcbc039 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期二, 12 八月 2025 10:47:34 +0800 Subject: [PATCH] fix: 修改简历 --- apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue | 18 +++-- apps/cMiniApp/src/subpackages/curriculum/mineCertificateAddOrEdit/InnerPage.vue | 22 ++++-- packages/utils/link.ts | 1 apps/cMiniApp/src/subpackages/curriculum/editMineInfo/InnerPage.vue | 31 ++++------ packages/services/apiV2/typings.d.ts | 55 ++++++++++++++++-- apps/cMiniApp/src/subpackages/curriculum/mineJobIntention/InnerPage.vue | 12 ++-- packages/constants/apiEnum.ts | 18 ++++++ 7 files changed, 110 insertions(+), 47 deletions(-) diff --git a/apps/cMiniApp/src/subpackages/curriculum/editMineInfo/InnerPage.vue b/apps/cMiniApp/src/subpackages/curriculum/editMineInfo/InnerPage.vue index f17aa69..399ab72 100644 --- a/apps/cMiniApp/src/subpackages/curriculum/editMineInfo/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/curriculum/editMineInfo/InnerPage.vue @@ -47,10 +47,14 @@ import * as userResumeServices from '@12333/services/apiV2/userResume'; import Taro from '@tarojs/taro'; import { useQuery } from '@tanstack/vue-query'; +import { useEventChannel } from 'senin-mini/hooks'; +import { goBack } from '@/utils'; defineOptions({ name: 'InnerPage', }); + +const eventChannel = useEventChannel(); const { dictionaryDataList: identityList } = useDictionaryDataSelect({ categoryCode: CategoryCode.Identity, @@ -67,7 +71,6 @@ const form = reactive({ avatar: [], name: '', - identity: '', contactPhoneNumber: '', personalIdentityCode: '', educationalBackgroundCode: '', @@ -91,10 +94,9 @@ }, placeholderData: () => ({} as API.GetUserResumePersonalQueryResult), onSuccess(data) { - form.avatar = convertApi2FormUrlOnlyOne(setOSSLink(data.avatar)); - form.name = data.name; - form.identity = data.identity; - form.contactPhoneNumber = data.contactPhoneNumber; + form.avatar = convertApi2FormUrlOnlyOne(data.avatar); + form.name = data.name ?? ''; + form.contactPhoneNumber = data.contactPhoneNumber ?? ''; form.personalIdentityCode = data.personalIdentityCode ?? ''; form.educationalBackgroundCode = data.educationalBackgroundCode ?? ''; form.areaList = [data.provinceCode, data.cityCode].filter(Boolean); @@ -131,31 +133,22 @@ try { let params: API.SaveUserResumePersonalCommand = { name: form.name, - identity: form.identity, - avatar: form.avatar[0]?.path, + avatar: form.avatar?.[0]?.path ?? '', contactPhoneNumber: form.contactPhoneNumber, educationalBackgroundCode: form.educationalBackgroundCode, personalIdentityCode: form.personalIdentityCode, - provinceCode: form.areaList[0], - cityCode: form.areaList[1], + provinceCode: form.areaList?.[0] ?? '', + cityCode: form.areaList?.[1] ?? '', }; let res = await userResumeServices.saveUserResumePersonal(params); if (res) { Message.success('淇濆瓨鎴愬姛', { onClosed() { - Taro.navigateTo({ - url: `${RouterPath.mineCurriculumVitae}`, - success: function (res) { - res.eventChannel.emit('updateResume', { content: true }); - }, - }); + goBack(); + eventChannel.emit('updateResume', { content: true }); }, }); } } catch (error) {} } </script> - -<style lang="scss"> -@import '@/styles/common.scss'; -</style> diff --git a/apps/cMiniApp/src/subpackages/curriculum/mineCertificateAddOrEdit/InnerPage.vue b/apps/cMiniApp/src/subpackages/curriculum/mineCertificateAddOrEdit/InnerPage.vue index 46c8966..26fc3cf 100644 --- a/apps/cMiniApp/src/subpackages/curriculum/mineCertificateAddOrEdit/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/curriculum/mineCertificateAddOrEdit/InnerPage.vue @@ -9,7 +9,7 @@ /> </nut-form-item> <nut-form-item label="璇佷功缂栧彿:" class="bole-form-item" prop="code"> - <nut-input v-model="form.code" type="number" placeholder="璇疯緭鍏�"> </nut-input> + <nut-input v-model="form.code" type="text" placeholder="璇疯緭鍏�"> </nut-input> </nut-form-item> <nut-form-item label="姘镐箙璇佷功:" @@ -19,10 +19,16 @@ <nut-switch v-model="form.isForever" /> </nut-form-item> <nut-form-item label="寮�濮嬫棩鏈�:" class="bole-form-item" prop="startDate"> - <ChooseInputWithDatePicker v-model="form.startDate"></ChooseInputWithDatePicker> + <ChooseInputWithDatePicker + v-model="form.startDate" + placeholder="璇烽�夋嫨寮�濮嬫棩鏈�" + ></ChooseInputWithDatePicker> </nut-form-item> <nut-form-item label="缁撴潫鏃ユ湡:" class="bole-form-item" prop="endDate"> - <ChooseInputWithDatePicker v-model="form.endDate"></ChooseInputWithDatePicker> + <ChooseInputWithDatePicker + v-model="form.endDate" + placeholder="璇烽�夋嫨缁撴潫鏃ユ湡" + ></ChooseInputWithDatePicker> </nut-form-item> <nut-form-item label="鍙戣瘉鍗曚綅:" class="bole-form-item" prop="issueUnit"> <nut-input v-model="form.issueUnit" placeholder="璇疯緭鍏�"> </nut-input> @@ -109,8 +115,8 @@ onSuccess(data) { form.typeCode = data.typeCode; form.code = data.code; - form.startDate = dayjs(data.startDate).format('YYYY-MM-DD 00:00:00'); - form.endDate = dayjs(data.endDate).format('YYYY-MM-DD 23:59:59'); + form.startDate = dayjs(data.startDate).format('YYYY-MM-DD'); + form.endDate = dayjs(data.endDate).format('YYYY-MM-DD'); form.issueUnit = data.issueUnit; form.isForever = data.isForever; form.img = convertApi2FormUrlOnlyOne(setOSSLink(data.img)); @@ -156,15 +162,15 @@ startDate: dayjs(form.startDate).format('YYYY-MM-DD 00:00:00'), endDate: dayjs(form.endDate).format('YYYY-MM-DD 23:59:59'), issueUnit: form.issueUnit, - img: form.img[0]?.path, - backImg: form.backImg[0]?.path, + img: form.img?.[0]?.path, + backImg: form.backImg?.[0]?.path, }; if (isEdit.value) { params.id = id; } let res = await userResumeServices.saveUserResumeCredential(params); if (res) { - Message.success(isEdit ? '缂栬緫鎴愬姛' : '娣诲姞鎴愬姛', { + Message.success(isEdit.value ? '缂栬緫鎴愬姛' : '娣诲姞鎴愬姛', { onClosed() { goBack(); queryClient.invalidateQueries(['userResumeServices/getUserResumeCredentials']); diff --git a/apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue b/apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue index cab2a5a..8165e96 100644 --- a/apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue @@ -131,14 +131,6 @@ name: 'InnerPage', }); -useEvent('updateResume', function (data: { content: boolean }) { - if (data.content) { - refetch({ - type: 'inactive', - }); - } -}); - const { userResumeInfo, refetch } = useUserResume(); const jobTag = computed( @@ -148,6 +140,16 @@ function goPage(routeName: string) { Taro.navigateTo({ url: routeName, + events: { + updateResume(data: { content: boolean }) { + console.log('content: ', data.content); + if (data.content) { + refetch({ + type: 'inactive', + }); + } + }, + }, }); } function goEditMineInfo() { diff --git a/apps/cMiniApp/src/subpackages/curriculum/mineJobIntention/InnerPage.vue b/apps/cMiniApp/src/subpackages/curriculum/mineJobIntention/InnerPage.vue index 4ce95a8..d913841 100644 --- a/apps/cMiniApp/src/subpackages/curriculum/mineJobIntention/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/curriculum/mineJobIntention/InnerPage.vue @@ -47,10 +47,14 @@ import { useDictionaryDataSelect } from '@12333/hooks'; import { Message } from '@12333/utils'; import { useQuery } from '@tanstack/vue-query'; +import { goBack } from '@/utils'; +import { useEventChannel } from 'senin-mini/hooks'; defineOptions({ name: 'InnerPage', }); + +const eventChannel = useEventChannel(); const { dictionaryDataList: positionList } = useDictionaryDataSelect({ categoryCode: CategoryCode.Position, @@ -126,12 +130,8 @@ if (res) { Message.success('淇濆瓨鎴愬姛', { onClosed() { - Taro.navigateTo({ - url: `${RouterPath.mineCurriculumVitae}`, - success: function (res) { - res.eventChannel.emit('updateResume', { content: true }); - }, - }); + goBack(); + eventChannel.emit('updateResume', { content: true }); }, }); } diff --git a/packages/constants/apiEnum.ts b/packages/constants/apiEnum.ts index 393a3ce..946c6dc 100644 --- a/packages/constants/apiEnum.ts +++ b/packages/constants/apiEnum.ts @@ -193,6 +193,14 @@ Complete = 20, } +/** 浠诲姟鐢ㄦ埛瀹夋帓鐘舵�� */ +export enum EnumTaskUserArrangeStatus { + /**鏈畨鎺� */ + Wait = 10, + /**宸插畨鎺� */ + Complete = 20, +} + /** 浠诲姟褰曠敤鐘舵�� */ export enum EnumTaskUserHireStatus { /**寰呭綍鐢� */ @@ -203,6 +211,16 @@ Refuse = 30, } +/** 浠诲姟鐢ㄦ埛绛剧害鐘舵�� */ +export enum EnumTaskUserSignContractStatus { + /**寰呯绾� */ + Wait = 10, + /**宸茬绾� */ + Pass = 20, + /**宸叉嫆绛� */ + Refuse = 30, +} + /** 鐢ㄦ埛鎬у埆 */ export enum EnumUserGender { /**鐢� */ diff --git a/packages/services/apiV2/typings.d.ts b/packages/services/apiV2/typings.d.ts index 79f945a..aa36f3b 100644 --- a/packages/services/apiV2/typings.d.ts +++ b/packages/services/apiV2/typings.d.ts @@ -376,12 +376,28 @@ Complete = 20, } + enum EnumTaskUserArrangeStatus { + /**鏈畨鎺� */ + Wait = 10, + /**宸插畨鎺� */ + Complete = 20, + } + enum EnumTaskUserHireStatus { /**寰呭綍鐢� */ Wait = 10, /**宸插綍鐢� */ Pass = 20, /**宸茶阿缁� */ + Refuse = 30, + } + + enum EnumTaskUserSignContractStatus { + /**寰呯绾� */ + Wait = 10, + /**宸茬绾� */ + Pass = 20, + /**宸叉嫆绛� */ Refuse = 30, } @@ -1772,8 +1788,6 @@ name?: string; /** 鎵嬫満鍙� */ contactPhoneNumber?: string; - /** 韬唤璇佸彿 */ - identity?: string; /** 韬唤缂栧彿 */ personalIdentityCode?: string; /** 韬唤 */ @@ -1846,6 +1860,22 @@ photos?: string[]; /** 缁忓巻 */ taskInfoUsers?: GetUserResumeQueryResultExperience[]; + /** 鎶ュ悕鏃堕棿 */ + createdTime?: string; + hireStatus?: EnumTaskUserHireStatus; + /** 褰曠敤鏃堕棿 */ + hireTime?: string; + arrangeStatus?: EnumTaskUserArrangeStatus; + /** 瀹夋帓鐘舵�� */ + arrangeTime?: string; + userSignContractStatus?: EnumTaskUserSignContractStatus; + /** 鐏靛伐绛剧害鏃堕棿 */ + userSignContractTime?: string; + enterpriseSignContractStatus?: EnumTaskUserSignContractStatus; + /** 浼佷笟绛剧害鏃堕棿 */ + enterpriseSignContractTime?: string; + /** 鐢靛瓙鍚堝悓 */ + contractUrl?: string; } interface GetUserResumeQueryResultCredential { @@ -1919,11 +1949,15 @@ name?: string; /** 鎵嬫満鍙� */ contactPhoneNumber?: string; + /** 韬唤璇佸彿 */ + identity?: string; + /** 骞撮緞 */ + age?: number; gender?: EnumUserGender; /** 鏄惁瀹炲悕 */ isReal?: boolean; - /** 骞撮緞 */ - age?: number; + /** 瀹炲悕鏃堕棿 */ + realTime?: string; /** 韬唤缂栧彿 */ personalIdentityCode?: string; /** 韬唤 */ @@ -1939,6 +1973,17 @@ /** 宸ヤ綔缁忛獙 */ workExperience?: string; hireStatus?: EnumTaskUserHireStatus; + /** 褰曠敤鏃堕棿 */ + hireTime?: string; + arrangeStatus?: EnumTaskUserArrangeStatus; + /** 瀹夋帓鐘舵�� */ + arrangeTime?: string; + userSignContractStatus?: EnumTaskUserSignContractStatus; + /** 鐏靛伐绛剧害鏃堕棿 */ + userSignContractTime?: string; + enterpriseSignContractStatus?: EnumTaskUserSignContractStatus; + /** 浼佷笟绛剧害鏃堕棿 */ + enterpriseSignContractTime?: string; } type GetUserResumeWorkExperienceQuery = Record<string, any>; @@ -2340,8 +2385,6 @@ name?: string; /** 鎵嬫満鍙� */ contactPhoneNumber?: string; - /** 韬唤璇佸彿 */ - identity: string; /** 韬唤缂栧彿 */ personalIdentityCode: string; /** 瀛﹀巻缂栧彿 */ diff --git a/packages/utils/link.ts b/packages/utils/link.ts index 66dcffc..f7d56de 100644 --- a/packages/utils/link.ts +++ b/packages/utils/link.ts @@ -11,6 +11,7 @@ }; export function setOSSLink(url: string) { + console.log('url: ', url, OSSBaseURL); if (!url) { return ''; } -- Gitblit v1.9.1