生产管理系统前端 - 更新瓦力提交的产品原型到参考目录

This commit is contained in:
2025-10-23 10:57:14 +08:00
parent 83523dad64
commit 28229ce795
354 changed files with 147599 additions and 7892 deletions

View File

@@ -0,0 +1,148 @@
# 地块分类管理 - 新增与编辑功能完成
## ✅ 已完成功能
### 土壤类型管理
- ✅ 新增土壤类型
- ✅ 编辑土壤类型
- ✅ 删除土壤类型(至少保留一个)
- ✅ 颜色选择器12种预设颜色 + 自定义)
- ✅ 表单验证
- ✅ 数据持久化localStorage
### 种植模式管理
- ✅ 新增种植模式
- ✅ 编辑种植模式
- ✅ 删除种植模式(至少保留一个)
- ✅ Emoji图标选择器16种预设 + 自定义)
- ✅ 表单验证
- ✅ 数据持久化localStorage
## 🎯 如何访问
1. 登录系统
2. 点击顶部导航栏:**地块信息管理**
3. 左侧菜单选择:**分类与标签 → 分类与标签**
4. 点击右上角:**分类管理** 按钮
5. 在对话框中可以管理土壤类型和种植模式
## 🔧 如果遇到 ERR_CONNECTION_REFUSED 错误
这个错误表示开发服务器没有运行。请按照以下步骤操作:
### 方法一:重启开发服务器(推荐)
1. **停止当前服务器**(如果正在运行)
- 在终端按 `Ctrl + C`
2. **清除缓存并重启**
```bash
# 清除 node_modules/.cache
rm -rf node_modules/.cache
# 重启开发服务器
npm run dev
```
3. **完全刷新浏览器**
- Windows/Linux: `Ctrl + Shift + R`
- Mac: `Cmd + Shift + R`
### 方法二:硬重置
如果方法一不起作用,尝试完全重置:
```bash
# 停止服务器
Ctrl + C
# 删除缓存
rm -rf node_modules/.cache
rm -rf .vite
# 重新安装依赖(可选)
npm install
# 启动服务器
npm run dev
```
### 方法三:检查端口占用
```bash
# 查看端口占用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`
## ⚠️ 注意事项
1. **至少保留一个分类**:删除时会检查,确保系统中至少有一个土壤类型和一个种植模式
2. **删除提醒**:删除分类前会提示用户该分类的地块需要重新设置
3. **自动保存**:所有修改会自动保存到 localStorage
4. **时间戳**:每次修改都会更新 `updatedAt` 时间戳
## 🔍 测试建议
1. **新增测试**
- 尝试新增一个新的土壤类型
- 尝试新增一个新的种植模式
- 检查数据是否保存成功
2. **编辑测试**
- 点击编辑按钮
- 修改名称、描述、颜色/图标
- 保存并验证修改
3. **删除测试**
- 尝试删除非最后一个分类
- 尝试删除最后一个分类(应该被阻止)
4. **表单验证测试**
- 尝试提交空表单
- 检查必填项验证
## 📦 相关文件
- `/components/field/FieldClassificationManagement.tsx` - 主组件
- `/components/field/FieldClassification.tsx` - 父组件
- `/types/field.ts` - 类型定义
---
**状态**: ✅ 功能开发完成
**日期**: 2025-10-18
**版本**: v1.0