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

168 lines
5.1 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.

# 地块版本历史示例数据指南
## 概述
为了更好地演示地块版本管理功能系统会自动为前3个地块生成示例版本历史数据。
## 示例数据内容
每个地块将生成 **8个版本记录**,展示了地块从创建到完善的完整生命周期:
### 版本1创建地块
- **变更类型**:创建
- **操作人**:系统管理员
- **说明**:初始创建地块,录入基本信息和边界
### 版本2更新基本信息
- **变更类型**:属性更新
- **操作人**:王芳
- **变更内容**
- 更新实测面积15.5亩 → 16.2亩
- 完善权属人信息:张三 → 张三(已确权)
- 添加确权证号JX202401001
- **说明**:完善权属信息,更新实测面积
### 版本3添加标签
- **变更类型**:属性更新
- **操作人**:李明
- **变更内容**
- 添加标签:优质地块 → 优质地块、高产田、水源充足
- **说明**:根据实地考察添加标签
### 版本4调整边界
- **变更类型**:边界更新
- **操作人**:测绘组-赵强
- **变更内容**
- 边界点数量4个 → 5个
- 面积16.2亩 → 16.8亩
- 周长520米 → 545米
- **说明**使用RTK重新测绘边界更精确
### 版本5更新土壤信息
- **变更类型**:属性更新
- **操作人**:农技员-孙莉
- **变更内容**
- 土壤类型:壤土 → 粘土
- 添加海拔45米
- 添加坡度3.5度
- **说明**:土壤检测后更新土壤类型,补充地形数据
### 版本6更改种植模式
- **变更类型**:属性更新
- **操作人**:张三
- **变更内容**
- 种植模式:露地 → 大棚
- 添加水源情况:水渠灌溉
- **说明**:建设温室大棚,改变种植模式
### 版本7补充坡向信息
- **变更类型**:属性更新
- **操作人**:农技员-孙莉
- **变更内容**
- 添加坡向:东南
- 添加备注:光照条件良好,适合蔬菜种植
- **说明**:完善地块基础信息
### 版本8更新联系方式
- **变更类型**:属性更新
- **操作人**:系统管理员
- **变更内容**
- 联系电话13800138001 → 13900139001
- **说明**:应权属人要求更新联系电话
## 如何查看版本历史
1. 打开 **地块信息管理 → 地块档案管理**
2. 在地块列表中,点击任意地块右侧的 **版本历史** 按钮(蓝色图标)
3. 在弹出的对话框中查看完整的版本历史
## 功能特性
### 版本列表展示
- ✅ 按时间倒序显示所有版本
- ✅ 每个版本显示版本号、变更类型、操作人、时间
- ✅ 变更类型使用不同颜色的徽章区分:
- 创建(绿色)
- 属性更新(蓝色)
- 边界更新(紫色)
- 合并(橙色)
- 拆分(红色)
### 版本详情
- ✅ 点击"查看详情"展开显示变更内容
- ✅ 以表格形式展示每个字段的变更
- ✅ 清晰对比变更前后的值
- ✅ 中文字段名显示
### 统计信息
- ✅ 显示总版本数
- ✅ 显示当前版本号
- ✅ 显示最后更新时间
- ✅ 按变更类型统计
## 自动初始化
系统会在以下情况下自动初始化示例数据:
1. **首次加载地块列表**自动为前3个地块生成示例版本
2. **已有数据跳过**:如果地块已有版本数据,则不会重复生成
## 开发者工具
在浏览器控制台可以使用以下命令:
### 初始化示例数据
```javascript
// 为所有地块最多前3个初始化版本历史
import { initializeMultipleFieldVersions } from './lib/fieldVersionSamples';
initializeMultipleFieldVersions();
```
### 为单个地块初始化
```javascript
import { initializeSampleVersions } from './lib/fieldVersionSamples';
initializeSampleVersions('地块ID', '地块编号');
```
### 清除版本数据
```javascript
import { clearAllVersions } from './lib/fieldVersionSamples';
clearAllVersions(); // 清除所有地块的版本数据
```
```javascript
import { clearSampleVersions } from './lib/fieldVersionSamples';
clearSampleVersions('地块ID'); // 清除指定地块的版本数据
```
## 数据存储
- 版本历史数据存储在 `localStorage`
- 存储键格式:`field_versions_{地块ID}`
- 每个地块的版本历史独立存储
## 真实使用场景
版本管理功能适用于:
1. **地块边界调整**:测绘更新、纠错等
2. **权属变更**:承包人变化、证书更新
3. **属性完善**:补充土壤、地形等信息
4. **用途变更**:改变种植模式、土地用途
5. **质量追溯**:查看历史变更,追溯问题源头
6. **审计需求**:记录所有变更操作,满足合规要求
## 注意事项
1. 示例数据仅用于演示,生产环境中应使用真实数据
2. 版本历史自动记录,无需手动创建
3. 删除地块时,版本历史也会被删除
4. 版本号从1开始每次变更递增
## 技术实现
- **版本管理工具**`/lib/fieldVersionManager.ts`
- **示例数据生成**`/lib/fieldVersionSamples.ts`
- **UI组件**`/components/field/FieldVersionHistory.tsx`
- **数据类型**`/types/field.ts` 中的 `FieldVersion` 接口