From 9105fad3c4a22514395e15f74395794f4bf3946d Mon Sep 17 00:00:00 2001 From: hreyes Date: Wed, 29 Apr 2026 07:37:01 -0600 Subject: [PATCH] fix/codigo-clave-cambio --- .../a76/general_catalogs/concepts/routes.py | 1 + .../general_catalogs/identifiers/routes.py | 1 + .../a76/general_catalogs/concepts.ts | 13 ++++++- .../a76/general_catalogs/identifiers.ts | 13 ++++++- .../concepts/create-edit-dialog.svelte | 37 +++++++++++-------- .../equivalencies/+page.svelte | 2 +- .../units_of_measure/ace/+page.svelte | 2 +- .../units_of_measure/american/+page.svelte | 2 +- .../units_of_measure/customs/+page.svelte | 2 +- .../units_of_measure/general/+page.svelte | 2 +- .../units_of_measure/oma/+page.svelte | 2 +- 11 files changed, 54 insertions(+), 23 deletions(-) diff --git a/backend/api/v1/modules/a76/general_catalogs/concepts/routes.py b/backend/api/v1/modules/a76/general_catalogs/concepts/routes.py index f66664e4..dda46e4b 100644 --- a/backend/api/v1/modules/a76/general_catalogs/concepts/routes.py +++ b/backend/api/v1/modules/a76/general_catalogs/concepts/routes.py @@ -11,6 +11,7 @@ router = TenantCRUDRoutes( tags=["a76.general_catalogs.concepts"], resource_name="Concept", enable_list=True, + enable_filters=True, list_permissions=["cat_concepts.view"], get_permissions=["cat_concepts.view"], create_permissions=["cat_concepts.create"], diff --git a/backend/api/v1/modules/a76/general_catalogs/identifiers/routes.py b/backend/api/v1/modules/a76/general_catalogs/identifiers/routes.py index 16ff8736..ed326704 100644 --- a/backend/api/v1/modules/a76/general_catalogs/identifiers/routes.py +++ b/backend/api/v1/modules/a76/general_catalogs/identifiers/routes.py @@ -19,6 +19,7 @@ identifier_crud = TenantCRUDRoutes( tags=["Identifiers"], resource_name="Identifier", enable_list=True, + enable_filters=True, list_permissions=["cat_identifiers.view"], get_permissions=["cat_identifiers.view"], create_permissions=["cat_identifiers.create"], diff --git a/frontend/src/lib/api/dashboard/a76/general_catalogs/concepts.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/concepts.ts index b943aaee..1c4ee05b 100644 --- a/frontend/src/lib/api/dashboard/a76/general_catalogs/concepts.ts +++ b/frontend/src/lib/api/dashboard/a76/general_catalogs/concepts.ts @@ -50,11 +50,22 @@ export async function getConcepts( companyId: number, filters: Record = {}, ): Promise> { + const cleanFilters = Object.fromEntries( + Object.entries(filters).filter(([, value]) => { + if (value === undefined || value === null) return false; + if (typeof value === 'string') { + const trimmed = value.trim(); + return trimmed !== '' && trimmed.toLowerCase() !== 'undefined'; + } + return true; + }) + ); + const params = new URLSearchParams({ page: page.toString(), page_size: pageSize.toString(), company_id: companyId.toString(), - ...filters + ...cleanFilters }); return await api.get(`/v1/a76/concepts/?${params.toString()}`); diff --git a/frontend/src/lib/api/dashboard/a76/general_catalogs/identifiers.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/identifiers.ts index 2b7ccf3e..2f5ee917 100644 --- a/frontend/src/lib/api/dashboard/a76/general_catalogs/identifiers.ts +++ b/frontend/src/lib/api/dashboard/a76/general_catalogs/identifiers.ts @@ -68,11 +68,22 @@ export async function getIdentifiers( companyId: number, filters: Record = {} ): Promise> { + const cleanFilters = Object.fromEntries( + Object.entries(filters).filter(([, value]) => { + if (value === undefined || value === null) return false; + if (typeof value === 'string') { + const trimmed = value.trim(); + return trimmed !== '' && trimmed.toLowerCase() !== 'undefined'; + } + return true; + }) + ); + const queryParams = new URLSearchParams({ page: page.toString(), page_size: pageSize.toString(), company_id: companyId.toString(), - ...filters + ...cleanFilters }); return await api.get(`/v1/a76/identifiers/?${queryParams.toString()}`); diff --git a/frontend/src/lib/components/dashboard/general_catalogs/concepts/create-edit-dialog.svelte b/frontend/src/lib/components/dashboard/general_catalogs/concepts/create-edit-dialog.svelte index d3366de5..92df47fd 100644 --- a/frontend/src/lib/components/dashboard/general_catalogs/concepts/create-edit-dialog.svelte +++ b/frontend/src/lib/components/dashboard/general_catalogs/concepts/create-edit-dialog.svelte @@ -45,8 +45,26 @@ let loading = $state(false); let error = $state(null); - // Cargar datos al abrir + function resetForm() { + formData = { + code: '', + description: '', + description_en: '', + detailed_description: '', + priority: '', + priority_ame: '', + first_total: '', + type: '', + is_printed: false, + section: '', + classification: '' + }; + } + + // Cargar/limpiar datos al abrir $effect(() => { + if (!open) return; + if (item) { formData = { code: item.code || '', @@ -62,21 +80,10 @@ classification: item.classification || '' }; } else { - // Limpiar formulario - formData = { - code: '', - description: '', - description_en: '', - detailed_description: '', - priority: '', - priority_ame: '', - first_total: '', - type: '', - is_printed: false, - section: '', - classification: '' - }; + resetForm(); } + + error = null; }); async function handleSubmit() { diff --git a/frontend/src/routes/dashboard/general_catalogs/equivalencies/+page.svelte b/frontend/src/routes/dashboard/general_catalogs/equivalencies/+page.svelte index 4b2dbbdd..d67897cf 100644 --- a/frontend/src/routes/dashboard/general_catalogs/equivalencies/+page.svelte +++ b/frontend/src/routes/dashboard/general_catalogs/equivalencies/+page.svelte @@ -283,7 +283,7 @@ Listado de Equivalencias
Listado de Unidades
- +
diff --git a/frontend/src/routes/dashboard/general_catalogs/units_of_measure/american/+page.svelte b/frontend/src/routes/dashboard/general_catalogs/units_of_measure/american/+page.svelte index 0969df4f..4f70851c 100644 --- a/frontend/src/routes/dashboard/general_catalogs/units_of_measure/american/+page.svelte +++ b/frontend/src/routes/dashboard/general_catalogs/units_of_measure/american/+page.svelte @@ -221,7 +221,7 @@ onRetry={reloadData}
Listado de Unidades
- +
diff --git a/frontend/src/routes/dashboard/general_catalogs/units_of_measure/customs/+page.svelte b/frontend/src/routes/dashboard/general_catalogs/units_of_measure/customs/+page.svelte index 2a1d7e75..d8d20364 100644 --- a/frontend/src/routes/dashboard/general_catalogs/units_of_measure/customs/+page.svelte +++ b/frontend/src/routes/dashboard/general_catalogs/units_of_measure/customs/+page.svelte @@ -182,7 +182,7 @@ onRetry={reloadData}
Listado de Unidades
- +
diff --git a/frontend/src/routes/dashboard/general_catalogs/units_of_measure/general/+page.svelte b/frontend/src/routes/dashboard/general_catalogs/units_of_measure/general/+page.svelte index f49ae61f..404e47d2 100644 --- a/frontend/src/routes/dashboard/general_catalogs/units_of_measure/general/+page.svelte +++ b/frontend/src/routes/dashboard/general_catalogs/units_of_measure/general/+page.svelte @@ -275,7 +275,7 @@ Listado de Unidades
Listado de Unidades
- +