ETest-Vue-FastAPI/入库单界面修改说明.md

130 lines
5.0 KiB
Markdown
Raw Permalink Normal View History

2025-12-19 10:12:59 +08:00
# 入库单界面修改说明
## 修改内容概述
根据您的需求,已完成以下三个方面的修改:
### 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 中自动设置,前端无需传递
- 数据库表结构保持不变(除非执行可选的迁移脚本)
- 现有的样品管理功能保持不变,仍可通过"查看样品"进入样品管理界面