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

Merge remote-tracking branch 'origin/bin2107' into card007

card007 5 лет назад
Родитель
Сommit
94f3d0a913
22 измененных файлов с 405 добавлено и 219 удалено
  1. 5 2
      src/main/java/com/style24/front/biz/service/TsfPlanningService.java
  2. 20 14
      src/main/java/com/style24/front/biz/web/TsfDisplayController.java
  3. 1 0
      src/main/java/com/style24/persistence/domain/searchengine/SearchEngine.java
  4. 1 0
      src/main/java/com/style24/persistence/mybatis/shop/TsfDisplay.xml
  5. 6 0
      src/main/java/com/style24/persistence/mybatis/shop/TsfGoods.xml
  6. 2 0
      src/main/java/com/style24/persistence/mybatis/shop/TsfPlanning.xml
  7. 31 3
      src/main/webapp/WEB-INF/views/mob/display/CategoryGoodsListFormMob.html
  8. 63 7
      src/main/webapp/WEB-INF/views/mob/display/MallMainFormMob.html
  9. 34 26
      src/main/webapp/WEB-INF/views/mob/goods/GoodsDealDescFormMob.html
  10. 36 28
      src/main/webapp/WEB-INF/views/mob/goods/GoodsDetailFormMob.html
  11. 4 4
      src/main/webapp/WEB-INF/views/mob/planning/PlanningDetailFormMob.html
  12. 1 1
      src/main/webapp/WEB-INF/views/mob/planning/PlanningMainFormMob.html
  13. 26 11
      src/main/webapp/WEB-INF/views/web/display/CategoryGoodsListFormWeb.html
  14. 2 1
      src/main/webapp/WEB-INF/views/web/display/LookbookDetailFormWeb.html
  15. 34 26
      src/main/webapp/WEB-INF/views/web/goods/GoodsDealDescFormWeb.html
  16. 36 28
      src/main/webapp/WEB-INF/views/web/goods/GoodsDetailFormWeb.html
  17. 19 1
      src/main/webapp/biz/goods.js
  18. 4 3
      src/main/webapp/ux/mo/css/common_m.css
  19. 28 36
      src/main/webapp/ux/mo/css/layout_m.css
  20. 10 10
      src/main/webapp/ux/mo/css/style24_m.css
  21. 41 17
      src/main/webapp/ux/mo/js/common_m.js
  22. 1 1
      src/main/webapp/ux/style24_link.js

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

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

+ 20 - 14
src/main/java/com/style24/front/biz/web/TsfDisplayController.java

@@ -106,19 +106,18 @@ public class TsfDisplayController extends TsfBaseController {
 		}
 
 		String mainCateNo = "1700";
-		if (device.isMobile() || "Y".equals(paramMap.get("mobileYn"))) {
-			mainCateNo = "1720";
-		} else {
-			mainCateNo = "1700";
-		}
+		// 몰메인 PC,MOBILE 동일하게 사용으로 인한 주석처리
+//		if (device.isMobile() || "Y".equals(paramMap.get("mobileYn"))) {
+//			mainCateNo = "1720";
+//		} else {
+//			mainCateNo = "1700";
+//		}
 
 		mallMainLayout.setCateNo(Integer.parseInt(mainCateNo));
 		Collection<MainLayout> mainLayoutCollection = displayService.getMainLayout(mallMainLayout);
 
 		Collection<MainLayout> mainLayoutList = new ArrayList<MainLayout>();
-		//mav.addObject("preview", paramMap.get("preview"));
-		//mav.addObject("viewDt", paramMap.get("viewDt"));
-		//mav.addObject("viewPage", "20");
+
 		for (MainLayout mainLayout : mainLayoutCollection) {
 			String contentsLoc = mainLayout.getContentsLoc();
 			Contents contents = new Contents();
@@ -127,6 +126,9 @@ public class TsfDisplayController extends TsfBaseController {
 			contents.setPreview(paramMap.get("preview"));
 			contents.setViewDt(paramMap.get("viewDt"));
 			contents.setCateNo(Integer.parseInt(mainCateNo));
+			if(contentsLoc.equals("SGNB001") || contentsLoc.equals("SGNB002") || contentsLoc.equals("STAB001") || contentsLoc.equals("SMM003") || contentsLoc.equals("SMM004") || contentsLoc.equals("SMM006") ){
+				contents.setMaxRow(1);
+			}
 
 			Cate4Srch cate4Srch = new Cate4Srch();
 			cate4Srch.setContentsLoc(contentsLoc);
@@ -270,12 +272,13 @@ public class TsfDisplayController extends TsfBaseController {
 
 		// 브랜드 레이아웃
 		MainLayout mainLayout = new MainLayout();
-		String mainCateNo = "";
-		if (device.isMobile() || "Y".equals(paramMap.get("mobileYn"))) {
-			mainCateNo = "1721";
-		} else {
-			mainCateNo = "1711";
-		}
+		String mainCateNo = "1711";
+		// PC,MOBILE 동일 사용으로 인해 주석처리
+//		if (device.isMobile() || "Y".equals(paramMap.get("mobileYn"))) {
+//			mainCateNo = "1721";
+//		} else {
+//			mainCateNo = "1711";
+//		}
 		mainLayout.setCateNo(Integer.parseInt(mainCateNo));
 		mainLayout.setBrandGroupNo(Integer.parseInt(paramMap.get("brandGroupNo")));
 		Collection<MainLayout> mainLayoutCollection = displayService.getMainLayout(mainLayout);
@@ -289,6 +292,9 @@ public class TsfDisplayController extends TsfBaseController {
 			contents.setViewDt(paramMap.get("viewDt"));
 			contents.setCateNo(Integer.parseInt(mainCateNo));
 			contents.setBrandGroupNo((brandMain.getBrandGroupNo()).toString());
+			if(contentsLoc.equals("SBM005")|| contentsLoc.equals("SBM007")|| contentsLoc.equals("SBM008")|| contentsLoc.equals("SBM009")|| contentsLoc.equals("SBM010")|| contentsLoc.equals("SBM011")|| contentsLoc.equals("SBM013")|| contentsLoc.equals("SBM017")|| contentsLoc.equals("SBM018")|| contentsLoc.equals("SBM019")){
+				contents.setMaxRow(1);
+			}
 
 			Cate4Srch cate4Srch = new Cate4Srch();
 			cate4Srch.setContentsLoc(contentsLoc);

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

@@ -76,6 +76,7 @@ public class SearchEngine implements Serializable {
 	private String sizes;			// 사이즈들(,로 연결된 문자열. 사이즈코드:품절여부, ...)
 	private String benefits;		// 혜택들(,로 연결된 문자열. 혜택구분:혜택명, ...)
 	private String likeIt;			// 좋아요(위시리스트에담긴상품)
+	private String mainColorCd;		// 메인컬러
 
 //	private String adminIp;			// 검색엔진IP
 //	private String adminPort;		// 검색엔진포트

+ 1 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfDisplay.xml

@@ -259,6 +259,7 @@
 		            </otherwise>
 		        </choose>
 		       ) A
+		ORDER BY DISP_ORD
 		<if test="maxRow != null and maxRow > 0">
 		LIMIT #{maxRow}
 		</if>

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

@@ -460,6 +460,7 @@
 		<if test='selfGoodsYn != null and selfGoodsYn == "Y"'>
 		AND A.COLOR_CD = #{colorCd}
 		</if>
+		AND A.EXTMALL_IMG_YN = 'N'
 		ORDER BY A.DISP_ORD
 	</select>
 	
@@ -1419,6 +1420,7 @@
 		               , TB_GOODS_IMG GI
 		          WHERE  G.GOODS_CD = GI.GOODS_CD
 		          AND    G.MAIN_COLOR_CD = GI.COLOR_CD
+		          AND    GI.EXTMALL_IMG_YN = 'N'
 		          ) Z
 		     GROUP BY GOODS_CD
 		)
@@ -1645,6 +1647,7 @@
 		                , TB_GOODS_IMG GI
 		                WHERE  G.GOODS_CD = GI.GOODS_CD
 		                AND    G.MAIN_COLOR_CD = GI.COLOR_CD
+		                AND    GI.EXTMALL_IMG_YN = 'N'
 		         ) Z
 		         GROUP BY GOODS_CD
 		    )
@@ -1775,6 +1778,7 @@
 		               , TB_GOODS_IMG GI
 		          WHERE  G.GOODS_CD = GI.GOODS_CD
 		          AND    G.MAIN_COLOR_CD = GI.COLOR_CD
+		          AND    GI.EXTMALL_IMG_YN = 'N'
 		          ) Z
 		     GROUP BY GOODS_CD
 		)
@@ -2693,6 +2697,7 @@
 		                 , TB_GOODS_IMG GI
 		            WHERE  G.GOODS_CD = GI.GOODS_CD
 		            AND    G.MAIN_COLOR_CD = GI.COLOR_CD
+		            AND    GI.EXTMALL_IMG_YN = 'N'
 		           ) Z
 		    GROUP  BY GOODS_CD
 		)
@@ -2945,6 +2950,7 @@
 		              , TB_GOODS_IMG GI
 		           WHERE G.GOODS_CD = GI.GOODS_CD
 		           AND G.MAIN_COLOR_CD = GI.COLOR_CD
+		           AND GI.EXTMALL_IMG_YN = 'N'
 		      ) Z
 		      GROUP BY GOODS_CD , MAIN_COLOR_CD
 		)

+ 2 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfPlanning.xml

@@ -1634,6 +1634,8 @@
 		   AND PE.PLAN_SQ = #{planSq}
 		   <if test="planEntrySq != null and planEntrySq != ''">
 		   AND PE.PLAN_ENTRY_SQ = #{planEntrySq}
