From e3e1a34d49ba62dc81166a16ed3d877b356d51a8 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期二, 21 十月 2025 14:59:17 +0800
Subject: [PATCH] fix: bug

---
 src/views/FlexJobManage/FlexJobManage.vue |   46 +++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 45 insertions(+), 1 deletions(-)

diff --git a/src/views/FlexJobManage/FlexJobManage.vue b/src/views/FlexJobManage/FlexJobManage.vue
index ca81eac..42637ad 100644
--- a/src/views/FlexJobManage/FlexJobManage.vue
+++ b/src/views/FlexJobManage/FlexJobManage.vue
@@ -84,6 +84,7 @@
           <el-button @click="handleBatchUnSign()" type="primary">鎵归噺瑙g害</el-button>
           <el-button @click="handleSendShotMessage()" type="primary">鐭俊鍙戦��</el-button>
           <el-button @click="handleBatchSign()" type="primary">鎵归噺绛剧害</el-button>
+          <el-button @click="handleEnterpriseBatchSign()" type="primary">鎵归噺浼佷笟绛剧害</el-button>
         </template>
       </ProTableQueryFilterBar>
       <ProTableV2
@@ -279,7 +280,7 @@
   {
     defaultExtraParams: {
       searchWord: '',
-      orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
+      orderInput: [{ property: 'createdTime', order: EnumPagedListOrder.Desc }],
       createdTime: [] as unknown as ModelValueType,
       signContractTime: [] as unknown as ModelValueType,
       hireStatus: '' as any as EnumTaskUserHireStatus,
@@ -512,6 +513,49 @@
   }
 }
 
+function handleEnterpriseBatchSign() {
+  const selectionRows = getSelectionRows();
+  if (selectionRows) {
+    const hasSigned = selectionRows?.some(
+      (x) =>
+        !(
+          x.userSignContractStatus === EnumTaskUserSignContractStatus.Pass &&
+          x.enterpriseSignContractStatus === EnumTaskUserSignContractStatus.Wait
+        )
+    );
+    if (hasSigned) {
+      Message.warnMessage('鍕鹃�変汉鍛樹腑鍖呭惈宸蹭紒涓氱绾︺�佹湭褰曠敤浜哄憳鎴栨湭绛剧害瀹屾垚浜哄憳');
+      return;
+    }
+    const ids = selectionRows.map((x) => x.id);
+    handleBatchEnterpriseSign(ids);
+  }
+}
+
+async function handleBatchEnterpriseSign(ids: string[]) {
+  try {
+    let res = await enterpriseEmployeeServices.batchEnterpriseSignContract({ ids: ids });
+    if (res) {
+      Message.successMessage('鎿嶄綔鎴愬姛');
+      getList(paginationState.pageIndex);
+      if (res?.errors?.length > 0) {
+        Message.tipMessage('瀛樺湪绛剧害澶辫触鐨勭伒宸ヤ俊鎭暟鎹紝鏄惁瀵煎嚭锛�').then(() => {
+          XLSXUtils.exportToXLSX({
+            workbookDataList: res.errors,
+            fileName: '绛剧害澶辫触鐏靛伐淇℃伅',
+            workbookHeaderMap: {
+              name: '濮撳悕',
+              contactPhoneNumber: '鎵嬫満鍙�',
+              identity: '韬唤璇佸彿',
+              errorMessages: '閿欒淇℃伅',
+            },
+          });
+        });
+      }
+    }
+  } catch (error) {}
+}
+
 async function signContract() {
   try {
     let params: API.InviteElectronSignCommand = {

--
Gitblit v1.9.1