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

130 lines
5.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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