+		ORDER BY FIELD(PEA.PLAN_ENTRY_AT_SQ, #{planEntryAtSq})DESC
+		        ,PLAN_ENTRY_AT_SQ ASC 
 		   </if>
 	</select>
 	

+ 31 - 3
src/main/webapp/WEB-INF/views/mob/display/CategoryGoodsListFormMob.html

@@ -55,11 +55,11 @@
 							</ul>
 						</div>
 					</div>
-					<div class="list_defult">
+					<div class="list_defult" style="display:none;">
 						<div>
 							<p>선택하신 조건에 맞는 상품이 없습니다.<br>필터를 변경해 보세요.</p>
 						</div>
-						<button type="button" class="btn btn_default"><span>선택한 필터 초기화</span></button>
+						<button type="button" class="btn btn_default" onclick="fnMobFilterReset();"><span>선택한 필터 초기화</span></button>
 					</div>
 
 					<div id="infiniteContainer">
@@ -84,7 +84,7 @@
 				<div class="filter_top">
 					<div class="tt">필터</div>
 					<div>
-						<button class="fillter_reset"><span>초기화</span></button>
+						<button class="fillter_reset" onclick="fnMobFilterReset();"><span>초기화</span></button>
 						<button class="close">닫기</button>
 					</div>
 				</div>
@@ -595,6 +595,34 @@
 
 		});
 
+		// 필터 초기화
+		var fnMobFilterReset = function (){
+			$(".list_defult").hide();
+			$("#searchGoodsForm input:hidden[name=brandGroupArr]").remove();
+			$("#searchGoodsForm input:hidden[name=sizeArr]").remove();
+			$("#searchGoodsForm input:hidden[name=dcRateFrom]").remove();
+			$("#searchGoodsForm input:hidden[name=dcRateTo]").remove();
+			$("#searchGoodsForm input:hidden[name=priceFrom]").remove();
+			$("#searchGoodsForm input:hidden[name=priceTo]").remove();
+			$("#searchGoodsForm input:hidden[name=ageArr]").remove();
+			$("#searchGoodsForm input:hidden[name=seasonArr]").remove();
+			$("#searchGoodsForm input:hidden[name=colorArr]").remove();
+			$("#searchGoodsForm input:hidden[name=benefitArr]").remove();
+			$("#unisex").prop('checked',false);
+			$("#unisex").attr('onclick','fnFilterOption(this,\'on\');');
+			$("#searchGoodsForm input:hidden[name=unisex]").remove();
+			$("#newGoods").prop('checked',true);
+			$("#newGoods").attr('onclick','fnFilterOption(this,\'on\');');
+			$('.allFilter .chkFilter').find('input[type=checkbox]').each(function (idx){
+				$(this).prop('checked',false);
+			});
+			$('.allFilter .chkFilter .daps1').find('span').each(function (idx){
+				$(this).remove();
+			});
+			fnCategoryGoodsInfiniteScrollInit();
+			fnGoodsListSearch();
+		}
+
 		// TOP 카테고리 노출
 		var fnCreateDepthList = function (){
 			let cateList = [[${cateList}]];

+ 63 - 7
src/main/webapp/WEB-INF/views/mob/display/MallMainFormMob.html

@@ -32,7 +32,7 @@
 								<th:block th:each="ContentsData, ContentsStat : ${mainData.ContentsList}">
 									<div class="swiper-slide">
 										<a href="javascript:void(0)" th:onclick="cfnGoToPage([[${ContentsData.strVar1}]]);">
-											<img th:src="${@environment.getProperty('domain.image')+ContentsData.imgPath1}" alt="">
+											<img th:src="${@environment.getProperty('domain.image')+ContentsData.imgPath2}" alt="">
 											<div class="txtWrap">
 												<dl th:class="${ContentsData.strVar7=='BLACK'?'':'w'}">
 													<dt th:if="${ContentsData.strVar5=='P'}" th:text="${ContentsData.planBrandGroupNm}">NBA</dt>
@@ -67,12 +67,16 @@
 						<div class="swiper-container post-stylereport">
 							<div class="swiper-wrapper">
 								<th:block th:each="ContentsData, ContentsStat : ${mainData.ContentsList}">
-								<div class="swiper-slide">
+								<div class="swiper-slide styleArea">
 									<a href="javascript:void(0)" th:onclick="cfnGoToPage([[${ContentsData.strVar1}]]);">
 										<img th:src="${@environment.getProperty('domain.image')+ContentsData.imgPath1}" alt="">
 										<dl>
-											<dt th:text="${ContentsData.strTitle1}"></dt>
-											<dd th:text="${ContentsData.subText1}"></dd>
+											<dt class="styleTitleC">
+												<input type="hidden" name="styleTitle" th:value="${ContentsData.strTitle1}"/>
+											</dt>
+											<dd class="styleNoteC">
+												<input type="hidden" name="styleNote" th:value="${ContentsData.subText1}"/>
+											</dd>
 <!--											<dd>준비한 아우터 픽을 만나보자</dd>-->
 										</dl>
 									</a>
@@ -353,12 +357,14 @@
 						<div class="swiper-container post-bnnWide">
 							<div class="swiper-wrapper">
 								<th:block th:each="ContentsData, ContentsStat : ${mainData.ContentsList}">
-									<div class="swiper-slide">
+									<div class="swiper-slide silderBannerArea">
 										<th:block th:if="${ContentsData.imgPath1!=null && ContentsData.imgPath1!=''}">
 											<a href="javascript:void(0)" th:onclick="cfnGoToPage([[${ContentsData.strVar1}]]);">
 												<div class="bnnbox" style="background:#bdc3c7;">
-													<div class="txtWrap ">
-														<p th:text="${ContentsData.strTitle1}">TBJ 가을 신상</p>
+													<div class="txtWrap bannerNote">
+														<p class="noteArea">
+															<input type="hidden" name="bannerNote" th:value="${ContentsData.strTitle1}"/>
+														</p>
 <!--														<p>아우터 + 이너 단독세일</p>-->
 													</div>
 													<img alt="BLUE-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('domain.image')+ContentsData.imgPath1}">
@@ -824,6 +830,54 @@
 			}
 			$(this).append(tag);
 		});
+
+		// 가로긴배너 슬라이드
+		$('.silderBannerArea').each(function (){
+			let tag = '';
+			if(!gagajf.isNull($(this).find("input[name=bannerNote]").val())) {
+				var noteText = $(this).find("input[name=bannerNote]").val().replace("<BR>", "<br>").replace("<bR>", "<br>").replace("<Br>", "<br>");
+				if (noteText.indexOf('<br>') > -1) {
+					var reText = noteText.split("<br>");
+					tag += reText[0];
+					tag += '<br>';
+					tag += reText[1];
+				} else {
+					tag += noteText;
+				}
+				$(this).find('.noteArea').append(tag);
+			}
+		});
+
+		// 스타일리포트 <br> 태그
+		$('.styleArea').each(function (){
+			let tag = '';
+			let tag2 = '';
+			if(!gagajf.isNull($(this).find("input[name=styleTitle]").val())) {
+				var titleText = $(this).find("input[name=styleTitle]").val().replace("<BR>", "<br>").replace("<bR>", "<br>").replace("<Br>", "<br>");
+				if(titleText.indexOf('<br>') > -1){
+					var reText = titleText.split("<br>");
+					tag += reText[0];
+					tag += '<br>';
+					tag += reText[1];
+				}else{
+					tag += titleText;
+				}
+				$(this).find('.styleTitleC').append(tag);
+			}
+
+			if(!gagajf.isNull($(this).find("input[name=styleNote]").val())) {
+				var noteText = $(this).find("input[name=styleNote]").val().replace("<BR>", "<br>").replace("<bR>", "<br>").replace("<Br>", "<br>");
+				if(noteText.indexOf('<br>') > -1){
+					var reText = noteText.split("<br>");
+					tag2 += reText[0];
+					tag2 += '<br>';
+					tag2 += reText[1];
+				}else{
+					tag2 += noteText;
+				}
+				$(this).find('.styleNoteC').append(tag2);
+			}
+		});
 	});
 
 	function setHtop() {
@@ -1084,6 +1138,8 @@
 				clickable: true,
 			},
 		});
+
+
 	</script>
 
 </th:block>

+ 34 - 26
src/main/webapp/WEB-INF/views/mob/goods/GoodsDealDescFormMob.html

@@ -72,51 +72,59 @@
 			
 		<th:block th:if="${goodsInfo.tobeFormYn == 'Y'}">	
 		<!-- 착용컷 노출 -->
-		<div class="view_outfit_box" th:if="${#strings.contains(goodsImgList,'_M1') 
-											or #strings.contains(goodsImgList,'_M2')
-											or #strings.contains(goodsImgList,'_M3')
-											or #strings.contains(goodsImgList,'_M4')
-											or #strings.contains(goodsImgList,'_M5')}">
+		<div class="view_outfit_box" th:if="${#strings.contains(goodsImgList,'_C1') 
+											or #strings.contains(goodsImgList,'_C2')
+											or #strings.contains(goodsImgList,'_C3')
+											or #strings.contains(goodsImgList,'_C4')
+											or #strings.contains(goodsImgList,'_C5')}">
 			<span class="tit_view">OUTFIT VIEW</span>
 			<span class="model_info">(모델정보 : 185cm / 78kg / XL 착용)</span>
 			<div class="view">
