130 lines
5.0 KiB
Markdown
130 lines
5.0 KiB
Markdown
|
|
# 入库单界面修改说明
|
|||
|
|
|
|||
|
|
## 修改内容概述
|
|||
|
|
|
|||
|
|
根据您的需求,已完成以下三个方面的修改:
|
|||
|
|
|
|||
|
|
### 1. ✅ 添加"入库登记人"字段
|
|||
|
|
|
|||
|
|
- **前端修改**:在入库单表单中添加了"入库登记人"字段(只读,灰色显示)
|
|||
|
|
- 位置:收样人字段旁边
|
|||
|
|
- 提示文本:自动填充当前用户
|
|||
|
|
|
|||
|
|
- **后端支持**:后端已自动设置此字段
|
|||
|
|
- 在 `warehouse_receipt_controller.py` 中,创建入库单时自动将当前登录用户名设置为 `recorder` 字段
|
|||
|
|
- 代码:`add_receipt.recorder = current_user.user.user_name`
|
|||
|
|
|
|||
|
|
### 2. ✅ 删除"收样方式详情"和"来样目的详情"栏
|
|||
|
|
|
|||
|
|
已删除"收样方式详情"和"来样目的详情"字段:
|
|||
|
|
|
|||
|
|
- **前端修改**:
|
|||
|
|
- 文件:`ruoyi-fastapi-frontend/src/views/warehouse/receipt/index.vue`
|
|||
|
|
- 删除了表单中的"收样方式详情"和"来样目的详情"输入框
|
|||
|
|
- 删除了 `form.receiptMethodDetail` 和 `form.purposeDetail` 字段
|
|||
|
|
|
|||
|
|
- **后端修改**:
|
|||
|
|
- 文件:`ruoyi-fastapi-backend/module_admin/entity/vo/warehouse_receipt_vo.py`
|
|||
|
|
- 从 `WarehouseReceiptModel` 中移除了 `receipt_method_detail` 和 `purpose_detail` 字段
|
|||
|
|
|
|||
|
|
- **数据库迁移**(可选):
|
|||
|
|
- 提供了 `remove_receipt_method_detail.sql` 脚本
|
|||
|
|
- 如果需要从数据库中彻底删除这些字段,可执行此脚本(执行前请备份数据库)
|
|||
|
|
|
|||
|
|
### 3. ✅ 合并样品信息到入库单管理界面
|
|||
|
|
|
|||
|
|
现在可以在创建入库单时直接添加样品信息:
|
|||
|
|
|
|||
|
|
- **前端修改**:
|
|||
|
|
- 文件:`ruoyi-fastapi-frontend/src/views/warehouse/receipt/index.vue`
|
|||
|
|
- 对话框宽度从 800px 增加到 1200px 以容纳更多内容
|
|||
|
|
- 在表单底部添加了"样品信息"部分
|
|||
|
|
- 提供动态表格,支持添加/删除多个样品
|
|||
|
|
- 样品字段包括:
|
|||
|
|
- 样品型号
|
|||
|
|
- 样品SN
|
|||
|
|
- 硬件版本号
|
|||
|
|
- 样品外观状态(下拉选择:PCBA、点板板、建板板)
|
|||
|
|
- 计划测试截止日期(日期选择器)
|
|||
|
|
- 计划测试项(文本输入)
|
|||
|
|
|
|||
|
|
- **后端修改**:
|
|||
|
|
|
|||
|
|
1. **VO模型** (`warehouse_receipt_vo.py`):
|
|||
|
|
- 添加导入:`from module_admin.entity.vo.warehouse_sample_vo import WarehouseSampleModel`
|
|||
|
|
- `AddWarehouseReceiptModel` 中添加 `samples` 字段,类型为 `List[WarehouseSampleModel]`
|
|||
|
|
|
|||
|
|
2. **Service层** (`warehouse_receipt_service.py`):
|
|||
|
|
- 添加导入:`from module_admin.entity.do.warehouse_sample_do import WarehouseSample`
|
|||
|
|
- 修改 `add_receipt` 方法,支持在创建入库单时同时创建关联的样品
|
|||
|
|
- 使用事务确保数据一致性(先创建入库单,再创建样品)
|
|||
|
|
- 自动设置样品的 `receipt_id`、`receipt_no` 和 `create_by` 字段
|
|||
|
|
|
|||
|
|
## 使用说明
|
|||
|
|
|
|||
|
|
### 创建入库单并添加样品
|
|||
|
|
|
|||
|
|
1. 点击"新增"按钮打开入库单添加对话框
|
|||
|
|
2. 填写入库单基本信息
|
|||
|
|
3. 注意"入库登记人"字段会自动显示(无需填写)
|
|||
|
|
4. 滚动到底部的"样品信息"部分
|
|||
|
|
5. 点击"添加样品"按钮添加样品记录
|
|||
|
|
6. 在表格中填写样品详细信息
|
|||
|
|
7. 可以添加多个样品,也可以删除不需要的样品
|
|||
|
|
8. 点击"确定"按钮,系统会同时创建入库单和所有关联的样品
|
|||
|
|
|
|||
|
|
### 注意事项
|
|||
|
|
|
|||
|
|
- "收样方式详情"和"来样目的详情"字段已从表单中移除,建议将相关信息写在"备注"中
|
|||
|
|
- 样品信息现在可以在创建入库单时直接添加,无需先创建入库单再单独添加样品
|
|||
|
|
- 也可以通过入库单列表中的"查看样品"按钮进入样品管理界面,进行样品的查看和管理
|
|||
|
|
|
|||
|
|
## 文件修改清单
|
|||
|
|
|
|||
|
|
### 后端文件
|
|||
|
|
1. `ruoyi-fastapi-backend/module_admin/entity/vo/warehouse_receipt_vo.py`
|
|||
|
|
- 删除 `receipt_method_detail` 字段
|
|||
|
|
- 添加样品列表支持
|
|||
|
|
|
|||
|
|
2. `ruoyi-fastapi-backend/module_admin/service/warehouse_receipt_service.py`
|
|||
|
|
- 修改 `add_receipt` 方法支持同时创建样品
|
|||
|
|
|
|||
|
|
### 前端文件
|
|||
|
|
1. `ruoyi-fastapi-frontend/src/views/warehouse/receipt/index.vue`
|
|||
|
|
- 删除"收样方式详情"字段
|
|||
|
|
- 添加"入库登记人"字段(只读)
|
|||
|
|
- 添加样品信息动态表格
|
|||
|
|
- 添加 `handleAddSample` 和 `handleDeleteSample` 方法
|
|||
|
|
|
|||
|
|
### 数据库脚本(可选)
|
|||
|
|
1. `remove_receipt_method_detail.sql`
|
|||
|
|
- 从数据库表中删除 `receipt_method_detail` 列
|
|||
|
|
|
|||
|
|
## 测试建议
|
|||
|
|
|
|||
|
|
1. **测试入库登记人自动填充**
|
|||
|
|
- 使用不同账号登录
|
|||
|
|
- 创建入库单
|
|||
|
|
- 验证"入库登记人"字段是否正确显示当前用户
|
|||
|
|
|
|||
|
|
2. **测试样品添加功能**
|
|||
|
|
- 创建入库单时添加1个样品
|
|||
|
|
- 创建入库单时添加多个样品
|
|||
|
|
- 创建入库单时不添加样品
|
|||
|
|
- 验证样品数据是否正确保存
|
|||
|
|
|
|||
|
|
3. **测试样品删除功能**
|
|||
|
|
- 添加多个样品后,删除其中某些样品
|
|||
|
|
- 验证提交后数据是否正确
|
|||
|
|
|
|||
|
|
4. **测试数据完整性**
|
|||
|
|
- 验证入库单和样品的关联关系
|
|||
|
|
- 在"查看样品"界面验证样品数据
|
|||
|
|
|
|||
|
|
## 兼容性说明
|
|||
|
|
|
|||
|
|
- 后端 `recorder` 字段已在 controller 中自动设置,前端无需传递
|
|||
|
|
- 数据库表结构保持不变(除非执行可选的迁移脚本)
|
|||
|
|
- 现有的样品管理功能保持不变,仍可通过"查看样品"进入样品管理界面
|
|||
|
|
|