5.7 KiB
5.7 KiB
批量添加样品功能说明
功能概述
在入库单管理页面中,新增了"批量添加样品"功能,允许用户通过输入多行SN号快速创建多条样品记录。
功能位置
页面:入库单管理 → 新增/编辑入库单对话框 → 样品信息区域
按钮:在"添加样品"按钮旁边,有一个绿色的"批量添加样品"按钮
使用方法
步骤1:打开批量添加对话框
- 在入库单管理页面,点击"新增"或"修改"按钮打开入库单对话框
- 滚动到"样品信息"区域
- 点击"批量添加样品"按钮
步骤2:输入样品SN号
在文本框中输入样品SN号,每行一个SN号,例如:
SN001
SN002
SN003
242323950
DGMK V1.1
PCBA
步骤3:确认添加
点击"确定"按钮,系统将:
- 自动识别每一行的SN号
- 跳过空行
- 检查SN号是否已存在(避免重复)
- 为每个有效的SN号创建一条样品记录
- 显示成功添加的样品数量
功能特点
1. 智能处理
- ✅ 自动去除每行前后的空格
- ✅ 自动跳过空行
- ✅ 自动检测重复的SN号,避免重复添加
2. 批量创建
- ✅ 一次可以添加多条样品记录
- ✅ 每条记录自动填充SN号
- ✅ 其他字段(型号、硬件版本等)保持为空,可后续手动填写
3. 用户友好
- ✅ 清晰的提示信息
- ✅ 实时反馈添加结果
- ✅ 防止误操作(点击对话框外部不会关闭)
字段说明
批量添加的样品记录包含以下字段:
| 字段 | 说明 | 批量添加时的值 |
|---|---|---|
| 样品SN | 样品序列号 | 自动填充(从输入的文本中获取) |
| 样品型号 | 样品的型号 | 空(需手动填写) |
| 硬件版本号 | 硬件版本 | 空(需手动填写) |
| 样品外观状态 | 外观状态 | 空(需手动填写) |
| 计划测试截止日期 | 测试截止日期 | 空(需手动填写) |
| 计划测试项 | 测试项目 | 空(需手动填写) |
| 状态 | 样品状态 | 正常(默认值) |
使用场景
场景1:快速录入多个样品
当收到一批样品时,可以先批量录入所有SN号,然后再逐个补充其他信息。
示例:
收到10个样品,SN号分别为:
SN001, SN002, SN003, ..., SN010
操作:
1. 点击"批量添加样品"
2. 输入10个SN号(每行一个)
3. 点击确定
4. 系统自动创建10条样品记录
5. 逐个补充型号、版本等信息
场景2:从Excel或文本文件导入
如果SN号已经在Excel或文本文件中,可以直接复制粘贴。
操作:
- 在Excel中选中SN号列
- 复制(Ctrl+C)
- 在批量添加对话框中粘贴(Ctrl+V)
- 点击确定
场景3:避免重复录入
系统会自动检测重复的SN号,避免重复添加。
示例:
已有样品:SN001, SN002
批量添加:SN002, SN003, SN004
结果:
- SN002 已存在,跳过
- SN003 添加成功
- SN004 添加成功
- 提示:成功添加 2 条样品记录
注意事项
1. SN号格式
- 每行只能输入一个SN号
- SN号可以包含字母、数字、特殊字符
- 系统会自动去除前后空格
2. 重复检测
- 系统会检查当前入库单中是否已存在相同的SN号
- 如果存在,该SN号会被跳过,不会重复添加
- 最终会显示实际添加的样品数量
3. 后续操作
- 批量添加后,其他字段(型号、版本等)需要手动填写
- 可以在表格中直接编辑每条样品记录
- 也可以删除不需要的样品记录
4. 数据保存
- 批量添加的样品记录只是临时添加到表单中
- 需要点击入库单对话框底部的"确定"按钮才会保存到数据库
- 点击"取消"按钮会放弃所有修改
技术实现
修改的文件
ruoyi-fastapi-frontend/src/views/warehouse/receipt/index.vue
新增的功能
- 批量添加按钮:在样品信息区域添加"批量添加样品"按钮
- 批量添加对话框:包含多行文本输入框
- 文本解析逻辑:按行分割文本,提取SN号
- 重复检测逻辑:检查SN号是否已存在
- 批量创建逻辑:为每个SN号创建样品记录
核心代码
// 批量添加样品方法
submitBatchSample() {
// 按行分割文本
const lines = this.batchSampleText.split('\n');
let addedCount = 0;
// 处理每一行
lines.forEach(line => {
const sn = line.trim();
// 跳过空行
if (sn) {
// 检查是否已存在相同的SN号
const exists = this.form.samples.some(sample => sample.sampleSn === sn);
if (!exists) {
this.form.samples.push({
sampleModel: null,
sampleSn: sn,
hardwareVersion: null,
externalStatus: null,
testDeadline: null,
testItems: null,
status: '0'
});
addedCount++;
}
}
});
if (addedCount > 0) {
this.$modal.msgSuccess(`成功添加 ${addedCount} 条样品记录`);
this.batchSampleOpen = false;
} else {
this.$modal.msgWarning("没有添加任何样品,请检查输入的SN号是否已存在");
}
}
未来优化方向
可能的增强功能
-
支持更多字段的批量输入
- 例如:SN号,型号,版本(CSV格式)
- 需要更复杂的解析逻辑
-
支持文件上传
- 直接上传Excel或CSV文件
- 自动解析文件内容
-
模板下载
- 提供Excel模板下载
- 用户填写后上传
-
数据验证
- SN号格式验证
- 必填字段检查
-
导入预览
- 显示即将导入的数据
- 允许用户确认或修改
日期
开发日期:2025-12-05
相关功能
- 入库单管理
- 样品管理
- 对话框点击外部关闭问题修复