wupengfei
75 分钟以前 7cf04da7eaba7cad9c3b5e5f674d2e038ebcd305
apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue
@@ -1,6 +1,6 @@
<template>
  <ProTabs
    v-model="queryState.status"
    v-model="queryState.signContractStatus"
    name="home-tab"
    :showPaneContent="false"
    class="home-tabs"
@@ -8,15 +8,24 @@
    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
@@ -56,7 +65,7 @@
          <nut-button
            v-if="item.enterpriseSignContractStatus === EnumTaskUserSignContractStatus.Wait"
            type="primary"
            @click.stop="goFlexJobSign(item)"
            @click.stop="goEnterpriseSign(item)"
            >企业签约</nut-button
          >
        </template>
@@ -73,6 +82,7 @@
  EnumTaskUserHireStatus,
  EnumTaskUserSignContractStatus,
  EnumPagedListOrder,
  EnumGetEnterpriseEmployeesQuerySignContractStatus,
} from '@12333/constants';
import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee';
import Taro from '@tarojs/taro';
@@ -82,14 +92,8 @@
  name: 'InnerPage',
});
const enum Status {
  FlexJobWait = 1,
  EnterpriseWait = 2,
  Pass = 3,
}
const queryState = reactive({
  status: Status.FlexJobWait,
  signContractStatus: EnumGetEnterpriseEmployeesQuerySignContractStatus.UserWait,
});
const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading(
@@ -101,17 +105,8 @@
        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,
    });
@@ -153,6 +148,16 @@
    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">