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

5.1 KiB
Raw Blame History

地块版本历史示例数据指南

概述

为了更好地演示地块版本管理功能系统会自动为前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. 已有数据跳过:如果地块已有版本数据,则不会重复生成

开发者工具

在浏览器控制台可以使用以下命令:

初始化示例数据

// 为所有地块最多前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. 地块边界调整:测绘更新、纠错等
  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 接口