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