From aebf1603cd6df5341160ffe23c715919bf14c4a7 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期一, 25 八月 2025 17:06:47 +0800
Subject: [PATCH] feat: 签约

---
 apps/bMiniApp/src/subpackages/flexJobManage/flexJobDetailFromManage/InnerPage.vue |   26 ++++++++++++++++++++++----
 packages/hooks/user.ts                                                            |   30 ++++++++++++++++++++++++++++++
 packages/services/apiV2/typings.d.ts                                              |    1 +
 3 files changed, 53 insertions(+), 4 deletions(-)

diff --git a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobDetailFromManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobDetailFromManage/InnerPage.vue
index 0ef1f73..c8e03d3 100644
--- a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobDetailFromManage/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobDetailFromManage/InnerPage.vue
@@ -24,8 +24,22 @@
       :isCollapse="true"
     >
       <template #footer>
-        <PageFooterBtn v-if="userResumeInfo" type="primary" plain>瑙g害</PageFooterBtn>
-        <PageFooterBtn type="primary" @click="goToSign">绛剧害</PageFooterBtn>
+        <PageFooterBtn
+          v-if="
+            enterpriseEmployeeInfo.userSignContractStatus === EnumTaskUserSignContractStatus.Pass
+          "
+          type="primary"
+          plain
+          >瑙g害</PageFooterBtn
+        >
+        <PageFooterBtn
+          type="primary"
+          @click="goToSign"
+          v-if="
+            enterpriseEmployeeInfo.userSignContractStatus === EnumTaskUserSignContractStatus.Wait
+          "
+          >绛剧害</PageFooterBtn
+        >
       </template>
     </JobDetailContent>
   </LoadingLayout>
@@ -33,8 +47,8 @@
 
 <script setup lang="ts">
 import Taro from '@tarojs/taro';
-import { useQuery } from '@tanstack/vue-query';
-import { useUserResume } from '@12333/hooks';
+import { EnumTaskUserSignContractStatus } from '@12333/constants';
+import { useGetEnterpriseEmployee, useUserResume } from '@12333/hooks';
 
 defineOptions({
   name: 'InnerPage',
@@ -47,6 +61,10 @@
   enterpriseEmployeeId: enterpriseEmployeeId,
 });
 
+const { enterpriseEmployeeInfo } = useGetEnterpriseEmployee({
+  id: enterpriseEmployeeId,
+});
+
 function goToSign() {
   Taro.navigateTo({
     url: `${RouterPath.flexJobSign}?enterpriseEmployeeId=${enterpriseEmployeeId}`,
diff --git a/packages/hooks/user.ts b/packages/hooks/user.ts
index 190eaf1..1c703a5 100644
--- a/packages/hooks/user.ts
+++ b/packages/hooks/user.ts
@@ -1,5 +1,6 @@
 import { MaybeRef, computed, unref } from 'vue';
 import * as userResumeServices from '@12333/services/apiV2/userResume';
+import * as enterpriseEmployeeServices from '@12333//services/apiV2/enterpriseEmployee';
 import { useQuery, useQueryClient } from '@tanstack/vue-query';
 
 type UseUserResumeOptions = {
@@ -52,3 +53,32 @@
     updateUserResume,
   };
 }
+
+type UseGetEnterpriseEmployeeOptions = {
+  id?: MaybeRef<string>;
+};
+
+export function useGetEnterpriseEmployee(options: UseGetEnterpriseEmployeeOptions = {}) {
+  const { id } = options;
+
+  const { data, refetch, isLoading, isError } = useQuery({
+    queryKey: ['enterpriseEmployeeServices/getEnterpriseEmployee', id],
+    queryFn: async () => {
+      return await enterpriseEmployeeServices.getEnterpriseEmployee(
+        { id: unref(id) },
+        {
+          showLoading: false,
+        }
+      );
+    },
+    placeholderData: () => ({} as API.GetEnterpriseEmployeeQueryResult),
+    enabled: computed(() => !!unref(id)),
+  });
+
+  return {
+    enterpriseEmployeeInfo: data,
+    refetch,
+    isLoading,
+    isError,
+  };
+}
diff --git a/packages/services/apiV2/typings.d.ts b/packages/services/apiV2/typings.d.ts
index 2884491..0b8e9b4 100644
--- a/packages/services/apiV2/typings.d.ts
+++ b/packages/services/apiV2/typings.d.ts
@@ -2593,6 +2593,7 @@
     enterpriseSignContractTime?: string;
     /** 鐢靛瓙鍚堝悓 */
     contractUrl?: string;
+    userSignContractStatus?: EnumTaskUserSignContractStatus;
   }
 
   interface GetEnterpriseEmployeesQuery {

--
Gitblit v1.9.1