From 87c01b11a74f6387613f77f0df6ac8c2b1273cc5 Mon Sep 17 00:00:00 2001 From: aserrador Date: Sat, 15 Aug 2026 16:05:22 -0500 Subject: [PATCH] =?UTF-8?q?feat:=20mostrar=20detalle=20y=20nombre=20en=20v?= =?UTF-8?q?entanas=20de=20sincronizaci=C3=B3n=20Tryton?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fallidos muestran ID + Nombre/Código + Detalle (causa del fallo) - Actualizados muestran columna Detalle con los cambios aplicados - Creados/Sin cambios/Verificados muestran ID + Nombre; ventas ID + Código - Formateadores toleran backend anterior (IDs sueltos) --- .../sincronizar_catalog_sales_tryton.vue | 25 +++++++--- src/pages/sincronizar_clientes_tryton.vue | 47 ++++++++++++++----- src/pages/sincronizar_productos_tryton.vue | 40 +++++++++++----- src/pages/sincronizar_ventas_tryton.vue | 25 +++++++--- 4 files changed, 99 insertions(+), 38 deletions(-) diff --git a/src/pages/sincronizar_catalog_sales_tryton.vue b/src/pages/sincronizar_catalog_sales_tryton.vue index 568028a..47edf2e 100644 --- a/src/pages/sincronizar_catalog_sales_tryton.vue +++ b/src/pages/sincronizar_catalog_sales_tryton.vue @@ -51,9 +51,13 @@ ❌ Fallidos ({{ result.failed?.length || 0 }}) @@ -64,9 +68,12 @@ ✅ Exitosos ({{ result.successful?.length || 0 }}) @@ -99,9 +106,13 @@ } }, methods: { - formatItems(ids) { - if (!ids || ids.length === 0) return []; - return ids.map(id => ({ id })); + formatSalesResults(items) { + if (!items || items.length === 0) return []; + return items.map(item => + typeof item === 'object' + ? { id: item.id, code: item.code ?? '', detail: item.error ?? '' } + : { id: item, code: '', detail: '' } + ); }, startSync() { this.loading = true; diff --git a/src/pages/sincronizar_clientes_tryton.vue b/src/pages/sincronizar_clientes_tryton.vue index c032c74..5729f2c 100644 --- a/src/pages/sincronizar_clientes_tryton.vue +++ b/src/pages/sincronizar_clientes_tryton.vue @@ -55,9 +55,13 @@ ❌ Fallidos ({{ result.failed_parties?.length || 0 }}) @@ -68,9 +72,12 @@ ✅ Creados ({{ result.created_customers?.length || 0 }}) @@ -81,9 +88,13 @@ 🔄 Actualizados ({{ result.updated_customers?.length || 0 }}) @@ -94,9 +105,12 @@ ⏭️ Sin cambios ({{ result.untouched_customers?.length || 0 }}) @@ -107,9 +121,12 @@ 🔍 Verificados ({{ result.checked_tryton_parties?.length || 0 }}) @@ -142,9 +159,13 @@ } }, methods: { - formatItems(ids) { - if (!ids || ids.length === 0) return []; - return ids.map(id => ({ id })); + formatResults(items) { + if (!items || items.length === 0) return []; + return items.map(item => + typeof item === 'object' + ? { id: item.id ?? item.external_id, name: item.name ?? '', detail: item.error ?? item.detail ?? '' } + : { id: item, name: '', detail: '' } + ); }, startSync() { this.loading = true; diff --git a/src/pages/sincronizar_productos_tryton.vue b/src/pages/sincronizar_productos_tryton.vue index a0aad2c..5c0f1c0 100644 --- a/src/pages/sincronizar_productos_tryton.vue +++ b/src/pages/sincronizar_productos_tryton.vue @@ -55,9 +55,13 @@ ❌ Fallidos ({{ result.failed_products?.length || 0 }}) @@ -68,9 +72,12 @@ ✅ Creados ({{ result.created_products?.length || 0 }}) @@ -81,9 +88,13 @@ 🔄 Actualizados ({{ result.updated_products?.length || 0 }}) @@ -94,9 +105,12 @@ ⏭️ Sin cambios ({{ result.untouched_products?.length || 0 }}) @@ -129,9 +143,13 @@ } }, methods: { - formatItems(ids) { - if (!ids || ids.length === 0) return []; - return ids.map(id => ({ id })); + formatResults(items) { + if (!items || items.length === 0) return []; + return items.map(item => + typeof item === 'object' + ? { id: item.id ?? item.external_id, name: item.name ?? '', detail: item.error ?? item.detail ?? '' } + : { id: item, name: '', detail: '' } + ); }, startSync() { this.loading = true; diff --git a/src/pages/sincronizar_ventas_tryton.vue b/src/pages/sincronizar_ventas_tryton.vue index e413a3e..0bb714a 100644 --- a/src/pages/sincronizar_ventas_tryton.vue +++ b/src/pages/sincronizar_ventas_tryton.vue @@ -51,9 +51,13 @@ ❌ Fallidos ({{ result.failed?.length || 0 }}) @@ -64,9 +68,12 @@ ✅ Exitosos ({{ result.successful?.length || 0 }}) @@ -99,9 +106,13 @@ } }, methods: { - formatItems(ids) { - if (!ids || ids.length === 0) return []; - return ids.map(id => ({ id })); + formatSalesResults(items) { + if (!items || items.length === 0) return []; + return items.map(item => + typeof item === 'object' + ? { id: item.id, code: item.code ?? '', detail: item.error ?? '' } + : { id: item, code: '', detail: '' } + ); }, startSync() { this.loading = true;