Ver Fonte

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

card007 há 5 anos atrás
pai
commit
0ccfcefbe1

+ 2 - 0
src/main/java/com/style24/admin/biz/dao/TsaPollDao.java

@@ -84,6 +84,8 @@ public interface TsaPollDao {
 	 * @since 2021. 2. 22
 	 */
 	Collection<Poll> getPollAnswer(Poll poll);
+	
+	
 
 
 }

+ 0 - 1
src/main/java/com/style24/admin/biz/service/TsaPollService.java

@@ -118,7 +118,6 @@ public class TsaPollService {
 	public Collection<Poll> getPollAnswer(Poll poll) {
 		return pollDao.getPollAnswer(poll);
 	}
-	
 
 
 }

+ 1 - 0
src/main/java/com/style24/persistence/domain/Poll.java

@@ -30,6 +30,7 @@ public class Poll extends TscBaseDomain{
 	private String dupPartiYn;		// 중복참여 여부
 	private String fstComYn;		// 선착순 여부
     private int partiCnt;			// 선착순참여 여부
+    private Integer planSq;			// 기획전 일련번호 
 	
 	// poll_question
 	private Integer pollQsq;		// 투표문항일련번호

+ 73 - 69
src/main/java/com/style24/persistence/mybatis/shop/TsaPoll.xml

@@ -113,56 +113,59 @@
 	<select id="getPollList" parameterType="Poll" resultType="Poll">
 		/* TsaPoll.getPollList */
 		 SELECT   M.POLL_SQ                                                                                                     
-				, M.POLL_TITLE                                                                                                 
-				, M.DUP_PARTI_YN                                                                                               
-				, M.FST_COM_YN                                                                                                 
-				, M.PARTI_CNT                                                                                                  
-				, M.SITE_CD 
-				, M.POLL_STDT
-				, M.POLL_EDDT
-				, M.REG_DT                                                                                                   
-				, M.POLL_QSQ                                                                                                   
-				, M.POLL_QTITLE                                                                                                
-				, M.POLL_QTYPE      
-				, M.POLL_QVAL1                                                                                                 
-				, M.POLL_QVAL2                                                                                                 
-				, M.POLL_QVAL3                                                                                                 
-				, M.POLL_QVAL4                                                                                                 
-				, M.POLL_QVAL5                                                                                                 
-				, M.POLL_QVAL6                                                                                                 
-				, M.POLL_QVAL7                                                                                                 
-				, M.POLL_QVAL8                                                                                                 
-				, M.POLL_QVAL9                                                                                                 
-				, M.POLL_QVAL10    
-				, M.POLL_QTYPE_NM
+		        , M.POLL_TITLE                                                                                                 
+		        , M.DUP_PARTI_YN                                                                                               
+		        , M.FST_COM_YN                                                                                                 
+		        , M.PARTI_CNT                                                                                                  
+		        , M.SITE_CD 
+		        , M.POLL_STDT
+		        , M.POLL_EDDT
+		        , M.REG_DT                                                                                                   
+		        , M.POLL_QSQ                                                                                                   
+		        , M.POLL_QTITLE                                                                                                
+		        , M.POLL_QTYPE      
+		        , M.POLL_QVAL1                                                                                                 
+		        , M.POLL_QVAL2                                                                                                 
+		        , M.POLL_QVAL3                                                                                                 
+		        , M.POLL_QVAL4                                                                                                 
+		        , M.POLL_QVAL5                                                                                                 
+		        , M.POLL_QVAL6                                                                                                 
+		        , M.POLL_QVAL7                                                                                                 
+		        , M.POLL_QVAL8                                                                                                 
+		        , M.POLL_QVAL9                                                                                                 
+		        , M.POLL_QVAL10    
+		        , M.POLL_QTYPE_NM
+		        , M.PLAN_SQ
 		 FROM
 		 (		      
-			SELECT A.POLL_SQ
-			      , A.POLL_TITLE 
-			      , A.DUP_PARTI_YN 
-			      , A.FST_COM_YN 
-			      , A.PARTI_CNT 
-			      , A.SITE_CD
-			      , A.POLL_STDT
-				  , A.POLL_EDDT
-			      , A.REG_DT 
-			      , B.POLL_QSQ 
-			      , B.POLL_QTITLE 
-			      , CASE B.POLL_QTYPE WHEN 10 THEN '단수형' WHEN 20 THEN '복수형' WHEN 30 THEN '단답형' ELSE '서술형' END AS POLL_QTYPE_NM
-			      , B.POLL_QVAL1 
-			      , B.POLL_QVAL2 
-			      , B.POLL_QVAL3 
-			      , B.POLL_QVAL4 
-			      , B.POLL_QVAL5 
-			      , B.POLL_QVAL6 
-			      , B.POLL_QVAL7 
-			      , B.POLL_QVAL8
-			      , B.POLL_QVAL9
-			      , B.POLL_QVAL10
-			      , B.POLL_QTYPE
-			FROM   TB_POLL A LEFT JOIN TB_POLL_QUESTION B ON A.POLL_SQ = B.POLL_SQ 
-			WHERE 1=1
-		  		 AND A.DEL_YN = 'N'
+		   SELECT A.POLL_SQ
+		        , A.POLL_TITLE 
+		        , A.DUP_PARTI_YN 
+		        , A.FST_COM_YN 
+		        , A.PARTI_CNT 
+		        , A.SITE_CD
+		        , A.POLL_STDT
+		        , A.POLL_EDDT
+		        , A.REG_DT 
+		        , B.POLL_QSQ 
+		        , B.POLL_QTITLE 
+		        , CASE B.POLL_QTYPE WHEN 10 THEN '단수형' WHEN 20 THEN '복수형' WHEN 30 THEN '단답형' ELSE '서술형' END AS POLL_QTYPE_NM
+		        , B.POLL_QVAL1 
+		        , B.POLL_QVAL2 
+		        , B.POLL_QVAL3 
+		        , B.POLL_QVAL4 
+		        , B.POLL_QVAL5 
+		        , B.POLL_QVAL6 
+		        , B.POLL_QVAL7 
+		        , B.POLL_QVAL8
+		        , B.POLL_QVAL9
+		        , B.POLL_QVAL10
+		        , B.POLL_QTYPE
+		        , P.PLAN_SQ
+		  FROM   TB_POLL A LEFT JOIN TB_POLL_QUESTION B ON A.POLL_SQ = B.POLL_SQ 
+		                   LEFT JOIN TB_PLAN P ON A.POLL_SQ = P.POLL_SQ
+		  WHERE 1=1
+		     AND A.DEL_YN = 'N'
 		   <if test="pollSq != null and pollSq != ''">
 		        AND    A.POLL_SQ = #{pollSq}
 			</if>
@@ -177,27 +180,28 @@
 		        AND    A.POLL_TITLE LIKE CONCAT('%', #{pollTitle},'%') 
 			</if>
 		 GROUP  BY  A.POLL_SQ
-	     		   , A.POLL_TITLE 
-			      , A.DUP_PARTI_YN 
-			      , A.FST_COM_YN 
-			      , A.PARTI_CNT 
-			      , A.SITE_CD 
-			      , A.POLL_STDT
-				  , A.POLL_EDDT
-			      , B.POLL_QSQ 
-			      , B.POLL_QTITLE 
-			      , B.POLL_QVAL1 
-			      , B.POLL_QVAL2 
-			      , B.POLL_QVAL3 
-			      , B.POLL_QVAL4 
-			      , B.POLL_QVAL5 
-			      , B.POLL_QVAL6 
-			      , B.POLL_QVAL7 
-			      , B.POLL_QVAL8
-			      , B.POLL_QVAL9
-			      , B.POLL_QVAL10
-			)M
-			ORDER BY M.REG_DT DESC
+	              , A.POLL_TITLE 
+	              , A.DUP_PARTI_YN 
+	              , A.FST_COM_YN 
+	              , A.PARTI_CNT 
+	              , A.SITE_CD 
+	              , A.POLL_STDT
+	              , A.POLL_EDDT
+	              , B.POLL_QSQ 
+	              , B.POLL_QTITLE 
+	              , B.POLL_QVAL1 
+	              , B.POLL_QVAL2 
+	              , B.POLL_QVAL3 
+	              , B.POLL_QVAL4 
+	              , B.POLL_QVAL5 
+	              , B.POLL_QVAL6 
+	              , B.POLL_QVAL7 
+	              , B.POLL_QVAL8
+	              , B.POLL_QVAL9
+	              , B.POLL_QVAL10
+	              , P.PLAN_SQ
+         )M
+         ORDER BY M.REG_DT DESC
 	
 	</select>
 	

+ 1 - 1
src/main/webapp/WEB-INF/views/display/MainContentsPopupForm.html

@@ -283,7 +283,7 @@
 					html += 'style="display:none;"';
 				}
 				html += ' >';
