From dfbe572c7966e4675e6983c2d76b74b52f84f501 Mon Sep 17 00:00:00 2001 From: Juan Felipe Zapata Moreno Date: Wed, 25 Mar 2026 15:40:58 -0600 Subject: [PATCH] feat: agregar funcionalidad para gestionar la entrega de activos y mejorar la descarga de resguardos --- src/components/layout/Sidebar.vue | 16 ++++++++++ .../assets/FixedAssetAcquisitionSection.vue | 2 +- .../assignments/AssignmentDetailsCard.vue | 12 +++++++ .../assignments/FixedAssetAssignmentForm.vue | 2 ++ .../FixedAssetAssignmentsIndex.vue | 19 +++++++----- .../services/fixedAssetsService.ts | 31 +++++++++++++------ .../types/fixedAssetAssignment.ts | 1 + 7 files changed, 66 insertions(+), 17 deletions(-) diff --git a/src/components/layout/Sidebar.vue b/src/components/layout/Sidebar.vue index b9b9508..081a7c3 100644 --- a/src/components/layout/Sidebar.vue +++ b/src/components/layout/Sidebar.vue @@ -224,6 +224,22 @@ const isRouteActive = (to: string | undefined) => { return item.to === route.path; }); + // Verificar si existe otro item del menú con un prefijo más específico que también matchea + // Ej: si estamos en /fixed-assets/assignments/create y el menú tiene /fixed-assets/assignments, + // entonces /fixed-assets no debe activarse porque /fixed-assets/assignments es más específico + const hasMoreSpecificMatch = visibleMenuItems.value.some(item => { + const checkItem = (itemTo: string | undefined) => { + if (!itemTo || itemTo === to) return false; + return itemTo.startsWith(to + '/') && route.path.startsWith(itemTo + '/') || itemTo.startsWith(to + '/') && route.path === itemTo; + }; + if (item.items) { + return item.items.some(subItem => checkItem(subItem.to)); + } + return checkItem(item.to); + }); + + if (hasMoreSpecificMatch) return false; + // Si NO está explícitamente en el menú, entonces es una ruta hija (create, edit, etc) return !isExplicitRoute; } diff --git a/src/modules/fixed-assets/components/assets/FixedAssetAcquisitionSection.vue b/src/modules/fixed-assets/components/assets/FixedAssetAcquisitionSection.vue index b1928eb..8f85d00 100644 --- a/src/modules/fixed-assets/components/assets/FixedAssetAcquisitionSection.vue +++ b/src/modules/fixed-assets/components/assets/FixedAssetAcquisitionSection.vue @@ -54,7 +54,7 @@ const depreciationOptions = [
(); showClear />
+
+ +