From 37e6ed1a122f6791b77fe8574fa2ff3ad1079b68 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 13 八月 2025 09:18:21 +0800
Subject: [PATCH] feat: 接口对接

---
 apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue                     |   38 ++++++++
 apps/bMiniApp/src/subpackages/jobApplicationManage/components/SignList.vue      |    3 
 packages/services/apiV2/index.ts                                                |   36 ++++----
 apps/cMiniApp/src/subpackages/curriculum/mineCertificateAddOrEdit/InnerPage.vue |    4 
 apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue                     |    7 -
 packages/services/apiV2/typings.d.ts                                            |  110 ++++++++++++++++++++++++++-
 packages/services/apiV2/taskUser.ts                                             |   18 ++++
 packages/services/apiV2/userResume.ts                                           |    2 
 packages/constants/apiEnum.ts                                                   |   22 +++++
 9 files changed, 203 insertions(+), 37 deletions(-)

diff --git a/apps/bMiniApp/src/subpackages/jobApplicationManage/components/SignList.vue b/apps/bMiniApp/src/subpackages/jobApplicationManage/components/SignList.vue
index adc2bdc..dd3d986 100644
--- a/apps/bMiniApp/src/subpackages/jobApplicationManage/components/SignList.vue
+++ b/apps/bMiniApp/src/subpackages/jobApplicationManage/components/SignList.vue
@@ -5,7 +5,7 @@
         :name="item.name"
         :age="item.age"
         :gender="item.gender"
-        :avatar="item.avatar"
+        :avatar="setOSSLink(item.avatar)"
         :isReal="item.isReal"
         :personalIdentityContent="item.personalIdentityContent"
         :educationalBackgroundContent="item.educationalBackgroundContent"
@@ -32,6 +32,7 @@
 import { useTaskUserList } from '@12333/hooks';
 import { FlexJobCard } from '@12333/components';
 import Taro from '@tarojs/taro';
