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

106 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 农事执行—操作录入功能更新
## 更新时间
2025-10-20
## 更新内容
### 1. 操作参数自动带出
- 选择农事类型后,系统自动加载该类型对应的操作参数模板
- 根据参数类型(文本、数字、选择、日期)动态渲染不同的表单控件
- 显示参数是否必填、单位、选项等信息
- 显示参数描述,帮助用户正确填写
### 2. 移除智能录入工具模块
- 去掉了"智能录入工具"卡片,包括:
- 扫描农资条码功能
- 获取GPS定位功能
- 拍摄现场照片按钮(已移至独立模块)
- 简化了对话框界面,使其更加清晰
### 3. 新增现场图片上传功能
- 新增独立的"现场图片"卡片
- 支持点击上传或拖拽上传图片
- 支持多图上传最多10张
- 提供图片预览功能
- 可以删除已上传的图片
- 显示图片序号便于管理
## 技术实现
### 新增状态变量
```typescript
const [selectedOperationType, setSelectedOperationType] = useState<OperationTypeTemplate | null>(null);
const [uploadedPhotos, setUploadedPhotos] = useState<string[]>([]);
```
### 新增处理函数
- `handleOperationTypeChange`: 处理农事类型选择,自动加载参数模板
- `handlePhotoUpload`: 处理图片上传
- `handlePhotoRemove`: 删除已上传的图片
### 动态参数渲染
根据选择的农事类型,系统会:
1. 读取该类型的参数配置parameters数组
2. 遍历每个参数
3. 根据参数类型text/number/select/date渲染对应的表单控件
4. 显示必填标记(*
5. 显示单位kg、cm、亩等
6. 显示参数描述
## 使用说明
### 新增操作记录流程
1. 点击"新增记录"按钮
2. 选择农事类型(如:播种、施肥、灌溉等)
3. 系统自动显示该类型对应的操作参数表单
4. 填写基本信息(地块、执行人、日期等)
5. 填写自动生成的操作参数
6. 上传现场图片(可选)
7. 填写备注(可选)
8. 点击"保存记录"
### 图片上传
- 点击上传区域选择文件
- 或直接拖拽图片到上传区域
- 支持JPG、PNG格式
- 可上传多张图片
- 鼠标悬停在图片上可看到删除按钮
- 点击删除按钮可移除图片
## 参数模板示例
### 播种类型参数
- 作物品种(文本,必填)
- 种子品牌(文本,必填)
- 播种量数字必填单位kg
- 播种方式(选择,必填,选项:条播/穴播/撒播/点播)
- 行距数字选填单位cm
- 株距数字选填单位cm
- 播种深度数字必填单位cm
### 施肥类型参数
- 肥料类型(选择,必填)
- 肥料品牌(文本,必填)
- 施肥量数字必填单位kg/亩)
- 总用量数字必填单位kg
- 施肥方法(选择,必填)
- 施肥位置(文本,选填)
### 灌溉类型参数
- 灌溉方式(选择,必填)
- 灌溉时长(数字,必填,单位:小时)
- 水量数字必填单位
- 水源(选择,必填)
## 优势
1. **自动化程度高**:选择类型后自动加载参数,无需手动配置
2. **数据规范性强**:使用预定义的参数模板,确保数据完整性
3. **操作更简便**:界面简洁,操作流程清晰
4. **图片管理方便**:独立的图片上传模块,支持预览和删除
5. **灵活性好**:可以通过农事类型库自定义参数模板
## 文件位置
`/components/operation/OperationExecution.tsx`