Parcourir la source

상품상세 상품평 작업중

eskim il y a 5 ans
Parent
commit
a99df648d4

+ 5 - 3
src/main/java/com/style24/front/biz/web/TsfGoodsController.java

@@ -771,9 +771,11 @@ public class TsfGoodsController extends TsfBaseController {
 			review.setReviewWeightEd(Integer.parseInt(arrWeight[1]));
 		}
 
-		TscPageRequest pageable = new TscPageRequest((review.getPageNo() > 0 ? review.getPageNo() - 1 : 0), review.getPageSize(), review.getPageUnit());
-		pageable.setTotalCount(reviewService.getReviewTotalCount(review));
-		review.setPageable(pageable);
+		if (!"N".equals(review.getPageUesYn())) {
+			TscPageRequest pageable = new TscPageRequest((review.getPageNo() > 0 ? review.getPageNo() - 1 : 0), review.getPageSize(), review.getPageUnit());
+			pageable.setTotalCount(reviewService.getReviewTotalCount(review));
+			review.setPageable(pageable);	
+		}
 
 		if (TsfSession.isLogin()) {
 			review.setCustNo(TsfSession.getInfo().getCustNo());

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

@@ -66,6 +66,7 @@ public class Review extends TscBaseDomain {
 	private String goodsType;		// 상품유형
 	private String selfGoodsYn;		// 자사상품여부
 	private int rownum;
+	private String pageUesYn; 		// 페이징 미사용
 	
 	private String reviewScore;		// 상품평 검색조건 평점
 	private String reviewOption;	// 상품평 검색조건 옵션

+ 22 - 31
src/main/webapp/WEB-INF/views/mob/goods/GoodsDetailFormMob.html

@@ -405,7 +405,7 @@
 							<div class="swiper-slide"  th:each="bestReview, status : ${bestReviewList}"  >
 								<!-- 베스트 리뷰 등록시 노출 -->
 								<div class="best_review">
-									<a href="javascript:void(0);">
+									<a href="javascript:void(0);" th:onclick="cfGoodsReviewDetail([[${goodsInfo.goodsCd}]],'Y', '',[[${bestReview.reviewSq}]])">
 										<div class="star_score" th:with="starScore=${#numbers.formatDecimal((bestReview.score*100/5), 0,0)}">
 											<span class="star">
 												<em class="progbar" th:style="${'width:'+starScore+'%;' }"></em> <!-- 평점 style로 표기 -->
@@ -1607,7 +1607,7 @@
 			$(".pic_list > div").hide();
 			$(".pic_list > div").eq(pic_index).fadeIn();
 		});
-		
+
 		//슬라이드 - 베스트리뷰팝업 
 		var bestreviewdetailSwiper = new Swiper('.pd_bestreviewdetail_pop .area_slider .swiper-container', {
 			observer: true,
@@ -1630,31 +1630,30 @@
 			},
 		});
 
-		//팝업 - 리뷰
-		$(document).on('click','#btn_pdReview_pop',function(e){
-			$("#pdReviewPop").modal("show");
-			$('#pdReviewPop .modal-body .pop_cont').load('pd_review_pop.html');
-			return false;
-		})
+		$(document).on('click','.pd_bestreviewdetail_pop .thumblist ul li',function(e){
 
-		//팝업 - 베스트리뷰
-		$(document).on('click','#btn_pdBestReview_pop a',function(e){
-			$("#pdBestReviewPop").modal("show");
-			return false;
-		})
+			$(this).parents(".swiper-slide").find(".review > .pic > .thumb").empty();
+			$(this).parents(".swiper-slide").find(".thumblist ul li .pic").removeClass('active');
+			$(this).find(".pic").addClass('active');
 
-		//팝업 - 포토/영상 리뷰 (detail)
-		$(document).on('click','.area_rv_photo .photo_list a, .area_rv_all .review_list .photo_list a, .pd_photoreviewlist_pop .photo_list ul li a',function(e){
-			$("#pdPhotoReviewDetailPop").modal("show");
+			var thumbIndex = $(this).index();
+			var thumbImg = $(this).find('.pic .thumb').attr('style');
+			var thumbImgSrc = thumbImg.split("background-image:url(")[1];
+			thumbImgHtml = "<img src="+ thumbImgSrc +" alt=''>";
+			$(this).parents(".swiper-slide").find(".review > .pic > .thumb").append(thumbImgHtml);
+			
 			return false;
-		})
-
-		//팝업 - 포토/영상 리뷰 (list)
-		$(document).on('click','#btn_more_photoreview',function(e){
-			$("#pdPhotoReviewListPop").modal("show");
+		});
+			
+		// 포토,베스트리뷰숨김
+		var review_open=$(".btn_review_open");
+		$(document).on('click','.btn_review_open',function(e){
+			$(this).toggleClass('active');
+			$(this).next(".review_list").toggleClass('active');
 			return false;
-		})
-
+		});
+		
+		
 		//팝업 - 구매하기 > 옵션선택 > 옵션셀렉트팝업
 		$(document).on('click','.Purchase_pop .option_result .option_open',function(e){
 			$(".Purchase_pop .pop_option_select").show();
@@ -1666,14 +1665,6 @@
 			return false;
 		});
 
