| | |
| | | defineOperationBtns, |
| | | useFormDialog, |
| | | UploadUserFile, |
| | | XLSXUtils, |
| | | } from '@bole-core/components'; |
| | | import { FlexJobManageColumns } from './constants'; |
| | | import { EnumTaskUserHireStatusText, EnumTaskUserSignContractStatusText } from '@/constants'; |
| | |
| | | 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: '', |
| | |
| | | }, |
| | | }); |
| | | |
| | | 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, |
| | |
| | | } = 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, |
| | |
| | | } |
| | | |
| | | function handleDownloadTemplate() { |
| | | downloadFileByUrl('', '批量导入模板'); |
| | | downloadFileByUrl(ImportEnterpriseEmployeesTempPath, '批量导入模板'); |
| | | } |
| | | |
| | | function handleBatchUnSign() {} |