From 903afe339142785105c6aa2285b96b519e7d557d Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期一, 10 十一月 2025 10:13:54 +0800
Subject: [PATCH] fix: bug

---
 apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue |  108 +++++++++++++++++++++++++++++------------------------
 1 files changed, 59 insertions(+), 49 deletions(-)

diff --git a/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
index 85e4494..c3c7c19 100644
--- a/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
@@ -1,9 +1,9 @@
 <template>
-  <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch">
+  <LoadingLayout>
     <ContentView>
       <MyTaskCard
-        :task-name="detail.taskName"
-        :address="address"
+        :name="infiniteLoadingProps?.listData?.pages?.[0]?.objectData?.name"
+        :addressName="infiniteLoadingProps?.listData?.pages?.[0]?.objectData?.addressName"
         :showMyTaskArrow="false"
         :showTime="false"
       ></MyTaskCard>
@@ -12,17 +12,22 @@
     <InfiniteLoading
       scrollViewClassName="common-infinite-scroll-list"
       v-bind="infiniteLoadingProps"
-      :key="queryState.status"
     >
       <template #renderItem="{ item }">
         <TaskCheckCard
-          :avatarUrl="setOSSLink(item.avatarUrl)"
-          :name="item.name"
-          :genderType="item.genderType"
-          :isRealName="item.isRealName"
-          :contactPhone="item.contactPhone"
-          :checkAcceptStatus="item.checkAcceptStatus"
-          @click="goHandleTaskDetail(item)"
+          :avatar="setOSSLink(item.avatar)"
+          :name="item.name ?? ''"
+          :gender="item.gender"
+          :isReal="item.isReal"
+          :checkInTime="item.checkInTime"
+          :checkOutTime="item.checkOutTime"
+          :contactPhoneNumber="item.contactPhoneNumber"
+          :checkReceiveStatus="item.checkReceiveStatus"
+          :checkReceiveMethods="detail?.checkReceiveMethods"
+          :submitCheckReceiveStatus="item.submitCheckReceiveStatus"
+          :checkHistoryType="item.checkHistoryType"
+          @checkReceive="goTaskDetail(item)"
+          @checkInOrOut="(ev) => checkReceiveTask(ev, item)"
         />
       </template>
     </InfiniteLoading>
@@ -31,69 +36,74 @@
 
 <script setup lang="ts">
 import Taro from '@tarojs/taro';
-import { useQuery } from '@tanstack/vue-query';
-import * as flexWorkerServices from '@12333/services/api/FlexWorker';
+import * as taskCheckReceiveServices from '@12333/services/apiV2/taskCheckReceive';
 import { useInfiniteLoading } from '@12333/hooks';
-import { OrderInputType } from '@12333/constants';
 import TaskCheckCard from '../components/TaskCheckCard.vue';
-import { MyTaskCard } from '@12333/components';
-import { setOSSLink } from '@12333/utils';
+import { MyTaskCard, NumberInput, ChunkTitle } from '@12333/components';
+import {
+  EnumTaskCheckReceiveMethod,
+  EnumTaskCheckReceiveStatus,
+  EnumTaskUserSubmitCheckHistoryType,
+  EnumTaskUserSubmitCheckReceiveStatus,
+} from '@12333/constants';
+import { Message, setOSSLink, toRound } from '@12333/utils';
+import dayjs from 'dayjs';
 
 defineOptions({
   name: 'InnerPage',
 });
 
 const router = Taro.useRouter();
-const taskId = router.params?.taskId ?? '';
+const id = router.params?.id ?? '';
+const date = router.params?.date ?? '';
+const checkReceiveStatus = Number(router.params?.checkReceiveStatus);
 
-const {
-  isLoading,
-  isError,
-  data: detail,
-  refetch,
-} = useQuery({
-  queryKey: ['flexWorkerServices/getFlexTaskDto', taskId],
-  queryFn: async () => {
-    return await flexWorkerServices.getFlexTaskDto(
-      { id: taskId },
-      {
-        showLoading: false,
-      }
-    );
-  },
-  placeholderData: () => ({} as API.GetFlexTaskDtoOutput),
-});
-
-const address = computed(() => {
-  return `${detail.value.provinceName} ${detail.value.cityName} ${detail.value.areaName} ${detail.value.address}`;
-});
-
-const queryState = reactive({
-  status: 10,
-});
+const detail = ref<API.GetCheckReceiveTasksQueryResultItem>();
 
 const { infiniteLoadingProps } = useInfiniteLoading(
-  ({ pageParam }) => {
-    let params: API.GetFlexTaskWorkerCheckListInput = {
+  async ({ pageParam }) => {
+    let params: API.GetCheckReceiveTaskQuery = {
       pageModel: {
         rows: 20,
         page: pageParam,
-        orderInput: [{ property: 'lastShelfTime', order: OrderInputType.Desc }],
       },
+      taskInfoId: id,
+      date: dayjs(date).format('YYYY-MM-DD'),
+      checkReceiveStatus: checkReceiveStatus,
     };
 
-    return flexWorkerServices.getFlexTaskWorkerCheckList(params, {
+    let res = await taskCheckReceiveServices.getCheckReceiveTask(params, {
       showLoading: false,
     });
+    detail.value = res.objectData;
+    return res;
   },
   {
-    queryKey: ['flexWorkerServices/getFlexTaskWorkerCheckList', queryState],
+    queryKey: ['taskCheckReceiveServices/getCheckReceiveTask'],
   }
 );
 
-function goHandleTaskDetail(item: API.GetNewestWorkerListOutput) {
+function goTaskDetail(item: API.GetCheckReceiveTaskQueryResultItem) {
   Taro.navigateTo({
-    url: `${RouterPath.taskHandleCheckDetail}?userId=${item.userId}`,
+    url: `${RouterPath.taskHandleCheckDetail}?id=${item.id}&date=${date}&taskInfoId=${id}`,
   });
 }
+
+async function checkReceiveTask(
+  ev: EnumTaskUserSubmitCheckHistoryType,
+  item: API.GetCheckReceiveTaskQueryResultItem
+) {
+  try {
+    let params: API.CheckReceiveTaskCommand = {
+      taskInfoUserId: item.id,
+      date: dayjs(date).format('YYYY-MM-DD'),
+      checkHistoryType: ev,
+    };
+    let res = await taskCheckReceiveServices.checkReceiveTask(params);
+    if (res) {
+      Message.success('鎻愪氦鎴愬姛');
+      infiniteLoadingProps.value?.refetch?.();
+    }
+  } catch (error) {}
+}
 </script>

--
Gitblit v1.9.1