-		// 포토,베스트리뷰숨김
-		var review_open=$(".btn_review_open");
-		$(document).on('click','.btn_review_open',function(e){
-			$(this).toggleClass('active');
-			$(this).next(".review_list").toggleClass('active');
-			return false;
-		});
-		
 		fnOptionSoldout();
 		
 		// 광고 스크립트용

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/goods/GoodsDetailReviewFormMob.html

@@ -458,7 +458,7 @@
 				</li>
 			</ul>
 			<!-- 포토영상 게시글 최대 7개 & 버튼노출 -->
-			<div th:if="${#lists.size(photoReviewList) >= 8}">
+			<div th:if="${#lists.size(photoReviewList) >= 1}">
 				<div>
 					<button type="button" id="btn_more_photoreview" th:onclick="cfGoodsReviewPhoto([[${goodsInfo.goodsCd}]])"><span>더 보기</span></button>
 				</div>	

+ 169 - 0
src/main/webapp/WEB-INF/views/mob/goods/GoodsReviewDetailFormMob.html

@@ -0,0 +1,169 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : GoodsReviewDetailFormMob.html
+ * @desc	: 상품평 상세 팝업
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE		 AUTHOR	  DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.04.07   eskim		최초 작성
+ *******************************************************************************
+ -->
+<div class="modal-dialog" role="document" th:with="imgGoodsUrl=${@environment.getProperty('upload.goods.view')}, uxImgUrl=${@environment.getProperty('domain.uximage')}, imgUrl=${@environment.getProperty('upload.image.view')}">
+	<div class="modal-content">
+		<div class="modal-header">
+			<th:block th:if="${review.bestYn == 'Y'}">
+			<h5 class="modal-title" id="exampleFullLabel">베스트 리뷰</h5>
+			</th:block>
+			<th:block th:unless="${review.bestYn == 'Y'}">
+			<h5 class="modal-title" id="exampleFullLabel">
+				<button type="button" id="btn_more_photoreview"></button>
+				포토/영상리뷰
+			</h5>
+			</th:block>
+		</div>
+		<div class="modal-body" th:if="${reviewList != null and !reviewList.empty}">
+			<div class="pop_cont" th:each="review, status : ${reviewList}" >
+				<!-- 리뷰사진영역 -->
+					<div class="area_slider">
+						<div class="swiper-container thumb_list">
+							<div class="swiper-wrapper">
+								<th:block th:if="${review.reviewAttachList != null and !review.reviewAttachList.empty}" >
+								<th:block th:each="reviewAttach, attachStatus : ${review.reviewAttachList}" th:if="${attachStatus.first}">
+								<div class="swiper-slide">
+									<div class="thumb " th:classAppend="${(reviewAttach.fileGb == 'M') ? 'mov' :''}">
+										<th:block th:if="${reviewAttach.fileGb == 'M'}">
+											<video poster="http://cdn.011st.com/11dims/resize/1999x1999/quality/75/11src/review/10201202/3121412332/2e66698576d64c5c9977a6fe6606008d.jpg" muted="muted" preload="metadata" controls="controls">
+											<source src="http://snsvideo.11st.co.kr/movie/item/www/675/67518524_06_1_C1.mp4" type="video/mp4">
+										</video>
+										</th:block>
+										<th:block th:unless="${reviewAttach.fileGb == 'M'}">
+											<img th:src="${imgUrl+'/'+reviewAttach.sysFileNm}" alt="">
+										</th:block>
+									</div>
+								</div>
+								</th:block>
+								</th:block>
+								<th:block th:unless="${review.reviewAttachList != null and !review.reviewAttachList.empty}">
+										<img th:src="${imgGoodsUrl+'/'+review.sysImgNm}" alt="">
+									<div class="swiper-slide"><div class="thumb nodata"><img th:src="${imgGoodsUrl+'/'+review.sysImgNm}" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'" alt=""></div></div><!-- 이미지 없으면 calss .nodata  -->
+								</th:block>
+							</div>
+							<!-- Add Pagination -->
+							<div class="swiper-pagination"></div>
+						</div>
+					</div>
+				<!-- //리뷰사진영역 -->
+				<!-- 리뷰내용 -->
+				<div class="pd_review best">
+					<div class="area_rv_all">
+						<div class="btn_review_open">리뷰오픈</div>
+						<div class="review_list">
+							<ul>
+								<li>
+									<div class="review">
+										<div class="info_box">
+											<div class="star_score" h:with="starScore=${#numbers.formatDecimal((review.score*100/5), 0,0)}">
+												<span class="star">
+													<em class="progbar" th:style="${'width:'+starScore+'%;' }"></em> <!-- 평점 style로 표기 -->
+												</span>
+											</div>
+											<div class="writer">
+												<span class="wr_id" th:text="${review.maskingCustId}">ab2****</span>
+												<span class="wr_date" th:text="${review.regDt}">2020.07.15</span>
+											</div>
+										</div>
+										<div class="response_box">
+											<div>
+												<dl>
+													<div th:if="${review.goodsOptionList != null and !review.goodsOptionList.empty}" th:each="reviewGoods, goodsStatus : ${review.goodsOptionList}">
+														<dt >구매옵션</dt>
+														<dd th:text="${reviewGoods.optCd1 +' / '+ reviewGoods.optCd2}">베이지 / 100</dd>
+													</div>
+													<div>
+														<dt>키/몸무게</dt>
+														<dd><th:block th:if="${not #strings.isEmpty(review.height)}" th:text="|${review.height}cm / |"></th:block> 
+															<th:block th:if="${not #strings.isEmpty(review.weight)}" th:text="|${review.weight}kg|"></th:block>
+														</dd>
+													</div>
+												</dl>
+											</div>
+										</div>
+										<div class="txt_review_box">
+											<p th:utext="${#strings.unescapeJava(#strings.escapeJava(review.reviewContent))}">옷</p>
+										</div>
+										<div class="response_box2"  th:if="${not #strings.isEmpty(review.sizeGb)}">
+											<div>
+												<dl>
+													<div>
+														<dt>사이즈</dt>
+														<dd th:text="${review.scoreSizeNm}">작음</dd>
+													</div>
+													<div>
+														<dt>컬러</dt>
+														<dd th:text="${review.scoreColorNm}">밝음</dd>
+													</div>
+													<th:block th:if="${review.sizeGb == 'T' or review.sizeGb == 'B'}">
+													<div>
+														<dt>핏</dt>
+														<dd th:text="${review.scoreFitNm}">레귤러</dd>
+													</div>
+													<div>
+														<dt>두께감</dt>
+														<dd th:text="${review.scoreThickNm}">적당함</dd>
+													</div>
+													</th:block>
+													<th:block th:unless="${review.sizeGb == 'T' or review.sizeGb == 'B'}">
+													<div>
+														<dt>무게감</dt>
+														<dd th:text="${review.scoreWeightNm}">레귤러</dd>
+													</div>
+													<div>
+														<dt>볼너비</dt>
+														<dd th:text="${review.scoreBallNm}">적당함</dd>
+													</div>
+													</th:block>
+												</dl>
+											</div>
+										</div>
+										<div class="reply_box" th:if="${not #strings.isEmpty(review.admRpl)}">
+											<div class="reply">
+												<div class="reply_writer">
+													<span class="wr_name">관리자</span>
+													<span class="wr_date" th:text="${review.admRplDt}" >2020.07.15</span>
+												</div>
+												<div class="reply_txt">
+													<p th:utext="${#strings.unescapeJava(#strings.escapeJava(review.admRpl))}">
+														안녕하세요, 스타일24 관리자입니다.
+													</p>
+												</div>
+											</div>
+										</div>
+									</div>
+								</li>
+							</ul>
+						</div>
+					</div>
+				</div>
+				<!-- //리뷰내용 -->
+			</div>
+		</div>
+	</div>
+</div>
+<a href="javascript:void(0);" rel="modal:close" onclick="cfCloseLayer('layer_review_best')" class="close-modal">Close</a> 
+<script th:inline="javascript">
+/*<![CDATA[*/
+	
+	$(document).ready( function() {
+
+
+	});
+	
+/*]]>*/
+</script>	
+ </html>

