From 3704e11b86fa50bf9f670de268a18e6de3b5d48a Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期三, 03 十二月 2025 09:02:43 +0800
Subject: [PATCH] Merge branch 'dev-1.3.0.4' of http://120.26.58.240:8888/r/flexJobAdminBClient into dev-1.3.0.4

---
 src/views/EmploymentManage/EmploymentManageArrange.vue |   53 +++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 41 insertions(+), 12 deletions(-)

diff --git a/src/views/EmploymentManage/EmploymentManageArrange.vue b/src/views/EmploymentManage/EmploymentManageArrange.vue
index 017f5c4..2973c98 100644
--- a/src/views/EmploymentManage/EmploymentManageArrange.vue
+++ b/src/views/EmploymentManage/EmploymentManageArrange.vue
@@ -33,11 +33,7 @@
           </QueryFilterItem>
         </template>
       </ProTableQueryFilterBar>
-      <ProTableV2
-        v-bind="proTableProps"
-        :columns="EmploymentArrangeColumns"
-        :operationBtns="operationBtns"
-      >
+      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
       </ProTableV2>
     </AppContainer>
   </LoadingLayout>
@@ -63,17 +59,14 @@
   EnumTaskUserArrangeStatusText,
   EnumGetArrangeTaskUsersQueryApplyStatusText,
 } from '@/constants';
+import { hiddenIDNumberForEnd4 } from '@/utils';
 
 defineOptions({
   name: 'EmploymentManageArrange',
 });
 
-const operationBtns = defineOperationBtns([
-  {
-    data: {
-      enCode: 'arrangeBtn',
-      name: '瀹夋帓',
-    },
+const operationBtnMap: Record<string, OperationBtnType> = {
+  arrangeBtn: {
     emits: {
       onClick: (role) => handleArrange(role),
     },
@@ -82,7 +75,20 @@
         row.arrangeStatus === EnumTaskUserArrangeStatus.Complete,
     },
   },
-]);
+  cancelRecruitBtn: {
+    emits: {
+      onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Cancel),
+    },
+    extraProps: {
+      hide: (row: API.GetArrangeTaskUsersQueryResultItem) =>
+        row.arrangeStatus === EnumTaskUserArrangeStatus.Complete,
+    },
+  },
+};
+
+const { column, operationBtns } = useAccess({
+  operationBtnMap,
+});
 
 const router = useRouter();
 const route = useRoute();
@@ -139,6 +145,11 @@
     columnsRenderProps: {
       gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson },
       arrangeStatus: { type: 'enum', valueEnum: EnumTaskUserArrangeStatusText },
+      identity: {
+        formatter: (row: API.GetArrangeTaskUsersQueryResultItem) => {
+          return hiddenIDNumberForEnd4(row.identity);
+        },
+      },
     },
   }
 );
@@ -156,4 +167,22 @@
     }
   } catch (error) {}
 }
+
+async function setTaskUserHire(
+  row: API.GetArrangeTaskUsersQueryResultItem,
+  hireStatus: EnumTaskUserHireStatus
+) {
+  try {
+    await Message.tipMessage(`纭瑕佸彇娑堝綍鐢ㄥ悧锛焋);
+    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