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

View File

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

View File

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