fix(inventory): refresh list, close modal, update badges after creating item
- Expose loadInventoryStats globally so inventory.js can call it after CRUD - Fix token key: use pos_token (not access_token) to match auth scheme - After successful POST /items: close modal, clear form inputs, reload stats - Bump inventory.js cache-bust query param v3 -> v4
This commit is contained in:
@@ -216,6 +216,13 @@
|
|||||||
}
|
}
|
||||||
document.getElementById('createResult').innerHTML = '<span style="color:var(--color-success);">' + msg + '</span>';
|
document.getElementById('createResult').innerHTML = '<span style="color:var(--color-success);">' + msg + '</span>';
|
||||||
loadItems(currentPage);
|
loadItems(currentPage);
|
||||||
|
// Close modal, clear form, refresh badges
|
||||||
|
closeCreateModal();
|
||||||
|
['newPartNumber','newName','newBrand','newBarcode','newCost','newPrice1','newPrice2','newPrice3','newMinStock','newInitialStock','newLocation'].forEach(function(id) {
|
||||||
|
var el = document.getElementById(id);
|
||||||
|
if (el) el.value = '';
|
||||||
|
});
|
||||||
|
if (window.loadInventoryStats) window.loadInventoryStats();
|
||||||
} else {
|
} else {
|
||||||
document.getElementById('createResult').innerHTML = '<span style="color:var(--color-error);">' + (result ? result.error || 'Error' : 'Error de red') + '</span>';
|
document.getElementById('createResult').innerHTML = '<span style="color:var(--color-error);">' + (result ? result.error || 'Error' : 'Error de red') + '</span>';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -815,7 +815,7 @@
|
|||||||
<script src="/pos/static/js/pos-utils.js" defer></script>
|
<script src="/pos/static/js/pos-utils.js" defer></script>
|
||||||
<script src="/pos/static/js/sidebar.js" defer></script>
|
<script src="/pos/static/js/sidebar.js" defer></script>
|
||||||
<script src="/pos/static/js/virtual-scroll.js" defer></script>
|
<script src="/pos/static/js/virtual-scroll.js" defer></script>
|
||||||
<script src="/pos/static/js/inventory.js?v=3" defer></script>
|
<script src="/pos/static/js/inventory.js?v=4" defer></script>
|
||||||
<script src="/pos/static/js/offline-banner.js" defer></script>
|
<script src="/pos/static/js/offline-banner.js" defer></script>
|
||||||
<script src="/pos/static/js/sync-engine.js" defer></script>
|
<script src="/pos/static/js/sync-engine.js" defer></script>
|
||||||
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
||||||
@@ -823,9 +823,9 @@
|
|||||||
<script src="/pos/static/js/chat.js" defer></script>
|
<script src="/pos/static/js/chat.js" defer></script>
|
||||||
<script>
|
<script>
|
||||||
// Load inventory stats for tab badges
|
// Load inventory stats for tab badges
|
||||||
(async function loadInventoryStats() {
|
async function loadInventoryStats() {
|
||||||
try {
|
try {
|
||||||
const token = localStorage.getItem('access_token');
|
const token = localStorage.getItem('pos_token');
|
||||||
if (!token) return;
|
if (!token) return;
|
||||||
const res = await fetch('/pos/api/inventory/stats', {
|
const res = await fetch('/pos/api/inventory/stats', {
|
||||||
headers: { 'Authorization': 'Bearer ' + token }
|
headers: { 'Authorization': 'Bearer ' + token }
|
||||||
@@ -848,7 +848,9 @@
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('Failed to load inventory stats:', e);
|
console.error('Failed to load inventory stats:', e);
|
||||||
}
|
}
|
||||||
})();
|
}
|
||||||
|
window.loadInventoryStats = loadInventoryStats;
|
||||||
|
loadInventoryStats();
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user