fix(storegoods): 修复重扫仓位时旧码拼接问题

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
郭鸿轩 2026-09-04 09:44:48 +08:00
parent 9fffe228d5
commit 470a474d70
3 changed files with 39 additions and 12 deletions

View File

@ -132,6 +132,16 @@ export default {
this.warehouseBinName = '';
this.phoneContinuousScan = false;
},
/** 重扫仓位:先清空输入框再填入,避免残留旧码拼接 */
applyWarehouseBinScan(scanResult) {
const code = String(scanResult || '').trim().replace(/[\r\n]/g, '');
if (!code) return;
this.warehouseBinCode = '';
this.$nextTick(() => {
this.warehouseBinCode = code;
this.$nextTick(() => this.resolveWarehouseBin());
});
},
handleBinPhoneScan() {
if (!this.canScan || !this.orderId) {
this.showError('请先提交保存后再扫码');
@ -141,8 +151,7 @@ export default {
this.phoneScanTarget = 'bin';
this.openPhoneScan({
callback: (scanResult) => {
this.warehouseBinCode = String(scanResult || '').trim().replace(/[\r\n]/g, '');
this.$nextTick(() => this.resolveWarehouseBin());
this.applyWarehouseBinScan(scanResult);
},
fail: () => {},
});
@ -191,8 +200,7 @@ export default {
if (!code) return;
// 删除模式:直接按布匹码删除;未扫仓位时枪扫优先解析为仓位
if (!this.BarCodeDelStatus && !this.warehouseBinId) {
this.warehouseBinCode = code;
this.$nextTick(() => this.resolveWarehouseBin());
this.applyWarehouseBinScan(code);
return;
}
this.QRBarCode = code;
@ -239,6 +247,7 @@ export default {
.catch((e) => {
uni.hideLoading();
this.warehouseBinId = 0;
this.warehouseBinCode = '';
this.warehouseBinName = '';
this.showError(e.message || '仓位识别失败');
});

View File

@ -121,6 +121,16 @@ export default {
this.warehouseBinName = '';
this.phoneContinuousScan = false;
},
/** 重扫仓位:先清空输入框再填入,避免残留旧码拼接 */
applyWarehouseBinScan(scanResult) {
const code = String(scanResult || '').trim().replace(/[\r\n]/g, '');
if (!code) return;
this.warehouseBinCode = '';
this.$nextTick(() => {
this.warehouseBinCode = code;
this.$nextTick(() => this.resolveWarehouseBin());
});
},
handleBinPhoneScan() {
if (!this.canScan || !this.orderId) {
this.showError('请先提交保存后再扫码');
@ -130,8 +140,7 @@ export default {
this.phoneScanTarget = 'bin';
this.openPhoneScan({
callback: (scanResult) => {
this.warehouseBinCode = String(scanResult || '').trim().replace(/[\r\n]/g, '');
this.$nextTick(() => this.resolveWarehouseBin());
this.applyWarehouseBinScan(scanResult);
},
fail: () => {},
});
@ -180,8 +189,7 @@ export default {
if (!code) return;
// 删除模式:直接按布匹码删除;未扫仓位时枪扫优先解析为仓位
if (!this.BarCodeDelStatus && !this.warehouseBinId) {
this.warehouseBinCode = code;
this.$nextTick(() => this.resolveWarehouseBin());
this.applyWarehouseBinScan(code);
return;
}
this.QRBarCode = code;
@ -228,6 +236,7 @@ export default {
.catch((e) => {
uni.hideLoading();
this.warehouseBinId = 0;
this.warehouseBinCode = '';
this.warehouseBinName = '';
this.showError(e.message || '仓位识别失败');
});

View File

@ -134,6 +134,16 @@ export default {
this.warehouseBinName = '';
this.phoneContinuousScan = false;
},
/** 重扫仓位:先清空输入框再填入,避免残留旧码拼接 */
applyWarehouseBinScan(scanResult) {
const code = String(scanResult || '').trim().replace(/[\r\n]/g, '');
if (!code) return;
this.warehouseBinCode = '';
this.$nextTick(() => {
this.warehouseBinCode = code;
this.$nextTick(() => this.resolveWarehouseBin());
});
},
handleBinPhoneScan() {
if (!this.canScan || !this.orderId) {
this.showError('请先提交保存后再扫码');
@ -143,8 +153,7 @@ export default {
this.phoneScanTarget = 'bin';
this.openPhoneScan({
callback: (scanResult) => {
this.warehouseBinCode = String(scanResult || '').trim().replace(/[\r\n]/g, '');
this.$nextTick(() => this.resolveWarehouseBin());
this.applyWarehouseBinScan(scanResult);
},
fail: () => {},
});
@ -193,8 +202,7 @@ export default {
if (!code) return;
// 删除模式:直接按布匹码删除;未扫仓位时枪扫优先解析为仓位
if (!this.BarCodeDelStatus && !this.warehouseBinId) {
this.warehouseBinCode = code;
this.$nextTick(() => this.resolveWarehouseBin());
this.applyWarehouseBinScan(code);
return;
}
this.QRBarCode = code;
@ -241,6 +249,7 @@ export default {
.catch((e) => {
uni.hideLoading();
this.warehouseBinId = 0;
this.warehouseBinCode = '';
this.warehouseBinName = '';
this.showError(e.message || '仓位识别失败');
});