From fb243f3345c6f3ed7e7c8c2d98c39b5afc782b9a Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期一, 20 十月 2025 10:24:40 +0800 Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp --- apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue | 115 +++++++++++++++++++++++++++++++++------------------------ 1 files changed, 66 insertions(+), 49 deletions(-) diff --git a/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue index 5728029..d7cc662 100644 --- a/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue +++ b/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue @@ -1,9 +1,9 @@ <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> @@ -12,17 +12,20 @@ <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" + :checkInTime="item.checkInTime" + :checkOutTime="item.checkOutTime" + :contactPhoneNumber="item.contactPhoneNumber" + :checkReceiveStatus="item.checkReceiveStatus" + :checkReceiveMethod="detail?.checkReceiveMethod" + @checkReceive="goTaskDetail(item)" + @checkInOrOut="(ev) => checkReceiveTask(ev, item.id)" /> </template> </InfiniteLoading> @@ -31,69 +34,83 @@ <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 { setOSSLink } from '@12333/utils'; +import { EnumTaskCheckReceiveMethod, EnumTaskCheckReceiveStatus } from '@12333/constants'; +import { Message, setOSSLink } from '@12333/utils'; +import dayjs from 'dayjs'; +import { CheckInOrOutEventEnum } from '../constants'; defineOptions({ name: 'InnerPage', }); const router = Taro.useRouter(); -const taskId = router.params?.taskId ?? ''; +const id = router.params?.id ?? ''; +const date = router.params?.date ?? ''; +const checkReceiveStatus = Number(router.params?.checkReceiveStatus); -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 detail = ref<API.GetCheckReceiveTasksQueryResultItem>(); const { infiniteLoadingProps } = useInfiniteLoading( - ({ pageParam }) => { - let params: API.GetFlexTaskWorkerCheckListInput = { + async ({ pageParam }) => { + 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, { + let res = await taskCheckReceiveServices.getCheckReceiveTask(params, { showLoading: false, }); + detail.value = res.objectData; + return res; }, { - queryKey: ['flexWorkerServices/getFlexTaskWorkerCheckList', queryState], + queryKey: ['taskCheckReceiveServices/getCheckReceiveTask'], } ); -function goHandleTaskDetail(item: API.GetNewestWorkerListOutput) { - Taro.navigateTo({ - url: `${RouterPath.taskHandleCheckDetail}?userId=${item.userId}&taskId=${taskId}`, - }); +function goTaskDetail(item: API.GetCheckReceiveTaskQueryResultItem) { + if (detail.value.checkReceiveMethod !== EnumTaskCheckReceiveMethod.CheckIn) { + 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}`, + }); + } + } +} + +async function checkReceiveTask(ev: CheckInOrOutEventEnum, taskInfoUserId: string) { + try { + let params: API.CheckReceiveTaskCommand = { + taskInfoUserId: taskInfoUserId, + date: dayjs(date).format('YYYY-MM-DD'), + }; + if (ev === CheckInOrOutEventEnum.CheckIn) { + params.checkInTime = dayjs().format('YYYY-MM-DD HH:mm:ss'); + } else if (ev === CheckInOrOutEventEnum.CheckOut) { + params.checkOutTime = dayjs().format('YYYY-MM-DD HH:mm:ss'); + } + let res = await taskCheckReceiveServices.checkReceiveTask(params); + if (res) { + Message.success('鎻愪氦鎴愬姛'); + infiniteLoadingProps.value?.refetch?.(); + } + } catch (error) {} } </script> -- Gitblit v1.9.1