Files
smart-crop-ui/src/DYNAMIC_CLASSIFICATION_GUIDE.md

11 KiB
Raw Blame History

动态农机分类使用指南

🎯 功能说明

系统现已支持使用手动添加的农机类型和使用场景数据。您在"分类管理"中添加的自定义类型和场景会自动出现在以下位置:

1. 农机档案表单

位置: 新增/编辑农机时 功能:

  • "农机类型"下拉框会显示所有自定义类型
  • "使用场景"下拉框会显示所有自定义场景
  • 实时同步,添加后立即可用

2. 农机列表筛选

位置: 农机档案列表页面 功能:

  • 筛选栏的"农机类型"选择器包含所有自定义类型
  • 筛选栏的"使用场景"选择器包含所有自定义场景
  • 支持按任意分类/标签组合进行过滤

🚀 完整使用流程

步骤1: 添加自定义农机类型

1. 进入"农机档案"页面
2. 点击"分类管理"按钮
3. 切换到"农机类型"标签
4. 点击"新增类型"
5. 填写类型信息:
   ├─ 类型编码: YJSJ
   ├─ 类型名称: 育秧设备
   └─ 描述: 用于水稻育秧作业
6. 点击"保存"
✅ 新类型已添加!

步骤2: 在表单中使用新类型

1. 点击"新增农机"按钮
2. 在"农机类型"下拉框中
   ✅ 看到"育秧设备"选项
3. 选择"育秧设备"
4. 继续填写其他信息
5. 保存农机档案
✅ 农机已归类到"育秧设备"

步骤3: 按新类型筛选

1. 在农机列表页面
2. 点击"农机类型"筛选器
   ✅ 看到"育秧设备"选项
3. 选择"育秧设备"
✅ 列表只显示该类型的设备!

📊 数据同步机制

自动同步时机

农机表单:

// 每次打开表单时,自动从 localStorage 加载最新数据
useEffect(() => {
  loadMachineryTypes();    // 加载农机类型
  loadUsageScenarios();    // 加载使用场景
}, [open]);

农机列表:

// 当设备列表更新时,重新加载分类数据
useEffect(() => {
  loadMachineryTypes();    // 加载农机类型
  loadUsageScenarios();    // 加载使用场景
}, [machinery]);

数据存储

localStorage 存储键:
├─ machinery_types     → 农机类型数据
└─ usage_scenarios     → 使用场景数据

🔄 数据合并策略

系统会将预置数据和自定义数据合并:

农机类型合并

// 预置类型
const defaultTypes = ['耕地机械', '播种机械', '收获机械', 
                      '植保机械', '灌溉机械', '运输机械', '其他'];

// 自定义类型(从分类管理添加)
const customTypes = ['育秧设备', '烘干设备', '加工机械'];

// 最终显示(去重)
const allTypes = [...customTypes, '其他'];
// 结果: ['育秧设备', '烘干设备', '加工机械', ... , '其他']

使用场景合并

// 预置场景
const defaultScenarios = ['旱地', '水田', '通用', '其他'];

// 自定义场景(从分类管理添加)
const customScenarios = ['耕地作业', '播种作业', '植保作业', 
                         '收获作业', '灌溉作业', '运输作业'];

// 最终显示(去重)
const allScenarios = [...customScenarios, '其他'];
// 结果: ['耕地作业', '播种作业', ... , '其他']

🎨 界面效果

农机表单中的下拉框

农机类型选择器:

┌─────────────────────────┐
│ 农机类型 *              │
├─────────────────────────┤
│ [选择类型 ▼]            │
│                         │
│ • 拖拉机                │
│ • 收割机                │
│ • 播种机                │
│ • 植保机                │
│ • 育秧设备 ← 自定义     │
│ • 烘干设备 ← 自定义     │
│ • 其他                  │
└─────────────────────────┘
提示: 可在"分类管理"中添加自定义类型

使用场景选择器:

┌─────────────────────────┐
│ 使用场景 *              │
├─────────────────────────┤
│ [选择场景 ▼]            │
│                         │
│ • 耕地作业 ← 自定义     │
│ • 播种作业 ← 自定义     │
│ • 植保作业 ← 自定义     │
│ • 收获作业 ← 自定义     │
│ • 灌溉作业 ← 自定义     │
│ • 运输作业 ← 自定义     │
│ • 其他                  │
└─────────────────────────┘
提示: 可在"分类管理"中添加自定义场景

列表页面的筛选器

┌──────────────────────────────────────────────────────────┐
│ [搜索框...] [农机类型 ▼] [使用场景 ▼] [设备状态 ▼] [清空] │
│                                                          │
│ ┌──────────────┐  ┌──────────────┐                      │
│ │ 全部类型      │  │ 全部场景      │                      │
│ │ 拖拉机        │  │ 耕地作业 ✓   │  ← 支持自定义分类    │
│ │ 收割机        │  │ 播种作业      │                      │
│ │ 播种机        │  │ 植保作业      │                      │
│ │ 育秧设备 ✓   │  │ 收获作业      │                      │
│ │ 烘干设备      │  │ 灌溉作业      │                      │
│ └──────────────┘  └──────────────┘                      │
└──────────────────────────────────────────────────────────┘

