Quellcode durchsuchen

Merge branch 'develop' of http://112.172.147.34:4936/style24/STYLE24.git into develop

gagamel vor 5 Jahren
Ursprung
Commit
dd2a27abd2

+ 58 - 27
style24.admin/src/main/webapp/ux/css/admin.ui.css

@@ -66,8 +66,8 @@ html,body,#wrapper,#container {min-height:100%; height:100%;}
 
 /* 로그인 : alert */
 .alertBox {position:relative; padding:10px 40px 10px 10px; margin-bottom:10px; border:1px solid; border-radius:.25rem; line-height:22px;}
-.alertBox .alertClose {position:absolute; top:0; right:0; padding:0 10px; height:40px; text-indent:-9999px; background:url('../../image/btn_sltClose.png') no-repeat 50% 50%;}
-.alertBox .alertClose:hover {background:url('../../image/btn_sltCloseOn.png') no-repeat 50% 50%;}
+.alertBox .alertClose {position:absolute; top:0; right:0; padding:0 10px; height:40px; text-indent:-9999px; background:url('/image/btn_sltClose.png') no-repeat 50% 50%;}
+.alertBox .alertClose:hover {background:url('/image/btn_sltCloseOn.png') no-repeat 50% 50%;}
 .alert-success {color:#155724; background-color:#d4edda; border-color:#c3e6cb;}
 .alert-info {color:#0c5460; background-color:#d1ecf1; border-color:#bee5eb;}
 .alert-warning {color:#856404; background-color:#fff3cd; border-color:#ffeeba;}
@@ -108,8 +108,8 @@ header a, header button {color:#fff;}
 #lnb a {display:block; color:#a7b1c2;}
 #lnb a:hover {color:#fff;}
 #lnb a.on {color:#fff;}
-#lnb .dep2 {padding:14px 20px 14px 35px; background:url('../../image/icon_dep2.png') 10px 50% no-repeat, url('../../image/icon_depArr2.png') 222px 50% no-repeat; background-color:#233646; cursor:pointer;}
-#lnb .dep2.on {display:block; background:url('../../image/icon_dep2On.png') 10px 50% no-repeat, url('../../image/icon_depArr2On.png') 222px 50% no-repeat; background-color:#233646;}
+#lnb .dep2 {padding:14px 20px 14px 35px; background:url('/image/icon_dep2.png') 10px 50% no-repeat, url('/image/icon_depArr2.png') 222px 50% no-repeat; background-color:#233646; cursor:pointer;}
+#lnb .dep2.on {display:block; background:url('/image/icon_dep2On.png') 10px 50% no-repeat, url('/image/icon_depArr2On.png') 222px 50% no-repeat; background-color:#233646;}
 #lnb .dep3 {padding:5px 0 10px 10px; border-left:4px solid #8597eb; cursor:pointer;}
 #lnb .dep3 a {padding:10px; cursor:pointer;}
 #lnb .dep4 {padding:5px 0 10px 20px; cursor:pointer;}
@@ -139,7 +139,7 @@ header a, header button {color:#fff;}
 .panelStyle h2 {margin-right:10px; font-size:14px; font-weight:bold;}
 .panelStyle h3 {margin-right:10px; font-size:12px; font-weight:normal; line-height:25px;}
 .panelStyle h3 i {padding-right:5px}
-.panelStyle h4 {padding-left:23px; height:31px; line-height:31px; background:url('../../image/icon_h4.png') no-repeat 3px 50%; color:#666;}
+.panelStyle h4 {padding-left:23px; height:31px; line-height:31px; background:url('/image/icon_h4.png') no-repeat 3px 50%; color:#666;}
 .panelStyle .panelBar {display:table; width:100%; padding-bottom:10px;}
 .panelStyle .panelBar h4 {margin-bottom:0;}
 .panelStyle .panelBar > li {display:table-cell;}
@@ -149,8 +149,8 @@ header a, header button {color:#fff;}
 /* 패널 내부 테이블 여러개 배치 */
 .panelStyle .division + .panelBar {padding-bottom:15px;}
 .panelStyle .division {display:table; width:100%;}
-.panelStyle .division li {display:table-cell; padding-right:40px;}
-.panelStyle .division li:last-child {padding-right:0;}
+.panelStyle .division > li, .panelStyle .division > div {display:table-cell; padding-right:40px;}
+.panelStyle .division > li:last-child, .panelStyle .division > div:last-child {padding-right:0;}
 /* table, grid, button 상하 여백 */
 .ag-theme-balham{margin-bottom:15px !important;}
 .frmStyle + .panelBar {padding-bottom:15px;}
@@ -243,22 +243,41 @@ a, button, .ui-state-active, .ui-state-focus, .ui-state-hover {outline:0 !import
 .frmStyle td {padding:0 10px 0 10px; line-height:36px; position:relative; border-top:1px solid #eee; border-right:1px solid #eee;}
 
 /* 체크박스&라디오박스 공통--------------- */
-input[type=checkbox],
 input[type=radio] {position:absolute; top:50%; left:0; width:18px; height:18px; transform:translate(0,-50%); -ms-transform:translate(0,-50%);}
 label.chkBox, label.rdoBtn {position:relative; display:inline-block; padding-left:26px; height:22px; line-height:22px; vertical-align:middle; cursor:pointer;}
 /* 체크박스 :전체선택 버튼--------------- */
-input[type=button].chkBox {margin-left:-2px; padding-left:24px; height:22px; vertical-align:middle; background:url('../../image/icon_checkN.png') no-repeat 0 50%;}
+input[type=checkbox] {position:absolute; top:0; left:0; width:0; height:0;}
+input[type=button].chkBox {margin-left:-2px; padding-left:24px; height:22px; vertical-align:middle; background:url('/image/icon_checkN.png') no-repeat 0 50%;}
 
 /* 체크박스--------------- */
-input[type=checkbox]::before {position:absolute; top:0; left:0; content:''; width:16px; height:16px; border:1px solid #dbdbdb; background:#fff;}
-input[type=checkbox]:checked::after {position:absolute; top:4px; left:3px; content:''; width:8px; height:4px; border-bottom:3px solid #676a6c; border-left:3px solid #676a6c; -webkit-transform:rotate(-45deg); transform:rotate(-45deg);}
-input[type=checkbox].formControl::before {background:#eee;}
+label.chkBox::before {position:absolute; top:2px; left:0; content:''; width:16px; height:16px; border:1px solid #dbdbdb; background:#fff;}
+label.chkBox.checked::after {position:absolute; top:6px; left:3px; content:''; width:8px; height:4px; border-bottom:3px solid #676a6c; border-left:3px solid #676a6c; -webkit-transform:rotate(-45deg); transform:rotate(-45deg);}
+label.chkBox .formControl::before {background:#eee;}
 
 /* 라디오버튼--------------- */
 input[type=radio]::before {position:absolute; top:0; left:0; content:''; width:16px; height:16px; border:1px solid #dbdbdb; border-radius:50%; background:#fff;}
 input[type=radio]:checked::after {position:absolute; top:5px; left:5px; content:''; width:8px; height:8px; border-radius:50%; background:#676a6c;}
 input[type=radio].formControl::before {background:#eee;}
 
+/* 토글 스위치--------------- */
+.switchBox{ display:inline-block;position: relative; width:60px; height:28px; vertical-align: middle;border-radius:25px;overflow: hidden;}
+.switchBox input[type="checkbox"]{position:absolute;visibility:hidden;}
+.switchBox label{display:block;position:absolute;top:0;width:60px;height:28px;background-color:#aaa;transition-duration:0.2s;}
+.switchBox label span{position:absolute;left:0;top:50%;z-index:1;width:26px;height:23px;border-radius:25px;transform: translate(3px, -50%);transition-duration:0.2s;background-color:#fff;text-indent:-9999px;}
+.switchBox label:before,label:after{position:absolute;top:0;width:52%;font-size:11px;line-height:27px;color:#fff;text-align:center;}
+.switchBox label:before{left:0;content:'ON';}
+.switchBox label:after{right:0;content:'OFF';}
+.switchBox input:checked + label span{transform:translate(31px, -50%);}
+.switchBox input:checked::before, .switchBox input:checked::after{border:none}
+.switch-base input:checked + label{color:#fff; background-color:#8597eb;}
+.switch-primary input:checked + label{color:#fff; background-color:#1ab394;}
+.switch-success input:checked + label{color:#fff; background-color:#1c84c6;}
+.switch-info input:checked + label{color:#fff; background-color:#23c6c8; }
+.switch-warning input:checked + label{color:#fff; background-color:#f8ac59;}
+.switch-danger input:checked + label{color:#fff; background-color:#ed5565;}
+.switch-black input:checked + label{color:#fff; background-color:#222;}
+.switchBox + .switchBox {margin-left: 6px;}
+
 /* 테이블 스타일--------------- */
 .tableStyle {width:100%; max-width:100%; margin-bottom:15px;}
 .tableStyle th {position:relative; padding:7px 0; color:#333; border-top:1px solid #dae0fd; border-bottom:1px solid #dae0fd; border-right:1px solid #dae0fd; background-color:#e9ecfb; text-align:center;}
@@ -314,7 +333,7 @@ td[rowspan] {border-bottom:1px solid #eee;}
 .subTable dl:last-child dd {border-bottom:none;}
 
 /* button --------------- */
-.btn {border-radius:3px; vertical-align:middle; white-space:nowrap;}
+.btn {border-radius:3px; vertical-align:middle; white-space:nowrap;font-size:12px;user-select: none;}
 .btn-lg {padding:4px 20px 5px; height:28px; overflow-y:hidden;}
 .btn-sm {margin-top:-2px; line-height:100%; height:28px; overflow-y:hidden;}
 .btn-ssm {margin-top:-2px; line-height:100%; height:22px; overflow-y:hidden;}
@@ -349,8 +368,8 @@ td[rowspan] {border-bottom:1px solid #eee;}
 .mSelected li {float:left; margin:2px 5px 3px; line-height:24px; padding:0 7px; background:#dbedf9; -ms-user-select:none; -moz-user-select:-moz-none; -webkit-user-select:none; user-select:none;}
 .mSelected li.srchFld {margin:0; padding:0; background:none;}
 .mSelected .srchFld input {width:25px; margin:0; padding:0; border:none; outline:none;}
-.mSelected a {border:none !important; float:right; margin-left:3px; padding:0 3px; width:15px; line-height:22px; text-indent:-9999px; background:url('../../image/btn_sltClose.png') no-repeat 100% 50%;}
-.mSelected a:hover {background:url('../../image/btn_sltCloseOn.png') no-repeat 100% 50%;}
+.mSelected a {border:none !important; float:right; margin-left:3px; padding:0 3px; width:15px; line-height:22px; text-indent:-9999px; background:url('/image/btn_sltClose.png') no-repeat 100% 50%;}
+.mSelected a:hover {background:url('/image/btn_sltCloseOn.png') no-repeat 100% 50%;}
 .mSelecting {display:none; overflow-y:auto; overflow-x:hidden; position:absolute; top:100%; left:-1px; z-index:1; width:100%; max-height:156px; line-height:30px; border:1px solid #e5e6e7; background:#fff;}
 .mSelecting li {margin:0 10px; cursor:pointer;}
 
@@ -366,7 +385,7 @@ td[rowspan] {border-bottom:1px solid #eee;}
 .lrStyle .uFile {margin-top:2px;}
 .uFileInput {position:absolute; top:0; width:100%; margin:0 !important; padding:0 !important; line-height:28px; border:none !important;}
 .uFileLabel {position:absolute; top:0; right:0; left:0; z-index:1; margin:0; padding:0 7px; width: cals(100% - 7px); line-height:28px; height:28px; background-color:#fff; border-radius:1px; overflow:hidden; white-space:nowrap;}
-.uFileLabel::after {position:absolute; top:0; right:0; bottom:0; width:30px; z-index:3; line-height:28px; content:" "; border-left:1px solid #dbdbdb; background:#eee url('../../image/icon_upload.png') no-repeat 50% 50%;}
+.uFileLabel::after {position:absolute; top:0; right:0; bottom:0; width:30px; z-index:3; line-height:28px; content:" "; border-left:1px solid #dbdbdb; background:#eee url('/image/icon_upload.png') no-repeat 50% 50%;}
 
 /* badge --------------- */
 .badge {float:right; margin-top:2px; padding:0 5px; min-width:9px; line-height:18px; color:#fff; font-size:12px; font-weight:600; border-radius:3px; text-align:center; text-shadow:1px 1px 1px rgba(0,0,0,0.4); letter-spacing:-0.5px;}
@@ -402,8 +421,8 @@ footer .f-right {float:right; padding-right:20px; line-height:38px;}
 .imgCard img {margin-right:15px;}
 .imgCard li:nth-of-type(2) {padding-top:20px; max-width:150px; line-height:24px}
 .imgCard p {font-size:12px;}
-.imgCard .cardClose {position:absolute; top:0; right:0; background:url('../../image/btn_sltClose.png') no-repeat 50% 50%; text-indent:-9999px;}
-.imgCard .cardClose:hover {background:#f1f1f1 url('../../image/btn_sltCloseOn.png') no-repeat 10px 50%;}
+.imgCard .cardClose {position:absolute; top:0; right:0; background:url('/image/btn_sltClose.png') no-repeat 50% 50%; text-indent:-9999px;}
+.imgCard .cardClose:hover {background:#f1f1f1 url('/image/btn_sltCloseOn.png') no-repeat 10px 50%;}
 .verticalTop {vertical-align:top;}
 
 /* 조회용 이미지 카드 */
@@ -411,14 +430,14 @@ footer .f-right {float:right; padding-right:20px; line-height:38px;}
 .cardArea2 ul, .cardArea2 .box {vertical-align:top; position:relative; display:inline-block; margin:10px; border:1px solid #dbdbdb; max-width:300px;}
 .cardArea2 li {display:table-cell; line-height:26px; vertical-align:middle;}
 .cardArea2 li:nth-of-type(2) {padding:0 10px;}
-.cardArea2 .cardDel {position:absolute; top:0; right:0; background:url('../../image/btn_sltClose.png') no-repeat 50% 50%; text-indent:-9999px;}
-.cardArea2 .cardDel:hover {background:#f1f1f1 url('../../image/btn_sltCloseOn.png') no-repeat 50% 50%;}
+.cardArea2 .cardDel {position:absolute; top:0; right:0; background:url('/image/btn_sltClose.png') no-repeat 50% 50%; text-indent:-9999px;}
+.cardArea2 .cardDel:hover {background:#f1f1f1 url('/image/btn_sltCloseOn.png') no-repeat 50% 50%;}
 
 /* 테이블 외부 안내문구 */
 .panelStyle > .notice {margin:0 0 15px ;}
 .panelContent > .notice {margin:15px 0;}
 .notice em {color:red;}
-.notice li, p.dot {padding-left:20px; background:url('../../image/dot_bk.png') no-repeat 5px 50%; line-height:24px;}
+.notice li, p.dot {padding-left:20px; background:url('/image/dot_bk.png') no-repeat 5px 50%; line-height:24px;}
 p.dot .btn {margin-left:10px !important;}
 p.dot em {color:red;}
 
@@ -442,14 +461,14 @@ p.dot em {color:red;}
 
 /* 유의사항 안내 */
 .infoBox {margin:0 20px 20px; padding:7px 10px; border-top:2px solid #dfe2e3; border-bottom:2px solid #dfe2e3; background:#fff}
-.infoBox p {padding-left:25px; line-height:20px; font-size:12px; background:url('../../image/dot_bk.png') no-repeat 10px 50%; background-size:3px auto;}
+.infoBox p {padding-left:25px; line-height:20px; font-size:12px; background:url('/image/dot_bk.png') no-repeat 10px 50%; background-size:3px auto;}
 
 /* 검색결과 안내문 */
 .srchNotice {padding-bottom:7px; font-weight:normal; font-size:14px;}
 .srchNotice em {color:red;}
 
 /* 필수입력항목 */
-.required {display:inline-block; position:relative; top:-3px; width:12px; height:7px; background:url('../../image/icon_required.png') no-repeat 0 50%;}
+.required {display:inline-block; position:relative; top:-3px; width:12px; height:7px; background:url('/image/icon_required.png') no-repeat 0 50%;}
 
 
 /* COLOR DESIGN -------------------------------------*/
@@ -605,8 +624,8 @@ hr {border:0; padding-bottom:10px;}/* 기본 여백 :10px */
 /*-- 회원추가 --------------*/
 .memAddWrap {line-height:26px; padding:3px 0;}
 .memAdd {margin-right:15px; padding:2px 27px 2px 0; position:relative; line-height:24px; height:24px; white-space:nowrap;}
-.memAdd button {position:absolute; top:3px; right:0; bottom:0; width:18px; height:18px; border:1px solid #dbdbdb; border-radius:3px; text-indent:-9999px; background:#eee url('../../image/btn_sltClose.png') no-repeat 50% 50%;}
-.memAdd button:hover {background:#eee url('../../image/btn_sltCloseOn.png') no-repeat 50% 50%;}
+.memAdd button {position:absolute; top:3px; right:0; bottom:0; width:18px; height:18px; border:1px solid #dbdbdb; border-radius:3px; text-indent:-9999px; background:#eee url('/image/btn_sltClose.png') no-repeat 50% 50%;}
+.memAdd button:hover {background:#eee url('/image/btn_sltCloseOn.png') no-repeat 50% 50%;}
 
 /*-- Date Picker --------------*/ /* 20200521 수정 */
 table.mtz-monthpicker {border:1px solid #ddd; border-top:none;}
@@ -616,8 +635,8 @@ table.mtz-monthpicker {border:1px solid #ddd; border-top:none;}
 .ui-datepicker .ui-datepicker-today,
 .ui-datepicker .ui-state-highlight {background:#fff7cf !important;}
 .ui-datepicker .ui-state-active {border:1px solid red !important;}
-.ui-datepicker .ui-datepicker-prev {position:absolute; top:3px; left:3px; width:30px; line-height:30px; text-indent:-9999px; background:url('../../image/icon_prev.png') no-repeat 50% 50%;}
-.ui-datepicker .ui-datepicker-next {position:absolute; top:3px; right:3px; width:30px; line-height:30px; text-indent:-9999px; background:url('../../image/icon_next.png') no-repeat 50% 50%;}
+.ui-datepicker .ui-datepicker-prev {position:absolute; top:3px; left:3px; width:30px; line-height:30px; text-indent:-9999px; background:url('/image/icon_prev.png') no-repeat 50% 50%;}
+.ui-datepicker .ui-datepicker-next {position:absolute; top:3px; right:3px; width:30px; line-height:30px; text-indent:-9999px; background:url('/image/icon_next.png') no-repeat 50% 50%;}
 .ui-datepicker .ui-datepicker-calendar {padding:5px; border:1px solid #ddd; border-top:none; text-align:center;}
 .ui-datepicker .ui-datepicker-calendar th{padding:5px 0}
 .ui-datepicker-week-end {text-align:center;}
@@ -767,6 +786,18 @@ table.mtz-monthpicker {border:1px solid #ddd; border-top:none;}
 .progress > div{height: 5px; margin-bottom: 0; transition:width 0.3s;}
 
 
+/* 카테고리 Sort */
+.categoryOrder {margin-bottom:15px; background:#fcfcfc;}
+.categoryOrder li {clear:both; padding-left:15px; line-height:40px; cursor:move; border-top:1px dashed red; }
+.categoryOrder li button.on {background-image:url(/image/icon_cate_minus.png);}
+/* .categoryOrder li:after {content:''; position:absolute; top:8px; left:-10px; width:21px; height:21px; background:url(/image/line_cate.png)} */
+.categoryOrder li:before{position:relative; content:''; width:1px; height:100%; background:#ddd;}
+.categoryOrder li ol{display:none}
+/* .categoryOrder ol:last-child li {background-image:none !important} */
+.categoryOrder button{position: relative; z-index:200; padding:0 15px 0; margin:0; line-height:40px; cursor:pointer; background-image:url(/image/icon_cate_plus.png); background-repeat:no-repeat; background-position:0 0;}
+
+
+
 /* 반응형:GNB 유저명,등급,로그아웃 --------------- */
 @media ( max-width:1370px ) {
  .header-info { display:none;}

+ 55 - 28
style24.admin/src/main/webapp/ux/js/admin.ui.js

@@ -17,27 +17,6 @@ function chartResize(){
 	}
 };
 
-//체크박스 전체선택
-function uifnAllCheck(id, el) {
-	let $thisId = $("#"+id); //전체선택 및 전체해제
-	//전체선택 및 전체해제
-	if ( $thisId.hasClass("checked") ) {
-		$thisId.removeClass("checked");
-		$("input[name="+id+"]").parent("label").removeClass("checked");
-		$("input[name="+id+"]").prop("checked", false);
-	} else {
-		$thisId.addClass("checked");
-		$("input[name="+id+"]").parent("label").addClass("checked");
-		$("input[name="+id+"]").prop("checked", true);
-	};
-	//checkBoxList : 체크된 갯수 출력
-	if ( (el != undefined) && ( $(el).parents().find(".checkBoxList").length > 0) ){
-		let cntId = $(el).parent().parent().parent().attr("data-count-id");
-		let cntLen =  $(document).find("input[name="+id+"]:checkbox:checked").length;
-		$("#"+cntId).text(cntLen);
-	};
-};
-
 //MODAL & MODELESS POPUP 열기
 function uifnPopupOpen(id){
 	var $thisId = $(document).find("#"+id);
@@ -119,7 +98,7 @@ function uifnPopupClose(id) {
 		if ( modalLen == 0 && modalessLen ==0 ){
 			$("body").removeClass("scrollOff");
 		};
-	} else if ( $thisId.hasClass("videoPopup") ) {  //비디오(이미지)팝업
+	} else if ( $thisId.hasClass("videoPopup") ) {  //비디오팝업
 		$thisId.css({display:"none"});
 		$("#iframe_video").attr("src","");
 		$thisId.remove();
@@ -187,13 +166,61 @@ $(document).ready(function(){
 		return false;
 	});
 
-	//CheckBox List : 개별 선택 및 해제
-	$(document).on("click", ".checkBoxList .chkBox", function(){
-		let id = $(this).find("input").attr("name");
-		let cntId = $(this).parent().parent().attr("data-count-id");
-		let cntLen =  $(document).find("input[name="+id+"]:checked").length;
-		$("#"+cntId).text(cntLen);
+	$(document).on("click", ".chkBox", function(e){
+		let cntId = $(this).parent().parent("ul").attr("data-count-id");
+		let cntLen;
+
+		if ( $(this).find("input").is('[id]') ){ // ---------------전체선택ID
+			let $id = $(this).find("input").attr("id");
+			if ( $(this).hasClass("checked") ) { //체크된 경우
+				$("input[id="+$id+"]").parent("label").removeClass("checked");
+				$("input[id="+$id+"]").prop("checked", false);
+				$("input[name="+$id+"]").parent("label").removeClass("checked");
+				$("input[name="+$id+"]").prop("checked", false);
+			} else {
+				$("input[id="+$id+"]").parent("label").addClass("checked");
+				$("input[id="+$id+"]").prop("checked", true);
+				$("input[name="+$id+"]").parent("label").addClass("checked");
+				$("input[name="+$id+"]").prop("checked", true);
+			};
+			//선택된 개수 출력 (checkBoxList)
+			if (cntId != undefined ) {
+				cntLen =  $("input[name="+$id+"]:checked").length; //체크된 개수
+				$("#"+cntId).text(cntLen);
+			};
+			return false;
+
+		} else {	// ---------------개별선택
+			let $name = $(this).find("input").attr("name");
+			let totLen = $("input[name="+$name+"]").length; //전체 개수
+			if ( $(this).hasClass("checked")) {
+				$(this).removeClass("checked");
+				$(this).find("input").prop("checked", false);
+				$("input[id="+$name+"]").prop("checked", false);
+				$("input[id="+$name+"]").parent("label").removeClass("checked");
+			} else {
+				$(this).addClass("checked");
+				$(this).find("input").prop("checked", true);
+				cntLen =  $("input[name="+$name+"]:checked").length; //체크된 개수
+				if (totLen == cntLen ){
+					$("input[id="+$name+"]").prop("checked", true);
+					$("input[id="+$name+"]").parent("label").addClass("checked");
+				}
+			};
+			//선택된 개수 출력 (checkBoxList)
+			if (cntId != undefined ) {
+				cntLen =  $("input[name="+$name+"]:checked").length; //체크된 개수
+				if (totLen > cntLen ) {
+					$("#"+cntId).text(cntLen);
+				} else if  (totLen == cntLen ) {
+					$("#"+cntId).text(totLen);
+				};
+			};
+			return false;
+		};
 	});
+
+
 	/* CheckBox List : More(+) 버튼 */
 	$(document).on("click", ".checkBoxList .more", function(){
 		var thisI = $(this).find("i");