|  |  | 
 |  |  | <template> | 
 |  |  |   <Calendar v-model="queryState.date"></Calendar> | 
 |  |  |   <Calendar key="calendar" v-model="queryState.date"></Calendar> | 
 |  |  |   <ProTabs | 
 |  |  |     v-model="queryState.status" | 
 |  |  |     v-model="queryState.checkReceiveStatus" | 
 |  |  |     name="task-tab" | 
 |  |  |     :showPaneContent="false" | 
 |  |  |     class="task-tabs" | 
 |  |  | 
 |  |  |     title-gutter="8" | 
 |  |  |     title-scroll | 
 |  |  |   > | 
 |  |  |     <ProTabPane :title="`待验收`" :pane-key="10"></ProTabPane> | 
 |  |  |     <ProTabPane :title="`已验收`" :pane-key="20"></ProTabPane> | 
 |  |  |     <ProTabPane :title="`待提交`" :pane-key="EnumTaskCheckReceiveStatus.WaitSubmit"></ProTabPane> | 
 |  |  |     <ProTabPane | 
 |  |  |       :title="`待验收`" | 
 |  |  |       :pane-key="EnumTaskCheckReceiveStatus.WaitCheckReceive" | 
 |  |  |     ></ProTabPane> | 
 |  |  |     <ProTabPane :title="`已验收`" :pane-key="EnumTaskCheckReceiveStatus.Completed"></ProTabPane> | 
 |  |  |   </ProTabs> | 
 |  |  |   <InfiniteLoading | 
 |  |  |     scrollViewClassName="common-infinite-scroll-list" | 
 |  |  |     v-bind="infiniteLoadingProps" | 
 |  |  |     :key="queryState.status" | 
 |  |  |   > | 
 |  |  |     <template #renderItem="{ item }"> | 
 |  |  |       <MyTaskCard @click="goSubmitTaskDetail(item)" /> | 
 |  |  |     </template> | 
 |  |  |   </InfiniteLoading> | 
 |  |  |   <div class="task-list-container"> | 
 |  |  |     <InfiniteLoading | 
 |  |  |       scrollViewClassName="common-infinite-scroll-list" | 
 |  |  |       v-bind="infiniteLoadingProps" | 
 |  |  |       :key="queryState.checkReceiveStatus" | 
 |  |  |     > | 
 |  |  |       <template #renderItem="{ item }"> | 
 |  |  |         <MyTaskCard | 
 |  |  |           :name="item.name" | 
 |  |  |           :beginTime="item.beginTime" | 
 |  |  |           :endTime="item.endTime" | 
 |  |  |           :addressName="item.addressName" | 
 |  |  |           @click="goSubmitTaskDetail(item)" | 
 |  |  |         /> | 
 |  |  |       </template> | 
 |  |  |     </InfiniteLoading> | 
 |  |  |   </div> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | <script setup lang="ts"> | 
 |  |  | import { MyTaskCard, ProTabs, ProTabPane, Calendar } from '@12333/components'; | 
 |  |  | import Taro from '@tarojs/taro'; | 
 |  |  | import { useInfiniteLoading } from '@12333/hooks'; | 
 |  |  | import { OrderInputType } from '@12333/constants'; | 
 |  |  | import * as orderServices from '@12333/services/api/Order'; | 
 |  |  | import { EnumTaskCheckReceiveStatus, EnumTaskCheckReceiveMethod } from '@12333/constants'; | 
 |  |  | import { useCheckReceiveTasks } from '@12333/hooks'; | 
 |  |  | import dayjs from 'dayjs'; | 
 |  |  |  | 
 |  |  | defineOptions({ | 
 |  |  |   name: 'InnerPage', | 
 |  |  | }); | 
 |  |  |  | 
 |  |  | const queryState = reactive({ | 
 |  |  |   status: 10, | 
 |  |  |   date: new Date(), | 
 |  |  | }); | 
 |  |  | const { queryState, infiniteLoadingProps } = useCheckReceiveTasks(); | 
 |  |  |  | 
 |  |  | const { infiniteLoadingProps } = useInfiniteLoading( | 
 |  |  |   ({ pageParam }) => { | 
 |  |  |     let params: API.FrontOrderListInput = { | 
 |  |  |       pageModel: { | 
 |  |  |         rows: 20, | 
 |  |  |         page: pageParam, | 
 |  |  |         orderInput: [{ property: 'lastShelfTime', order: OrderInputType.Desc }], | 
 |  |  |       }, | 
 |  |  |     }; | 
 |  |  |  | 
 |  |  |     return orderServices.getFrontOrderList(params, { | 
 |  |  |       showLoading: false, | 
 |  |  | function goSubmitTaskDetail(item: API.GetCheckReceiveTasksQueryResultItem) { | 
 |  |  |   if ( | 
 |  |  |     item.checkReceiveMethod === EnumTaskCheckReceiveMethod.CheckIn && | 
 |  |  |     dayjs(queryState.date).isBefore(dayjs(), 'day') | 
 |  |  |   ) { | 
 |  |  |     Taro.navigateTo({ | 
 |  |  |       url: `${RouterPath.taskUserSubmitCheckHistories}?id=${item.id}&date=${dayjs( | 
 |  |  |         queryState.date | 
 |  |  |       ).format('YYYY-MM-DD')}`, | 
 |  |  |     }); | 
 |  |  |   }, | 
 |  |  |   { | 
 |  |  |     queryKey: ['orderServices/getFrontOrderList', queryState], | 
 |  |  |   } else { | 
 |  |  |     Taro.navigateTo({ | 
 |  |  |       url: `${RouterPath.taskCheckDetail}?id=${item.id}&date=${dayjs(queryState.date).format( | 
 |  |  |         'YYYY-MM-DD' | 
 |  |  |       )}&checkReceiveStatus=${queryState.checkReceiveStatus}`, | 
 |  |  |     }); | 
 |  |  |   } | 
 |  |  | ); | 
 |  |  |  | 
 |  |  | function goSubmitTaskDetail(item: API.FrontOrderList) { | 
 |  |  |   Taro.navigateTo({ | 
 |  |  |     url: `${RouterPath.taskCheckDetail}?id=${item.id}`, | 
 |  |  |   }); | 
 |  |  | } | 
 |  |  | </script> | 
 |  |  |  | 
 |  |  | <style lang="scss"> | 
 |  |  | @import '@/styles/common.scss'; | 
 |  |  |  | 
 |  |  | .taskCheck-page-wrapper { | 
 |  |  |   .task-list-container { | 
 |  |  |     flex: 1; | 
 |  |  |     min-height: 0; | 
 |  |  |     display: flex; | 
 |  |  |     flex-direction: column; | 
 |  |  |   } | 
 |  |  | } | 
 |  |  | </style> |