feat: 扫码后直接插入记录

This commit is contained in:
砂糖
2025-08-22 13:19:22 +08:00
parent 7ff779946d
commit 76926c3a10
4 changed files with 90 additions and 63 deletions

View File

@@ -62,10 +62,10 @@
</el-col>
<el-col :span="12">
<el-form-item label="物料信息" style="margin-bottom: 8px;">
<ProductSelect v-if="cfg.itemType === 'product'" v-model="cfg.itemId" placeholder="请选择产品" />
<SemiSelect v-else-if="cfg.itemType === 'semi'" v-model="cfg.itemId" placeholder="请选择半成品" />
<ProductSelect v-if="cfg.itemType === 'product'" v-model="cfg.itemId" placeholder="请选择产品" @change="onItemChange($event, idx)" />
<SemiSelect v-else-if="cfg.itemType === 'semi'" v-model="cfg.itemId" placeholder="请选择半成品" @change="onItemChange($event, idx)" />
<RawMaterialSelect v-else-if="cfg.itemType === 'raw_material'" v-model="cfg.itemId"
placeholder="请选择原材料" />
placeholder="请选择原材料" @change="onItemChange($event, idx)" />
<el-input v-else disabled v-model="cfg.itemId" placeholder="请先选择物料类型" :disabled="true"
style="width: 100%;" />
</el-form-item>
@@ -135,7 +135,10 @@ export default {
warehouseId: b.warehouseId,
itemType: b.itemType,
itemId: b.itemId,
batchNo: b.batchNo
batchNo: b.batchNo,
quantity: b.count,
unit: b.unit,
recordType: 1,
}),
count: b.count || 1,
textTpl: b.text || ''
@@ -143,19 +146,8 @@ export default {
}
},
methods: {
onItemChange(item) {
// 选中后构造条码数据并插入
console.log(item);
const itemType = this.itemType;
const name = (itemType == 'semi' || itemType == 'product') ? item.productName : item.rawMaterialName;
const code = (itemType == 'semi' || itemType == 'product') ? item.productCode : item.rawMaterialCode;
const itemId = (itemType == 'semi' || itemType == 'product') ? item.productId : item.rawMaterialId;
const o = {
code: encodeURIComponent(`${itemType}__${itemId || ''}`),
count: 1,
textTpl: `${name}[${code}]`
}
this.drawerBarcodeData.push(o);
onItemChange(item, idx) {
this.drawerBarcodeData[idx].unit = item.unit;
},
fetchMaster() {
listStockIo({ pageSize: 9999, pageNum: 1 }).then(res => {
@@ -182,6 +174,7 @@ export default {
itemId: undefined,
batchNo: 'auto',
count: 0,
unit: '',
text: '默认文字',
}