生产管理系统前端 - 更新瓦力提交的产品原型到参考目录

This commit is contained in:
2025-10-23 10:57:14 +08:00
parent 83523dad64
commit 28229ce795
354 changed files with 147599 additions and 7892 deletions

View File

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