wupengfei
2025-03-11 286f1b727856d6b32a8d237f353ae008f3076deb
apps/bMiniApp/src/subpackages/flexJob/flexJobDetailFromTask/InnerPage.vue
@@ -2,8 +2,15 @@
  <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch">
    <JobDetailContent :isCollapse="true">
      <template #footer>
        <PageFooterBtn type="primary" plain>谢绝</PageFooterBtn>
        <PageFooterBtn type="primary">录用</PageFooterBtn>
        <PageFooterBtn
          type="primary"
          plain
          @click="taskWorkerHireRefuse(FlexTaskWorkerHireEnum.Refused)"
          >谢绝</PageFooterBtn
        >
        <PageFooterBtn type="primary" @click="taskWorkerHireRefuse(FlexTaskWorkerHireEnum.Hired)"
          >录用</PageFooterBtn
        >
      </template>
    </JobDetailContent>
  </LoadingLayout>
@@ -13,6 +20,8 @@
import Taro from '@tarojs/taro';
import { useQuery } from '@tanstack/vue-query';
import * as flexWorkerServices from '@12333/services/api/FlexWorker';
import { Message } from '@12333/utils';
import { FlexTaskWorkerHireEnum } from '@/constants/task';
defineOptions({
  name: 'InnerPage',
@@ -27,17 +36,34 @@
  data: detail,
  refetch,
} = useQuery({
  queryKey: ['flexWorkerServices/getOrdeForDetail', taskId],
  queryKey: ['flexWorkerServices/getFlexTaskDto', taskId],
  queryFn: async () => {
    return await flexWorkerServices.getOrdeForDetail(
    return await flexWorkerServices.getFlexTaskDto(
      { id: taskId },
      {
        showLoading: false,
      }
    );
  },
  placeholderData: () => ({} as API.OrderInfoDto),
  placeholderData: () => ({} as API.GetFlexTaskDtoOutput),
});
async function taskWorkerHireRefuse(hireStatus: FlexTaskWorkerHireEnum) {
  try {
    let params: API.TaskWorkerHireRefuseInput = {
      flexTaskId: taskId,
      flexWorkerId: detail.value?.taskId,
      hireStatus: hireStatus,
    };
    let res = await flexWorkerServices.taskWorkerHireRefuse(params);
    if (res) {
      Message.success('操作成功');
      refetch({
        type: 'inactive',
      });
    }
  } catch (error) {}
}
</script>
<style lang="scss">