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