💡 使用技巧

技巧1: 批量设置类型

如果需要给多台设备设置相同的类型:

1. 先在分类管理中添加类型
2. 批量编辑设备时统一选择
3. 避免重复创建相似类型

技巧2: 场景关联

建议将类型和场景关联使用:

类型: 拖拉机
场景: 耕地作业、运输作业

类型: 播种机
场景: 播种作业

类型: 收割机
场景: 收获作业

技巧3: 统一命名规范

保持命名一致性:

✅ 推荐:
   - 耕地作业、播种作业、收获作业
   - 拖拉机、播种机、收割机

❌ 避免:
   - 耕地、耕地作业、田间耕地
   - 拖拉机、拖拉机设备、拖拉机械

🔍 高级筛选

组合筛选示例

示例1: 筛选旱地使用的拖拉机

农机类型: 拖拉机
使用场景: 旱地
设备状态: 正常

示例2: 筛选需要维护的播种设备

农机类型: 播种机
设备状态: 待维护

示例3: 按标签和场景筛选

使用场景: 耕地作业
标签: 重点设备

筛选逻辑

// 所有筛选条件为 AND 关系
if (类型匹配 && 场景匹配 && 状态匹配 && 标签匹配 && 关键词匹配) {
  显示该设备
}

📈 统计分析

按自定义分类统计

在"分类管理" → "统计分析"页面可以看到:

农机类型分布:
├─ 拖拉机      ████████████ 12台 (32%)
├─ 播种机      ████████ 8台     (21%)
├─ 收割机      ██████ 6台       (16%)
├─ 育秧设备    ████ 4台         (11%)  ← 自定义
└─ 烘干设备    ██ 2台           (5%)   ← 自定义

使用场景分布:
├─ 耕地作业    ██████████████ 15台 (39%)  ← 自定义
├─ 播种作业    ██████████ 10台     (26%)  ← 自定义
├─ 收获作业    ████████ 8台       (21%)   ← 自定义
└─ 运输作业    ████ 5台           (13%)   ← 自定义

⚠️ 注意事项

1. 类型删除影响

⚠️ 删除类型前检查:
- 确认没有设备使用该类型
- 系统会显示关联设备数量
- 建议先修改设备类型再删除

2. 命名冲突

⚠️ 避免重复命名:
- 系统不会阻止重复名称
- 但会导致混淆
- 建议使用唯一的名称

3. 数据一致性

⚠️ 保持数据准确:
- 定期检查分类是否合理
- 清理不再使用的分类
- 统一团队的分类标准

🔧 故障排查

问题1: 新类型不显示

症状: 添加了类型但表单中看不到

解决方案:

1. 关闭并重新打开表单
2. 刷新浏览器页面
3. 检查浏览器控制台是否有错误
4. 确认 localStorage 中有数据

问题2: 筛选不生效

症状: 选择类型筛选但列表不更新

解决方案:

1. 点击"清空筛选"重置
2. 刷新页面
3. 检查设备数据中的类型字段是否匹配

问题3: 数据丢失

症状: 添加的类型突然消失

解决方案:

1. 检查是否清除了浏览器数据
2. localStorage 数据在清除缓存时会丢失
3. 建议定期导出数据备份(未来功能)

📱 移动端支持

系统在移动设备上同样支持动态分类:

✅ 触摸选择类型和场景
✅ 下拉菜单自适应屏幕
✅ 筛选器响应式布局

🔮 未来增强

计划中的功能:

1. 批量操作

- [ ] 批量修改设备类型
- [ ] 批量修改使用场景
- [ ] 导入时自动匹配分类

2. 智能推荐

- [ ] 根据设备名称智能推荐类型
- [ ] 根据型号推荐使用场景
- [ ] 学习用户的分类习惯

3. 数据同步

- [ ] 云端存储分类数据
- [ ] 团队共享分类体系
- [ ] 跨设备同步

📞 技术支持

常见问题

Q: 可以修改预置的类型吗? A: 预置类型不可修改,但你可以添加自定义类型。

Q: 删除类型会删除设备吗? A: 不会,但会显示警告提示该类型下的设备数量。

Q: 数据存储在哪里? A: 存储在浏览器的 localStorage 中。

Q: 会与其他用户共享吗? A: 目前是本地存储,不同浏览器/用户独立。


🎉 总结

动态分类功能让您可以:

自由定义农机类型和使用场景 表单中实时使用自定义分类 灵活筛选和统计分析 适应不同的业务需求

现在开始使用吧!

农机档案 → 分类管理 → 添加分类 → 在表单中使用 🚀

文档版本: v1.0.0
更新时间: 2025-10-16
适用版本: 智慧农业生产管理系统 v2.0+


📚 相关文档