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:
selfrelease
2026-08-15 15:51:45 +08:00
parent f8dca2f22c
commit e8c6d27979
3 changed files with 135 additions and 8 deletions
+18 -7
View File
@@ -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>
{/* 风险提示 */}