From 40ed21141404ea96af41bac752b22c0f9a838168 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期一, 10 十一月 2025 14:55:20 +0800
Subject: [PATCH] fix: bug

---
 packages/hooks/task.ts |  128 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 123 insertions(+), 5 deletions(-)

diff --git a/packages/hooks/task.ts b/packages/hooks/task.ts
index 8257f5f..58642d8 100644
--- a/packages/hooks/task.ts
+++ b/packages/hooks/task.ts
@@ -1,5 +1,7 @@
 import { useInfiniteLoading } from '@12333/hooks';
+import { useQuery, useQueryClient } from '@tanstack/vue-query';
 import {
+  EnumEnterpriseWalletAccessTextForSettle,
   EnumPagedListOrder,
   EnumSettlementCycle,
   EnumTaskCheckReceiveStatus,
@@ -7,11 +9,13 @@
   EnumTaskReleaseStatus,
   EnumTaskStatus,
   EnumUserGender,
+  EnumTaskUserApplyStatus,
 } from '@12333/constants';
 import _ from 'lodash';
-import { trim } from '@12333/utils';
-import { 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';
 import * as taskCheckReceiveServices from '@12333/services/apiV2/taskCheckReceive';
 
@@ -34,13 +38,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('');
 
@@ -53,6 +59,7 @@
     checkReceiveStatus: '' as any as EnumTaskCheckReceiveStatus,
     enterpriseId: '',
     time: '' as any as Date,
+    applyStatus: '' as any as EnumTaskUserApplyStatus,
     ...defaultQueryMenuState,
   });
 
@@ -72,12 +79,12 @@
           rows: 20,
           page: pageParam,
           orderInput: [
+            { property: 'releaseStatus', order: EnumPagedListOrder.Asc },
             queryState.orderType === HomeOrderType.Recommend && {
-              property: 'recommendStatus',
+              property: 'recommendTime',
               order: EnumPagedListOrder.Desc,
             },
             { property: 'createdTime', order: EnumPagedListOrder.Desc },
-            { property: 'releaseStatus', order: EnumPagedListOrder.Asc },
           ].filter(Boolean),
         },
         keywords: queryState.searchValueTrim,
@@ -95,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,
@@ -180,3 +192,109 @@
     infiniteLoadingProps,
   };
 }
+
+type EnterpriseWalletAccessSelectOptions = {
+  supplierEnterpriseId: MaybeRef<string>;
+};
+
+export function useEnterpriseWalletAccessSelect(options: EnterpriseWalletAccessSelectOptions) {
+  const { supplierEnterpriseId } = options;
+  const { data } = useQuery({
+    queryKey: ['enterpriseWalletServices/getEnterpriseWalletAccessSelect', supplierEnterpriseId],
+    queryFn: () => {
+      return enterpriseWalletServices.getEnterpriseWalletAccessSelect(
+        { supplierEnterpriseId: unref(supplierEnterpriseId) },
+        {
+          showLoading: false,
+        }
+      );
+    },
+    placeholderData: () => [] as API.SelectOptionGuidGetEnterpriseWalletAccessSelectQueryOption[],
+  });
+
+  const enterpriseWalletAccessSelect = computed(() => data.value?.map((x) => x.data));
+
+  const settlementAccessList = computed(() => {
+    return enterpriseWalletAccessSelect.value?.length > 0
+      ? enterpriseWalletAccessSelect.value.map((x) => ({
+          label: EnumEnterpriseWalletAccessTextForSettle[x.access],
+          value: x.access,
+        }))
+      : [];
+  });
+
+  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 };
+}

--
Gitblit v1.9.1