-				<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_M1') 
-																			or #strings.contains(goodsImg.sysImgNm,'_M2')
-																			or #strings.contains(goodsImg.sysImgNm,'_M3')
-																			or #strings.contains(goodsImg.sysImgNm,'_M4')
-																			or #strings.contains(goodsImg.sysImgNm,'_M5')}">
+				<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_C1') 
+																			or #strings.contains(goodsImg.sysImgNm,'_C2')
+																			or #strings.contains(goodsImg.sysImgNm,'_C3')
+																			or #strings.contains(goodsImg.sysImgNm,'_C4')
+																			or #strings.contains(goodsImg.sysImgNm,'_C5')}">
 				<img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm+'?RS=360'}" alt="">
 				</th:block>
 			</div>
 		</div>
 		<!-- //착용컷 노출 -->
 		<!-- 상품컷 노출 -->
-		<div class="view_detail_box" th:if="${#strings.contains(goodsImgList,'_01') 
-											or #strings.contains(goodsImgList,'_02')
-											or #strings.contains(goodsImgList,'_D1')
-											or #strings.contains(goodsImgList,'_D2')
-											or #strings.contains(goodsImgList,'_D3')
-											or #strings.contains(goodsImgList,'_D4')
-											or #strings.contains(goodsImgList,'_D5')}">
+		<div class="view_detail_box" th:if="${#strings.contains(goodsImgList,'_01') or #strings.contains(goodsImgList,'_02')
+											or #strings.contains(goodsImgList,'_D1') or #strings.contains(goodsImgList,'_D2')
+											or #strings.contains(goodsImgList,'_D3') or #strings.contains(goodsImgList,'_D4')
+											or #strings.contains(goodsImgList,'_D5') or #strings.contains(goodsImgList,'_D6')
+											or #strings.contains(goodsImgList,'_D7') or #strings.contains(goodsImgList,'_D8')
+											or #strings.contains(goodsImgList,'_D9') or #strings.contains(goodsImgList,'_D10')
+											or #strings.contains(goodsImgList,'_D11') or #strings.contains(goodsImgList,'_D12')
+											or #strings.contains(goodsImgList,'_D13') or #strings.contains(goodsImgList,'_D14')
+											or #strings.contains(goodsImgList,'_D15') or #strings.contains(goodsImgList,'_D16')
+											or #strings.contains(goodsImgList,'_D17') or #strings.contains(goodsImgList,'_D18')
+											or #strings.contains(goodsImgList,'_D19') or #strings.contains(goodsImgList,'_D20')}">
 			<span class="tit_view">PRODUCT VIEW</span>
 			<div class="view">
-				<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_01') 
-																			or #strings.contains(goodsImg.sysImgNm,'_02')
-																			or #strings.contains(goodsImg.sysImgNm,'_D1')
-																			or #strings.contains(goodsImg.sysImgNm,'_D2')
-																			or #strings.contains(goodsImg.sysImgNm,'_D3')
-																			or #strings.contains(goodsImg.sysImgNm,'_D4')
-																			or #strings.contains(goodsImg.sysImgNm,'_D5')}">
+				<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImgList,'_01') or #strings.contains(goodsImgList,'_02')
+													or #strings.contains(goodsImgList,'_D1') or #strings.contains(goodsImgList,'_D2')
+													or #strings.contains(goodsImgList,'_D3') or #strings.contains(goodsImgList,'_D4')
+													or #strings.contains(goodsImgList,'_D5') or #strings.contains(goodsImgList,'_D6')
+													or #strings.contains(goodsImgList,'_D7') or #strings.contains(goodsImgList,'_D8')
+													or #strings.contains(goodsImgList,'_D9') or #strings.contains(goodsImgList,'_D10')
+													or #strings.contains(goodsImgList,'_D11') or #strings.contains(goodsImgList,'_D12')
+													or #strings.contains(goodsImgList,'_D13') or #strings.contains(goodsImgList,'_D14')
+													or #strings.contains(goodsImgList,'_D15') or #strings.contains(goodsImgList,'_D16')
+													or #strings.contains(goodsImgList,'_D17') or #strings.contains(goodsImgList,'_D18')
+													or #strings.contains(goodsImgList,'_D19') or #strings.contains(goodsImgList,'_D20')}">
 				<img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm+'?RS=360'}" alt="">
 				</th:block>
 			</div>
 		</div>
 		<!-- //상품컷 노출 -->
 		<!-- 원단 노출 -->
-		<div class="view_fabric_box" th:if="${#strings.contains(goodsImgList,'_S1')}">
+		<div class="view_fabric_box" th:if="${#strings.contains(goodsImgList,'_F1')}">
 			<span class="tit_view">FABRIC</span>
 			<div class="view">
-				<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_S1')}">
+				<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_F1')}">
 				<img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm}" alt="">
 				</th:block>
 			</div>

+ 36 - 28
src/main/webapp/WEB-INF/views/mob/goods/GoodsDetailFormMob.html

@@ -61,7 +61,7 @@
 										</div>
 									</th:block>
 									<th:block th:each="goodsImg, status : ${goodsImgList}">
-									<div class="swiper-slide" th:if="${ not (#strings.contains(goodsImg.sysImgNm,'_S1') 
+									<div class="swiper-slide" th:if="${ not (#strings.contains(goodsImg.sysImgNm,'_F1') 
 																or #strings.contains(goodsImg.sysImgNm,'_L1')
 																or #strings.contains(goodsImg.sysImgNm,'_L2'))}">
 										<div class="thumb" ><img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm+'?RS=1080'}" alt="" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'"></div></div>  <!--  mov -->
@@ -289,51 +289,59 @@
 				</div>
 				<th:block th:if="${goodsInfo.tobeFormYn == 'Y'}">	
 				<!-- 착용컷 노출 -->
-				<div class="view_outfit_box" th:if="${#strings.contains(goodsImgList,'_M1') 
-													or #strings.contains(goodsImgList,'_M2')
-													or #strings.contains(goodsImgList,'_M3')
-													or #strings.contains(goodsImgList,'_M4')
-													or #strings.contains(goodsImgList,'_M5')}">
+				<div class="view_outfit_box" th:if="${#strings.contains(goodsImgList,'_C1') 
+													or #strings.contains(goodsImgList,'_C2')
+													or #strings.contains(goodsImgList,'_C3')
+													or #strings.contains(goodsImgList,'_C4')
+													or #strings.contains(goodsImgList,'_C5')}">
 					<span class="tit_view">OUTFIT VIEW</span>
 					<span class="model_info">(모델정보 : 185cm / 78kg / XL 착용)</span>
 					<div class="view">
-						<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_M1') 
-																					or #strings.contains(goodsImg.sysImgNm,'_M2')
-																					or #strings.contains(goodsImg.sysImgNm,'_M3')
-																					or #strings.contains(goodsImg.sysImgNm,'_M4')
-																					or #strings.contains(goodsImg.sysImgNm,'_M5')}">
+						<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_C1') 
+																					or #strings.contains(goodsImg.sysImgNm,'_C2')
+																					or #strings.contains(goodsImg.sysImgNm,'_C3')
+																					or #strings.contains(goodsImg.sysImgNm,'_C4')
+																					or #strings.contains(goodsImg.sysImgNm,'_C5')}">
 						<img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm+'?RS=360'}" alt="">
 						</th:block>
 					</div>
 				</div>
 				<!-- //착용컷 노출 -->
 				<!-- 상품컷 노출 -->
-				<div class="view_detail_box" th:if="${#strings.contains(goodsImgList,'_01') 
-													or #strings.contains(goodsImgList,'_02')
-													or #strings.contains(goodsImgList,'_D1')
-													or #strings.contains(goodsImgList,'_D2')
-													or #strings.contains(goodsImgList,'_D3')
-													or #strings.contains(goodsImgList,'_D4')
-													or #strings.contains(goodsImgList,'_D5')}">
+				<div class="view_detail_box" th:if="${#strings.contains(goodsImgList,'_01') or #strings.contains(goodsImgList,'_02')
+													or #strings.contains(goodsImgList,'_D1') or #strings.contains(goodsImgList,'_D2')
+													or #strings.contains(goodsImgList,'_D3') or #strings.contains(goodsImgList,'_D4')
+													or #strings.contains(goodsImgList,'_D5') or #strings.contains(goodsImgList,'_D6')
+													or #strings.contains(goodsImgList,'_D7') or #strings.contains(goodsImgList,'_D8')
+													or #strings.contains(goodsImgList,'_D9') or #strings.contains(goodsImgList,'_D10')
+													or #strings.contains(goodsImgList,'_D11') or #strings.contains(goodsImgList,'_D12')
+													or #strings.contains(goodsImgList,'_D13') or #strings.contains(goodsImgList,'_D14')
+													or #strings.contains(goodsImgList,'_D15') or #strings.contains(goodsImgList,'_D16')
+													or #strings.contains(goodsImgList,'_D17') or #strings.contains(goodsImgList,'_D18')
+													or #strings.contains(goodsImgList,'_D19') or #strings.contains(goodsImgList,'_D20')}">
 					<span class="tit_view">PRODUCT VIEW</span>
 					<div class="view">
