diff --git a/pos/static/js/pos.js b/pos/static/js/pos.js index 9cf9755..f5528a3 100644 --- a/pos/static/js/pos.js +++ b/pos/static/js/pos.js @@ -242,6 +242,7 @@ const POS = (() => { if (existing) { existing.quantity += (item.quantity || 1); renderCart(); + if (window.BarcodeFeedback) BarcodeFeedback.success(); return; } @@ -502,6 +503,19 @@ const POS = (() => { if (data.data.length === 0) { container.innerHTML = '
Sin resultados
'; + if (window.BarcodeFeedback) BarcodeFeedback.error(); + } else if (data.data.length === 1 && q.length >= 8) { + // Auto-select single result on barcode scan (long codes) + const item = data.data[0]; + let price = item.price_1; + if (currentCustomer) { + const tier = currentCustomer.price_tier || 1; + price = tier === 3 ? item.price_3 : tier === 2 ? item.price_2 : item.price_1; + } + addFromSearch(item, price); + input.value = ''; + hideSearchResults(); + return; } else { let html = ''; data.data.forEach(item => { @@ -542,6 +556,7 @@ const POS = (() => { price_2: item.price_2, price_3: item.price_3, }); + if (window.BarcodeFeedback) BarcodeFeedback.success(); hideSearchResults(); document.getElementById('itemSearch').value = ''; document.getElementById('itemSearch').focus();