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

11 KiB
Raw Blame History

农机变更历史示例数据 - 快速指南

📋 概述

为农机全生命周期档案提供了25条真实场景的变更历史记录涵盖5台农机设备展示各种信息修改场景帮助用户了解变更追踪功能。

🎯 核心特性

简化版变更历史列表

  • 去掉统计卡片
  • 去掉搜索和过滤功能
  • 去掉时间轴视图
  • 去掉按日期分组
  • 只保留简洁的变更记录列表

完整的变更追踪

  • 自动记录修改前后的值
  • 记录操作人和操作时间
  • 支持多种数据类型
  • 按时间倒序显示

📊 示例数据概览

总变更记录: 25条
涉及设备: 5台
变更类型: 9种字段
操作人员: 12位
时间跨度: 50天

按设备分布

设备名称 变更次数 主要变更
约翰迪尔拖拉机 7次 状态、位置、价格、保险
久保田收割机 6次 名称、位置、状态、标签
丰疆播种机 6次 操作人、状态、位置、保险
大疆植保无人机 3次 备注、位置、标签
雷沃拖拉机 3次 供应商、部门、备注

变更字段统计

设备状态: 6次
当前位置: 6次
备注信息: 4次
标签管理: 3次
操作人员: 2次
保险信息: 2次
价格调整: 1次
供应商: 1次
部门调整: 1次

🚀 快速开始

方法1自动初始化推荐

系统首次运行时会自动创建示例数据:

// 在 mockData.ts 中自动调用
initializeChangeHistoryMockData();

方法2查看示例组件

import { ChangeHistoryExamples } from './components/machinery/ChangeHistoryExamples';

function App() {
  return <ChangeHistoryExamples />;
}

方法3在农机详情中查看

import { ChangeHistoryList } from './components/machinery/ChangeHistoryList';

const history = machineryStorage.getChangeHistory(machineryId);

<ChangeHistoryList history={history} />

📝 示例数据详情

示例1设备状态变更

设备: 约翰迪尔6B-1404拖拉机
字段: 设备状态
修改前: 正常
修改后: 待维护
操作人: 张三
时间: 3天前
说明: 设备需要进行定期维护

示例2位置信息更新

设备: 约翰迪尔6B-1404拖拉机
字段: 当前位置
修改前: 1号地块
修改后: 3号地块
操作人: 李四
时间: 5天前
说明: 设备转场到新的作业地块

示例3操作人员调整

设备: 约翰迪尔6B-1404拖拉机
字段: 操作人员
修改前: 张三
修改后: 王五
操作人: 系统管理员
时间: 7天前
说明: 操作人员轮换安排

示例4保险信息更新

设备: 约翰迪尔6B-1404拖拉机
字段: 保险结束日期
修改前: 2025-03-31
修改后: 2026-03-31
操作人: 财务部-刘会计
时间: 10天前
说明: 保险续保,延长一年

示例5价格调整

设备: 约翰迪尔6B-1404拖拉机
字段: 购机价格
修改前: ¥350,000
修改后: ¥345,000
操作人: 财务部-刘会计
时间: 15天前
说明: 发票金额核对调整

示例6设备名称规范化

设备: 久保田收割机
字段: 设备名称
修改前: 久保田收割机
修改后: 久保田PRO988Q收割机
操作人: 资产管理员
时间: 30天前
说明: 补充完整的型号信息

示例7标签管理

设备: 久保田PRO988Q收割机
字段: 标签
修改前: 高效节能, 进口设备
修改后: 重点设备, 高效节能, 进口设备
操作人: 系统管理员
时间: 12天前
说明: 添加"重点设备"标签

示例8部门调整

设备: 雷沃欧豹1604拖拉机
字段: 所属部门
修改前: 第三生产队
修改后: 第一生产队
操作人: 人事部-郑主管
时间: 45天前
说明: 组织架构调整

🎨 界面展示

变更记录卡片布局

┌─────────────────────────────────────────────┐
│ 设备状态 已修改                    3天前     │
├─────────────────────────────────────────────┤
│ ┌─────────────────────────────────────────┐ │
│ │ 修改前: 正常                            │ │
│ │           ↓                             │ │
│ │ 修改后: 待维护                          │ │
│ └─────────────────────────────────────────┘ │
├─────────────────────────────────────────────┤
│ 👤 操作人: 张三  🕐 2025-10-13 14:30:25    │
└─────────────────────────────────────────────┘

简洁列表视图

变更历史 (共 7 条记录)

🔹 设备状态 已修改                              1天前
   修改前: 待维护
      ↓
   修改后: 正常
   操作人: 维修班-李师傅

🔹 设备状态 已修改                              3天前
   修改前: 正常
      ↓
   修改后: 待维护
   操作人: 张三

🔹 当前位置 已修改                              5天前
   修改前: 1号地块
      ↓
   修改后: 3号地块
   操作人: 李四

💾 数据结构

完整变更记录

{
  id: "change-1697461234567-001",
  machineryId: "machinery-1",
  fieldName: "status",
  fieldLabel: "设备状态",
  oldValue: "正常",
  newValue: "待维护",
  operator: "张三",
  operatedAt: "2025-10-13T14:30:25.000Z"
}

支持的字段类型

字段类型 示例 显示格式
文本 设备名称 直接显示
数字 购机价格 ¥350,000
日期 保险结束日期 2025/03/31
数组 标签 tag1, tag2
空值 null/undefined (空)

