# 中心配置管理系统

## 系统概述

中心配置管理系统是智慧农业生产管理系统的核心配置模块，提供完整的租户管理、用户权限管理和访问控制功能。

## 菜单结构

### 一、租户管理
企业和平台用户的集中管理模块

### 二、用户管理
员工、角色、菜单和权限的配置管理模块

## 功能模块

---

## 一、租户管理

### 1.1 企业审核

**功能描述：**
超级管理员全面管理系统内所有企业的注册与变更审核流程。

**核心功能：**
- ✅ 企业列表查看和搜索
- ✅ 多条件筛选（名称、状态、信用代码）
- ✅ 企业详情查看
- ✅ 审核通过/驳回操作
- ✅ 审核意见填写
- ✅ 审核日志记录
- ✅ 统计数据展示

**使用场景：**
1. 新企业注册审核
2. 企业信息变更审核
3. 审核历史查询
4. 企业资质验证

**数据存储：**
`smart_agriculture_enterprises`

---

### 1.2 审核历史

**功能描述：**
超级管理员可追溯查询全部企业的历史审核记录。

**核心功能：**
- ✅ 完整的审核历史查询
- ✅ 多维度筛选（企业名称、审核时间、审核结果）
- ✅ 审核类型分类（注册审核、变更审核）
- ✅ 时间范围筛选（今天、近7天、近30天、近90天）
- ✅ 审核流程时间线展示
- ✅ 详细审核信息查看
- ✅ 审核记录导出

**使用场景：**
1. 审计稽查
2. 流程回溯
3. 数据分析
4. 合规检查

**审核信息包含：**
- 基本信息：企业名称、审核类型
- 时间信息：提交时间、审核时间
- 人员信息：审核人员
- 结果信息：审核结果、驳回原因、审核备注

**数据存储：**
`smart_agriculture_audit_records`

**特色功能：**
- 审核流程时间线可视化
- 完整的审核轨迹追踪
- 灵活的时间范围筛选
- 一键导出审核记录

---

### 1.3 企业信息

**功能描述：**
企业用户查看和维护本企业的详细注册信息及当前审核状态。

**核心功能：**
- ✅ 企业基本信息展示
- ✅ 信息编辑功能
- ✅ 审核状态查看
- ✅ 修改历史记录
- ✅ 审核意见查看

**使用场景：**
1. 查看企业信息
2. 更新企业资料
3. 追踪审核进度

**权限控制：**
- 企业管理员：可查看和编辑
- 普通员工：仅可查看

---

### 1.4 用户管理

**功能描述：**
超级管理员对平台所有用户账户的集中管理。

**核心功能：**
- ✅ 跨租户用户查看
- ✅ 新增用户（手动）
- ✅ 编辑用户属性
- ✅ 多维度搜索（用户名、手机号、企业）
- ✅ 查看详情
- ✅ 重置密码
- ✅ 冻结/解冻账户
- ✅ 删除用户
- ✅ 数据导出

**用户类型：**
- 超级管理员：系统最高权限
- 企业管理员：企业级管理权限
- 员工：普通用户权限

**数据存储：**
`smart_agriculture_users`

---

## 二、用户管理

### 2.1 员工管理

**功能描述：**
企业管理员全面管理本企业下的员工账户体系，包括查看员工账户列表、新增员工账号、修改员工基本信息、搜索指定员工、查看详情、执行密码重置，以及进行账户的冻结、解冻和删除等操作。支持批量导入导出，有效提升中大型企业人员管理的效率，确保内部用户体系安全有序。

**核心功能：**
- ✅ 查看员工账户列表
- ✅ 新增员工账号
- ✅ 修改员工基本信息
- ✅ 搜索指定员工
- ✅ 查看详情
- ✅ 执行密码重置
- ✅ 冻结/解冻账户
- ✅ 删除员工
- ✅ 批量导入导出

**员工信息包含：**
- 基本信息：姓名、用户名、电话、邮箱
- 组织信息：部门、职位
- 权限信息：角色分配
- 状态信息：正常、冻结
- 登录信息：最后登录时间

**数据存储：**
`smart_agriculture_employees`

---

### 2.2 角色管理

**功能描述：**
实现基于角色的访问控制（RBAC），支持按职能划分系统角色，灵活配置各角色可访问的系统、功能菜单及数据权限。提供角色列表查看、新增角色、编辑权限集、角色检索、删除角色、配置关联用户、定义角色首页视图及导入导出等功能，满足不同企业复杂权限管理需求，实现权限分配的标准化与高效化。

**核心功能：**
- ✅ 角色列表查看
- ✅ 新增角色
- ✅ 编辑权限集
- ✅ 角色检索
- ✅ 删除角色
- ✅ 配置关联用户
- ✅ 定义角色首页视图
- ✅ 灵活配置各角色可访问的系统、功能菜单及数据权限
- ✅ 导入导出功能

**预置角色：**
1. **超级管理员** (super_admin)
   - 全部系统权限
   - 全部菜单访问
   - 用户和企业管理

2. **企业管理员** (enterprise_admin)
   - 企业数据管理
   - 员工管理
   - 农机管理

3. **操作员** (operator)
   - 设备操作权限
   - 数据查看权限
   - 作业执行权限

4. **维修员** (maintenance)
   - 设备维护权限
   - 故障诊断权限

**角色类型：**
- 系统角色：预定义，不可删除
- 自定义角色：可灵活创建和配置

**数据存储：**
`smart_agriculture_roles`

---

### 2.3 菜单管理

**功能描述：**
树形结构可视化配置各个业务系统的菜单体系。

