feat: 员工端密码登录完整支持

1. createEmployee 创建员工时自动设置默认密码(手机号后6位)
2. 管理员重置密码接口 POST /employees/:id/reset-password
   (重置为手机号后6位)
3. 员工自己修改密码接口 POST /portal/change-password
   (需验证旧密码,新密码至少6位)
4. 花名册详情添加"重置密码"按钮,显示默认密码提示
5. 员工端导航栏添加"修改密码"入口,弹窗修改密码

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-16 11:28:56 +08:00
parent 26d0b7070d
commit d7fdec49fa
6 changed files with 201 additions and 33 deletions
+6
View File
@@ -81,6 +81,9 @@ export const employeeApi = {
/** 重新入职 */
rehire: (id: string, data: Record<string, unknown>) =>
post(`/employees/${id}/rehire`, data),
/** 重置员工密码(管理员,重置为手机号后6位) */
resetPassword: (id: string) =>
post(`/employees/${id}/reset-password`).then(unwrap<any>()),
/** 添加合同 */
addContract: (data: Record<string, unknown>) =>
post('/employees/contracts', data),
@@ -1026,6 +1029,9 @@ export const portalApi = {
/** 自动登录 */
autoLogin: (token: string) =>
portalGet('/auto-login', { params: { token } }).then(unwrap<any>()),
/** 修改密码(员工自己) */
changePassword: (oldPassword: string, newPassword: string) =>
portalPost('/change-password', { oldPassword, newPassword }).then(unwrap<any>()),
/** 生成自动登录令牌(管理端) */
generateAutoLoginToken: (employeeId: string) =>
post('/portal/auto-login-token', { employeeId }).then(unwrap<any>()),