wupengfei
4 天以前 0cd05cf1adc6574a25810ffab748c8defe283e1e
apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue
@@ -1,6 +1,6 @@
<template>
  <ProTabs
    v-model="queryState.mineHireType"
    v-model="queryState.userSignContractStatus"
    name="home-tab"
    :showPaneContent="false"
    class="home-tabs"
@@ -8,18 +8,30 @@
    title-gutter="12"
    title-scroll
  >
    <ProTabPane :title="`已签约`" :pane-key="TaskStatus.All"></ProTabPane>
    <ProTabPane :title="`待签约`" :pane-key="TaskStatus.WaitSign"></ProTabPane>
    <ProTabPane :title="`已解约`" :pane-key="TaskStatus.Effect"></ProTabPane>
    <ProTabPane :title="`已签约`" :pane-key="EnumTaskUserSignContractStatus.Pass"></ProTabPane>
    <ProTabPane :title="`待签约`" :pane-key="EnumTaskUserSignContractStatus.Wait"></ProTabPane>
    <ProTabPane :title="`已解约`" :pane-key="EnumTaskUserSignContractStatus.Refuse"></ProTabPane>
  </ProTabs>
  <InfiniteLoading
    scrollViewClassName="common-infinite-scroll-list home-list"
    v-bind="infiniteLoadingProps"
    :key="queryState.userSignContractStatus"
  >
    <template #renderItem="{ item }">
      <FlexJobCard :show-done-detail="false" :show-footer-left="false" @click="goDetail(item)">
      <FlexJobCard
        :show-done-detail="false"
        :show-footer-left="false"
        :name="item.name"
        :gender="item.gender"
        :age="item.age"
        :isReal="item.userIsReal"
        @click="goDetail(item)"
      >
        <template #footerRight>
          <template v-if="Number(queryState.mineHireType) === TaskStatus.All">
          <span></span>
          <!-- <template
            v-if="queryState.userSignContractStatus === EnumTaskUserSignContractStatus.Pass"
          >
            <nut-button
              class="flexJobManage-card-plain-button"
              type="default"
@@ -29,7 +41,12 @@
            >
            <nut-button type="primary" @click.stop="checkContract">查看合约</nut-button>
          </template>
          <nut-button v-else type="primary" @click.stop="goSignContract(item)">签约</nut-button>
          <nut-button
            v-else-if="queryState.userSignContractStatus === EnumTaskUserSignContractStatus.Wait"
            type="primary"
            @click.stop="goSignContract(item)"
            >签约</nut-button
          > -->
        </template>
      </FlexJobCard>
    </template>
@@ -40,9 +57,12 @@
import { FlexJobCard, ProTabs, ProTabPane } from '@12333/components';
import { RouterPath } from '@/constants';
import { useInfiniteLoading } from '@12333/hooks';
import { OrderInputType } from '@12333/constants';
import * as flexWorkerServices from '@12333/services/api/FlexWorker';
import { TaskStatus } from '@/constants/task';
import {
  EnumTaskUserHireStatus,
  EnumTaskUserSignContractStatus,
  EnumPagedListOrder,
} from '@12333/constants';
import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee';
import Taro from '@tarojs/taro';
defineOptions({
@@ -50,37 +70,39 @@
});
const queryState = reactive({
  mineHireType: TaskStatus.All,
  userSignContractStatus: EnumTaskUserSignContractStatus.Pass,
});
const { infiniteLoadingProps } = useInfiniteLoading(
  ({ pageParam }) => {
    let params: API.GetFlexTaskListInput = {
    let params: API.GetEnterpriseEmployeesQuery = {
      pageModel: {
        rows: 20,
        page: pageParam,
        orderInput: [{ property: 'isRecommend', order: OrderInputType.Desc }],
        orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
      },
      hireStatus: EnumTaskUserHireStatus.Pass,
      userSignContractStatus: queryState.userSignContractStatus,
    };
    return flexWorkerServices.getFlexTaskByArrange(params, {
    return enterpriseEmployeeServices.getEnterpriseEmployees(params, {
      showLoading: false,
    });
  },
  {
    queryKey: ['flexWorkerServices/getFlexTaskByArrange'],
    queryKey: ['enterpriseEmployeeServices/getEnterpriseEmployees', queryState],
  }
);
function goDetail(item: API.GetFlexTaskListOutput) {
function goDetail(item: API.GetEnterpriseEmployeesQueryResultItem) {
  Taro.navigateTo({
    url: `${RouterPath.flexJobDetailFromManage}?id=${item.taskId}`,
    url: `${RouterPath.flexJobDetailFromManage}?userId=${item.id}`,
  });
}
function checkContract() {}
function handleUnContract() {}
function goSignContract(item: API.GetFlexTaskListOutput) {
function goSignContract(item: API.GetNewestWorkerListOutput) {
  Taro.navigateTo({
    url: `${RouterPath.flexJobSign}`,
  });