| | |
| | | <template> |
| | | <ProTabs |
| | | v-model="queryState.status" |
| | | v-model="queryState.signContractStatus" |
| | | name="home-tab" |
| | | :showPaneContent="false" |
| | | class="home-tabs" |
| | |
| | | title-gutter="12" |
| | | title-scroll |
| | | > |
| | | <ProTabPane :title="`灵工待签约`" :pane-key="Status.FlexJobWait"></ProTabPane> |
| | | <ProTabPane :title="`企业待签约`" :pane-key="Status.EnterpriseWait"></ProTabPane> |
| | | <ProTabPane :title="`已签约`" :pane-key="Status.Pass"></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.status" |
| | | :key="queryState.signContractStatus" |
| | | > |
| | | <template #renderItem="{ item }"> |
| | | <FlexJobCard |
| | |
| | | <nut-button |
| | | v-if="item.enterpriseSignContractStatus === EnumTaskUserSignContractStatus.Wait" |
| | | type="primary" |
| | | @click.stop="goFlexJobSign(item)" |
| | | @click.stop="goEnterpriseSign(item)" |
| | | >企业签约</nut-button |
| | | > |
| | | </template> |
| | |
| | | EnumTaskUserHireStatus, |
| | | EnumTaskUserSignContractStatus, |
| | | EnumPagedListOrder, |
| | | EnumGetEnterpriseEmployeesQuerySignContractStatus, |
| | | } from '@12333/constants'; |
| | | import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee'; |
| | | import Taro from '@tarojs/taro'; |
| | |
| | | name: 'InnerPage', |
| | | }); |
| | | |
| | | const enum Status { |
| | | FlexJobWait = 1, |
| | | EnterpriseWait = 2, |
| | | Pass = 3, |
| | | } |
| | | |
| | | const queryState = reactive({ |
| | | status: Status.FlexJobWait, |
| | | signContractStatus: EnumGetEnterpriseEmployeesQuerySignContractStatus.UserWait, |
| | | }); |
| | | |
| | | const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading( |
| | |
| | | orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], |
| | | }, |
| | | hireStatus: EnumTaskUserHireStatus.Pass, |
| | | signContractStatus: queryState.signContractStatus, |
| | | }; |
| | | if (Number(queryState.status) === Status.FlexJobWait) { |
| | | params.userSignContractStatus = EnumTaskUserSignContractStatus.Wait; |
| | | } |
| | | if (Number(queryState.status) === Status.EnterpriseWait) { |
| | | params.enterpriseSignContractStatus = EnumTaskUserSignContractStatus.Wait; |
| | | } |
| | | if (Number(queryState.status) === Status.Pass) { |
| | | params.userSignContractStatus = EnumTaskUserSignContractStatus.Pass; |
| | | } |
| | | |
| | | 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"> |