Просмотр исходного кода

Merge branch 'develop' into bin2107

bin2107 5 лет назад
Родитель
Сommit
8cc553965a
30 измененных файлов с 316 добавлено и 162 удалено
  1. 1 0
      src/main/java/com/style24/persistence/domain/GoodsStock.java
  2. 4 0
      src/main/java/com/style24/persistence/mybatis/shop/TsfGoods.xml
  3. 29 2
      src/main/java/com/style24/persistence/mybatis/shop/TsfSocial.xml
  4. 4 2
      src/main/webapp/WEB-INF/views/mob/common/layout/GoodsLayoutMob.html
  5. 2 1
      src/main/webapp/WEB-INF/views/mob/goods/GoodsDealDescFormMob.html
  6. 10 5
      src/main/webapp/WEB-INF/views/mob/goods/GoodsDealDetailFormMob.html
  7. 179 100
      src/main/webapp/WEB-INF/views/mob/goods/GoodsDetailFormMob.html
  8. 3 2
      src/main/webapp/WEB-INF/views/mob/goods/GoodsDetailQnaFormMob.html
  9. 1 1
      src/main/webapp/WEB-INF/views/mob/goods/GoodsDetailReviewFormMob.html
  10. 2 2
      src/main/webapp/WEB-INF/views/mob/goods/GoodsIncludeFormMob.html
  11. 1 1
      src/main/webapp/WEB-INF/views/mob/goods/GoodsOtherFormMob.html
  12. 8 2
      src/main/webapp/WEB-INF/views/mob/goods/GoodsReviewDetailFormMob.html
  13. 1 1
      src/main/webapp/WEB-INF/views/mob/mypage/MypageCancelFormMob.html
  14. 1 1
      src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderDetailFormMob.html
  15. 1 1
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCancelFormMob.html
  16. 1 1
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberOrderDetailFormMob.html
  17. 4 5
      src/main/webapp/WEB-INF/views/web/goods/GoodsDealDetailFormWeb.html
  18. 2 2
      src/main/webapp/WEB-INF/views/web/goods/GoodsDetailFormWeb.html
  19. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageCancelFormWeb.html
  20. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageOrderDetailFormWeb.html
  21. 0 3
      src/main/webapp/WEB-INF/views/web/mypage/MypageReviewDetailFormWeb.html
  22. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberCancelFormWeb.html
  23. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberOrderDetailFormWeb.html
  24. 18 6
      src/main/webapp/WEB-INF/views/web/social/SocialMainFormWeb.html
  25. 4 4
      src/main/webapp/ux/mo/css/common_m.css
  26. 20 7
      src/main/webapp/ux/mo/css/layout_m.css
  27. 2 3
      src/main/webapp/ux/mo/css/style24_m.css
  28. 6 5
      src/main/webapp/ux/mo/js/common_m.js
  29. 1 1
      src/main/webapp/ux/pc/css/layout.css
  30. 7 0
      src/main/webapp/ux/pc/css/main.css

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

@@ -40,6 +40,7 @@ public class GoodsStock extends TscBaseDomain {
 	private int currPrice;
 	private String optCd1Nm;		// 옵션1칼라명(입점은 옵션명)
 	private String dispYn;			// 노출 여부
+	private int qty;				// 구성상품의 기본 수량
 	
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
 	private String[] arrGoodsOption;				

+ 4 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfGoods.xml

@@ -272,6 +272,7 @@
 		     , A.GOODS_STAT
 		     , A.STOCK_QTY
 		     , A.OPT_CD1
+		     , A.QTY
 		     , IFNULL(C.COLOR_KNM, A.OPT_CD1) AS OPT_CD1_NM
 		     , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = A.GOODS_CD AND COLOR_CD = IF(A.SELF_GOODS_YN ='Y', A.OPT_CD1, 'XX') AND DEFAULT_IMG_YN = 'Y') AS SYS_IMG_NM
 		FROM (
@@ -285,11 +286,14 @@
 		                      WHEN VS.CURR_STOCK_QTY  <![CDATA[<=]]> 0 THEN 0
 		                      WHEN VS.CURR_STOCK_QTY - G.MIN_ORD_QTY >= 0 THEN VS.CURR_STOCK_QTY
 		                      ELSE 0 END) AS STOCK_QTY
+		           , IFNULL(GC.QTY , 1) AS QTY
 		      FROM TB_GOODS G
 		      INNER JOIN TB_OPTION O ON G.GOODS_CD = O.GOODS_CD
 		                             AND O.DISP_YN = 'Y'
 		      INNER JOIN VW_STOCK VS ON O.GOODS_CD = VS.GOODS_CD
 		                          AND O.OPT_CD = VS.OPT_CD
+		      LEFT OUTER JOIN TB_GOODS_COMPOSE GC ON GC.COMPS_GOODS_CD = G.GOODS_CD
+		                                          AND GC.GOODS_CD = IFNULL(#{mastrGoodsCd},#{goodsCd})
 		      WHERE G.GOODS_CD =  #{goodsCd}
 		      AND G.GOODS_TYPE = 'G056_N' -- 일반상품
 		      AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT           /*판매기간 확인*/

+ 29 - 2
src/main/java/com/style24/persistence/mybatis/shop/TsfSocial.xml

@@ -98,7 +98,33 @@
 		    AND    S.DISP_YN = 'Y' /*노출하는상품만*/
 		    GROUP  BY G.GOODS_CD
 		    UNION ALL 
-		    SELECT G.GOODS_CD
+		    SELECT GOODS_CD
+		     --  , COMPS_GOODS_CD
+		         , SUM(case WHEN SOLDOUT_YN = 'Y' THEN 0
+		              ELSE CURR_STOCK_QTY END ) AS STOCK_QTY_SUM
+		           , GROUP_CONCAT(DISTINCT CONCAT(OPT_CD ,':' ,CASE WHEN SOLDOUT_YN = 'Y' THEN 'Y'
+		                          ELSE CASE WHEN CURR_STOCK_QTY > 0 THEN 'N' ELSE 'Y' END
+		                          END) ) AS OPT_CD
+		    FROM (
+		             SELECT G.GOODS_CD
+		                  , GC.COMPS_GOODS_CD
+		                  , S.OPT_CD
+		                  , S.SOLDOUT_YN
+		                  , S.CURR_STOCK_QTY - S.BASE_STOCK_QTY     AS CURR_STOCK_QTY
+		                  , RANK()
+		                     OVER (PARTITION BY G.GOODS_CD ,GC.COMPS_GOODS_CD ORDER BY S.SOLDOUT_YN, S.CURR_STOCK_QTY DESC , S.OPT_CD) AS NUMB
+		             FROM TAB_GOODS G
+		                , TB_GOODS_COMPOSE GC
+		                , VW_STOCK S
+		             WHERE 1 = 1
+		               AND G.GOODS_CD = GC.GOODS_CD
+		               AND GC.COMPS_GOODS_CD = S.GOODS_CD
+		               AND G.GOODS_TYPE = 'G056_S'
+		               AND S.DISP_YN = 'Y' /*노출하는상품만*/
+		         ) Z
+		    WHERE  NUMB = 1
+		    GROUP BY GOODS_CD
+		   <!--  SELECT G.GOODS_CD
 		         , SUM(caSE WHEN S.SOLDOUT_YN = 'Y' THEN 0
 		                    ELSE S.CURR_STOCK_QTY - S.BASE_STOCK_QTY END ) AS STOCK_QTY_SUM
 		         , MIN(CASE WHEN S.SOLDOUT_YN = 'N' THEN S.OPT_CD ELSE 'XXX' END) AS OPT_CD 
@@ -107,7 +133,8 @@
 		    WHERE  G.GOODS_CD = S.GOODS_CD
 		    AND    G.GOODS_TYPE != 'G056_N'
 		    AND    S.DISP_YN = 'Y' /*노출하는상품만*/
-		    GROUP  BY G.GOODS_CD		)
+		    GROUP  BY G.GOODS_CD		 -->
+		    )
 		SELECT G.BRAND_GROUP_NM
 		     , G.GOODS_CD
 		     , FN_GET_GOODS_NM(G.GOODS_NM,G.GOODS_GB,G.FOREIGN_BUY_YN,G.PARALLEL_IMPORT_YN,G.ORDER_MADE_YN) AS GOODS_FULL_NM /*상품FULL명*/

+ 4 - 2
src/main/webapp/WEB-INF/views/mob/common/layout/GoodsLayoutMob.html

@@ -8,7 +8,9 @@
 <body>
 
 	<th:block th:replace="~{web/common/fragments/VariablesWeb :: variables}"></th:block>
-	
+	<th:block th:replace="~{mob/common/fragments/ScriptsMob :: scripts}"></th:block>
+	<script src="https://file.kollus.com/vgcontroller/vg-controller-client.latest.min.js"></script>
+	<script src="//developers.kakao.com/sdk/js/kakao.min.js"></script>
 	
 	<div class="app">
 		<!-- GNB -->
@@ -22,7 +24,7 @@
 		<!-- Footer -->
 		<th:block th:replace="~{mob/common/fragments/FooterMob :: footer}"></th:block>
 
-		<th:block th:replace="~{mob/common/fragments/ScriptsMob :: scripts}"></th:block>
+		
 
 <script th:inline="javascript">
 /*<![CDATA[*/

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

