feat: 调部门改为调动,使用组织架构部门和职务下拉选择

- 后端:EmployeeDepartmentRecord 增加 oldPosition/newPosition 字段
- 后端:department-change 接口支持 departmentId 关联 + position 职务变动
- 后端:同步更新 Employee.departmentId 和 Employee.position
- 前端:DeptChangeModal 改为从组织架构下拉选择目标部门(树形)和职务
- 前端:选择部门后自动过滤该部门下的职务
- 前端:按钮文案从"调部门"改为"调动"

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:00:38 +08:00
parent e8470e7bb4
commit e3d46d9142
4 changed files with 91 additions and 25 deletions
+4 -2
View File
@@ -914,10 +914,12 @@ model EmployeeDepartmentRecord {
employee Employee @relation(fields: [employeeId], references: [id], onDelete: Cascade)
oldDepartment String // 调整前部门
newDepartment String // 调整后部门
oldPosition String? // 调整前职务
newPosition String? // 调整后职务
effectiveMonth String // 生效年月 YYYY-MM
endMonth String? // 失效年月 YYYY-MMnull=至今有效)
reason String? // 调部门原因
changeType String // ONBOARDING=入职, REHIRE=重新入职, TRANSFER=调部门
reason String? // 调原因
changeType String // ONBOARDING=入职, REHIRE=重新入职, TRANSFER=调
createdBy String
createdAt DateTime @default(now())