diff --git a/backend/api/v1/modules/a76/general_catalogs/signatures/service.py b/backend/api/v1/modules/a76/general_catalogs/signatures/service.py index 1a2a5e26..80944e54 100644 --- a/backend/api/v1/modules/a76/general_catalogs/signatures/service.py +++ b/backend/api/v1/modules/a76/general_catalogs/signatures/service.py @@ -36,6 +36,9 @@ class SignatureService: if filters.get("code"): query = query.filter( models.Signature.code.ilike(f"%{filters['code']}%")) + if filters.get("signature"): + query = query.filter( + models.Signature.signature.ilike(f"%{filters['signature']}%")) total = query.count() signatures = query.offset(skip).limit(limit).all() diff --git a/frontend/src/lib/api/dashboard/a76/general_catalogs/signatures.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/signatures.ts index 7c399fe5..890dbed7 100644 --- a/frontend/src/lib/api/dashboard/a76/general_catalogs/signatures.ts +++ b/frontend/src/lib/api/dashboard/a76/general_catalogs/signatures.ts @@ -36,19 +36,21 @@ export interface SignatureListResponse { export async function getSignatures( page: number = 1, pageSize: number = 50, - companyId: number, + companyId: number, filters: Record = {} ): Promise> { - const params = new URLSearchParams({ + const paramObj: Record = { page: page.toString(), page_size: pageSize.toString(), - company_id: companyId.toString(), - ...filters + company_id: companyId.toString() + }; + Object.entries(filters).forEach(([k, v]) => { + if (v !== undefined && v !== null && v !== '') paramObj[k] = String(v); }); + const params = new URLSearchParams(paramObj); - const response = await api.get(`/v1/a76/signatures/?${params.toString()}`); - return response.data; + return api.get(`/v1/a76/signatures/?${params.toString()}`); } diff --git a/frontend/src/lib/components/dashboard/general_catalogs/signatures/create-edit-dialog.svelte b/frontend/src/lib/components/dashboard/general_catalogs/signatures/create-edit-dialog.svelte index faa95017..0be5b8af 100644 --- a/frontend/src/lib/components/dashboard/general_catalogs/signatures/create-edit-dialog.svelte +++ b/frontend/src/lib/components/dashboard/general_catalogs/signatures/create-edit-dialog.svelte @@ -96,7 +96,7 @@ - + e.preventDefault()}> {title} diff --git a/frontend/src/routes/dashboard/general_catalogs/signatures/+page.svelte b/frontend/src/routes/dashboard/general_catalogs/signatures/+page.svelte index 444c3322..92565f89 100644 --- a/frontend/src/routes/dashboard/general_catalogs/signatures/+page.svelte +++ b/frontend/src/routes/dashboard/general_catalogs/signatures/+page.svelte @@ -48,7 +48,7 @@ manejarActualizar: () => reloadData() // Filtros let searchCode = $state($page.url.searchParams.get('code') || ''); -let searchDesc = $state($page.url.searchParams.get('description') || ''); +let searchDesc = $state($page.url.searchParams.get('signature') || ''); let timeout: ReturnType; let allItems = $state(data.signatures?.items || data.signatures || []); @@ -83,7 +83,7 @@ error = null; try { const response = await signaturesApi.list(companyStore.activeCompany.id, { code: searchCode || undefined, -description: searchDesc || undefined, +signature: searchDesc || undefined, page: '1', page_size: pageSize.toString() }); @@ -101,8 +101,8 @@ loading = false; const url = new URL($page.url); if (searchCode) url.searchParams.set('code', searchCode); else url.searchParams.delete('code'); -if (searchDesc) url.searchParams.set('description', searchDesc); -else url.searchParams.delete('description'); +if (searchDesc) url.searchParams.set('signature', searchDesc); +else url.searchParams.delete('signature'); history.replaceState(history.state, '', url); }, 500); } @@ -113,7 +113,7 @@ loading = true; try { const response = await signaturesApi.list(companyStore.activeCompany.id, { code: searchCode || undefined, -description: searchDesc || undefined, +signature: searchDesc || undefined, page: (currentPage + 1).toString(), page_size: pageSize.toString() }); @@ -134,7 +134,7 @@ error = null; try { const response = await signaturesApi.list(companyStore.activeCompany.id, { code: searchCode || undefined, -description: searchDesc || undefined, +signature: searchDesc || undefined, page: '1', page_size: pageSize.toString() }); @@ -165,8 +165,8 @@ const columns = $derived(createColumns(handleSuccess, { canEdit, canDelete }));

Catálogo de Firmas del sistema

- {#if !isError && canCreate}