From 0ca66ba6d5f5d5502211b9d9c7bff036ebd3f1aa Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 14 八月 2025 16:38:32 +0800
Subject: [PATCH] fix: 验收管理

---
 src/views/FlexJobManage/FlexJobManage.vue |   95 ++++++++++++++++++++++++++++++++++-------------
 1 files changed, 68 insertions(+), 27 deletions(-)

diff --git a/src/views/FlexJobManage/FlexJobManage.vue b/src/views/FlexJobManage/FlexJobManage.vue
index d6e64e2..02de3db 100644
--- a/src/views/FlexJobManage/FlexJobManage.vue
+++ b/src/views/FlexJobManage/FlexJobManage.vue
@@ -123,6 +123,7 @@
   defineOperationBtns,
   useFormDialog,
   UploadUserFile,
+  XLSXUtils,
 } from '@bole-core/components';
 import { FlexJobManageColumns } from './constants';
 import { EnumTaskUserHireStatusText, EnumTaskUserSignContractStatusText } from '@/constants';
@@ -312,8 +313,8 @@
     contactPhoneNumber: '',
     gender: EnumUserGender.Male,
     age: null as any as number,
-    idFrontUrl: [] as UploadUserFile[],
-    idBackUrl: [] as UploadUserFile[],
+    identityImg: [] as UploadUserFile[],
+    identityBackImg: [] as UploadUserFile[],
     contractUrl: [] as UploadUserFile[],
     regiterTime: '',
     userRealTime: '',
@@ -322,27 +323,48 @@
   },
 });
 
-function openDialog(row: API.GetEnterpriseEmployeesQueryResultItem, isDetail = false) {
-  handleStaffInfoEdit({
-    id: row.id,
-    name: row.name,
-    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 ?? '',
-    userRealTime: row.userRealTime,
-    userSignContractTime: row.userSignContractTime,
-    isDetail: isDetail,
-  });
+async function openDialog(row: API.GetEnterpriseEmployeesQueryResultItem, isDetail = false) {
+  try {
+    let detail = await enterpriseEmployeeServices.getEnterpriseEmployee({ id: row.id });
+    handleStaffInfoEdit({
+      id: row.id,
+      name: row.name,
+      identity: row.identity,
+      contactPhoneNumber: row.contactPhoneNumber,
+      gender: detail.gender,
+      age: detail.age ?? null,
+      identityImg: convertApi2FormUrlOnlyOne(detail.identityImg),
+      identityBackImg: convertApi2FormUrlOnlyOne(detail.identityBackImg),
+      contractUrl: convertApi2FormUrlOnlyOne(detail.contractUrl, {
+        fileName: detail.contractUrl ? detail.contractUrl.split('/').pop() : '鍚堝悓',
+      }),
+      regiterTime: detail.applyTime ?? '',
+      userRealTime: row.userRealTime ?? '',
+      userSignContractTime: row.userSignContractTime ?? '',
+      isDetail: isDetail,
+    });
+  } catch (error) {}
 }
 
-async function handleAddOrEdit() {}
+async function handleAddOrEdit() {
+  try {
+    let params: API.EditEnterpriseEmployeeCommand = {
+      name: staffInfoEditForm.name,
+      identity: staffInfoEditForm.identity,
+      contactPhoneNumber: staffInfoEditForm.contactPhoneNumber,
+      gender: staffInfoEditForm.gender,
+      age: staffInfoEditForm.age,
+      identityImg: staffInfoEditForm.identityImg[0]?.path ?? '',
+      identityBackImg: staffInfoEditForm.identityBackImg[0]?.path ?? '',
+      id: staffInfoEditForm.id,
+    };
+    let res = await enterpriseEmployeeServices.editEnterpriseEmployee(params);
+    if (res) {
+      Message.successMessage('鎿嶄綔鎴愬姛');
+      getList(paginationState.pageIndex);
+    }
+  } catch (error) {}
+}
 
 const {
   dialogProps: dialogBatchImportProps,
@@ -351,15 +373,34 @@
 } = useFormDialog({
   onConfirm: handleBatchImport,
   defaultFormParams: {
-    customerId: '',
-    contractTemplateId: '',
-    templateDataId: '',
     url: [] as UploadUserFile[],
-    userList: [],
   },
 });
 
-async function handleBatchImport() {}
+async function handleBatchImport() {
+  try {
+    let params: API.ImportEnterpriseEmployeesCommand = {
+      excelUrl: batchImportForm.url[0]?.path ?? '',
+    };
+    let res = await enterpriseEmployeeServices.importEnterpriseEmployees(params);
+    if (res.failCount > 0) {
+      await Message.tipMessage('瀛樺湪閿欒鏁版嵁锛屾槸鍚﹀鍑猴紵');
+      XLSXUtils.exportToXLSX({
+        workbookDataList: res.errors,
+        fileName: '鐏靛伐鎵归噺瀵煎叆-閿欒鏁版嵁',
+        workbookHeaderMap: {
+          name: '濮撳悕',
+          identity: '韬唤璇佸彿',
+          contactPhoneNumber: '鎵嬫満鍙�',
+          errorMessage: '澶囨敞',
+        },
+      });
+    } else {
+      Message.successMessage('瀵煎叆鎴愬姛');
+      getList();
+    }
+  } catch (error) {}
+}
 
 const {
   dialogProps: dialogShotMessageProps,
@@ -395,7 +436,7 @@
 }
 
 function handleDownloadTemplate() {
-  downloadFileByUrl('', '鎵归噺瀵煎叆妯℃澘');
+  downloadFileByUrl(ImportEnterpriseEmployeesTempPath, '鎵归噺瀵煎叆妯℃澘');
 }
 
 function handleBatchUnSign() {}

--
Gitblit v1.9.1