|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <ProTabs | 
|---|
|  |  |  | v-model="queryState.userSignContractStatus" | 
|---|
|  |  |  | v-model="queryState.signContractStatus" | 
|---|
|  |  |  | name="home-tab" | 
|---|
|  |  |  | :showPaneContent="false" | 
|---|
|  |  |  | class="home-tabs" | 
|---|
|  |  |  | 
|---|
|  |  |  | title-gutter="12" | 
|---|
|  |  |  | title-scroll | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <ProTabPane :title="`已签约`" :pane-key="EnumTaskUserSignContractStatus.Pass"></ProTabPane> | 
|---|
|  |  |  | <ProTabPane :title="`待签约`" :pane-key="EnumTaskUserSignContractStatus.Wait"></ProTabPane> | 
|---|
|  |  |  | <ProTabPane :title="`已解约`" :pane-key="EnumTaskUserSignContractStatus.Stop"></ProTabPane> | 
|---|
|  |  |  | <ProTabPane | 
|---|
|  |  |  | :title="`灵工待签约`" | 
|---|
|  |  |  | :pane-key="EnumGetEnterpriseEmployeesQuerySignContractStatus.UserWait" | 
|---|
|  |  |  | ></ProTabPane> | 
|---|
|  |  |  | <ProTabPane | 
|---|
|  |  |  | :title="`企业待签约`" | 
|---|
|  |  |  | :pane-key="EnumGetEnterpriseEmployeesQuerySignContractStatus.EnterpriseWait" | 
|---|
|  |  |  | ></ProTabPane> | 
|---|
|  |  |  | <ProTabPane | 
|---|
|  |  |  | :title="`已签约`" | 
|---|
|  |  |  | :pane-key="EnumGetEnterpriseEmployeesQuerySignContractStatus.Pass" | 
|---|
|  |  |  | ></ProTabPane> | 
|---|
|  |  |  | <!-- <ProTabPane :title="`已解约`" :pane-key="EnumTaskUserSignContractStatus.Stop"></ProTabPane> --> | 
|---|
|  |  |  | </ProTabs> | 
|---|
|  |  |  | <InfiniteLoading | 
|---|
|  |  |  | scrollViewClassName="common-infinite-scroll-list home-list" | 
|---|
|  |  |  | v-bind="infiniteLoadingProps" | 
|---|
|  |  |  | :key="queryState.userSignContractStatus" | 
|---|
|  |  |  | :key="queryState.signContractStatus" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template #renderItem="{ item }"> | 
|---|
|  |  |  | <FlexJobCard | 
|---|
|  |  |  | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template #footerRight> | 
|---|
|  |  |  | <template | 
|---|
|  |  |  | v-if="Number(queryState.userSignContractStatus) === EnumTaskUserSignContractStatus.Pass" | 
|---|
|  |  |  | v-if="item.enterpriseSignContractStatus === EnumTaskUserSignContractStatus.Pass" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <nut-button | 
|---|
|  |  |  | class="flexJobManage-card-plain-button" | 
|---|
|  |  |  | 
|---|
|  |  |  | <nut-button type="primary" @click.stop="checkContract(item)">查看合约</nut-button> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | <nut-button | 
|---|
|  |  |  | v-else-if=" | 
|---|
|  |  |  | Number(queryState.userSignContractStatus) === EnumTaskUserSignContractStatus.Wait || | 
|---|
|  |  |  | Number(queryState.userSignContractStatus) === EnumTaskUserSignContractStatus.Stop | 
|---|
|  |  |  | v-if=" | 
|---|
|  |  |  | item.userSignContractStatus === EnumTaskUserSignContractStatus.Wait || | 
|---|
|  |  |  | !item.userSignContractStatus | 
|---|
|  |  |  | " | 
|---|
|  |  |  | type="primary" | 
|---|
|  |  |  | @click.stop="goFlexJobSign(item)" | 
|---|
|  |  |  | >签约</nut-button | 
|---|
|  |  |  | >邀请签约</nut-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <nut-button | 
|---|
|  |  |  | v-if="item.enterpriseSignContractStatus === EnumTaskUserSignContractStatus.Wait" | 
|---|
|  |  |  | type="primary" | 
|---|
|  |  |  | @click.stop="goEnterpriseSign(item)" | 
|---|
|  |  |  | >企业签约</nut-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </FlexJobCard> | 
|---|
|  |  |  | 
|---|
|  |  |  | EnumTaskUserHireStatus, | 
|---|
|  |  |  | EnumTaskUserSignContractStatus, | 
|---|
|  |  |  | EnumPagedListOrder, | 
|---|
|  |  |  | EnumGetEnterpriseEmployeesQuerySignContractStatus, | 
|---|
|  |  |  | } from '@12333/constants'; | 
|---|
|  |  |  | import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee'; | 
|---|
|  |  |  | import Taro from '@tarojs/taro'; | 
|---|
|  |  |  | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const queryState = reactive({ | 
|---|
|  |  |  | userSignContractStatus: EnumTaskUserSignContractStatus.Pass, | 
|---|
|  |  |  | signContractStatus: EnumGetEnterpriseEmployeesQuerySignContractStatus.UserWait, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading( | 
|---|
|  |  |  | 
|---|
|  |  |  | orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | hireStatus: EnumTaskUserHireStatus.Pass, | 
|---|
|  |  |  | userSignContractStatus: queryState.userSignContractStatus, | 
|---|
|  |  |  | signContractStatus: queryState.signContractStatus, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return enterpriseEmployeeServices.getEnterpriseEmployees(params, { | 
|---|
|  |  |  | showLoading: false, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | 
|---|
|  |  |  | url: `${RouterPath.flexJobSign}?enterpriseEmployeeId=${item.id}`, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | async function goEnterpriseSign(item: API.GetEnterpriseEmployeesQueryResultItem) { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | let res = await enterpriseEmployeeServices.enterpriseUserElectronSign({ id: item.id }); | 
|---|
|  |  |  | if (res) { | 
|---|
|  |  |  | const encodedUrl = encodeURIComponent(res.signContractLongUrl); | 
|---|
|  |  |  | Taro.navigateTo({ url: `${RouterPath.extraPage}?url=${encodedUrl}` }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (error) {} | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style lang="scss"> | 
|---|