From ea99caed5d6eb9ee93256f8bee0ebefeebdeb40e Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期四, 14 八月 2025 17:10:54 +0800 Subject: [PATCH] feat: 接口对接 --- packages/services/apiV2/index.ts | 4 apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue | 5 apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue | 3 packages/services/apiV2/enterpriseEmployee.ts | 19 ++- packages/services/apiV2/task.ts | 15 +++ packages/services/apiV2/typings.d.ts | 128 +++++++++++++++++++++++++ apps/cMiniApp/src/pages/task/InnerPage.vue | 2 packages/services/apiV2/taskUser.ts | 15 +++ packages/services/apiV2/userResume.ts | 15 +++ apps/cMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue | 40 ++++++- packages/services/apiV2/user.ts | 18 +++ packages/hooks/task.ts | 2 12 files changed, 244 insertions(+), 22 deletions(-) diff --git a/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue index 0bcc458..f9e1391 100644 --- a/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue +++ b/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue @@ -74,7 +74,10 @@ url: `${RouterPath.taskCheckedDetail}?id=${item.id}`, }); } - if (item.checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitCheckReceive) { + if ( + item.checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitCheckReceive || + item.checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitSubmit + ) { Taro.navigateTo({ url: `${RouterPath.taskHandleCheckDetail}?id=${item.id}&date=${date}`, }); diff --git a/apps/cMiniApp/src/pages/task/InnerPage.vue b/apps/cMiniApp/src/pages/task/InnerPage.vue index a022624..842cac1 100644 --- a/apps/cMiniApp/src/pages/task/InnerPage.vue +++ b/apps/cMiniApp/src/pages/task/InnerPage.vue @@ -48,7 +48,7 @@ function goSubmitTaskDetail(item: API.GetCheckReceiveTasksQueryResultItem) { if (Number(queryState.checkReceiveStatus) === EnumTaskCheckReceiveStatus.WaitSubmit) { Taro.navigateTo({ - url: `${RouterPath.taskSubmitCheck}?id=${item.id}`, + url: `${RouterPath.taskSubmitCheck}?id=${item.id}&date=${queryState.date}`, }); } if (Number(queryState.checkReceiveStatus) === EnumTaskCheckReceiveStatus.Completed) { diff --git a/apps/cMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue index 7c1f311..0d5db2f 100644 --- a/apps/cMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue @@ -30,17 +30,34 @@ <script setup lang="ts"> import { TaskCard } from '@12333/components'; -import { useUserStore } from '@/stores/modules/user'; -import { useTaskList } from '@12333/hooks'; +import * as taskServices from '@12333/services/apiV2/task'; +import * as taskUserServices from '@12333/services/apiV2/taskUser'; +import { useInfiniteLoading, useTaskList } from '@12333/hooks'; import Taro from '@tarojs/taro'; +import { Message } from '@12333/utils'; defineOptions({ name: 'InnerPage', }); -const { infiniteLoadingProps } = useTaskList({ - defaultQueryMenuState: {}, -}); +const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading( + ({ pageParam }) => { + let params: API.GetTaskInfosQuery = { + pageModel: { + rows: 20, + page: pageParam, + }, + isCollected: true, + }; + + return taskServices.getTaskInfos(params, { + showLoading: false, + }); + }, + { + queryKey: ['taskServices/getTaskInfos'], + } +); function goTaskDetail(id: string) { Taro.navigateTo({ @@ -48,7 +65,18 @@ }); } -function clearExpiredTask() {} +async function clearExpiredTask() { + try { + await Message.confirm({ + message: '纭畾瑕佹竻绌哄凡澶辨晥浠诲姟鍚楋紵', + }); + let res = await taskUserServices.clearTaskCollect({}); + if (res) { + Message.success('娓呯┖鎴愬姛'); + invalidateQueries(); + } + } catch (error) {} +} </script> <style lang="scss"> diff --git a/apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue b/apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue index bc40ba1..f4853a2 100644 --- a/apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue @@ -25,6 +25,7 @@ import Taro from '@tarojs/taro'; import { goBack } from '@/utils'; import { useQueryClient } from '@tanstack/vue-query'; +import dayjs from 'dayjs'; defineOptions({ name: 'InnerPage', @@ -32,6 +33,7 @@ const route = Taro.useRouter(); const id = route.params?.id as string; +const date = route.params?.date as string; const queryClient = useQueryClient(); const form = reactive({ @@ -57,6 +59,7 @@ try { let params: API.SubmitCheckReceiveTaskCommand = { taskInfoId: id, + date: dayjs(date).format('YYYY-MM-DD'), files: form.files.map((x) => x.path), }; let res = await taskCheckReceiveServices.submitCheckReceiveTask(params); diff --git a/packages/hooks/task.ts b/packages/hooks/task.ts index 474681a..a29fbb1 100644 --- a/packages/hooks/task.ts +++ b/packages/hooks/task.ts @@ -161,7 +161,7 @@ rows: 20, page: pageParam, }, - taskInfoId: id, + id: id, }; return taskCheckReceiveServices.getCheckReceiveTaskUserSubmits(params, { diff --git a/packages/services/apiV2/enterpriseEmployee.ts b/packages/services/apiV2/enterpriseEmployee.ts index cb2c49a..dfe7822 100644 --- a/packages/services/apiV2/enterpriseEmployee.ts +++ b/packages/services/apiV2/enterpriseEmployee.ts @@ -58,12 +58,15 @@ body: API.ImportEnterpriseEmployeesCommand, options?: API.RequestConfig ) { - return request<number>('/api/user/enterpriseEmployee/importEnterpriseEmployees', { - method: 'POST', - headers: { - 'Content-Type': 'application/json-patch+json', - }, - data: body, - ...(options || {}), - }); + return request<API.ImportEnterpriseEmployeesCommandResult>( + '/api/user/enterpriseEmployee/importEnterpriseEmployees', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json-patch+json', + }, + data: body, + ...(options || {}), + } + ); } diff --git a/packages/services/apiV2/index.ts b/packages/services/apiV2/index.ts index 679903f..9cabf40 100644 --- a/packages/services/apiV2/index.ts +++ b/packages/services/apiV2/index.ts @@ -7,10 +7,10 @@ import * as role from './role'; import * as enterprise from './enterprise'; import * as task from './task'; -import * as taskCheckReceive from './taskCheckReceive'; import * as dictionary from './dictionary'; import * as userResume from './userResume'; import * as auth from './auth'; +import * as taskCheckReceive from './taskCheckReceive'; import * as resource from './resource'; import * as taskUser from './taskUser'; import * as menu from './menu'; @@ -20,10 +20,10 @@ role, enterprise, task, - taskCheckReceive, dictionary, userResume, auth, + taskCheckReceive, resource, taskUser, menu, diff --git a/packages/services/apiV2/task.ts b/packages/services/apiV2/task.ts index 9488ff3..8f85a31 100644 --- a/packages/services/apiV2/task.ts +++ b/packages/services/apiV2/task.ts @@ -2,6 +2,21 @@ // @ts-ignore import { request } from '@/utils/request'; +/** 鎸夋棩鏈熶慨璁换鍔$姸鎬� POST /api/flexjob/task/autoTaskStatusByDate */ +export async function autoTaskStatusByDate( + body: API.AutoTaskStatusByDateCommand, + options?: API.RequestConfig +) { + return request<number>('/api/flexjob/task/autoTaskStatusByDate', { + method: 'POST', + headers: { + 'Content-Type': 'application/json-patch+json', + }, + data: body, + ...(options || {}), + }); +} + /** 鍒犻櫎浠诲姟 DELETE /api/flexjob/task/deleteTaskInfo */ export async function deleteTaskInfo(body: API.DeleteTaskInfoCommand, options?: API.RequestConfig) { return request<number>('/api/flexjob/task/deleteTaskInfo', { diff --git a/packages/services/apiV2/taskUser.ts b/packages/services/apiV2/taskUser.ts index a23742d..0edd5de 100644 --- a/packages/services/apiV2/taskUser.ts +++ b/packages/services/apiV2/taskUser.ts @@ -14,6 +14,21 @@ }); } +/** 娓呯┖宸插仠姝㈢殑浠诲姟鏀惰棌 DELETE /api/flexjob/taskUser/clearTaskCollect */ +export async function clearTaskCollect( + body: API.ClearTaskCollectCommand, + options?: API.RequestConfig +) { + return request<number>('/api/flexjob/taskUser/clearTaskCollect', { + method: 'DELETE', + 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', { diff --git a/packages/services/apiV2/typings.d.ts b/packages/services/apiV2/typings.d.ts index 2fd750a..e2b61f5 100644 --- a/packages/services/apiV2/typings.d.ts +++ b/packages/services/apiV2/typings.d.ts @@ -189,6 +189,8 @@ ids?: string[]; } + type AutoTaskStatusByDateCommand = Record<string, any>; + interface BindWxmpUserInfoCommand { /** 璁块棶浠ょ墝 */ accessToken: string; @@ -212,6 +214,8 @@ id?: string; checkReceiveStatus?: EnumTaskUserSubmitCheckReceiveStatus; } + + type ClearTaskCollectCommand = Record<string, any>; interface CollectTaskCommand { /** 浠诲姟Id */ @@ -254,11 +258,11 @@ interface EditEnterpriseEmployeeCommand { /** 濮撳悕 */ - name?: string; + name: string; /** 韬唤璇佸彿 */ - identity?: string; + identity: string; /** 鎵嬫満鍙� */ - contactPhoneNumber?: string; + contactPhoneNumber: string; gender?: EnumUserGender; /** 骞撮緞 */ age?: number; @@ -848,6 +852,24 @@ timestamp?: number; } + interface FriendlyResultGetPersonalUserInfoSignContractsQueryResult { + /** 璺熻釜Id */ + traceId?: string; + /** 鐘舵�佺爜 */ + code?: number; + /** 閿欒鐮� */ + errorCode?: string; + data?: GetPersonalUserInfoSignContractsQueryResult; + /** 鎵ц鎴愬姛 */ + success?: boolean; + /** 閿欒淇℃伅 */ + msg?: any; + /** 闄勫姞鏁版嵁 */ + extras?: any; + /** 鏃堕棿鎴� */ + timestamp?: number; + } + interface FriendlyResultGetPersonalUserInfosQueryResult { /** 璺熻釜Id */ traceId?: string; @@ -1091,6 +1113,24 @@ errorCode?: string; /** 鏁版嵁 */ data?: string; + /** 鎵ц鎴愬姛 */ + success?: boolean; + /** 閿欒淇℃伅 */ + msg?: any; + /** 闄勫姞鏁版嵁 */ + extras?: any; + /** 鏃堕棿鎴� */ + timestamp?: number; + } + + interface FriendlyResultImportEnterpriseEmployeesCommandResult { + /** 璺熻釜Id */ + traceId?: string; + /** 鐘舵�佺爜 */ + code?: number; + /** 閿欒鐮� */ + errorCode?: string; + data?: ImportEnterpriseEmployeesCommandResult; /** 鎵ц鎴愬姛 */ success?: boolean; /** 閿欒淇℃伅 */ @@ -1900,6 +1940,7 @@ avatar?: string; /** 濮撳悕 */ name?: string; + gender?: EnumUserGender; /** 浼佷笟鍏ㄧО */ enterpriseName?: string; /** 瑙掕壊 */ @@ -2128,6 +2169,27 @@ pageModel?: PagedListQueryPageModel; } + interface GetOpenUserResumesQuery { + /** 浠诲姟Id */ + taskInfoId?: string; + /** 鏈熸湜宀椾綅缂栧彿 */ + userExpectJobs?: string[]; + gender?: EnumUserGender; + /** 韬唤缂栧彿 */ + personalIdentityCode?: string; + /** 骞撮緞鑼冨洿鏈�灏� */ + ageMin?: number; + /** 骞撮緞鑼冨洿澶� */ + ageMax?: number; + /** 璧勬牸璇佷功缂栧彿 */ + userCredentials?: string[]; + /** 鏄惁宸叉敹钘� */ + isCollected?: boolean; + /** 鏄惁宸茶仈绯� */ + isContacted?: boolean; + pageModel?: PagedListQueryPageModel; + } + interface GetOperationUserInfosQuery { /** 鍏抽敭瀛� */ keywords?: string; @@ -2267,6 +2329,8 @@ interface GetPersonalLoginInfoQueryResult { /** Id */ id?: string; + /** 澶村儚 */ + avatar?: string; /** 濮撳悕 */ name?: string; /** 鏄惁瀹炲悕 */ @@ -2278,6 +2342,36 @@ hirePassTaskCount?: number; /** 宸插彇娑� */ hireRefuseTaskCount?: number; + } + + interface GetPersonalUserInfoSignContractsQuery { + /** 鐢ㄦ埛Id */ + id?: string; + pageModel?: PagedListQueryPageModel; + } + + interface GetPersonalUserInfoSignContractsQueryResult { + pageModel?: PagedListQueryResultPageModel; + /** 鏁版嵁 */ + data?: GetPersonalUserInfoSignContractsQueryResultItem[]; + } + + interface GetPersonalUserInfoSignContractsQueryResultItem { + /** 鐏靛伐Id */ + id?: string; + /** 鎵�灞炲晢鎴� */ + enterpriseName?: string; + /** 鎶ュ悕鏃堕棿 */ + applyTime?: string; + hireStatus?: EnumTaskUserHireStatus; + /** 褰曠敤鏃堕棿 */ + hireTime?: string; + userSignContractStatus?: EnumTaskUserSignContractStatus; + enterpriseSignContractStatus?: EnumTaskUserSignContractStatus; + /** 浼佷笟绛剧害鏃堕棿 */ + enterpriseSignContractTime?: string; + /** 鐢靛瓙鍚堝悓 */ + contractUrl?: string; } interface GetPersonalUserInfosQuery { @@ -2311,6 +2405,10 @@ contactPhoneNumber?: string; /** 韬唤璇佸彿 */ identity?: string; + /** 韬唤璇佷汉鍍忛潰 */ + identityImg?: string; + /** 韬唤璇佸浗寰介潰 */ + identityBackImg?: string; gender?: EnumUserGender; /** 骞撮緞 */ age?: number; @@ -2939,6 +3037,28 @@ excelUrl?: string; } + interface ImportEnterpriseEmployeesCommandResult { + /** 鎬绘暟 */ + totalCount?: number; + /** 鎴愬姛鏁伴噺 */ + successCount?: number; + /** 澶辫触鏁伴噺 */ + failCount?: number; + /** 閿欒淇℃伅 */ + errors?: ImportEnterpriseEmployeesCommandResultError[]; + } + + interface ImportEnterpriseEmployeesCommandResultError { + /** 閿欒淇℃伅 */ + errorMessage?: string; + /** 濮撳悕 */ + name?: string; + /** 鎵嬫満鍙� */ + contactPhoneNumber?: string; + /** 韬唤璇佸彿 */ + identity?: string; + } + interface LoginCommandCallback { /** 鐢ㄦ埛Id */ id?: string; @@ -3465,6 +3585,8 @@ interface SubmitCheckReceiveTaskCommand { /** 浠诲姟Id */ taskInfoId?: string; + /** 鏃ユ湡 */ + date?: string; /** 闄勪欢 */ files?: string[]; } diff --git a/packages/services/apiV2/user.ts b/packages/services/apiV2/user.ts index 7e0df87..83fdcbf 100644 --- a/packages/services/apiV2/user.ts +++ b/packages/services/apiV2/user.ts @@ -35,6 +35,24 @@ }); } +/** 鏌ヨC绔汉鍛樼绾﹁鎯呭垎椤靛垪琛ㄦ暟鎹� POST /api/user/user/getPersonalUserInfoSignContracts */ +export async function getPersonalUserInfoSignContracts( + body: API.GetPersonalUserInfoSignContractsQuery, + options?: API.RequestConfig +) { + return request<API.GetPersonalUserInfoSignContractsQueryResult>( + '/api/user/user/getPersonalUserInfoSignContracts', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json-patch+json', + }, + data: body, + ...(options || {}), + } + ); +} + /** 鏌ヨ鐢ㄦ埛瑙掕壊鍒楄〃 GET /api/user/user/getUserInfoRoles */ export async function getUserInfoRoles( // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄) diff --git a/packages/services/apiV2/userResume.ts b/packages/services/apiV2/userResume.ts index 8edd703..2557cb6 100644 --- a/packages/services/apiV2/userResume.ts +++ b/packages/services/apiV2/userResume.ts @@ -47,6 +47,21 @@ }); } +/** 鏌ヨ寮�鏀剧畝鍘嗗垎椤靛垪琛ㄦ暟鎹� POST /api/user/userResume/getOpenUserResumes */ +export async function getOpenUserResumes( + body: API.GetOpenUserResumesQuery, + options?: API.RequestConfig +) { + return request<API.GetUserResumesQueryResult>('/api/user/userResume/getOpenUserResumes', { + method: 'POST', + headers: { + 'Content-Type': 'application/json-patch+json', + }, + data: body, + ...(options || {}), + }); +} + /** 鏌ヨ鐢ㄦ埛绠�鍘� GET /api/user/userResume/getUserResume */ export async function getUserResume( // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄) -- Gitblit v1.9.1