+ 95 - 0
src/main/webapp/WEB-INF/views/mob/goods/GoodsReviewPhotoFormMob.html

@@ -0,0 +1,95 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : GoodsReviewPhotoFormMob.html
+ * @desc	: 상품평 - 포토/영상 리스트 팝업
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE		 AUTHOR	  DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.04.008   eskim		최초 작성
+ *******************************************************************************
+ -->
+<div class="modal-dialog" role="document">
+	<div class="modal-content">
+		<div class="modal-header">
+			<h5 class="modal-title" id="exampleFullLabel">포토/영상리뷰</h5>
+		</div>
+		<div class="modal-body">
+			<div class="pop_cont">
+				<div class="photo_list" >
+					<ul id="ulGoodsReviewPhoto">
+					</ul>
+				</div>
+				<div class="review_last" style="display:none;">
+					마지막 게시글입니다.
+				</div>
+			</div>
+		</div>
+	</div>
+	<form id="goodsReviewPhotoForm" name="goodsReviewPhotoForm" action="#" th:action="@{'/goods/review/list'}">
+		<input type="hidden" name="pageNo" value ="1"/>
+		<input type="hidden" name="pageSize" value ="20"/>
+		<input type="hidden" name="photoYn" value ="Y"/>
+		<input type="hidden" name="pageUesYn" value ="N"/>  <!-- 페이징 미사용 -->
+		<input type="hidden" name="goodsCd" th:value ="${params.goodsCd}"/>
+	</form>
+</div>
+<a href="javascript:void(0);" rel="modal:close" onclick="cfCloseLayer('layer_review_photo')" class="close-modal">Close</a>
+<script th:inline="javascript">
+/*<![CDATA[*/
+	
+	var fnReviewPhotoGetList = function() {
+
+		gagajf.ajaxFormSubmit($('#goodsReviewPhotoForm').prop('action'), '#goodsReviewPhotoForm', fnGetListCallback);
+	}
+	
+	var fnGetListCallback = function(result) {
+		$('#ulGoodsReviewPhoto').html('');
+	
+		// 목록
+		if (result.dataList != null && result.dataList.length > 0) {
+			
+			$.each(result.dataList, function(idx, item) {
+				let tag = '';
+				if (item.reviewAttachList != null && item.reviewAttachList.length > 0){
+					var fileGbClass = '';
+					$.each(item.reviewAttachList, function(aIdx, reviewAttach){
+						fileGbClass = '';
+						if (reviewAttach == "M") fileGbClass = "mov";
+				tag += '				<li>\n';
+				tag += '					<a href="javascript:void();" onclick="fnGoodsReviewDetail(\''+item.reviewSq+'\');">\n';
+				tag += '						<div class="pic">\n';
+				tag += '							<span class="thumb '+ fileGbClass +'" style="background-image:url('+ _imgUrl + reviewAttach.sysFileNm +');"></span>\n'; //<!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
+				tag += '						</div>\n';
+				tag += '					</a>\n';
+				tag += '				</li>\n';		
+					});	
+				}
+				
+				$('#ulGoodsReviewPhoto').append(tag);
+			});
+		
+		}
+		
+	}
+	
+	// 상세보기
+	var fnGoodsReviewDetail = function(reviewSq){
+		cfGoodsReviewDetail([[${params.goodsCd}]],'', 'Y', reviewSq);
+		cfCloseLayer('layer_review_photo');
+	}
+	
+	$(document).ready( function() {
+		
+		fnReviewPhotoGetList();
+		
+	});
+	
+/*]]>*/
+</script>	
+ </html>

