From 92b51e47eb0e53e1e8e13aa0f9135603e1bb03a0 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期日, 19 十月 2025 14:38:36 +0800 Subject: [PATCH] fix: 验收管理 --- apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue | 61 ++++++++++++++++++++++-------- 1 files changed, 45 insertions(+), 16 deletions(-) diff --git a/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue index f9e1391..09dd67b 100644 --- a/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue +++ b/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue @@ -19,9 +19,13 @@ :name="item.name" :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="checkReceiveTask" /> </template> </InfiniteLoading> @@ -34,9 +38,10 @@ import { useInfiniteLoading } from '@12333/hooks'; import TaskCheckCard from '../components/TaskCheckCard.vue'; import { MyTaskCard } from '@12333/components'; -import { EnumTaskCheckReceiveStatus } from '@12333/constants'; -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,9 +66,11 @@ checkReceiveStatus: checkReceiveStatus, }; - return taskCheckReceiveServices.getCheckReceiveTask(params, { + let res = await taskCheckReceiveServices.getCheckReceiveTask(params, { showLoading: false, }); + detail.value = res.objectData; + return res; }, { queryKey: ['taskCheckReceiveServices/getCheckReceiveTask'], @@ -69,18 +78,38 @@ ); function goTaskDetail(item: API.GetCheckReceiveTaskQueryResultItem) { - if (item.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed) { - Taro.navigateTo({ - url: `${RouterPath.taskCheckedDetail}?id=${item.id}`, - }); + 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}`, + }); + } } - if ( - item.checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitCheckReceive || - item.checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitSubmit - ) { - Taro.navigateTo({ - url: `${RouterPath.taskHandleCheckDetail}?id=${item.id}&date=${date}`, - }); - } +} + +async function checkReceiveTask(ev: CheckInOrOutEventEnum) { + try { + let params: API.CheckReceiveTaskCommand = { + id: id, + }; + 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