-						<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_01') 
-																					or #strings.contains(goodsImg.sysImgNm,'_02')
-																					or #strings.contains(goodsImg.sysImgNm,'_D1')
-																					or #strings.contains(goodsImg.sysImgNm,'_D2')
-																					or #strings.contains(goodsImg.sysImgNm,'_D3')
-																					or #strings.contains(goodsImg.sysImgNm,'_D4')
-																					or #strings.contains(goodsImg.sysImgNm,'_D5')}">
+						<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImgList,'_01') or #strings.contains(goodsImgList,'_02')
+																					or #strings.contains(goodsImgList,'_D1') or #strings.contains(goodsImgList,'_D2')
+																					or #strings.contains(goodsImgList,'_D3') or #strings.contains(goodsImgList,'_D4')
+																					or #strings.contains(goodsImgList,'_D5') or #strings.contains(goodsImgList,'_D6')
+																					or #strings.contains(goodsImgList,'_D7') or #strings.contains(goodsImgList,'_D8')
+																					or #strings.contains(goodsImgList,'_D9') or #strings.contains(goodsImgList,'_D10')
+																					or #strings.contains(goodsImgList,'_D11') or #strings.contains(goodsImgList,'_D12')
+																					or #strings.contains(goodsImgList,'_D13') or #strings.contains(goodsImgList,'_D14')
+																					or #strings.contains(goodsImgList,'_D15') or #strings.contains(goodsImgList,'_D16')
+																					or #strings.contains(goodsImgList,'_D17') or #strings.contains(goodsImgList,'_D18')
+																					or #strings.contains(goodsImgList,'_D19') or #strings.contains(goodsImgList,'_D20')}">
 						<img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm+'?RS=360'}" alt="">
 						</th:block>
 					</div>
 				</div>
 				<!-- //상품컷 노출 -->
 				<!-- 원단 노출 -->
-				<div class="view_fabric_box" th:if="${#strings.contains(goodsImgList,'_S1')}">
+				<div class="view_fabric_box" th:if="${#strings.contains(goodsImgList,'_F1')}">
 					<span class="tit_view">FABRIC</span>
 					<div class="view">
-						<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_S1')}">
+						<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_F1')}">
 						<img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm}" alt="">
 						</th:block>
 					</div>
@@ -1041,7 +1049,7 @@
 					</div>
 				</div>
 				<th:block th:each="goodsImg, status : ${goodsImgList}">
-				<div id="popThumb2" class="scaleview" th:if="${ not (#strings.contains(goodsImg.sysImgNm,'_S1.') 
+				<div id="popThumb2" class="scaleview" th:if="${ not (#strings.contains(goodsImg.sysImgNm,'_F1.') 
 													or #strings.contains(goodsImg.sysImgNm,'_L1.')
 													or #strings.contains(goodsImg.sysImgNm,'_L2.'))}">
 					<img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm+'?RS=1080'}" alt="" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">

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

@@ -139,7 +139,8 @@
 				</div>
 				</th:block>
 				
-				<div class="inner">
+				<th:block th:if="${#lists.size(planCornerList)}>0">
+				<div class="inner" id="cornerInner">
 					<div class="dp_listItems_wrap typeSelector">
 						<div class="items_option">
 							<div class="open_categori" style="position: relative; width: 100%; z-index: 0;">
@@ -148,9 +149,8 @@
 						</div>
 					</div>
 				</div>
-				<div id="cornerGoodsList">
-
-				</div>
+				<div id="cornerGoodsList"></div>
+				</th:block>
 				<div class="inner">
 					<div class="other_promotion_slide">
 						<h2 th:if="${planInfo.planGb == 'P'}" class="dp_subtitle">다른 기획전 보기</h2>

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/planning/PlanningMainFormMob.html

@@ -68,7 +68,7 @@
 						
 						$.each(result, function(idx, item) {
 							let tag = '<div>\n';
-							tag += '	<div class="visual">\n';
+							tag += '	<div class="visual" onclick="cfnGoToPlanDetail(\'' + item.planSq + '\')">\n';
 							
 							if (item.newYn == 'Y') {
 								tag += '		<div class="shape ranker"><span>NEW</span></div>\n';

+ 26 - 11
src/main/webapp/WEB-INF/views/web/display/CategoryGoodsListFormWeb.html

@@ -234,7 +234,7 @@
 										<p>선택하신 조건에 맞는 상품이 없습니다.<br>필터를 변경해 보세요.</p>
 									</div>
 									<div class="ui_row">
-										<button type="button" class="btn btn_default btn_md"><span>선택한 필터 초기화</span></button>
+										<button type="button" class="btn btn_default btn_md" onclick="fnFilterReset();"><span>선택한 필터 초기화</span></button>
 									</div>
 								</div>
 								<div class="count_wrap">
@@ -441,17 +441,32 @@
 			fnFilterSlider('dcrate' , custom_values02[min].replace('%',''), custom_values02[max].replace('%',''));
 		}
 
+		// 필터 초기화
 		var fnFilterReset = function (){
-			document.location.href = currUrl;
-			// $("#searchGoodsForm input:hidden[name=brandSearch]").remove();
-			// $("#searchGoodsForm input:hidden[name=sizeSearch]").remove();
-			// $("#searchGoodsForm input:hidden[name=priceRow]").remove();
-			// $("#searchGoodsForm input:hidden[name=priceHigh]").remove();
-			// $("#searchGoodsForm input:hidden[name=dcrateRow]").remove();
-			// $("#searchGoodsForm input:hidden[name=dcrateHigh]").remove();
-			// $("#searchGoodsForm input:hidden[name=seasonSearch]").remove();
-			// $("#searchGoodsForm input:hidden[name=colorSearch]").remove();
-			// $("#searchGoodsForm input:hidden[name=benefitSearch]").remove();
+			//document.location.href = currUrl;
+			$("#searchGoodsForm input:hidden[name=brandGroupArr]").remove();
+			$("#searchGoodsForm input:hidden[name=sizeArr]").remove();
+			$("#searchGoodsForm input:hidden[name=dcRateFrom]").remove();
+			$("#searchGoodsForm input:hidden[name=dcRateTo]").remove();
+			$("#searchGoodsForm input:hidden[name=priceFrom]").remove();
+			$("#searchGoodsForm input:hidden[name=priceTo]").remove();
+			$("#searchGoodsForm input:hidden[name=ageArr]").remove();
+			$("#searchGoodsForm input:hidden[name=seasonArr]").remove();
+			$("#searchGoodsForm input:hidden[name=colorArr]").remove();
+			$("#searchGoodsForm input:hidden[name=benefitArr]").remove();
+			$("#unisex").prop('checked',false);
+			$("#unisex").attr('onclick','fnFilterOption(this,\'on\');');
+			$("#searchGoodsForm input:hidden[name=unisex]").remove();
+			$("#newGoods").prop('checked',true);
+			$("#newGoods").attr('onclick','fnFilterOption(this,\'on\');');
+			fnFilterSliderMove(0,5);
+			fnDcRateFilterSliderMove(0,10);
+			$('.filter_content .sort').find('input[type=checkbox]').each(function (idx){
+				$(this).prop('checked',false);
+			});
+			$("#filterData").html('');
+			fnCategoryGoodsInfiniteScrollInit();
+			fnGoodsListSearch();
 		}
 
 		var fnGoodsListSearch = function (){

+ 2 - 1
src/main/webapp/WEB-INF/views/web/display/LookbookDetailFormWeb.html

@@ -122,7 +122,8 @@
 			<div class="content br_lookbook_view cont_others" th:if="${otherLookbookList}">
 				<div class="cont_head">
 					<h3 class="subH1 t_c mb40">다른 룩북 보기</h3>
-					<button onclick="cfnGoToLookbookList();"><span>전체보기</span></button>
+					<button th:if="${lookbookInfo.lookbookGb=='BL'}" th:onclick="cfnGoToLookbookList([[${lookbookInfo.lookbookGb}]],[[${lookbookInfo.brandCd}]])"><span>전체보기</span></button>
+					<button th:if="${lookbookInfo.lookbookGb=='L'}" th:onclick="cfnGoToLookbookList([[${lookbookInfo.lookbookGb}]])"><span>전체보기</span></button>
 				</div>
 				<div class="cont_body">
 					<div class="area_slider">

+ 34 - 26
src/main/webapp/WEB-INF/views/web/goods/GoodsDealDescFormWeb.html

@@ -73,19 +73,19 @@
 			
 	<th:block th:if="${goodsInfo.tobeFormYn == 'Y'}">
 	<!-- 착용컷 노출 -->
-	<div class="view_outfit_box" th:if="${#strings.contains(goodsImgList,'_M1') 
-										or #strings.contains(goodsImgList,'_M2')
-										or #strings.contains(goodsImgList,'_M3')
-										or #strings.contains(goodsImgList,'_M4')
-										or #strings.contains(goodsImgList,'_M5')}">
+	<div class="view_outfit_box" th:if="${#strings.contains(goodsImgList,'_C1') 
+										or #strings.contains(goodsImgList,'_C2')
+										or #strings.contains(goodsImgList,'_C3')
+										or #strings.contains(goodsImgList,'_C4')
+										or #strings.contains(goodsImgList,'_C5')}">
 		<span class="tit_view">OUTFIT VIEW</span>
 		<span class="model_info">(모델정보 : 185cm / 78kg / XL 착용)</span>
 		<div class="view">
-			<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_M1') 
-																		or #strings.contains(goodsImg.sysImgNm,'_M2')
-																		or #strings.contains(goodsImg.sysImgNm,'_M3')
-																		or #strings.contains(goodsImg.sysImgNm,'_M4')
-																		or #strings.contains(goodsImg.sysImgNm,'_M5')}">
+			<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_C1') 
+																		or #strings.contains(goodsImg.sysImgNm,'_C2')
+																		or #strings.contains(goodsImg.sysImgNm,'_C3')
+																		or #strings.contains(goodsImg.sysImgNm,'_C4')
+																		or #strings.contains(goodsImg.sysImgNm,'_C5')}">
 			<img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm+'?RS=720'}" alt="" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 			</th:block>
 		</div>
@@ -93,32 +93,40 @@
 	
 	<!-- //착용컷 노출 -->
 	<!-- 상품컷 노출 -->
-	<div class="view_detail_box" th:if="${#strings.contains(goodsImgList,'_01') 
-										or #strings.contains(goodsImgList,'_02')
-										or #strings.contains(goodsImgList,'_D1')
-										or #strings.contains(goodsImgList,'_D2')
-										or #strings.contains(goodsImgList,'_D3')
-										or #strings.contains(goodsImgList,'_D4')
-										or #strings.contains(goodsImgList,'_D5')}">
+	<div class="view_detail_box" th:if="${#strings.contains(goodsImgList,'_01') or #strings.contains(goodsImgList,'_02')
+										or #strings.contains(goodsImgList,'_D1') or #strings.contains(goodsImgList,'_D2')
+										or #strings.contains(goodsImgList,'_D3') or #strings.contains(goodsImgList,'_D4')
+										or #strings.contains(goodsImgList,'_D5') or #strings.contains(goodsImgList,'_D6')
+										or #strings.contains(goodsImgList,'_D7') or #strings.contains(goodsImgList,'_D8')
+										or #strings.contains(goodsImgList,'_D9') or #strings.contains(goodsImgList,'_D10')
+										or #strings.contains(goodsImgList,'_D11') or #strings.contains(goodsImgList,'_D12')
+										or #strings.contains(goodsImgList,'_D13') or #strings.contains(goodsImgList,'_D14')
+										or #strings.contains(goodsImgList,'_D15') or #strings.contains(goodsImgList,'_D16')
+										or #strings.contains(goodsImgList,'_D17') or #strings.contains(goodsImgList,'_D18')
+										or #strings.contains(goodsImgList,'_D19') or #strings.contains(goodsImgList,'_D20')}">
 		<span class="tit_view">PRODUCT VIEW</span>
 		<div class="view">
-			<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_01') 
-																		or #strings.contains(goodsImg.sysImgNm,'_02')
-																		or #strings.contains(goodsImg.sysImgNm,'_D1')
-																		or #strings.contains(goodsImg.sysImgNm,'_D2')
-																		or #strings.contains(goodsImg.sysImgNm,'_D3')
-																		or #strings.contains(goodsImg.sysImgNm,'_D4')
-																		or #strings.contains(goodsImg.sysImgNm,'_D5')}">
+			<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImgList,'_01') or #strings.contains(goodsImgList,'_02')
+																		or #strings.contains(goodsImgList,'_D1') or #strings.contains(goodsImgList,'_D2')
+																		or #strings.contains(goodsImgList,'_D3') or #strings.contains(goodsImgList,'_D4')
+																		or #strings.contains(goodsImgList,'_D5') or #strings.contains(goodsImgList,'_D6')
+																		or #strings.contains(goodsImgList,'_D7') or #strings.contains(goodsImgList,'_D8')
+																		or #strings.contains(goodsImgList,'_D9') or #strings.contains(goodsImgList,'_D10')
+																		or #strings.contains(goodsImgList,'_D11') or #strings.contains(goodsImgList,'_D12')
+																		or #strings.contains(goodsImgList,'_D13') or #strings.contains(goodsImgList,'_D14')
+																		or #strings.contains(goodsImgList,'_D15') or #strings.contains(goodsImgList,'_D16')
+																		or #strings.contains(goodsImgList,'_D17') or #strings.contains(goodsImgList,'_D18')
+																		or #strings.contains(goodsImgList,'_D19') or #strings.contains(goodsImgList,'_D20')}">
 			<img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm+'?RS=720'}" alt="" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 			</th:block>
 		</div>
 	</div>
 	<!-- //상품컷 노출 -->
 	<!-- 원단 노출 -->