+ 5 - 5
src/main/webapp/WEB-INF/views/web/goods/GoodsReviewDetailFormWeb.html

@@ -3,8 +3,8 @@
 	xmlns:th="http://www.thymeleaf.org">
 <!--
  *******************************************************************************
- * @source  : GoodsReviewBestFormWeb.html
- * @desc	: 베스트 상품평 팝업
+ * * @source  : GoodsReviewDetailFormWeb.html
+ * @desc	: 상품평 상세 팝업
  *============================================================================
  * STYLE24
  * Copyright(C) 2020 TSIT, All rights reserved.
@@ -14,7 +14,7 @@
  * 1.0  2021.03.02   eskim		최초 작성
  *******************************************************************************
  -->
-<div class="modal-dialog" role="document" th:with="imgGoodsUrl=${@environment.getProperty('upload.goods.view')}, imgUrl=${@environment.getProperty('upload.image.view')}">
+<div class="modal-dialog" role="document" th:with="imgGoodsUrl=${@environment.getProperty('upload.goods.view')}, uxImgUrl=${@environment.getProperty('domain.uximage')}, imgUrl=${@environment.getProperty('upload.image.view')}">
 	<div class="modal-content">
 		<div class="modal-header">
 			<th:block th:if="${review.bestYn == 'Y'}">
