# 动态农机分类使用指南 ## 🎯 功能说明 系统现已支持使用手动添加的农机类型和使用场景数据。您在"分类管理"中添加的自定义类型和场景会自动出现在以下位置: ### 1. 农机档案表单 **位置**: 新增/编辑农机时 **功能**: - ✅ "农机类型"下拉框会显示所有自定义类型 - ✅ "使用场景"下拉框会显示所有自定义场景 - ✅ 实时同步,添加后立即可用 ### 2. 农机列表筛选 **位置**: 农机档案列表页面 **功能**: - ✅ 筛选栏的"农机类型"选择器包含所有自定义类型 - ✅ 筛选栏的"使用场景"选择器包含所有自定义场景 - ✅ 支持按任意分类/标签组合进行过滤 --- ## 🚀 完整使用流程 ### 步骤1: 添加自定义农机类型 ``` 1. 进入"农机档案"页面 2. 点击"分类管理"按钮 3. 切换到"农机类型"标签 4. 点击"新增类型" 5. 填写类型信息: ├─ 类型编码: YJSJ ├─ 类型名称: 育秧设备 └─ 描述: 用于水稻育秧作业 6. 点击"保存" ✅ 新类型已添加! ``` ### 步骤2: 在表单中使用新类型 ``` 1. 点击"新增农机"按钮 2. 在"农机类型"下拉框中 ✅ 看到"育秧设备"选项 3. 选择"育秧设备" 4. 继续填写其他信息 5. 保存农机档案 ✅ 农机已归类到"育秧设备"! ``` ### 步骤3: 按新类型筛选 ``` 1. 在农机列表页面 2. 点击"农机类型"筛选器 ✅ 看到"育秧设备"选项 3. 选择"育秧设备" ✅ 列表只显示该类型的设备! ``` --- ## 📊 数据同步机制 ### 自动同步时机 **农机表单**: ```typescript // 每次打开表单时,自动从 localStorage 加载最新数据 useEffect(() => { loadMachineryTypes(); // 加载农机类型 loadUsageScenarios(); // 加载使用场景 }, [open]); ``` **农机列表**: ```typescript // 当设备列表更新时,重新加载分类数据 useEffect(() => { loadMachineryTypes(); // 加载农机类型 loadUsageScenarios(); // 加载使用场景 }, [machinery]); ``` ### 数据存储 ``` localStorage 存储键: ├─ machinery_types → 农机类型数据 └─ usage_scenarios → 使用场景数据 ``` --- ## 🔄 数据合并策略 系统会将预置数据和自定义数据合并: ### 农机类型合并 ```typescript // 预置类型 const defaultTypes = ['耕地机械', '播种机械', '收获机械', '植保机械', '灌溉机械', '运输机械', '其他']; // 自定义类型(从分类管理添加) const customTypes = ['育秧设备', '烘干设备', '加工机械']; // 最终显示(去重) const allTypes = [...customTypes, '其他']; // 结果: ['育秧设备', '烘干设备', '加工机械', ... , '其他'] ``` ### 使用场景合并 ```typescript // 预置场景 const defaultScenarios = ['旱地', '水田', '通用', '其他']; // 自定义场景(从分类管理添加) const customScenarios = ['耕地作业', '播种作业', '植保作业', '收获作业', '灌溉作业', '运输作业']; // 最终显示(去重) const allScenarios = [...customScenarios, '其他']; // 结果: ['耕地作业', '播种作业', ... , '其他'] ``` --- ## 🎨 界面效果 ### 农机表单中的下拉框 **农机类型选择器**: ``` ┌─────────────────────────┐ │ 农机类型 * │ ├─────────────────────────┤ │ [选择类型 ▼] │ │ │ │ • 拖拉机 │ │ • 收割机 │ │ • 播种机 │ │ • 植保机 │ │ • 育秧设备 ← 自定义 │ │ • 烘干设备 ← 自定义 │ │ • 其他 │ └─────────────────────────┘ 提示: 可在"分类管理"中添加自定义类型 ``` **使用场景选择器**: ``` ┌─────────────────────────┐ │ 使用场景 * │ ├─────────────────────────┤ │ [选择场景 ▼] │ │ │ │ • 耕地作业 ← 自定义 │ │ • 播种作业 ← 自定义 │ │ • 植保作业 ← 自定义 │ │ • 收获作业 ← 自定义 │ │ • 灌溉作业 ← 自定义 │ │ • 运输作业 ← 自定义 │ │ • 其他 │ └─────────────────────────┘ 提示: 可在"分类管理"中添加自定义场景 ``` ### 列表页面的筛选器 ``` ┌──────────────────────────────────────────────────────────┐ │ [搜索框...] [农机类型 ▼] [使用场景 ▼] [设备状态 ▼] [清空] │ │ │ │ ┌──────────────┐ ┌──────────────┐ │ │ │ 全部类型 │ │ 全部场景 │ │ │ │ 拖拉机 │ │ 耕地作业 ✓ │ ← 支持自定义分类 │ │ │ 收割机 │ │ 播种作业 │ │ │ │ 播种机 │ │ 植保作业 │ │ │ │ 育秧设备 ✓ │ │ 收获作业 │ │ │ │ 烘干设备 │ │ 灌溉作业 │ │ │ └──────────────┘ └──────────────┘ │ └──────────────────────────────────────────────────────────┘ ``` --- ## 💡 使用技巧 ### 技巧1: 批量设置类型 如果需要给多台设备设置相同的类型: ``` 1. 先在分类管理中添加类型 2. 批量编辑设备时统一选择 3. 避免重复创建相似类型 ``` ### 技巧2: 场景关联 建议将类型和场景关联使用: ``` 类型: 拖拉机 场景: 耕地作业、运输作业 类型: 播种机 场景: 播种作业 类型: 收割机 场景: 收获作业 ``` ### 技巧3: 统一命名规范 保持命名一致性: ``` ✅ 推荐: - 耕地作业、播种作业、收获作业 - 拖拉机、播种机、收割机 ❌ 避免: - 耕地、耕地作业、田间耕地 - 拖拉机、拖拉机设备、拖拉机械 ``` --- ## 🔍 高级筛选 ### 组合筛选示例 **示例1: 筛选旱地使用的拖拉机** ``` 农机类型: 拖拉机 使用场景: 旱地 设备状态: 正常 ``` **示例2: 筛选需要维护的播种设备** ``` 农机类型: 播种机 设备状态: 待维护 ``` **示例3: 按标签和场景筛选** ``` 使用场景: 耕地作业 标签: 重点设备 ``` ### 筛选逻辑 ```typescript // 所有筛选条件为 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+ --- ## 📚 相关文档 - [农机分类管理功能说明](/components/machinery/CLASSIFICATION_MANAGEMENT_README.md) - [分类管理集成总结](/CLASSIFICATION_INTEGRATION_SUMMARY.md) - [快速上手指南](/CLASSIFICATION_QUICK_START.md)