Files
smart-crop-ui/src/员工管理审核功能.txt

464 lines
11 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

================================
员工管理 - 审核状态功能
================================
✅ 功能已完成!
================================
核心功能
================================
【审核状态】
🟡 待审核pending
- 新添加的员工默认状态
- 显示审核操作按钮
🟢 审核通过approved
- 审核通过的员工
- 可正常使用系统
🔴 已驳回rejected
- 审核未通过
- 记录驳回原因
【审核操作】
✅ 审核通过
- 绿色勾选图标
- 可选填审核意见
❌ 驳回
- 红色叉号图标
- 必填驳回原因
================================
界面变化
================================
【统计卡片】从3列改为4列
┌─────────┬─────────┬─────────┬─────────┐
│ 总员工数 │ 待审核 │ 审核通过 │ 已驳回 │
├─────────┼─────────┼─────────┼─────────┤
│ 3 │ 1 │ 1 │ 1 │
│ (蓝色) │ (黄色) │ (绿色) │ (红色) │
└─────────┴─────────┴─────────┴─────────┘
【筛选器】新增审核状态筛选
[搜索框] [账号状态▼] [审核状态▼]
新增的
审核状态选项:
• 全部审核
• 待审核
• 审核通过
• 已驳回
【表格列】从7列改为8列
| 姓名 | 用户名 | 电话 | 部门 | 角色 | 账号状态 | 审核状态 | 操作 |
新增的
【操作按钮】待审核员工多2个按钮
待审核员工:✅ ❌ 👁️ ✏️ 🔒 👤 🗑️
↑ ↑
新增的
已审核员工:👁️ ✏️ 🔒 👤 🗑️
【详情对话框】工作信息增加审核信息
部门:技术部
账号状态:[正常]
审核状态:[审核通过] ← 新增
审核意见:符合要求 ← 新增(如有)
审核人:管理员 ← 新增(如有)
审核时间2024... ← 新增(如有)
================================
快速测试
================================
【测试1】查看统计
----------------------------------
1. 访问:用户管理 → 员工管理
2. 查看统计卡片
预期结果:
✅ 显示4个统计卡片
✅ 待审核1人李四
✅ 审核通过1人张三
✅ 已驳回1人王五
【测试2】添加员工
----------------------------------
1. 点击"添加员工"
2. 填写信息:
• 用户名test001
• 姓名:测试员工
• 手机号13800138888
• 部门:技术部
• 角色:操作员
3. 点击"保存"
预期结果:
✅ 保存成功
✅ 审核状态显示"待审核"
✅ 操作列显示审核按钮(✅❌)
✅ "待审核"统计+1
【测试3】审核通过
----------------------------------
1. 找到待审核员工(李四)
2. 点击 ✅ 按钮
3. 查看对话框内容
预期结果:
✅ 显示员工信息
✅ 有审核意见输入框(可选)
✅ 有"确认通过"按钮
继续操作:
1. 填写审核意见:"符合要求"
2. 点击"确认通过"
预期结果:
✅ 提示"审核通过"
✅ 状态变为"审核通过"
✅ 不再显示审核按钮
✅ "待审核"-1"审核通过"+1
【测试4】驳回员工
----------------------------------
1. 添加新员工(测试用)
2. 点击 ❌ 按钮
3. 不填驳回原因
4. 点击"确认驳回"
预期结果:
✅ 提示"请填写驳回原因"
✅ 不允许提交
继续操作:
1. 填写驳回原因:"资质不符"
2. 点击"确认驳回"
预期结果:
✅ 提示"已驳回"
✅ 状态变为"已驳回"
✅ 不再显示审核按钮
✅ "待审核"-1"已驳回"+1
【测试5】筛选功能
----------------------------------
操作1
1. 选择"审核状态" = "待审核"
预期结果:
✅ 只显示待审核员工
操作2
1. 选择"审核状态" = "审核通过"
预期结果:
✅ 只显示审核通过的员工
操作3
1. 选择"审核状态" = "已驳回"
预期结果:
✅ 只显示已驳回的员工
操作4组合筛选
1. 选择"账号状态" = "正常"
2. 选择"审核状态" = "待审核"
预期结果:
✅ 只显示正常且待审核的员工
【测试6】查看详情
----------------------------------
测试待审核员工:
1. 找到待审核员工
2. 点击 👁️ 查看详情
3. 查看"工作信息"部分
预期结果:
✅ 显示"待审核"徽章
✅ 不显示审核意见
✅ 不显示审核人
✅ 不显示审核时间
测试审核通过员工:
1. 找到审核通过员工(张三)
2. 点击 👁️ 查看详情
3. 查看"工作信息"部分
预期结果:
✅ 显示"审核通过"徽章
✅ 显示审核人:管理员
✅ 显示审核时间
✅ 显示审核意见(如有)
测试已驳回员工:
1. 找到已驳回员工(王五)
2. 点击 👁️ 查看详情
3. 查看"工作信息"部分
预期结果:
✅ 显示"已驳回"徽章
✅ 显示驳回原因:资质不符合要求
✅ 显示审核人:管理员
✅ 显示审核时间
【测试7】暗色模式
----------------------------------
1. 切换到暗色模式
2. 查看所有界面
预期结果:
✅ 徽章颜色清晰可见
✅ 按钮颜色正确
✅ 对话框样式正常
✅ 文字可读性好
================================
示例数据
================================
【员工1】张三 - 审核通过
username: zhangsan
name: 张三
phone: 13800138001
auditStatus: approved
auditTime: 2024-10-01T09:00:00
auditor: 管理员
【员工2】李四 - 待审核
username: lisi
name: 李四
phone: 13900139002
auditStatus: pending
【员工3】王五 - 已驳回
username: wangwu
name: 王五
phone: 13700137003
auditStatus: rejected
auditReason: 资质不符合要求
auditTime: 2024-10-10T16:00:00
auditor: 管理员
================================
审核流程
================================
添加员工
[待审核] ← 默认状态
├─→ 审核通过 → [审核通过]
│ ↓
│ 正常使用
└─→ 驳回 → [已驳回]
重新处理
================================
审核对话框
================================
【审核通过对话框】
┌────────────────────────┐
│ 审核通过 │
├────────────────────────┤
│ 确认审核通过该员工吗? │
│ │
│ 员工姓名:李四 │
│ 用户名lisi │
│ 手机号13900139002 │
│ │
│ 审核意见 │
│ ┌────────────────────┐ │
│ │ 选填:审核意见... │ │
│ │ │ │
│ └────────────────────┘ │
│ │
│ [取消] [确认通过] │
└────────────────────────┘
【驳回对话框】
┌────────────────────────┐
│ 驳回 │
├────────────────────────┤
│ 请填写驳回原因 │
│ │
│ 员工姓名:李四 │
│ 用户名lisi │
│ 手机号13900139002 │
│ │
│ 驳回原因 * │
│ ┌────────────────────┐ │
│ │ 请输入驳回原因... │ │
│ │ │ │
│ │ │ │
│ └────────────────────┘ │
│ │
│ [取消] [确认驳回] │
└────────────────────────┘
================================
数据兼容性
================================
【旧数据处理】
旧员工数据没有审核字段,
需要手动更新。
【更新脚本】
在浏览器控制台执行:
const employees = JSON.parse(
localStorage.getItem('smart_agriculture_employees') || '[]'
);
const updated = employees.map(emp => ({
...emp,
auditStatus: emp.auditStatus || 'approved'
}));
localStorage.setItem(
'smart_agriculture_employees',
JSON.stringify(updated)
);
location.reload();
================================
注意事项
================================
【审核通过】
✅ 审核意见:可选填
✅ 记录审核人和时间
✅ 操作后不可撤销
【驳回】
✅ 驳回原因:必填
✅ 记录审核人和时间
✅ 操作后不可撤销
【权限】
当前所有登录用户都可以审核
建议后续限制为管理员
【审核记录】
审核信息保存在员工对象中
包括:状态、原因、时间、审核人
================================
常见问题
================================
Q: 审核按钮不显示?
A: 只有"待审核"状态才显示,
已审核的员工不显示。
Q: 驳回原因必填吗?
A: 是的,驳回时必须填写原因,
审核通过时意见可选填。
Q: 可以撤销审核吗?
A: 当前版本不支持撤销,
审核后状态不可修改。
Q: 统计数据不对?
A: 检查是否有筛选条件,
清除筛选后查看。
Q: 旧员工没有审核状态?
A: 运行数据更新脚本,
将旧数据默认设为"审核通过"。
================================
访问路径
================================
中心配置管理系统
└─ 用户管理
└─ 员工管理
├─ 统计卡片4列
├─ 筛选器(含审核状态)
├─ 员工列表
│ ├─ 待审核员工(有审核按钮)
│ └─ 已审核员工(无审核按钮)
└─ 审核对话框
├─ 审核通过
└─ 驳回
================================
详细文档
================================
完整指南:
/components/config/EMPLOYEE_AUDIT_STATUS_GUIDE.md
字段优化说明:
/EMPLOYEE_MANAGEMENT_FIELD_UPDATE.md
快速参考:
/员工管理字段优化.txt
类型定义:
/types/user-management.ts
================================
修改文件
================================
类型定义:
• /types/user-management.ts
- 新增 AuditStatusType 类型
- Employee 接口新增审核字段
组件:
• /components/config/EmployeeManagement.tsx
- 添加审核状态管理
- 添加审核操作功能
- 添加审核对话框
- 更新统计和筛选
- 更新表格和详情
================================
功能清单
================================
已实现:
✅ 三种审核状态
✅ 审核状态徽章
✅ 审核操作按钮
✅ 审核通过对话框
✅ 驳回对话框(必填原因)
✅ 审核信息记录
✅ 4列统计卡片
✅ 审核状态筛选
✅ 表格显示审核状态
✅ 详情显示审核信息
✅ 暗色模式适配
✅ 新员工默认待审核
建议优化:
□ 审核权限控制
□ 审核历史记录
□ 审核提醒
□ 批量审核
□ 审核统计报表
================================
更新记录
================================
更新时间2024-10-27
功能状态:✅ 开发完成
测试状态:⏳ 待测试
影响范围:员工管理
向后兼容:✅ 兼容(需更新旧数据)
================================