优化商品条码查询接口,支持选择多商品

This commit is contained in:
季圣华
2021-08-06 01:24:28 +08:00
parent c6a5689f44
commit 5f6ab65681
16 changed files with 81 additions and 40 deletions

View File

@@ -185,32 +185,73 @@ export const BillModalMixin = {
mpList: getMpListShort(Vue.ls.get('materialPropertyList')), //扩展属性 mpList: getMpListShort(Vue.ls.get('materialPropertyList')), //扩展属性
prefixNo: this.prefixNo prefixNo: this.prefixNo
} }
if(value.indexOf(',')>-1) {
//多个条码
getMaterialByBarCode(param).then((res) => { getMaterialByBarCode(param).then((res) => {
if (res && res.code === 200) { if (res && res.code === 200) {
target.setValues([{ let mList = res.data
rowKey: row.id, let mArr = []
values: { for (let i = 0; i < mList.length; i++) {
barCode: res.data.mBarCode, let mInfo = mList[i]
name: res.data.name, let mObj = {
standard: res.data.standard, depotId: mInfo.depotId,
model: res.data.model, barCode: mInfo.mBarCode,
materialOther: res.data.materialOther, name: mInfo.name,
unit: res.data.commodityUnit, standard: mInfo.standard,
sku: res.data.sku, model: mInfo.model,
materialOther: mInfo.materialOther,
stock: mInfo.stock,
unit: mInfo.commodityUnit,
sku: mInfo.sku,
operNumber: 1, operNumber: 1,
unitPrice: res.data.billPrice, unitPrice: mInfo.billPrice,
taxUnitPrice: res.data.billPrice, taxUnitPrice: mInfo.billPrice,
allPrice: res.data.billPrice, allPrice: mInfo.billPrice,
taxRate: 0, taxRate: 0,
taxMoney: 0, taxMoney: 0,
taxLastMoney: res.data.billPrice, taxLastMoney: mInfo.billPrice
} }
}]); mArr.push(mObj)
}
this.materialTable.dataSource = mArr
}
});
} else {
//单个条码
getMaterialByBarCode(param).then((res) => {
if (res && res.code === 200) {
let mList = res.data
let mArr = []
for (let i = 0; i < mList.length; i++) {
let mInfo = mList[i]
let mObj = {
rowKey: row.id,
values: {
barCode: mInfo.mBarCode,
name: mInfo.name,
standard: mInfo.standard,
model: mInfo.model,
materialOther: mInfo.materialOther,
unit: mInfo.commodityUnit,
sku: mInfo.sku,
operNumber: 1,
unitPrice: mInfo.billPrice,
taxUnitPrice: mInfo.billPrice,
allPrice: mInfo.billPrice,
taxRate: 0,
taxMoney: 0,
taxLastMoney: mInfo.billPrice
}
}
mArr.push(mObj)
}
target.setValues(mArr);
that.getStockByDepotBarCode(row, target) that.getStockByDepotBarCode(row, target)
target.recalcAllStatisticsColumns() target.recalcAllStatisticsColumns()
that.autoChangePrice(target) that.autoChangePrice(target)
} }
}); });
}
break; break;
case "operNumber": case "operNumber":
operNumber = value-0 operNumber = value-0

View File

@@ -103,7 +103,7 @@
{ title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [], { title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [],
allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }] allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: false, { title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: true,
validateRules: [{ required: true, message: '${title}不能为空' }] validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true }, { title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true },

View File

@@ -105,7 +105,7 @@
{ title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [], { title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [],
allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }] allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: false, { title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: true,
validateRules: [{ required: true, message: '${title}不能为空' }] validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true }, { title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true },

View File

@@ -105,7 +105,7 @@
{ title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [], { title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [],
allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }] allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: false, { title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: true,
validateRules: [{ required: true, message: '${title}不能为空' }] validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true }, { title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true },

View File

@@ -112,7 +112,7 @@
{ title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [], { title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [],
allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }] allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: false, { title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: true,
validateRules: [{ required: true, message: '${title}不能为空' }] validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true }, { title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true },

View File

@@ -112,7 +112,7 @@
{ title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [], { title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [],
allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }] allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: false, { title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: true,
validateRules: [{ required: true, message: '${title}不能为空' }] validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true }, { title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true },

View File

@@ -174,7 +174,7 @@
{ title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [], { title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [],
allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }] allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: false, { title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: true,
validateRules: [{ required: true, message: '${title}不能为空' }] validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true }, { title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true },

View File

@@ -175,7 +175,7 @@
{ title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [], { title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [],
allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }] allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: false, { title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: true,
validateRules: [{ required: true, message: '${title}不能为空' }] validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true }, { title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true },

View File

@@ -115,7 +115,7 @@
{ title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [], { title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [],
allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }] allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: false, { title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: true,
validateRules: [{ required: true, message: '${title}不能为空' }] validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true }, { title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true },

View File

@@ -156,7 +156,7 @@
{ title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [], { title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [],
allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }] allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '条码', key: 'barCode', width: '12%', type: FormTypes.popupJsh, multi: false, { title: '条码', key: 'barCode', width: '12%', type: FormTypes.popupJsh, multi: true,
validateRules: [{ required: true, message: '${title}不能为空' }] validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '名称', key: 'name', width: '8%', type: FormTypes.input, readonly: true }, { title: '名称', key: 'name', width: '8%', type: FormTypes.input, readonly: true },

View File

@@ -156,7 +156,7 @@
{ title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [], { title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [],
allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }] allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '条码', key: 'barCode', width: '12%', type: FormTypes.popupJsh, multi: false, { title: '条码', key: 'barCode', width: '12%', type: FormTypes.popupJsh, multi: true,
validateRules: [{ required: true, message: '${title}不能为空' }] validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '名称', key: 'name', width: '8%', type: FormTypes.input, readonly: true }, { title: '名称', key: 'name', width: '8%', type: FormTypes.input, readonly: true },

View File

@@ -179,7 +179,7 @@
{ title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [], { title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [],
allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }] allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: false, { title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: true,
validateRules: [{ required: true, message: '${title}不能为空' }] validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true }, { title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true },

View File

@@ -118,7 +118,7 @@
{ title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [], { title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [],
allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }] allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: false, { title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: true,
validateRules: [{ required: true, message: '${title}不能为空' }] validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true }, { title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true },

View File

@@ -179,7 +179,7 @@
{ title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [], { title: '仓库名称', key: 'depotId', width: '7%', type: FormTypes.select, placeholder: '请选择${title}', options: [],
allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }] allowSearch:true, validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: false, { title: '条码', key: 'barCode', width: '8%', type: FormTypes.popupJsh, multi: true,
validateRules: [{ required: true, message: '${title}不能为空' }] validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true }, { title: '名称', key: 'name', width: '6%', type: FormTypes.input, readonly: true },

View File

@@ -124,7 +124,7 @@
} }
getMaterialByBarCode(param).then((res) => { getMaterialByBarCode(param).then((res) => {
if (res && res.code === 200) { if (res && res.code === 200) {
this.form.setFieldsValue({'materialName': res.data.name}) this.form.setFieldsValue({'materialName': res.data[0].name})
} }
}) })
} }

View File

@@ -144,7 +144,7 @@
} }
getMaterialByBarCode(param).then((res) => { getMaterialByBarCode(param).then((res) => {
if (res && res.code === 200) { if (res && res.code === 200) {
this.form.setFieldsValue({'materialName': res.data.name}) this.form.setFieldsValue({'materialName': res.data[0].name})
} }
}) })
} }