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 | 60 +++++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 47 insertions(+), 13 deletions(-) diff --git a/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue index dc40cd9..d7cc662 100644 --- a/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue +++ b/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue @@ -19,10 +19,13 @@ :name="item.name" :gender="item.gender" :isReal="item.isReal" + :checkInTime="item.checkInTime" + :checkOutTime="item.checkOutTime" :contactPhoneNumber="item.contactPhoneNumber" :checkReceiveStatus="item.checkReceiveStatus" - @checkReceive="goHandleTaskDetail(item)" - @taskChecked="goTaskCheckedDetail(item)" + :checkReceiveMethod="detail?.checkReceiveMethod" + @checkReceive="goTaskDetail(item)" + @checkInOrOut="(ev) => checkReceiveTask(ev, item.id)" /> </template> </InfiniteLoading> @@ -35,8 +38,10 @@ import { useInfiniteLoading } from '@12333/hooks'; 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', @@ -47,8 +52,10 @@ const date = router.params?.date ?? ''; const checkReceiveStatus = Number(router.params?.checkReceiveStatus); +const detail = ref<API.GetCheckReceiveTasksQueryResultItem>(); + const { infiniteLoadingProps } = useInfiniteLoading( - ({ pageParam }) => { + async ({ pageParam }) => { let params: API.GetCheckReceiveTaskQuery = { pageModel: { rows: 20, @@ -59,24 +66,51 @@ checkReceiveStatus: checkReceiveStatus, }; - return taskCheckReceiveServices.getCheckReceiveTask(params, { + let res = await taskCheckReceiveServices.getCheckReceiveTask(params, { showLoading: false, }); + detail.value = res.objectData; + return res; }, { queryKey: ['taskCheckReceiveServices/getCheckReceiveTask'], } ); -function goHandleTaskDetail(item: API.GetCheckReceiveTaskQueryResultItem) { - Taro.navigateTo({ - url: `${RouterPath.taskHandleCheckDetail}?id=${item.id}&date=${date}`, - }); +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}`, + }); + } + } } -function goTaskCheckedDetail(item: API.GetCheckReceiveTaskQueryResultItem) { - Taro.navigateTo({ - url: `${RouterPath.taskCheckedDetail}?id=${item.id}`, - }); +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