**核心功能：**
- ✅ 菜单树形展示
- ✅ 一级菜单管理
- ✅ 二级菜单管理
- ✅ 按钮权限管理
- ✅ 菜单排序
- ✅ 显示/隐藏控制

**菜单结构：**
```
系统 (7个)
├── 一级菜单
│   ├── 二级菜单
│   │   └── 按钮权限
```

**菜单属性：**
- 菜单名称
- 菜单图标
- 路由地址
- 权限标识
- 排序号
- 显示状态

---

### 2.4 权限配置管理

**功能描述：**
对系统内所有功能模块与操作按钮（如增删改查、导入导出、设备控制等）进行精细化权限划分与管理。支持界面元素级别权限控制，确保不同角色用户仅可访问被授权功能和数据，实现系统安全与功能灵活分配之间的高度平衡。

**核心功能：**
- ✅ 权限列表管理
- ✅ 添加新权限
- ✅ 编辑权限
- ✅ 权限检索
- ✅ 按类型筛选
- ✅ 删除权限
- ✅ 界面元素级别权限控制

**权限类型：**
1. **查看** (view)：查看数据和页面
2. **新增** (add)：添加新数据
3. **编辑** (edit)：修改数据
4. **删除** (delete)：删除数据
5. **导出** (export)：导出数据
6. **导入** (import)：导入数据
7. **审核** (approve)：审批操作
8. **控制** (control)：设备控制

**权限命名规范：**
```
模块:操作
如：machinery:view (查看农机)
    machinery:control (控制农机)
    user:add (添加用户)
```

**数据存储：**
`smart_agriculture_permissions`

---

## 权限体系架构

```
用户 (User)
  │
  ├─ 分配角色 → 角色 (Role)
  │               │
  │               ├─ 菜单权限 → 菜单 (Menu)
  │               └─ 功能权限 → 权限 (Permission)
  │
  └─ 所属企业 → 企业 (Enterprise)
                  │
                  └─ 审核状态 → 审核记录 (Audit)
```

## 数据关系

```
Enterprise (企业)
  ├── User (用户) - 多对一
  └── Employee (员工) - 一对多

User (用户)
  ├── Role (角色) - 多对多
  └── Enterprise (企业) - 多对一

Role (角色)
  ├── Menu (菜单) - 多对多
  └── Permission (权限) - 多对多
```

## 使用流程

### 新企业入驻流程

1. **企业注册** → 提交企业信息
2. **等待审核** → 超级管理员审核
3. **审核通过** → 企业状态激活
4. **创建管理员** → 为企业创建管理员账号
5. **分配角色** → 分配企业管理员角色
6. **开始使用** → 企业管理���可以登录系统

### 员工管理流程

1. **添加员工** → 企业管理员添加员工信息
2. **分配角色** → 为员工分配相应角色
3. **设置权限** → 根据职责配置菜单和功能权限
4. **账号激活** → 员工可以登录使用系统

### 权限配置流程

1. **创建权限** → 定义功能操作权限
2. **创建角色** → 定义用户角色
3. **配置权限** → 为角色分配菜单和功能权限
4. **分配角色** → 为用户分配角色
5. **权限生效** → 用户获得相应权限

## 安全机制

### 1. 多级权限控制
- 企业级隔离
- 角色级授权
- 功能级控制
- 数据级过滤

### 2. 账户安全
- 密码加密存储
- 登录日志记录
- 异常登录检测
- 账户冻结机制

### 3. 审计追踪
- 操作日志记录
- 审核历史保存
- 数据变更追踪
- 完整追溯链

## 最佳实践

### 1. 角色设计原则
- 按职能划分角色
- 最小权限原则
- 职责分离原则
- 便于管理维护

### 2. 权限配置建议
- 规范权限命名
- 模块化权限设计
- 粒度适中
- 定期审查权限

### 3. 企业管理建议
- 及时审核企业信息
- 严格验证企业资质
- 定期检查企业状态
- 保持沟通渠道畅通

### 4. 用户管理建议
- 规范用户命名
- 及时清理无效账号
- 定期审查权限
- 强制密码策略

## 技术实现

### 数据存储
- localStorage 本地存储
- JSON 格式数据
- 实时数据同步

### 状态管理
- React Hooks
- 本地状态管理
- 即时更新机制

### UI 组件
- Shadcn/ui 组件库
- Tailwind CSS 样式
- 响应式设计

## 注意事项

1. **系统角色** 不能删除，只能修改描述和权限
2. **超级管理员** 账户不能删除和冻结
3. **企业信息修改** 后需要重新审核
4. **权限变更** 需要用户重新登录生效
5. **账户冻结** 立即生效，用户无法登录
6. **数据导出** 需要相应权限

## 常见问题

**Q: 如何添加新员工？**
A: 企业管理员登录 → 员工管理 → 添加员工 → 填写信息 → 保存

**Q: 如何重置员工密码？**
A: 在员工列表中点击密码重置按钮，密码将重置为 123456

**Q: 如何配置角色权限？**
A: 角色管理 → 编辑角色 → 配置菜单权限和功能权限 → 保存

**Q: 企业审核需要多久？**
A: 超级管理员会在1-2个工作日内完成审核

**Q: 如何查看审核历史？**
A: 企业审核 → 选择已审核的企业 → 查看详情

## 更新日志

### v1.0.0 (2024-10-14)
- ✅ 完成企业审核功能
- ✅ 完成企业信息管理
- ✅ 完成员工管理功能
- ✅ 完成用户管理功能
- ✅ 完成角色管理功能
- ✅ 完成菜单管理功能
- ✅ 完成权限配置管理功能
- ✅ 实现完整的RBAC权限体系

## 联系支持

如有问题或建议，请联系系统管理员。
