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 = [