feat: 优化退休提醒功能 - 个性化退休年龄计算

- 添加 FemaleWorkerType enum (CADRE/WORKER) 和 Employee.femaleWorkerType 字段
- 新增 calcIndividualRetireAge: 按个人出生日期逐人计算退休年龄
- 重写 calcRetirementDaysLeft: 基于个人出生日期+性别+岗位类型
- updateEmployeesRetirementDays 使用 femaleWorkerType 区分女干部/女工人
- 前端新增/编辑员工表单添加女性岗位类型选择器
- 前端政策展示改为改革规则卡片(基准→目标年龄)
- 前端距退休天数改为退休日期显示(XXXX年XX月XX日)
- 移除AI退休政策计算相关代码和手动刷新路由
- 导入支持女性岗位类型列
This commit is contained in:
freedakgmail
2026-07-25 09:27:45 +08:00
parent b892df1d52
commit 41a2c665ed
9 changed files with 208 additions and 277 deletions
+2
View File
@@ -199,6 +199,7 @@ export async function createEmployee(orgId: string, userId: string, data: any) {
hireDate,
monthlySalary: encrypt(data.monthlySalary),
gender: data.gender,
femaleWorkerType: data.femaleWorkerType,
phone: data.phone,
idCardNumber: data.idCardNumber ? encrypt(data.idCardNumber) : null,
idCardHash: data.idCardNumber ? sha256(data.idCardNumber) : null,
@@ -505,6 +506,7 @@ export async function updateEmployee(orgId: string, id: string, data: any) {
}
}
if (data.gender !== undefined) updateData.gender = data.gender
if (data.femaleWorkerType !== undefined) updateData.femaleWorkerType = data.femaleWorkerType
if (data.phone !== undefined) updateData.phone = data.phone
if (data.bankName !== undefined) updateData.bankName = data.bankName
if (data.bankAccount !== undefined) updateData.bankAccount = encrypt(data.bankAccount)