# 用户管理功能说明 ## 功能概览 系统新增了完整的用户管理功能,管理员和销售总监可以对业务员进行全面管理。 ## 功能特性 ### 1. 用户列表管理 **访问路径**: `/users` **功能**: - 查看所有用户信息 - 多维度筛选(角色、状态、关键词) - 查看用户业绩统计(客户数、成交数) - 支持分页浏览 **权限**: - 管理员:查看所有用户 - 销售总监:查看所有用户 - 销售经理:只能查看自己团队的用户 ### 2. 创建新用户 **功能**: - 创建新的业务员账号 - 设置用户基本信息(用户名、密码、姓名) - 分配角色和权限 - 设置部门和团队 **必填字段**: - 用户名(用于登录) - 密码(至少6位) - 姓名 - 角色 **可选字段**: - 部门 - 团队 - 邮箱 - 手机号 **权限**: 仅限管理员和销售总监 ### 3. 编辑用户信息 **功能**: - 修改用户基本信息 - 调整角色和权限 - 更改部门团队 - 启用/禁用账号 **不可修改**: 用户名(登录账号) **权限**: 仅限管理员和销售总监 ### 4. 重置密码 **功能**: - 为用户重置登录密码 - 设置新密码(至少6位) **使用场景**: - 用户忘记密码 - 账号安全需要 **权限**: 仅限管理员和销售总监 ### 5. 禁用用户 **功能**: - 将用户状态设为禁用 - 软删除,不删除历史数据 - 自动检查用户是否有跟进中的客户 **限制**: - 不能禁用自己 - 如果用户有跟进中的客户,需先转移客户 **权限**: 仅限管理员 ### 6. 转移客户 **功能**: - 将一个用户的所有跟进中客户转移给另一个用户 - 批量转移,自动记录 **使用场景**: - 员工离职 - 团队调整 - 业务重组 **权限**: 仅限管理员和销售总监 ### 7. 查看用户详情 **访问路径**: `/users/:id` **功能**: - 查看用户完整信息 - 查看业绩统计 - 查看客户状态分布 **统计数据**: - 总客户数 - 成交客户数 - 跟进中客户数 - 成交率 - 已丢单数 - 已释放数 ## API 接口 ### 用户管理相关接口 ```javascript // 获取用户列表 GET /api/users 参数: page, limit, role, team, status, keyword // 获取用户详情 GET /api/users/:id // 创建用户 POST /api/users Body: { username, password, real_name, role, department, team, email, phone } // 更新用户信息 PUT /api/users/:id Body: { real_name, role, department, team, email, phone, status } // 重置密码 POST /api/users/:id/reset-password Body: { new_password } // 禁用用户 DELETE /api/users/:id // 转移客户 POST /api/users/transfer-customers Body: { from_user_id, to_user_id } // 获取团队列表 GET /api/teams // 获取用户统计 GET /api/users/:id/stats 参数: start_date, end_date ``` ## 角色权限说明 ### 管理员 (admin) - 创建/编辑/禁用所有用户 - 查看所有用户信息 - 重置任何用户密码 - 转移任何用户的客户 - 全系统最高权限 ### 销售总监 (sales_director) - 创建/编辑用户(除管理员外) - 查看所有用户信息 - 重置密码 - 转移客户 - 查看所有统计报表 ### 销售经理 (sales_manager) - 查看自己团队的用户 - 查看团队统计 - 无法创建/编辑用户 - 无法转移客户 ### 销售 (sales) - 无法访问用户管理功能 - 只能查看和管理自己的客户 ## 使用示例 ### 示例1: 新员工入职 1. 管理员登录系统 2. 进入"用户管理"页面 3. 点击"新建用户"按钮 4. 填写信息: - 用户名: `zhangsan` - 密码: `123456` - 姓名: `张三` - 角色: `销售` - 团队: `华东团队` 5. 点击确定,创建成功 6. 新员工可使用账号登录 ### 示例2: 员工离职客户转移 1. 管理员登录系统 2. 进入"用户管理"页面 3. 点击"转移客户"按钮 4. 选择源用户(离职员工) 5. 选择目标用户(接手员工) 6. 确认转移,系统自动处理 7. 将离职员工账号禁用 ### 示例3: 重置员工密码 1. 管理员或销售总监登录 2. 在用户列表找到目标用户 3. 点击"重置密码" 4. 输入新密码(至少6位) 5. 确认后通知员工新密码 ### 示例4: 调整员工角色 1. 管理员登录系统 2. 在用户列表找到目标用户 3. 点击"编辑"按钮 4. 修改角色字段(如:销售 → 销售经理) 5. 保存更新 6. 员工重新登录后生效 ## 注意事项 1. **密码安全** - 创建用户时密码至少6位 - 建议首次登录后修改密码 - 定期更新密码 2. **客户转移** - 转移前请确认目标用户 - 转移操作不可撤销 - 系统会记录转移日志 3. **禁用用户** - 禁用前必须转移其跟进中的客户 - 禁用后用户无法登录 - 历史数据不会被删除 4. **权限管理** - 合理分配用户角色 - 避免过多管理员账号 - 定期审核用户权限 5. **数据安全** - 所有操作都有日志记录 - 用户信息加密存储 - 密码使用 bcrypt 加密 ## 数据统计 用户列表中显示的统计数据: - **客户数**: 该用户报备的所有客户总数 - **成交数**: 已成交的客户数量 - **跟进中**: 正在跟进的客户数量 用户详情页显示的统计数据: - 总客户数 - 成交客户数(绿色) - 跟进中客户数(橙色) - 成交率(百分比) - 已丢单数 - 已释放到公海池的数量 ## 常见问题 **Q: 忘记管理员密码怎么办?** A: 需要通过数据库直接重置,或联系技术支持 **Q: 如何批量导入用户?** A: 当前版本不支持批量导入,需逐个创建 **Q: 禁用的用户可以恢复吗?** A: 可以,管理员编辑用户将状态改为"正常"即可 **Q: 转移客户后原用户还能看到吗?** A: 不能,客户所有权已转移,原用户无法查看 **Q: 销售经理可以管理其他团队的用户吗?** A: 不可以,销售经理只能查看自己团队的用户 ## 后续计划 - [ ] 批量导入用户功能 - [ ] 用户活跃度分析 - [ ] 权限更细粒度控制 - [ ] 用户操作审计报告 - [ ] 移动端用户管理 --- **文档版本**: v1.0 **更新时间**: 2024-01-14 **维护者**: 系统管理员