-	<div class="view_fabric_box" th:if="${#strings.contains(goodsImgList,'_S1')}">
+	<div class="view_fabric_box" th:if="${#strings.contains(goodsImgList,'_F1')}">
 		<span class="tit_view">FABRIC</span>
 		<div class="view">
-			<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_S1')}">
+			<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_F1')}">
 			<img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm+'?RS=720}" alt="" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 			</th:block>
 		</div>

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

@@ -54,7 +54,7 @@
 									</th:block>
 									<th:block th:each="goodsImg, status : ${goodsImgList}">
 										<div class="swiper-slide" th:classappend="${status.first and videoYn == 'N'}? 'on' : ''"  th:with="count=${(videoYn == 'Y')?  (status.count +1): status.count }"
-																	th:if="${ not (#strings.contains(goodsImg.sysImgNm,'_S1') 
+																	th:if="${ not (#strings.contains(goodsImg.sysImgNm,'_F1') 
 																			or #strings.contains(goodsImg.sysImgNm,'_L1')
 																			or #strings.contains(goodsImg.sysImgNm,'_L2'))}">
 											<a th:href="${'#navLocate'+ count}">
@@ -87,7 +87,7 @@
 								<th:block th:each="goodsImg, status : ${goodsImgList}" >
 								<th:block th:with="count=${(videoYn == 'Y')?  (status.count +1): status.count }">
 								<li th:id="${'navLocate'+ count}"  th:classappend="${status.first and videoYn == 'N'}? 'on' : ''" 
-									th:if="${ not (#strings.contains(goodsImg.sysImgNm,'_S1') 
+									th:if="${ not (#strings.contains(goodsImg.sysImgNm,'_F1') 
 												or #strings.contains(goodsImg.sysImgNm,'_L1')
 												or #strings.contains(goodsImg.sysImgNm,'_L2'))}">
 									<a href="javascript:void(0);">
@@ -666,21 +666,21 @@
 				<th:block th:if="${goodsInfo.tobeFormYn == 'Y'}">
 				
 				<!-- 착용컷 노출 -->
-				<div class="view_outfit_box" th:if="${#strings.contains(goodsImgList,'_M1') 
-													or #strings.contains(goodsImgList,'_M2')
-													or #strings.contains(goodsImgList,'_M3')
-													or #strings.contains(goodsImgList,'_M4')
-													or #strings.contains(goodsImgList,'_M5')}">
+				<div class="view_outfit_box" th:if="${#strings.contains(goodsImgList,'_C1') 
+													or #strings.contains(goodsImgList,'_C2')
+													or #strings.contains(goodsImgList,'_C3')
+													or #strings.contains(goodsImgList,'_C4')
+													or #strings.contains(goodsImgList,'_C5')}">
 					<span class="tit_view">OUTFIT VIEW</span>
 					<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${status.first}">
 					<span class="model_info" th:text="${goodsImg.modelInfo}">(모델정보 : 185cm / 78kg / XL 착용)</span>
 					</th:block>
 					<div class="view">
-						<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_M1') 
-																					or #strings.contains(goodsImg.sysImgNm,'_M2')
-																					or #strings.contains(goodsImg.sysImgNm,'_M3')
-																					or #strings.contains(goodsImg.sysImgNm,'_M4')
-																					or #strings.contains(goodsImg.sysImgNm,'_M5')}">
+						<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_C1') 
+																					or #strings.contains(goodsImg.sysImgNm,'_C2')
+																					or #strings.contains(goodsImg.sysImgNm,'_C3')
+																					or #strings.contains(goodsImg.sysImgNm,'_C4')
+																					or #strings.contains(goodsImg.sysImgNm,'_C5')}">
 						<img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm+'?RS=720'}" alt="" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 						</th:block>
 					</div>
@@ -688,32 +688,40 @@
 				
 				<!-- //착용컷 노출 -->
 				<!-- 상품컷 노출 -->
-				<div class="view_detail_box" th:if="${#strings.contains(goodsImgList,'_01') 
-													or #strings.contains(goodsImgList,'_02')
-													or #strings.contains(goodsImgList,'_D1')
-													or #strings.contains(goodsImgList,'_D2')
-													or #strings.contains(goodsImgList,'_D3')
-													or #strings.contains(goodsImgList,'_D4')
-													or #strings.contains(goodsImgList,'_D5')}">
+				<div class="view_detail_box" th:if="${#strings.contains(goodsImgList,'_01') or #strings.contains(goodsImgList,'_02')
+													or #strings.contains(goodsImgList,'_D1') or #strings.contains(goodsImgList,'_D2')
+													or #strings.contains(goodsImgList,'_D3') or #strings.contains(goodsImgList,'_D4')
+													or #strings.contains(goodsImgList,'_D5') or #strings.contains(goodsImgList,'_D6')
+													or #strings.contains(goodsImgList,'_D7') or #strings.contains(goodsImgList,'_D8')
+													or #strings.contains(goodsImgList,'_D9') or #strings.contains(goodsImgList,'_D10')
+													or #strings.contains(goodsImgList,'_D11') or #strings.contains(goodsImgList,'_D12')
+													or #strings.contains(goodsImgList,'_D13') or #strings.contains(goodsImgList,'_D14')
+													or #strings.contains(goodsImgList,'_D15') or #strings.contains(goodsImgList,'_D16')
+													or #strings.contains(goodsImgList,'_D17') or #strings.contains(goodsImgList,'_D18')
+													or #strings.contains(goodsImgList,'_D19') or #strings.contains(goodsImgList,'_D20')}">
 					<span class="tit_view">PRODUCT VIEW</span>
 					<div class="view">
