From 64ff795479a7667f17c1a4349bb171f546a92a0b Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期一, 11 八月 2025 17:03:07 +0800 Subject: [PATCH] feat: 接口对接 --- packages/services/apiV2/index.ts | 2 packages/hooks/area.ts | 47 +++++++++++---- packages/utils/area.ts | 6 + apps/cMiniApp/src/subpackages/curriculum/editMineInfo/InnerPage.vue | 6 +- packages/services/apiV2/typings.d.ts | 40 +++++++++++-- packages/services/apiV2/taskUser.ts | 27 +++++++++ packages/constants/apiEnum.ts | 26 ++++++-- 7 files changed, 122 insertions(+), 32 deletions(-) diff --git a/apps/cMiniApp/src/subpackages/curriculum/editMineInfo/InnerPage.vue b/apps/cMiniApp/src/subpackages/curriculum/editMineInfo/InnerPage.vue index 61ef2e5..fb29bf4 100644 --- a/apps/cMiniApp/src/subpackages/curriculum/editMineInfo/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/curriculum/editMineInfo/InnerPage.vue @@ -26,7 +26,7 @@ </nut-form-item> <nut-form-item label="甯搁┗鍩庡競:" class="bole-form-item" prop="areaList"> <ChooseInputWithAreaPicker - :columns="completeAreaTree" + :columns="areaTree" v-model="form.areaList" placeholder="璇烽�夋嫨甯搁┗鍩庡競" ></ChooseInputWithAreaPicker> @@ -42,7 +42,7 @@ import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types'; import { ChooseInputWithPicker, ChooseInputWithAreaPicker } from '@12333/components'; import { convertApi2FormUrlOnlyOne, Message, setOSSLink } from '@12333/utils'; -import { useArea, useDictionaryDataSelect } from '@12333/hooks'; +import { useAreaTree, useDictionaryDataSelect } from '@12333/hooks'; import { CategoryCode } from '@12333/constants'; import * as userResumeServices from '@12333/services/apiV2/userResume'; import Taro from '@tarojs/taro'; @@ -60,7 +60,7 @@ categoryCode: CategoryCode.Education, }); -const { completeAreaTree } = useArea(); +const { areaTree } = useAreaTree(); const form = reactive({ avatar: [], diff --git a/packages/constants/apiEnum.ts b/packages/constants/apiEnum.ts index cc6ab80..393a3ce 100644 --- a/packages/constants/apiEnum.ts +++ b/packages/constants/apiEnum.ts @@ -91,20 +91,22 @@ Dictionary = 0, /**浠诲姟 */ Task = 1, + /**浠诲姟闆囦剑 */ + TaskUser = 2, /**鐢ㄦ埛璁よ瘉 */ - Auth = 2, + Auth = 3, /**鐢ㄦ埛鑿滃崟 */ - Menu = 3, + Menu = 4, /**鐢ㄦ埛璧勬簮 */ - Resource = 4, + Resource = 5, /**鐢ㄦ埛瑙掕壊 */ - Role = 5, + Role = 6, /**鐢ㄦ埛淇℃伅 */ - User = 6, + User = 7, /**鐢ㄦ埛绠�鍘� */ - UserResume = 7, + UserResume = 8, /**浼佷笟淇℃伅 */ - Enterprise = 8, + Enterprise = 9, } /** 璧勬簮璇锋眰鏂瑰紡 */ @@ -191,6 +193,16 @@ Complete = 20, } +/** 浠诲姟褰曠敤鐘舵�� */ +export enum EnumTaskUserHireStatus { + /**寰呭綍鐢� */ + Wait = 10, + /**宸插綍鐢� */ + Pass = 20, + /**宸茶阿缁� */ + Refuse = 30, +} + /** 鐢ㄦ埛鎬у埆 */ export enum EnumUserGender { /**鐢� */ diff --git a/packages/hooks/area.ts b/packages/hooks/area.ts index f8bd597..684ce2c 100644 --- a/packages/hooks/area.ts +++ b/packages/hooks/area.ts @@ -4,6 +4,7 @@ import { AreaType, CategoryCode } from '@12333/constants'; import Taro, { EventChannel } from '@tarojs/taro'; import { useDictionaryDataSelect } from './dic'; +import axios from 'axios'; export function useArea() { const queryClient = useQueryClient(); @@ -12,13 +13,12 @@ categoryCode: CategoryCode.Area, staleTime: Infinity, all: true, - maxDeep: AreaType.City, + maxDeep: AreaType.Area, }); const areaList = computed(() => dictionaryDataList.value.map(convertDictionaryToAreaTreeNode)); - console.log('areaList: ', areaList); - const areaTree = computed(() => formatAreaListToTree(areaList.value)); + // const areaTree = computed(() => formatAreaListToTree(areaList.value)); function getAreaFromCompleteAreaList(areaCode: string) { return areaList.value.find((x) => x.areaCode === areaCode); @@ -31,20 +31,41 @@ return { completeAreaList: areaList, areaList, - completeAreaTree: areaTree, - provinceList: computed(() => areaList.value.filter((x) => x.layer === AreaType.Province)), + // completeAreaTree: areaTree, + // provinceList: computed(() => areaList.value.filter((x) => x.layer === AreaType.Province)), getAreaFromCompleteAreaList, getAreaByAreaCode, }; +} + +export function useAreaTree() { + axios.get('https://parkmanagement.oss-cn-hangzhou.aliyuncs.com/12333/area.txt').then((res) => { + console.log(res); + }); + const { data } = useQuery({ + queryKey: ['area.txt'], + queryFn() { + return axios + .get<API.AreaTreeNode[]>( + 'https://parkmanagement.oss-cn-hangzhou.aliyuncs.com/12333/area.txt' + ) + .then((res) => res.data); + }, + + placeholderData: () => [] as API.AreaTreeNode[], + }); + + const areaTree = computed(() => formatAreaListToTree(data.value)); + + return { areaTree: areaTree }; } function convertDictionaryToAreaTreeNode( item: API.SelectOptionStringGetDictionaryDataSelectQueryResultOption ) { return { - children: [], areaCode: item.data?.code, - parentCode: item.data?.field1, + parentCode: item.data?.parentCode, areaName: item.label, layer: Number(item.data?.field4), quickQuery: item.data?.field2, @@ -79,13 +100,13 @@ }; } -export function useProvinceList() { - const { provinceList } = useArea(); +// export function useProvinceList() { +// const { provinceList } = useArea(); - return { - provinceList, - }; -} +// return { +// provinceList, +// }; +// } export const globalEventEmitter = new Taro.Events(); diff --git a/packages/services/apiV2/index.ts b/packages/services/apiV2/index.ts index e33974b..a1555c0 100644 --- a/packages/services/apiV2/index.ts +++ b/packages/services/apiV2/index.ts @@ -10,6 +10,7 @@ import * as task from './task'; import * as enterprise from './enterprise'; import * as role from './role'; +import * as taskUser from './taskUser'; import * as menu from './menu'; export default { userResume, @@ -20,5 +21,6 @@ task, enterprise, role, + taskUser, menu, }; diff --git a/packages/services/apiV2/taskUser.ts b/packages/services/apiV2/taskUser.ts new file mode 100644 index 0000000..694be3e --- /dev/null +++ b/packages/services/apiV2/taskUser.ts @@ -0,0 +1,27 @@ +/* eslint-disable */ +// @ts-ignore +import { request } from '@/utils/request'; + +/** 鎶ュ悕浠诲姟 POST /api/flexjob/taskUser/applyTask */ +export async function applyTask(body: API.ApplyTaskCommand, options?: API.RequestConfig) { + return request<number>('/api/flexjob/taskUser/applyTask', { + method: 'POST', + headers: { + 'Content-Type': 'application/json-patch+json', + }, + data: body, + ...(options || {}), + }); +} + +/** 鏀惰棌浠诲姟 POST /api/flexjob/taskUser/collectTask */ +export async function collectTask(body: API.CollectTaskCommand, options?: API.RequestConfig) { + return request<number>('/api/flexjob/taskUser/collectTask', { + method: 'POST', + headers: { + 'Content-Type': 'application/json-patch+json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/packages/services/apiV2/typings.d.ts b/packages/services/apiV2/typings.d.ts index a8f052a..8638b22 100644 --- a/packages/services/apiV2/typings.d.ts +++ b/packages/services/apiV2/typings.d.ts @@ -145,6 +145,11 @@ request?: GetUserResumeWorkExperienceQuery; } + interface ApplyTaskCommand { + /** 浠诲姟Id */ + ids?: string[]; + } + interface BindWxmpUserInfoCommand { /** 鍖呮嫭鏁忔劅鏁版嵁鍦ㄥ唴鐨勫畬鏁寸敤鎴蜂俊鎭殑鍔犲瘑鏁版嵁 */ encryptedData: string; @@ -159,6 +164,13 @@ phoneNumber: string; /** 楠岃瘉鐮� */ verifyCode: string; + } + + interface CollectTaskCommand { + /** 浠诲姟Id */ + ids?: string[]; + /** 鏄惁鏀惰棌 */ + isCollect?: boolean; } interface DeleteDictionaryCategoryCommand { @@ -262,20 +274,22 @@ Dictionary = 0, /**浠诲姟 */ Task = 1, + /**浠诲姟闆囦剑 */ + TaskUser = 2, /**鐢ㄦ埛璁よ瘉 */ - Auth = 2, + Auth = 3, /**鐢ㄦ埛鑿滃崟 */ - Menu = 3, + Menu = 4, /**鐢ㄦ埛璧勬簮 */ - Resource = 4, + Resource = 5, /**鐢ㄦ埛瑙掕壊 */ - Role = 5, + Role = 6, /**鐢ㄦ埛淇℃伅 */ - User = 6, + User = 7, /**鐢ㄦ埛绠�鍘� */ - UserResume = 7, + UserResume = 8, /**浼佷笟淇℃伅 */ - Enterprise = 8, + Enterprise = 9, } enum EnumResourceMethod { @@ -351,6 +365,15 @@ Wait = 10, /**宸插畨鎺� */ Complete = 20, + } + + enum EnumTaskUserHireStatus { + /**寰呭綍鐢� */ + Wait = 10, + /**宸插綍鐢� */ + Pass = 20, + /**宸茶阿缁� */ + Refuse = 30, } enum EnumUserGender { @@ -1481,6 +1504,8 @@ releaseStatus?: EnumTaskReleaseStatus; recommendStatus?: EnumTaskRecommendStatus; checkReceiveStatus?: EnumTaskCheckReceiveStatus; + /** 褰曠敤鐘舵�� */ + hireStatus?: EnumTaskUserHireStatus[]; pageModel?: PagedListQueryPageModel; } @@ -1536,6 +1561,7 @@ recommendStatus?: EnumTaskRecommendStatus; /** 鍒涘缓鏃堕棿 */ createdTime?: string; + hireStatus?: EnumTaskUserHireStatus; } interface GetTaskInfosQueryResultObjectData { diff --git a/packages/utils/area.ts b/packages/utils/area.ts index aa4c806..c41d617 100644 --- a/packages/utils/area.ts +++ b/packages/utils/area.ts @@ -2,7 +2,7 @@ export function formatAreaListToTree( areaDataList: API.AreaTreeNode[], - parentId = '', + parentId = null, maxLayer = AreaType.Area ) { const treeNodeList: API.AreaTreeNode[] = []; @@ -11,7 +11,9 @@ const areaTreeNode: API.AreaTreeNode = { ...areaData }; if (areaData.parentCode === parentId && areaData.layer <= maxLayer) { const children = formatAreaListToTree(areaDataList, areaData.areaCode, maxLayer); - areaTreeNode.children = children; + if (children.length > 0) { + areaTreeNode.children = children; + } treeNodeList.push(areaTreeNode); } }); -- Gitblit v1.9.1