From b7154af381b961d146833b1aeb58c051a503bb18 Mon Sep 17 00:00:00 2001 From: Juan Felipe Zapata Moreno Date: Fri, 6 Mar 2026 10:08:09 -0600 Subject: [PATCH] =?UTF-8?q?feat:=20actualizar=20terminolog=C3=ADa=20de=20c?= =?UTF-8?q?ategor=C3=ADa=20a=20clasificaci=C3=B3n=20en=20toda=20la=20aplic?= =?UTF-8?q?aci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/POS/ProductCard.vue | 2 +- ...RegimenSelecto.vue => RegimenSelector.vue} | 0 src/lang/es.js | 2 +- src/pages/POS/Category/CreateModal.vue | 10 +++++----- src/pages/POS/Category/DeleteModal.vue | 8 ++++---- src/pages/POS/Category/EditModal.vue | 10 +++++----- src/pages/POS/Category/Index.vue | 12 +++++------ .../Subcategories/CreateBulkModal.vue | 16 +++++++-------- .../Category/Subcategories/CreateModal.vue | 10 +++++----- .../Category/Subcategories/DeleteModal.vue | 8 ++++---- .../POS/Category/Subcategories/EditModal.vue | 10 +++++----- .../POS/Category/Subcategories/Index.vue | 20 +++++++++---------- .../POS/Clients/BillingRequestDetailModal.vue | 10 ++++++---- src/pages/POS/Inventory/DeleteModal.vue | 2 +- src/pages/POS/Inventory/Index.vue | 8 ++++---- src/pages/POS/Inventory/Serials.vue | 2 +- src/pages/POS/Warehouses/Inventory.vue | 8 ++++---- src/services/whatsappService.js | 14 ++++++------- 18 files changed, 77 insertions(+), 75 deletions(-) rename src/components/POS/{RegimenSelecto.vue => RegimenSelector.vue} (100%) diff --git a/src/components/POS/ProductCard.vue b/src/components/POS/ProductCard.vue index 0c25a98..073ffc1 100644 --- a/src/components/POS/ProductCard.vue +++ b/src/components/POS/ProductCard.vue @@ -71,7 +71,7 @@ const handleAddToCart = () => {
- {{ product.category?.name || 'Sin categoría' }} + {{ product.category?.name || 'Sin clasificación' }}
diff --git a/src/components/POS/RegimenSelecto.vue b/src/components/POS/RegimenSelector.vue similarity index 100% rename from src/components/POS/RegimenSelecto.vue rename to src/components/POS/RegimenSelector.vue diff --git a/src/lang/es.js b/src/lang/es.js index 62503a1..9f262d5 100644 --- a/src/lang/es.js +++ b/src/lang/es.js @@ -502,7 +502,7 @@ export default { }, sku: 'SKU / Código', product: 'Producto', - category: 'Categoría', + category: 'Clasificación', stock: 'Stock', state: 'Estado', cost: 'Costo', diff --git a/src/pages/POS/Category/CreateModal.vue b/src/pages/POS/Category/CreateModal.vue index c33b8c0..d42521b 100644 --- a/src/pages/POS/Category/CreateModal.vue +++ b/src/pages/POS/Category/CreateModal.vue @@ -24,12 +24,12 @@ const form = useForm({ const createCategory = () => { form.post(apiURL('categorias'), { onSuccess: (data) => { - Notify.success('Categoría creada exitosamente'); + Notify.success('Clasificación creada exitosamente'); emit('created', data?.model); closeModal(); }, onError: () => { - Notify.error('Error al crear la categoría'); + Notify.error('Error al crear la clasificación'); } }); }; @@ -46,7 +46,7 @@ const closeModal = () => {

- Crear Categoría + Crear Clasificación

diff --git a/src/pages/POS/Category/DeleteModal.vue b/src/pages/POS/Category/DeleteModal.vue index b0667b5..717e6c4 100644 --- a/src/pages/POS/Category/DeleteModal.vue +++ b/src/pages/POS/Category/DeleteModal.vue @@ -37,7 +37,7 @@ const handleClose = () => {

- Eliminar Categoría + Eliminar Clasificación

diff --git a/src/pages/POS/Category/EditModal.vue b/src/pages/POS/Category/EditModal.vue index 5dee48b..1f57fee 100644 --- a/src/pages/POS/Category/EditModal.vue +++ b/src/pages/POS/Category/EditModal.vue @@ -26,12 +26,12 @@ const form = useForm({ const updateCategory = () => { form.put(apiURL(`categorias/${props.category.id}`), { onSuccess: () => { - Notify.success('Categoría actualizada exitosamente'); + Notify.success('Clasificación actualizada exitosamente'); emit('updated'); closeModal(); }, onError: () => { - Notify.error('Error al actualizar la categoría'); + Notify.error('Error al actualizar la clasificación'); } }); }; @@ -57,7 +57,7 @@ watch(() => props.category, (newCategory) => {

- Editar Categoría + Editar Clasificación

diff --git a/src/pages/POS/Category/Index.vue b/src/pages/POS/Category/Index.vue index 9c5ea48..e6829d3 100644 --- a/src/pages/POS/Category/Index.vue +++ b/src/pages/POS/Category/Index.vue @@ -72,15 +72,15 @@ const confirmDelete = async (id) => { }); if (response.ok) { - Notify.success('Categoría eliminada exitosamente'); + Notify.success('Clasificación eliminada exitosamente'); closeDeleteModal(); searcher.search(); } else { - Notify.error('Error al eliminar la categoría'); + Notify.error('Error al eliminar la clasificación'); } } catch (error) { console.error('Error:', error); - Notify.error('Error al eliminar la categoría'); + Notify.error('Error al eliminar la clasificación'); } }; @@ -102,7 +102,7 @@ onMounted(() => { @click="openCreateModal" > - Nueva Categoría + Nueva Clasificación @@ -169,7 +169,7 @@ onMounted(() => { @@ -182,7 +182,7 @@ onMounted(() => { diff --git a/src/pages/POS/Category/Subcategories/CreateBulkModal.vue b/src/pages/POS/Category/Subcategories/CreateBulkModal.vue index 3d22d16..51abc0f 100644 --- a/src/pages/POS/Category/Subcategories/CreateBulkModal.vue +++ b/src/pages/POS/Category/Subcategories/CreateBulkModal.vue @@ -43,14 +43,14 @@ const createSubcategory = () => { onSuccess: (data) => { Notify.success( entries.value.length === 1 - ? 'Subcategoría creada exitosamente' - : 'Subcategorías creadas exitosamente' + ? 'Subclasificación creada exitosamente' + : 'Subclasificaciones creadas exitosamente' ); emit('created', data?.models ?? data?.model); closeModal(); }, onError: () => { - Notify.error('Error al crear la subcategoría'); + Notify.error('Error al crear la subclasificación'); } }); }; @@ -68,7 +68,7 @@ const closeModal = () => {

- Crear Subcategoría + Crear Subclasificación

@@ -159,7 +159,7 @@ const closeModal = () => { - Agregar otra subcategoría + Agregar otra subclasificación diff --git a/src/pages/POS/Category/Subcategories/CreateModal.vue b/src/pages/POS/Category/Subcategories/CreateModal.vue index 862f5ca..6b9110c 100644 --- a/src/pages/POS/Category/Subcategories/CreateModal.vue +++ b/src/pages/POS/Category/Subcategories/CreateModal.vue @@ -28,13 +28,13 @@ const form = useForm({ const createSubcategory = () => { form.post(apiURL(`categorias/${props.categoryId}/subcategorias`), { onSuccess: (data) => { - Notify.success('Subcategoría creada exitosamente'); + Notify.success('Subclasificación creada exitosamente'); const created = data?.model ?? (data?.models ? data.models[0] : []); emit('created', created); closeModal(); }, onError: () => { - Notify.error('Error al crear la subcategoría'); + Notify.error('Error al crear la subclasificación'); } }); }; @@ -51,7 +51,7 @@ const closeModal = () => {

- Crear Subcategoría + Crear Subclasificación

diff --git a/src/pages/POS/Category/Subcategories/DeleteModal.vue b/src/pages/POS/Category/Subcategories/DeleteModal.vue index e4f286b..3380b66 100644 --- a/src/pages/POS/Category/Subcategories/DeleteModal.vue +++ b/src/pages/POS/Category/Subcategories/DeleteModal.vue @@ -37,7 +37,7 @@ const handleClose = () => {

- Eliminar Subcategoría + Eliminar Subclasificación

diff --git a/src/pages/POS/Category/Subcategories/EditModal.vue b/src/pages/POS/Category/Subcategories/EditModal.vue index 065d107..0cd2dc2 100644 --- a/src/pages/POS/Category/Subcategories/EditModal.vue +++ b/src/pages/POS/Category/Subcategories/EditModal.vue @@ -30,12 +30,12 @@ const form = useForm({ const updateSubcategory = () => { form.put(apiURL(`categorias/${props.categoryId}/subcategorias/${props.subcategory.id}`), { onSuccess: () => { - Notify.success('Subcategoría actualizada exitosamente'); + Notify.success('Subclasificación actualizada exitosamente'); emit('updated'); closeModal(); }, onError: () => { - Notify.error('Error al actualizar la subcategoría'); + Notify.error('Error al actualizar la subclasificación'); } }); }; @@ -61,7 +61,7 @@ watch(() => props.subcategory, (newSubcategory) => {

- Editar Subcategoría + Editar Subclasificación

diff --git a/src/pages/POS/Category/Subcategories/Index.vue b/src/pages/POS/Category/Subcategories/Index.vue index b70b457..14f9524 100644 --- a/src/pages/POS/Category/Subcategories/Index.vue +++ b/src/pages/POS/Category/Subcategories/Index.vue @@ -93,15 +93,15 @@ const confirmDelete = async (id) => { }); if (response.ok) { - Notify.success('Subcategoría eliminada exitosamente'); + Notify.success('Subclasificación eliminada exitosamente'); closeDeleteModal(); searcher.search(); } else { - Notify.error('Error al eliminar la subcategoría'); + Notify.error('Error al eliminar la subclasificación'); } } catch (error) { console.error('Error:', error); - Notify.error('Error al eliminar la subcategoría'); + Notify.error('Error al eliminar la subclasificación'); } }; @@ -120,14 +120,14 @@ onMounted(() => {
-

Categoría

+

Clasificación

- {{ categoryName || 'Subcategorías' }} + {{ categoryName || 'Subclasificaciones' }}

@@ -136,7 +136,7 @@ onMounted(() => { @click="openCreateModal" > - Nueva Subcategoría + Nueva Subclasificación @@ -204,14 +204,14 @@ onMounted(() => { @@ -226,7 +226,7 @@ onMounted(() => { name="category" class="text-6xl mb-2 opacity-50" /> -

No hay subcategorías registradas

+

No hay subclasificaciones registradas

diff --git a/src/pages/POS/Clients/BillingRequestDetailModal.vue b/src/pages/POS/Clients/BillingRequestDetailModal.vue index cb553e4..dba6877 100644 --- a/src/pages/POS/Clients/BillingRequestDetailModal.vue +++ b/src/pages/POS/Clients/BillingRequestDetailModal.vue @@ -157,10 +157,12 @@ const sendInvoiceByWhatsapp = async () => { sendingWhatsapp.value = true; try { - await whatsappService.sendInvoice({ + const ticket = request.sale?.invoice_number || `SOL-${request.id}`; + await whatsappService.sendDocument({ phone_number: request.client.phone, - invoice_number: request.sale?.invoice_number || `SOL-${request.id}`, - pdf_url: request.invoice_pdf_url, + document_url: request.invoice_pdf_url, + filename: `${ticket}.pdf`, + ticket, customer_name: request.client.name }); @@ -419,7 +421,7 @@ const sendInvoiceByWhatsapp = async () => { {{ item.product_name }}

- SKU: {{ item.inventory?.sku || 'N/A' }} • {{ item.inventory?.category?.name || 'Sin categoría' }} + SKU: {{ item.inventory?.sku || 'N/A' }} • {{ item.inventory?.category?.name || 'Sin clasificación' }}

diff --git a/src/pages/POS/Inventory/DeleteModal.vue b/src/pages/POS/Inventory/DeleteModal.vue index eee55f7..40d65f1 100644 --- a/src/pages/POS/Inventory/DeleteModal.vue +++ b/src/pages/POS/Inventory/DeleteModal.vue @@ -65,7 +65,7 @@ const handleClose = () => {

SKU: {{ product.sku }} - {{ product.category?.name || 'Sin categoría' }} + {{ product.category?.name || 'Sin clasificación' }}
diff --git a/src/pages/POS/Inventory/Index.vue b/src/pages/POS/Inventory/Index.vue index 91d4abd..ba16821 100644 --- a/src/pages/POS/Inventory/Index.vue +++ b/src/pages/POS/Inventory/Index.vue @@ -58,7 +58,7 @@ const loadCategories = async () => { categories.value = result.data.categories.data; } } catch (error) { - console.error('Error al cargar categorías:', error); + console.error('Error al cargar clasificaciones:', error); } }; @@ -75,7 +75,7 @@ const loadSubcategories = async () => { categories.value = result.data.subcategories.data; } } catch (error) { - console.error('Error al cargar subcategorías:', error); + console.error('Error al cargar subclasificaciones:', error); } }; @@ -266,13 +266,13 @@ onMounted(() => {
- + - + @@ -207,7 +207,7 @@ onMounted(async () => {