|  |  | 
 |  |  | <template> | 
 |  |  |   <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch"> | 
 |  |  |   <LoadingLayout> | 
 |  |  |     <ContentView> | 
 |  |  |       <MyTaskCard | 
 |  |  |         :task-name="detail.taskName" | 
 |  |  |         :address="address" | 
 |  |  |         :name="infiniteLoadingProps?.listData?.pages?.[0]?.objectData?.name" | 
 |  |  |         :addressName="infiniteLoadingProps?.listData?.pages?.[0]?.objectData?.addressName" | 
 |  |  |         :showMyTaskArrow="false" | 
 |  |  |         :showTime="false" | 
 |  |  |       ></MyTaskCard> | 
 |  |  | 
 |  |  |     <InfiniteLoading | 
 |  |  |       scrollViewClassName="common-infinite-scroll-list" | 
 |  |  |       v-bind="infiniteLoadingProps" | 
 |  |  |       :key="queryState.status" | 
 |  |  |     > | 
 |  |  |       <template #renderItem="{ item }"> | 
 |  |  |         <TaskCheckCard | 
 |  |  |           :avatarUrl="setOSSLink(item.avatarUrl)" | 
 |  |  |           :avatar="setOSSLink(item.avatar)" | 
 |  |  |           :name="item.name" | 
 |  |  |           :genderType="item.genderType" | 
 |  |  |           :isRealName="item.isRealName" | 
 |  |  |           :contactPhone="item.contactPhone" | 
 |  |  |           :checkAcceptStatus="item.checkAcceptStatus" | 
 |  |  |           @click="goHandleTaskDetail(item)" | 
 |  |  |           :gender="item.gender" | 
 |  |  |           :isReal="item.isReal" | 
 |  |  |           :contactPhoneNumber="item.contactPhoneNumber" | 
 |  |  |           :checkReceiveStatus="item.checkReceiveStatus" | 
 |  |  |           @checkReceive="goTaskDetail(item)" | 
 |  |  |         /> | 
 |  |  |       </template> | 
 |  |  |     </InfiniteLoading> | 
 |  |  | 
 |  |  |  | 
 |  |  | <script setup lang="ts"> | 
 |  |  | import Taro from '@tarojs/taro'; | 
 |  |  | import { useQuery } from '@tanstack/vue-query'; | 
 |  |  | import * as flexWorkerServices from '@12333/services/api/FlexWorker'; | 
 |  |  | import * as taskCheckReceiveServices from '@12333/services/apiV2/taskCheckReceive'; | 
 |  |  | import { useInfiniteLoading } from '@12333/hooks'; | 
 |  |  | import { OrderInputType } from '@12333/constants'; | 
 |  |  | import TaskCheckCard from '../components/TaskCheckCard.vue'; | 
 |  |  | import { MyTaskCard } from '@12333/components'; | 
 |  |  | import { EnumTaskCheckReceiveStatus } from '@12333/constants'; | 
 |  |  | import { setOSSLink } from '@12333/utils'; | 
 |  |  | import dayjs from 'dayjs'; | 
 |  |  |  | 
 |  |  | defineOptions({ | 
 |  |  |   name: 'InnerPage', | 
 |  |  | }); | 
 |  |  |  | 
 |  |  | const router = Taro.useRouter(); | 
 |  |  | const taskId = router.params?.taskId ?? ''; | 
 |  |  |  | 
 |  |  | const { | 
 |  |  |   isLoading, | 
 |  |  |   isError, | 
 |  |  |   data: detail, | 
 |  |  |   refetch, | 
 |  |  | } = useQuery({ | 
 |  |  |   queryKey: ['flexWorkerServices/getFlexTaskDto', taskId], | 
 |  |  |   queryFn: async () => { | 
 |  |  |     return await flexWorkerServices.getFlexTaskDto( | 
 |  |  |       { id: taskId }, | 
 |  |  |       { | 
 |  |  |         showLoading: false, | 
 |  |  |       } | 
 |  |  |     ); | 
 |  |  |   }, | 
 |  |  |   placeholderData: () => ({} as API.GetFlexTaskDtoOutput), | 
 |  |  | }); | 
 |  |  |  | 
 |  |  | const address = computed(() => { | 
 |  |  |   return `${detail.value.provinceName} ${detail.value.cityName} ${detail.value.areaName} ${detail.value.address}`; | 
 |  |  | }); | 
 |  |  |  | 
 |  |  | const queryState = reactive({ | 
 |  |  |   status: 10, | 
 |  |  | }); | 
 |  |  | const id = router.params?.id ?? ''; | 
 |  |  | const date = router.params?.date ?? ''; | 
 |  |  | const checkReceiveStatus = Number(router.params?.checkReceiveStatus); | 
 |  |  |  | 
 |  |  | const { infiniteLoadingProps } = useInfiniteLoading( | 
 |  |  |   ({ pageParam }) => { | 
 |  |  |     let params: API.GetFlexTaskWorkerCheckListInput = { | 
 |  |  |     let params: API.GetCheckReceiveTaskQuery = { | 
 |  |  |       pageModel: { | 
 |  |  |         rows: 20, | 
 |  |  |         page: pageParam, | 
 |  |  |         orderInput: [{ property: 'lastShelfTime', order: OrderInputType.Desc }], | 
 |  |  |       }, | 
 |  |  |       taskInfoId: id, | 
 |  |  |       date: dayjs(date).format('YYYY-MM-DD'), | 
 |  |  |       checkReceiveStatus: checkReceiveStatus, | 
 |  |  |     }; | 
 |  |  |  | 
 |  |  |     return flexWorkerServices.getFlexTaskWorkerCheckList(params, { | 
 |  |  |     return taskCheckReceiveServices.getCheckReceiveTask(params, { | 
 |  |  |       showLoading: false, | 
 |  |  |     }); | 
 |  |  |   }, | 
 |  |  |   { | 
 |  |  |     queryKey: ['flexWorkerServices/getFlexTaskWorkerCheckList', queryState], | 
 |  |  |     queryKey: ['taskCheckReceiveServices/getCheckReceiveTask'], | 
 |  |  |   } | 
 |  |  | ); | 
 |  |  |  | 
 |  |  | function goHandleTaskDetail(item: API.GetNewestWorkerListOutput) { | 
 |  |  |   Taro.navigateTo({ | 
 |  |  |     url: `${RouterPath.taskHandleCheckDetail}?userId=${item.userId}`, | 
 |  |  |   }); | 
 |  |  | function goTaskDetail(item: API.GetCheckReceiveTaskQueryResultItem) { | 
 |  |  |   if (item.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed) { | 
 |  |  |     Taro.navigateTo({ | 
 |  |  |       url: `${RouterPath.taskCheckedDetail}?id=${item.id}`, | 
 |  |  |     }); | 
 |  |  |   } | 
 |  |  |   if ( | 
 |  |  |     item.checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitCheckReceive || | 
 |  |  |     item.checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitSubmit | 
 |  |  |   ) { | 
 |  |  |     Taro.navigateTo({ | 
 |  |  |       url: `${RouterPath.taskHandleCheckDetail}?id=${item.id}&date=${date}`, | 
 |  |  |     }); | 
 |  |  |   } | 
 |  |  | } | 
 |  |  | </script> |