-				html += '		<th>오늘하루 보지않기<br>노출여부</th>';
+				html += '		<th>닫기 버튼<br>노출여부</th>';
 				html += '		<td>';
 				if(result[i].strVar8=='Y'){
 					html += '			<label class="rdoBtn"><input type="radio" name="todayYn'+i+'" value="Y" checked="checked"/>노출</label>';

+ 13 - 3
src/main/webapp/WEB-INF/views/marketing/PollListForm.html

@@ -140,11 +140,12 @@
 									</td>
 
 									<th>사이트</th>
-									<td>
+									<td colspan="3">
 										<select name="siteCd">
 											<option th:if="${siteList}" th:each="oneData, status : ${siteList}" th:value="${oneData.cd}" th:text="${oneData.cdNm}|"></option>
 										</select>
 									</td>
+									
 								</tr>
 								<tr>
 									<th>중복참여<i class="star"></i></th>
@@ -162,11 +163,15 @@
 									<th>선착순 인원<i class="star"></i></th>
 									<td>
 										<input type="text" name="partiCnt" id="partiCnt" disabled="disabled" data-valid-type="numeric"/>
-									</td>	
+									</td>
+									<th>URL</th>
+									<td>
+										<input type="text" name="url" id="url" disabled="disabled"/>
+									</td>
 								</tr>
 								<tr style="height: 250px;">
 									<th>문항<em class="required" title="필수"></em></th>
-									<td colspan="5">
+									<td colspan="7">
 										<button type="button" class="btn btn-info btn-lg" onclick="fnAddQuestion();">문항추가</button>
 										<button type="button" class="btn btn-info btn-lg" onclick="fnDeleteQuestion();">문항삭제</button>
 										<div id="questionDiv" class="btn_left" style="width: 100%; height: 300px; overflow: yes; overflow-x: scroll; overflow-y: auto;">
@@ -402,6 +407,11 @@
 		$('#registerForm select[name=dupPartiYn]').val(data.dupPartiYn);
 		$('#registerForm select[name=fstComYn]').val(data.fstComYn);
 		$('#registerForm input[name=partiCnt]').val(data.partiCnt);
+		if(data.planSq != null){
+			// url 변경해야함 
+			$('#registerForm input[name=url]').val("http://ldfront.style24.com/planning/event/poll/form?planSq=" + data.planSq);
+		}
+		
 		
 		if($('#registerForm select[name=fstComYn]').val() == 'Y'){
 			$("#partiCnt").attr("disabled",false);

+ 124 - 7
src/main/webapp/ux/js/admin.ui.js

@@ -199,19 +199,136 @@ $(document).ready(function(){
 		}
 	});
 
-	//multiCheckBox : Header open
+	//multiCheckBox : Header Click
 	$(document).on("click", ".multiCheckBox .sltBtn", function(){
+		//닫기-----
 		if($(this).hasClass("on")){
-			$(this).removeClass("on");
-			$(this).parent().find("ul").css({display:"none"});
-		}else{
-			$(".multiCheckBox .sltBtn").removeClass("on");
-			$(".multiCheckBox ul").css({display:"none"});
+			$(this).next("ul").css({display:"none"}); //체크 리스트 닫기
+			let openObj = $(this).parents(".multiCheckBox");
+			let frtTxt = openObj.find("label[data-group] input:checked").parent().eq(0).text();
+			let chkLen = openObj.find("label[data-group] input:checked").length;
+			let chkCnt = chkLen - 1;
+			if ( chkLen == 0 ){		//체크 값이 없을때
+				let btnNm = $(".multiCheckBox .sltBtn.on").attr("data-name");
+				$(this).text(btnNm).removeClass("on");
+			} else if ( chkLen == 1 ) {
+				$(this).text(frtTxt).removeClass("on");
+			} else {				//체크 값이 있을때
+				$(this).text(frtTxt + " 외 " +chkCnt).removeClass("on");
+			};
+		}
+		//열기-----
+		else {
+			//활성화된 타 multiCheckBox 처리
+			let openObj = $(".multiCheckBox .sltBtn.on").parents(".multiCheckBox");
+			let frtTxt = openObj.find("label[data-group] input:checked").parent().eq(0).text();
+			let chkLen = openObj.find("label[data-group] input:checked").length;
+			let chkCnt = chkLen - 1;
+			openObj.find("ul").css({display:"none"}); //체크 리스트 닫기
+			if ( chkLen == 0 ){		//체크 값이 없을때
+				let btnNm = $(".multiCheckBox .sltBtn.on").attr("data-name");
+				$(".multiCheckBox .sltBtn.on").text(btnNm).removeClass("on");
+			} else if ( chkLen == 1 ) {
+				$(".multiCheckBox .sltBtn.on").text(frtTxt).removeClass("on");
+			} else {				//체크 값이 있을때
+				$(".multiCheckBox .sltBtn.on").text(frtTxt + " 외 " +chkCnt).removeClass("on");
+			};
+			//현재 multiCheckBox 처리
+			$(this).next("ul").css({display:"block"}); //체크 리스트 닫기
 			$(this).addClass("on");
-			$(this).parent().find("ul").css({display:"block"});
 		}
 	});
 
+	//Focus Out
+	$(document).on("click", function(e){
+		//multiCheckBox----------------------------------------------
+		if ( $(".multiCheckBox") != undefined ) {
+			let nowIdx = $(".multiCheckBox .sltBtn.on").parent().index();
+			let openObj = $(".multiCheckBox").eq(nowIdx);
+			if ( $(e.target).parents(".multiCheckBox").length == 0 ) {
+				let chkLen = openObj.find("label[data-group] input:checked").length;
+				let chkCnt = chkLen - 1;
+				let frtTxt = openObj.find("label[data-group] input:checked").parent().eq(0).text();
+				openObj.find("ul").css({display:"none"});
+				if ( chkLen == 0 ){		//체크 값이 없을때
+					let btnNm = $(".multiCheckBox .sltBtn.on").attr("data-name");
+					$(".multiCheckBox .sltBtn.on").text(btnNm).removeClass("on");
+				} else if ( chkLen == 1 ) {
+					$(".multiCheckBox .sltBtn.on").text(frtTxt).removeClass("on");
+				} else {				//체크 값이 있을때
+					$(".multiCheckBox .sltBtn.on").text(frtTxt + " 외 " +chkCnt).removeClass("on");
+				};
+			}
+		}
+	});
+
+	//Focus Out : multiCheckBox
+	function mcBoxfocusOut(){
+		let nowIdx = $(".multiCheckBox .sltBtn.on").parent().index();
+		let openObj = $(".multiCheckBox").eq(nowIdx);
+		if ( $(e.target).parents(".multiCheckBox").length == 0 ) {
+			let chkLen = openObj.find("label[data-group] input:checked").length;
+			let chkCnt = chkLen - 1;
+			let frtTxt = openObj.find("label[data-group] input:checked").parent().eq(0).text();
+			openObj.find("ul").css({display:"none"});
+			if ( chkLen == 0 ){		//체크 값이 없을때
+				let btnNm = '선택하세요';
+				$(".multiCheckBox .sltBtn.on").text(btnNm).removeClass("on");
+			} else {				//체크 값이 있을때
+				$(".multiCheckBox .sltBtn.on").text(frtTxt + " 외 " +chkCnt).removeClass("on");
+			};
+		}
+	};
+
+/*
+	var body = document.querySelector("body");
+	body.addEventListener('click', clickBodyEvent);
+
+	function clickBodyEvent(event) {
+		var target = event.target;
+
+		var ClassTag = event.currentTarget.querySelector(".multiCheckBox")
+		var btnTag = event.currentTarget.querySelector(".multiCheckBox").querySelector("button");
+		var ulTags = event.currentTarget.querySelector(".multiCheckBox").querySelector("ul");
+		var liTags = event.currentTarget.querySelector(".multiCheckBox").querySelector("ul").querySelectorAll("li");
+		var labTags = event.currentTarget.querySelector(".multiCheckBox").querySelector("ul").querySelector("li").querySelector("label");
+
+		console.log(ClassTag);
+
+
+		if(target != ClassTag && target != ulTags  && target != liTags && target != btnTag &&  target != labTags ) {
+			console.log(target);
+			var liTags = event.currentTarget.querySelector(".multiCheckBox").querySelector("ul").querySelector("li");
+			for (var i=0; i<liTags.length; i++) {
+				if( liTags[i] == target ) {
+					return false;
+				 } else {
+					$(document).find(".multiCheckBox .sltBtn").removeClass("on");
+					$(document).find(".multiCheckBox ul").css({display:"none"});
+					$(document).find(".multiCheckBox").addClass("on");
+					return;
+				 }
+			};
+			$(document).find(".multiCheckBox .sltBtn").removeClass("on");
+					$(document).find(".multiCheckBox ul").css({display:"none"});
+					$(document).find(".multiCheckBox").addClass("on");
+
+		}
+
+
+		// 3. review_textarea 영역이면 pass
+		//if( target == event.currentTarget.querySelector(".review_textarea") )return;
+
+		var reviewWriteInfo = event.currentTarget.querySelector(".review_write_info");
+		reviewWriteInfo.style.display = "block";
+		reviewWriteInfo.querySelectorAll("span").forEach( spanTag => {
+			spanTag.style.display = "block";
+		});
+	} 	*/
+
+
+
+
 	//햄버거버튼 : LNB 숨김(전체화면 보기)
 	$(document).on("click",".lnbClose",function(){
 		lnbToggle();