生产管理系统前端 - 更新瓦力提交的产品原型到参考目录
This commit is contained in:
507
src/CHANGE_HISTORY_EXAMPLES.md
Normal file
507
src/CHANGE_HISTORY_EXAMPLES.md
Normal file
@@ -0,0 +1,507 @@
|
||||
# 农机变更历史示例数据 - 快速指南
|
||||
|
||||
## 📋 概述
|
||||
|
||||
为农机全生命周期档案提供了**25条真实场景的变更历史记录**,涵盖5台农机设备,展示各种信息修改场景,帮助用户了解变更追踪功能。
|
||||
|
||||
## 🎯 核心特性
|
||||
|
||||
### 简化版变更历史列表
|
||||
- ✅ 去掉统计卡片
|
||||
- ✅ 去掉搜索和过滤功能
|
||||
- ✅ 去掉时间轴视图
|
||||
- ✅ 去掉按日期分组
|
||||
- ✅ 只保留简洁的变更记录列表
|
||||
|
||||
### 完整的变更追踪
|
||||
- ✅ 自动记录修改前后的值
|
||||
- ✅ 记录操作人和操作时间
|
||||
- ✅ 支持多种数据类型
|
||||
- ✅ 按时间倒序显示
|
||||
|
||||
## 📊 示例数据概览
|
||||
|
||||
```
|
||||
总变更记录: 25条
|
||||
涉及设备: 5台
|
||||
变更类型: 9种字段
|
||||
操作人员: 12位
|
||||
时间跨度: 50天
|
||||
```
|
||||
|
||||
### 按设备分布
|
||||
|
||||
| 设备名称 | 变更次数 | 主要变更 |
|
||||
|---------|---------|---------|
|
||||
| 约翰迪尔拖拉机 | 7次 | 状态、位置、价格、保险 |
|
||||
| 久保田收割机 | 6次 | 名称、位置、状态、标签 |
|
||||
| 丰疆播种机 | 6次 | 操作人、状态、位置、保险 |
|
||||
| 大疆植保无人机 | 3次 | 备注、位置、标签 |
|
||||
| 雷沃拖拉机 | 3次 | 供应商、部门、备注 |
|
||||
|
||||
### 变更字段统计
|
||||
|
||||
```
|
||||
设备状态: 6次
|
||||
当前位置: 6次
|
||||
备注信息: 4次
|
||||
标签管理: 3次
|
||||
操作人员: 2次
|
||||
保险信息: 2次
|
||||
价格调整: 1次
|
||||
供应商: 1次
|
||||
部门调整: 1次
|
||||
```
|
||||
|
||||
## 🚀 快速开始
|
||||
|
||||
### 方法1:自动初始化(推荐)
|
||||
|
||||
系统首次运行时会自动创建示例数据:
|
||||
|
||||
```typescript
|
||||
// 在 mockData.ts 中自动调用
|
||||
initializeChangeHistoryMockData();
|
||||
```
|
||||
|
||||
### 方法2:查看示例组件
|
||||
|
||||
```typescript
|
||||
import { ChangeHistoryExamples } from './components/machinery/ChangeHistoryExamples';
|
||||
|
||||
function App() {
|
||||
return <ChangeHistoryExamples />;
|
||||
}
|
||||
```
|
||||
|
||||
### 方法3:在农机详情中查看
|
||||
|
||||
```typescript
|
||||
import { ChangeHistoryList } from './components/machinery/ChangeHistoryList';
|
||||
|
||||
const history = machineryStorage.getChangeHistory(machineryId);
|
||||
|
||||
<ChangeHistoryList history={history} />
|
||||
```
|
||||
|
||||
## 📝 示例数据详情
|
||||
|
||||
### 示例1:设备状态变更
|
||||
|
||||
```yaml
|
||||
设备: 约翰迪尔6B-1404拖拉机
|
||||
字段: 设备状态
|
||||
修改前: 正常
|
||||
修改后: 待维护
|
||||
操作人: 张三
|
||||
时间: 3天前
|
||||
说明: 设备需要进行定期维护
|
||||
```
|
||||
|
||||
### 示例2:位置信息更新
|
||||
|
||||
```yaml
|
||||
设备: 约翰迪尔6B-1404拖拉机
|
||||
字段: 当前位置
|
||||
修改前: 1号地块
|
||||
修改后: 3号地块
|
||||
操作人: 李四
|
||||
时间: 5天前
|
||||
说明: 设备转场到新的作业地块
|
||||
```
|
||||
|
||||
### 示例3:操作人员调整
|
||||
|
||||
```yaml
|
||||
设备: 约翰迪尔6B-1404拖拉机
|
||||
字段: 操作人员
|
||||
修改前: 张三
|
||||
修改后: 王五
|
||||
操作人: 系统管理员
|
||||
时间: 7天前
|
||||
说明: 操作人员轮换安排
|
||||
```
|
||||
|
||||
### 示例4:保险信息更新
|
||||
|
||||
```yaml
|
||||
设备: 约翰迪尔6B-1404拖拉机
|
||||
字段: 保险结束日期
|
||||
修改前: 2025-03-31
|
||||
修改后: 2026-03-31
|
||||
操作人: 财务部-刘会计
|
||||
时间: 10天前
|
||||
说明: 保险续保,延长一年
|
||||
```
|
||||
|
||||
### 示例5:价格调整
|
||||
|
||||
```yaml
|
||||
设备: 约翰迪尔6B-1404拖拉机
|
||||
字段: 购机价格
|
||||
修改前: ¥350,000
|
||||
修改后: ¥345,000
|
||||
操作人: 财务部-刘会计
|
||||
时间: 15天前
|
||||
说明: 发票金额核对调整
|
||||
```
|
||||
|
||||
### 示例6:设备名称规范化
|
||||
|
||||
```yaml
|
||||
设备: 久保田收割机
|
||||
字段: 设备名称
|
||||
修改前: 久保田收割机
|
||||
修改后: 久保田PRO988Q收割机
|
||||
操作人: 资产管理员
|
||||
时间: 30天前
|
||||
说明: 补充完整的型号信息
|
||||
```
|
||||
|
||||
### 示例7:标签管理
|
||||
|
||||
```yaml
|
||||
设备: 久保田PRO988Q收割机
|
||||
字段: 标签
|
||||
修改前: 高效节能, 进口设备
|
||||
修改后: 重点设备, 高效节能, 进口设备
|
||||
操作人: 系统管理员
|
||||
时间: 12天前
|
||||
说明: 添加"重点设备"标签
|
||||
```
|
||||
|
||||
### 示例8:部门调整
|
||||
|
||||
```yaml
|
||||
设备: 雷沃欧豹1604拖拉机
|
||||
字段: 所属部门
|
||||
修改前: 第三生产队
|
||||
修改后: 第一生产队
|
||||
操作人: 人事部-郑主管
|
||||
时间: 45天前
|
||||
说明: 组织架构调整
|
||||
```
|
||||
|
||||
## 🎨 界面展示
|
||||
|
||||
### 变更记录卡片布局
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────┐
|
||||
│ 设备状态 已修改 3天前 │
|
||||
├─────────────────────────────────────────────┤
|
||||
│ ┌─────────────────────────────────────────┐ │
|
||||
│ │ 修改前: 正常 │ │
|
||||
│ │ ↓ │ │
|
||||
│ │ 修改后: 待维护 │ │
|
||||
│ └─────────────────────────────────────────┘ │
|
||||
├─────────────────────────────────────────────┤
|
||||
│ 👤 操作人: 张三 🕐 2025-10-13 14:30:25 │
|
||||
└─────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 简洁列表视图
|
||||
|
||||
```
|
||||
变更历史 (共 7 条记录)
|
||||
|
||||
🔹 设备状态 已修改 1天前
|
||||
修改前: 待维护
|
||||
↓
|
||||
修改后: 正常
|
||||
操作人: 维修班-李师傅
|
||||
|
||||
🔹 设备状态 已修改 3天前
|
||||
修改前: 正常
|
||||
↓
|
||||
修改后: 待维护
|
||||
操作人: 张三
|
||||
|
||||
🔹 当前位置 已修改 5天前
|
||||
修改前: 1号地块
|
||||
↓
|
||||
修改后: 3号地块
|
||||
操作人: 李四
|
||||
```
|
||||
|
||||
## 💾 数据结构
|
||||
|
||||
### 完整变更记录
|
||||
|
||||
```typescript
|
||||
{
|
||||
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使用
|
||||
|
||||
### 获取变更历史
|
||||
|
||||
```typescript
|
||||
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()
|
||||
);
|
||||
```
|
||||
|
||||
### 获取统计信息
|
||||
|
||||
```typescript
|
||||
import { getChangeHistoryStatistics } from './lib/changeHistoryMockData';
|
||||
|
||||
const stats = getChangeHistoryStatistics();
|
||||
console.log(stats);
|
||||
// {
|
||||
// totalChanges: 25,
|
||||
// totalMachinery: 5,
|
||||
// changesByMachinery: { ... },
|
||||
// changesByField: { ... },
|
||||
// changesByOperator: { ... },
|
||||
// avgChangesPerMachinery: 5.0
|
||||
// }
|
||||
```
|
||||
|
||||
### 清除示例数据
|
||||
|
||||
```typescript
|
||||
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
|
||||
**状态**: ✅ 已完成
|
||||
Reference in New Issue
Block a user