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