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