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

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,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
## 后续建议
- [ ] 添加库存扣减功能(维护记录提交后自动扣减库存)
- [ ] 支持批量导入配件使用清单
- [ ] 添加常用配件组合模板
- [ ] 统计配件使用频率和成本分析
- [ ] 生成配件采购建议