From 9c2cb0c24dabf68ca5f4703340ed2b1f13ddf969 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期三, 13 八月 2025 19:37:15 +0800
Subject: [PATCH] fix: 灵工管理

---
 apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue |  102 +++++++++++++++++++++++----------------------------
 1 files changed, 46 insertions(+), 56 deletions(-)

diff --git a/apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue
index 9c049a0..0dcd380 100644
--- a/apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue
@@ -1,6 +1,6 @@
 <template>
   <ProTabs
-    v-model="queryState.status"
+    v-model="queryMenuState.status"
     name="task-tab"
     :showPaneContent="false"
     class="task-tabs"
@@ -8,37 +8,41 @@
     title-gutter="8"
     title-scroll
   >
-    <ProTabPane :title="`寰呭畨鎺�(${notCount})`" pane-key="10"></ProTabPane>
-    <ProTabPane :title="`宸插畨鎺�(${hasCount})`" pane-key="20"></ProTabPane>
+    <ProTabPane :title="`寰呭畨鎺�(${waitAssignCount})`" :pane-key="EnumTaskStatus.Wait"></ProTabPane>
+    <ProTabPane
+      :title="`宸插畨鎺�(${completedAssignCount})`"
+      :pane-key="EnumTaskStatus.Complete"
+    ></ProTabPane>
   </ProTabs>
   <InfiniteLoading
     scrollViewClassName="common-infinite-scroll-list"
     v-bind="infiniteLoadingProps"
-    :key="queryState.status"
+    :key="queryMenuState.status"
   >
     <template #renderItem="{ item }">
       <JobApplicationCard
-        :taskName="item.taskName"
-        :startDate="item.startDate"
-        :endDate="item.endDate"
-        :address="item.address"
-        :creationTime="item.creationTime"
-        :fee="item.fee"
-        :unit="SalaryTimeTypeEnumUnit[item.feeType]"
-        @click="goSubmitTaskDetail(item)"
+        :name="item.name"
+        :beginTime="item.beginTime"
+        :endTime="item.endTime"
+        :addressName="item.addressName"
+        :createdTime="item.createdTime"
+        :serviceFee="item.serviceFee"
+        :unit="BillingMethodEnumUnit[item.billingMethod]"
         mode="taskManage"
       >
         <template #footer-actions>
           <nut-button
-            v-if="item.isArrange"
+            type="primary"
+            @click.stop="goBatchTaskList(item, EnumTaskUserArrangeStatus.Wait)"
+            >浜哄憳瀹夋帓</nut-button
+          >
+          <nut-button
+            v-if="item.status === EnumTaskStatus.Complete"
             type="primary"
             :color="Colors.Info"
             class="dark-btn"
-            @click.stop="goBatchTaskList(item, 'detail')"
+            @click.stop="goBatchTaskList(item, EnumTaskUserArrangeStatus.Complete)"
             >璇︽儏</nut-button
-          >
-          <nut-button type="primary" v-else @click.stop="goBatchTaskList(item, 'arrange')"
-            >浜哄憳瀹夋帓</nut-button
           >
         </template>
       </JobApplicationCard>
@@ -49,55 +53,41 @@
 <script setup lang="ts">
 import { JobApplicationCard, ProTabs, ProTabPane } from '@12333/components';
 import Taro from '@tarojs/taro';
-import { useInfiniteLoading } from '@12333/hooks';
-import { OrderInputType, Colors } from '@12333/constants';
-import * as flexWorkerServices from '@12333/services/api/FlexWorker';
-import { SalaryTimeTypeEnumUnit } from '@/constants/task';
+import {
+  EnumTaskStatus,
+  BillingMethodEnumUnit,
+  Colors,
+  EnumTaskUserArrangeStatus,
+} from '@12333/constants';
+import { useTaskList } from '@12333/hooks';
 
 defineOptions({
   name: 'InnerPage',
 });
 
-const queryState = reactive({
-  status: '10',
-});
-
-const { infiniteLoadingProps } = useInfiniteLoading(
-  ({ pageParam }) => {
-    let params: API.GetFlexTaskListInput = {
-      isArrange: queryState.status === '20',
-      pageModel: {
-        rows: 20,
-        page: pageParam,
-        orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }],
-      },
-    };
-
-    return flexWorkerServices.getFlexTaskByArrange(params, {
-      showLoading: false,
-    });
+const { queryMenuState, infiniteLoadingProps } = useTaskList({
+  defaultQueryMenuState: {
+    status: EnumTaskStatus.Wait,
   },
-  {
-    queryKey: ['flexWorkerServices/getFlexTaskByArrange', queryState],
-  }
-);
-
-const hasCount = computed(() => {
-  return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.hasCount ?? 0;
-});
-const notCount = computed(() => {
-  return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.notCount ?? 0;
 });
 
-function goSubmitTaskDetail(item: API.GetFlexTaskListOutput) {
-  Taro.navigateTo({
-    url: `${RouterPath.flexJobDetail}?taskId=${item.taskId}`,
-  });
-}
+const completedAssignCount = computed(() => {
+  return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.completedAssignCount ?? 0;
+});
+const waitAssignCount = computed(() => {
+  return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.waitAssignCount ?? 0;
+});
 
-function goBatchTaskList(item: API.GetFlexTaskListOutput, status: string) {
+//鏈夐棶棰�
+// function goSubmitTaskDetail(item: API.GetTaskInfosQueryResultItem) {
+//   Taro.navigateTo({
+//     url: `${RouterPath.taskManage}?taskId=${item.id}`,
+//   });
+// }
+
+function goBatchTaskList(item: API.GetTaskInfosQueryResultItem, status: EnumTaskUserArrangeStatus) {
   Taro.navigateTo({
-    url: `${RouterPath.batchTaskList}?taskId=${item.taskId}&detail=${status}`,
+    url: `${RouterPath.batchTaskList}?id=${item.id}&status=${status}`,
   });
 }
 </script>

--
Gitblit v1.9.1