From 5499750aabe2251491a979a927e6126dd434d1df Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 30 十二月 2025 19:33:51 +0800
Subject: [PATCH] fix: bug

---
 packages/hooks/task.ts |  103 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 97 insertions(+), 6 deletions(-)

diff --git a/packages/hooks/task.ts b/packages/hooks/task.ts
index f86c812..2729392 100644
--- a/packages/hooks/task.ts
+++ b/packages/hooks/task.ts
@@ -10,9 +10,10 @@
   EnumTaskStatus,
   EnumUserGender,
   EnumTaskUserApplyStatus,
+  EnumReadScene,
 } 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';
@@ -27,6 +28,7 @@
 type UseTaskListOptions = {
   cityCode?: MaybeRef<string>;
   enabled?: MaybeRef<boolean>;
+  needLogin?: MaybeRef<boolean>;
 
   defaultQueryMenuState?: {
     releaseStatus?: EnumTaskReleaseStatus;
@@ -46,7 +48,13 @@
  * @description 浠匔绔娇鐢�
  */
 export function useTaskList(options: UseTaskListOptions = {}) {
-  const { cityCode = '', enabled = true, defaultQueryMenuState = {}, beforeRequest } = options;
+  const {
+    cityCode = '',
+    enabled = true,
+    needLogin = false,
+    defaultQueryMenuState = {},
+    beforeRequest,
+  } = options;
 
   const searchValue = ref('');
 
@@ -109,12 +117,18 @@
         params = beforeRequest(params);
       }
 
-      return taskServices.getOpenTaskInfos(params, {
-        showLoading: false,
-      });
+      if (unref(needLogin)) {
+        return taskServices.getTaskInfos(params, {
+          showLoading: false,
+        });
+      } else {
+        return taskServices.getOpenTaskInfos(params, {
+          showLoading: false,
+        });
+      }
     },
     {
-      queryKey: ['taskServices/getOpenTaskInfos', queryState, queryMenuState, cityCode],
+      queryKey: ['taskServices/getOpenTaskInfos', queryState, queryMenuState, cityCode, needLogin],
       enabled: enabled,
     }
   );
@@ -225,3 +239,80 @@
 
   return { settlementAccessList };
 }
+
+type UseTaskInfoOptions = {
+  id: MaybeRef<string>;
+  readScene?: string | EnumReadScene;
+  onSuccess?: (data: API.GetTaskInfoQueryResult) => any;
+};
+
+export function useTaskInfo({ id, readScene, onSuccess }: UseTaskInfoOptions) {
+  const {
+    isLoading,
+    isError,
+    data: detail,
+    refetch,
+  } = useQuery({
+    queryKey: ['taskServices/getTaskInfo', id, readScene],
+    queryFn: async () => {
+      const params: API.APIgetTaskInfoParams = {
+        id: unref(id),
+      };
+      if (!!readScene) {
+        params.readScene = Number(readScene);
+      }
+      return await taskServices.getTaskInfo(params, {
+        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 };
+}

--
Gitblit v1.10.0