生产管理系统前端 - 更新瓦力提交的产品原型到参考目录
This commit is contained in:
135
src/MAINTENANCE_MATERIALS_UPDATE.md
Normal file
135
src/MAINTENANCE_MATERIALS_UPDATE.md
Normal file
@@ -0,0 +1,135 @@
|
||||
# 维护记录配件与耗材数量功能更新
|
||||
|
||||
## 更新日期
|
||||
2025年10月16日
|
||||
|
||||
## 更新内容
|
||||
|
||||
### 1. 数据结构优化
|
||||
|
||||
#### 新增 MaterialUsage 接口
|
||||
```typescript
|
||||
export interface MaterialUsage {
|
||||
materialId: string; // 农资物料ID
|
||||
quantity: number; // 使用数量
|
||||
}
|
||||
```
|
||||
|
||||
#### 更新 MaintenanceRecord 接口
|
||||
将 `partsAndMaterials` 字段从 `string[]` 更新为 `MaterialUsage[]`,支持记录每个配件的使用数量。
|
||||
|
||||
```typescript
|
||||
export interface MaintenanceRecord {
|
||||
// ...其他字段
|
||||
partsAndMaterials?: MaterialUsage[]; // 农资物料使用情况(含数量)
|
||||
}
|
||||
```
|
||||
|
||||
### 2. 组件功能增强
|
||||
|
||||
#### MaintenanceRecords 组件更新
|
||||
- **配件选择区域**:
|
||||
- 每个配件卡片现在包含复选框和数量输入框
|
||||
- 选中配件后,自动显示数量输入框(默认值为1)
|
||||
- 数量输入框支持小数输入(精确到0.01)
|
||||
- 自动限制最大值为当前库存
|
||||
- 实时显示每项配件的小计金额
|
||||
|
||||
- **智能统计**:
|
||||
- 显示已选择的配件数量
|
||||
- 自动计算预估配件费用总额
|
||||
- 费用 = Σ(配件单价 × 使用数量)
|
||||
|
||||
- **列表展示优化**:
|
||||
- 在维护项目下方显示使用的配件详情
|
||||
- 格式:`配件名称 × 数量单位`
|
||||
- 示例:`机油滤芯 × 2个、液压油 × 15升`
|
||||
|
||||
### 3. 数据迁移
|
||||
|
||||
#### 自动迁移机制
|
||||
在 `lib/machineryStorage.ts` 中实现了自动数据迁移功能:
|
||||
- 检测旧格式数据(string[] 格式)
|
||||
- 自动转换为新格式(MaterialUsage[] 格式)
|
||||
- 为旧数据设置默认数量为 1
|
||||
- 自动保存迁移后的数据
|
||||
|
||||
```typescript
|
||||
// 旧格式
|
||||
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
|
||||
|
||||
## 后续建议
|
||||
|
||||
- [ ] 添加库存扣减功能(维护记录提交后自动扣减库存)
|
||||
- [ ] 支持批量导入配件使用清单
|
||||
- [ ] 添加常用配件组合模板
|
||||
- [ ] 统计配件使用频率和成本分析
|
||||
- [ ] 生成配件采购建议
|
||||
Reference in New Issue
Block a user