feat: 增加北京解聘合规性环节(通知工会程序+文档样本)
依据《规范用人单位单方解除劳动合同工作指引(试行)》 后端: - 合规检查增加"通知工会"和"工会回执"检查项(FAULT/NONFAULT/LAYOFF) - 检查项标注北京地区要求:提前5个工作日书面通知工会 - 模板系统新增3个文档样本: · 拟解除劳动合同通知工会函(附件1样式) · 工会回执(附件2样式) · 工会劳动法律监督提示函(附件3样式) 前端: - 过错解除/非过错解除/裁员三种方式的步骤说明增加工会通知程序 - 确认提交步骤展示工会通知状态(已通知/未通知/已收到回执) Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
@@ -42,9 +42,10 @@ const REASONS = [
|
||||
steps: [
|
||||
'第一步:收集并固化证据(违纪事实、制度依据、证人证言等)',
|
||||
'第二步:确认规章制度经过民主程序制定并已向员工公示(签收记录)',
|
||||
'第三步:将解除理由通知工会,工会提出意见后书面回复工会',
|
||||
'第三步:提前5个工作日将解除理由书面通知工会(北京地区必经程序),工会提出意见后书面回复工会',
|
||||
'第四步:向员工送达《解除劳动合同通知书》,注明解除依据和事实',
|
||||
'第五步:办理工作交接、社保减员、档案转移',
|
||||
'⚠ 北京地区:单方解除须提前5个工作日书面通知工会,未建立工会的通知上一级工会(经营地乡镇/街道/园区/开发区总工会)。可在「文本模板库」使用《拟解除劳动合同通知工会函》模板',
|
||||
'⚠ 注意:证据不足或制度未公示可能导致违法解除,建议咨询律师',
|
||||
],
|
||||
},
|
||||
@@ -58,9 +59,11 @@ const REASONS = [
|
||||
'第一步(不胜任):进行绩效考核,确认不胜任事实',
|
||||
'第二步(医疗期满):另行安排合适岗位,员工仍不能胜任',
|
||||
'第二步(不胜任):进行培训或调岗,再次考核仍不胜任',
|
||||
'第三步:提前30天书面通知员工,或额外支付1个月代通知金',
|
||||
'第四步:支付经济补偿金(N)',
|
||||
'第五步:出具解除证明,办理交接、社保减员',
|
||||
'第三步:提前5个工作日书面通知工会(北京地区必经程序),收到工会回执后再解除',
|
||||
'第四步:提前30天书面通知员工,或额外支付1个月代通知金',
|
||||
'第五步:支付经济补偿金(N)',
|
||||
'第六步:出具解除证明,办理交接、社保减员',
|
||||
'⚠ 北京地区:单方解除须提前5个工作日书面通知工会,可在「文本模板库」使用《拟解除劳动合同通知工会函》模板',
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -71,11 +74,13 @@ const REASONS = [
|
||||
steps: [
|
||||
'第一步:确认符合法定裁员情形,准备相关证明材料',
|
||||
'第二步:提前30天向工会或全体职工说明情况(书面会议记录)',
|
||||
'第三步:听取工会或职工意见,形成意见处理方案',
|
||||
'第三步:听取工会或职工意见,形成意见处理方案,收到工会书面回执',
|
||||
'第四步:向当地劳动行政部门报告裁员方案',
|
||||
'第五步:确定裁员名单(优先留用法定保护人员)',
|
||||
'第六步:向员工送达解除通知,支付经济补偿金(N)',
|
||||
'第七步:办理交接、社保减员、档案转移',
|
||||
'第六步:提前5个工作日书面通知工会拟解除名单(北京地区必经程序)',
|
||||
'第七步:向员工送达解除通知,支付经济补偿金(N)',
|
||||
'第八步:办理交接、社保减员、档案转移',
|
||||
'⚠ 北京地区:裁员属单方解除,须提前5个工作日书面通知工会,可在「文本模板库」使用《拟解除劳动合同通知工会函》模板',
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -1887,6 +1892,12 @@ ${items}
|
||||
</>
|
||||
)}
|
||||
<div>工作交接:{handoverItems.filter(i => i.done).length}/{handoverItems.length} 项完成</div>
|
||||
{checklistItems?.some(item => item.key === 'notify_union') && (
|
||||
<div className={checklist['notify_union'] ? 'text-safe' : 'text-danger'}>
|
||||
工会通知:{checklist['notify_union'] ? '已通知' : '⚠ 未通知工会(北京地区单方解除必经程序)'}
|
||||
{checklist['notify_union'] && checklist['union_receipt'] ? ' · 已收到回执' : checklist['notify_union'] ? ' · 未收到回执' : ''}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* 风险提示 */}
|
||||
|
||||
Reference in New Issue
Block a user