<template> 
 | 
  <Calendar key="calendar" v-model="queryState.date"></Calendar> 
 | 
  <ProTabs 
 | 
    v-model="queryState.checkReceiveStatus" 
 | 
    name="task-tab" 
 | 
    :showPaneContent="false" 
 | 
    class="task-tabs" 
 | 
    isTransparent 
 | 
    title-gutter="8" 
 | 
    title-scroll 
 | 
  > 
 | 
    <ProTabPane :title="`待提交`" :pane-key="EnumTaskCheckReceiveStatus.WaitSubmit"></ProTabPane> 
 | 
    <ProTabPane 
 | 
      :title="`待验收`" 
 | 
      :pane-key="EnumTaskCheckReceiveStatus.WaitCheckReceive" 
 | 
    ></ProTabPane> 
 | 
    <ProTabPane :title="`已验收`" :pane-key="EnumTaskCheckReceiveStatus.Completed"></ProTabPane> 
 | 
  </ProTabs> 
 | 
  <div class="task-list-container"> 
 | 
    <InfiniteLoading 
 | 
      scrollViewClassName="common-infinite-scroll-list task-list" 
 | 
      v-bind="infiniteLoadingProps" 
 | 
      :key="queryState.checkReceiveStatus" 
 | 
    > 
 | 
      <template #renderItem="{ item }"> 
 | 
        <MyTaskCard 
 | 
          :name="item.name" 
 | 
          :addressName="item.addressName" 
 | 
          :begin-time="item.beginTime" 
 | 
          :end-time="item.endTime" 
 | 
          @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 { useCheckReceiveTasks, useTaskList } from '@12333/hooks'; 
 | 
import { EnumTaskCheckReceiveStatus } from '@12333/constants'; 
 | 
  
 | 
defineOptions({ 
 | 
  name: 'InnerPage', 
 | 
}); 
 | 
  
 | 
const { queryState, infiniteLoadingProps } = useCheckReceiveTasks(); 
 | 
  
 | 
function goSubmitTaskDetail(item: API.GetCheckReceiveTasksQueryResultItem) { 
 | 
  if (Number(queryState.checkReceiveStatus) === EnumTaskCheckReceiveStatus.WaitSubmit) { 
 | 
    Taro.navigateTo({ 
 | 
      url: `${RouterPath.taskSubmitCheck}?id=${item.id}&date=${queryState.date}`, 
 | 
    }); 
 | 
  } 
 | 
  if ( 
 | 
    Number(queryState.checkReceiveStatus) === EnumTaskCheckReceiveStatus.WaitCheckReceive || 
 | 
    Number(queryState.checkReceiveStatus) === EnumTaskCheckReceiveStatus.Completed 
 | 
  ) { 
 | 
    Taro.navigateTo({ 
 | 
      url: `${RouterPath.taskCheckDetail}?id=${item.id}`, 
 | 
    }); 
 | 
  } 
 | 
} 
 | 
</script> 
 | 
  
 | 
<style lang="scss"> 
 | 
@import '@/styles/common.scss'; 
 | 
  
 | 
.task-page-wrapper { 
 | 
  .task-list-container { 
 | 
    flex: 1; 
 | 
    min-height: 0; 
 | 
    display: flex; 
 | 
    flex-direction: column; 
 | 
  } 
 | 
  
 | 
  .task-list { 
 | 
    @include infiniteLoadingInTabBarPage; 
 | 
  } 
 | 
} 
 | 
</style> 
 |