<template> 
 | 
  <ProTabs 
 | 
    v-model="queryState.userSignContractStatus" 
 | 
    name="home-tab" 
 | 
    :showPaneContent="false" 
 | 
    class="home-tabs" 
 | 
    isTransparent 
 | 
    title-gutter="12" 
 | 
    title-scroll 
 | 
  > 
 | 
    <ProTabPane :title="`全部`" :pane-key="0"></ProTabPane> 
 | 
    <ProTabPane :title="`待签约`" :pane-key="EnumTaskUserSignContractStatus.Wait"></ProTabPane> 
 | 
    <ProTabPane :title="`生效中`" :pane-key="EnumTaskUserSignContractStatus.Pass"></ProTabPane> 
 | 
    <ProTabPane :title="`已终止`" :pane-key="EnumTaskUserSignContractStatus.Stop"></ProTabPane> 
 | 
  </ProTabs> 
 | 
  <InfiniteLoading 
 | 
    scrollViewClassName="common-infinite-scroll-list home-list" 
 | 
    v-bind="infiniteLoadingProps" 
 | 
    :key="queryState.userSignContractStatus" 
 | 
  > 
 | 
    <template #renderItem="{ item }"> 
 | 
      <MineAgreementSignCard 
 | 
        :enterpriseName="item.enterpriseName" 
 | 
        :userSignContractStatus="item.userSignContractStatus" 
 | 
        @click="goDetail(item)" 
 | 
      > 
 | 
      </MineAgreementSignCard> 
 | 
    </template> 
 | 
  </InfiniteLoading> 
 | 
</template> 
 | 
  
 | 
<script setup lang="ts"> 
 | 
import { MineAgreementSignCard, ProTabs, ProTabPane } from '@12333/components'; 
 | 
import { useUserStore } from '@/stores/modules/user'; 
 | 
import { useInfiniteLoading } from '@12333/hooks'; 
 | 
import { EnumPagedListOrder, EnumTaskUserSignContractStatus } from '@12333/constants'; 
 | 
import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee'; 
 | 
import Taro from '@tarojs/taro'; 
 | 
  
 | 
defineOptions({ 
 | 
  name: 'InnerPage', 
 | 
}); 
 | 
  
 | 
const queryState = reactive({ 
 | 
  userSignContractStatus: 0 as any as EnumTaskUserSignContractStatus, 
 | 
}); 
 | 
  
 | 
const userStore = useUserStore(); 
 | 
  
 | 
const { infiniteLoadingProps } = useInfiniteLoading( 
 | 
  ({ pageParam }) => { 
 | 
    let params: API.GetPersonalUserElectronSignsQuery = { 
 | 
      pageModel: { 
 | 
        rows: 20, 
 | 
        page: pageParam, 
 | 
        orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], 
 | 
      }, 
 | 
      userSignContractStatus: Number(queryState.userSignContractStatus) 
 | 
        ? queryState.userSignContractStatus 
 | 
        : null, 
 | 
    }; 
 | 
  
 | 
    return enterpriseEmployeeServices.getPersonalUserElectronSigns(params, { 
 | 
      showLoading: false, 
 | 
    }); 
 | 
  }, 
 | 
  { 
 | 
    queryKey: ['enterpriseEmployeeServices/getPersonalUserElectronSigns', queryState], 
 | 
  } 
 | 
); 
 | 
  
 | 
function goDetail(row: API.GetPersonalUserElectronSignsQueryResultItem) { 
 | 
  Taro.navigateTo({ 
 | 
    url: `${RouterPath.mineAgreementSignDetail}?id=${row.id}`, 
 | 
  }); 
 | 
} 
 | 
</script> 
 | 
  
 | 
<style lang="scss"> 
 | 
@import '@/styles/common.scss'; 
 | 
  
 | 
// .mineAgreementSign-page-wrapper { 
 | 
// 
 | 
// } 
 | 
</style> 
 |