wupengfei
9 小时以前 aebf1603cd6df5341160ffe23c715919bf14c4a7
feat: 签约
3个文件已修改
57 ■■■■■ 已修改文件
apps/bMiniApp/src/subpackages/flexJobManage/flexJobDetailFromManage/InnerPage.vue 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/hooks/user.ts 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/services/apiV2/typings.d.ts 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/subpackages/flexJobManage/flexJobDetailFromManage/InnerPage.vue
@@ -24,8 +24,22 @@
      :isCollapse="true"
    >
      <template #footer>
        <PageFooterBtn v-if="userResumeInfo" type="primary" plain>解约</PageFooterBtn>
        <PageFooterBtn type="primary" @click="goToSign">签约</PageFooterBtn>
        <PageFooterBtn
          v-if="
            enterpriseEmployeeInfo.userSignContractStatus === EnumTaskUserSignContractStatus.Pass
          "
          type="primary"
          plain
          >解约</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}`,
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,
  };
}
packages/services/apiV2/typings.d.ts
@@ -2593,6 +2593,7 @@
    enterpriseSignContractTime?: string;
    /** 电子合同 */
    contractUrl?: string;
    userSignContractStatus?: EnumTaskUserSignContractStatus;
  }
  interface GetEnterpriseEmployeesQuery {