From 318a7bbb40a8f37f825f9eb4ee1bcd84c6020a09 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 13 八月 2025 16:00:34 +0800
Subject: [PATCH] feat: 接口对接

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

diff --git a/packages/hooks/task.ts b/packages/hooks/task.ts
index edb5783..9cc65d2 100644
--- a/packages/hooks/task.ts
+++ b/packages/hooks/task.ts
@@ -2,6 +2,7 @@
 import {
   EnumPagedListOrder,
   EnumSettlementCycle,
+  EnumTaskCheckReceiveStatus,
   EnumTaskRecommendStatus,
   EnumTaskReleaseStatus,
   EnumTaskStatus,
@@ -11,6 +12,8 @@
 import { trim } from '@12333/utils';
 import { MaybeRef, reactive, ref, unref } from 'vue';
 import * as taskServices from '@12333/services/apiV2/task';
+import dayjs from 'dayjs';
+import * as taskCheckReceiveServices from '@12333/services/apiV2/taskCheckReceive';
 
 export enum HomeOrderType {
   Recommend = 'Recommend',
@@ -20,17 +23,24 @@
 type UseTaskListOptions = {
   cityCode?: MaybeRef<string>;
   enabled?: MaybeRef<boolean>;
-  releaseStatus?: MaybeRef<EnumTaskReleaseStatus>;
-  status?: MaybeRef<EnumTaskStatus>;
+
+  defaultQueryMenuState?: {
+    releaseStatus?: EnumTaskReleaseStatus;
+    status?: EnumTaskStatus;
+    genderLimit?: EnumUserGender;
+    settlementCycle?: EnumSettlementCycle;
+    checkReceiveStatus?: EnumTaskCheckReceiveStatus;
+    benefitCodes?: string;
+    enterpriseId?: string;
+    time?: Date;
+  };
 };
 
+/**
+ * @description 浠匔绔娇鐢�
+ */
 export function useTaskList(options: UseTaskListOptions = {}) {
-  const {
-    cityCode = '',
-    enabled = true,
-    status = '' as any as EnumTaskStatus,
-    releaseStatus = '' as any as EnumTaskReleaseStatus,
-  } = options;
+  const { cityCode = '', enabled = true, defaultQueryMenuState = {} } = options;
 
   const searchValue = ref('');
 
@@ -38,8 +48,12 @@
     genderLimit: '' as any as EnumUserGender,
     settlementCycle: '' as any as EnumSettlementCycle,
     benefitCodes: '',
-    status: status,
-    releaseStatus: releaseStatus,
+    status: '' as any as EnumTaskStatus,
+    releaseStatus: '' as any as EnumTaskReleaseStatus,
+    checkReceiveStatus: '' as any as EnumTaskCheckReceiveStatus,
+    enterpriseId: '',
+    time: '' as any as Date,
+    ...defaultQueryMenuState,
   });
 
   const queryState = reactive({
@@ -70,14 +84,22 @@
         genderLimit: queryMenuState.genderLimit,
         status: queryMenuState.status,
         releaseStatus: queryMenuState.releaseStatus,
+        checkReceiveStatus: queryMenuState.checkReceiveStatus,
+        enterpriseId: queryMenuState.enterpriseId,
+        beginTime: queryMenuState.time
+          ? dayjs(queryMenuState.time).format('YYYY-MM-DD 00:00:00')
+          : '',
+        endTime: queryMenuState.time
+          ? dayjs(queryMenuState.time).format('YYYY-MM-DD 23:59:59')
+          : '',
       };
 
-      return taskServices.getTaskInfos(params, {
+      return taskServices.getOpenTaskInfos(params, {
         showLoading: false,
       });
     },
     {
-      queryKey: ['taskServices/getTaskInfos', queryState, queryMenuState, cityCode],
+      queryKey: ['taskServices/getOpenTaskInfos', queryState, queryMenuState, cityCode],
       enabled: enabled,
     }
   );
@@ -91,3 +113,67 @@
     invalidateQueries,
   };
 }
+
+export function useCheckReceiveTasks() {
+  const queryState = reactive({
+    date: dayjs().toDate(),
+    checkReceiveStatus: EnumTaskCheckReceiveStatus.WaitSubmit,
+  });
+
+  const { infiniteLoadingProps } = useInfiniteLoading(
+    ({ pageParam }) => {
+      let params: API.GetCheckReceiveTasksQuery = {
+        pageModel: {
+          rows: 20,
+          page: pageParam,
+        },
+        date: dayjs(queryState.date).format('YYYY-MM-DD'),
+        checkReceiveStatus: queryState.checkReceiveStatus,
+      };
+
+      return taskCheckReceiveServices.getCheckReceiveTasks(params, {
+        showLoading: false,
+      });
+    },
+    {
+      queryKey: ['taskCheckReceiveServices/getCheckReceiveTasks', queryState],
+    }
+  );
+
+  return {
+    queryState,
+    infiniteLoadingProps,
+  };
+}
+
+type UseCheckReceiveTaskUserSubmitsOptions = {
+  id?: string;
+};
+
+export function useCheckReceiveTaskUserSubmits(
+  options: UseCheckReceiveTaskUserSubmitsOptions = {}
+) {
+  const { id } = options;
+  const { infiniteLoadingProps } = useInfiniteLoading(
+    ({ pageParam }) => {
+      let params: API.GetCheckReceiveTaskUserSubmitsQuery = {
+        pageModel: {
+          rows: 20,
+          page: pageParam,
+        },
+        id: id,
+      };
+
+      return taskCheckReceiveServices.getCheckReceiveTaskUserSubmits(params, {
+        showLoading: false,
+      });
+    },
+    {
+      queryKey: ['taskCheckReceiveServices/getCheckReceiveTaskUserSubmits', id],
+    }
+  );
+
+  return {
+    infiniteLoadingProps,
+  };
+}

--
Gitblit v1.9.1