From b895836849a112de165481266e2e9bb6780e45c5 Mon Sep 17 00:00:00 2001 From: Juan Felipe Zapata Moreno Date: Fri, 30 Jan 2026 16:48:25 -0600 Subject: [PATCH] =?UTF-8?q?feat:=20mejorar=20la=20gesti=C3=B3n=20de=20erro?= =?UTF-8?q?res=20y=20optimizar=20la=20carga=20de=20datos=20en=20los=20comp?= =?UTF-8?q?onentes=20de=20devoluci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/POS/Inventory/Serials.vue | 1 - src/pages/POS/Returns/CreateReturn.vue | 6 ++++-- src/pages/POS/Returns/Index.vue | 1 - src/pages/POS/Returns/ReturnDetail.vue | 11 ++++++----- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/pages/POS/Inventory/Serials.vue b/src/pages/POS/Inventory/Serials.vue index 3ffaf61..afff793 100644 --- a/src/pages/POS/Inventory/Serials.vue +++ b/src/pages/POS/Inventory/Serials.vue @@ -89,7 +89,6 @@ const closeCreateModal = () => { const createSerial = () => { const url = apiURL(`inventario/${inventoryId.value}/serials`); - console.log('Creating serial at URL:', url, 'inventoryId:', inventoryId.value); form.post(url, { onSuccess: (response) => { diff --git a/src/pages/POS/Returns/CreateReturn.vue b/src/pages/POS/Returns/CreateReturn.vue index ba0e670..207567a 100644 --- a/src/pages/POS/Returns/CreateReturn.vue +++ b/src/pages/POS/Returns/CreateReturn.vue @@ -76,9 +76,11 @@ const canSubmit = computed(() => { }); /** Watchers */ -watch(() => props.show, (isShown) => { +watch(() => props.show, async (isShown) => { if (isShown) { resetForm(); + // Cargar el estado de la caja registradora + await cashRegisterStore.loadCurrentRegister(); if (props.sale) { searchSale(); } @@ -130,7 +132,7 @@ const searchSale = async () => { quantity_sold: item.quantity_sold, quantity_already_returned: item.quantity_already_returned, quantity_returnable: item.quantity_returnable, - available_serials: item.serials || [], + available_serials: item.available_serials || [], // Estado de selección selected: false, quantity: 0, diff --git a/src/pages/POS/Returns/Index.vue b/src/pages/POS/Returns/Index.vue index c5cf8ff..63a5181 100644 --- a/src/pages/POS/Returns/Index.vue +++ b/src/pages/POS/Returns/Index.vue @@ -35,7 +35,6 @@ const openDetailModal = async (returnItem) => { selectedReturn.value = response.model || response; showDetailModal.value = true; } catch (error) { - console.error('Error al cargar detalles:', error); window.Notify.error('Error al cargar los detalles de la devolución'); } }; diff --git a/src/pages/POS/Returns/ReturnDetail.vue b/src/pages/POS/Returns/ReturnDetail.vue index 523fa27..70755cb 100644 --- a/src/pages/POS/Returns/ReturnDetail.vue +++ b/src/pages/POS/Returns/ReturnDetail.vue @@ -22,7 +22,8 @@ const emit = defineEmits(['close', 'cancelled']); /** Computados */ const returnItems = computed(() => { - return props.returnData?.details || []; + const items = props.returnData?.details || []; + return items; }); const hasItems = computed(() => { @@ -59,8 +60,8 @@ const getRefundMethodBadge = (method) => { const getRefundMethodLabel = (method) => { const labels = { cash: 'Efectivo', - card: 'Tarjeta', - store_credit: 'Crédito tienda' + credit_card: 'Credito', + debit_card: 'Debito' }; return labels[method] || method || '-'; }; @@ -68,8 +69,8 @@ const getRefundMethodLabel = (method) => { const getRefundMethodIcon = (method) => { const icons = { cash: 'payments', - card: 'credit_card', - store_credit: 'account_balance_wallet' + credit_card: 'credit_card', + debit_card: 'credit_card' }; return icons[method] || 'payment'; };