left 메뉴 삭제 / top 메뉴 수정

This commit is contained in:
hylee 2023-09-26 18:24:08 +09:00
parent 9819d56892
commit 11bff5a1c3
2 changed files with 111 additions and 7 deletions

View File

@ -623,7 +623,7 @@ public class MainController {
//List<MenuManageJTreeVO> menuResultList = menuCreateManageService.selectMenuListJtree(menuManageVO) ;
menuManageVO.setSiteId(siteId);
List<MenuManageJTreeVO> menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO) ;
System.out.println("================================");
List<String> menuTwoExist = new ArrayList<>(); //2뎁스의 하위 매뉴가 있는것 조회
HashSet<String> underMenuEmpty = new HashSet<String>(); //2뎁스의 하위매뉴 없는것 조회
for(MenuManageJTreeVO menuManage : menuResultList){
@ -1355,6 +1355,8 @@ public class MainController {
.replace("addFcltMgr", "fcltMgrList")
.replace("mainzoneModify", "mainzoneList");
menuUrl = strUrl;
System.out.println("strUrl :: "+ strUrl);
}
@ -1465,6 +1467,21 @@ public class MainController {
//현재 메뉴
setViewMenu(request , commandMap , tempMenuManageVO , resultVO , menuManageVO );
String pageUrl = request.getRequestURI().replaceAll(request.getContextPath(), "");
// System.out.println("pageUri :: "+ pageUri.substring(0, pageUri.lastIndexOf("/")));
String pageUri = pageUrl.substring(0, pageUrl.lastIndexOf("/"));
model.addAttribute("pageUri", pageUri);
String pageUriLast = pageUrl.substring(pageUrl.lastIndexOf("/"), pageUrl.length());
model.addAttribute("pageUriLast", pageUriLast);
System.out.println("pageUri :: "+ pageUri);
System.out.println("pageUri :: "+ pageUri);
System.out.println("pageUri :: "+ pageUri);
System.out.println("pageUriLast :: "+ pageUriLast);
//메뉴번호 넘겨주기
model.addAttribute("menuNo", menuManageVO.getMenuNo());
@ -1533,6 +1550,7 @@ public class MainController {
menuManageVO.setAuthorCode(auth);
menuManageVO.setMenuUserType(menuManageVO.getMenuUserType());
List<MenuManageJTreeVO> menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO) ;
System.out.println("======================== menuResultList");
for(MenuManageJTreeVO tempResultVo : menuResultList){ //1 뎁스
if(tempResultVo.getDepths().equals("1")){
showOneDepthMenu.add(tempResultVo);
@ -1620,6 +1638,25 @@ public class MainController {
model.addAttribute("menuCurrentResultList", menuCurrentResultList);
model.addAttribute("menuLeftResultList", menuLeftResultList);
for(MenuManageJTreeVO treeVO : menuResultList) {
if(!"1".equals(treeVO.getDepths())) {
continue;
}
for(MenuManageJTreeVO treeLowVO : menuResultList) {
if(treeVO.getMenuNo().equals(treeLowVO.getUpperMenuId())) {
treeVO.setUrl(treeLowVO.getUrl());
break;
}
}
}
model.addAttribute("menuResultList", menuResultList);
// 아래 처리중 중간네비 메뉴 조회를 위해 with recurseive 중첩절을 쓰는 쿼리가 있음으로, 큐브리드 쿼리화 필요

View File

@ -65,7 +65,74 @@ function snsShare(snsName) {
<!-- 바디 전체 div="container" 선언 - 네비/바디 전체 div="container" 종료 - 푸터 -->
<div class="container">
<c:if test="${!fn:contains(URL , 'login/ssoLogin.')}">
<div class="path">
<div class="navigation">
<div class="inner">
<ul class="list">
<li class="home"><a href="/user/main/main.do">메인화면</a></li>
<li>
<!-- 데이터 셋팅 -->
<c:forEach var="resultListTit" items="${menuResultList}" varStatus="status">
<c:if test="${resultListTit.depths eq '2' and fn:contains(resultListTit.url, pageUri)}" >
<!-- 조건을 만족하는 항목에 대한 처리 -->
<c:set var="upperMenuId" value="${resultListTit.upperMenuId }"/>
</c:if>
</c:forEach>
<!-- 1depths -->
<c:forEach var="resultListTit" items="${menuResultList}" varStatus="status">
<c:if test="${resultListTit.depths eq '1' and upperMenuId eq resultListTit.menuNo }" >
<button type="button" class="navi_title" id="p_menu_nm_navi" title="하위메뉴 열기">${resultListTit.menuNm }</button>
<!-- 조건을 만족하는 항목에 대한 처리 -->
</c:if>
</c:forEach>
<ul class="navi_depth" id="navi_depth_1">
<c:forEach var="resultListOne" items="${menuResultList}" varStatus="status">
<c:if test="${resultListOne.depths eq '1' }">
<li>
<a href="${pageContext.request.contextPath}${empty resultListOne.url ? '#' : resultListOne.url }" ${resultListOne.menuType eq 'O' ? 'target="_blank"' : ""} >
<c:out value="${resultListOne.menuNm}" escapeXml="false" />
</a>
</li>
</c:if>
</c:forEach>
</ul>
</li>
<!-- 2depths -->
<li>
<c:set var="found" value="false"/>
<c:forEach var="resultListTwo" items="${menuResultList}" varStatus="status">
<c:if test="${not found
&& resultListTwo.depths eq '2'
&& resultListTwo.upperMenuId eq upperMenuId
and fn:contains(resultListTwo.url, pageUriLast)}">
<button type="button" class="navi_title" id="menu_nm_navi" title="하위메뉴 열기"><c:out value="${resultListTwo.menuNm}" /></button>
<c:set var="found" value="true"/>
</c:if>
</c:forEach>
<ul class="navi_depth" id="navi_depth_2">
<c:forEach var="resultListTwo" items="${menuResultList}" varStatus="status">
<c:if test="${resultListTwo.depths eq '2'
&& resultListTwo.upperMenuId eq upperMenuId }">
<li>
<a href="${pageContext.request.contextPath}${empty resultListTwo.url ? '#' : resultListTwo.url }" ${resultListTwo.menuType eq 'O' ? 'target="_blank"' : ""} >
<c:out value="${resultListTwo.menuNm}" />
</a>
</li>
</c:if>
</c:forEach>
</ul>
</li>
</ul>
</div>
</div>
<%-- <div class="path">
<div class="pathedfr">
<ul>
<li class="home"><i></i>HOME</li>
@ -135,11 +202,11 @@ function snsShare(snsName) {
</ul>
</div>
<!--// mobile snb-->
</div>
</div> --%>
</c:if>
<!-- 선언 - 이너/종료 - 푸터 -->
<div class="inner">
<div class="snb">
<%-- <div class="snb">
<c:forEach var="menuLeftResultList" items="${menuLeftResultList}" varStatus="status">
<c:if test="${menuLeftResultList.depths eq '1' }">
<c:forEach var="resultCurrentList" items="${menuCurrentResultList}" varStatus="status">
@ -162,7 +229,7 @@ function snsShare(snsName) {
</c:forEach>
</ul>
</div>
</div>
</div> --%>