3.6 KiB
3.6 KiB
地块分类管理 - 新增与编辑功能完成
✅ 已完成功能
土壤类型管理
- ✅ 新增土壤类型
- ✅ 编辑土壤类型
- ✅ 删除土壤类型(至少保留一个)
- ✅ 颜色选择器(12种预设颜色 + 自定义)
- ✅ 表单验证
- ✅ 数据持久化(localStorage)
种植模式管理
- ✅ 新增种植模式
- ✅ 编辑种植模式
- ✅ 删除种植模式(至少保留一个)
- ✅ Emoji图标选择器(16种预设 + 自定义)
- ✅ 表单验证
- ✅ 数据持久化(localStorage)
🎯 如何访问
- 登录系统
- 点击顶部导航栏:地块信息管理
- 左侧菜单选择:分类与标签 → 分类与标签
- 点击右上角:分类管理 按钮
- 在对话框中可以管理土壤类型和种植模式
🔧 如果遇到 ERR_CONNECTION_REFUSED 错误
这个错误表示开发服务器没有运行。请按照以下步骤操作:
方法一:重启开发服务器(推荐)
-
停止当前服务器(如果正在运行)
- 在终端按
Ctrl + C
- 在终端按
-
清除缓存并重启
# 清除 node_modules/.cache rm -rf node_modules/.cache # 重启开发服务器 npm run dev -
完全刷新浏览器
- Windows/Linux:
Ctrl + Shift + R - Mac:
Cmd + Shift + R
- Windows/Linux:
方法二:硬重置
如果方法一不起作用,尝试完全重置:
# 停止服务器
Ctrl + C
# 删除缓存
rm -rf node_modules/.cache
rm -rf .vite
# 重新安装依赖(可选)
npm install
# 启动服务器
npm run dev
方法三:检查端口占用
# 查看端口占用(Mac/Linux)
lsof -i :5173
# 查看端口占用(Windows)
netstat -ano | findstr :5173
# 如果端口被占用,杀掉进程或换个端口
npm run dev -- --port 5174
📋 功能特点
土壤类型表单字段
- 类型标识 (key): 英文小写,如
sandy - 类型名称 (name): 中文名称,如
沙土 - 描述 (description): 可选
- 颜色标识 (color): 可选择预设颜色或自定义
种植模式表单字段
- 模式标识 (key): 英文小写,如
open-field - 模式名称 (name): 中文名称,如
露地 - 描述 (description): 可选
- 图标选择 (emoji): 可选择预设图标或自定义
🎨 界面风格
- 与农机分类管理完全一致
- 绿色农业主题(绿色按钮)
- 响应式设计
- 友好的提示信息
- 表单验证反馈
💾 数据存储
数据保存在浏览器 localStorage:
- 土壤类型:
field_soil_types - 种植模式:
field_planting_modes
⚠️ 注意事项
- 至少保留一个分类:删除时会检查,确保系统中至少有一个土壤类型和一个种植模式
- 删除提醒:删除分类前会提示用户该分类的地块需要重新设置
- 自动保存:所有修改会自动保存到 localStorage
- 时间戳:每次修改都会更新
updatedAt时间戳
🔍 测试建议
-
新增测试
- 尝试新增一个新的土壤类型
- 尝试新增一个新的种植模式
- 检查数据是否保存成功
-
编辑测试
- 点击编辑按钮
- 修改名称、描述、颜色/图标
- 保存并验证修改
-
删除测试
- 尝试删除非最后一个分类
- 尝试删除最后一个分类(应该被阻止)
-
表单验证测试
- 尝试提交空表单
- 检查必填项验证
📦 相关文件
/components/field/FieldClassificationManagement.tsx- 主组件/components/field/FieldClassification.tsx- 父组件/types/field.ts- 类型定义
状态: ✅ 功能开发完成
日期: 2025-10-18
版本: v1.0