<template> 
 | 
  <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch"> 
 | 
    <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" 
 | 
      :shoeSize="userResumeInfo.shoeSize" 
 | 
      :videos="userResumeInfo.videos" 
 | 
      :taskInfoUsers="userResumeInfo.taskInfoUsers" 
 | 
      :isCollapse="true" 
 | 
    > 
 | 
      <template #footer> 
 | 
        <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> 
 | 
</template> 
 | 
  
 | 
<script setup lang="ts"> 
 | 
import Taro from '@tarojs/taro'; 
 | 
import { useQuery } from '@tanstack/vue-query'; 
 | 
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 enterpriseEmployeeId = router.params?.enterpriseEmployeeId ?? ''; 
 | 
const id = router.params?.id ?? ''; 
 | 
const taskInfoId = router.params?.taskInfoId ?? ''; 
 | 
  
 | 
const { isLoading, isError, userResumeInfo, refetch } = useUserResume({ 
 | 
  enterpriseEmployeeId: enterpriseEmployeeId, 
 | 
}); 
 | 
  
 | 
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> 
 |