wupengfei
2 天以前 1138cd0ece8fda7dda4508e8cf4bf050f53c0f0a
packages/hooks/task.ts
@@ -9,10 +9,11 @@
  EnumTaskReleaseStatus,
  EnumTaskStatus,
  EnumUserGender,
  EnumTaskUserApplyStatus,
} from '@12333/constants';
import _ from 'lodash';
import { trim } from '@12333/utils';
import { computed, MaybeRef, reactive, ref, unref } from 'vue';
import { OrderUtils, trim } from '@12333/utils';
import { computed, MaybeRef, reactive, Ref, ref, unref } from 'vue';
import * as taskServices from '@12333/services/apiV2/task';
import * as enterpriseWalletServices from '@12333/services/apiV2/enterpriseWallet';
import dayjs from 'dayjs';
@@ -37,13 +38,15 @@
    enterpriseId?: string;
    time?: Date;
  };
  beforeRequest?: (params: API.GetTaskInfosQuery) => API.GetTaskInfosQuery;
};
/**
 * @description 仅C端使用
 */
export function useTaskList(options: UseTaskListOptions = {}) {
  const { cityCode = '', enabled = true, defaultQueryMenuState = {} } = options;
  const { cityCode = '', enabled = true, defaultQueryMenuState = {}, beforeRequest } = options;
  const searchValue = ref('');
@@ -56,6 +59,7 @@
    checkReceiveStatus: '' as any as EnumTaskCheckReceiveStatus,
    enterpriseId: '',
    time: '' as any as Date,
    applyStatus: '' as any as EnumTaskUserApplyStatus,
    ...defaultQueryMenuState,
  });
@@ -98,7 +102,12 @@
        endTime: queryMenuState.time
          ? dayjs(queryMenuState.time).format('YYYY-MM-DD 23:59:59')
          : '',
        applyStatus: queryMenuState.applyStatus,
      };
      if (beforeRequest) {
        params = beforeRequest(params);
      }
      return taskServices.getOpenTaskInfos(params, {
        showLoading: false,
@@ -184,12 +193,17 @@
  };
}
export function useEnterpriseWalletAccessSelect() {
type EnterpriseWalletAccessSelectOptions = {
  supplierEnterpriseId: MaybeRef<string>;
};
export function useEnterpriseWalletAccessSelect(options: EnterpriseWalletAccessSelectOptions) {
  const { supplierEnterpriseId } = options;
  const { data } = useQuery({
    queryKey: ['enterpriseWalletServices/getEnterpriseWalletAccessSelect'],
    queryKey: ['enterpriseWalletServices/getEnterpriseWalletAccessSelect', supplierEnterpriseId],
    queryFn: () => {
      return enterpriseWalletServices.getEnterpriseWalletAccessSelect(
        {},
        { supplierEnterpriseId: unref(supplierEnterpriseId) },
        {
          showLoading: false,
        }
@@ -211,3 +225,76 @@
  return { settlementAccessList };
}
type UseTaskInfoOptions = {
  id: MaybeRef<string>;
  onSuccess?: (data: API.GetTaskInfoQueryResult) => any;
};
export function useTaskInfo({ id, onSuccess }: UseTaskInfoOptions) {
  const {
    isLoading,
    isError,
    data: detail,
    refetch,
  } = useQuery({
    queryKey: ['taskServices/getTaskInfo', id],
    queryFn: async () => {
      return await taskServices.getTaskInfo(
        { id: unref(id) },
        {
          showLoading: false,
        }
      );
    },
    placeholderData: () => ({} as API.GetTaskInfoQueryResult),
    onSuccess(data) {
      onSuccess?.(data);
    },
  });
  const isContainCheckIn = computed(() =>
    OrderUtils.isContainCheckIn(detail.value?.checkReceiveMethods)
  );
  return { detail, isLoading, isError, refetch, isContainCheckIn };
}
type UseCheckReceiveTaskUserSubmitOptions = {
  params: MaybeRef<API.APIgetCheckReceiveTaskUserSubmitParams>;
  onSuccess?: (data: API.GetCheckReceiveTaskUserSubmitQueryResult) => any;
};
export function useCheckReceiveTaskUserSubmit({
  params,
  onSuccess,
}: UseCheckReceiveTaskUserSubmitOptions) {
  const {
    isLoading,
    isError,
    data: detail,
    refetch,
  } = useQuery({
    queryKey: ['taskCheckReceiveServices/getCheckReceiveTaskUserSubmit', params],
    queryFn: async () => {
      const _params = unref(params);
      return await taskCheckReceiveServices.getCheckReceiveTaskUserSubmit(
        // { ..._params, date: dayjs(_params.date).format('YYYY-MM-DD') },
        _params,
        {
          showLoading: false,
        }
      );
    },
    placeholderData: () => ({} as API.GetCheckReceiveTaskUserSubmitQueryResult),
    onSuccess(data) {
      onSuccess?.(data);
    },
  });
  const isContainCheckIn = computed(() =>
    OrderUtils.isContainCheckIn(detail.value?.checkReceiveMethods)
  );
  return { detail, isLoading, isError, refetch, isContainCheckIn };
}