Browse Source

Merge branch 'develop' into bin2107

bin2107 5 năm trước cách đây
mục cha
commit
c403dd2d5e

+ 9 - 0
src/main/java/com/style24/front/biz/dao/TsfGoodsDao.java

@@ -419,4 +419,13 @@ public interface TsfGoodsDao {
 	 * @date 2021. 05. 12
 	 */
 	Collection<GoodsStock> getGoodsOptionInfoList(GoodsStock param);
+
+	/**
+	 * 상품 구매등급 조회
+	 * @param goods
+	 * @return
+	 * @author xodud1202
+	 * @since 2020. 05. 20
+	 */
+	Collection<Goods> getGoodsDetailOrderGradeList(Goods goods);
 }

+ 49 - 0
src/main/java/com/style24/front/biz/service/TsfCartService.java

@@ -78,6 +78,7 @@ public class TsfCartService {
 			login = TsfSession.getInfo();
 		} else {
 			login.setCustNo(0);
+			login.setCustGrade("G110");
 		}
 
 		String goodsType = params.iterator().next().getGoodsType();
@@ -127,6 +128,30 @@ public class TsfCartService {
 						return result;
 					}
 
+					// 상품 구매 가능 등급 조회
+					Collection<Goods> gradeList = goodsDao.getGoodsDetailOrderGradeList(goods);
+					// 구매가능 등급이 없으면 전체 구매 가능
+					if(gradeList != null && gradeList.size() > 0) {
+						// 구매가능 등급이 존재하면 비회원은 구매 불가. 회원은 등급체크.
+						if(login.getCustNo() > 0) {
+							boolean chkGrade= false;
+							for(Goods grade : gradeList) {
+								if(grade.getCustGrade().equals(login.getCustGrade())) {
+									chkGrade = true;
+								}
+							}
+
+							// 구매가능 등급이 아니면 장바구니 등록 X
+							if(!chkGrade) {
+								result.put("message", "해당 상품을 구매 하실 수 없는 등급입니다.");
+								return result;
+							}
+						} else {
+							result.put("message", "해당 상품을 구매 하실 수 없는 등급입니다.");
+							return result;
+						}
+					}
+
 					// 상품 재고 확인
 					GoodsStock checkParam = new GoodsStock();
 					checkParam.setGoodsCd(param.getGoodsCd());
@@ -188,6 +213,30 @@ public class TsfCartService {
 					return result;
 				}
 
+				// 상품 구매 가능 등급 조회
+				Collection<Goods> gradeList = goodsDao.getGoodsDetailOrderGradeList(goods);
+				// 구매가능 등급이 없으면 전체 구매 가능
+				if(gradeList != null && gradeList.size() > 0) {
+					// 구매가능 등급이 존재하면 비회원은 구매 불가. 회원은 등급체크.
+					if(login.getCustNo() > 0) {
+						boolean chkGrade= false;
+						for(Goods grade : gradeList) {
+							if(grade.getCustGrade().equals(login.getCustGrade())) {
+								chkGrade = true;
+							}
+						}
+
+						// 구매가능 등급이 아니면 장바구니 등록 X
+						if(!chkGrade) {
+							result.put("message", "해당 상품을 구매 하실 수 없는 등급입니다.");
+							return result;
+						}
+					} else {
+						result.put("message", "해당 상품을 구매 하실 수 없는 등급입니다.");
+						return result;
+					}
+				}
+
 				// 상품 재고 확인
 				GoodsStock checkParam = new GoodsStock();
 				checkParam.setGoodsCd(param.getGoodsCd());

+ 18 - 17
src/main/java/com/style24/front/biz/service/TsfOrderService.java

@@ -354,14 +354,6 @@ public class TsfOrderService {
 					result.setOrdNo(Integer.parseInt(request.getParameter("ordr_idxx")));
 					result.setPayMeans(param.getPayMeans());
 				} else {
-					if(TscConstants.FrontGb.MOB.value().equals(TsfSession.getFrontGb()) && StringUtils.isNotEmpty(request.getParameter("param_opt_3"))) {
-						param.setPgOrdNo(request.getParameter("ordr_idxx"));
-						param.setOrdNo(Integer.parseInt(request.getParameter("param_opt_3")));
-					} else if(TscConstants.FrontGb.PC.value().equals(TsfSession.getFrontGb())) {
-						param.setPgOrdNo(request.getParameter("ordr_idxx"));
-						param.setOrdNo(param.getOrgOrdNo());
-					}
-
 					// 일반 KCP 결제
 					result = coreKcpService.kcpPayRequest(param, request, response);
 				}
@@ -391,11 +383,8 @@ public class TsfOrderService {
 				result.setPayGb(param.getPayGb());
 			}
 
-			result.setPaySq(param.getPaySq());
-			result.setOrdChgSq(param.getOrdChgSq());
-
 			// TB_PAYMENT 등록. 실패시 PG 환불.
