/** * 用工文本模板库 * 提供合同、制度、通知等常用文本模板,HR 可基于模板快速生成文档 */ export interface DocumentTemplate { id: string name: string category: 'CONTRACT' | 'RULES' | 'NOTICE' | 'AGREEMENT' | 'OTHER' description: string content: string variables: string[] // 模板变量列表,如 ['employeeName', 'startDate', 'salary'] } export const documentTemplates: DocumentTemplate[] = [ { id: 'tpl_fixed_term_contract', name: '固定期限劳动合同', category: 'CONTRACT', description: '标准固定期限劳动合同模板,适用于大多数正式员工', variables: ['companyName', 'employeeName', 'idCard', 'address', 'phone', 'startDate', 'endDate', 'position', 'workplace', 'probationMonths', 'baseSalary', 'performanceSalary', 'probationSalary', 'socialInsBase'], content: `劳动合同书 甲方(用人单位):{{companyName}} 乙方(劳动者):{{employeeName}} 根据《中华人民共和国劳动合同法》及相关法律法规,甲乙双方在平等自愿、协商一致的基础上,签订本劳动合同。 第一条 合同期限 本合同为固定期限劳动合同,自{{startDate}}起至{{endDate}}止,其中试用期{{probationMonths}}个月。 第二条 工作内容和工作地点 乙方担任{{position}}岗位,工作地点为{{workplace}}。 第三条 工作时间和休息休假 甲方执行标准工时制度,乙方每日工作时间不超过8小时,每周不超过40小时。 第四条 劳动报酬 乙方基本工资为人民币{{baseSalary}}元/月,绩效工资为人民币{{performanceSalary}}元/月(绩效工资根据考核结果发放)。试用期月工资为人民币{{probationSalary}}元。甲方于每月15日前支付上月工资。 第五条 社会保险和福利 甲方依法为乙方缴纳社会保险,缴费基数为{{socialInsBase}}元。 第六条 劳动保护、劳动条件和职业危害防护 甲方为乙方提供符合国家规定的劳动保护条件。 第七条 合同解除和终止 双方解除和终止劳动合同,应严格按照《劳动合同法》的规定执行。 第八条 违约责任 任何一方违反本合同约定,应承担相应的违约责任。 第九条 争议解决 因履行本合同发生的争议,双方应协商解决;协商不成的,可向劳动争议仲裁委员会申请仲裁。 第十条 其他 本合同一式两份,甲乙双方各执一份,自双方签字盖章之日起生效。 甲方(盖章):____________ 乙方(签字):____________ 日期:____年__月__日 日期:____年__月__日`, }, { id: 'tpl_open_ended_contract', name: '无固定期限劳动合同', category: 'CONTRACT', description: '无固定期限劳动合同模板,适用于符合签订条件的情况', variables: ['companyName', 'employeeName', 'startDate', 'position', 'baseSalary', 'performanceSalary'], content: `无固定期限劳动合同书 甲方(用人单位):{{companyName}} 乙方(劳动者):{{employeeName}} 根据《中华人民共和国劳动合同法》及相关法律法规,甲乙双方在平等自愿、协商一致的基础上,签订无固定期限劳动合同。 第一条 合同期限 本合同为无固定期限劳动合同,自{{startDate}}起生效,至法定终止条件出现时终止。 第二条 工作内容 乙方担任{{position}}岗位。 第三条 劳动报酬 乙方基本工资为人民币{{baseSalary}}元/月,绩效工资为人民币{{performanceSalary}}元/月(绩效工资根据考核结果发放)。 (其余条款参照固定期限劳动合同模板) 甲方(盖章):____________ 乙方(签字):____________ 日期:____年__月__日 日期:____年__月__日`, }, { id: 'tpl_termination_agreement', name: '解除劳动合同协议书', category: 'AGREEMENT', description: '协商一致解除劳动合同协议书模板(用人单位提出)', variables: ['companyName', 'employeeName', 'idCard', 'terminationDate', 'compensation', 'lastWorkDay', 'socialInsEndMonth', 'housingFundEndMonth'], content: `解除劳动合同协议书 甲方(用人单位):{{companyName}} 乙方(劳动者):{{employeeName}},证件号码:{{idCard}} 甲乙双方经协商一致,就解除劳动合同事宜达成如下协议: 一、解除日期 双方同意于{{terminationDate}}解除劳动合同,乙方最后工作日为{{lastWorkDay}}。 二、经济补偿 甲方同意向乙方支付经济补偿金人民币{{compensation}}元,于乙方办理完工作交接手续后__个工作日内一次性支付。 三、工资结算 甲方结清乙方截至解除日的所有工资、加班费等劳动报酬。 四、社会保险和公积金 甲方为乙方缴纳社会保险至{{socialInsEndMonth}}月,住房公积金缴存至{{housingFundEndMonth}}月。 五、工作交接 乙方应在解除日前完成工作交接,归还甲方所有财物和资料。 六、保密义务 乙方解除劳动合同后,仍应遵守保密义务,不得泄露甲方商业秘密。 七、争议解决 本协议履行过程中如发生争议,双方应协商解决;协商不成的,可向劳动争议仲裁委员会申请仲裁。 八、其他 本协议一式两份,甲乙双方各执一份,自双方签字盖章之日起生效。 甲方(盖章):____________ 乙方(签字):____________ 日期:____年__月__日 日期:____年__月__日`, }, { id: 'tpl_termination_agreement_employee', name: '解除劳动合同协议书(员工提出离职)', category: 'AGREEMENT', description: '员工主动提出离职的解除劳动合同协议书模板', variables: ['companyName', 'employeeName', 'idCard', 'terminationDate', 'lastWorkDay', 'socialInsEndMonth', 'housingFundEndMonth', 'resignationReason'], content: `解除劳动合同协议书 甲方(用人单位):{{companyName}} 乙方(劳动者):{{employeeName}},证件号码:{{idCard}} 乙方因个人原因主动提出离职,经甲乙双方友好协商,就解除劳动合同事宜达成如下协议: 一、离职原因 乙方因{{resignationReason}},自愿提出解除劳动合同。 二、解除日期 双方同意于{{terminationDate}}解除劳动合同,乙方最后工作日为{{lastWorkDay}}。 三、工资结算 甲方结清乙方截至解除日的所有工资、加班费等劳动报酬,于乙方办理完工作交接手续后__个工作日内一次性支付。 四、社会保险和公积金 甲方为乙方缴纳社会保险至{{socialInsEndMonth}}月,住房公积金缴存至{{housingFundEndMonth}}月。 五、工作交接 乙方应在最后工作日前完成工作交接,归还甲方所有财物和资料。 六、经济补偿 因乙方主动提出离职,甲方无需向乙方支付经济补偿金。乙方确认对此无异议。 七、保密义务 乙方解除劳动合同后,仍应遵守保密义务,不得泄露甲方商业秘密。 八、竞业限制 如双方另行签有竞业限制协议,乙方应继续履行竞业限制义务。 九、争议解决 本协议履行过程中如发生争议,双方应协商解决;协商不成的,可向劳动争议仲裁委员会申请仲裁。 十、其他 1. 本协议签订后,双方劳动关系即告终止,双方不再存在任何劳动争议。 2. 本协议一式两份,甲乙双方各执一份,自双方签字盖章之日起生效。 甲方(盖章):____________ 乙方(签字):____________ 日期:____年__月__日 日期:____年__月__日`, }, { id: 'tpl_employee_handbook_notice', name: '员工手册公示通知', category: 'NOTICE', description: '员工手册公示通知模板,用于民主程序第四步公示', variables: ['companyName', 'publishDate', 'effectiveDate'], content: `关于发布《员工手册》的通知 致全体员工: 经职工代表大会讨论通过,并经与工会平等协商,{{companyName}}现正式发布《员工手册》({{publishDate}}版),自{{effectiveDate}}起施行。 请全体员工认真阅读并遵守《员工手册》的各项规定。如有疑问,请联系人力资源部。 特此通知。 {{companyName}} {{publishDate}}`, }, { id: 'tpl_rules_discussion_notice', name: '规章制度讨论通知', category: 'NOTICE', description: '规章制度职工讨论通知,用于民主程序第二步', variables: ['companyName', 'meetingDate', 'meetingLocation', 'policyTitle'], content: `关于召开职工代表大会讨论{{policyTitle}}的通知 致全体职工代表: 根据《劳动合同法》第四条规定,用人单位制定规章制度应当经职工代表大会或全体职工讨论。现定于{{meetingDate}}在{{meetingLocation}}召开职工代表大会,讨论《{{policyTitle}}》草案。 请各位职工代表准时出席,充分发表意见和建议。 特此通知。 {{companyName}} ____年__月__日`, }, { id: 'tpl_disciplinary_notice', name: '违纪处分通知书', category: 'NOTICE', description: '员工违纪处分通知书模板', variables: ['employeeName', 'department', 'violationDate', 'violationDescription', 'disciplineType', 'policyBasis', 'companyName'], content: `违纪处分通知书 {{employeeName}}({{department}}): 经查,你于{{violationDate}}存在以下违纪行为: {{violationDescription}} 上述行为违反了公司《{{policyBasis}}》的相关规定。根据公司规章制度,决定给予你以下处分: {{disciplineType}} 如对本处分决定有异议,你可以在收到本通知之日起__日内向人力资源部提出书面申诉。 特此通知。 {{companyName}} ____年__月__日 签收人:____________ 日期:____年__月__日`, }, { id: 'tpl_probation_notice', name: '试用期转正通知书', category: 'NOTICE', description: '试用期考核合格转正通知', variables: ['employeeName', 'position', 'probationEndDate', 'regularDate', 'baseSalary', 'performanceSalary', 'companyName'], content: `试用期转正通知书 {{employeeName}}: 经考核,你在试用期内表现合格,符合岗位要求。现通知你: 一、自{{regularDate}}起正式转正,担任{{position}}岗位。 二、转正后基本工资为人民币{{baseSalary}}元/月,绩效工资为人民币{{performanceSalary}}元/月。 三、试用期至{{probationEndDate}}结束。 请继续遵守公司各项规章制度,努力工作。 {{companyName}} ____年__月__日`, }, { id: 'tpl_contract_expiry_notice', name: '合同到期不续签通知书', category: 'NOTICE', description: '合同到期公司决定不续签的通知', variables: ['employeeName', 'contractEndDate', 'companyName', 'compensation', 'lastWorkDay'], content: `劳动合同到期不续签通知书 {{employeeName}}: 你与公司签订的劳动合同将于{{contractEndDate}}到期。经公司研究决定,合同到期后不再与你续签劳动合同。 请你于{{lastWorkDay}}前完成工作交接手续。公司将在你完成交接后,依法支付经济补偿金人民币{{compensation}}元。 特此通知。 {{companyName}} ____年__月__日 签收人:____________ 日期:____年__月__日`, }, { id: 'tpl_union_termination_notice', name: '拟解除劳动合同通知工会函(北京)', category: 'NOTICE', description: '北京地区单方解除劳动合同前通知工会的函件样式(依据《规范用人单位单方解除劳动合同工作指引》)', variables: ['companyName', 'employeeName', 'employeeGender', 'employeeAge', 'idCard', 'employeePosition', 'workYears', 'contractPeriod', 'employeePhone', 'terminationReason', 'legalBasis', 'contactPerson', 'contactPhone', 'companyAddress'], content: `拟解除劳动合同通知工会函 {{companyName}}拟解除{{employeeName}}劳动合同的函 {{companyName}}工会(或上一级工会): 我单位拟单方解除与{{employeeName}}(劳动者姓名)的劳动合同,具体情况如下: 一、劳动者基本情况 姓名:{{employeeName}} 性别:{{employeeGender}} 年龄:{{employeeAge}} 身份证号:{{idCard}} 工作岗位:{{employeePosition}} 在本单位工作年限:{{workYears}} 劳动合同期限:{{contractPeriod}} 联系方式:{{employeePhone}} 二、解除劳动合同的事由 {{terminationReason}} 三、解除劳动合同的依据 {{legalBasis}} 联系人:{{contactPerson}} 电话:{{contactPhone}} 地址:{{companyAddress}} 附件:其他证据材料 {{companyName}}(盖章) ____年__月__日`, }, { id: 'tpl_union_receipt', name: '工会回执(北京)', category: 'OTHER', description: '工会收到用人单位单方解除劳动合同通知后的书面回执样式', variables: ['receiptNo', 'companyName', 'employeeName', 'unionContactPerson', 'unionContactPhone', 'unionAddress'], content: `回执 编号:{{receiptNo}} {{companyName}}: 你单位送交的单方解除与{{employeeName}}劳动合同通知工会的相关材料已收到。 你单位单方解除劳动合同,应严格遵守《中华人民共和国劳动法》《中华人民共和国劳动合同法》《北京市实施〈中华人民共和国工会法〉办法》等法律法规规定,做到事实清楚、程序合法、依据充分,并依法履行出具解除劳动合同证明、支付经济补偿等法定义务,切实维护职工合法权益。因提供虚假或不完整材料,产生的相关法律后果由你单位自行承担。 联系人:{{unionContactPerson}} 电话:{{unionContactPhone}} 地址:{{unionAddress}} (盖章) ____年__月__日`, }, { id: 'tpl_union_supervision_letter', name: '工会劳动法律监督提示函(北京)', category: 'NOTICE', description: '工会认为用人单位违反法律法规时提出的意见建议函件样式', variables: ['letterNo', 'companyName', 'employeeName', 'supervisionIssues', 'supervisionOpinions', 'unionContactPerson', 'unionContactPhone', 'unionAddress'], content: `工会劳动法律监督提示函 {{letterNo}} {{companyName}}: 你单位送交的单方解除与{{employeeName}}劳动合同通知工会的相关文本材料已收到。经审查,发现你单位存在下列问题: {{supervisionIssues}} 就以上问题,我会提出以下意见: {{supervisionOpinions}} 请你单位收函后认真研究,将处理结果书面通知本会。 联系人:{{unionContactPerson}} 电话:{{unionContactPhone}} 地址:{{unionAddress}} (盖章) ____年__月__日`, }, ] /** * 获取所有模板 */ export function getAllTemplates() { return documentTemplates.map(({ content, ...rest }) => rest) } /** * 获取模板详情(含内容) */ export function getTemplateById(id: string) { return documentTemplates.find(t => t.id === id) || null } /** * 按分类获取模板 */ export function getTemplatesByCategory(category: string) { return documentTemplates.filter(t => t.category === category) } /** * 渲染模板(替换变量) */ export function renderTemplate(id: string, variables: Record): string | null { const template = getTemplateById(id) if (!template) return null let content = template.content for (const [key, value] of Object.entries(variables)) { content = content.replace(new RegExp(`\\{\\{${key}\\}\\}`, 'g'), value) } return content }