@@ -49,7 +49,7 @@
 									</th:block>
 									<th:block th:unless="${review.reviewAttachList != null and !review.reviewAttachList.empty}">
 									<span class="thumb">
-										<img th:src="${imgGoodsUrl+'/'+review.sysImgNm}" alt="">
+										<img th:src="${imgGoodsUrl+'/'+review.sysImgNm}" alt="" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 									</span>
 									</th:block>
 								</div>
@@ -75,7 +75,7 @@
 												<dl>
 													<div>
 														<dt>키/몸무게</dt>
-														<dd><th:block th:if="${not #strings.isEmpty(review.height)}" th:text="|${review.height}cm|"></th:block> /
+														<dd><th:block th:if="${not #strings.isEmpty(review.height)}" th:text="|${review.height}cm / |"></th:block> 
 															<th:block th:if="${not #strings.isEmpty(review.weight)}" th:text="|${review.weight}kg|"></th:block>
 														</dd>
 													</div>

+ 3 - 10
src/main/webapp/WEB-INF/views/web/goods/GoodsReviewPhotoFormWeb.html

@@ -3,8 +3,8 @@
 	xmlns:th="http://www.thymeleaf.org">
 <!--
  *******************************************************************************
- * @source  : GoodsInstockAlarmFormWeb.html
- * @desc	: 재입고알림 팝업
+ * @source  : GoodsReviewPhotoFormWeb.html
+ * @desc	: 상품평 - 포토/영상 리스트 팝업
  *============================================================================
  * STYLE24
  * Copyright(C) 2020 TSIT, All rights reserved.
@@ -23,13 +23,6 @@
 			<div class="pop_cont">
 				<div class="photo_list">
 					<ul id="ulGoodsReviewPhoto">
-						<li>
-							<a href="">
-								<div class="pic">
-									<span class="thumb mov" style="background-image:url('/images/pc/thumb/tmp_pdLookbook3.jpg');"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
-								</div>
-							</a>
-						</li>
 					</ul>
 				</div>
 				<div class="ui_row">
@@ -42,7 +35,7 @@
 	</div>
 	<form id="goodsReviewPhotoForm" name="goodsReviewPhotoForm" action="#" th:action="@{'/goods/review/list'}">
 		<input type="hidden" name="pageNo" value ="1"/>
-		<input type="hidden" name="pageSize" value ="1"/>
+		<input type="hidden" name="pageSize" value ="20"/>
 		<input type="hidden" name="photoYn" value ="Y"/>
 		<input type="hidden" name="goodsCd" th:value ="${params.goodsCd}"/>
 	</form>

+ 97 - 58
src/main/webapp/ux/mo/js/common_m.js

@@ -160,62 +160,6 @@ $(document).ready(function() {
             });
     });
 
