Explorar el Código

사용자 메뉴 관리 화면 수정

eskim hace 5 años
padre
commit
e01447261f

+ 2 - 0
style24.admin/src/main/java/com/style24/admin/biz/service/TsaSystemService.java

@@ -237,6 +237,7 @@ public class TsaSystemService {
 			throw new IllegalStateException(message.getMessage("FAIL_1001"));
 
 		int cnt = 0;
+		log.info("saveUserMenuList userMenuList={}", userMenuList);
 
 		for (UserMenu adminMenu : userMenuList) {
 			if (cnt++ == 0) {
@@ -246,6 +247,7 @@ public class TsaSystemService {
 
 			adminMenu.setRegNo(TsaSession.getInfo().getUserNo());
 			adminMenu.setUpdNo(TsaSession.getInfo().getUserNo());
+			adminMenu.setUseRole("RCUD");
 
 			// 사용자 메뉴 생성
 			systemDao.createUserMenu(adminMenu);

+ 2 - 1
style24.admin/src/main/java/com/style24/persistence/domain/UserMenu.java

@@ -6,7 +6,7 @@ import lombok.Data;
 
 /**
  * 사용자메뉴 Domain
- * 
+ *
  * @author gagamel
  * @since 2020. 10. 7
  */
@@ -21,4 +21,5 @@ public class UserMenu extends TscBaseDomain {
 	private int menuLvl;	// 메뉴레벨
 	private String useYn;	// 사용여부
 
+	private String useRole;
 }

+ 25 - 20
style24.admin/src/main/webapp/WEB-INF/views/system/UserMenuForm.html

@@ -14,18 +14,17 @@
  * 1.0  2019.12.06   gagamel     최초 작성
  *******************************************************************************
  -->
-<ul class="popup modeless ui-widget-content" data-width="600" data-height="670">
-	<li class="mdPopTitle">
-		<strong>사용자 메뉴</strong>
-		<button type="button" class="close" onclick="uifnPopupClose('popupUserMenu');"><em class="fa fa-times"></em></button>
-	</li>
-	
-	<li class="mdPopContent">
-		<div class="yScroll" style="height: 500px;">
+<div class="modalPopup" data-width="600">
+	<div class="panelStyle">
+		<div class="panelTitle">
+			<h2>사용자 메뉴</h2>
+			<button type="button" class="close" onclick="uifnPopupClose('popupUserMenu');"><i class="fa fa-times"></i></button>
+		</div>
+		<div class="panelContent yScroll" style="height: 500px;">
 			<form id="userMenuForm" name="userMenuForm" action="#" th:action="@{'/system/user/menu/list/save'}" th:method="post">
 				<table class="frmStyle" aria-describedby="사용자 메뉴 목록">
 					<colgroup>
-						<col style="width: 20%"/>
+						<col style="width: 10%"/>
 						<col style="width: 20%"/>
 						<col/>
 						<col style="width: 20%"/>
@@ -43,28 +42,25 @@
 							<td colspan="4">조회 결과가 없습니다.</td>
 						</tr>
 						<tr th:each="oneData : ${userMenuList}">
-							<input type="hidden" name="userNo" th:value="${oneData.userNo}"/>
-							<input type="hidden" name="menuId" th:value="${oneData.menuId}"/>
-							<td><label class="chkBox"><input type="checkbox" name="chkUseYn" th:checked="${oneData.useYn == 'Y'}" th:readonly="${oneData.menuGb == 'M'}"/></label></td>
+							<td class="aC"><label class="chkBox" th:classappend="${oneData.useYn == 'Y' ? 'checked' :''}"><input type="checkbox" name="chkUseYn" th:checked="${oneData.useYn == 'Y'}" th:readonly="${oneData.menuGb == 'M'}"/></label></td>
 							<td style="text-align: left" th:text="${(oneData.menuLvl == 1 ? '&nbsp;&nbsp;&nbsp;' : oneData.menuLvl == 2 ? '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' : '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;') + oneData.menuLvl + '. ' + oneData.menuId}">A</td>
 							<td style="text-align: left" th:text="${oneData.menuNm}">상품</td>
 							<td th:text="${oneData.menuGb == 'M' ? '메뉴' : '프로그램'}">메뉴</td>
+							<input type="hidden" name="userNo" th:value="${oneData.userNo}"/>
+							<input type="hidden" name="menuId" th:value="${oneData.menuId}"/>
 						</tr>
 					</tbody>
 				</table>
 			</form>
 		</div>
-	</li>
-	
-	<li class="mdPopBtnB">
-		<ul class="lrStyle">
-			<li class="aL">
+		<ul class="panelBar" style="padding-top:15px">
+			<li class="center">
 				<button type="button" class="btn btn-info btn-lg" onclick="fnSaveUserMenu();">저장</button>
-				<button type="button" class="btn btn-gray btn-lg" onclick="$('#userMenuForm')[0].reset();">초기화</button>
+				<button type="button" class="btn btn-gray btn-lg" onclick="fnInit();">초기화</button>
 			</li>
 		</ul>
-	</li>
-</ul>
+	</div>
+</div>
 
 <script th:inline="javascript">
 /*<![CDATA[*/
@@ -86,8 +82,10 @@
 		
 		if ($(obj).hasClass('checked')) {
 			$(obj).removeClass('checked');
+			$(obj).parent('label').removeClass('checked');
 		} else {
 			$(obj).addClass('checked');
+			$(obj).parent('label').addClass('checked');
 		}
 	}
 	
@@ -122,6 +120,13 @@
 		});
 	}
 	
+	// 초기화
+	var fnInit = function() {
+		$('#userMenuForm')[0].reset();
+		$("#userMenuForm input[type=checkbox]").removeClass("checked");
+		$("#userMenuForm input[type=checkbox]").parent("label").removeClass("checked");
+	}
+	
 	$(document).ready(function() {
 		
 	});