하석형 하석형 04-24
250425 하석형 2뎁스 이상일 경우에도 Breadcrumb 표시
@d1107dee13e6d0d6a3497de68f610d02d8505eeb
client/views/component/Breadcrumb/Breadcrumb.vue
--- client/views/component/Breadcrumb/Breadcrumb.vue
+++ client/views/component/Breadcrumb/Breadcrumb.vue
@@ -73,14 +73,29 @@
         return [...trail, findCurrent];
       };
 
+      // 메뉴 리스트 펼치기
+      const flattenMenus = (menus) => {
+        const result = [];
+
+        for (const menu of menus) {
+          result.push(menu);
+          if (menu.childList?.length) {
+            result.push(...flattenMenus(menu.childList));
+          }
+        }
+
+        return result;
+      }
+
       let breadcrumb = [];
 
       // 구조 판단
       if (menuState.menuList?.length) {
         // 사용자용
-        const flatMenus = menuState.menuList.flatMap(menu =>
-          [menu, ...(menu.childList || [])]
-        );
+        // const flatMenus = menuState.menuList.flatMap(menu =>
+        //   [menu, ...(menu.childList || [])]
+        // );
+        const flatMenus = flattenMenus(menuState.menuList);
         breadcrumb = findFromFlat(flatMenus, currentPath);
       } else if (menuState.menu?.childList?.length) {
         // 관리자용
@@ -92,7 +107,7 @@
 
   },
   mounted(){
-    this.generateBreadcrumb();
+    // this.generateBreadcrumb();
   }
 };
 </script>
(파일 끝에 줄바꿈 문자 없음)
client/views/layout/menuSatisfaction.vue
--- client/views/layout/menuSatisfaction.vue
+++ client/views/layout/menuSatisfaction.vue
@@ -140,7 +140,6 @@
     },
     watch: {
         'pgNm'(newValue, oldValue) {
-            console.log(oldValue)
         },
         '$store.state.menu'(newValue) {
             this.pgNm = newValue.menuNm
client/views/pages/AppRouter.js
--- client/views/pages/AppRouter.js
+++ client/views/pages/AppRouter.js
@@ -173,7 +173,7 @@
 
     // 로그인 모드 확인 (JWT 또는 SESSION)
     const loginMode = store.state.loginMode || 'J'; // 기본값으로 JWT 설정
-    console.log('loginMode', loginMode)
+    // console.log('loginMode', loginMode)
     // 로그인 상태 확인 (JWT 또는 SESSION)
     const isLogin = loginMode === 'J' ? store.state.authorization : store.state.mbrId;
     if (!isLogin && to.path !== filters.ctxPath('/login.page')) {
@@ -203,7 +203,6 @@
     }
     const mbrAuth = store.state.roles.map(auth => auth.authority); // 사용자 권한 정보
     const pageAuth = mergeAuth(mbrAuth, to.meta);
-    console.log("권한확인", to.meta);
     sessionStorage.setItem("redirect", to.fullPath);
     
     // 메인 페이지 or 로그인 페이지
Add a comment
List