From 092fd03a7a4eaf855b1816c38e3f6be552818cc2 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 14 八月 2025 17:31:29 +0800
Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp

---
 apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue |    5 ++
 apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue |    3 +
 packages/services/apiV2/task.ts                                  |   15 +++++++
 packages/services/apiV2/typings.d.ts                             |    6 +++
 apps/cMiniApp/src/pages/task/InnerPage.vue                       |    2 
 packages/services/apiV2/taskUser.ts                              |   15 +++++++
 apps/cMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue |   40 +++++++++++++++++---
 packages/hooks/task.ts                                           |    2 
 8 files changed, 79 insertions(+), 9 deletions(-)

diff --git a/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
index 0bcc458..f9e1391 100644
--- a/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
@@ -74,7 +74,10 @@
       url: `${RouterPath.taskCheckedDetail}?id=${item.id}`,
     });
   }
-  if (item.checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitCheckReceive) {
+  if (
+    item.checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitCheckReceive ||
+    item.checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitSubmit
+  ) {
     Taro.navigateTo({
       url: `${RouterPath.taskHandleCheckDetail}?id=${item.id}&date=${date}`,
     });
diff --git a/apps/cMiniApp/src/pages/task/InnerPage.vue b/apps/cMiniApp/src/pages/task/InnerPage.vue
index a022624..842cac1 100644
--- a/apps/cMiniApp/src/pages/task/InnerPage.vue
+++ b/apps/cMiniApp/src/pages/task/InnerPage.vue
@@ -48,7 +48,7 @@
 function goSubmitTaskDetail(item: API.GetCheckReceiveTasksQueryResultItem) {
   if (Number(queryState.checkReceiveStatus) === EnumTaskCheckReceiveStatus.WaitSubmit) {
     Taro.navigateTo({
-      url: `${RouterPath.taskSubmitCheck}?id=${item.id}`,
+      url: `${RouterPath.taskSubmitCheck}?id=${item.id}&date=${queryState.date}`,
     });
   }
   if (Number(queryState.checkReceiveStatus) === EnumTaskCheckReceiveStatus.Completed) {
diff --git a/apps/cMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue
index 7c1f311..0d5db2f 100644
--- a/apps/cMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue
@@ -30,17 +30,34 @@
 
 <script setup lang="ts">
 import { TaskCard } from '@12333/components';
-import { useUserStore } from '@/stores/modules/user';
-import { useTaskList } from '@12333/hooks';
+import * as taskServices from '@12333/services/apiV2/task';
+import * as taskUserServices from '@12333/services/apiV2/taskUser';
+import { useInfiniteLoading, useTaskList } from '@12333/hooks';
 import Taro from '@tarojs/taro';
+import { Message } from '@12333/utils';
 
 defineOptions({
   name: 'InnerPage',
 });
 
-const { infiniteLoadingProps } = useTaskList({
-  defaultQueryMenuState: {},
-});
+const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading(
+  ({ pageParam }) => {
+    let params: API.GetTaskInfosQuery = {
+      pageModel: {
+        rows: 20,
+        page: pageParam,
+      },
+      isCollected: true,
+    };
+
+    return taskServices.getTaskInfos(params, {
+      showLoading: false,
+    });
+  },
+  {
+    queryKey: ['taskServices/getTaskInfos'],
+  }
+);
 
 function goTaskDetail(id: string) {
   Taro.navigateTo({
@@ -48,7 +65,18 @@
   });
 }
 
-function clearExpiredTask() {}
+async function clearExpiredTask() {
+  try {
+    await Message.confirm({
+      message: '纭畾瑕佹竻绌哄凡澶辨晥浠诲姟鍚楋紵',
+    });
+    let res = await taskUserServices.clearTaskCollect({});
+    if (res) {
+      Message.success('娓呯┖鎴愬姛');
+      invalidateQueries();
+    }
+  } catch (error) {}
+}
 </script>
 
 <style lang="scss">
diff --git a/apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue b/apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue
index bc40ba1..f4853a2 100644
--- a/apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue
@@ -25,6 +25,7 @@
 import Taro from '@tarojs/taro';
 import { goBack } from '@/utils';
 import { useQueryClient } from '@tanstack/vue-query';
+import dayjs from 'dayjs';
 
 defineOptions({
   name: 'InnerPage',
@@ -32,6 +33,7 @@
 
 const route = Taro.useRouter();
 const id = route.params?.id as string;
+const date = route.params?.date as string;
 const queryClient = useQueryClient();
 
 const form = reactive({
@@ -57,6 +59,7 @@
   try {
     let params: API.SubmitCheckReceiveTaskCommand = {
       taskInfoId: id,
+      date: dayjs(date).format('YYYY-MM-DD'),
       files: form.files.map((x) => x.path),
     };
     let res = await taskCheckReceiveServices.submitCheckReceiveTask(params);
diff --git a/packages/hooks/task.ts b/packages/hooks/task.ts
index 474681a..a29fbb1 100644
--- a/packages/hooks/task.ts
+++ b/packages/hooks/task.ts
@@ -161,7 +161,7 @@
           rows: 20,
           page: pageParam,
         },
-        taskInfoId: id,
+        id: id,
       };
 
       return taskCheckReceiveServices.getCheckReceiveTaskUserSubmits(params, {
diff --git a/packages/services/apiV2/task.ts b/packages/services/apiV2/task.ts
index 9488ff3..8f85a31 100644
--- a/packages/services/apiV2/task.ts
+++ b/packages/services/apiV2/task.ts
@@ -2,6 +2,21 @@
 // @ts-ignore
 import { request } from '@/utils/request';
 
+/** 鎸夋棩鏈熶慨璁换鍔$姸鎬� POST /api/flexjob/task/autoTaskStatusByDate */
+export async function autoTaskStatusByDate(
+  body: API.AutoTaskStatusByDateCommand,
+  options?: API.RequestConfig
+) {
+  return request<number>('/api/flexjob/task/autoTaskStatusByDate', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
 /** 鍒犻櫎浠诲姟 DELETE /api/flexjob/task/deleteTaskInfo */
 export async function deleteTaskInfo(body: API.DeleteTaskInfoCommand, options?: API.RequestConfig) {
   return request<number>('/api/flexjob/task/deleteTaskInfo', {
diff --git a/packages/services/apiV2/taskUser.ts b/packages/services/apiV2/taskUser.ts
index a23742d..0edd5de 100644
--- a/packages/services/apiV2/taskUser.ts
+++ b/packages/services/apiV2/taskUser.ts
@@ -14,6 +14,21 @@
   });
 }
 
+/** 娓呯┖宸插仠姝㈢殑浠诲姟鏀惰棌 DELETE /api/flexjob/taskUser/clearTaskCollect */
+export async function clearTaskCollect(
+  body: API.ClearTaskCollectCommand,
+  options?: API.RequestConfig
+) {
+  return request<number>('/api/flexjob/taskUser/clearTaskCollect', {
+    method: 'DELETE',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
 /** 鏀惰棌浠诲姟 POST /api/flexjob/taskUser/collectTask */
 export async function collectTask(body: API.CollectTaskCommand, options?: API.RequestConfig) {
   return request<number>('/api/flexjob/taskUser/collectTask', {
diff --git a/packages/services/apiV2/typings.d.ts b/packages/services/apiV2/typings.d.ts
index 073461a..e2b61f5 100644
--- a/packages/services/apiV2/typings.d.ts
+++ b/packages/services/apiV2/typings.d.ts
@@ -189,6 +189,8 @@
     ids?: string[];
   }
 
+  type AutoTaskStatusByDateCommand = Record<string, any>;
+
   interface BindWxmpUserInfoCommand {
     /** 璁块棶浠ょ墝 */
     accessToken: string;
@@ -212,6 +214,8 @@
     id?: string;
     checkReceiveStatus?: EnumTaskUserSubmitCheckReceiveStatus;
   }
+
+  type ClearTaskCollectCommand = Record<string, any>;
 
   interface CollectTaskCommand {
     /** 浠诲姟Id */
@@ -3581,6 +3585,8 @@
   interface SubmitCheckReceiveTaskCommand {
     /** 浠诲姟Id */
     taskInfoId?: string;
+    /** 鏃ユ湡 */
+    date?: string;
     /** 闄勪欢 */
     files?: string[];
   }

--
Gitblit v1.9.1