-						<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_01.') 
-																					or #strings.contains(goodsImg.sysImgNm,'_02.')
-																					or #strings.contains(goodsImg.sysImgNm,'_D1.')
-																					or #strings.contains(goodsImg.sysImgNm,'_D2.')
-																					or #strings.contains(goodsImg.sysImgNm,'_D3.')
-																					or #strings.contains(goodsImg.sysImgNm,'_D4.')
-																					or #strings.contains(goodsImg.sysImgNm,'_D5.')}">
+						<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImgList,'_01') or #strings.contains(goodsImgList,'_02')
+																					or #strings.contains(goodsImgList,'_D1') or #strings.contains(goodsImgList,'_D2')
+																					or #strings.contains(goodsImgList,'_D3') or #strings.contains(goodsImgList,'_D4')
+																					or #strings.contains(goodsImgList,'_D5') or #strings.contains(goodsImgList,'_D6')
+																					or #strings.contains(goodsImgList,'_D7') or #strings.contains(goodsImgList,'_D8')
+																					or #strings.contains(goodsImgList,'_D9') or #strings.contains(goodsImgList,'_D10')
+																					or #strings.contains(goodsImgList,'_D11') or #strings.contains(goodsImgList,'_D12')
+																					or #strings.contains(goodsImgList,'_D13') or #strings.contains(goodsImgList,'_D14')
+																					or #strings.contains(goodsImgList,'_D15') or #strings.contains(goodsImgList,'_D16')
+																					or #strings.contains(goodsImgList,'_D17') or #strings.contains(goodsImgList,'_D18')
+																					or #strings.contains(goodsImgList,'_D19') or #strings.contains(goodsImgList,'_D20')}">
 						<img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm+'?RS=720'}" alt="" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 						</th:block>
 					</div>
 				</div>
 				<!-- //상품컷 노출 -->
 				<!-- 원단 노출 -->
-				<div class="view_fabric_box" th:if="${#strings.contains(goodsImgList,'_S1')}">
+				<div class="view_fabric_box" th:if="${#strings.contains(goodsImgList,'_F1')}">
 					<span class="tit_view">FABRIC</span>
 					<div class="view">
-						<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_S1')}">
+						<th:block th:each="goodsImg, status : ${goodsImgList}" th:if="${#strings.contains(goodsImg.sysImgNm,'_F1')}">
 						<img th:src="${imgGoodsUrl+'/'+goodsImg.sysImgNm+'?RS=720'}" alt="" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 						</th:block>
 					</div>

+ 19 - 1
src/main/webapp/biz/goods.js

@@ -202,7 +202,7 @@ var fnCreateGoodsList = function(result, ithrCd, contentLoc, goodsUrl, lastPage,
 		}
 		tag += ' "';
 		tag += ' onClick="cfnPutWishList(this);" goodsCd=\''+item.goodsCd+'\', ithrCd=\'\', contentsLoc=\'\', planDtlSq=\'\'>관심상품 추가</button>';
