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