📈 变更场景覆盖

1. 设备状态管理

正常 ↔ 待维护
- 设备需要保养时标记为待维护
- 维修完成后恢复为正常
- 追踪设备可用性变化

2. 位置追踪

机库 → 作业地块 → 机库
- 记录设备转场轨迹
- 追踪设备当前位置
- 优化调度决策

3. 人员管理

操作人员调整
- 记录责任人变更
- 追踪使用历史
- 绩效分析依据

4. 财务信息

价格调整、保险更新
- 资产价值变化
- 保险到期提醒
- 成本核算依据

5. 设备信息

名称规范、标签管理、备注更新
- 信息完善过程
- 分类管理优化
- 知识积累

🔧 API使用

获取变更历史

import { machineryStorage } from './lib/machineryStorage';

// 获取指定农机的变更历史
const history = machineryStorage.getChangeHistory('machinery-1');

// 按时间排序
const sorted = history.sort((a, b) => 
  new Date(b.operatedAt).getTime() - new Date(a.operatedAt).getTime()
);

获取统计信息

import { getChangeHistoryStatistics } from './lib/changeHistoryMockData';

const stats = getChangeHistoryStatistics();
console.log(stats);
// {
//   totalChanges: 25,
//   totalMachinery: 5,
//   changesByMachinery: { ... },
//   changesByField: { ... },
//   changesByOperator: { ... },
//   avgChangesPerMachinery: 5.0
// }

清除示例数据

import { clearChangeHistory } from './lib/changeHistoryMockData';

// 仅用于测试
clearChangeHistory();

📦 文件结构

lib/
  ├── changeHistoryMockData.ts     # 示例数据生成
  └── mockData.ts                  # 集成初始化

components/machinery/
  ├── ChangeHistoryList.tsx        # 简化列表组件
  └── ChangeHistoryExamples.tsx    # 示例展示组件

文档/
  └── CHANGE_HISTORY_EXAMPLES.md   # 本文件

💡 使用场景

1. 查看设备变更轨迹

目标: 了解设备信息的修改历史
步骤:
1. 打开农机详情页
2. 切换到"变更历史"标签
3. 查看所有变更记录
4. 了解谁在什么时候修改了什么

2. 追溯问题根源

目标: 查找问题发生的时间点
步骤:
1. 发现设备信息异常
2. 查看变更历史
3. 找到最近的相关修改
4. 联系操作人确认

3. 审计合规

目标: 满足审计要求
步骤:
1. 导出变更历史记录
2. 提供完整的修改轨迹
3. 证明数据可追溯性
4. 符合管理规范

最佳实践

1. 及时查看

✅ 定期检查重要设备的变更记录
✅ 关注异常的频繁修改
✅ 验证关键信息的准确性

2. 权限管理

✅ 限制敏感字段的修改权限
✅ 要求操作人使用真实身份
✅ 定期审查变更记录

3. 数据分析

✅ 统计高频变更字段
✅ 分析变更模式
✅ 优化数据录入流程

🔍 与原组件的区别

ChangeHistory.tsx (完整版)

✅ 统计卡片 (4个)
✅ 搜索功能
✅ 操作人筛选
✅ 字段筛选
✅ 时间轴视图
✅ 按日期分组视图
✅ 变更统计图表

ChangeHistoryList.tsx (简化版)

✅ 只显示变更记录列表
✅ 按时间倒序排列
✅ 简洁的卡片布局
✅ 相对时间显示
✅ 完整时间tooltip
❌ 无统计卡片
❌ 无搜索过滤
❌ 无视图切换

📊 数据统计

按设备统计

约翰迪尔拖拉机:    7次变更
久保田收割机:      6次变更
丰疆播种机:        6次变更
大疆植保无人机:    3次变更
雷沃拖拉机:        3次变更

按字段统计

设备状态: 6次 (24%)
当前位置: 6次 (24%)
备注信息: 4次 (16%)
标签管理: 3次 (12%)
操作人员: 2次 (8%)
保险信息: 2次 (8%)
其他: 2次 (8%)

按操作人统计

系统管理员:     3次
张三:           2次
李四:           2次
财务部-刘会计:  2次
维修班相关:     3次
其他人员:       13次

🎓 学习要点

对用户

  • 📚 了解变更追踪的重要性
  • 💡 学习如何查看变更历史
  • 🔧 掌握问题追溯方法
  • 📊 理解数据审计流程

对开发者

  • 🏗️ 学习变更追踪实现
  • 🎨 掌握简化组件设计
  • 📈 了解数据统计方法
  • 🔄 理解自动记录机制

总结

变更历史示例数据功能提供了:

  1. 25条真实变更记录

    • 5台农机设备
    • 9种字段类型
    • 12位操作人员
    • 50天时间跨度
  2. 简洁的列表展示

    • 去除复杂的过滤功能
    • 专注于变更内容展示
    • 清晰的视觉层次
    • 友好的用户体验
  3. 完整的示例场景

    • 设备状态管理
    • 位置信息追踪
    • 人员调整记录
    • 财务信息更新

该功能帮助用户快速了解变更历史的价值和使用方法,建立数据可追溯性意识,提升系统管理规范性。


创建时间: 2025年10月16日
版本: 1.0.0
状态: 已完成