From 9b108075bb6c57dc74184a508ec799a1abdd9359 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 05 十二月 2025 14:20:27 +0800
Subject: [PATCH] fix: bug

---
 apps/bMiniApp/src/subpackages/task/batchTaskList/InnerPage.vue |   83 +++++++++++++++++++++++++++++------------
 1 files changed, 58 insertions(+), 25 deletions(-)

diff --git a/apps/bMiniApp/src/subpackages/task/batchTaskList/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/batchTaskList/InnerPage.vue
index d8c055d..b1adcc5 100644
--- a/apps/bMiniApp/src/subpackages/task/batchTaskList/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/task/batchTaskList/InnerPage.vue
@@ -11,16 +11,28 @@
     <template #renderItem="{ item }">
       <FlexJobCard
         :name="item.name"
-        :genderType="item.genderType"
+        :gender="item.gender"
         :age="item.age"
-        :educationalLevel="item.educationalLevel"
-        :arrangeCount="item.arrangeCount"
+        :avatar="item.avatar"
+        :isReal="item.isReal"
+        :educationalBackgroundContent="item.educationalBackgroundContent"
+        :personalIdentityContent="item.personalIdentityContent"
+        :workExperience="item.workExperience"
+        :workSeniority="item.workSeniority"
+        :taskCount="item.taskCount"
         :showFooterLeft="false"
       >
         <template #footerRight>
-          <nut-button v-if="showQueryState" type="primary" @click="handleArrange(item)"
-            >瀹夋帓</nut-button
-          >
+          <template v-if="showQueryState">
+            <nut-button type="primary" @click.stop="handleArrange(item)">瀹夋帓</nut-button>
+            <nut-button
+              v-if="!!item.taskInfoUserId"
+              type="primary"
+              @click.stop="setTaskUserHire(item)"
+              >鍙栨秷褰曠敤</nut-button
+            >
+          </template>
+
           <div v-else class="batch-task-card-status">宸插畨鎺�</div>
         </template>
       </FlexJobCard>
@@ -31,8 +43,13 @@
 <script setup lang="ts">
 import Taro from '@tarojs/taro';
 import { useInfiniteLoading } from '@12333/hooks';
-import { OrderInputType } from '@12333/constants';
-import * as flexWorkerServices from '@12333/services/api/FlexWorker';
+import {
+  EnumTaskUserArrangeStatus,
+  EnumPagedListOrder,
+  EnumGetArrangeTaskUsersQueryApplyStatus,
+  EnumTaskUserHireStatus,
+} from '@12333/constants';
+import * as taskUserServices from '@12333/services/apiV2/taskUser';
 import _ from 'lodash';
 import { Message, trim } from '@12333/utils';
 import { FlexJobCard } from '@12333/components';
@@ -43,55 +60,71 @@
 
 const searchValue = ref('');
 const router = Taro.useRouter();
-const taskId = router.params?.taskId ?? '';
-const status = router.params?.status ?? '';
+const id = router.params?.id ?? '';
+const status = Number(router.params?.status);
 const queryState = reactive({
-  searchValueTrim: '',
+  keywords: '',
 });
 
 const showQueryState = computed(() => {
-  return status === 'arrange';
+  return status === EnumTaskUserArrangeStatus.Wait;
 });
 
 const handleSearch = _.debounce(function () {
-  queryState.searchValueTrim = trim(searchValue.value);
+  queryState.keywords = trim(searchValue.value);
 }, 300);
 
 const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading(
   ({ pageParam }) => {
-    let params: API.GetFlexTaskWorkerArrangeListInput = {
-      searchKeys: queryState.searchValueTrim,
-      flexTaskId: taskId,
+    let params: API.GetArrangeTaskUsersQuery = {
+      keywords: queryState.keywords,
+      arrangeStatus: status,
+      applyStatus: EnumGetArrangeTaskUsersQueryApplyStatus.Completed,
+      id: id,
       pageModel: {
         rows: 20,
         page: pageParam,
-        orderInput: [{ property: 'lastShelfTime', order: OrderInputType.Desc }],
+        orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
       },
     };
 
-    return flexWorkerServices.getFlexTaskWorkerArrangeList(params, {
+    return taskUserServices.getArrangeTaskUsers(params, {
       showLoading: false,
     });
   },
   {
-    queryKey: ['flexWorkerServices/getFlexTaskWorkerArrangeList', queryState],
+    queryKey: ['taskUserServices/getArrangeTaskUsers', queryState],
   }
 );
 
-async function handleArrange(item: API.GetNewestWorkerListOutput) {
+async function handleArrange(item: API.GetArrangeTaskUsersQueryResultItem) {
   try {
-    let params: API.TaskWorkerArrangeInput = {
-      flexTaskId: taskId,
-      flexWorkerId: item.userId,
-      arrange: true,
+    let params: API.SetTaskUserArrangeCommand = {
+      enterpriseEmployeeId: item.id,
+      taskInfoId: id,
+      arrangeStatus: EnumTaskUserArrangeStatus.Complete,
     };
-    let res = await flexWorkerServices.taskWorkerArrange(params);
+    let res = await taskUserServices.setTaskUserArrange(params);
     if (res) {
       Message.success('宸插畨鎺�');
       invalidateQueries();
     }
   } catch (error) {}
 }
+
+async function setTaskUserHire(row: API.GetArrangeTaskUsersQueryResultItem) {
+  try {
+    let params: API.SetTaskUserHireCommand = {
+      id: row.taskInfoUserId,
+      hireStatus: EnumTaskUserHireStatus.Cancel,
+    };
+    let res = await taskUserServices.setTaskUserHire(params);
+    if (res) {
+      Message.success('宸插彇娑堝綍鐢�');
+      invalidateQueries();
+    }
+  } catch (error) {}
+}
 </script>
 
 <style lang="scss">

--
Gitblit v1.9.1