5.1 KiB
5.1 KiB
地块版本历史示例数据指南
概述
为了更好地演示地块版本管理功能,系统会自动为前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
- 说明:应权属人要求更新联系电话
如何查看版本历史
- 打开 地块信息管理 → 地块档案管理
- 在地块列表中,点击任意地块右侧的 版本历史 按钮(蓝色图标)
- 在弹出的对话框中查看完整的版本历史
功能特性
版本列表展示
- ✅ 按时间倒序显示所有版本
- ✅ 每个版本显示版本号、变更类型、操作人、时间
- ✅ 变更类型使用不同颜色的徽章区分:
- 创建(绿色)
- 属性更新(蓝色)
- 边界更新(紫色)
- 合并(橙色)
- 拆分(红色)
版本详情
- ✅ 点击"查看详情"展开显示变更内容
- ✅ 以表格形式展示每个字段的变更
- ✅ 清晰对比变更前后的值
- ✅ 中文字段名显示
统计信息
- ✅ 显示总版本数
- ✅ 显示当前版本号
- ✅ 显示最后更新时间
- ✅ 按变更类型统计
自动初始化
系统会在以下情况下自动初始化示例数据:
- 首次加载地块列表:自动为前3个地块生成示例版本
- 已有数据跳过:如果地块已有版本数据,则不会重复生成
开发者工具
在浏览器控制台可以使用以下命令:
初始化示例数据
// 为所有地块(最多前3个)初始化版本历史
import { initializeMultipleFieldVersions } from './lib/fieldVersionSamples';
initializeMultipleFieldVersions();
为单个地块初始化
import { initializeSampleVersions } from './lib/fieldVersionSamples';
initializeSampleVersions('地块ID', '地块编号');
清除版本数据
import { clearAllVersions } from './lib/fieldVersionSamples';
clearAllVersions(); // 清除所有地块的版本数据
import { clearSampleVersions } from './lib/fieldVersionSamples';
clearSampleVersions('地块ID'); // 清除指定地块的版本数据
数据存储
- 版本历史数据存储在
localStorage中 - 存储键格式:
field_versions_{地块ID} - 每个地块的版本历史独立存储
真实使用场景
版本管理功能适用于:
- 地块边界调整:测绘更新、纠错等
- 权属变更:承包人变化、证书更新
- 属性完善:补充土壤、地形等信息
- 用途变更:改变种植模式、土地用途
- 质量追溯:查看历史变更,追溯问题源头
- 审计需求:记录所有变更操作,满足合规要求
注意事项
- 示例数据仅用于演示,生产环境中应使用真实数据
- 版本历史自动记录,无需手动创建
- 删除地块时,版本历史也会被删除
- 版本号从1开始,每次变更递增
技术实现
- 版本管理工具:
/lib/fieldVersionManager.ts - 示例数据生成:
/lib/fieldVersionSamples.ts - UI组件:
/components/field/FieldVersionHistory.tsx - 数据类型:
/types/field.ts中的FieldVersion接口