| | |
| | | :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="(ev) => checkReceiveTask(ev, item.id)" |
| | | /> |
| | | </template> |
| | | </InfiniteLoading> |
| | |
| | | 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', |
| | |
| | | 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, |
| | |
| | | checkReceiveStatus: checkReceiveStatus, |
| | | }; |
| | | |
| | | return taskCheckReceiveServices.getCheckReceiveTask(params, { |
| | | let res = await taskCheckReceiveServices.getCheckReceiveTask(params, { |
| | | showLoading: false, |
| | | }); |
| | | detail.value = res.objectData; |
| | | return res; |
| | | }, |
| | | { |
| | | queryKey: ['taskCheckReceiveServices/getCheckReceiveTask'], |
| | |
| | | ); |
| | | |
| | | 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, 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> |