feat: 花名册操作自动创建电子签署流程
## 新增 esign.service.ts - autoCreateEsignRecord 公共方法,供其他业务模块调用 - 自动渲染模板文件内容 + 创建证据链 ## 自动触发签署 - 增加员工(创建合同时):自动创建劳动合同电子签署记录(scene=CONTRACT) - 主动离职(createDraft type=RESIGNATION):自动创建离职协议签署(scene=RESIGNATION) - 公司解聘(executeTermination type=TERMINATION):执行完成后自动创建离职协议签署 ## 前端提示 - 添加员工成功后提示"劳动合同电子签署已自动发起",可跳转签署页面 - 主动离职成功后提示"离职协议电子签署已自动发起" Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
@@ -155,14 +155,22 @@ export default function Roster() {
|
||||
}, [employeeParam, employeeIdParam, debouncedSearch, isLoading, employees, selectedId, setSearchParams])
|
||||
|
||||
const addMutation = useMutation({
|
||||
mutationFn: (data: any) => employeeApi.create(data),
|
||||
onSuccess: () => {
|
||||
mutationFn: async (data: any) => {
|
||||
const res = await employeeApi.create(data)
|
||||
// 如果返回了 esignRecord,说明自动创建了电子签署
|
||||
return res
|
||||
},
|
||||
onSuccess: (res: any) => {
|
||||
queryClient.invalidateQueries({ queryKey: ['roster'] })
|
||||
queryClient.invalidateQueries({ queryKey: ['dashboard'] })
|
||||
queryClient.invalidateQueries({ queryKey: ['roster-profile'] })
|
||||
queryClient.invalidateQueries({ queryKey: ['esign-records'] })
|
||||
localStorage.removeItem('add-employee-draft')
|
||||
setShowAddModal(false)
|
||||
toast.success('员工已添加')
|
||||
const esignCreated = res?.data?.esignRecord
|
||||
toast.success(esignCreated ? '员工已添加,劳动合同电子签署已自动发起' : '员工已添加', {
|
||||
action: esignCreated ? { label: '查看签署', onClick: () => navigate('/esign') } : undefined,
|
||||
})
|
||||
},
|
||||
onError: (err: any) => toastError(err, '创建失败'),
|
||||
})
|
||||
@@ -181,7 +189,8 @@ export default function Roster() {
|
||||
queryClient.invalidateQueries({ queryKey: ['dashboard'] })
|
||||
queryClient.invalidateQueries({ queryKey: ['termination-drafts'] })
|
||||
queryClient.invalidateQueries({ queryKey: ['roster-profile'] })
|
||||
toast.success('已创建离职草稿,请前往「解聘补偿」页面完成流程', {
|
||||
queryClient.invalidateQueries({ queryKey: ['esign-records'] })
|
||||
toast.success('已创建离职草稿,离职协议电子签署已自动发起', {
|
||||
action: { label: '前往处理', onClick: () => navigate('/termination') },
|
||||
})
|
||||
setShowResignModal(false)
|
||||
|
||||
Reference in New Issue
Block a user