zhengyiming
2 天以前 a8d7d415e4638fd9472b801234ac780678997486
packages/hooks/task.ts
@@ -12,7 +12,7 @@
  EnumTaskUserApplyStatus,
} from '@12333/constants';
import _ from 'lodash';
import { trim } from '@12333/utils';
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';
@@ -225,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 };
}