@@ -339,7 +339,7 @@
 
 // 상품상세 asis html  이지미 경로 수정
    $(document).ready( function() {
-   	 $(".pd_descrp_pop .cont_body").find('img').each(function() {
+	   $(".pd_descrp .cont_body").find('img').each(function() {
 			let tmpImgSrc = $(this).attr('src');
 			if (tmpImgSrc.indexOf('Upload') == 1 ){  // /Upload
 				$(this).attr('src' , tmpImgSrc.replace('/Upload', _imgUrl+"/Local"));
@@ -347,6 +347,7 @@
 			
 		});
 	});
+  
 /*]]>*/
 </script>	
 </html>

+ 10 - 5
src/main/webapp/WEB-INF/views/mob/goods/GoodsDealDetailFormMob.html

@@ -141,7 +141,7 @@
 		<!-- //***** 상품소개영역 ***** -->
 		<th:block th:include="~{mob/goods/GoodsIncludeFormMob:: goodsDealComposeForm}"></th:block>
 
-		<div class="inner" style="display:none;">
+		<div class="inner" >
 			<div class="recommendedArea">
 				<!-- 이상품과 함께 본 상품영역-->
 				<div class="pd_clickother" id="goodsTogetherbArea">
@@ -574,7 +574,6 @@
 		let addPrice  = $target.attr("addPrice");
 		let selfGoodsYn  = $target.attr("selfGoodsYn");
 		let optQty = minOrdQty;
-		let maxCnt = maxOrdQty;
 		
 		let params = new Object();
 		params.goodsCd = goodsCd;
@@ -598,8 +597,8 @@
 		$.get("/goods/detail/ajaxGoodsStockQty", $.param(params), function(result) {
 			let itemCnt = eval(result); //해당 아이템에 선택되어진 사이즈의 수량
 			
-			if (maxCnt > itemCnt) {
-				maxCnt = itemCnt;
+			if (maxOrdQty > itemCnt) {
+				maxOrdQty = itemCnt;
 			}
 
 			if (minOrdQty > itemCnt) {
@@ -625,7 +624,7 @@
 			tag += '	</div>\n';
 			tag += '	<div class="number_count">\n';
 			tag += '		<span class="minus min_val" onclick="fnAdjustOrderEa(this);" adjust="-"><em class="sr-only">감소</em></span>\n';
-			tag += '		<input type="text" name="cea" optCd="'+optCd+'" maxlength="3" style="ime-mode:disabled" value="' +optQty+'" readonly>\n';
+			tag += '		<input type="text" name="cea" optCd="'+optCd+'" maxlength="3" style="ime-mode:disabled" value="' +optQty+'" readonly minOrdQty="'+minOrdQty+'" maxOrdQty="'+maxOrdQty+'">\n';
 			tag += '		<input type="hidden" name="coption" value="'+optCd+'"  goodsCd="'+goodsCd+'"  price="'+currPrice+'"  addPrice="'+addPrice+'">\n';
 			tag += '		<span class="plus" onclick="fnAdjustOrderEa(this);" adjust="+"><em class="sr-only">추가</em></span>\n';
 			tag += '	</div>\n';
@@ -861,6 +860,12 @@
 		params.goodsType = [[${params.goodsType}]];
 		params.supplyCompCd = [[${params.supplyCompCd}]];
 		params.brandGroupNm = [[${goodsInfo.brandGroupNm}]];
+		
+		// 함께본 상품(ajax html)
+		params.goodsOtherGb = "together";
+		params.ithrCd = "tmtb";
+		params.contentsLoc = "tmtb";
+		fnGoodsTogetherSearch(params);
 
 		if (!gagajf.isNull([[${goodsInfo.socialSq}]])){
 			$('.timer_box').css('display', 'block');

+ 179 - 100
src/main/webapp/WEB-INF/views/mob/goods/GoodsDetailFormMob.html

@@ -31,14 +31,14 @@
 		<input type="hidden" name="addPrice" />
 		<input type="hidden" name="ordQty" />
 		<input type="hidden" name="stock" />
-		<input type="hidden" name="minOrdQty"/>
-		<input type="hidden" name="maxOrdQty"/>
+		<input type="hidden" name="minOrdQty" th:value="${goodsInfo.minOrdQty}"/>
+		<input type="hidden" name="maxOrdQty" th:value="${goodsInfo.maxOrdQty}"/>
 		<input type="hidden" name="currPrice" th:value="${goodsInfo.currPrice}"/>
 		<input type="hidden" name="goodsType" th:value="${goodsInfo.goodsType}"/>
 		<input type="hidden" name="selfGoodsYn" th:value="${goodsInfo.selfGoodsYn}"/>
 <main role="" id="" class="container pd" th:with="imgGoodsUrl=${@environment.getProperty('upload.goods.view')}, uxImgUrl=${@environment.getProperty('domain.uximage')}, imgUrl=${@environment.getProperty('upload.image.view')}">
 	<!-- ★ 컨텐츠 시작 -->
-<script src="//developers.kakao.com/sdk/js/kakao.min.js"></script>
+
 	<section class="pd_detail">
 		<!-- 210409_ 구조변경 : .pd_info, .pd_info1 추가  -->
 		<div class="pd_info">
@@ -52,7 +52,53 @@
 										<div class="swiper-slide">
 											<div class="movbox">
 												<th:block th:if="${goodsVideo.videoGb == 'Y'}">
-												<iframe width="100%" height="100%" th:src="${'https://www.youtube.com/embed/'+goodsVideo.kmcKey+'?rel=0&autoplay=1&mute=1'}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+												<!-- <iframe width="100%" height="100%" th:src="${'https://www.youtube.com/embed/'+goodsVideo.kmcKey+'?rel=0&autoplay=1&mute=1'}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> -->
+												<div id="utbplayer"></div>
+<script src="https://www.youtube.com/iframe_api"></script><!-- 아래 원문에서 복잡하게 기술되었던 부분 -->
+<script th:inline="javascript">
+/*<![CDATA[*/
+  var player;
+
+  function onYouTubeIframeAPIReady(){
+
+    player = new YT.Player('utbplayer',{
+
+      width:'100%',
+
+      videoId:[[${goodsVideo.kmcKey}]],
+
+      playerVars:{'autoplay':1,'playsinline':1},
+
+      events:{ 'onReady':onPlayerReady,
+    	  	'onStateChange': onPlayerStateChange
+			}
+
+    });
+
+  }
+
+  function onPlayerReady(e){
+
+    e.target.mute();
+
+    e.target.playVideo();
+
+  }
+  
+  var done = false;
+  function onPlayerStateChange(event) {
+    if (event.data == YT.PlayerState.PLAYING && !done) {
+      setTimeout(stopVideo, 6000);
+      done = true;
+    }
+  }
+  function stopVideo() {
+    player.stopVideo();
+  }
+/*]]>*/
+</script>
+
+
 												</th:block>
 												<th:block th:unless="${goodsVideo.videoGb == 'Y'}">
 												<iframe id="child" class="pd_mov" width="100%" height="100%" th:src="${kollusMediaUrl+'/'+goodsVideo.kmcKey +'?enable_initialize_focus=false&autoplay&mute&controls_activation=none'}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
@@ -203,7 +249,7 @@
 								<div class="item_prod">
 									<div class="item_state">
 										<button type="button" class="itemLike" th:classappend="${goodsInfo.wishYn == 'Y'}? 'likeit active' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsInfo.goodsCd}, ithrCd=${params.ithrCd}, contentsLoc=${params.contentsLoc}, planDtlSq=''">관심상품 추가</button>
-										<a href="javascript:void(0);" onclick="cfnGoToGoodsDetail([[${goodsInfo.goodsCd}]], '',[[${params.ithrCd}]],'[[${params.contentsLoc}]]','','pc_detail');" class="itemLink" >
+										<a href="javascript:void(0);" th:onclick="cfnGoToGoodsDetail([[${goodsInfo.goodsCd}]], '',[[${params.ithrCd}]],'[[${params.contentsLoc}]]','','pc_detail');" class="itemLink" >
 											<div class="itemPic">
 												<img alt="" class="vLHTC pd_img" th:src="${imgGoodsUrl+'/'+goodsInfo.sysImgNm+'?RS=156'}" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 											</div>
@@ -281,12 +327,10 @@
 					</th:block>
 					<th:block  th:if="${goodsInfo.goodsTopDesc != null  and !goodsInfo.goodsTopDesc.empty }" th:utext="${#strings.unescapeJava(#strings.escapeJava(goodsInfo.goodsTopDesc))}"></th:block >
 					
-				</div>
+					<th:block th:if="${goodsInfo.tobeFormYn == 'N' and goodsInfo.goodsDesc != null  and !goodsInfo.goodsDesc.empty}" th:utext="${#strings.unescapeJava(#strings.escapeJava(goodsInfo.goodsDesc))}"></th:block>
 					
-				<div class="view_outfit_box" th:if="${goodsInfo.tobeFormYn == 'N' and goodsInfo.goodsDesc != null  and !goodsInfo.goodsDesc.empty}">
-				<!-- 관리자 에디터입력 내용 노출  상단 html -->
-					<th:block  th:utext="${#strings.unescapeJava(#strings.escapeJava(goodsInfo.goodsDesc))}"></th:block>
 				</div>
+					
 				<th:block th:if="${goodsInfo.tobeFormYn == 'Y'}">	
 				<!-- 착용컷 노출 -->
 				<div class="view_outfit_box" th:if="${#strings.contains(goodsImgList,'_C1') 
@@ -1089,15 +1133,6 @@
 				<a href="javascript:void(0);" id="btn_close_itemThumbPop" onclick="cfCloseLayer('pdItemThumbPop')">닫기버튼</a>
 			</div>
 			<div class="full_pop_container">
-				<div id="popThumb1" class="scaleview">
-					<video id="video_0" loop="" autoplay="" poster="https://images.kolonmall.com/Prod_Img/JN/2021/LM15/L4PAM21041GRX_LM15.jpg" data-playing="">
-					<source src="https://images.kolonmall.com/Prod_Img/product_video/L4PAM21041GRX.mp4" type="video/mp4">
-					</video>
-					<div class="video_controls">
-						<button type="button" class="btn_video_play"><span>play</span></button>
-						<button type="button"class="btn_video_pause"><span>pause</span></button>
-					</div>
-				</div>
 				<th:block th:each="goodsImg, status : ${goodsImgList}">
 				<div id="popThumb2" class="scaleview" th:if="${ not (#strings.contains(goodsImg.sysImgNm,'_F1.') 
 													or #strings.contains(goodsImg.sysImgNm,'_L1.')
@@ -1223,7 +1258,6 @@
 		let addPrice  = $target.attr("addPrice");
 		let selfGoodsYn  = $target.attr("selfGoodsYn");
 		let optQty = minOrdQty;
-		let maxCnt = maxOrdQty;
 		
 		let params = new Object();
 		params.goodsCd = goodsCd;
@@ -1247,8 +1281,8 @@
 		$.get("/goods/detail/ajaxGoodsStockQty", $.param(params), function(result) {
 			let itemCnt = eval(result); //해당 아이템에 선택되어진 사이즈의 수량
 			
-			if (maxCnt > itemCnt) {
-				maxCnt = itemCnt;
+			if (maxOrdQty > itemCnt) {
+				maxOrdQty = itemCnt;
 			}
 
 			if (minOrdQty > itemCnt) {
@@ -1268,7 +1302,7 @@
 			tag += '	</div>\n';
 			tag += '	<div class="number_count">\n';
 			tag += '		<span class="minus min_val" onclick="fnAdjustOrderEa(this);" adjust="-"><em class="sr-only">감소</em></span>\n';
-			tag += '		<input type="text" name="cea" optCd="'+optCd+'" maxlength="3" style="ime-mode:disabled" value="' +optQty+'" readonly>\n';
+			tag += '		<input type="text" name="cea" optCd="'+optCd+'" maxlength="3" style="ime-mode:disabled" value="' +optQty+'" readonly minOrdQty="'+minOrdQty+'" maxOrdQty="'+maxOrdQty+'">\n';
 			tag += '		<input type="hidden" name="coption" value="'+optCd+'"  goodsCd="'+goodsCd+'"  price="'+currPrice+'"  addPrice="'+addPrice+'">\n';
 			tag += '		<span class="plus" onclick="fnAdjustOrderEa(this);" adjust="+"><em class="sr-only">추가</em></span>\n';
 			tag += '	</div>\n';
@@ -1280,9 +1314,13 @@
 			
 			
 			let $objUp = $('.pd_detail .opt_result'); 
-			$objUp.append(tag);
+			$objUp.prepend(tag);
 			fnSetTotalPrice();
 			
+			$('.form_field .select_custom.item_opt1').find('.combo .select').html('선택');
+			$('.form_field .select_custom.item_opt2').attr('disabled', true);
+			$('.form_field .select_custom.item_opt2').find('.combo .select').html('선택');
+			
 			$('.pop_option_select').css("display", "none");
 			
 			
@@ -1353,11 +1391,10 @@
 		
 		if (targetSize == itemSize){
 			
-			let maxCnt = maxOrdQty;
 			let optQty = minOrdQty;
 			let data = {arrGoodsOption : goodsOption
-						,minOrdQty : minOrdQty
-						,maxOrdQty : maxOrdQty
+						,minOrdQty : $("#cartForm  input[name=minOrdQty]").val()
+						,maxOrdQty : $("#cartForm  input[name=maxOrdQty]").val()
 						,goodsCd : mGoodsCd
 						,selfGoodsYn : selfGoodsYn
 						};
@@ -1365,8 +1402,8 @@
 			
 			gagajf.ajaxJsonSubmit('/goods/detail/ajaxGoodsSetStockQty', jsonData, function(result) {
 				var itemCnt = eval(result); //해당 아이템에 선택되어진 사이즈의 수량
-				if (maxCnt > itemCnt) {
-					maxCnt = itemCnt;
+				if (maxOrdQty > itemCnt) {
+					maxOrdQty = itemCnt;
 				}
 	
 				if (minOrdQty > itemCnt) {
@@ -1393,7 +1430,7 @@
 					tag += '		<div class="bundle">\n';
 					tag += '			<span class="item_name">'+$(this).find('.title').text()+'</span>\n';
 					tag += '			<span class="item_option">'+$(this).find('input[name=opt2]').attr('optcd1Nm')+'/'+$(this).find('input[name=opt2]').attr('optcd2')+'</span>\n';
-					tag += '			<input type="hidden" name="selOption" goodsCd="'+goodsCd+'"  optCd="'+optCd+'" qty="'+$(this).find('.item_opt1 ').attr('qty')+'" />	\n';
+					tag += '			<input type="hidden" name="selOption" goodsCd="'+$(this).find('input[name=opt2]').attr('goodsCd')+'"  optCd="'+$(this).find('input[name=opt2]').attr('optCd')+'" qty="'+$(this).find('.item_opt1 ').attr('qty')+'" />	\n';
 					tag += '		</div>\n';
 					addPrice += Number($(this).find('input[name=opt2]').attr('addprice'));
 				});
@@ -1402,7 +1439,7 @@
 				tag += '	</div>\n';
 				tag += '	<div class="number_count">\n';
 				tag += '		<span class="minus min_val" onclick="fnAdjustOrderEa(this);" adjust="-"><em class="sr-only">감소</em></span>\n';
-				tag += '		<input type="text" name="cea" optCd="'+resultOptCd+'" maxlength="3" style="ime-mode:disabled" value="' +optQty+'" readonly>\n';
+				tag += '		<input type="text" name="cea" optCd="'+resultOptCd+'" maxlength="3" style="ime-mode:disabled" value="' +optQty+'" readonly minOrdQty="'+minOrdQty+'" maxOrdQty="'+maxOrdQty+'">\n';
 				tag += '		<input type="hidden" name="coption" value="'+resultOptCd+'"  goodsCd="'+goodsCd+'"  price="'+currPrice+'"  addPrice="'+addPrice+'">\n';
 				tag += '		<span class="plus" onclick="fnAdjustOrderEa(this);" adjust="+"><em class="sr-only">추가</em></span>\n';
 				tag += '	</div>\n';
@@ -1416,10 +1453,17 @@
 				let $objUp = null;
 				$objUp = $('.pd_detail .opt_result'); 
 				
-				$objUp.append(tag);
+				$objUp.prepend(tag);
 				
 				fnSetTotalPrice();
 				
+				target=$('.select_custom.item_opt1');
+				target.each(function(){ 
+					$('.form_field .select_custom.item_opt1.' +$(this).attr('id') ).find('.combo .select').html('선택');
+					$('.form_field .select_custom.item_opt2.' +$(this).attr('id') ).attr('disabled', true);
+					$('.form_field .select_custom.item_opt2.' +$(this).attr('id') ).find('.combo .select').html('선택');
+				});
+				
 				$('.pop_option_select').css("display", "none");
 			}); 
 		}
@@ -1434,7 +1478,8 @@
 		// 입점
 		if("N" == $("#cartForm  input[name=selfGoodsYn]").val() ){
 			let data = {goodsCd : goodsCd
-					,optionSoldoutSkip : optionSoldoutSkip 
+						,optionSoldoutSkip : optionSoldoutSkip 
+						,mastrGoodsCd : goodsCd
 					};
 			let jsonData = JSON.stringify(data);
 			
@@ -1458,6 +1503,7 @@
 			target.each(function(){ 
 				let data = {goodsCd : $(this).attr('id')
 							,optionSoldoutSkip : optionSoldoutSkip 
+							,mastrGoodsCd : $('#cartFprm input[name=goodsCd]').val()
 							};
 				let jsonData = JSON.stringify(data);
 				 
@@ -1484,7 +1530,7 @@
 						
 						//$('.form_field .select_custom.item_opt1.' +item.goodsCd ).attr('disabled', false)
 						//------
-						tag += '<div class="select_custom item_opt1 item_opt1_'+ridx+ ' '+goodsCd+'">\n';
+						tag += '<div class="select_custom item_opt1 item_opt1_'+ridx+ ' '+goodsCd+'" id="'+goodsCd+'"  qty="'+item.qty+'">\n';
 						tag += '<div class="combo">\n';
 						tag += '<div class="select">선택</div>\n';
 						tag += '<ul class="list" style="display: none;">\n';
@@ -1626,6 +1672,7 @@
 						//------
 						//tag += '<li class="selected" id="goodsOpt2'+item.goodsCd+'">선택</li>\n';	
 					}
+					
 					let soldoutYn = ""; 
 					let disabledYn = "";
 					let saleQty = (Number(qty) * Number(minOrdQty));
@@ -1636,11 +1683,9 @@
 					}else{
 						tag += '<li aria-disabled="'+disabledYn+'" data-soldout="'+soldoutYn +'" onclick="fnViewStockSelfNo(this)">\n';
 					}
-					tag += item.optCd2;
+					tag += '<div class="opt_name">'+ item.optCd2+'</div>\n';
 					if (item.addPrice > 0){
-						tag += ' (+'+ item.addPrice.addComma() +'원)\n';	
-					}else{
-							
+						tag += '<div class="opt_price">+'+ item.addPrice.addComma() +'원</div>\n';	
 					}
 					tag += '<input type="hidden" name="opt2" value="'+ item.goodsCd+'|'+item.optCd +'|'+qty +'" goodsCd="'+item.goodsCd+'" currPrice="'+ item.currPrice +'" addPrice="'+item.addPrice+'"  optCd="'+item.optCd+'"  optCd1="'+item.optCd1+'"  optCd1Nm="'+item.optCd1Nm+'"  optCd2="'+item.optCd2+'"  minOrdQty="'+minOrdQty+'"  maxOrdQty="'+maxOrdQty+'" selfGoodsYn="'+selfGoodsYn+'"/>\n';
 					tag += '</li>\n';
@@ -1655,7 +1700,7 @@
 				}
 				
 			//	$obj.append(tag);
-				$('#form_field2_'+ goodsCd).append(tag);
+				$('#form_field2_'+ goodsCd).prepend(tag);
 				if (selfGoodsYn == "Y"){
 					if (ridx == 1){
 						var opt_selecter02_1 = new sCombo('.pop_option_select .select_custom.item_opt2.item_opt2_1');	
@@ -1716,7 +1761,7 @@
 		//var maxOrdQty = $("#cartForm  input[name=maxOrdQty]").val();
 
 		//if (maxOrdQty && ea > maxOrdQty) ea = maxOrdQty;
-		if (ea.toString().length > maxOrdQty) --ea;
+		//if (ea.toString().length > maxOrdQty) --ea;
 		if (ea < 1) ea = minOrdQty;
 
 		$target.val(ea);
@@ -1800,6 +1845,7 @@
 		let totalEa = 0;
 		let totalPrice = 0;
 		
+		
 		$('input[name="cea"]').each(function() {
 			let ea = parseInt($(this).val());
 			let addPrice = 0;
@@ -1813,12 +1859,8 @@
 				});	
 			}else{
 			
-				let target=$('.select_custom.item_opt2');
-				target.each(function() {
-					if (typeof ($(this).find('input[name=opt2]').val()) != 'undefined' && !gagajf.isNull($(this).find('input[name=opt2]').val())){
-						addPrice += Number($(this).find('input[name=opt2]').attr('addPrice'));	
-					}
-				});	
+				addPrice = parseInt($(this).parent().find('input[name="coption"]').attr('addprice'));
+				
 			}
 			let goodsPrice = parseInt($(this).parent().find('input[name="coption"]').attr('price'));
 
@@ -1826,6 +1868,7 @@
 			if (goodsPrice > 0) {
 				totalPrice += ((goodsPrice+addPrice) * ea);
 			}
+			
 		});
 
 		$('#goodsTotalQty').html(totalEa.addComma());
@@ -2263,52 +2306,51 @@
 			},
 		});
 		
-		var bestCount = 0;
+		var qnaCount = 0;
 		//팝업 - 상품문의 리스트	
 		$(document).on('click','#btn_pdQnaList_pop',function(e){
-			bestCount = 1;
+			qnaCount = 1;
 			return false;
 		});
 
 		//팝업 - 상품문의 작성
 		$(document).on('click','#btn_pdQnaWrite_pop',function(e){
-			bestCount = 2;
+			qnaCount = 2;
 			return false;
 		});
 		$(document).on('click','.pd_qnawrite_pop .close-modal',function(e){
-			if(bestCount === 2){
+			if(qnaCount === 2){
 				$('#layer_goods_qna').modal('show');
 				setTimeout(fnGoodsQnaList, 100);
-				bestCount = 1;
+				qnaCount = 1;
 			}
             return false;
         });
 		
-		$(document).on('click','.pd_detail .thumb_box',function(e){
-			$('#pdItemThumbPop').css("display", "block");
+		$(document).on('click','.pd_detail .thumb_box .thumb',function(e){
+            $('#pdItemThumbPop').css("display", "block");
 			return false;
-		})
-		
-		$(document).on('click','.pd_bestreviewdetail_pop .thumblist ul li',function(e){
-
-			$(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');
+        })
 
-			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;
-		});
+		
 			
 		// 포토,베스트리뷰숨김
 		var review_open=$(".btn_review_open");
-		$(document).on('click','.btn_review_open',function(e){
+		//$(document).on('click','.btn_review_open',function(e){
+		//	$(this).toggleClass('active');
+		//	$(this).next(".review_list").toggleClass('active');
+		//	return false;
+		//});
+		$(document).on('click','.pd_review .btn_review_open',function(e){
 			$(this).toggleClass('active');
 			$(this).next(".review_list").toggleClass('active');
+			if($(this).hasClass('active')){
+				$(".pd_review.best").css("position", "absolute");
+				//$(".pd_review.best").css("bottom", "0");
+			} else {
+				$(".pd_review.best").css("position", "relative");
+				//$(".pd_review.best").css("bottom", "auto");
+			}
 			return false;
 		});
 		
@@ -2428,9 +2470,52 @@
 			$("body").removeClass("recoPop");
             return false;
         });
-		 
+		
+		/* $(document).on('click','.pop_open_btn',function(){
+			$('.modal.photo_comment_popup .pop_detail').toggleClass('active');
+		}); */
+		
 	});
 	
+
+	//pd전용 - 썸네일/헤더 블라인드 생성 : 210520_ 추가
+	$('.pd .thumb_box .thumb_list .swiper-slide').prepend('<span></span>');
+	// pd전용 - 스크롤 스크립트
+	$(window).scroll(function(){
+		var lastScrollTop = 0;
+		var st = $(this).scrollTop();
+		if($('header').hasClass("main") !== true){
+			if (st > lastScrollTop){
+				$(".app .gnb").css("position", "fixed");
+				$(".htop").css("background", "#fff");
+				$(".app .gnb .btn-expand").css("position", "fixed");
+				$(".tabbar").removeClass("fixed");
+				$(".thumb_list .swiper-slide span").animate({"opacity": 0}, 30);
+			} else {
+				$(".app .gnb").css("position", "fixed");
+				$(".htop").css("background", "#fff");
+				$(".app .gnb .btn-expand").css("position", "fixed");
+				$(".tabbar").addClass("fixed");
+				$(".thumb_list .swiper-slide span").animate({"opacity": 0.5}, 30);
+				setTimeout(function(){
+					if($(window).scrollTop() === 0){
+						$(".app .gnb").css("position", "relative");
+						$(".app .gnb .btn-expand").css("position", "absolute");
+					}
+				},300)
+			}
+			if(st < 10) {
+				$(".htop").css("background", "transparent");
+				$(".thumb_list .swiper-slide span").animate({"opacity": 0.5}, 0);
+			}
+			lastScrollTop = st;
+		}
+    });
+
+	
+	let vh = window.innerHeight * 0.01;
+	document.documentElement.style.setProperty('--vh', `${vh}px`);
+	
 	 // 상품상세 asis html  이지미 경로 수정
 	window.onload = function(){
    	 $(".pd_descrp .cont_body").find('img').each(function() {
@@ -2441,21 +2526,17 @@
 			
 		});
 	
-   	/*
-		let goodsVideoList = [[${goodsVideoList}]];
+	   	let goodsVideoList = [[${goodsVideoList}]];
 		let videoFlag = false;
 		if (goodsVideoList != null){
-			
 			$.each(goodsVideoList, function(idx, goodsVideo) {
 				if ("M" == goodsVideo.videoGb){
 					videoFlag = true;
 					return false;
 				}
-				
 			});
-		}
-			
-		 if (videoFlag){
+		}	
+		if (videoFlag){
 			try {
 				var controller = new VgControllerClient({
 					target_window: document.getElementById('child').contentWindow
@@ -2472,30 +2553,28 @@
 			controller.play();
 			controller.set_control_visibility(false);
 			
-		}	 */
-		
-		/* $(window).scroll(function(){
-			var scrollTop= $(window).scrollTop();
-			var itemTop=$('.descript_box').offset().top;
-			var winHeight = $(window).height();
-			console.log(winHeight-scrollTop);
-			console.log(winHeight/1.5);
-			if (winHeight-scrollTop <= winHeight/1.5){
-				controller.pause();
-			} else {
-				controller.play();
-				controller.set_control_visibility(false);
-			}
-
-			controller.on('done', function() {
-				controller.play();
-				controller.set_control_visibility(false);
-			});
-		}); */
-
-		$(document).on('click','.pop_open_btn',function(){
-				$('.modal.photo_comment_popup .pop_detail').toggleClass('active');
-		});
+			$(window).scroll(function(){
+				var scrollTop= $(window).scrollTop();
+				var itemTop=$('.descript_box').offset().top;
+				var winHeight = $(window).height();
+				//console.log(winHeight-scrollTop);
+				//console.log(winHeight/1.5);
+				if (winHeight-scrollTop <= winHeight/1.5){
+					controller.pause();
+				} else {
+					controller.play();
+					controller.set_control_visibility(false);
+				}
+		
+				controller.on('done', function() {
+					controller.play();
+					controller.set_control_visibility(false);
+				});
+			}); 
+			
+		}
+	   
+		
 		
 	};
 	

+ 3 - 2
src/main/webapp/WEB-INF/views/mob/goods/GoodsDetailQnaFormMob.html

@@ -56,7 +56,7 @@
 		</div>
 		<!-- //나열조건결과 없을 때 노출 내용 -->
 		<div class="ui_foot"  style="display:none;">
-			<button class="btn btnIcon_more"  id="btnMore">더보기</button>
+			<button type="button"  class="btn btnIcon_more"  id="btnMore">더보기</button>
 		</div>
 	</div>
 	<div class="btn_group_flex">
@@ -78,6 +78,7 @@
 		if (result.paging.pageable.pageNo == 1){
 			$('#ulGoodsQna').html('');
 		}	
+		debugger;
 		$.each(result.dataList, function(idx, item) {
 			$('#goodsQnaForm').find('.nodata').hide();
 			let tag = '';
@@ -166,5 +167,5 @@
 	
 /*]]>*/
 </script>	
-<a href="javascript:void(0);" rel="modal:close" onclick="cfCloseLayer('layer_goods_qna')" class="close-modal">Close</a>
+
  </html>

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

@@ -694,7 +694,7 @@
 //					fileGbClass = '';
 //					if (reviewAttach == "M") fileGbClass = "mov";
 			tag += '				<li>\n';
-			tag += '					<a href="javascript:void();" onclick="cfGoodsReviewDetail(\''+item.goodsCd+'\',\'\', \'Y\',\''+item.reviewSq+'\');">\n';
+			tag += '					<a href="javascript:void();" onclick="cfGoodsReviewDetail(\''+item.goodsCd+'\',\'\', \'Y\',\''+item.reviewSq+'\','+aIdx+');">\n';
 			tag += '						<div class="pic">\n';
 			if (reviewAttach.fileGb == "M") {
 			tag +='								<span class="thumb mov" style="background-image:url('+_kollusMediaUrl +'/poster/'+reviewAttach.kmcKey +');\" ></span>\n';

+ 2 - 2
src/main/webapp/WEB-INF/views/mob/goods/GoodsIncludeFormMob.html

@@ -292,10 +292,10 @@
 														<img alt="" class="vLHTC pd_img" th:src="${imgGoodsUrl+'/'+goodsInfo.sysImgNm+'?RS=331'}" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 													</div>
 													<p class="itemBrand" th:text="${goodsInfo.brandGroupNm}">BRAND NAME1</p>
-													<div class="itemName" th:text="${goodsInfo.goodsFullNm}">남성 </div>
+													<div class="itemName" ><span class="tit_option" th:text="${'[상품'+status.count+']'}">[상품1]</span><th:block th:text="${goodsInfo.goodsFullNm}"></th:block></div>
 													<p class="itemPrice">
-														<span class="itemPrice_original" th:if="${goodsInfo.listPrice > goodsInfo.currPrice}" th:text="${#numbers.formatInteger(goodsInfo.listPrice, 0,'COMMA')}">89,000</span>
 														<th:block th:text="${#numbers.formatInteger(goodsInfo.currPrice, 0,'COMMA')}"> 134,100</th:block>
+														<span class="itemPrice_original" th:if="${goodsInfo.listPrice > goodsInfo.currPrice}" th:text="${#numbers.formatInteger(goodsInfo.listPrice, 0,'COMMA')}">89,000</span>
 														<span class="itemPercent" th:if="${goodsInfo.dcRate > 0}" th:text="|${#numbers.formatDecimal(goodsInfo.dcRate,0,0)}%|">10%</span>
 													</p>
 												</a>

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

@@ -27,7 +27,7 @@
 					<div class="item_prod">
 						<div class="item_state">
 							<button type="button" class="itemLike" th:classappend="${goodsInfo.wishYn == 'Y'}? 'likeit active' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsInfo.goodsCd}, ithrCd=${params.ithrCd}, contentsLoc=${params.contentsLoc}, planDtlSq=''">관심상품 추가</button>
-							<a href="javascript:void(0);" onclick="cfnGoToGoodsDetail([[${goodsInfo.goodsCd}]], '',[[${params.ithrCd}]],'[[${params.contentsLoc}]]','','pc_detail');" class="itemLink" >
+							<a href="javascript:void(0);" th:onclick="cfnGoToGoodsDetail([[${goodsInfo.goodsCd}]], '',[[${params.ithrCd}]],[[${params.contentsLoc}]],'','pc_detail');" class="itemLink" >
 								<div class="itemPic">
 									<img alt="" class="vLHTC pd_img" th:src="${imgGoodsUrl+'/'+goodsInfo.sysImgNm+'?RS=156'}" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 								</div>

+ 8 - 2
src/main/webapp/WEB-INF/views/mob/goods/GoodsReviewDetailFormMob.html

@@ -22,7 +22,7 @@
 			</th:block>
 			<th:block th:unless="${review.bestYn == 'Y'}">
 			<h5 class="modal-title" id="exampleFullLabel">
-				<button type="button" id="btn_more_photoreview"></button>
+				<button type="button" id="btn_more_photoreview" th:onclick="cfGoodsReviewPhoto([[${params.goodsCd}]])" ></button>
 				포토/영상리뷰
 			</h5>
 			</th:block>
@@ -158,7 +158,13 @@
 /*<![CDATA[*/
 	
 	$(document).ready( function() {
-		 //슬라이드 - 포토,영상리뷰팝업 
+		 //슬라이드 - 포토,영상리뷰팝업
+//		let reviewAttchSq = 0; 
+//		if (!gagajf.isNull( [[${review.attachSq}]])){
+//			reviewAttchSq = [[${review.attachSq}]];
+//		}
+//		reviewAttchSq = Number(reviewAttchSq) +1;
+		//console.log("reviewAttchSq {}",reviewAttchSq);
         var photoreviewdetailSwiper = new Swiper('.pd_photoreviewdetail_pop .area_slider .swiper-container', {
             observer: true,
             observeParents: true,

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/mypage/MypageCancelFormMob.html

@@ -379,7 +379,7 @@ var fnCancel = function() {
 	data.accountNo 			= accountNo;
 	data.accountNm 			= accountNm;
 	data.bankCd 			= bankCd;
-	data.isCustomer 		= 'Y';
+	data.isCustomer 		= true;
 	data.reqGbn 			= 'cnclComplete';
 	data.pgTid 				= paymentInfo.pgTid;
 	data.payAmt 			= paymentInfo.payAmt;

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderDetailFormMob.html

@@ -1112,7 +1112,7 @@
 				data.accountNo = accountNo;
 				data.accountNm = accountNm;
 				data.bankCd = bankCd;
-				data.isCustomer = 'Y';
+				data.isCustomer = true;
 				data.reqGbn = 'cnclComplete';
 				data.ordDtlNoArr = ordDtlNoArr;
 				data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCancelFormMob.html

@@ -378,7 +378,7 @@ var fnCancel = function() {
 	data.accountNo 			= accountNo;
 	data.accountNm 			= accountNm;
 	data.bankCd 			= bankCd;
-	data.isCustomer 		= 'Y';
+	data.isCustomer 		= true;
 	data.reqGbn 			= 'cnclComplete';
 	data.pgTid 				= paymentInfo.pgTid;
 	data.payAmt 			= paymentInfo.payAmt;

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberOrderDetailFormMob.html

@@ -706,7 +706,7 @@
 				data.accountNo = accountNo;
 				data.accountNm = accountNm;
 				data.bankCd = bankCd;
-				data.isCustomer = 'Y';
+				data.isCustomer = true;
 				data.reqGbn = 'cnclComplete';
 				data.ordDtlNoArr = ordDtlNoArr;
 				data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;

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

@@ -559,7 +559,6 @@
 		let addPrice  = $target.attr("addPrice");
 		let selfGoodsYn  = $target.attr("selfGoodsYn");
 		let optQty = minOrdQty;
-		let maxCnt = maxOrdQty;
 		
 		let params = new Object();
 		params.goodsCd = goodsCd;
@@ -583,8 +582,8 @@
 		$.get("/goods/detail/ajaxGoodsStockQty", $.param(params), function(result) {
 			let itemCnt = eval(result); //해당 아이템에 선택되어진 사이즈의 수량
 			
-			if (maxCnt > itemCnt) {
-				maxCnt = itemCnt;
+			if (maxOrdQty > itemCnt) {
+				maxOrdQty = itemCnt;
 			}
 
 			if (minOrdQty > itemCnt) {
@@ -614,7 +613,7 @@
 			tag += '	</div>\n';
 			tag += '	<div class="number_count">\n';
 			tag += '		<span class="minus min_val" onclick="fnAdjustOrderEa(this);" adjust="-"><em class="sr-only">감소</em></span>\n';
-			tag += '		<input type="text" name="cea" optCd="'+optCd+'" maxlength="3" style="ime-mode:disabled" value="' +optQty+'" readonly>\n';
+			tag += '		<input type="text" name="cea" optCd="'+optCd+'" maxlength="3" style="ime-mode:disabled" value="' +optQty+'" readonly minOrdQty="'+minOrdQty+'" maxOrdQty="'+maxOrdQty+'">\n';
 			tag += '		<input type="hidden" name="coption" value="'+optCd+'"  goodsCd="'+goodsCd+'"  price="'+currPrice+'"  addPrice="'+addPrice+'">\n';
 			tag += '		<span class="plus" onclick="fnAdjustOrderEa(this);" adjust="+"><em class="sr-only">추가</em></span>\n';
 			tag += '	</div>\n';
@@ -704,7 +703,7 @@
 		//var maxOrdQty = $("#cartForm  input[name=maxOrdQty]").val();
 
 		//if (maxOrdQty && ea > maxOrdQty) ea = maxOrdQty;
-		if (ea.toString().length > maxOrdQty) --ea;
+		//if (ea.toString().length > maxOrdQty) --ea;
 		if (ea < 1) ea = minOrdQty;
 
 		$target.val(ea);

+ 2 - 2
src/main/webapp/WEB-INF/views/web/goods/GoodsDetailFormWeb.html

@@ -1305,9 +1305,9 @@
 		else ++ea;
 
 		//var maxOrdQty = $("#cartForm  input[name=maxOrdQty]").val();
-
 		//if (maxOrdQty && ea > maxOrdQty) ea = maxOrdQty;
-		if (ea.toString().length > parseInt($target.attr('maxlength'))) --ea;
+		
+		//if (ea.toString().length > parseInt($target.attr('maxlength'))) --ea;  ///===?
 		if (ea < 1) ea = minOrdQty;
 
 		$target.val(ea);

+ 1 - 1
src/main/webapp/WEB-INF/views/web/mypage/MypageCancelFormWeb.html

@@ -295,7 +295,7 @@
 		data.accountNo = accountNo;
 		data.accountNm = accountNm;
 		data.bankCd = bankCd;
-		data.isCustomer = 'Y';
+		data.isCustomer = true;
 		data.reqGbn = 'cnclComplete';
 		data.pgTid = paymentInfo.pgTid;
 		data.payAmt = paymentInfo.payAmt;

+ 1 - 1
src/main/webapp/WEB-INF/views/web/mypage/MypageOrderDetailFormWeb.html

@@ -565,7 +565,7 @@
 				data.accountNo = accountNo;
 				data.accountNm = accountNm;
 				data.bankCd = bankCd;
-				data.isCustomer = 'Y';
+				data.isCustomer = true;
 				data.reqGbn = 'cnclComplete';
 				data.ordDtlNoArr = ordDtlNoArr;
 				data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;

+ 0 - 3
src/main/webapp/WEB-INF/views/web/mypage/MypageReviewDetailFormWeb.html

@@ -220,16 +220,13 @@
 				
 				$('.pd_photoreviewdetail_pop .swiper-slide').each(function(index, element){
 				        var $this = $(this);
-				        
 				        var thumbCount = $this.find('.thumblist ul li').length;
 				        var thumbUlWidth = $this.find('.thumblist ul li').width() * thumbCount;
 				        var thumbMargin = 8 * thumbCount;
 				        var thumbListWidth = thumbUlWidth + thumbMargin;
 
 				        $this.find('.thumblist ul').attr('style', 'width:' + thumbListWidth + 'px;');
-				        
 				    }); 
-				
 				$("#" + rdx).trigger("click");
 			});
 			

+ 1 - 1
src/main/webapp/WEB-INF/views/web/mypage/NoMemberCancelFormWeb.html

@@ -293,7 +293,7 @@
 		data.accountNo = accountNo;
 		data.accountNm = accountNm;
 		data.bankCd = bankCd;
-		data.isCustomer = 'Y';
+		data.isCustomer = true;
 		data.reqGbn = 'cnclComplete';
 		data.pgTid = paymentInfo.pgTid;
 		data.payAmt = paymentInfo.payAmt;

+ 1 - 1
src/main/webapp/WEB-INF/views/web/mypage/NoMemberOrderDetailFormWeb.html

@@ -415,7 +415,7 @@
 				data.accountNo = accountNo;
 				data.accountNm = accountNm;
 				data.bankCd = bankCd;
-				data.isCustomer = 'Y';
+				data.isCustomer = true;
 				data.reqGbn = 'cnclComplete';
 				data.ordDtlNoArr = ordDtlNoArr;
 				data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;

+ 18 - 6
src/main/webapp/WEB-INF/views/web/social/SocialMainFormWeb.html

@@ -139,18 +139,30 @@ let fnGetSocialList = function(result) {
 			html += '           <div class="itemComment">'+item.goodsTnm+'</div>';
 		}
 		html += '        </a>';
-		html += '        	 <div class="shopBagBtn">';
-		html += '                <button type="button" class="btn btn_defalt" onclick="socialAddCart(this)" goodsCd=\''+item.goodsCd+'\', minOrdQty=\''+item.minOrdQty+'\', goodsType=\''+item.goodsType+'\', optCd=\''+item.optCd+'\'">';
-		html += '                    <span>쇼핑백 담기</span>';
-		html += '                </button>';
-		html += '            </div>';
+		if (item.goodsType == 'G056_N') {
+			html += '        	 <div class="shopBagBtn">';
+			html += '                <button type="button" class="btn btn_defalt" onclick="socialAddCart(this)" goodsCd=\''+item.goodsCd+'\', minOrdQty=\''+item.minOrdQty+'\', goodsType=\''+item.goodsType+'\', optCd=\''+item.optCd+'\'">';
+			html += '                    <span>쇼핑백 담기</span>';
+			html += '                </button>';
+			html += '            </div>';
+		}else if(item.goodsType == 'G056_D'){
+			html += '        	 <div class="shopBagBtn">';
+			html += '                <button type="button" class="btn btn_defalt" onclick="socialGoodsDeal()">';
+			html += '                    <span>쇼핑백 담기</span>';
+			html += '                </button>';
+			html += '            </div>';
+		}
 		html += '    </div>';
 		html += '</div>';
 	});
 	return html;
 	
 }
-
+// 딜상품일 경우 alert
+var socialGoodsDeal = function() {
+	mcxDialog.alert("해당 상품은 딜상품!");
+	return;
+}
 
 var fnSocialListSearch = function() {
 	fnSocialInfiniteScrollInit();

+ 4 - 4
src/main/webapp/ux/mo/css/common_m.css

@@ -84,7 +84,7 @@ button {overflow: visible;background: none;border: none;padding: 0;}
 button,select {text-transform: none;}
 button,html input[type="button"],input[type="reset"],input[type="submit"] {-webkit-appearance: button;cursor: pointer;}
 button[disabled],html input[disabled] {cursor: default;pointer-events: none;}
-button:focus {outline: #007bce dotted thin;}
+button:focus {outline: transparent;}
 button::-moz-focus-inner,input::-moz-focus-inner {padding: 0;border: 0;}
 input {line-height: normal;}
 input[type="checkbox"],input[type="radio"] {-webkit-box-sizing: border-box;box-sizing: border-box;padding: 0;}
@@ -679,10 +679,11 @@ header .htop.trans{position:absolute; background:transparent !important;}
 header #htopSub{border-bottom: 0px solid #e5e5e5;box-sizing: border-box;}
 header #htopSubs{border-bottom: 0px solid #000000;box-sizing: border-box;}
 header #htopSub.my_main {background-color: #f5f5f5; border-bottom: 1px solid rgba(0, 0, 0, 0.0)!important;}
-header .htop h1 {display: inline-block;position: relative;width: 10.666rem;height: 100%;line-height: 4.5rem;vertical-align: middle;margin: 0px 0 0 2.0rem;font-size: 1.8rem;color: #222;}
+header .htop h1 {display: inline-block;position: relative;width:auto;height: 5.5rem;line-height: 5.5rem;vertical-align: middle;margin: 0px 0 0 2.0rem;font-size: 1.8rem;color: #222;}
 header .htop h1#htopTitle {display: inline-block;position: relative;max-width: 18rem;width: auto;height: 100%;line-height: 4.5rem;vertical-align: middle;padding: 0px 1.5rem 0px 0rem;font-size: 1.8rem;color: #222;}
 header .htop h1 a {height: 100%;width: 100%;display: block;}
-header .htop h1 img {position: absolute;top: 50%;left: 0;right: 0;transform: translate(0, -50%);margin: 0px 0;width: 10.666rem;height: auto;line-height: 1.6rem;vertical-align: middle;}
+header .htop h1 img {margin: 0px 0;width: 10.666rem;height: auto;line-height: 1.6rem;vertical-align: middle;}
+header .htop h1 a p{color: #fff;line-height: 5.5rem;font-size: 2.0rem;height: 5.5rem;display: inline;vertical-align: middle;}
 header .htop .btn_back {margin: 10px 0 0 15px;width: 35px;height: 35px;}
 header .htop .btn_back span {display: block;width: 24px;height: 24px;margin: 0 auto;position: relative;}
 header .htop .btn_back span i {display: block;position: absolute;background: #222;-webkit-transition: all 0.3s ease-out;transition: all 0.3s ease-out;}
@@ -2069,4 +2070,3 @@ button.alertCls {-webkit-appearance: none;padding: 0;cursor: pointer;background:
 	80% {bottom:8.0rem; opacity:1; z-index:99999;}
 	100% {opacity:0; z-index:0;}
 }
-

+ 20 - 7
src/main/webapp/ux/mo/css/layout_m.css

@@ -175,11 +175,14 @@
 .cs_contactUs_my .info_addfile {margin-top:2rem; color:#666; font-size:1.2rem; font-weight:200;}
 .cs_contactUs_my .sec_foot {margin-top:6rem}
 .cs_contactUs_my .sec_foot .btn.btn_md {margin:0px 0.5rem; font-weight:300; padding:1.5rem 9rem;}
-.cs_contactUs_my .txt_cnt {position:absolute; right:1.5rem; bottom:1.5rem; text-align:right; font-size:1.2rem;}
+.cs_contactUs_my .txt_cnt {position:absolute; right:1.5rem; bottom:1.5rem; text-align:right; font-size:1.4rem; font-weight: 300; background-color: #ffffff;}
 .cs_contactUs_my .cellphone .input_wrap{display:flex; flex-wrap:wrap;}
 .cs_contactUs_my .cellphone .input_wrap .tt{padding:0.3rem 0; margin-right:3rem; font-weight:600;}
 .cs_contactUs_my .img_group .thumb_pic {position:relative; display:inline-block; width:7.4rem; height:7.4rem; border:0.1rem solid #ddd; margin-right:0.4rem; box-sizing:border-box; overflow:hidden;} 
 .cs_contactUs_my .img_group .thumb_pic img {position:absolute; top:50%; transform: translateY(-50%); width:100%; height: auto;}
+.cs_contactUs_my .form_wrap .form_field:nth-of-type(3) .input_wrap{padding:0 1rem; padding-bottom:2.5rem; border: 1px solid #d7d7d7;}
+.cs_contactUs_my .form_wrap .form_field:nth-of-type(3) .input_wrap textarea{border:0px none; outline:none;}
+.cs_contactUs_my .form_wrap .form_field:nth-of-type(3) .input_wrap .txt_cnt{bottom:0.1rem}
 .cs_contactUs_1 .ui_foot .btn{width:100%; height: 4rem;}
 .modal#myQuestion .modal-body {padding:0 2rem 5.7rem;}
 
@@ -654,7 +657,8 @@
 [class*="pd_descrp"] .mdhtml_box {margin-top:4rem;}
 [class*="pd_descrp"] .mdhtml_box a{display:block; margin:0 -2rem; padding-top: 26%; overflow: hidden; position: relative;}
 [class*="pd_descrp"] .mdhtml_box img {width:100%;}
-[class*="pd_descrp"] .mdhtml_box img {/*width:100%;*/max-width: none;width: auto;height: 100%;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}
+[class*="pd_descrp"] .mdhtml_box img {width:100%;height: 100%; display: block;}
+[class*="pd_descrp"] .mdhtml_box a img {/*width:100%;*/max-width: none;width: auto;height: 100%;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}
 [class*="pd_descrp"] .mdhtml_box iframe {display:block; margin-left:auto; margin-right:auto}
 [class*="pd_descrp"] .mdhtml_box .movblock {position:relative; display:block; height:0; line-height:0; margin-left:auto; margin-right:auto; padding-top:56.25%; background:#eee}
 [class*="pd_descrp"] .mdhtml_box .movblock > iframe {position:absolute; left:0; right:0; top:0; bottom:0; width:100%; height:100%; z-index:2}
@@ -858,6 +862,10 @@
 .pd_pop.Purchase_pop .pop_option_select .opt_header .check_excluding.form_field input[type="checkbox"] + label{ font-size:1.3rem; color:#222;}
 .pd_pop.Purchase_pop .pop_option_select .text_excluding{margin-top:-1rem; padding:1.2rem; background-color:#383838; font-size:1.3rem; color:#fff; text-align:center;}
 .pd_pop.Purchase_pop .select_custom .combo .select{font-size:1.4rem; height:auto; text-overflow: ellipsis; word-wrap: normal; overflow: hidden; padding-right: 4rem;}
+.pd.deal .pd_detail .pd_pop.Purchase_pop .select_custom .combo .select{color: #777777;text-overflow: ellipsis;white-space: nowrap;word-wrap: normal;overflow: hidden;padding-right: 4rem;padding-left: 5rem;}
+.pd.deal .pd_detail .pd_pop.Purchase_pop .form_field:nth-child(1) .select_custom .combo .select::before{content: '상품';display: inline-block;width: 0;height: 0;position: absolute;left: 1rem; color:#333333}
+.pd.deal .pd_detail .pd_pop.Purchase_pop .form_field:nth-child(2) .select_custom .combo .select::before{content: '옵션1';display: inline-block;width: 0;height: 0;position: absolute;left: 1rem; color:#333333}
+.pd.deal .pd_detail .pd_pop.Purchase_pop .form_field:nth-child(3) .select_custom .combo .select::before{content: '옵션2';display: inline-block;width: 0;height: 0;position: absolute;left: 1rem; color:#333333}
 .pd_pop.Purchase_pop .pop_option_select .setOption{}
 .pd_pop.Purchase_pop .pop_option_select .setOption .title{margin-bottom:1rem;}
 .pd_pop.Purchase_pop .pop_option_select .setOption .form_wrap{margin-top:2rem;}
@@ -865,7 +873,7 @@
 .pd_pop.Purchase_pop div[class$="Option"] .form_wrap .form_field .select{color:#777777; text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;overflow:hidden; padding-right:4rem;padding-left: 5rem;}
 .pd_pop.Purchase_pop div[class$="Option"] .form_wrap .form_field .select:before{color:#333333}
 .pd_pop.Purchase_pop div[class$="Option"] .form_wrap .form_field .select .opt_name{pointer-events: none;}
-.pd_pop.Purchase_pop div[class$="Option"] .form_wrap .form_field .select .opt_price{pointer-events: none;}
+.pd_pop.Purchase_pop div[class$="Option"] .form_wrap .form_field .select .opt_price{pointer-events: none;display: none;}
 .pd_pop.Purchase_pop div[class$="Option"] .form_wrap .form_field:nth-child(1) .select:before {content: '옵션1';display: inline-block;width: 0;height: 0;position: absolute;left: 1rem;}
 .pd_pop.Purchase_pop div[class$="Option"] .form_wrap .form_field:nth-child(2) .select:before {content: '옵션2';display: inline-block;width: 0;height: 0;position: absolute;left: 1rem;}
 
@@ -1142,8 +1150,9 @@
 .modal.pd_pop.pd_qnawrite_pop .form_field {display:block;}
 .modal.pd_pop.pd_qnawrite_pop .form_field .lap{position:relative;}
 .modal.pd_pop.pd_qnawrite_pop .input_box {margin-top:3rem}
-.modal.pd_pop.pd_qnawrite_pop .input_box textarea {display:block; width:100%; height:20rem; padding:1.5rem; color:#222; font-size: 1.2rem; font-weight: 300; box-sizing: border-box;}
-.modal.pd_pop.pd_qnawrite_pop .input_box .txt_cnt {display:block; position:absolute; margin-top:0; right: 1rem; bottom: 0.1rem; text-align: right; font-size: 1.2rem; z-index:1; width:95%; background-color:#fff;}
+.modal.pd_pop.pd_qnawrite_pop .input_box textarea {display:block; width:100%; height:20rem; padding:0 1rem 0; color:#222; font-size: 1.2rem; font-weight: 300; box-sizing: border-box; border:0 none; outline: none;}
+.modal.pd_pop.pd_qnawrite_pop .input_box .txt_cnt {position: absolute;right: 1.5rem;bottom: 0.1rem;text-align: right;font-size: 1.4rem;font-weight: 300;background-color: #ffffff;}
+.modal.pd_pop.pd_qnawrite_pop .input_box .input_wrap{width:100%; padding:1.5rem; padding-bottom:2.5rem; border: 1px solid #d7d7d7;}
 .modal.pd_pop.pd_qnawrite_pop .secret_box {margin-top:1rem;}
 .modal.pd_pop.pd_qnawrite_pop .push_box {margin-top:3rem;}
 .modal.pd_pop.pd_qnawrite_pop .push_box dl {display:flex; flex-wrap: wrap; align-items: center; color:#222; font-size:1.3rem;}
@@ -1176,6 +1185,7 @@
 .pd_delivery .change .pop_table tr th {width: 10rem; padding: 0 0 0 1.2rem; color:#222; font-weight:500; background: #f5f5f5; text-align:left; word-break: break-all;}
 
 /* pd_pop > 상품리뷰 페이지 */
+.modal.pd_pop.pd_review_pop {overflow-x: hidden;overflow-y: auto;}
 .modal.pd_pop.pd_review_pop .modal-header{border-bottom:1px solid #eee !important;}
 .modal.pd_pop.pd_review_pop .modal-body{margin-top:9.3rem; padding:0}
 .modal.pd_pop.pd_review_pop  .modal-header{height:auto;}
@@ -1183,7 +1193,7 @@
 .modal.pd_pop.pd_review_pop .riview_box .area_slider{margin-bottom:0;}
 .modal.pd_pop.pd_review_pop .btn_group_flex > div > .btn{height:5.3rem;}
 .modal.pd_pop.pd_review_pop .pd_review .area_rv_empty .btn_group_flex{position:fixed; width: 100%; bottom: 0; left:0; margin-top: 0; z-index:10;}
-.pd_review{background:#f5f5f5;}
+.pd_review{background:#f5f5f5;overflow-x: hidden;}
 .pd_review.best,
 .pd_review.photo{background:#fff; position:relative; bottom:0; z-index:999; max-height:35rem;}
 .pd_review [class^="area_rv"]{padding:4rem 1.33rem; margin-bottom:1.2rem; background:#fff; line-height: 1.4;}
@@ -1353,13 +1363,15 @@
 .modal.pd_pop[class*="reviewdetail_pop"] .modal-header{border-bottom:0;}
 .modal.pd_pop[class*="reviewdetail_pop"] .modal-body{margin-top:5.2rem; padding:0 0;}
 .modal.pd_pop[class*="reviewdetail_pop"] .modal-body .pd_review .area_rv_all .review_list{border-top:0;}
-.modal.pd_pop[class*="reviewdetail_pop"] .area_slider .thumb{position:relative; width:100%; height:100%;}
+.modal.pd_pop[class*="reviewdetail_pop"] .area_slider .thumb{position:relative; width:100%; height:100%; min-height:45.6rem;}
+.modal.pd_pop[class*="reviewdetail_pop"] .area_slider .thumb iframe {position: absolute;top: 0;left: 0;}
 .modal.pd_pop[class*="reviewdetail_pop"] .area_slider .thumb img,
 .modal.pd_pop[class*="reviewdetail_pop"] .area_slider .thumb video{position: absolute; left: 50%; right: 0; top: 45%; bottom: auto; transform: translate(-50%, -50%); width: auto; height: auto; max-height: 100%; max-width: 100%; margin: auto 0; cursor: pointer;}
 .modal.pd_pop[class*="reviewdetail_pop"] .area_slider .thumb{position:relative; background-color:#ddd; /*background-position:center center; background-repeat:no-repeat; background-size:contain;*/}
 .modal.pd_pop[class*="reviewdetail_pop"] .area_slider .thumb.nodata:before{display:block; content:''; position:absolute; top:0; left:0; width:100%; height:100%; background-color:rgba(0,0,0,.5); z-index:1;}
 .modal.pd_pop[class*="reviewdetail_pop"] .area_slider .thumb.nodata:after{display:block; content:'리뷰에 등록된 이미지가 없습니다.'; position:absolute; top:50%; left:50%; width:90%; font-size:1.2rem; color:#fff; text-align:center; z-index:2; -webkit-transform:translate(-50%, -50%); transform:translate(-50%, -50%);}
 .modal.pd_pop[class*="reviewdetail_pop"] .area_slider .swiper-pagination {display: inline-block; width: auto; padding: 0.2rem 1rem; border-radius: 2rem; font-size: 1.2rem; color: #fff; background-color: rgba(34,34,34,.5);}
+.modal.pd_pop[class*="reviewdetail_pop"] .area_slider .swiper-pagination::before {content: '';display: block;height: 2.0rem;margin-top: -2.0rem;visibility: hidden;}
 .modal.pd_pop[class*="reviewdetail_pop"] .area_slider .swiper-pagination-fraction {position: absolute; left: 50%; bottom: 6rem; margin:0; -webkit-transform: translateX(-50%); transform: translateX(-50%);}
 .modal.pd_pop[class*="reviewdetail_pop"] .area_rv_all{padding-top:1rem;}
 .modal.pd_pop[class*="reviewdetail_pop"] .area_rv_all .review_list > ul > li {padding-top:1.5rem;}
@@ -2267,6 +2279,7 @@
 .br .br_main .special_shop .swiper-container{overflow:visible;}
 .br .br_main .special_shop .swiper-slide .sp_item{}
 .br .br_main .special_shop .swiper-slide .sp_item .sp_img{position:relative; margin-bottom:1.9rem;}
+.br .br_main .special_shop .swiper-slide .sp_item .sp_img a{display: block;}
 .br .br_main .special_shop .swiper-slide .sp_item .sp_img img{width:100%;}
 .br .br_main .special_shop .swiper-slide .sp_item .sp_img .s-text{position:absolute; bottom:4rem; padding:0 2rem; left:0; width:100%; box-sizing:border-box;}
 .br .br_main .special_shop .swiper-slide .sp_item .sp_img .s-text p{font-size:2.3rem; font-weight:500;; color:#fff; font-weight:300;}

+ 2 - 3
src/main/webapp/ux/mo/css/style24_m.css

@@ -401,7 +401,6 @@
 
 .main_pick .pick-cont {display: none;transition: ease-in, 1000;}
 .main_pick .pick-cont.active {display: block;transition: ease-out, 1000;}
-.main_pick .pick-cont .btn_group_flex {margin-top: 0;}
 
 .main_pick .pick-post {margin-top: 2rem; white-space: nowrap; overflow-x:auto; font-size: 0; -ms-overflow-style: none; scrollbar-width: none;}
 .main_pick .pick-post::-webkit-scrollbar {display: none;}
@@ -658,7 +657,7 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 .cmt_wrap .comment_textarea .input_wrap{display: block;}
 .cmt_wrap .cmt_thumb {padding:0 2rem;}
 /* .cmt_wrap .cmt_thumb .imgUpload {margin:0 -1%;} */
-.cmt_wrap .doc_contactus {width: 100%; height: 15rem; padding: 1.5rem; margin:3rem 0 1rem;}
+.cmt_wrap textarea {width: 100%; height: 15rem; padding: 1.5rem; margin:3rem 0 1rem;}
 .cmt_wrap .doc_ans {width: 100%; height: 15rem; padding: 20px; font-size: 1.3rem; line-height: 1.6; color: #888; font-weight: 300; resize:none;}
 .cmt_wrap .txt_cnt {position: absolute; right: 1.6rem; bottom: 1.6rem; margin-top: 0;}
 .cmt_wrap .txt_cnt {position: absolute; right: 1.6rem; bottom: 1.6rem; margin-top: 0; color: #888;}
@@ -1190,7 +1189,7 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 .my .review .tbl_wrap .tbl.review_tbl td {padding-left: 0;}
 .my .review .tbl_wrap .tbl.review_tbl td textarea {height: 200px;}
 .my .review .tbl_wrap .tbl td .select {width: 400px;}
-.my .review .tbl_wrap .tbl td .txt_cnt {background: #fff; width: calc(100% - 3.0rem); position: absolute; bottom: 1.6rem; right: 1.5rem; margin-top: 0; padding:0.5rem 0 0.5rem; font-size: 1.3rem; text-align: right; color: #888;}
+.my .review .tbl_wrap .tbl td .txt_cnt {background: #fff; width: calc(100% - 3.0rem); position: absolute; bottom: 1.7rem; right: 1.5rem; margin-top: 0; padding:0.5rem 0 0.5rem; font-size: 1.3rem; text-align: right; color: #888;}
 .my .review .tbl_wrap .tbl td .rev_height, 
 .my .review .tbl_wrap .tbl td .rev_weight {border:1px solid #ddd; position: relative;}
 .my .review .tbl_wrap .tbl td .rev_height input, 

+ 6 - 5
src/main/webapp/ux/mo/js/common_m.js

@@ -778,11 +778,12 @@ $(document).ready(function () {
             popOpenScroll();
             $('.container').addClass('btPop_open');
             // autome.style.top  = autotop /10 + "vh";
-            if (autotop > 251) {
-                autome.style.top = 25.0 + "vh";
-            }else{
-                autome.style.top  = pxtop/10 + "vh";
-            }
+            // 210524 _ 임시 제거
+            // if (autotop > 251) {
+            //     autome.style.top = 25.0 + "vh";
+            // }else{
+            //     autome.style.top  = pxtop/10 + "vh";
+            // }
             return false;
         });
 

+ 1 - 1
src/main/webapp/ux/pc/css/layout.css

@@ -11,7 +11,7 @@ header .common_header {}
 .common_header{position:relative; background:#222222;color:#ffffff;min-width:1360px; box-sizing:border-box;}
 .common_header > * {color:#ffffff;}
 /*.common_header::before {content:''; position:absolute; left:0; right:0; bottom:-100px; width:100%; height:100px; background:inherit; z-index:1;}*/
-.common_header .hd_top_banner {position: relative; z-index: 99; text-align:center;}
+.common_header .hd_top_banner {position: relative; z-index: 101; text-align:center;}
 .common_header .hd_top_banner .close_bnr_area {position:absolute; right:50px; top:15px; z-index:9;} 
 .common_header .hd_top_banner .close_bnr_area::after {content:''; clear:both; display:block;}
 .common_header .hd_top_banner .close_bnr_area .form_wrap {float:left; display:inline-block;}

+ 7 - 0
src/main/webapp/ux/pc/css/main.css

@@ -97,6 +97,11 @@
 .post-visual .swiper-slide-active .txtWrap dl, 
 .post-visual .swiper-slide-active .txtWrap dl + .btn {opacity:1;}
 .post-visual .swiper-slide{width:auto;/* margin-right:440px !important; */}
+.post-visual .swiper-slide{
+	max-width: 1120px;
+    max-height: 700px;
+    overflow: hidden;
+}
 .post-visual .swiper-button-next,
 .post-visual .swiper-button-prev {display:inline-block; position:absolute; top:50%; transform:translateY(-50%);}
 .main .post-visual .swiper-button-prev {margin-left:-610px; left:50%;}
@@ -133,6 +138,8 @@
 	margin:0px auto;
 	display:block;
 	z-index:2;
+	width: 100%;
+    height: auto;
 }
 .post-visual .swiper-slide::before{
 	box-shadow:0 -20px 20px -20px rgba(0,0,0,0.20);