From fa5ee26bb701b816efc811c193ee55504a6efd51 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 03 十二月 2025 17:51:23 +0800
Subject: [PATCH] feat: 通知

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

diff --git a/packages/hooks/task.ts b/packages/hooks/task.ts
index 158df59..3e2af80 100644
--- a/packages/hooks/task.ts
+++ b/packages/hooks/task.ts
@@ -9,10 +9,12 @@
   EnumTaskReleaseStatus,
   EnumTaskStatus,
   EnumUserGender,
+  EnumTaskUserApplyStatus,
+  EnumReadScene,
 } 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 +39,15 @@
     enterpriseId?: string;
     time?: Date;
   };
+
+  beforeRequest?: (params: API.GetTaskInfosQuery) => API.GetTaskInfosQuery;
 };
 
 /**
  * @description 浠匔绔娇鐢�
  */
 export function useTaskList(options: UseTaskListOptions = {}) {
-  const { cityCode = '', enabled = true, defaultQueryMenuState = {} } = options;
+  const { cityCode = '', enabled = true, defaultQueryMenuState = {}, beforeRequest } = options;
 
   const searchValue = ref('');
 
@@ -56,6 +60,7 @@
     checkReceiveStatus: '' as any as EnumTaskCheckReceiveStatus,
     enterpriseId: '',
     time: '' as any as Date,
+    applyStatus: '' as any as EnumTaskUserApplyStatus,
     ...defaultQueryMenuState,
   });
 
@@ -98,7 +103,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 +194,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 +226,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.9.1