From 92fb92af46741cf1419695523f448e2bc958bbb7 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期二, 02 十二月 2025 15:08:41 +0800
Subject: [PATCH] feat: 页面

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

diff --git a/src/views/EmploymentManage/EmploymentSignList.vue b/src/views/EmploymentManage/EmploymentSignList.vue
index 8d502d0..6072f08 100644
--- a/src/views/EmploymentManage/EmploymentSignList.vue
+++ b/src/views/EmploymentManage/EmploymentSignList.vue
@@ -28,6 +28,7 @@
       </ProTableV2>
     </AppContainer>
     <StaffInfoDialog v-bind="dialogStaffInfoProps" />
+    <RefuseDialog v-bind="dialogProps" />
   </LoadingLayout>
 </template>
 
@@ -50,6 +51,7 @@
 import { convertApi2FormUrlOnlyOne, hiddenIDNumberForEnd4 } from '@/utils';
 import * as taskUserServices from '@/services/api/taskUser';
 import * as enterpriseEmployeeServices from '@/services/api/enterpriseEmployee';
+import RefuseDialog from './components/RefuseDialog.vue';
 
 defineOptions({
   name: 'EmploymentSignList',
@@ -63,16 +65,25 @@
   },
   recruitBtn: {
     emits: {
-      onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Pass),
+      onClick: (role) => handleRecruit(role.id, EnumTaskUserHireStatus.Pass),
     },
     extraProps: {
       hide: (row: API.GetTaskUsersQueryResultItem) =>
         row.hireStatus === EnumTaskUserHireStatus.Pass,
     },
   },
+  cancelRecruitBtn: {
+    emits: {
+      onClick: (role) => handleCancelRecruit(role.id, EnumTaskUserHireStatus.Cancel),
+    },
+    extraProps: {
+      hide: (row: API.GetTaskUsersQueryResultItem) =>
+        row.hireStatus !== EnumTaskUserHireStatus.Pass,
+    },
+  },
   refuseBtn: {
     emits: {
-      onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Refuse),
+      onClick: (role) => openRefuseDialog(role),
     },
     extraProps: {
       hide: (row: API.GetTaskUsersQueryResultItem) =>
@@ -193,17 +204,47 @@
   } catch (error) {}
 }
 
-async function setTaskUserHire(
-  row: API.GetTaskUsersQueryResultItem,
-  hireStatus: EnumTaskUserHireStatus
-) {
+const { dialogProps, handleAdd, editForm } = useFormDialog({
+  onConfirm: handleRefuse,
+  defaultFormParams: {
+    id: '',
+    remark: '',
+  },
+});
+
+async function openRefuseDialog(row: API.GetTaskUsersQueryResultItem) {
   try {
-    await Message.tipMessage(
-      `纭瑕�${hireStatus === EnumTaskUserHireStatus.Pass ? '褰曠敤' : '璋㈢粷'}鍚楋紵`
-    );
-    let params: API.SetTaskUserHireCommand = {
+    await Message.tipMessage(`纭瑕佽阿缁濆悧锛焋);
+    handleAdd({
       id: row.id,
+    });
+  } catch (error) {}
+}
+
+async function handleRefuse() {
+  setTaskUserHire(editForm.id, EnumTaskUserHireStatus.Refuse, editForm.remark);
+}
+
+async function handleRecruit(id: string, hireStatus: EnumTaskUserHireStatus) {
+  try {
+    await Message.tipMessage(`纭瑕佸綍鐢ㄥ悧锛焋);
+    setTaskUserHire(id, hireStatus);
+  } catch (error) {}
+}
+
+async function handleCancelRecruit(id: string, hireStatus: EnumTaskUserHireStatus) {
+  try {
+    await Message.tipMessage(`纭瑕佸彇娑堝綍鐢ㄥ悧锛焋);
+    setTaskUserHire(id, hireStatus);
+  } catch (error) {}
+}
+
+async function setTaskUserHire(id: string, hireStatus: EnumTaskUserHireStatus, remark?: string) {
+  try {
+    let params: API.SetTaskUserHireCommand = {
+      id: id,
       hireStatus: hireStatus,
+      hireRemark: remark,
     };
     let res = await taskUserServices.setTaskUserHire(params);
     if (res) {

--
Gitblit v1.9.1