-			if(coreOrderDao.insertPayment(result) < 1) {
+			if(coreOrderDao.updatePaymentOrderComplete(result) < 1) {
 				if(TscConstants.PgGb.KCP.value().equals(param.getPgGb()) || TscConstants.PgGb.PAYCO.value().equals(param.getPgGb())) {
 					if(TscConstants.PayMeans.GIFTCARD.value().equals(param.getPayMeans())) {
 						// 상품권 100% 결제 (PG PASS)
@@ -496,15 +485,28 @@ public class TsfOrderService {
 		// TB_PAYMENT 우선 입력
 		Payment prePay = new Payment();
 		prePay.setOrdNo(order.getOrdNo());
-		prePay.setPgGb(order.getPgGb());
 		prePay.setPayMeans(order.getPayMeans());
-
+		prePay.setPayAmt(order.getPayAmt());
+		prePay.setPayStat(TscConstants.PaymentStat.PAYMENT_WAIT.value());
+		prePay.setPgGb(order.getPgGb());
+		prePay.setCustNo(order.getCustNo());
+		prePay.setRegNo(order.getCustNo());
+		prePay.setUpdNo(order.getCustNo());
 
 		// 상품권 100% 결제일 경우 PgGb STYLE24로 변경
-		if(TscConstants.PayMeans.CREDIT_CARD.value().equals(order.getPayMeans())) {prePay.setPgGb(TscConstants.PgGb.ISTYLE.value());}
+		if(TscConstants.PayMeans.GIFTCARD.value().equals(order.getPayMeans())) {prePay.setPgGb(TscConstants.PgGb.ISTYLE.value());}
+
+		// 주문데이터인지, 추가배송비 결제 데이터인지 확인
+		if(order.getOrdChgSq() != null && order.getOrdChgSq() > 0) {
+			prePay.setPayGb("D");
+			prePay.setOrdChgSq(order.getOrdChgSq());
+		} else {
+			prePay.setPayGb("O");
+		}
 
-		// TODO TB_PAYMENT INSERT
+		coreOrderDao.insertPayment(prePay);
 
+		// PG 송부 데이터 세팅
 		Payment payment;
 		order.setFrontGb(TsfSession.getFrontGb());
 		if(TscConstants.PgGb.KAKAO.value().equals(order.getPgGb())) {			// 카카오페이
@@ -519,7 +521,6 @@ public class TsfOrderService {
 			throw new IllegalArgumentException("결제타입이 잘못 선택되었습니다. 새로고침 후 다시 시도해주세요.");
 		}
 
-		// TODO TB_PAYMENT INSERT
 		payment.setPgGb(order.getPgGb());
 		payment.setPayMeans(order.getPayMeans());
 		return payment;

+ 2 - 2
src/main/java/com/style24/front/biz/service/TsfPlanningService.java

@@ -145,9 +145,9 @@ public class TsfPlanningService {
 		}
 		
 		if (TsfSession.isLogin()) {
-			
+			String grade = TsfSession.getInfo().getCustGrade();
 			// 신규회원접근가능여부 조회
-			if (TsfSession.getInfo().getCustGrade().equals("G110_50")) {
+			if (grade.equals("G110_50")) {
 				plan.setCustNo(TsfSession.getInfo().getCustNo());
 				if ("N".equals(planningDao.getNewCustomerAccessibleYn(plan))) {
 					msg = "신규회원만 접근 가능합니다.";

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

@@ -109,6 +109,7 @@ public class Review extends TscBaseDomain {
 	private String kmcKey;
 	private String kufKey;
 	private Integer rvAtcSq;
+	private String ordDt;
 	
 	private Integer custPntSq;		// 고객포인트일련번호
 	private int gvPntAmt;			// 지급포인트금액

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

@@ -3020,4 +3020,16 @@
 		    AND W.CUST_NO = #{custNo}
 		</if>
 	</select>
+
+	<!-- 상품 등급 리스트 조회 -->
+	<select id="getGoodsDetailOrderGradeList" parameterType="Goods" resultType="Goods">
+		/* TsfGoods.getGoodsDetailOrderGradeList */
+		SELECT  G.GOODS_CD
+			 , A.CUST_GRADE
+			 , FN_GET_CODE_NM('G101', A.CUST_GRADE) AS CUST_GRADE_NAME
+		FROM TB_GOODS_ORDER_GRADE A
+				 INNER JOIN TB_GOODS G ON A.GOODS_CD = G.GOODS_CD
+		WHERE A.GOODS_CD = #{goodsCd}
+		ORDER BY G.GOODS_CD, A.CUST_GRADE
+	</select>
 </mapper>

+ 3 - 4
src/main/java/com/style24/persistence/mybatis/shop/TsfReview.xml

@@ -1021,7 +1021,7 @@
 		             , Z.ADM_RPL
 		             , Z.ADM_RPL_REG_NO
 		             , Z.ADM_RPL_DT
-		             , ROW_NUMBER() OVER(ORDER BY Z.REG_DT DESC) AS RNUM
+		             , ROW_NUMBER() OVER(ORDER BY Z.ORD_DT DESC) AS RNUM
 		       FROM (SELECT O.ORD_NO
 		                  , DATE_FORMAT(O.ORD_DT, '%Y.%m.%d') AS ORD_DT
 		                  , DATE_FORMAT(O.PAY_DT, '%Y-%m-%d') AS PAY_DT 
@@ -1148,9 +1148,8 @@
 		  LEFT OUTER JOIN TB_COLOR C ON ODI.OPT_CD1 = C.COLOR_CD
 		                               AND C.USE_YN = 'Y'
 		     WHERE 1=1
-		   AND O.PAY_DT >  DATE_FORMAT(DATE_ADD(CURRENT_DATE(), INTERVAL  #{reviewExpireDay} DAY), '%Y%M%D%H%I%S') 
+		   AND O.ORD_DT >  DATE_FORMAT(DATE_ADD(CURRENT_DATE(), INTERVAL  #{reviewExpireDay} DAY), '%Y%M%D%H%I%S') 
 		   AND O.CUST_NO =  #{custNo}
-		   AND O.DISP_YN = 'Y'
 		   AND R.CONFIRM_YN = 'Y'
 		   AND OD.ORD_DTL_NO IN (SELECT R.ORD_DTL_NO FROM TB_REVIEW R WHERE R.DEL_YN = 'N' AND DISP_YN = 'Y' AND R.ORD_NO = O.ORD_NO AND R.ORD_DTL_NO = OD.ORD_DTL_NO AND R.CUST_NO = #{custNo})
 		   AND O.SITE_CD =  #{siteCd}
@@ -1160,7 +1159,7 @@
 		        , Z.SAVE_PNT_AMT, Z.CNCL_RTN_AMT, Z.PNT_DC_AMT, Z.GFCD_USE_AMT, Z.INVOICE_NO
 		        , Z.SUPPLY_COMP_CD, Z.DELV_FEE_CD, Z.SHOT_DELV_YN, Z.CHANGEABLE_YN, Z.SELF_GOODS_YN, Z.BRAND_NM, Z.BRAND_ENM, Z.ORD_DTL_STAT_NM
 		        , Z.ORD_REQ_CHG_QTY, Z.ORD_CAN_CHG_QTY, Z.REVIEW_SQ 
-		ORDER BY Z.ORD_NO DESC, Z.ORD_DTL_STAT, Z.SELF_GOODS_YN DESC, Z.SHOT_DELV_YN DESC, Z.SUPPLY_COMP_CD
+		ORDER BY Z.ORD_NO DESC
 		<include refid="selectForPagingFooter"/>
 		</select>
 	

+ 95 - 9
src/main/webapp/WEB-INF/views/mob/goods/GoodsDetailFormMob.html

@@ -626,13 +626,19 @@
 			<div class="riview_box" th:if="${reviewDisplayYn == 'Y'}">
 				<div class="ex_review">
 					<a href="javascript:void(0);" id="btn_pdReview_pop" th:onclick="cfGoodsReview([[${goodsInfo.goodsCd}]])">	
-						<span class="tit">리뷰 <em class="number">(<th:block  th:text="${(goodsInfo.reviewRegCnt <= 9999) ? #numbers.formatInteger(goodsInfo.reviewRegCnt, 0,'COMMA')  : '9,999+'}"></th:block>)</em></span>
+						<span class="tit">리뷰<em class="number">(<th:block  th:text="${(goodsInfo.reviewRegCnt <= 9999) ? #numbers.formatInteger(goodsInfo.reviewRegCnt, 0,'COMMA')  : '9,999+'}"></th:block>)</em></span>
 						<div class="star_score" th:if="${goodsInfo.reviewRegCnt  > 0 }">
 							<span class="star" th:with="starScore=${#numbers.formatDecimal((goodsInfo.score*100/5), 0,0)}">
 								<em class="progbar" th:style="${'width:'+starScore+'%;' }"></em> <!-- 평점 style로 표기 -->
 							</span>
 							<span class="score" th:text="|${goodsInfo.score}점|">4.3점</span>
 						</div>
+						<div class="star_score" th:unless="${goodsInfo.reviewRegCnt  > 0 }">
+							<span class="star">
+								<em class="progbar" style="width:0%;"></em> <!-- 평점 style로 표기 -->
+							</span>
+							<span class="score">0점</span>
+						</div>
 					</a>
 				</div>
 				<div class="area_slider" id="btn_pdBestReview_pop" th:if="${bestReviewList != null and !bestReviewList.empty}">
@@ -723,7 +729,7 @@
 				</div>
 				<!-- //이상품과 함께 본 상품영역-->
 				<!-- STYLE24의 스타일링 추천 -->
-				<div class="pd_recommend" th:if="${lookbookList != null and !lookbookList.empty}">
+				<div class="pd_recommend" th:if="${lookbookList != null and !lookbookList.empty}" th:with="ithrCd=aa , contentsLoc=bb" >
 					<h3 class="tit">STYLE24의 스타일링 추천</h3>
 					<!-- 상품이미지pic -->
 					<div class="area_slider pic_img" >
@@ -738,7 +744,7 @@
 														th:each="lookbookGoods, goodsStatus : ${lookbook.lookbookGoodsList}">
 											<div class="item_picker" th:style="${'left:'+lookbookGoods.xlim+'%; top:'+lookbookGoods.ylim+'%;'}" >
 												<div>
-													<button type="button"><span class="ico ico_picker"></span></button>
+													<button type="button" th:onclick="fnLookbookPicker(this,[[${lookbookGoods.goodsCd}]]);"><span class="ico ico_picker"></span></button>
 													<div class="pick_descr">
 														<a href="javascript:void(0)"><th:block th:text="${lookbookGoods.goodsFullNm}"></th:block></a>
 													</div>
@@ -756,7 +762,7 @@
 					</div>
 					<!-- //상품이미지pic -->
 					<!-- 상품이미지pic 리스트 -->
-					<div class="area_slider pic_list"  th:with="ithrCd=aa , contentsLoc=bb ">
+					<div class="area_slider pic_list" >
 						<div class="box"  th:each="lookbook, status : ${lookbookList}">
 							<div class="swiper-container"  th:if="${lookbook.lookbookGoodsList != null and !lookbook.lookbookGoodsList.empty}">
 								<div class="swiper-wrapper">
@@ -1594,8 +1600,8 @@
 					let soldoutYn = ""; 
 					let disabledYn = "";
 					let saleQty = (Number(qty) * Number(minOrdQty));
-					if ("Y" == item.soldoutYn || Number(item.stockQty) <= Number(saleQty)) soldoutYn = "true";
-					if (soldoutYn == "true" || item.goodsStat !=  'G008_90') disabledYn= "true";
+					if ("Y" == item.soldoutYn || Number(item.stockQty) < Number(saleQty)) soldoutYn = "true";
+					if (soldoutYn == "true") disabledYn= "true";
 					if (selfGoodsYn == "Y"){
 						tag += '<li aria-disabled="'+disabledYn+'" data-soldout="'+soldoutYn +'" onclick="fnViewStockSet(this, \''+ item.goodsCd+'\' , \''+ item.optCd+'\' , \''+ item.optCd1+'\' , \''+ item.optCd2+'\', \''+ minOrdQty+'\', \''+ maxOrdQty+'\')">\n';	
 					}else{
@@ -1996,7 +2002,77 @@
 			cfnAddCart(params);	
 		} */
 	}
-	 
+	
+	
+	//룩북 피커 선택시 레이어 노출
+	var fnLookbookPicker = function(obj,goodsCd){
+		let $obj = $(obj);
+		var str = '<div class="modal fade" id="reco_pop" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">\n';
+		//let $target = $obj.parent().parent().parent().find('.item_prod');
+		let $target = $('.pic_list').find('.item_prod');
+		
+		let goodsImg = '';
+		let brandName = '';
+		let goodsName = '';
+		let currPrice = '';
+		let listPrice = '';
+		let dcRate = '';
+		let soldout = '';
+		
+		$target.each(function(){
+			if ($(this).attr('goodsCd') == goodsCd) {
+				
+				if ($(this).hasClass('unable')) soldout = 'sold_out';
+				
+				goodsImg = $(this).find('.itemPic').children('.pd_img').attr('src');
+				brandName = $(this).find('.itemBrand').text();
+				goodsName = $(this).find('.itemName').text();
+				currPrice = $(this).find('.itemPrice').text();
+				return false;
+			}
+		});
+		
+		if (gagajf.isNull(goodsName)){
+			return false;
+		}
+		
+		$("#reco_pop").remove();
+		
+		let tag = '';
+		tag += '	<div class="modal-dialog" role="document">\n';
+		tag += '		<div class="modal-content">\n';
+		tag += '			<div class="modal-header">\n';
+		tag += '				<h5 class="modal-title"><span class="sr_only">제품정보</span></h5>\n';
+		tag += '			</div>\n';
+		tag += '			<div class="modal-body">\n';
+		tag += '				<div class="itemsGrp rowtype">\n';
+		tag += '					<div class="item_prod '+ soldout+'"> <!-- 품절일때 sold_out 클래스 추가 요청 -->\n';
+		tag += '						<div class="item_state">\n';
+		tag += '							<a href="javascript:void(0);" class="itemLink" onclick="cfnGoToGoodsDetail(\''+goodsCd+'\',\'\',\'\')">\n';
+		tag += '								<div class="itemPic">\n';
+		tag += '									<img alt="BLACK-a" class=" vLHTC pd_img" src="'+goodsImg +'?RS=70"  onerror="this.src=\'/images/pc/thumb/bg_item_none.png\'">\n';
+		tag += '								</div>\n';
+		tag += '								<p class="itemBrand">'+brandName+'</p>\n';
+		tag += '								<div class="itemName">'+goodsName+'</div>\n';
+		tag += '								<p class="itemPrice">\n';
+		tag += '									'+currPrice+'\n';
+		tag += '								</p>\n';
+		tag += '							</a>\n';
+		tag += '						</div>\n';
+		tag += '					</div>\n';
+		tag += '				</div>\n';
+		tag += '			</div>\n';
+		tag += '		</div>\n';
+		tag += '	</div>\n';
+		tag += '	<a href="javascript:void(0);" rel="modal:close" onclick="cfCloseLayer(\'recoPop\')" class="close-modal">Close</a>\n';
+		
+		
+		if ($('#reco_pop').length == 0) {
+			$('body').append(str+tag+'</div>');
+			$('#reco_pop').modal("show");
+		}
+	}
+	
 	$(document).ready( function() {
 		
 		$('.timer_box').css('display', 'none');
@@ -2089,7 +2165,7 @@
 			observeParents: true,
 			slidesPerView: 1,
 			spaceBetween: 8,
-			loop: true,
+			//loop: true,
 			pagination: {
 				el: '.swiper-pagination',
 				type: 'fraction',
@@ -2279,13 +2355,23 @@
 		// ep 쿠폰확인
 		fnEpCouponDown([[${afLinkCd}]], [[${params.goodsCd}]], 1);
 		
-		
 		$('.Purchase_pop .btPop_close').click(function(){
 			$('html, body').css({'overflow': 'visible', 'height': '100%'});
 			$('.container').removeClass('btPop_open');
 			autome.style.top  = 100 + "%";
 			return false;
 		}); 
+		
+		// 픽커모달
+		$(document).on('click','.item_picker',function(e){
+            //$("#reco_pop").modal("show");
+			$("body").addClass("recoPop");
+            return false;
+        });
+		$(document).on('click','#reco_pop .close-modal',function(e){
+			$("body").removeClass("recoPop");
+            return false;
+        });
 		 
 	});
 	

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

@@ -55,7 +55,7 @@
 		</div>
 		</th:block>
 		<!-- 착용정보 있을 시 노출 -->
-		<th:block th:if="${not #strings.isEmpty(goodsInfo.sizeGb)}">
+		<th:block th:if="${not #strings.isEmpty(goodsInfo.sizeGb) and goodsInfo.reviewRegCnt > 0}">
 		<div class="average">
 			<div class="part_average" th:with="scoreSize1=${#numbers.formatDecimal((goodsInfo.scoreSize1*100/goodsInfo.reviewRegCnt), 0,0)}
 												, scoreSize2=${#numbers.formatDecimal((goodsInfo.scoreSize2*100/goodsInfo.reviewRegCnt), 0,0)}
@@ -478,7 +478,7 @@
 			<!-- //포토영상 게시글 최대 7개 & 버튼노출 -->
 		</div>
 	</div>
-	<div class="area_rv_all" style="display:block;">
+	<div class="area_rv_all" style="display:none;">
 	<form id="goodsReviewForm" name="goodsReviewForm" action="#" th:action="@{'/goods/review/list'}">
 	<input type="hidden" name="pageNo" value ="1"/>
 	<input type="hidden" name="pageSize" value ="20"/>
@@ -507,7 +507,7 @@
 						<!-- 평점,사이즈,키,몸무게 카테고리 -->
 						<div class="category" id="grade">
 							<ul class="n1">
-								<li><a href="javascript:void(0)" data="평점 전체" onclick="fnReviewSearch('A','');">전체</a></li>
+								<li class="active"><a href="javascript:void(0)" data="평점 전체" onclick="fnReviewSearch('A','');">전체</a></li>
 								<li><a href="javascript:void(0)" data="5점" onclick="fnReviewSearch('A','5');">5점&nbsp;★★★★★</a></li>
 								<li><a href="javascript:void(0)" data="4점" onclick="fnReviewSearch('A','4');">4점&nbsp;★★★★</a></li>
 								<li><a href="javascript:void(0)" data="3점" onclick="fnReviewSearch('A','3');">3점&nbsp;★★★</a></li>
@@ -818,7 +818,7 @@
 			observeParents: true,
 			slidesPerView: 1,
 			spaceBetween: 8,
-			loop: true,
+			//loop: true,
 			pagination: {
 				el: '.swiper-pagination',
 				type: 'fraction',

+ 1 - 3
src/main/webapp/WEB-INF/views/mob/order/OrderFormMob.html

@@ -1257,18 +1257,16 @@ var paymentInfoSet = function() {
 							xhr.setRequestHeader('Content-Type'	, 'application/json');
 						},
 						success 	: function(result) {
-							
 							// 결재정보로드
 							$("#order_info").html(result);
-							$("#order_info input[name=Ret_URL]").val("http:" + _frontUrl + "/order/pay/result/response");
 							
 							var pgGb = $("#order_info input[name=pgGb]").val();
-
 							if (pgGb == "NAVER") {
 								fnNaverPaymentReady();
 							} else if (pgGb == "KAKAO") {
 								fnKakaoPaymentReady();
 							} else if (pgGb == "KCP" || pgGb == "PAYCO") {
+								$("#order_info input[name=Ret_URL]").val(_frontUrl + "/order/pay/result/response");
 								kcp_AJAX();
 							}
 						}

+ 3 - 3
src/main/webapp/WEB-INF/views/mob/planning/PlanningDetailFormMob.html

@@ -116,7 +116,6 @@
 							</div>
 							<!-- 댓글 -->
 							<div class="cmt_group" id="replyList">
-								
 							<!-- 	<div class="paging_wrap">
 									<ul class="pageNav">
 										<li class="prev"><a href="#"><span class="sr-only">이전</span></a></li>
@@ -922,6 +921,7 @@ var fnTextConfirm = function() {
 }
 
 
+
 $(document).ready(function(){
 	if(plan.planGb == "P"){
 		$('#htopTitle').text('기획전');
@@ -946,6 +946,7 @@ $(document).ready(function(){
 	$(document).on('click','.pop_open_btn',function(){
 		$('.modal.photo_comment_popup .pop_detail').toggleClass('active');
 	});
+
 	
 	//상단 빅배너 슬라이드
 	var big_banner_slide = new Swiper('.big_banner_slide .swiper-container', {
@@ -1022,7 +1023,7 @@ $(document).ready(function(){
 		//animate()메서드를 이용해서 선택한 태그의 스크롤 위치를 지정해서 0.4초 동안 부드럽게 해당 위치로 이동함 
 		$('html').animate({scrollTop : offset.top}, 400);
 	});
-    
+   
  	// Full size Popup
 /* 	$(document).on('click','.cmt_wrap .cmt_cont .pics',function(){
 		$("#photo_full_popup").modal("show");
@@ -1041,7 +1042,6 @@ $(document).ready(function(){
         } else {
             $('.dp .dp_listItems_wrap .items_option').removeClass('fix');
         }
-
 	});
 	
 	//210510_추가 : 토스트 팝업 button 클릭 시 팝업 닫기.

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

@@ -371,7 +371,7 @@
 							</div>
 							<div style="margin-top:10px;">
 								<th:block th:with="buttonKey=${@environment.getProperty('naverPay.button.key')}">
-									<script type="text/javascript" src="http://pay.naver.com/customer/js/naverPayButton.js" charset="UTF-8"></script>
+									<script type="text/javascript" src="https://pay.naver.com/customer/js/naverPayButton.js" charset="UTF-8"></script>
 									<script type="text/javascript" >
 										/*버튼설정*/
 										naver.NaverPayButton.apply({
@@ -563,6 +563,12 @@
 													</span>
 													<span class="score"><em th:text="${goodsInfo.score}">4.3</em>점</span>
 												</div>
+												<div class="star_score" th:unless="${goodsInfo.reviewRegCnt  > 0 }">
+													<span class="star" >
+														<em class="progbar" style="width:0%;"></em> <!-- 평점 style로 표기 -->
+													</span>
+													<span class="score"><em>0</em>점</span>
+												</div>
 											</a>
 										</div>
 										<!-- 베스트 리뷰 등록시 노출 -->
@@ -1647,8 +1653,8 @@
 					let soldoutYn = ""; 
 					let disabledYn = "";
 					let saleQty = (Number(qty) * Number(minOrdQty));
-					if ("Y" == item.soldoutYn || Number(item.stockQty) <= Number(saleQty)) soldoutYn = "true";
-					if (soldoutYn == "true" || item.goodsStat !=  'G008_90') disabledYn= "true";
+					if ("Y" == item.soldoutYn || Number(item.stockQty) < Number(saleQty)) soldoutYn = "true";
+					if (soldoutYn == "true") disabledYn= "true";
 					if (selfGoodsYn == "Y"){
 						tag += '<li aria-disabled="'+disabledYn+'" data-soldout="'+soldoutYn +'" onclick="fnViewStockSet(this, \''+ item.goodsCd+'\' , \''+ item.optCd1+'\' , \''+ item.optCd2+'\', \''+ minOrdQty+'\', \''+ maxOrdQty+'\')">\n';	
 					}else{

+ 2 - 2
src/main/webapp/WEB-INF/views/web/mypage/MypageReviewFormWeb.html

@@ -153,7 +153,7 @@
 				html += '								<img src="' + _uploadGoodsUrl + '/' + item.sysImgNm + '?RS=550"  width="100%" alt="">  ';
 				html += '							</span>                                                                                       ';
 				html += '							<p>                                                                                           ';
-				html += '								<span class="buy_date"><em>'+item.payDt+'</em>&nbsp;구매</span>             ';
+				html += '								<span class="buy_date"><em>'+item.ordDt+'</em>&nbsp;구매</span>             ';
 				html += '							</p>                                                                                          ';
 				html += '							<p>                                                                                           ';
 				html += '								<span class="brand">'+item.brandNm+'</span>                               ';
@@ -216,7 +216,7 @@
 				html+='									<img src="' + _uploadGoodsUrl + '/' + item.sysImgNm + '?RS=550" width="100%" alt="">';
 				html+='								</span>';
 				html+='								<p>';
-				html+='									<span class="buy_date"><em>'+item.payDt+'</em>&nbsp;구매</span>';
+				html+='									<span class="buy_date"><em>'+item.ordDt+'</em>&nbsp;구매</span>';
 				html+='								</p>';
 				html+='								<p>';
 				html+='									<span class="brand">'+item.brandNm+'</span>';

+ 2 - 2
src/main/webapp/WEB-INF/views/web/planning/PlanningDetailFormWeb.html

@@ -260,7 +260,7 @@ if(planCornerList.length>0){
 	html += '     <div class="sticky_nav">';
 	html += '         <ul>    ';
 	$.each(planCornerList, function(idx, item)  {
-		html += '             <li><a href="#brand'+idx+'">'+item.cornerNm+'</a></li>';
+		html += '             <li><a href="#brand'+(idx+1)+'">'+item.cornerNm+'</a></li>';
 	})
 	
 	html += '         </ul>';
@@ -269,7 +269,7 @@ if(planCornerList.length>0){
 	html += '<div class="cont_body">';
 	html += '     <div class="list_content">';
 	$.each(planCornerList, function(idx, item)  {
-		html += '         <div id="brand'+idx+'">';
+		html += '         <div id="brand'+(idx+1)+'" class="dp_item_list">';
 		html += '             <div class="item_header">';
 		html += '                 <h4>'+item.cornerNm+'</h4>';
 		html += '             </div>';

+ 2 - 1
src/main/webapp/biz/payment.js

@@ -42,7 +42,8 @@ function call_pay_form()
 	// 인코딩 방식에 따른 변경 Start
 	if(v_frm.encoding_trans == undefined) {
 		v_frm.action = PayUrl;
-	} else if(v_frm.encoding_trans.value == "UTF 8") {
+	} else if(v_frm.encoding_trans.value == "UTF-8") {
+		alert(PayUrl);
 		v_frm.action = PayUrl.substring(0, PayUrl.lastIndexOf("/")) + "/jsp/encodingFilter/encodingFilter.jsp";
 		v_frm.PayUrl.value = PayUrl;
 	} else {

+ 16 - 14
src/main/webapp/ux/mo/css/common_m.css

@@ -313,7 +313,7 @@ input[type="file"] {
   display: inline !important;float: left;margin: 0 10px 0 0;width: 7.2rem;height:7.2rem;
   border: 1px solid #dddddd;box-sizing: border-box;position: relative; overflow: hidden;
 }
-.pics.mov::after {content:''; position:absolute; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.3) url('/images/mo/ico_play.png') no-repeat 50% 50%; z-index:0;}
+.pics.mov::after {content:''; position:absolute; left:0; top:0; width:100%; height:100%; background:rgba(221,221,221,1) url('/images/mo/ico_play.png') no-repeat 50% 50%; z-index:0;}
 .picsThumbs {
   width: auto;height: auto;max-height: 7.1rem;max-width:7.1rem;margin: auto 0;
   position: absolute;top: 50%;bottom: auto;left: 50%;right: 0;
@@ -567,7 +567,7 @@ top: 9px;border-color: transparent transparent #888888 transparent;}
 .ico_ft_arrow_b:before {content: ""; width:11px; height:11px; background-image: url('/images/mo/ico_ft_arrow.png'); transform: rotate(90deg);}
 .ico_ft_arrow_t:before {content: ""; width:11px; height:11px; background-image: url('/images/mo/ico_ft_arrow.png'); transform: rotate(-90deg);}
 .ico_kcl::before {content: ""; width:32px; height:50px; background-image: url('/images/mo/ico_kcl.png');}
-.ico_picker::before {content: ""; width:40px; height:40px; background:url(/images/mo/ico_picker.png) no-repeat 50% 50%;}
+.ico_picker::before {content: ""; width:100%; height:100%; background:url(/images/mo/ico_picker.png) no-repeat 50% 50%;}
 .ico_trash::before {content: ""; width:13px; height:16px; background:url(/images/mo/ico_trash.png) no-repeat 50% 50%;}
 .ico_like::before {content: ""; width: 19px;height:16px;background: url(/images/mo/ico_like.png) no-repeat 0% 50%; background-size:cover;}
 .active .ico_like::before {background-position:100% 50%;}
@@ -615,7 +615,7 @@ top: 9px;border-color: transparent transparent #888888 transparent;}
 /* btn active */
 .btn_default:hover, .btn_default:focus, 
 .btn_default:active, .btn_default.active, 
-.open > .tgl_dropdown.btn_default {background-color: #F5F5F5;border-color: #dddddd;color:#333333;}
+.open > .tgl_dropdown.btn_default {background-color: #fff;border-color: #dddddd;color:#333333;}
 .btn_dark:hover, .btn_dark:focus, 
 .btn_dark:active, .btn_dark.active, 
 .open > .tgl_dropdown.btn_dark {background-color: #2f2f2f;border-color: #2f2f2f;color:#ffffff;}
@@ -660,11 +660,11 @@ body.gnb_on {height: 100vh;overflow: hidden;}
 .inner {padding: 0 2.0rem 1.3rem 2.0rem;position: relative;}
 .inner.wide {padding: 0 0rem 1.3rem 0rem;position: relative;}
 .inner::after {content: '';display: block;clear: both;}
-.inner.bg_gray {background-color: #f5f5f5;}
-.inner.bg_beige {background-color: #ffeee7;}
-.inner.bg_dark {background-color: #222222;}
-.inner.bg_dark .titWrap>* {color: #ffffff;}
-.inner.bg_dark .titWrap a H2{color: #ffffff;}
+.inner.bg_gray {background-color: #f5f5f5 !important;}
+.inner.bg_beige {background-color: #ffeee7 !important;}
+.inner.bg_dark {background-color: #222222 !important;}
+.inner.bg_dark .titWrap>* {color: #ffffff !important;}
+.inner.bg_dark .titWrap a H2{color: #ffffff !important;}
 
 /* header, htop, btn_gnb, header.main, hmenu, bng, bnb */
 header {
@@ -848,7 +848,7 @@ header .hmenus .bnb ul > li > a{display: block; padding: 8px 0; font-size: 1.5re
 
 /* gnb */
 body.header-show .app .gnb{top: 50px;}
-.app .gnb {position: -webkit-sticky; position: sticky; top: 0px; padding-right: 50px; background-color: #000; z-index: 9; transition: top 0.3s; width: 100%;}
+.app .gnb {position: -webkit-sticky; position: sticky; top: 0px; padding-right: 50px; background-color: #000; z-index: 9; /*transition: top 0.3s;*/ width: 100%;}
 .app .gnb {background-color:#222222; position:relative; z-index:79;} /* layout_m 재확인 */
 .app .gnb.expand{padding-right: 30px;}
 
@@ -893,8 +893,8 @@ main.container .inner:last-child{padding-bottom: 6.0rem; margin-bottom: 0;}
 .fullHead img {width: 10.666rem; height:1.6rem;}
 .fullBody {background:#f5f5f5;min-height: calc(100% - 5.2rem);max-height: calc(100% - 5.2rem);overflow-y: scroll;}
 .fullBody .inner {background:#ffffff;margin:0;padding:0;}
-.fullBody .inner .flow{display: inline-block;width: 49.0%;height: 100%;vertical-align: top;padding:2.5rem 0;}
-.fullBody .inner .flow li{width:100%;height:3.1333rem;line-height:3.1333rem;padding:0 0 0 2rem;border: 0;box-sizing: border-box;text-align: left;display: inline-block;}
+.fullBody .inner .flow{display: inline-block;width: 100%;height: 100%;vertical-align: top;padding:2.5rem 0;}
+.fullBody .inner .flow li{width:49.0%;height:3.1333rem;line-height:3.1333rem;padding:0 0 0 2rem;border: 0;box-sizing: border-box;text-align: left;display: inline-block;}
 .fullBody .inner .flow span{font-size: 1.333rem;}
 .fullBody .btn_group {margin: 0;}
 .fullBody .btn_group div {margin:0;position: relative;}
@@ -905,11 +905,13 @@ main.container .inner:last-child{padding-bottom: 6.0rem; margin-bottom: 0;}
 /* Full메뉴_카테고리 */
 .fullBody .fullCate {padding: 0 0 2rem;margin-bottom: 1.2rem;}
 .fullBody .fullCate > li > ul {display: none; background: #f5f5f5;}
-.fullBody .fullCate > li > a {display: block; padding:1.6rem 2.0rem; font-size: 1.4rem; font-weight: 400;font-family: 'Noto Sans kr', sans-serif;}
+.fullBody .fullCate > li > a {position:relative;display: block; padding:1.6rem 2.0rem; font-size: 1.4rem; font-weight: 400;font-family: 'Noto Sans kr', sans-serif;}
+.fullBody .fullCate > li > a::after {content: '';display: inline-block;width: 2.0rem;height: 2.0rem;background: url(/images/mo/ico_full.png) no-repeat;background-size: 0.8rem 1.4rem;-webkit-transform: rotate(0deg);-moz-transform: rotate(0deg);-ms-transform: rotate(0deg);-o-transform: rotate(0deg);transform: rotate(0deg);position: absolute;right: 1.2rem;background-position: left center;}
 .fullBody .fullCate > li > a:hover span {color: #fd4802; border-bottom: 1px solid #fd4802;}
-.fullBody .fullCate > li.hasCate > a {background: url('/images/mo/ico_full.png') no-repeat right 2.0rem center;background-size: 0.8rem 1.4rem;}
-.fullBody .fullCate > li.hasCate > a.on {background: url('/images/mo/ico_full_on.png') no-repeat right 2.0rem center; background-size: 1.4rem 0.8rem; font-size: 1.4rem; color: #fd4802;}
+.fullBody .fullCate > li.hasCate > a::after {right: 1.8rem;background: url('/images/mo/ico_full.png') no-repeat;background-position: center;background-size: 0.8rem 1.4rem;-webkit-transform: rotate(90deg);-moz-transform: rotate(90deg);-ms-transform: rotate(90deg);-o-transform: rotate(90deg);transform: rotate(90deg);}
+.fullBody .fullCate > li.hasCate > a.on {font-size: 1.4rem; color: #fd4802;}
 .fullBody .fullCate > li.hasCate > a.on span {border-bottom: 1px solid #fd4802;}
+.fullBody .fullCate > li.hasCate > a.on::after {background: url('/images/mo/ico_full_on.png') no-repeat;background-size: 1.4rem 0.8rem; background-position: center;-webkit-transform: rotate(0deg);-moz-transform: rotate(0deg);-ms-transform: rotate(0deg);-o-transform: rotate(0deg);transform: rotate(0deg);}
 .fullBody .fullCate > li.hasCate > ul {padding: 1.5rem 0;}
 .fullBody .fullCate > li.hasCate > ul > li > a {display: block; font-size: 1.3rem; color: #888; padding:0.87rem 4.3rem;}
 .fullBody .fullCate > li.hasCate > ul > li > a:hover span {color: #fd4802; border-bottom: 1px solid #fd4802;}

+ 32 - 38
src/main/webapp/ux/mo/css/layout_m.css

@@ -397,7 +397,7 @@
 /* 슬라이드아이템*/
 .item_prod {display: inline-block;font-size: 0px;vertical-align: top;color: rgb(31, 31, 31);position: relative;letter-spacing: -0.025em;}
 .item_prod .item_state {position: relative; padding:0; box-sizing: border-box;}
-.item_prod .item_state.soldout .itemPic:before {content:'SOLD OUT'; position: absolute; top: 50%; left: 50%; font-size: 2.0rem; font-weight: 500; color:#fff; background: rgba(0,0,0,.7); width: 100%; height: auto; transform:translate(-50%, -50%); line-height: 12; z-index: 20; text-align: center;}
+.item_prod .item_state.soldout .itemPic:before {content:'SOLD OUT'; position: absolute; top: 50%; left: 50%; font-size: 2.0rem; font-weight: 500; color:#fff; background: rgba(0,0,0,.7); width: 100%; height: 100%; transform:translate(-50%, -50%); line-height: 12; z-index: 20; text-align: center;}
 .item_prod .item_state.AD .itemPic:before {content:'AD'; position: absolute; bottom: 0.666rem; right: 0.666rem; font-size: 1rem; font-weight: 300; letter-spacing: -0.025em; color:#888888; width: auto; height: auto; line-height: 1rem; z-index: 21; text-align: right;}
 
 .item_prod .itemLike {position: absolute;top:1rem;right:1rem;font-size: 0px;z-index: 19;width: 1.7rem;height: 1.7rem; background: url('/images/mo/ico_like.png');background-size: 3.4rem;background-position:0px 0px;background-repeat: no-repeat;}
@@ -410,7 +410,7 @@
 /* .item_prod .itemLike.active::before {opacity: 1;} */
 .itemLike.likeit::before {opacity: 1;}
 .item_prod .itemLink {position: relative;text-decoration: none;color: rgb(102, 102, 102);cursor: pointer;display: block;}
-.item_prod .itemPic {position: relative;width: 100%;margin-bottom: 1.5rem;padding-top: 150%;font-size: 0px;overflow: hidden; background-color: #fff;}
+.item_prod .itemPic {position: relative;width: 100%;margin-bottom: 1.5rem;padding-top: 150%;font-size: 0px;overflow: hidden; background-color: #f9f9f9;}
 /*.item_prod .itemPic::after {content: "";display: block;position: absolute;top: 0px;left: 0px;width: 100%;height: 100%;opacity: 0.03;background-color: rgb(0, 0, 0);}*/
 .item_prod .itemPic .pd_img {position: absolute;width: 100%;height: auto;top: 50%;left: 0px;transform: translateY(-50%);}
 .item_prod .itemPic .pd_mov {position: absolute;width: 100%;height: 100%;top: 50%;left: 0px;transform: translateY(-50%);z-index: 2;}
@@ -786,7 +786,7 @@
 .pd_detail .pd_recommend .item_picker > div button{position: absolute; width: 100%; height: 100%; top: 0; left: 0;}
 .pd_detail .pd_recommend .item_picker > div .pick_descr{display:none;}
 .pd_detail .pd_recommend .pic_img{margin:0 -2rem 2rem;}
-.pd_detail .pd_recommend .pic_list .item_prod .itemName{display: block;max-height: 3.3rem; display: -webkit-box; text-overflow: ellipsis; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: normal; overflow-wrap: break-word;  width: calc(100% - 10%);}
+.pd_detail .pd_recommend .pic_list .item_prod .itemName{display: block; min-height:3rem; max-height: 3.3rem; display: -webkit-box; text-overflow: ellipsis; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: normal; overflow-wrap: break-word;  width: calc(100% - 10%);}
 .pd_detail .pd_recommend .pic_list .btn_group_flex{margin-top:3rem;}
 .pd_detail .pd_recommend .pic_list .btn_group_flex button{border: 1px solid #fd4802; color: #fd4802; background-color:#fff;}
 .pd_detail .pd_samebrand{}
@@ -1170,11 +1170,6 @@
 .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;}
-.modal.pd_pop.pd_review_pop .btn_default:hover{background-color:#fff;}
-.modal.pd_pop.pd_review_pop .btn_default:focus{background-color:#fff;}
-.modal.pd_pop.pd_review_pop .btn_default:active{background-color:#fff;}
-.modal.pd_pop.pd_review_pop .btn_default.active{background-color:#fff;}
-.modal.pd_pop.pd_review_pop .tgl_dropdown.btn_default{background-color:#fff;}
 .pd_review{background:#f5f5f5;}
 .pd_review.best,
 .pd_review.photo{background:#fff; position:relative; bottom:0; z-index:999; max-height:35rem;}
@@ -1305,11 +1300,11 @@
 .pd_review .area_rv_all .nodata {padding:10rem 0; border-top:1px solid #ddd; text-align:center;}
 .pd_review .area_rv_all .nodata .txt_box {color:#666; font-size:1.3rem; font-weight:300;}
 .pd_review .area_rv_all .nodata .btn_box {margin-top:1.5rem;}
-.pd_review .area_rv_all .nodata .btn_group_flex button{margin:0 auto; padding:0; width:10.8rem; height:3rem; line-height:3rem!important; font-size:1.1rem; border:1px solid #ddd;}
+.pd_review .area_rv_all .nodata .btn_group_flex button{margin:0 auto; padding:0; width:10.8rem; height:3rem !important; line-height:3rem!important; font-size:1.1rem; border:1px solid #ddd;}
 .pd_review .area_rv_all .nodata .btn_box .btn span {color:#222; font-size:1.4rem; font-weight:300;}
 .pd_review .category_open {position:relative; margin:-1.2rem -1.33rem -1px; border-bottom: 1px solid #ddd; overflow-x:auto;}
 .pd_review .category_open {font-size:0; white-space:nowrap;}
-.pd_review .category_open > li {position:relative; display:inline-block; padding:0 2rem; font-size:1.1rem; color:#222; line-height: 4.5rem;}
+.pd_review .category_open > li {position:relative; display:inline-block; padding:0 2rem; font-size:1.1rem; color:#222; line-height: 4.5rem; max-width:10rem;}
 .pd_review .category_open > li:after{content:''; display:block; position:absolute; top:50%; margin-top:-0.5rem; right:0px; width:1px; height:1rem; background-color:#ddd;}
 .pd_review .category_open > li:last-child:after{display:none;}
 .pd_review .category_open > li > span{position:relative; padding-right:1.5rem;}
@@ -1585,10 +1580,10 @@
 
 /* ============================================ 전시 ============================================ */
 /* 전시공통 (타이틀,정렬,필터,네비,마지막리스트)*/
-.dp .dp_subtitle{margin-bottom: 2.4rem; font-size:1.6rem; font-weight:500; text-align:center;}
+.dp .dp_subtitle{margin-bottom: 2.4rem; font-size:2rem; font-weight:500; text-align:center;}
 .dp .dp_subtitle > a{position:relative; padding-right:2rem;}
 .dp .dp_subtitle > a:before{content:''; position:absolute; right:0; top:50%; margin-top:-1px; width:0.7rem; height:1.3rem; background:url(/images/mo/ico_dp_arrow.png) center center no-repeat; background-size:contain; -webkit-transform:translateY(-50%); transform:translateY(-50%);}
-.dp .category_nav {margin-bottom:0 2rem -1.3rem; justify-content: center; border-bottom:1px solid #eeeeee;}
+.dp .category_nav {margin:0 -2rem -1.2rem; padding:0 2rem; justify-content: center; border-bottom:1px solid #eeeeee;}
 .dp .category_nav ul{padding:0 2rem; display:flex;}
 .dp .category_nav ul::after {content:''; display: block; clear: both;}
 .dp .category_nav ul li {margin-right:2rem; }
@@ -1598,7 +1593,7 @@
 .dp .category_nav ul li:hover button::after, 
 .dp .category_nav ul li button.active::after{content:''; position: absolute; bottom:0; left:0; width:100%; height:2px; background: #fd4802; }
 .dp .category_nav ul li:last-child {margin-right: 0;}
-.dp .open_categori{background-color:#fff; padding: 1.6rem 2rem;}
+.dp .open_categori {background-color:#fff; }
 .dp .open_categori a{display: inline-block;font-size: 1.2rem;font-weight: 300;padding-right: 1.4rem;background: url(/images/mo/ico_sort_arrow.png) no-repeat;background-position: 97% 50%; background-size: 0.7rem 0.43rem;}
 .dp .dp_util{display:block; float:right; text-align:right; font-size: 0;}
 .dp .dp_util li {display:inline-block; margin-left:2rem; vertical-align:middle;}
@@ -1621,7 +1616,7 @@
 .dp .list_last{ padding: 2.5rem 0; font-size: 1.1rem; color: #888888; font-weight: 300; text-align: center; border-top:1px solid #f5f5f5;}
 
 /* 전시상품리스트 공통(default) */
-.dp .dp_list .sub_category{padding:0.8rem 0;}
+.dp .dp_list .sub_category{margin-bottom: -1.2rem; padding:0.8rem 0;}
 .dp .dp_list .sub_category .cate_wrap{white-space:nowrap; overflow-x:auto; -ms-overflow-style: none;}
 .dp .dp_list .sub_category .cate_wrap::-webkit-scrollbar{display:none;}
 .dp .dp_list .sub_category .cate_wrap a{float:none; display:inline-block; margin-bottom:0;}
@@ -1631,17 +1626,15 @@
 .dp .list_content .list_defult{display:none; text-align:center; padding:11rem 0;}
 .dp .list_content .list_defult p{text-align:center; font-size:1.3rem; color:#888888; font-weight:300;} 
 .dp .list_content .list_defult .btn{margin-top:2.4rem; font-size:1.1rem; height:3rem;}
-.dp .list_content .list_last{ padding: 2.5rem 0; font-size: 1.1rem; color: #888888; font-weight: 300; text-align: center; border-top:1px solid #f5f5f5;}
+.dp .list_content .list_last{padding: 2.5rem 0 6rem; font-size: 1.1rem; color: #888888; font-weight: 300; text-align: center; border-top:1px solid #f5f5f5;}
 .dp .list_content.nodata .lookbookGrp,
 .dp .list_content.nodata .itemsGrp,
 .dp .list_content.nodata .list_item,
 .dp .list_content.nodata .list_last{display:none;}
 .dp .list_content.nodata .list_defult{display:block;} 
-.dp .list_content .itemsGrp{padding-bottom:4rem;}
 .dp .itemsGrp .item_prod:nth-child(2n){margin-right: 0;}
-.dp .itemsGrp .item_prod {width: 48.75%; float: left; margin-right: 2.5%; margin-top: 4rem;}
-.dp .itemsGrp .item_prod:nth-child(1),
-.dp .itemsGrp .item_prod:nth-child(2){margin-top:0rem;}
+.dp .itemsGrp .item_prod {width: 48.75%; float: left; margin-right: 2.5%; margin-bottom: 4rem;}
+
 .dp .itemsGrp:after{display:block; content:''; clear:both;}
 
 /* 아울렛 서브메인 - dp_outlets */
@@ -1651,18 +1644,19 @@
 .dp .dp_outlets .outlets_visual .txtWrap {position: absolute; left: 2rem; bottom: 9rem; color: fff;}
 .dp .dp_outlets .outlets_visual .txtWrap p {color: #fff; font-size: 3rem; font-weight: 500; line-height: 1.2;}
 .dp .dp_outlets .outlets_visual .txtWrap p.txt_xs {font-size: 1.4rem; margin-top: 1.6rem; font-weight: 300;}
-.dp .dp_outlets .dp_cate_list {}
+.dp .dp_outlets .dp_cate_list {margin:-1.2rem 0;}
 .dp .dp_outlets .dp_cate_list:after {content:''; display: block; clear: both;}
 .dp .dp_outlets .dp_cate_list a {position:relative; float:left; width:50%; line-height:5rem; padding:0 3rem 0 2rem; font-size:1.3rem; font-weight: 500; color: #222; text-align: left; background: #fff url(/images/mo/ico_more_lg.png) no-repeat right 2rem center; border-bottom:1px solid #ddd; box-sizing:border-box; }
 .dp .dp_outlets .dp_cate_list a:nth-child(2n){ border-left:1px solid #ddd;}
-.dp .dp_outlets .md_item {padding:4rem 2rem 0; margin-bottom: 6rem;}
+.dp .dp_outlets .md_item {padding:0 2rem; margin:0 0 -1.2rem 0;}
 .dp .dp_outlets .md_item .swiper-slide {width: 43.75%;}
-.dp .dp_outlets .md_item .swiper-container {overflow: initial;}
+.dp .dp_outlets .md_item .swiper-container {padding:0 2rem; margin:0 -2rem;}
+.dp .dp_outlets .best_item {padding-bottom: 2rem;}
 .dp .dp_outlets .best_item .itemsGrp:after {content:''; display: block; clear:both;}
 .dp .dp_outlets .best_item .itemsGrp .item_prod {width: 48.75%; float:left; margin-right: 2.5%;}
 .dp .dp_outlets .best_item .itemsGrp .item_prod:nth-child(2n) {margin-right: 0;}
 .dp .dp_outlets .md_item .dp_subtitle, 
-.dp .dp_outlets .best_item .dp_subtitle {text-align: center; margin-bottom: 2.4rem;}
+.dp .dp_outlets .best_item .dp_subtitle {text-align: center; margin-bottom: 2.4rem; font-size: 2rem; padding-top: 6rem;}
 
 /* 룩북 - dp_lookbook */
 .dp .dp_lookbook .count_wrap {padding: 1.5rem 0 2rem;}
@@ -1683,7 +1677,7 @@
 }
 .dp .dp_lookbook .swiper_filter.brand .btnbox .reset{display:inline-block; width:3rem; height:3rem; border-radius:50%; font-size:0; text-indent:-999999px; vertical-align:top; background:#f4f4f4 url(/images/mo/ico_filter_reset.png) center center no-repeat; background-size:50%;}
 .dp .dp_lookbook .swiper_filter.brand .btnbox .reset:active{background-color:#ddd;}
-.dp .dp_lookbook .event_con li {position: relative; margin-bottom:4rem;}
+.dp .dp_lookbook .event_con li {position: relative; padding-bottom:4rem;}
 .dp .dp_lookbook .event_con li:first-child {margin-top:0;}
 .dp .dp_lookbook .event_con li .ev_img {position: relative; padding-bottom:100%; margin-bottom:2rem; }
 .dp .dp_lookbook .event_con li .ev_img img {position: absolute; top: 50%; left: 50%; transform:translate(-50%, -50%); width: 100%; height: auto;}
@@ -1710,12 +1704,12 @@
 .dp .dp_best .count_wrap{padding-top:0;}
 .dp .dp_best .view_item .dp_subtitle{text-align:left; font-size:1.6rem; margin-bottom: 2rem;}
 .dp .dp_best .view_item .dp_subtitle span{color:#fd4802;}
-.dp .dp_best .view_item {padding:3rem 0 4rem;}
+.dp .dp_best .view_item {padding:3rem 0 0;}
 .dp .dp_best .view_item .swiper-slide {width: 43.75%;}
-.dp .dp_best .view_item .swiper-container {overflow: initial;}
+.dp .dp_best .view_item .swiper-container {padding: 0 2rem; margin:0 -2rem;}
 .dp .dp_best .view_item .count_wrap div:first-child p{font-size:1.6rem; color:#222;}
 .dp .dp_best .view_item .count_wrap div:first-child p span{font-weight:500;}
-.dp .dp_best .best_item {margin:6rem 0 2rem;}
+.dp .dp_best .best_item {margin:4rem 0 0; padding-bottom: 2rem;}
 .dp .dp_best .best_item .dp_subtitle {text-align: center; margin-bottom: 2.4rem;}
 .dp .dp_best .best_item .itemsGrp:after {content:''; display: block; clear:both;}
 .dp .dp_best .best_item .itemsGrp .item_prod {width: 48.75%; float:left; margin-right: 2.5%; margin-bottom: 4rem;}
@@ -1741,8 +1735,8 @@
 .dp_hotdeal .itemsGrp.rowtype .item_prod .shape {padding:0.3rem 1rem; width:auto; height:auto; max-width:4rem; min-height:auto; border-radius:2rem;}
 .dp_hotdeal .itemsGrp.rowtype .item_prod .shape span{position:relative; width:auto; left:0; top:0; text-indent:0; transform:translate(0);}
 .dp_hotdeal .itemsGrp.rowtype .item_prod .shape:after{display:none;}
-.dp_hotdeal .itemsGrp.rowtype .item_prod .itemPic::after {background: #f5f5f5; opacity:1; z-index: 87;}
-.dp_hotdeal .itemsGrp.rowtype .item_prod .itemPic .pd_img {z-index: 78;}
+.dp_hotdeal .itemsGrp.rowtype .item_prod .itemPic::after {background: #f5f5f5; opacity:1; z-index: 7;}
+.dp_hotdeal .itemsGrp.rowtype .item_prod .itemPic .pd_img {z-index: 8;}
 .dp_hotdeal .itemsGrp.rowtype .item_prod.sold_out .itemPic:before {content:'SOLD OUT'; position: absolute; top: 50%; left: 50%; font-size:1.4rem; color:#fff; font-weight:bold; background: rgba(0,0,0,.5); width: 100%; height: 100%; transform:translate(-50%, -50%); line-height:23.4rem;; z-index: 99; text-align: center;}
 .dp_hotdeal .itemsGrp.rowtype .item_prod .shape{position:relative;}
 .dp_hotdeal .itemsGrp.rowtype .item_prod .itemBrand {margin:1.5rem 0 0.5rem;}
@@ -1756,7 +1750,7 @@
 .dp_hotdeal .itemsGrp.rowtype .item_prod .itemEt .shopBag button span{position:relative; padding-left:1.6rem;}
 .dp_hotdeal .itemsGrp.rowtype .item_prod .itemEt .shopBag button span:after{content:''; position:absolute; left:0; top:50%; width:1rem; height:1.2rem; background:url(/images/mo/ico_shopbag.png) center center no-repeat; background-size:contain; -webkit-transform:translateY(-50%); transform:translateY(-50%);}
 
-.itemsGrp.rowtype .item_prod .shopBag {width: calc(100% - 17.6rem); margin-top: 0;position: absolute;bottom: 1.8rem;left: 17.6rem; z-index: 50;}
+.itemsGrp.rowtype .item_prod .shopBag {width: calc(100% - 17.6rem); margin-top: 0;position: absolute;bottom: 1.8rem;left: 17.6rem; z-index: 5;}
 .itemsGrp.rowtype .item_prod .shopBag .btn {width:100%; height:3rem; line-height:3rem; font-size:1.1rem;}
 .itemsGrp.rowtype .item_prod .shopBag .btn span {position:relative; padding-left:25px; line-height:1;}
 .itemsGrp.rowtype .item_prod .shopBag .btn span::before {content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); width:15px; height:18px; background: url('/images/pc/ico_shopbag.png') no-repeat 50% 50%;}
@@ -1767,7 +1761,7 @@
 .dp .dp_exhibition .list_content .itemsGrp.n3 .item_prod:nth-child(2n) {margin-right: 2.5%;}
 .dp .dp_exhibition .list_content .itemsGrp.n3 .item_prod:nth-child(3n) {margin-right:0;}
 .dp .dp_exhibition .list_content .itemsGrp.n3 .item_prod{margin-bottom:0;}
-.dp .dp_exhibition .list_content .list_item > div{margin-bottom:6rem;}
+.dp .dp_exhibition .list_content .list_item > div{padding-bottom:6rem;}
 .dp .dp_exhibition .list_content .list_item .visual{position:relative; margin-bottom:2rem;}
 .dp .dp_exhibition .list_content .list_item .visual img {width: 100%;}
 .dp .dp_exhibition .list_content .list_item .visual .txtWrap {position: absolute; left: 2rem; bottom: 4rem; color: fff;}
@@ -1790,7 +1784,7 @@
 .dp .items_option.fix{position:fixed; top:0; z-index:999; width:100%; left:0; margin:0; box-shadow:rgb(0 0 0 / 30%) 0px 3px 15px 0px;}
 .dp .items_option #filter{height:4.5rem; border:0.1rem solid #dddddd; font-size:1.2rem; color:#666666; width:100%;line-height:4.5rem; padding:0 1.5rem; background-color:#fff;}
 
-.dp .dp_listItems_wrap{padding-bottom:3rem;}
+.dp .dp_listItems_wrap{padding-bottom:2rem;}
 .dp .dp_listItems_wrap.typeSelector{padding-bottom:3rem;margin-bottom: -1.2rem;}
 .dp .dp_listItems_wrap.type1 .dp_subtitle{margin-top: -4rem;}
 .dp .dp_listItems_wrap .items_option{padding-top:0;}
@@ -1799,7 +1793,7 @@
 .dp .dp_listItems_wrap .open_categori{background-color:#fff; padding: 1.6rem 2rem;}
 .dp .dp_listItems_wrap .list_content .itemsGrp{margin-bottom:-4rem;}
 .dp .dp_listItems_wrap .itemsGrp .item_prod:last-child{margin-bottom:0;}
-.dp .dp_listItems_wrap .btn_default{margin-top:4rem;}
+.dp .dp_listItems_wrap .btn_default{margin-top:0;}
 .dp .dp_listItems_wrap .btn_default:after{content:''; display:inline-block; margin-left:0.8rem; width:1.1rem; height:0.7rem; background:url(/images/mo/ico_btn_more.png) center center no-repeat; background-size:contain;}
 .dp .dp_listItems_cont .item_prod {width: 100%;}
 .dp .dp_listItems_cont.type1 .swiper-container.item01 .swiper-slide{padding:0 14%}
@@ -1818,8 +1812,8 @@
 .dp .big_banner_slide .swiper-slide img{width:100%;}
 .dp .big_banner_slide .swiper-pagination{position:relative; margin:2.4rem 0 0; bottom:0;}
 .dp .big_banner_slide .swiper-pagination .swiper-pagination-bullet-active{background-color:#fd4802;}
-.dp .other_promotion_slide{padding-top:0}
-.dp .other_promotion_slide .swiper-container{overflow:initial;}
+.dp .other_promotion_slide .dp_subtitle {padding-top: 0; font-size: 1.6rem;}
+.dp .other_promotion_slide .swiper-container{padding:0 2rem; margin:0 -2rem;}
 /* dp_detail-case - 쿠폰 */
 .dp .coupon_list {margin-bottom:3rem;}
 .dp .coupon_list li {position: relative; position: relative; margin-top:3rem; overflow: hidden;}
@@ -1858,14 +1852,14 @@
 .dp .dp_listItems_wrap .btn{width:100%;}
 .dp .dp_listItems_cont.type1{padding-bottom:3rem;}
 .dp .dp_listItems_cont.type2{padding-bottom:3rem;}
-.dp .dp_listItems_cont.type2 .swiper-container{overflow: initial;}
+.dp .dp_listItems_cont.type2 .swiper-container{padding:0 2rem; margin:0 -2rem;}
 .dp .dp_listItems_cont.type2 .swiper-wrapper{width:43%}
 .dp .dp_listItems_cont.type1 .swiper-container.item01 .swiper-pagination{position:relative; margin:2.4rem 0 0; bottom:0;}
 .dp .dp_listItems_cont.type1 .swiper-container.item01 .swiper-pagination .swiper-pagination-bullet-active{background-color:#fd4802;}
-.dp .dp_listItems_cont.type1 .swiper-container.item02{overflow: initial;}
+.dp .dp_listItems_cont.type1 .swiper-container.item02{padding:0 2rem; margin:0 -2rem;}
 .dp .mid_banner .swiper-container.dp_lookbook_case1 .swiper-pagination{position:relative; margin:2.4rem 0 0; bottom:0;}
 .dp .mid_banner .swiper-container.dp_lookbook_case1 .swiper-pagination-bullet-active{background-color:#fd4802;}
-.dp .dp_review_cont .review .swiper-container{overflow: initial;}
+.dp .dp_review_cont .review .swiper-container{padding:0 2rem; margin:0 -2rem;}
 .dp .dp_review_cont .review .swiper-container .swiper-slide > div{border:1px solid #eee;}
 .dp .dp_review_cont .review .best_review {position:relative; text-align:center;}
 .dp .dp_review_cont .review .best_review:after{content:''; display:block; position:absolute; bottom:0; left:2rem; right:2rem; height:1px; background-color:#eee;}

+ 17 - 16
src/main/webapp/ux/mo/css/style24_m.css

@@ -305,9 +305,11 @@
 .post-visual .swiper-slide::after {content: '';position: absolute;top: 0;bottom: 15px;left: 10px;width: 100%;height: 100%;z-index: -1;}  
 
 .post-visual .txtWrap{position: absolute;padding-left: 0.0rem;top: auto;bottom: 7.0rem;left: 2.0rem;right: auto;z-index: 1;} 
-.post-visual .txtWrap dt {font-size: 1.5rem;color: #fff;font-weight: 200;line-height: 3.6rem;}
-.post-visual .txtWrap dd {padding-bottom: 5px;font-size: 2.9rem;color: #fff;line-height: 3.6rem;}
-.post-visual .txtWrap dd.txt_xs {font-size: 1.5rem;color: #fff;margin-top: 0.6rem;}
+.post-visual .txtWrap dl {color: #222;}
+.post-visual .txtWrap dl.w {color: #fff;}
+.post-visual .txtWrap dt {font-size: 1.5rem;font-weight: 200;line-height: 3.6rem;}
+.post-visual .txtWrap dd {padding-bottom: 5px;font-size: 2.9rem;line-height: 3.6rem;}
+.post-visual .txtWrap dd.txt_xs {font-size: 1.5rem;margin-top: 0.6rem;}
 
 .main_stylereport {padding: 0rem 0 8.0rem 0;}
 .main_stylereport .titWrap{padding:4rem 0 2rem 0}
@@ -587,7 +589,6 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 /* ev_renew_1 */
 .dp .promotion_visual {margin-bottom: -1.2rem;}
 .dp {background: #f5f5f5;}
-.dp .inner {padding-bottom: 0; background: #fff;}
 .dp .inner:last-child {padding-bottom: 0;}
 .dp .dp_btn_area .btn_wrap {padding:3rem 0; border-bottom: 1px solid #ddd; text-align: center;}
 .dp .dp_btn_area.type2 .btn_wrap {border: none;}
@@ -645,7 +646,6 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 .dp {background: #f5f5f5;}
 .dp .inner {background: #fff; padding-bottom: 0; margin-bottom:1.2rem;}
 .dp .inner::after {content:''; clear:none;}
-.dp .inner:last-child {padding-bottom: 0;}
 .cmt_wrap {background: #f5f5f5;}
 .cmt_wrap .cmt_write {background: #fff;}
 .cmt_wrap .cmt_group {background: #fff;}
@@ -941,7 +941,7 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 .goods_btn_wrap.col2 {font-size: 0;}
 .goods_btn_wrap.col2 > div {width: 50%; margin:0; display: inline-block; flex:none;}
 .goods_btn_wrap.col2 > div:nth-child(2n) {padding-left: 0.4rem; padding-bottom: 0.4rem;}
-.goods_btn_wrap.col2 > div:nth-child(2n+1) {padding-right: 0.4rem; padding-bottom: 0.4rem;}
+.goods_btn_wrap.col2 > div:nth-child(2n+1) {padding-right: 0rem; padding-bottom: 0.4rem;}
 /* .goods_btn_wrap.col2 > div:nth-child(odd) {padding-right: 0.4rem; padding-bottom: 0.4rem;} */
 /* .goods_btn_wrap.col2 > div:nth-child(even) {padding-left: 0.4rem; padding-bottom: 0.4rem;} */
 .goods_btn_wrap.col2 > div > .btn {font-size: 1.4rem;}
@@ -1015,7 +1015,7 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 
 .part_goods .goods_detail {position: relative; padding:0 0 0 11rem;}
 .part_goods .goods_detail .thumb_box {background: #f5f5f5; width:9rem; height:13.5rem; position: absolute; left: 0; top: 0;}
-.part_goods .goods_detail .thumb_box a {display:block; background:#f5f5f5;}
+.part_goods .goods_detail .thumb_box a {display:block; background:#f5f5f5; height: 100%;}
 .part_goods .goods_detail .thumb_box img {position: relative; top: 50%; transform: translateY(-50%); width: 100%;}
 
 .part_goods .goods_detail .info_box {min-height:13.5rem; padding-top: 1rem;}
@@ -1380,8 +1380,8 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 /* my_return_3 */
 .my .my_return .tbl_tarea td {font-weight: 300;}
 .my .my_return .tbl_tarea .textarea_wrap {position: relative;}
-.my .my_return .tbl_tarea .textarea_wrap .txt_cnt, .my .my_exchange .tbl_tarea .textarea_wrap .txt_cnt {position: absolute; right: 1.5rem; bottom: 1.5rem;}
-.my .my_return .tbl_tarea .textarea_wrap textarea, .my .my_exchange .tbl_tarea .textarea_wrap textarea {resize:none; height: 15rem; width: 100%; padding:1.7rem 1.5rem;}
+.my .my_return .tbl_tarea .textarea_wrap .txt_cnt, .my .my_exchange .tbl_tarea .textarea_wrap .txt_cnt {background: #fff; width: calc(100% - 3.0rem); position: absolute; bottom: 0.1rem; right: 1.5rem; margin-top: 0; padding:0.5rem 0 0.5rem; font-size: 1.3rem; text-align: right; color: #888;}
+.my .my_return .tbl_tarea .textarea_wrap textarea, .my .my_exchange .tbl_tarea .textarea_wrap textarea {resize:none; height: 15rem; width: 100%; padding:1.7rem 1.5rem 2.8rem;}
 .my .my_return .retrieve_box.direct input[type="tel"] {width: 100%; padding:0 1rem;}
 .my .my_return .retrieve_box.direct .ship_info dt {font-weight: 500;}
 .my .my_return .retrieve_box.direct .ship_info dt, .my .my_return .retrieve_box.direct .ship_info dd {width: 100%; margin-bottom: 0.5rem;}
@@ -1666,9 +1666,9 @@ main.dp .inner:last-child {padding-bottom: 0;}
 .dp .submain_visual .txtWrap {position: absolute; left: 2rem; bottom: 9rem; color: fff;}
 .dp .submain_visual .txtWrap p {color: #fff; font-size: 3rem; font-weight: 500; line-height: 1.2;}
 .dp .submain_visual .txtWrap p.txt_xs {font-size: 1.4rem; margin-top: 1.6rem; font-weight: 300;}
-.dp .sub_category {padding:2.4rem 0 0.3rem; position: relative;}
-.dp .sub_category .cate_wrap {margin:0 -0.4rem; max-height:13rem; overflow:hidden;}
-.dp .sub_category .cate_wrap.on {max-height:100%;}
+.dp .sub_category {padding:2.4rem 0; position: relative;}
+.dp .sub_category .cate_wrap {margin:0 -0.4rem; height: auto; overflow:hidden;}
+.dp .sub_category .cate_wrap.on {max-height:100% !important;}
 .dp .sub_category .cate_wrap:after {content:''; display: block; clear:both;}
 .dp .sub_category .cate_wrap a {float:left; background: #fff; margin:0 0.4rem 0.8rem; padding:1.2rem 1.4rem; font-size: 1.3rem; color: #666; border-radius:2rem; line-height: 1;}
 .dp .sub_category .more_btn {width: 100%; text-align: center; height: 6rem; margin-bottom: -1.3rem;}
@@ -1678,11 +1678,12 @@ main.dp .inner:last-child {padding-bottom: 0;}
 .dp .sub_category .more_btn .btn span:before {content:''; position: absolute; top: 0.3rem; right: 0;width: 1.1rem; height: 0.63rem; background: url('/images/mo/ico_btn_more02.png') no-repeat top center;
 background-size:100%;}
 .dp .sub_category .more_btn.on .btn span:before {background: url('/images/mo/ico_btn_more02.png') no-repeat bottom center; background-size:100%;}
-.dp .dp_submain .new_item .dp_subtitle, .dp .dp_submain .best_item .dp_subtitle {text-align: center; margin-bottom: 2.4rem;}
-.dp .dp_submain .new_item {padding:4rem 2rem 0; margin-bottom: 6rem;}
+.dp .dp_submain .new_item .dp_subtitle, .dp .dp_submain .best_item .dp_subtitle {text-align: center; margin-bottom: 2.4rem; font-size: 2rem;}
+.dp .dp_submain .new_item {padding:0 2rem; margin:0 0 -1.2rem 0;}
 .dp .dp_submain .new_item .swiper-slide {width: 43.75%;}
-.dp .dp_submain .new_item .swiper-container {overflow: initial;}
-.dp .dp_submain .best_item {margin-bottom: 2rem;}
+.dp .dp_submain .new_item .swiper-container {padding:0 2rem; margin:0 -2rem;}
+.dp .dp_submain .best_item {padding-bottom: 2rem;}
+.dp .dp_submain .best_item .dp_subtitle {padding-top: 6rem;}
 .dp .dp_submain .best_item .itemsGrp:after {content:''; display: block; clear:both;}
 .dp .dp_submain .best_item .itemsGrp .item_prod {width: 48.75%; float:left; margin-right: 2.5%; margin-bottom: 4rem;}
 .dp .dp_submain .best_item .itemsGrp .item_prod:nth-child(2n) {margin-right: 0;}

+ 42 - 0
src/main/webapp/ux/mo/js/common_m.js

@@ -65,6 +65,48 @@ $(document).ready(function() {
                 }
             }
         });
+        $(window).on('mousewheel',function(e){
+            if($('header').hasClass('main') === true){
+                var wheel = e.originalEvent.wheelDelta;
+                if(wheel>0){
+                    //스크롤 올릴때
+                    $(".tabbar").addClass('fixed');
+                    $(".gnb").addClass('fixed');
+                    $(".gnb").css("top", "5.5rem");
+                    $(".pnb_mo").addClass('fixed');
+                    $("header").css("display", "block");
+                    $("header").css("position", "fixed");
+                    if($(".gnb").hasClass("fixed")){
+                        $("header").css("display", "none");
+                    }
+                    if($(".pnb_mo").hasClass("fixed")){
+                        $("header").css("display", "none");
+                    }
+                    if($(window).scrollTop() < 10){
+                        $(".gnb").css('position', 'relative');
+                        $(".pnb_mo").css('position', 'relative');
+                        $("header").css("position", "relative");
+                        $("header").css("display", "block");
+                        $(".bnrtype_banner").css("z-index", "999");
+                        $(".bnrtype_banner").css("top", "5.5rem");
+                        $("main.container").css("margin-top", "5.5rem");
+                    } else {
+                        $(".gnb").css('position', 'fixed');
+                        $(".pnb_mo").css('position', 'fixed');
+                    }
+                } else {
+                    //스크롤 내릴때
+                    $(".bnrtype_banner").css("z-index", "0");
+                    $(".gnb").css("top", "0");
+                    $(".tabbar").removeClass('fixed');
+                    $(".pnb_mo").addClass('fixed');
+                    $(".pnb_mo").css('position', 'fixed');
+                    $(".gnb").addClass('fixed');
+                    $(".gnb").css('position', 'fixed');
+                    $("header").css("display", "none");
+                }
+            }
+        });
         $(window).scroll(function (event) {
 
             // header height 가 아닌, 스크롤 감지로 변경할 것

+ 4 - 1
src/main/webapp/ux/pc/css/common.css

@@ -897,6 +897,7 @@ input[type="text"]:focus, input[type="password"]:focus,
 input[type="text"].active, input[type="password"].active {border-color: #aaaaaa;} 
 input[type="text"]:disabled, input[type="password"]:disabled, input[type="select"]:disabled,
 input[type="text"]:read-only, input[type="password"]:read-only, input[type="select"]:read-only {background: #F9F9F9;border-color: #dddddd;}
+input[type="text"][readonly], input[type="password"][readonly], input[type="select"][readonly] {background: #F9F9F9;border-color: #dddddd;}
 table input[type="text"], table input[type="password"] {padding:6px 0 6px 9px;}
 input[type="checkbox"], input[type="radio"] {width:13px; height:13px; margin-right:3px; position:relative; top:1px;}
 input[type=search]::-webkit-search-cancel-button{display:none;}
@@ -1046,7 +1047,7 @@ input[type="file"] {
 }
 
 .pics.mov {position: relative;}
-.pics.mov::after {content:''; position:absolute; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.3) url('/images/pc/ico_play.png') no-repeat 50% 50%; z-index:1;}
+.pics.mov::after {content:''; position:absolute; left:0; top:0; width:100%; height:100%; background:rgba(221,221,221,1) url('/images/pc/ico_play.png') no-repeat 50% 50%; z-index:1;}
 
 .picsThumbs {
   width: auto;height: auto;max-height: 148px;max-width: 148px;margin: auto 0;
@@ -1826,6 +1827,8 @@ button.alertCls {-webkit-appearance: none;padding: 0;cursor: pointer;background:
 .modal::-webkit-scrollbar-thumb,.pop_cont::-webkit-scrollbar-thumb {background-color: #888888;border-radius: 0px;background-clip: padding-box;border: 0px solid transparent;}
 .modal::-webkit-scrollbar-track, .pop_cont::-webkit-scrollbar-track{background-color: #dddddd;border-radius: 0px;}
 
+/* .modal, .pop_cont {scrollbar-width: thin; scrollbar-color: #888888 #dddddd;} 파이어폭스 스크롤바 css */
+
 .modal-spinner{display:none;position:fixed;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);padding:12px 16px;border-radius:5px;background-color:#111;height:20px}
 .modal-spinner>div{border-radius:100px;background-color:#fff;height:20px;width:2px;margin:0 1px;display:inline-block;-webkit-animation:sk-stretchdelay 1.2s infinite ease-in-out;animation:sk-stretchdelay 1.2s infinite ease-in-out}
 .modal-spinner .rect2{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}

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

@@ -4163,7 +4163,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.my .myManage .modify_box table .btn {height:42px; padding-left:0; padding-right:0; text-align:center;}
 	.my .myManage .modify_box table .btn.btn_primary_line {font-weight:200; width:100px;}
 	.my .myManage .modify_box .form_field {max-width:400px;}
-	.my .myManage .modify_box .form_field .input_wrap {display:table-cell; width:100%;}
+	.my .myManage .modify_box .form_field .input_wrap {display:block; width:100%;}
 	.my .myManage .modify_box .form_field .input_wrap + .btn {display:table-cell; width:95px; font-weight:300; font-size:14px}
 	.my .myManage .modify_box .form_field .form_control {float:none; display:block; width:100%}
 	.my .myManage .modify_box .form_field + .txt_info {margin-top:10px}
@@ -5129,4 +5129,28 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 		.cs .history_wrap .txt {padding-left: 0px;}
 		.cs .history_wrap {padding: 50px 30px 50px 0;}
 	
+	}
+
+	/* IE */
+	@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { 
+
+		/* my */
+		.goods_info .order_review .review .photo_box .photo_list > ul li {width:calc(10% - 9px);}
+
+		/* od */
+
+		/* cs */
+
+		/* mb */
+
+		/* pd */
+
+		/* dp */
+
+		/* ev */
+
+		/* br */
+
+		/* sch */
+
 	}

+ 14 - 15
src/main/webapp/ux/plugins/approval_key.js

@@ -35,17 +35,17 @@
         // 제공되는 jar 파일에 직접 전달된 데이터를 사용할수 있도록 method가 구현 되어 있습니다.
         if(ajax_flag)
         {
-            var url    = "http:" + _frontUrl + "/pg/kcp/approval";
+            var url    = _frontUrl + "/pg/kcp/approval";
             var form = document.order_info;
-            var params = "?site_cd=" + form.site_cd.value
-                       + "&ordr_idxx=" + form.ordr_idxx.value
-                       + "&good_mny=" + form.good_mny.value
-                       + "&pay_method=" + form.pay_method.value
-                       + "&escw_used=" + form.escw_used.value
-                       + "&good_name=" + form.good_name.value
-                       + "&response_type=" + form.response_type.value
-                       + "&Ret_URL=" + form.Ret_URL.value
-            sendRequest( url + params );
+            var params = "?site_cd=" + encodeURIComponent(form.site_cd.value)
+                       + "&ordr_idxx=" + encodeURIComponent(form.ordr_idxx.value)
+                       + "&good_mny=" + encodeURIComponent(form.good_mny.value)
+                       + "&pay_method=" + encodeURIComponent(form.pay_method.value)
+                       + "&escw_used=" + encodeURIComponent(form.escw_used.value)
+                       + "&good_name=" + encodeURIComponent(form.good_name.value)
+                       + "&response_type=" + encodeURIComponent(form.response_type.value)
+                       + "&Ret_URL=" + encodeURIComponent(form.Ret_URL.value)
+            sendRequest(url + params);
             
             ajax_flag = false;
         }
@@ -108,7 +108,7 @@
         {
             document.getElementById( "approval" ).value = txt[1].replace(/^\s*/,'').replace(/\s*$/,'');
             // 아래 alert는 삭제 해도됨
-            alert("성공적으로 거래가 등록 되었습니다.");
+            //alert("성공적으로 거래가 등록 되었습니다.");
             PayUrl = decodeURIComponent( txt[2].replace(/^\s*/,'').replace(/\s*$/,'') );
             
             document.getElementById( "traceNo" ).value = txt[3].replace(/^\s*/,'').replace(/\s*$/,'');
@@ -137,7 +137,7 @@
         {
             document.getElementById( "approval" ).value = x[0].getElementsByTagName( "approvalKey" )[0].childNodes[0].nodeValue;
             // 아래 alert는 삭제 해도됨
-            alert("성공적으로 거래가 등록 되었습니다.");
+            // alert("성공적으로 거래가 등록 되었습니다.");
             PayUrl = x[0].getElementsByTagName( "PayUrl" )[0].childNodes[0].nodeValue;
             
             document.getElementById( "traceNo" ).value = x[0].getElementsByTagName( "traceNo"     )[0].childNodes[0].nodeValue;
@@ -157,15 +157,14 @@
     }
     
     
-    function StateChangeForJSON( xmlHttpRequest )
-    {
+    function StateChangeForJSON( xmlHttpRequest ) {
         var json = eval('('+ xmlHttpRequest.responseText +')');
         
         if( json.Code == '0000' )
         {
             document.getElementById( "approval" ).value = json.approvalKey;
             // 아래 alert는 삭제 해도됨
-            alert("성공적으로 거래가 등록 되었습니다.");
+            // alert("성공적으로 거래가 등록 되었습니다.");
             PayUrl = json.PayUrl;
             
             document.getElementById( "PayUrl"  ).value = json.request_URI;