-//Select Custom
-$( document ).ready(function() {
-	$('select').each(function(){
-		var $this = $(this), numberOfOptions = $(this).children('option').length;
-	
-		$this.addClass('select_hidden'); 
-		$this.wrap('<div class="select"></div>');
-		$this.after('<div class="select_dress"></div>');
-
-		var $dressSelect = $this.next('div.select_dress');
-		$dressSelect.text($this.children('option').eq(0).text());
-	
-		var $selList = $('<ul />', {
-			'class': 'select_options'
-		}).insertAfter($dressSelect);
-	
-		for (var i = 0; i < numberOfOptions; i++) {
-			$('<li />', {
-				text: $this.children('option').eq(i).text(),
-				rel: $this.children('option').eq(i).val(),
-				class: $this.children('option').eq(i).attr('disabled')
-			}).appendTo($selList);
-		}
-	
-		var $selListItems = $selList.children('li');
-	
-		$dressSelect.click(function(e) {
-			e.stopPropagation();
-			$('div.select_dress.active').not(this).each(function(){
-				$(this).removeClass('active').next('ul.select_options').hide();
-			});
-			$(this).toggleClass('active').next('ul.select_options').toggle();
-		});
-	
-		$selListItems.click(function(e) {
-			e.stopPropagation();
-			
-			if($(this).hasClass('disabled')){
-				$this.val($(this).attr('rel',false));
-			} 
-			else{
-				$dressSelect.text($(this).text()).removeClass('active');
-				$this.val($(this).attr('rel'));
-				$selList.hide();
-			}
-		});
-	
-		$(document).click(function() {
-			$dressSelect.removeClass('active');
-			$selList.hide();
-		});
-
-	});
-});
-
-
 // Select-Combo-Custom
 function sCombo(selector){
 	this.$selectBox = null,
@@ -704,11 +648,13 @@ $(document).ready(function () {
             }
             return false;
         });
