feat: 花名册操作联动电子签署 + 修复重复创建
## 修复 - POST /contracts 不再自动创建签署记录(由前端根据signMethod决定),避免与ContractInfo重复创建 ## 新增 SignMethodChoice 通用组件 - 花名册操作成功后弹窗选择签署方式:电子签/线下手签/稍后处理 - 电子签:自动创建ESignRecord(PENDING),员工在员工端签署 - 线下手签:跳转签署页面,预填员工/场景/标题,上传扫描件登记 - 稍后处理:跳过,可后续在签署页面手动发起 ## 花名册4项操作联动签署方式选择 - 重新入职:操作成功后弹窗(scene=CONTRACT,劳动合同) - 合同续签:操作成功后弹窗(scene=CONTRACT,续签劳动合同) - 薪酬变更:操作成功后弹窗(scene=POLICY,薪酬调整确认书) - 调岗调动:操作成功后弹窗(scene=POLICY,调岗确认书) ## ESign页面支持URL参数 - 读取 ?action=paper-sign 自动打开线下手签登记Modal - 预填employeeId/scene/documentTitle Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
@@ -312,18 +312,8 @@ router.post('/contracts', authMiddleware, async (req: AuthRequest, res, next) =>
|
||||
createdBy: req.user!.id,
|
||||
}).catch(() => {})
|
||||
|
||||
// 自动创建劳动合同电子签署记录
|
||||
const esignRecord = await autoCreateEsignRecord({
|
||||
orgId: req.user!.orgId,
|
||||
employeeId: data.employeeId,
|
||||
scene: 'CONTRACT',
|
||||
documentTitle: `${emp?.name || ''}的劳动合同`,
|
||||
contractId: result.id,
|
||||
remark: '新增员工合同时自动发起',
|
||||
createdBy: req.user!.id,
|
||||
})
|
||||
|
||||
res.json({ success: true, data: result, esignRecord })
|
||||
// 注意:电子签署记录由前端根据 signMethod 决定是否创建,避免重复
|
||||
res.json({ success: true, data: result })
|
||||
} catch (err) {
|
||||
next(err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user