+import { setOSSLink } from '@12333/utils';
 
 defineOptions({
   name: 'SignList',
diff --git a/apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue
index aa46eef..3b108ca 100644
--- a/apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue
@@ -28,10 +28,12 @@
         :createdTime="item.createdTime"
         :serviceFee="item.serviceFee"
         :unit="BillingMethodEnumUnit[item.billingMethod]"
-        @click="goSubmitTaskDetail(item)"
         mode="taskManage"
       >
         <template #footer-actions>
+          <nut-button type="primary" @click.stop="goBatchTaskList(item, 'arrange')"
+            >浜哄憳瀹夋帓</nut-button
+          >
           <nut-button
             v-if="item.status === EnumTaskStatus.Complete"
             type="primary"
@@ -39,9 +41,6 @@
             class="dark-btn"
             @click.stop="goBatchTaskList(item, 'detail')"
             >璇︽儏</nut-button
-          >
-          <nut-button type="primary" v-else @click.stop="goBatchTaskList(item, 'arrange')"
-            >浜哄憳瀹夋帓</nut-button
           >
         </template>
       </JobApplicationCard>
diff --git a/apps/cMiniApp/src/subpackages/curriculum/mineCertificateAddOrEdit/InnerPage.vue b/apps/cMiniApp/src/subpackages/curriculum/mineCertificateAddOrEdit/InnerPage.vue
index 87a0c9d..46deb43 100644
--- a/apps/cMiniApp/src/subpackages/curriculum/mineCertificateAddOrEdit/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/curriculum/mineCertificateAddOrEdit/InnerPage.vue
@@ -117,8 +117,8 @@
   onSuccess(data) {
     form.typeCode = data.typeCode;
     form.code = data.code;
-    form.startDate = dayjs(data.startDate).format('YYYY-MM-DD');
-    form.endDate = dayjs(data.endDate).format('YYYY-MM-DD');
+    form.startDate = data.startDate ? dayjs(data.startDate).format('YYYY-MM-DD') : '';
+    form.endDate = data.startDate ? dayjs(data.endDate).format('YYYY-MM-DD') : '';
     form.issueUnit = data.issueUnit;
     form.isForever = data.isForever;
     form.img = convertApi2FormUrlOnlyOne(setOSSLink(data.img));
diff --git a/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
index d8fba8a..f66686a 100644
--- a/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
@@ -108,14 +108,37 @@
         @click="handleCall"
       ></PageFooterAction>
       <PageFooterBtn
-        v-if="detail.releaseStatus === EnumTaskReleaseStatus.InProcess"
+        v-if="showApplyBtn"
         type="primary"
         @click="handleApply"
         :disabled="detail?.hireStatus === EnumTaskUserHireStatus.Wait"
         >{{ `鎶ュ悕锛�${detail?.applyCount ?? 0}浜哄凡鎶ュ悕锛塦 }}</PageFooterBtn
       >
-      <PageFooterBtn v-if="detail.hireStatus === EnumTaskUserHireStatus.Wait" color="#999999"
-        >宸插仠姝�</PageFooterBtn
+      <PageFooterBtn
+        v-if="detail.applyButton === GetTaskInfoQueryResultApplyButton.WaitHire"
+        color="#999999"
+        disabled
+        >寰呯‘璁�</PageFooterBtn
+      >
+      <!-- <PageFooterBtn
+        v-if="detail.applyButton === GetTaskInfoQueryResultApplyButton.WaitSignContract"
+        >鍘荤绾�</PageFooterBtn
+      > -->
+      <PageFooterBtn
+        v-if="detail.hireButton === GetTaskInfoQueryResultHireButton.InProcess"
+        color="#999999"
+        disabled
+        >杩涜涓�</PageFooterBtn
+      >
+      <!-- <PageFooterBtn
+        v-if="detail.hireButton === GetTaskInfoQueryResultHireButton.ApplyCheckReceive"
+        >鐢宠楠屾敹</PageFooterBtn
+      > -->
+      <PageFooterBtn
+        v-if="detail.hireButton === GetTaskInfoQueryResultHireButton.Completed"
+        color="#999999"
+        disabled
+        >宸插畬鎴�</PageFooterBtn
       >
       <PageFooterBtn v-if="detail.releaseStatus === EnumTaskReleaseStatus.Stopped" color="#999999"
         >宸插仠姝�</PageFooterBtn
@@ -147,6 +170,8 @@
   BillingMethodEnumUnit,
   EnumTaskReleaseStatus,
   EnumTaskUserHireStatus,
+  GetTaskInfoQueryResultApplyButton,
+  GetTaskInfoQueryResultHireButton,
 } from '@12333/constants';
 import { useAccessLogin } from '@/hooks';
 
@@ -161,6 +186,13 @@
 const router = Taro.useRouter();
 const taskId = router.params?.id ?? '';
 
+const showApplyBtn = computed(() => {
+  return (
+    detail.value?.releaseStatus === EnumTaskReleaseStatus.InProcess &&
+    (detail.value?.hireStatus === EnumTaskUserHireStatus.Wait || !detail.value?.hireStatus)
+  );
+});
+
 const {
   isLoading,
   isError,
diff --git a/packages/constants/apiEnum.ts b/packages/constants/apiEnum.ts
index a2b8be0..9bd5d57 100644
--- a/packages/constants/apiEnum.ts
+++ b/packages/constants/apiEnum.ts
@@ -157,8 +157,8 @@
 
 /** 浠诲姟缁撶畻鐘舵�� */
 export enum EnumTaskCheckReceiveStatus {
-  /**寰呴獙鏀� */
-  Wait = 10,
+  /**寰呮彁浜� */
+  WaitSubmit = 10,
   /**宸查獙鏀� */
   Completed = 30,
 }
@@ -274,3 +274,21 @@
   /**宸插畬鎴� */
   Completed = 20,
 }
+
+/** 鎴戠殑鎶ュ悕鍒楄〃-璇︽儏-鎸夐挳绫诲瀷 */
+export enum GetTaskInfoQueryResultApplyButton {
+  /**寰呯‘璁� */
+  WaitHire = 10,
+  /**鍘荤绾� */
+  WaitSignContract = 20,
+}
+
+/** 鎴戠殑褰曠敤鍒楄〃-璇︽儏-鎸夐挳绫诲瀷 */
+export enum GetTaskInfoQueryResultHireButton {
+  /**鐢宠楠屾敹 */
+  ApplyCheckReceive = 1,
+  /**杩涜涓� */
+  InProcess = 10,
+  /**宸插畬鎴� */
+  Completed = 20,
+}
diff --git a/packages/services/apiV2/index.ts b/packages/services/apiV2/index.ts
index 042f909..61a326e 100644
--- a/packages/services/apiV2/index.ts
+++ b/packages/services/apiV2/index.ts
@@ -2,27 +2,27 @@
 /* eslint-disable */
 // API 鏇存柊鏃堕棿锛�
 // API 鍞竴鏍囪瘑锛�
-import * as userResume from './userResume';
-import * as resource from './resource';
-import * as enterpriseEmployee from './enterpriseEmployee';
-import * as user from './user';
-import * as dictionary from './dictionary';
-import * as auth from './auth';
-import * as taskUser from './taskUser';
-import * as task from './task';
-import * as enterprise from './enterprise';
 import * as role from './role';
+import * as enterprise from './enterprise';
+import * as task from './task';
+import * as dictionary from './dictionary';
+import * as user from './user';
+import * as userResume from './userResume';
+import * as auth from './auth';
+import * as resource from './resource';
+import * as taskUser from './taskUser';
 import * as menu from './menu';
+import * as enterpriseEmployee from './enterpriseEmployee';
 export default {
-  userResume,
-  resource,
-  enterpriseEmployee,
-  user,
-  dictionary,
-  auth,
-  taskUser,
-  task,
-  enterprise,
   role,
+  enterprise,
+  task,
+  dictionary,
+  user,
+  userResume,
+  auth,
+  resource,
+  taskUser,
   menu,
+  enterpriseEmployee,
 };
diff --git a/packages/services/apiV2/taskUser.ts b/packages/services/apiV2/taskUser.ts
index af03cc7..2b056fb 100644
--- a/packages/services/apiV2/taskUser.ts
+++ b/packages/services/apiV2/taskUser.ts
@@ -41,6 +41,24 @@
   });
 }
 
+/** 鏌ヨ楠屾敹鍒嗛〉鍒楄〃 POST /api/flexjob/taskUser/getCheckReceiveTaskUserInfos */
+export async function getCheckReceiveTaskUserInfos(
+  body: API.GetCheckReceiveTaskUserInfosQuery,
+  options?: API.RequestConfig
+) {
+  return request<API.GetCheckReceiveTaskUserInfosQueryResult>(
+    '/api/flexjob/taskUser/getCheckReceiveTaskUserInfos',
+    {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json-patch+json',
+      },
+      data: body,
+      ...(options || {}),
+    }
+  );
+}
+
 /** B绔煡璇㈠簲鑱樻姤鍚嶅垎椤靛垪琛ㄤ俊鎭� POST /api/flexjob/taskUser/getTaskUsers */
 export async function getTaskUsers(body: API.GetTaskUsersQuery, options?: API.RequestConfig) {
   return request<API.GetTaskUsersQueryResult>('/api/flexjob/taskUser/getTaskUsers', {
diff --git a/packages/services/apiV2/typings.d.ts b/packages/services/apiV2/typings.d.ts
index 7051bdc..3921a39 100644
--- a/packages/services/apiV2/typings.d.ts
+++ b/packages/services/apiV2/typings.d.ts
@@ -344,8 +344,8 @@
   }
 
   enum EnumTaskCheckReceiveStatus {
-    /**寰呴獙鏀� */
-    Wait = 10,
+    /**寰呮彁浜� */
+    WaitSubmit = 10,
     /**宸查獙鏀� */
     Completed = 30,
   }
@@ -480,6 +480,24 @@
     /** 閿欒鐮� */
     errorCode?: string;
     data?: GetArrangeTaskUsersQueryResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
+  interface FriendlyResultGetCheckReceiveTaskUserInfosQueryResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetCheckReceiveTaskUserInfosQueryResult;
     /** 鎵ц鎴愬姛 */
     success?: boolean;
     /** 閿欒淇℃伅 */
@@ -1245,6 +1263,50 @@
     arrangeStatus?: EnumTaskUserArrangeStatus;
   }
 
+  interface GetCheckReceiveTaskUserInfosQuery {
+    /** 浠诲姟Id */
+    taskInfoId?: string;
+    /** 鍏抽敭瀛� */
+    keywords?: string;
+    /** 楠屾敹鏃ユ湡-鏈�鏃╂椂闂� */
+    dateBegin?: string;
+    /** 楠屾敹鏃ユ湡-鏈�鏅氭椂闂� */
+    dateEnd?: string;
+    checkReceiveStatus?: EnumTaskCheckReceiveStatus;
+    pageModel?: PagedListQueryPageModel;
+  }
+
+  interface GetCheckReceiveTaskUserInfosQueryResult {
+    pageModel?: PagedListQueryResultPageModel;
+    /** 鏁版嵁 */
+    data?: GetCheckReceiveTaskUserInfosQueryResultItem[];
+  }
+
+  interface GetCheckReceiveTaskUserInfosQueryResultItem {
+    /** 浠诲姟Id */
+    id?: string;
+    /** 浠诲姟鍚嶇О */
+    taskName?: string;
+    /** 浠诲姟寮�濮嬫椂闂� */
+    beginTime?: string;
+    /** 浠诲姟缁撴潫鏃堕棿 */
+    endTime?: string;
+    /** 浠诲姟鍦扮偣鍚嶇О */
+    addressName?: string;
+    /** 濮撳悕 */
+    name?: string;
+    /** 韬唤璇佸彿 */
+    identity?: string;
+    gender?: EnumUserGender;
+    /** 骞撮緞 */
+    age?: number;
+    /** 鎵嬫満鍙� */
+    contactPhoneNumber?: string;
+    /** 鎻愪氦鏃堕棿 */
+    lastSubmitTime?: string;
+    checkReceiveStatus?: EnumTaskCheckReceiveStatus;
+  }
+
   type GetCurrentLogierMenusQuery = Record<string, any>;
 
   interface GetDictionaryCategoriesQuery {
@@ -1404,9 +1466,24 @@
     age?: number;
     /** 鎵嬫満鍙� */
     contactPhoneNumber?: string;
-    hireStatus?: EnumTaskUserHireStatus;
-    /** 瀹炲悕鐘舵�� */
+    /** 鏄惁瀹炲悕 */
     userIsReal?: boolean;
+    realMethod?: EnumUserRealMethod;
+    /** 韬唤缂栧彿 */
+    personalIdentityCode?: string;
+    /** 韬唤 */
+    personalIdentityContent?: string;
+    /** 瀛﹀巻缂栧彿 */
+    educationalBackgroundCode?: string;
+    /** 瀛﹀巻 */
+    educationalBackgroundContent?: string;
+    /** 涓婂矖娆℃暟 */
+    taskCount?: number;
+    /** 宸ヤ綔璧勫巻 */
+    workSeniority?: string;
+    /** 宸ヤ綔缁忛獙 */
+    workExperience?: string;
+    hireStatus?: EnumTaskUserHireStatus;
     userSignContractStatus?: EnumTaskUserSignContractStatus;
     /** 褰曠敤鏃堕棿 */
     hireTime?: string;
@@ -1913,6 +1990,15 @@
     status?: EnumTaskStatus;
     releaseStatus?: EnumTaskReleaseStatus;
     hireStatus?: EnumTaskUserHireStatus;
+    applyButton?: GetTaskInfoQueryResultApplyButton;
+    hireButton?: GetTaskInfoQueryResultHireButton;
+  }
+
+  enum GetTaskInfoQueryResultApplyButton {
+    /**寰呯‘璁� */
+    WaitHire = 10,
+    /**鍘荤绾� */
+    WaitSignContract = 20,
   }
 
   interface GetTaskInfoQueryResultBenefit {
@@ -1929,6 +2015,15 @@
     typeCode?: string;
     /** 璇佷功绫诲瀷 */
     typeContent?: string;
+  }
+
+  enum GetTaskInfoQueryResultHireButton {
+    /**鐢宠楠屾敹 */
+    ApplyCheckReceive = 1,
+    /**杩涜涓� */
+    InProcess = 10,
+    /**宸插畬鎴� */
+    Completed = 20,
   }
 
   interface GetTaskInfosQuery {
@@ -2021,6 +2116,9 @@
   interface GetTaskUsersQuery {
     /** 浠诲姟Id */
     id?: string;
+    /** 鍏抽敭瀛� */
+    keywords?: string;
+    hireStatus?: EnumTaskUserHireStatus;
     pageModel?: PagedListQueryPageModel;
   }
 
@@ -2680,9 +2778,9 @@
     /** 姘镐箙璇佷功 */
     isForever?: boolean;
     /** 寮�濮嬫棩鏈� */
-    startDate: string;
+    startDate?: string;
     /** 缁撴潫鏃ユ湡 */
-    endDate: string;
+    endDate?: string;
     /** 鍙戣瘉鍗曚綅 */
     issueUnit?: string;
     /** 璇佷功姝i潰鐓х墖 */
diff --git a/packages/services/apiV2/userResume.ts b/packages/services/apiV2/userResume.ts
index e708586..7b9b8d6 100644
--- a/packages/services/apiV2/userResume.ts
+++ b/packages/services/apiV2/userResume.ts
@@ -127,7 +127,7 @@
   );
 }
 
-/** 鏌ヨ鐏靛伐鍒嗛〉鍒楄〃鏁版嵁 POST /api/user/userResume/getUserResumes */
+/** 鏌ヨ绠�鍘嗗垎椤靛垪琛ㄦ暟鎹� POST /api/user/userResume/getUserResumes */
 export async function getUserResumes(body: API.GetUserResumesQuery, options?: API.RequestConfig) {
   return request<API.GetUserResumesQueryResult>('/api/user/userResume/getUserResumes', {
     method: 'POST',

--
Gitblit v1.9.1