+
         // 210405_사이즈 선택시 구매하기 팝업 추가
         $('.opt_size .form_field div').click(function(){
             popOpenScroll();
             //$('.btPop_body .lap span').css('color', 'red')
             //console.log($(this)[0]);
+            console.log();
             $('.container').addClass('btPop_open');
             // autome.style.top  = autotop /10 + "vh";
             if (autotop > 251) {
@@ -719,6 +665,97 @@ $(document).ready(function () {
             return false;
         });
 
+        // 210407_사이즈 선택유지 스크립트
+        $('.option_box .form_field div label').click(function(){
+            var a = [];
+            a = document.querySelectorAll(".option_box .form_field div label span");
+            sizeLine = document.querySelectorAll(".option_box .form_field div label");
+            sizeGap = this.innerText;
+
+            if(sizeGap === "90"){
+                for(var i=0; i<a.length; i++){
+                    sizeLine[i].style.border="1px solid #ddd";
+                    if(a[i].innerText === "90"){
+                        sizeLine[i].style.border="1px solid #fd4802";
+                    }
+                }
+            }
+            if(sizeGap === "95"){
+                for(var i=0; i<a.length; i++){
+                    sizeLine[i].style.border="1px solid #ddd";
+                    if(a[i].innerText === "95"){
+                        sizeLine[i].style.border="1px solid #fd4802";
+                    }
+                }
+            }
+            if(sizeGap === "100"){
+                for(var i=0; i<a.length; i++){
+                    sizeLine[i].style.border="1px solid #ddd";
+                    if(a[i].innerText === "100"){
+                        sizeLine[i].style.border="1px solid #fd4802";
+                    }
+                }
+            }
+            if(sizeGap === "105"){
+                for(var i=0; i<a.length; i++){
+                    sizeLine[i].style.border="1px solid #ddd";
+                    if(a[i].innerText === "105"){
+                        sizeLine[i].style.border="1px solid #fd4802";
+                    }
+                }
+            }
+            if(sizeGap === "110"){
+                for(var i=0; i<a.length; i++){
+                    sizeLine[i].style.border="1px solid #ddd";
+                    if(a[i].innerText === "110"){
+                        sizeLine[i].style.border="1px solid #fd4802";
+                    }
+                }
+            }
+            if(sizeGap === "115"){
+                for(var i=0; i<a.length; i++){
+                    sizeLine[i].style.border="1px solid #ddd";
+                    if(a[i].innerText === "115"){
+                        sizeLine[i].style.border="1px solid #fd4802";
+                    }
+                }
+            }
+            if(sizeGap === "free"){
+                for(var i=0; i<a.length; i++){
+                    sizeLine[i].style.border="1px solid #ddd";
+                    if(a[i].innerText === "free"){
+                        sizeLine[i].style.border="1px solid #fd4802";
+                    }
+                }
+            }
+        });
+
+        // 210407_텍스트 카운팅
+        $('.doc_itemqna').keyup(function (e){
+            var content = $(this).val();
+            $('#itemqna_cnt').html("<em class='c_primary'>"+content.length+"</em>/500자");//글자수 실시간 카운팅
+        
+            if (content.length > 200){
+                alert("최대 500자까지 입력 가능합니다.");
+                $(this).val(content.substring(0, 500));
+                $('#itemqna_cnt').html("<em class='c_primary'>500</em>/500자");
+            }
+        });
+
+        // 210407_스크롤감지 헤더 그림자
+        $('.pd_delivery_pop').scroll(function(){
+            $(".pd_delivery_pop .modal-header").css("box-shadow", "0px -50px 81px 8px rgba(0,0,0,0.80)");
+            if($(".pd_delivery_pop").scrollTop() === 0){
+                $(".pd_delivery_pop .modal-header").css("box-shadow", "rgb(0 0 0 / 20%) 0px 0px 5px");
+            }
+        });
+        $('.pd_review_pop').scroll(function(){
+            $(".pd_review_pop .modal-header").css("box-shadow", "0px -50px 81px 8px rgba(0,0,0,0.80)");
+            if($(".pd_review_pop").scrollTop() === 0){
+                $(".pd_review_pop .modal-header").css("box-shadow", "rgb(0 0 0 / 20%) 0px 0px 5px");
+            }
+        });
+
 
         // 쇼핑백팝업
         $("#btn_shoppingBag_pop").click(function() {
@@ -756,8 +793,10 @@ $( document ).ready( function() {
 
         /* 상품문의_accordion */
         $(document).on('click','.pd_qnalist .fold_head .fold_tit',function(e){	
-            $('.fold_head').removeClass('on');
-            $('.fold_cont').slideUp(100);
+            //$('.fold_head').removeClass('on');
+            //$('.fold_cont').slideUp(100);
+            //$(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
+            //$(this).parents('.fold_head').toggleClass('on');
             $(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
             $(this).parents('.fold_head').toggleClass('on');
             return false;

+ 7 - 1
src/main/webapp/ux/style24_link.js

@@ -572,6 +572,9 @@ function cfGoodsInstockAlarmInfo(goodsCd, colorCd) {
 */
 function cfGoodsReviewDetail(goodsCd, bestYn, photoYn, reviewSq) {
 	var str = '<div class="modal fade pd_pop pd_photoreviewdetail_pop" id="layer_review_best" tabindex="-1" role="dialog" aria-labelledby="pdBestReviewLabel" aria-hidden="true"></div>';
+	if ("P" != _frontGb){
+		str = '<div class="modal pop_full fade pd_pop pd_photoreviewdetail_pop" id="layer_review_best" tabindex="-1" role="dialog" aria-labelledby="exampleFullLabel" aria-hidden="true"></div>';
+	}
 
 	if ($('#layer_review_best').length == 0) {
 		$('body').append(str);
@@ -595,7 +598,10 @@ function cfGoodsReviewDetail(goodsCd, bestYn, photoYn, reviewSq) {
 */
 function cfGoodsReviewPhoto(goodsCd) {
 	var str = '<div class="modal fade pd_pop pd_photoreviewlist_pop" id="layer_review_photo" tabindex="-1" role="dialog" aria-labelledby="pdPhotoReviewListLabel" aria-hidden="true"></div>';
-
+	if ("P" != _frontGb){
+		str = '<div class="modal pop_full fade pd_pop pd_photoreviewlist_pop" id="layer_review_photo" tabindex="-1" role="dialog" aria-labelledby="exampleFullLabel" aria-hidden="true"></div>';
+	}
+	
 	if ($('#layer_review_photo').length == 0) {
 		$('body').append(str);
 	}