wupengfei
2 天以前 318a7bbb40a8f37f825f9eb4ee1bcd84c6020a09
packages/hooks/task.ts
@@ -13,6 +13,7 @@
import { MaybeRef, reactive, ref, unref } from 'vue';
import * as taskServices from '@12333/services/apiV2/task';
import dayjs from 'dayjs';
import * as taskCheckReceiveServices from '@12333/services/apiV2/taskCheckReceive';
export enum HomeOrderType {
  Recommend = 'Recommend',
@@ -35,6 +36,9 @@
  };
};
/**
 * @description 仅C端使用
 */
export function useTaskList(options: UseTaskListOptions = {}) {
  const { cityCode = '', enabled = true, defaultQueryMenuState = {} } = options;
@@ -90,12 +94,12 @@
          : '',
      };
      return taskServices.getTaskInfos(params, {
      return taskServices.getOpenTaskInfos(params, {
        showLoading: false,
      });
    },
    {
      queryKey: ['taskServices/getTaskInfos', queryState, queryMenuState, cityCode],
      queryKey: ['taskServices/getOpenTaskInfos', queryState, queryMenuState, cityCode],
      enabled: enabled,
    }
  );
@@ -109,3 +113,67 @@
    invalidateQueries,
  };
}
export function useCheckReceiveTasks() {
  const queryState = reactive({
    date: dayjs().toDate(),
    checkReceiveStatus: EnumTaskCheckReceiveStatus.WaitSubmit,
  });
  const { infiniteLoadingProps } = useInfiniteLoading(
    ({ pageParam }) => {
      let params: API.GetCheckReceiveTasksQuery = {
        pageModel: {
          rows: 20,
          page: pageParam,
        },
        date: dayjs(queryState.date).format('YYYY-MM-DD'),
        checkReceiveStatus: queryState.checkReceiveStatus,
      };
      return taskCheckReceiveServices.getCheckReceiveTasks(params, {
        showLoading: false,
      });
    },
    {
      queryKey: ['taskCheckReceiveServices/getCheckReceiveTasks', queryState],
    }
  );
  return {
    queryState,
    infiniteLoadingProps,
  };
}
type UseCheckReceiveTaskUserSubmitsOptions = {
  id?: string;
};
export function useCheckReceiveTaskUserSubmits(
  options: UseCheckReceiveTaskUserSubmitsOptions = {}
) {
  const { id } = options;
  const { infiniteLoadingProps } = useInfiniteLoading(
    ({ pageParam }) => {
      let params: API.GetCheckReceiveTaskUserSubmitsQuery = {
        pageModel: {
          rows: 20,
          page: pageParam,
        },
        id: id,
      };
      return taskCheckReceiveServices.getCheckReceiveTaskUserSubmits(params, {
        showLoading: false,
      });
    },
    {
      queryKey: ['taskCheckReceiveServices/getCheckReceiveTaskUserSubmits', id],
    }
  );
  return {
    infiniteLoadingProps,
  };
}