# 地块版本历史示例数据指南 ## 概述 为了更好地演示地块版本管理功能,系统会自动为前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` 接口