From e3c8ba4028047cdc56aaaa7edd2690e2d3043d43 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 12 八月 2025 17:42:54 +0800
Subject: [PATCH] fix: 灵工管理

---
 src/views/EmploymentManage/EmploymentSignList.vue |   89 +++++++++++++++++++++++++-------------------
 1 files changed, 51 insertions(+), 38 deletions(-)

diff --git a/src/views/EmploymentManage/EmploymentSignList.vue b/src/views/EmploymentManage/EmploymentSignList.vue
index c025329..399ea9f 100644
--- a/src/views/EmploymentManage/EmploymentSignList.vue
+++ b/src/views/EmploymentManage/EmploymentSignList.vue
@@ -5,11 +5,8 @@
         <template #query>
           <QueryFilterItem tip-content="褰曠敤鐘舵��">
             <FieldRadio
-              v-model="extraParamState.flexEnterpriseSettingStatus"
-              :value-enum="[
-                { label: '宸插綍鐢�', value: 1 },
-                { label: '寰呭綍鐢�', value: 0 },
-              ]"
+              v-model="extraParamState.hireStatus"
+              :value-enum="EnumTaskUserHireStatusText"
               buttonStyle
               showAllBtn
               @change="getList()"
@@ -53,10 +50,11 @@
   UploadUserFile,
 } from '@bole-core/components';
 import { EmploymentSignColumns } from './constants/columns';
-import {  Message } from '@bole-core/core';
-import { FlexEnterpriseSettingStatus, Gender } from '@/constants';
+import { Message } from '@bole-core/core';
+import { EnumUserGender, EnumTaskUserHireStatusText } from '@/constants';
 import StaffInfoDialog from '@/views/FlexJobManage/components/StaffInfoDialog.vue';
 import { convertApi2FormUrlOnlyOne } from '@/utils';
+import * as taskUserServices from '@/services/api/taskUser';
 
 defineOptions({
   name: 'EmploymentSignList',
@@ -78,10 +76,11 @@
       name: '褰曠敤',
     },
     emits: {
-      onClick: (role) => handleRecruit(role),
+      onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Pass),
     },
     extraProps: {
-      hide: (row) => false,
+      hide: (row: API.GetTaskUsersQueryResultItem) =>
+        row.hireStatus === EnumTaskUserHireStatus.Pass,
     },
   },
   {
@@ -90,10 +89,11 @@
       name: '璋㈢粷',
     },
     emits: {
-      onClick: (role) => handleRefuse(role),
+      onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Refuse),
     },
     extraProps: {
-      hide: (row) => false,
+      hide: (row: API.GetTaskUsersQueryResultItem) =>
+        row.hireStatus !== EnumTaskUserHireStatus.Wait,
     },
   },
 ]);
@@ -121,17 +121,17 @@
 } = useTable(
   async ({ pageIndex, pageSize }, extraParamState) => {
     try {
-      let params: API.GetFlexEnterpriseInput = {
+      let params: API.GetTaskUsersQuery = {
         pageModel: {
           rows: pageSize,
           page: pageIndex,
           orderInput: extraParamState.orderInput,
         },
-        flexEnterpriseSettingStatus: extraParamState.flexEnterpriseSettingStatus,
-        searchWord: extraParamState.searchWord,
+        // searchWord: extraParamState.searchWord,
+        id: id,
       };
 
-      let res = await flexEnterpriseServices.getFlexEnterpriseList(params, {
+      let res = await taskUserServices.getTaskUsers(params, {
         showLoading: !state.loading,
       });
       return res;
@@ -143,10 +143,13 @@
     defaultExtraParams: {
       searchWord: '',
       orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
-      flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus,
+      hireStatus: '' as any as EnumTaskUserHireStatus,
     },
-    queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
-    columnsRenderProps: {},
+    queryKey: ['taskUserServices/getTaskUsers'],
+    columnsRenderProps: {
+      gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson },
+      hireStatus: { type: 'enum', valueEnum: EnumTaskUserHireStatusText },
+    },
   }
 );
 
@@ -158,44 +161,54 @@
   defaultFormParams: {
     id: '',
     name: '',
-    idNumber: '',
-    phoneNumber: '',
-    genderType: Gender.Male,
-    age: 0,
-    companyId: '',
-    customerId: '',
+    identity: '',
+    contactPhoneNumber: '',
+    gender: EnumUserGender.Male,
+    age: null as any as number,
     idFrontUrl: [] as UploadUserFile[],
     idBackUrl: [] as UploadUserFile[],
     contractUrl: [] as UploadUserFile[],
     regiterTime: '',
-    realVerifyTime: '',
-    signTime: '',
+    userRealTime: '',
+    userSignContractTime: '',
     isDetail: false,
   },
 });
 
-function openDialog(row) {
+function openDialog(row: API.GetTaskUsersQueryResultItem) {
   handleStaffInfoEdit({
     id: row.id,
     name: row.name,
-    idNumber: row.idNumber,
-    phoneNumber: row.phoneNumber,
-    genderType: Gender.Male,
-    age: row.age ?? 0,
-    companyId: row.companyId,
-    customerId: row.customerId,
+    identity: row.identity,
+    contactPhoneNumber: row.contactPhoneNumber,
+    gender: row.gender,
+    age: row.age ?? null,
     idFrontUrl: convertApi2FormUrlOnlyOne(row.idFrontUrl),
     idBackUrl: convertApi2FormUrlOnlyOne(row.idBackUrl),
     contractUrl: convertApi2FormUrlOnlyOne(row.contractUrl, {
       fileName: row.contractUrl ? row.contractUrl.split('/').pop() : '鍚堝悓',
     }),
-    regiterTime: row.regiterTime,
-    realVerifyTime: row.realVerifyTime,
-    signTime: row.signTime,
+    regiterTime: row.regiterTime ?? '',
+    userRealTime: row.userRealTime,
+    userSignContractTime: row.userSignContractTime,
     isDetail: true,
   });
 }
 
-function handleRecruit(row) {}
-function handleRefuse(row) {}
+async function setTaskUserHire(
+  row: API.GetTaskUsersQueryResultItem,
+  hireStatus: EnumTaskUserHireStatus
+) {
+  try {
+    let params: API.SetTaskUserHireCommand = {
+      id: row.id,
+      hireStatus: hireStatus,
+    };
+    let res = await taskUserServices.setTaskUserHire(params);
+    if (res) {
+      Message.successMessage('鎿嶄綔鎴愬姛');
+      getList(paginationState.pageIndex);
+    }
+  } catch (error) {}
+}
 </script>

--
Gitblit v1.9.1