-		tag += '<a href="javascript:void(0);" class="itemLink" onclick="cfnGoToGoodsDetail(\''+item.goodsCd+'\');">';
+		tag += '<a href="javascript:void(0);" class="itemLink" onclick="cfnGoToGoodsDetail(\''+item.goodsCd+'\',\''+item.mainColorCd+'\');">';
 		tag += '			<div class="itemPic">';
 		if(!gagajf.isNull(item.videos)){
 			var videoArr = item.videos.split(",");
@@ -511,6 +511,24 @@ var fnFilterSliderMove = function (min, max){
 	$inputTo.prop("value",max);
 }
 
+var fnDcRateFilterSliderMove = function (min, max){
+	var $range = $(".dp .js-range-slider02, .sch_result .js-range-slider02");
+	var $inputFrom = $("#dcrate_input_from");
+	var $inputTo = $("#dcrate_input_to");
+	var instance;
+
+	instance = $range.data("ionRangeSlider");
+	instance.update({
+		from: min
+	});
+	$inputFrom.val(min);
+
+	instance.update({
+		to: max
+	});
+	$inputTo.prop("value",max);
+}
+
 var fnFilterSlider = function (gubun, min, max){
 	let tag = '';
 	let oriMin = '';

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

@@ -313,6 +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:2;}
 .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;
@@ -320,7 +321,7 @@ input[type="file"] {
 }
 .removes {
   display: block;width:2rem;height:2rem;font-size: 0;text-align: center;cursor: pointer;background-color: #666666;
-  position: absolute;top: 0;bottom: auto;left: auto;right: 0;
+  position: absolute;top: 0;bottom: auto;left: auto;right: 0; z-index: 3;
 }
 .removes::after {
   content: '';display: inline-block;width: 2rem;height: 2rem;
@@ -656,8 +657,8 @@ body.gnb_on {height: 100vh;overflow: hidden;}
 .app {height: 100vh;font-size: 1.4rem;}
 .skipNav {overflow: hidden;position: absolute;left: -9999px;width: 0;height: 1px;margin: 0;padding: 0;}
 
-.inner {padding: 0 2.0rem 1.3rem 2.0rem;position: relative;}
-.inner.wide {padding: 0 0rem 1.3rem 0rem;position: relative;}
+.inner {padding: 0 2.0rem 1.3rem 2.0rem;position: relative;overflow: hidden;}
+.inner.wide {padding: 0 0rem 1.3rem 0rem;position: relative;overflow: hidden;}
 .inner::after {content: '';display: block;clear: both;}
 .inner.bg_gray {background-color: #f5f5f5;}
 .inner.bg_beige {background-color: #ffeee7;}

+ 28 - 36
src/main/webapp/ux/mo/css/layout_m.css

@@ -5,7 +5,8 @@
 .cs .pnb ul{padding-left:1rem;}
 .cs .search_wrap{position: relative;}
 .cs .cs_search_input{font-size:1.5rem; height:4.5rem; width:100%; border:none !important; border-bottom:0.2rem solid #000 !important; position:relative; padding:0 !important;}
-.cs .cs_search_input + button{position:absolute; top:0; right:0; background:url(/images/mo/cs_search_btn.png) center center no-repeat; text-indent:-9999px; width:2.2rem; height:4.5rem;}
+.cs .search_wrap button.btn_sch {position:absolute; top:0; right:0; background:url(/images/mo/cs_search_btn.png) center center no-repeat; text-indent:-9999px; width:2.2rem; height:4.5rem;}
+.cs .search_wrap button.btn_x { width: 2rem; height: 2rem; background: #aaa; border-radius: 1rem; color: #fff; font-size: 1rem; position: absolute; top: 1.2rem; right: 3.2rem; background:#aaa url(/images/mo/ico_sch_del_w.png) no-repeat center; background-size:1.1rem; text-indent:-999em;}
 .cs .inner{background:#fff;}
 .cs .inner > p{margin-top:1rem;}
 .cs .inner.none{position:relative; width:100%; height:31.2rem; color:#808080;}
@@ -140,12 +141,10 @@
 .cs_contactUs_my textarea::placeholder {color:#888; font-weight:200;}
 .cs_contactUs_my .form_field { margin: 0 0 1.2rem; }
 .cs_contactUs_my .form_field {margin-top:1rem}
-.cs_contactUs_my .form_field:first-of-type {margin-top:0; margin-bottom:-0.5rem;}
-.cs_contactUs_my .form_field:first-of-type{margin:0;} /* 재확인 */
+.cs_contactUs_my .form_field:first-of-type {margin:0 0 -0.5rem 0;}
 .cs_contactUs_my .form_field .cellphone {display:block;}
 .cs_contactUs_my .form_field .cellphone input[type="text"]{width:40rem;}
 .cs_contactUs_my .form_field .cellphone .ck_box {display:inline-block;}
-.cs_contactUs_my .form_field .pics{position:absolute; top:0; left:0; z-index:2;}
 .cs_contactUs_my .imgUpload{margin-left:0.6rem;}
 .cs_contactUs_my .imgUpload:first-child{margin: 0;}
 .cs_contactUs_my .info_addfile ul li {font-size: 1.2rem; color: #c6c6c6;}
@@ -449,6 +448,20 @@
 .pd .pd_detail .inner{background: #ffffff;}
 .pd .pd_detail .size{color:#666666}
 .pd .pd_detail .pd_info .inner:nth-of-type(2){background:linear-gradient(to bottom,rgba(255, 255, 255, 0.93) 1%,rgba(255, 255, 255, 1) 25%,rgba(255, 255, 255, 1) 50%,rgba(255, 255, 255, 1) 75%,rgba(255, 255, 255, 1) 100%)}
+.pd .pd_detail .btPopAuto_body .opt_count .number_count span.min_val,
+.pd .pd_detail .btPopAuto_body .opt_count .number_count span.max_val {opacity:0.2;}
+.pd .pd_detail .btPopAuto_body .opt_result .number_count span.min_val,
+.pd .pd_detail .btPopAuto_body .opt_result .number_count span.max_val {opacity:0.2;}
+.pd .pd_detail .btPopAuto_body .size{color:#666666}
+.pd .pd_detail .Purchase_pop{transition:none;}
+.pd .pd_detail .Purchase_pop .btPop_foot{position: absolute;width: 100%;bottom: 0; background: #fff;}
+.pd .pd_detail .Purchase_pop .item_prod .itemPercent{left:10.2rem;}
+.pd .pd_detail .Purchase_pop .item_prod .itemPrice_original{margin-left:0.5rem;}
+.pd .pd_detail .Purchase_pop .select_custom.on .combo .select{border-bottom:1px solid #dcdcdc;}
+.pd .pd_detail .Purchase_pop .select_custom .combo .list>li{padding:1.2rem 4.2rem 1.2rem 1.2rem; line-height:2rem; word-wrap: break-word;}
+.pd .pd_detail .Purchase_pop .select_custom .combo .list>li[data-soldout="true"]::after{top:1rem}
+.pd .pd_detail .Purchase_pop .select_custom .opt_price{font-size:1.2rem; color:#888888}
+.pd .pd_detail .Purchase_pop .btn_box{display:flex;}
 .pd_detail .pd_info > .inner:after, .pd_detail > .inner:after{content: '';width: 100%;height: 1.2rem;padding: 0;background: #f5f5f5;position: absolute;bottom: -1.2rem;left: 0;right: auto;}
 .pd_detail > .inner:last-child::after{content: '';width: 100%;height: 0rem;}
 .pd_detail .pd_info > .inner:last-child {margin-bottom: 1.2rem;padding-bottom: 3rem;}
@@ -589,17 +602,10 @@
 
 /* 재확인할 것 */
 .form_field.mb20{margin-bottom:2rem !important}
-.cs .cs_contactUs_1 .inner.m_pb45{padding-bottom:4.5rem;}
-.btPopAuto_body .opt_count .number_count span.min_val,
-.btPopAuto_body .opt_count .number_count span.max_val {opacity:0.2;}
-.btPopAuto_body .opt_result .number_count span.min_val,
-.btPopAuto_body .opt_result .number_count span.max_val {opacity:0.2;}
-.btPopAuto_body .size{color:#666666}
+/*.cs .cs_contactUs_1 .inner.m_pb45{padding-bottom:4.5rem;}*/
 .opt_name {margin-bottom:0.4rem;}
 .pd_line_box{padding:0.7rem; background:#f5f5f5; width:100%; margin:0 -2rem; display:block; position: absolute; bottom:0;}
 .select_custom .combo .list>li[aria-disabled="true"] .opt_price{color:#bbb !important}
-.dp .open_categori{background-color:#fff; padding: 1.6rem 2rem;}
-.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;}
 /* popup_box알수없음 */
 .dp .popup_box .button_list.clear button{width:100% !important;}
 .dp_lookbook ~ .popup_box .popup_con{margin-bottom:5rem}
@@ -810,14 +816,6 @@
 /* 재확인 할 것 */
 .pd_pop.Purchase_pop .btPop_body{max-height:calc(100% - 14%);}
 .pd_pop.Purchase_pop .select_custom .combo .list{position:relative; top:0; margin-top:-0.6rem}
-.Purchase_pop{transition:none;}
-.Purchase_pop .btPop_foot{position: absolute;width: 100%;bottom: 0; background: #fff;}
-.Purchase_pop .item_prod .itemPercent{left:10.2rem;}
-.Purchase_pop .item_prod .itemPrice_original{margin-left:0.5rem;}
-.Purchase_pop .select_custom.on .combo .select{border-bottom:1px solid #dcdcdc;}
-.Purchase_pop .select_custom .combo .list>li{padding:1.2rem 4.2rem 1.2rem 1.2rem; line-height:2rem; word-wrap: break-word;}
-.Purchase_pop .select_custom .combo .list>li[data-soldout="true"]::after{top:1rem}
-.Purchase_pop .select_custom .opt_price{font-size:1.2rem; color:#888888}
 .btPop_open .btPop.Purchase_pop{bottom:0; top:auto!important; height:84%;}
 .btPop_open .btPop.Purchase_pop .btPop_close{width:1.6rem; height:1.6rem; background-image: url(/images/mo/ico_pop_cls_w.png);}
 /* 재확인 할 것 */
@@ -827,17 +825,11 @@
 .pd_pop.Purchase_pop .option_box .opt_color{padding-top:0}
 .pd_pop.Purchase_pop .btn_box{}
 .pd_pop.Purchase_pop .btn_box:after{content:''; display:block; clear:both;}
-.pd_pop.Purchase_pop .btn_box button {display: block; height: 5.8rem; line-height: 5.8rem; font-size: 1.6rem; font-weight: 500; float:left; width:43%; color:#fff; border-top:1px solid #ddd; box-sizing:border-box;}
-.pd_pop.Purchase_pop .btn_box button.gift{position:relative; background:#444 url(/images/mo/ico_present_purchase.png) center center no-repeat; background-size:1.8rem; font-size:0; width:14%;}
+.pd_pop.Purchase_pop .btn_box button {display: block; height: 5.8rem; line-height: 5.8rem; font-size: 1.6rem; font-weight: 500; float:left; width:100%; color:#fff; border-top:1px solid #ddd; box-sizing:border-box;}
+.pd_pop.Purchase_pop .btn_box button.gift{position:relative; background:#444 url(/images/mo/ico_present_purchase.png) center center no-repeat; background-size:1.8rem; font-size:0; width:30%;}
 .pd_pop.Purchase_pop .btn_box button.gift > span{position:relative; display:inline-block; width:1.8rem; height:1.9rem;}
 .pd_pop.Purchase_pop .btn_box button.gift > span > span{position:absolute; left:0; top:0; display:inline-block; padding:0.3rem 1rem; font-size:1.2rem; color:#fff; background-color:#fd4801; -webkit-transform:translate(0 ,-125%); transform:translateX(0 ,-125%);}
-.pd_pop.Purchase_pop .btn_box button.gift > span > span{
-    background: #ff7800;
-    background: -moz-linear-gradient(-45deg, #ff7800 0%, #fd4b02 100%);
-    background: -webkit-linear-gradient(-45deg, #ff7800 0%,#fd4b02 100%);
-    background: linear-gradient(135deg, #ff7800 0%,#fd4b02 100%);
-    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff7800', endColorstr='#fd4b02',GradientType=1 );
-}
+.pd_pop.Purchase_pop .btn_box button.gift > span > span{background: #ff7800;background: -moz-linear-gradient(-45deg, #ff7800 0%, #fd4b02 100%);background: -webkit-linear-gradient(-45deg, #ff7800 0%,#fd4b02 100%);background: linear-gradient(135deg, #ff7800 0%,#fd4b02 100%);filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff7800', endColorstr='#fd4b02',GradientType=1 );}
 .pd_pop.Purchase_pop .btn_box button.gift > span > span:after{content:''; display:block; position:absolute; bottom:-1rem; left:0.4rem; border:0.5rem solid transparent; border-bottom-color:#ff7800; -webkit-transform:rotate(180deg); transform:rotate(180deg);}
 .pd_pop.Purchase_pop .btn_box button.cart{background-color:#222222;}
 .pd_pop.Purchase_pop .btn_box button.buyNow{background-color:#fd4801;}
@@ -1015,7 +1007,7 @@
 .modal.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont {display:none; position:relative;}
 .modal.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont::after {content:''; clear:both; display:block;}
 .modal.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont:first-of-type {display:block}
-.modal.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont .img_sizeinfo {display:block; text-align:center; border:0.1rem solid #eeeeee; padding:8rem 3rem;}
+.modal.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont .img_sizeinfo {display:block; text-align:center; border:0.1rem solid #eeeeee; padding:3rem 3rem;}
 .modal.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont dl {text-align:left; margin-top:3rem; font-size:1.3rem; word-break:keep-all;}
 .modal.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont dl div {padding:0 0 2rem}
 .modal.pd_pop.info_size_pop .sub_tab_cont_wrap .sub_tab_cont dl div dt {margin-bottom:0.5rem; color:#222; font-weight:300;}
@@ -1089,7 +1081,7 @@
 /* pd_pop > 상품문의 페이지 */
 .modal.pd_pop.pd_qnalist_pop .modal-header {position:fixed; top:0; left:0; right:0; width:100%; height:auto; border-bottom:1px solid #eee !important; box-sizing:border-box; background:#fff; z-index:11; box-sizing:border-box;}
 .modal.pd_pop.pd_qnalist_pop .modal-body{position:relative; margin:auto; padding:9.3rem 0 3rem;}
-.modal.pd_pop.pd_qnalist_pop .ui_row{margin:0 -1.33rem!important; width:auto;}
+.modal.pd_pop.pd_qnalist_pop .ui_row{margin:0 0 0 -1.3rem!important; width:auto;}
 .modal.pd_pop.pd_qnalist_pop .pd_qnalist > .btn_group_flex{position:fixed; width: 100%; bottom: 0; margin-top: 0;}
 .modal.pd_pop.pd_qnalist_pop .btn_group_flex > div > .btn{height:5.3rem;}
 .pd_qnalist_pop .foldGroup > ul > li{border-bottom:0px none;}
@@ -1108,7 +1100,7 @@
 .pd_qnalist .qna_list .form_field input[type="checkbox"] + label:before,
 .pd_qnalist .qna_list .form_field input[type="checkbox"] + label:after {top:50%; transform:translateY(-50%); margin-top:0;}
 .pd_qnalist .qna_list .foldGroup .fold_head a{padding: 1.4rem 3rem; border-bottom:0.1rem solid #E5E5E5;}
-.pd_qnalist .pd_qnalist .qna_list .foldGroup .fold_head a{padding: 1.4rem 1.6rem; border-bottom:0.1rem solid #E5E5E5;} /* 재확인 할 것 */
+/*.pd_qnalist .pd_qnalist .qna_list .foldGroup .fold_head a{padding: 1.4rem 1.6rem; border-bottom:0.1rem solid #E5E5E5;}*/
 .pd_qnalist .qna_list .foldGroup .fold_head .fold_tit .ico {display:inline-block; width:auto; height:auto; vertical-align:middle;}
 .pd_qnalist .qna_list .foldGroup .fold_head .fold_tit .ico_myqna::after {content:'내문의'; display:inline-block; margin-right:1rem; color:#fd4802; font-size:1.1rem; text-align:center; box-sizing:border-box; line-height:20px;}
 .pd_qnalist .qna_list .foldGroup .fold_head .fold_tit .ico_secret::after {content:''; display:inline-block; margin-right:1rem; width:1.2rem; height:1.2rem; background:url('/images/mo/ico_secret.png') no-repeat 50% 50%; background-size:contain;}
@@ -1137,7 +1129,7 @@
 .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: 1.5rem; bottom: 1.5rem; text-align: right; font-size: 1.2rem; z-index:1;}
+.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 .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;}
@@ -1506,8 +1498,7 @@
 .pd_listDescrp_pop .deal_list_select .list li{border-bottom:0 none;}
 .deal_list_select .select {cursor: pointer;display: inline-block; position: relative;font-size: 1.6rem;color: #333333;width: 100%; height:66px;}
 .deal_list_select .list{background-color:#fff;}
-.deal_list_select .list li{position: relative; border-bottom:1px solid #eeeeee;}
-.deal_list_select .list li {position: relative; display:table; width:100%; box-sizing: border-box; z-index:1;} /* 재확인 할 것 */
+.deal_list_select .list li{position: relative; border-bottom:1px solid #eeeeee; display:table; width:100%; box-sizing: border-box; z-index:1;}
 .deal_list_select .list li:after{content:''; position:absolute; width:100%; height:100%; top:0; left:0; box-sizing:border-box; z-index:2;}
 .deal_list_select .list li:first-child{margin-top:0;}
 .deal_list_select .list li.selected:after{border:1px solid #fd4802;}
@@ -1601,6 +1592,8 @@
 .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 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;}
 .dp .dp_util li:first-child{margin-left:0;}
@@ -1790,7 +1783,6 @@
 .dp .items_option{margin:0 -2.1rem;}
 .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 .items_option #filter{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.typeSelector{padding-bottom:3rem;margin-bottom: -1.2rem;}

+ 10 - 10
src/main/webapp/ux/mo/css/style24_m.css

@@ -653,7 +653,7 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 .cmt_wrap .cmt_tarea {padding:0 2rem;}
 .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 .cmt_thumb .imgUpload {margin:0 -1%;} */
 .cmt_wrap .doc_contactus {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;}
@@ -932,19 +932,19 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 
 .btn_group_flex > div > .btn {padding:1.2rem 1.3rem;}
 .goods_btn_wrap {display:flex; flex-wrap: wrap; width:100%; align-items:stretch; flex-direction:row;}
-.goods_btn_wrap > div {margin:0px 0.4rem; flex:1;}
+.goods_btn_wrap > div {margin:0 0.4rem 0.5rem 0; flex:1;}
 .goods_btn_wrap > div:first-child {margin-left:0}
 .goods_btn_wrap > div:last-child {margin-right:0}
 .goods_btn_wrap > div > .btn {display:block; width:100%; height:100%; border:1px solid #a7a7a7; font-size: 1.2rem; padding:1rem 1.3rem; font-weight: 500;}
 .goods_btn_wrap > div > .btn.btn_primary {background-color:#fff; border-color:#fd4802; color: #fd4802;}
 
-.goods_btn_wrap.type1 {font-size: 0;}
-.goods_btn_wrap.type1 > div {width: 50%; margin:0; display: inline-block; flex:none;}
-.goods_btn_wrap.type1 > div:first-child {padding-right: 0.4rem; padding-bottom: 0.4rem;}
-.goods_btn_wrap.type1 > div:nth-child(2) {padding-left: 0.4rem; padding-bottom: 0.4rem;}
-.goods_btn_wrap.type1 > div:nth-child(3) {padding-right: 0.4rem; padding-top: 0.4rem;}
-.goods_btn_wrap.type1 > div:nth-child(4) {padding-left: 0.4rem; padding-top: 0.4rem;}
-.goods_btn_wrap.type1 > div > .btn {font-size: 1.4rem;}
+.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(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;}
 
 /* my_main */
 /* main.container.my .inner:last-child {padding-bottom: 0;} */
@@ -996,7 +996,7 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 
 .my .part_goods {position:relative;}
 .my .part_goods:first-child {margin-top: -1.2rem; padding-top:3rem}
-.my .part_goods h3.subH2 span {color:#888; font-size:16px; font-weight:200;}
+.my .part_goods h3.subH2 span {color:#888; font-size:1.6rem; font-weight:200;}
 .my .part_goods .goods_section {padding-bottom: 2.4rem; margin-bottom: 2.4rem; border-bottom: 1px solid #eee;}
 .my .part_goods .goods_section:last-of-type {margin-bottom: 0; border-bottom: 0;}
 .my .part_goods .btn_area {position:absolute; right:0; top:-8px; z-index:2;}

+ 41 - 17
src/main/webapp/ux/mo/js/common_m.js

@@ -153,6 +153,7 @@ $(document).ready(function() {
                 var cmtIn = $('.form_field .imgUpload input');
                 var myrvLa = $('.form_field .imgUpload label');
                 var myrvIn = $('.form_field .imgUpload input');
+
                 for (var i = 0; i < filesLength; i++) {
                     var f = files[i]
                     var fileReader = new FileReader();
@@ -176,11 +177,7 @@ $(document).ready(function() {
                 fileReader.readAsDataURL(f);
                     var maxFileLength = 10; /* 최대 파일 갯수를 입력해 주세요 */
                     var imgFiles=$('.imgUpload .pics');
-                    var cmtLa = $('.form_field .imgUpload label');
-                    var cmtIn = $('.form_field .imgUpload input');
-                    var myrvLa = $('.form_field .imgUpload label');
-                    var myrvIn = $('.form_field .imgUpload input');
-                    console.log(imgFiles.length)
+
                     if (imgFiles.length >= maxFileLength-1) {
                         //mcxDialog.alert('이미지는 최대' + maxFileLength +'장 까지 첨부 가능합니다.'); //210507_삭제
                         $('#fileAdd').attr("disabled",true);
@@ -198,12 +195,14 @@ $(document).ready(function() {
         }
     });
 
+    //210514_ 수정 : 파일첨부가 최대 2개일 경우 스크립트 수정.
     // input-File-Adds
     $(document).ready(function() {
         if (window.File && window.FileList && window.FileReader) {
             $("#fileAdds").on("change", function(e) {
                 var files = e.target.files,
                     filesLength = files.length;
+                var cmtLa = $('.form_field .imgUpload label');
                 for (var i = 0; i < filesLength; i++) {
                     var f = files[i]
                     var fileReader = new FileReader();
@@ -212,13 +211,26 @@ $(document).ready(function() {
                         $("<span class=\"pics\">" +
                             "<img class=\"picsThumbs\" src=\"" + e.target.result + "\" title=\"" + file.name + "\"/>" +
                             "<br/><span class=\"removes\">Removes image</span>" +
-                            "</span>").insertAfter("#fileAdds");
+                            "</span>").insertBefore(".fileAdd");
                         $(".removes").click(function(){
+                            cmtLa.css('display', 'block');
+                            $(this).parent(".pics").closest(".imgUpload").children("input").val("");
                             $(this).parent(".pics").remove();
+                            $('#fileAdds').removeAttr("disabled");
                         });
                     });
                 fileReader.readAsDataURL(f);
-                }
+                    var maxFileLength = 2; /* 최대 파일 갯수를 입력해 주세요 */
+                        var imgFiles=$('.imgUpload .pics');
+                        
+                        if (imgFiles.length >= maxFileLength-1) {
+                            //mcxDialog.alert('이미지는 최대' + maxFileLength +'장 까지 첨부 가능합니다.'); //210507_삭제
+                            $('#fileAdds').attr("disabled",true);
+                            cmtLa.css('display', 'none');
+                        } else if(imgFiles.length < maxFileLength){
+                            $('#fileAdds').removeAttr("disabled");
+                        }
+                    }
             });
         } else {
             alert("브라우저가 File API를 지원하지 않습니다.")
@@ -813,16 +825,16 @@ $(document).ready(function () {
         //});
 
         // 210407_텍스트 카운팅
-        $('.doc_itemqna').keyup(function (e){
-            var content = $(this).val();
-            $('#itemqna_cnt').html("<em class='c_primary'>"+content.length+"</em>/500자");//글자수 실시간 카운팅
+        //$('.doc_itemqna').keyup(function (e){
+        //    var content = $(this).val();
+        //    $('#itemqna_cnt').html("<em class='c_primary'>"+content.length+"</em>/500자");//글자수 실시간 카운팅
         
-            if (content.length > 200){
-                mcxDialog.alert("최대 500자까지 입력 가능합니다."); //210420_수정 : 시스템 alert -> dialog 변경.
-                $(this).val(content.substring(0, 500));
-                $('#itemqna_cnt').html("<em class='c_primary'>500</em>/500자");
-            }
-        });
+        //    if (content.length > 200){
+        //        mcxDialog.alert("최대 500자까지 입력 가능합니다."); //210420_수정 : 시스템 alert -> dialog 변경.
+        //        $(this).val(content.substring(0, 500));
+        //        $('#itemqna_cnt').html("<em class='c_primary'>500</em>/500자");
+        //    }
+        //});
 
         // 210407_스크롤감지 헤더 그림자
         $('.pd_delivery_pop').scroll(function(){
@@ -963,7 +975,19 @@ $( document ).ready( function() {
         //     $("body").css({"overflow":"visible"});
         // })
 
-        
+        $(window).on('mousewheel',function(e){
+            var wheel = e.originalEvent.wheelDelta;
+            //스크롤값을 가져온다.
+            if(wheel>0){
+            //스크롤 올릴때
+            $("header").css('display', 'block');
+            $("header").css('position', 'fixed');
+            } else {
+            //스크롤 내릴때
+            $("header").css('display', 'none');
+            $("header").css('position', 'fixed');
+            }
+        });
 
 });
 // $(window).load(function() {

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

@@ -1239,7 +1239,7 @@ var cfnGoToPollDetail = function (planSq) {
  */
 var cfnGoToLookbookList = function (lookbookGb, brandGroupNo) {
 	var params = '?lookbookGb='+lookbookGb;
-	if (typeof (brandGroupNo) != 'undefined') params += '&brandCd=' + brandGroupNo;
+	if (typeof (brandGroupNo) != 'undefined') params += '&brandGroupNo=' + brandGroupNo;
 
 	cfnGoToPage(_PAGE_LOOKBOOK_MAIN + params);
 }