zhengyiming
3 天以前 072fdc83afe858a48908bdc72c56e26516de8da8
apps/bMiniApp/src/subpackages/flexJob/flexJobDetailFromTask/InnerPage.vue
@@ -1,9 +1,45 @@
<template>
  <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch">
    <JobDetailContent :isCollapse="true">
    <JobDetailContent
      :avatar="userResumeInfo.avatar"
      :name="userResumeInfo.name"
      :age="userResumeInfo.age"
      :isReal="userResumeInfo.isReal"
      :gender="userResumeInfo.gender"
      :personalIdentityContent="userResumeInfo.personalIdentityContent"
      :educationalBackgroundContent="userResumeInfo.educationalBackgroundContent"
      :taskCount="userResumeInfo.taskCount"
      :contactPhoneNumber="userResumeInfo.contactPhoneNumber"
      :identity="userResumeInfo.identity"
      :userExpectJobs="userResumeInfo.userExpectJobs"
      :freeTime="userResumeInfo.freeTime"
      :jobSeekingStatus="userResumeInfo.jobSeekingStatus"
      :userCredentials="userResumeInfo.userCredentials"
      :workSeniority="userResumeInfo.workSeniority"
      :workExperience="userResumeInfo.workExperience"
      :photos="userResumeInfo.photos"
      :height="userResumeInfo.height"
      :weight="userResumeInfo.weight"
      :taskInfoUsers="userResumeInfo.taskInfoUsers"
      :isCollapse="true"
    >
      <template #footer>
        <PageFooterBtn type="primary" plain>谢绝</PageFooterBtn>
        <PageFooterBtn type="primary">录用</PageFooterBtn>
        <PageFooterBtn
          type="primary"
          plain
          @click="setTaskUserHire(EnumTaskUserHireStatus.Refuse)"
          v-if="taskUserHireStatusResult.hireStatus === EnumTaskUserHireStatus.Wait"
          >谢绝</PageFooterBtn
        >
        <PageFooterBtn
          type="primary"
          @click="setTaskUserHire(EnumTaskUserHireStatus.Pass)"
          v-if="
            taskUserHireStatusResult.hireStatus === EnumTaskUserHireStatus.Wait ||
            taskUserHireStatusResult.hireStatus === EnumTaskUserHireStatus.Refuse
          "
          >录用</PageFooterBtn
        >
      </template>
    </JobDetailContent>
  </LoadingLayout>
@@ -12,34 +48,50 @@
<script setup lang="ts">
import Taro from '@tarojs/taro';
import { useQuery } from '@tanstack/vue-query';
import * as orderServices from '@12333/services/api/Order';
import * as taskUserServices from '@12333/services/apiV2/taskUser';
import { Message } from '@12333/utils';
import { useUserResume } from '@12333/hooks';
import { EnumTaskUserHireStatus } from '@12333/constants';
defineOptions({
  name: 'InnerPage',
});
const router = Taro.useRouter();
const taskId = router.params?.id ?? '';
const enterpriseEmployeeId = router.params?.enterpriseEmployeeId ?? '';
const id = router.params?.id ?? '';
const taskInfoId = router.params?.taskInfoId ?? '';
const {
  isLoading,
  isError,
  data: detail,
  refetch,
} = useQuery({
  queryKey: ['orderServices/getOrdeForDetail', taskId],
  queryFn: async () => {
    return await orderServices.getOrdeForDetail(
      { id: taskId },
      {
        showLoading: false,
      }
    );
  },
  placeholderData: () => ({} as API.OrderInfoDto),
const { isLoading, isError, userResumeInfo, refetch } = useUserResume({
  enterpriseEmployeeId: enterpriseEmployeeId,
});
</script>
<style lang="scss">
@import '@/styles/common.scss';
</style>
const { data: taskUserHireStatusResult, refetch: taskUserHireStatusRefetch } = useQuery({
  queryKey: ['taskUserServices/getTaskUserHireStatus', taskInfoId, userResumeInfo.value.id],
  queryFn: () => {
    let params: API.APIgetTaskUserHireStatusParams = {
      taskInfoId: taskInfoId,
      userId: userResumeInfo.value.id,
    };
    return taskUserServices.getTaskUserHireStatus(params, { showLoading: false });
  },
  enabled: computed(() => !!userResumeInfo.value.id && !!taskInfoId),
  placeholderData: () => ({} as API.GetTaskUserHireStatusQueryResult),
});
async function setTaskUserHire(hireStatus: EnumTaskUserHireStatus) {
  try {
    let params: API.SetTaskUserHireCommand = {
      id: id,
      hireStatus: hireStatus,
    };
    let res = await taskUserServices.setTaskUserHire(params);
    if (res) {
      Message.success('操作成功');
      taskUserHireStatusRefetch({
        type: 'inactive',
      });
    }
  } catch (error) {}
}
</script>