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

4.0 KiB
Raw Blame History

维护记录配件与耗材数量功能更新

更新日期

2025年10月16日

更新内容

1. 数据结构优化

新增 MaterialUsage 接口

export interface MaterialUsage {
  materialId: string;  // 农资物料ID
  quantity: number;    // 使用数量
}

更新 MaintenanceRecord 接口

partsAndMaterials 字段从 string[] 更新为 MaterialUsage[],支持记录每个配件的使用数量。

export interface MaintenanceRecord {
  // ...其他字段
  partsAndMaterials?: MaterialUsage[];  // 农资物料使用情况(含数量)
}

2. 组件功能增强

MaintenanceRecords 组件更新

  • 配件选择区域

    • 每个配件卡片现在包含复选框和数量输入框
    • 选中配件后自动显示数量输入框默认值为1
    • 数量输入框支持小数输入精确到0.01
    • 自动限制最大值为当前库存
    • 实时显示每项配件的小计金额
  • 智能统计

    • 显示已选择的配件数量
    • 自动计算预估配件费用总额
    • 费用 = Σ(配件单价 × 使用数量)
  • 列表展示优化

    • 在维护项目下方显示使用的配件详情
    • 格式:配件名称 × 数量单位
    • 示例:机油滤芯 × 2个、液压油 × 15升

3. 数据迁移

自动迁移机制

lib/machineryStorage.ts 中实现了自动数据迁移功能:

  • 检测旧格式数据string[] 格式)
  • 自动转换为新格式MaterialUsage[] 格式)
  • 为旧数据设置默认数量为 1
  • 自动保存迁移后的数据
// 旧格式
partsAndMaterials: ['material-1', 'material-2']

// 新格式(自动迁移)
partsAndMaterials: [
  { materialId: 'material-1', quantity: 1 },
  { materialId: 'material-2', quantity: 1 }
]

4. 用户界面改进

配件选择卡片

┌─────────────────────────────────────────────┐
│ ☑ 机油滤芯 [配件] 10W-40      库存: 50个   │
│   约翰迪尔配件中心 | ¥85/个                │
│                                             │
│   使用数量: [  2  ] 个    小计: ¥170.00    │
└─────────────────────────────────────────────┘

费用统计

已选择 3 项配件与耗材
预估配件费用: ¥325.50

主要优势

  1. 精确记录:准确记录每种配件和耗材的使用数量
  2. 成本控制:实时计算配件费用,便于成本核算
  3. 库存管理:自动限制使用数量不超过库存
  4. 数据完整:完整的维护记录数据支持后续分析
  5. 向后兼容:自动迁移旧数据,无需手动处理

使用说明

添加维护记录时:

  1. 点击"新增维护记录"按钮
  2. 填写基本信息(维护类型、时间、人员等)
  3. 在"配件与耗材"区域选择所需配件
  4. 为每个选中的配件输入使用数量
  5. 系统自动计算预估费用
  6. 提交保存

查看维护记录时:

  • 在维护项目下方查看使用的配件及数量
  • 格式:配件名称 × 数量单位

技术实现

文件修改清单

  1. /types/machinery.ts - 新增 MaterialUsage 接口,更新 MaintenanceRecord
  2. /lib/machineryStorage.ts - 添加数据迁移逻辑
  3. /components/machinery/MaintenanceRecords.tsx - 更新UI和交互逻辑

关键功能

  • 复选框控制配件选择
  • 数量输入框(仅在选中时显示)
  • 实时费用计算
  • 自动数据迁移

注意事项

  1. 数量输入支持小数,最小值为 0.01
  2. 数量不能超过当前库存
  3. 未选中的配件不会保存到记录中
  4. 预估费用仅供参考,不影响维护费用字段
  5. 旧数据会自动迁移,默认数量为 1

后续建议

  • 添加库存扣减功能(维护记录提交后自动扣减库存)
  • 支持批量导入配件使用清单
  • 添加常用配件组合模板
  • 统计配件使用频率和成本分析
  • 生成配件采购建议