Sfoglia il codice sorgente

Merge branch 'develop' into eskim

eskim 5 anni fa
parent
commit
4c7c8de729

+ 5 - 0
src/main/java/com/style24/front/biz/service/TsfCouponService.java

@@ -529,6 +529,11 @@ public class TsfCouponService {
 	 */
 	@Transactional("shopTxnManager")
 	public int downloadCustGradeCoupon(Integer custNo) {
+
+		if (custNo == null || custNo == 0) {
+			throw new IllegalStateException("고객정보가 없습니다. 다시 로그인 하시기 바랍니다.");
+		}
+
 		// 1. 고객정보 조회
 		Customer custInfo = customerService.getCustomerFindByCustNo(custNo);
 

+ 15 - 0
src/main/java/com/style24/front/biz/web/TsfCustomerController.java

@@ -925,4 +925,19 @@ public class TsfCustomerController extends TsfBaseController {
 		return mav;
 	}
 
+	/**
+	 * 비회원주문확인 화면
+	 *
+	 * @return ModelAndView
+	 * @author jsshin
+	 * @since 2021. 04. 20
+	 */
+	@GetMapping("/noncust/order/confirm/form")
+	public ModelAndView getNonCustOrderConfirmForm() {
+		ModelAndView mav = new ModelAndView();
+		mav.setViewName(super.getDeviceViewName("customer/NonCustOrderConfirmForm"));
+		return mav;
+	}
+
+
 }

+ 51 - 0
src/main/java/com/style24/front/biz/web/TsfDisplayController.java

@@ -711,4 +711,55 @@ public class TsfDisplayController extends TsfBaseController {
 		return goodsList;
 	}
 
+	/**
+	 * 아울렛 메인
+	 * @param cate - 카테고리 정보
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 4. 20
+	 */
+	@GetMapping("/outlet/main/form")
+	public ModelAndView outletMain(Cate4Srch cate) {
+		ModelAndView mav = new ModelAndView(super.getDeviceViewName("display/OutletMainForm"));
+
+		MainLayout mainLayout = new MainLayout();
+		mainLayout.setCateNo(cate.getCate1No());
+		Collection<MainLayout> mainLayoutCollection = displayService.getMainLayout(mainLayout);
+		Collection<MainLayout> outletMainLayoutList = new ArrayList<MainLayout>();
+
+		for (MainLayout cateMain : mainLayoutCollection) {
+			if ("SOM001".equals(cateMain.getContentsLoc())) {
+				// 기획전
+				Contents contents = new Contents();
+				contents.setContentsLoc("SOM001");
+				contents.setCateNo(cate.getCate1No());
+				mav.addObject("planningList", displayService.getContentsList(contents));
+			} else if ("SOM002".equals(cateMain.getContentsLoc())) {
+				// md추천
+				cate.setContentsLoc("SOM002");
+				cate.setMaxRow(20);
+				cate.setCate1No(3000);
+				mav.addObject("mdPickGoodsList", goodsService.getContentsCategoryGoodsList(cate));
+			} else if ("SOM003".equals(cateMain.getContentsLoc())) {
+				// 베스트품
+				cate.setContentsLoc("SOM003");
+				cate.setMaxRow(20);
+				cate.setCate1No(3000);
+				mav.addObject("bestGoodsList", goodsService.getContentsCategoryGoodsList(cate));
+			}
+
+			outletMainLayoutList.add(cateMain);
+		}
+
+		mav.addObject("outletMainLayoutList", outletMainLayoutList);
+		mav.addObject("preview", cate.getPreview());
+		mav.addObject("viewDt", cate.getViewDt());
+		mav.addObject("viewPage", "G037_30");
+		mav.addObject("popupCateNo", cate.getCate1No());
+
+		mav.addObject("params", cate);
+
+		return mav;
+	}
+
 }

+ 6 - 3
src/main/java/com/style24/persistence/mybatis/shop/TsfCoupon.xml

@@ -176,6 +176,7 @@
 		ON    CGP.GRADE_CPN_ID1 = CP.CPN_ID
 		WHERE CGP.GRADE_CD = #{custGrade}
 		AND   CP.SITE_CD = #{siteCd}
+		AND   CP.CPN_STAT = 'G232_11'
 	</select>
 	
 	<!--상품 쿠폰 조회-->
@@ -1065,6 +1066,7 @@
 		     , DATE_FORMAT(CONCAT(LAST_DAY(NOW()), ' 23:59:59'), '%Y%m%d%H%i%S')               AS AVAIL_EDDT
 		FROM  TB_COUPON CP
 		WHERE CP.CPN_ID = #{cpnId}
+		AND   CP.CPN_STAT = 'G232_11'
 		AND   NOT EXISTS (
 		                  SELECT 1
 		                  FROM   TB_CUST_COUPON CC
@@ -1080,8 +1082,8 @@
 		SELECT CP.CPN_ID
 		     , CP.END_ALIM_YN
 		     , CASE WHEN CP.DC_WAY = 'G240_10' THEN '원'
-            		ELSE '%'
-                                                         END             AS DC_WAY    /*할인방법*/
+		            ELSE '%'
+		       END                                      AS DC_WAY    /*할인방법*/
 		     , CASE WHEN #{frontGb} = 'P' THEN CP.DC_PVAL
 		            WHEN #{frontGb} = 'M' THEN CP.DC_MVAL
 		            WHEN #{frontGb} = 'A' THEN CP.DC_AVAL
@@ -1092,7 +1094,8 @@
 		            ELSE  DATE_FORMAT(CP.AVAIL_EDDT, '%Y%m%d%H%i%S')             END AS AVAIL_EDDT
 		FROM  TB_COUPON CP
 		WHERE CP.CPN_ID = #{cpnId}
-		AND   CP.SITE_CD = #{siteCd}	
+		AND   CP.SITE_CD = #{siteCd}
+		AND   CP.CPN_STAT = 'G232_11'
 	</select>
 
 </mapper>

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

@@ -15,7 +15,7 @@
  *******************************************************************************
  -->
 <head th:replace="~{mob/common/fragments/HeadMob :: head}"></head>
-<th:block th:replace="~{mob/common/fragments/VariablesMob :: variables}"></th:block>
+<th:block th:replace="~{web/common/fragments/VariablesWeb :: variables}"></th:block>
 <th:block th:replace="~{mob/common/fragments/ScriptsMob :: scripts}"></th:block>
 <body>
 

+ 0 - 42
src/main/webapp/WEB-INF/views/mob/common/fragments/VariablesMob.html

@@ -1,42 +0,0 @@
-<!DOCTYPE html>
-<html lang="ko"
-	xmlns:th="http://www.thymeleaf.org">
-<!--
- *******************************************************************************
- * @source  : VariablesMob.html
- * @desc    : Global variables 설정
- *            prefix를 _(underbar)로 시작한다.
- *============================================================================
- * STYLE24
- * Copyright(C) 2020 TSIT, All rights reserved.
- *============================================================================
- * VER  DATE         AUTHOR      DESCRIPTION
- * ===  ===========  ==========  =============================================
- * 1.0  2021.03.09   gagamel     최초 작성
- *******************************************************************************
- -->
-<th:block th:fragment="variables">
-<script th:inline="javascript">
-/*<![CDATA[*/
-var _frontUrl = [[${@environment.getProperty('domain.front')}]];
-var _uximgUrl = [[${@environment.getProperty('domain.uximage')}]];
-var _imgUrl = [[${@environment.getProperty('domain.image')}]];
-var _uploadDefaultUrl = [[${@environment.getProperty('upload.default.view')}]];
-var _uploadGoodsUrl = [[${@environment.getProperty('upload.goods.view')}]];
-var _uploadImageUrl = [[${@environment.getProperty('upload.image.view')}]];
-var _frontGb = [[${frontGb}]];
-
-var _today = [[${#calendars.format(#calendars.createNow(), 'yyyy-MM-dd')}]];
-var _realtime = [[${#calendars.format(#calendars.createNow(), 'HHmmss')}]];
-var _thisYear = [[${#calendars.format(#calendars.createNow(), 'yyyy')}]];
-
-// App Info.
-var _osType = [[${osType}]];
-var _isApp = [[${isApp}]];
-var _appName = [[${appName}]];
-var _appVersion = [[${appVersion}]];
-/*]]>*/
-</script>
-</th:block>
-
-</html>

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/common/layout/CallcenterLayoutMob.html

@@ -7,7 +7,7 @@
 
 <body>
 
-	<th:block th:replace="~{mob/common/fragments/VariablesMob :: variables}"></th:block>
+	<th:block th:replace="~{web/common/fragments/VariablesWeb :: variables}"></th:block>
 	
 	<div class="app">
 		<!-- GNB -->

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/common/layout/DefaultLayoutMob.html

@@ -7,7 +7,7 @@
 
 <body>
 
-	<th:block th:replace="~{mob/common/fragments/VariablesMob :: variables}"></th:block>
+	<th:block th:replace="~{web/common/fragments/VariablesWeb :: variables}"></th:block>
 	
 	<div class="app">
 		<!-- GNB -->

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

@@ -7,7 +7,7 @@
 
 <body>
 
-	<th:block th:replace="~{mob/common/fragments/VariablesMob :: variables}"></th:block>
+	<th:block th:replace="~{web/common/fragments/VariablesWeb :: variables}"></th:block>
 	
 	<div class="app">
 		<!-- GNB -->

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/common/layout/LoginLayoutMob.html

@@ -7,7 +7,7 @@
 
 <body>
 
-	<th:block th:replace="~{mob/common/fragments/VariablesMob :: variables}"></th:block>
+	<th:block th:replace="~{web/common/fragments/VariablesWeb :: variables}"></th:block>
 	
 	<div class="app">
 		<!-- CONTENT AREA -->

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/common/layout/MypageLayoutMob.html

@@ -7,7 +7,7 @@
 
 <body>
 
-	<th:block th:replace="~{mob/common/fragments/VariablesMob :: variables}"></th:block>
+	<th:block th:replace="~{web/common/fragments/VariablesWeb :: variables}"></th:block>
 	
 	<div class="app">
 		<!-- GNB -->

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/common/layout/SubLayoutMob.html

@@ -2,7 +2,7 @@
 <html lang="ko" xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
 <head th:replace="~{mob/common/fragments/HeadMob :: head}"></head>
 <body>
-	<th:block th:replace="~{mob/common/fragments/VariablesMob :: variables}"></th:block>
+	<th:block th:replace="~{web/common/fragments/VariablesWeb :: variables}"></th:block>
 	<th:block th:replace="~{mob/common/fragments/ScriptsMob :: scripts}"></th:block>
 	<div class="app">
 		<!-- GNB -->

+ 1 - 0
src/main/webapp/WEB-INF/views/web/common/fragments/VariablesWeb.html

@@ -25,6 +25,7 @@ var _uploadDefaultUrl = [[${@environment.getProperty('upload.default.view')}]];
 var _uploadGoodsUrl = [[${@environment.getProperty('upload.goods.view')}]];
 var _uploadImageUrl = [[${@environment.getProperty('upload.image.view')}]];
 var _frontGb = [[${frontGb}]];
+var _kollusMediaUrl = [[${kollusMediaUrl}]];
 
 var _today = [[${#calendars.format(#calendars.createNow(), 'yyyy-MM-dd')}]];
 var _realtime = [[${#calendars.format(#calendars.createNow(), 'HHmmss')}]];

+ 106 - 0
src/main/webapp/WEB-INF/views/web/customer/NonCustOrderConfirmFormWeb.html

@@ -0,0 +1,106 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org"
+	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
+	layout:decorator="web/common/layout/DefaultLayoutWeb">
+<!--
+ *******************************************************************************
+ * @source  : NonCustOrderConfirmFormWeb.html
+ * @desc    : 비회원주문확인
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2021 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.04.20   jsshin     최초 작성
+ *******************************************************************************
+ -->
+<body>
+<th:block layout:fragment="content">
+<!--  container -->
+<div id="container" class="container mb">
+	<div class="wrap">
+		<div class="content non_mb_oder"> <!-- 페이지특정 클래스 = non_mb_oder -->
+			<div class="cont_head">
+				<h4>비회원 주문 조회</h4>
+			</div>
+			<div class="cont_body">
+				<form id="nonCustOrderForm" class="form_wrap form_col_c form_full" role="form">
+					<div class="form_info">
+						<span class="ico_content_order"></span>
+						<p>
+							고객님의 주문 확인을 위해<br>주문번호 와 비밀번호를 입력하여 주세요.
+						</p>
+					</div>
+					<div class="form_field mt40">
+						<label class="input_label sr-only">이름(주문자명)</label>
+						<div class="ui_col_12">
+							<div class="input_wrap">
+								<input type="text" name="ordNm" placeholder="이름(주문자명)" id="ordNm" minlength="20" required="required" data-valid-name="이름"/>
+							</div>
+						</div>
+					</div>
+					<div class="form_field">
+						<label class="input_label sr-only">휴대폰 번호</label>
+						<div class="ui_col_12">
+							<div class="input_wrap">
+								<input type="text" name="ordTelno" placeholder="휴대폰 번호" id="ordTelno" minlength="10" maxlength="11" required="required" data-valid-type="numeric" data-valid-name="휴대폰"/>
+							</div>
+						</div>
+					</div>
+					<div class="form_field">
+						<label class="input_label sr-only">주문번호</label>
+						<div class="ui_col_12">
+							<div class="input_wrap">
+								<input type="text" name="ordNo" placeholder="주문 번호" id="ordNo" required="required" data-valid-type="numeric" data-valid-name="주문번호"/>
+							</div>
+						</div>
+					</div>
+					<div class="btn_group_block btn_group_md ui_row mb40">
+						<div class="ui_col_12">
+							<button type="button" id="btnNonOrder" class="btn btn_primary btn_block">
+								<span>비회원 주문확인</span>
+							</button>
+						</div>
+					</div>
+					<div class="form_summary clear">
+						<p class="txt normal">
+							STYLE24 고객센터
+							<span data-font="lato" class="c_primary ml10 bold">1544-5336</span>
+						</p>
+						<p class="t_info light mb40">
+							비회원 주문확인 중 궁금하신 사항은 고객센터로 문의해주세요.
+						</p>
+						<p class="txt normal">
+							아직 STYLE24 회원이 아니시라면?
+							<button type="button" class="btn btn_default" onclick="cfnGoToPage(_PAGE_CUSTOMER_JOIN_TYPE);">
+								<span>회원가입</span>
+							</button>
+						</p>
+						<p class="t_info light">
+							쇼핑 혜택충만! STYLE24 회원이 되세요!
+						</p>
+					</div>
+				</form>
+			</div>
+		</div>
+	</div>
+</div>
+<script th:inline="javascript">
+/*<![CDATA[*/
+	$('#btnNonOrder').on('click', function () {
+		if (!gagajf.validation($('#nonCustOrderForm'))) {
+			return;
+		}
+		mcxDialog.alert("개발중입니다.");
+	});
+
+/*]]>*/
+</script>
+
+</th:block>
+</body>
+</html>
+
+

+ 3 - 3
src/main/webapp/WEB-INF/views/web/display/CategoryMainFormWeb.html

@@ -29,7 +29,7 @@
 	</div>
 
 	<div class="wrap">
-		<th:block th:if="${cateMainLayoutList}" th:each="mainLayoutData, mainStat : ${cateMainLayoutList}" th:with="contentsLoc=${#strings.replace(mainLayoutData.contentsLoc,'SCM','')}">
+		<th:block th:if="${cateMainLayoutList}" th:each="mainLayoutData, mainStat : ${cateMainLayoutList}" th:with="contentsLoc=${#strings.replace(mainLayoutData.contentsLoc,'SCM','')},contentsTitle=${brandMainLayoutData.contentsTitle}">
 			<th:block th:if="${contentsLoc=='001'}">
 				<div class="content dp_submain" > <!-- 페이지특정 클래스 = dp_list -->
 					<div class="cont_head">
@@ -83,7 +83,7 @@
 				<!-- 신상품 -->
 				<div class="content wide new_item" th:if="${newGoodsList != null}">
 					<div class="cont_head">
-						<h3 class="displayH">신상품</h3>
+						<h3 class="displayH" th:text="${contentsTitle}">신상품</h3>
 					</div>
 					<div class="cont_body">
 						<div class="swiper-container post-trendy">
@@ -116,7 +116,7 @@
 			<th:block th:if="${contentsLoc=='003'}">
 				<div class="content dp_best_list" th:if="${bestGoodsList != null}">
 					<div class="cont_head">
-						<h3 class="displayH">베스트</h3>
+						<h3 class="displayH" th:text="${contentsTitle}">베스트</h3>
 					</div>
 					<div class="cont_body">
 						<div class="list_content">

+ 228 - 0
src/main/webapp/WEB-INF/views/web/display/OutletMainFormWeb.html

@@ -0,0 +1,228 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org"
+	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
+	layout:decorator="web/common/layout/DefaultLayoutWeb">
+<!--
+ *******************************************************************************
+ * @source  : OutletMainFormWeb.html
+ * @desc    : 아울렛메인 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.04.20   bin2107     최초 작성
+ *******************************************************************************
+ -->
+<body>
+
+<th:block layout:fragment="content">
+
+	<div id="container" class="container dp">
+		<div class="breadcrumb">
+			<ul>
+				<li class="bread_home"><a href="index.html">홈</a></li>
+				<li class="bread_2depth">아울렛</li>
+			</ul>
+		</div>
+
+		<div class="wrap">
+			<th:block th:if="${outletMainLayoutList}" th:each="mainLayoutData, mainStat : ${outletMainLayoutList}" th:with="contentsLoc=${#strings.replace(mainLayoutData.contentsLoc,'SOM','')},contentsTitle=${mainLayoutData.contentsTitle}">
+			<!-- 상단 스크롤 슬라이드 배너 -->
+			<th:block th:if="${contentsLoc=='001'}">
+			<div class="content dp_submain">
+				<div class="cont_head">
+					<div>
+						<h3>아울렛</h3>
+					</div>
+				</div>
+				<div class="cont_body" th:if="${planningList != null and !planningList.empty}">
+					<div class="swiper-container">
+						<div class="swiper-wrapper">
+							<div class="swiper-slide" th:each="item, status : ${planningList}">
+								<a th:href="${item.strVar1}">
+									<div class="img">
+										<img th:src="${@environment.getProperty('domain.image') + item.imgPath1}" alt="서브메인 썸네일">
+									</div>
+									<div class="txt">
+										<p class="subject" th:text="${item.strTitle1}"></p>
+										<span th:text="${item.subText1}"></span>
+									</div>
+								</a>
+							</div>
+						</div>
+						<div class="swiper-controls">
+							<div class="swiper-scrollbar"></div>
+						</div>
+					</div>
+				</div>
+			</div>
+			</th:block>
+			<!-- //상단 스크롤 슬라이드 배너 -->
+
+			<th:block th:if="${contentsLoc=='004'}">
+				<!-- 카테고리 바로가기 -->
+				<div class="content wide dp_category">
+					<div class="cont_head">
+						<h4>카테고리 바로가기</h4>
+					</div>
+					<div class="cont_body">
+						<div class="dp_cate_list">
+							<a href="">전체</a>
+							<a href="">여성</a>
+							<a href="">남성</a>
+							<a href="">유아동</a>
+							<a href="">골프</a>
+							<a href="">라이프</a>
+						</div>
+					</div>
+				</div>
+			</th:block>
+
+			<!-- MD 추천 아이템 -->
+			<th:block th:if="${contentsLoc=='002'}">
+			<div class="content md_item" th:if="${mdPickGoodsList != null}">
+				<div class="cont_head">
+					<h4 th:text="${contentsTitle}">MD가 추천하는 아울렛 아이템</h4>
+				</div>
+				<div class="cont_body">
+					<div class="swiper-container">
+						<div class="swiper-wrapper">
+							<div class="swiper-slide" th:each="item, status : ${mdPickGoodsList}">
+								<div class="item_prod">
+									<div class="item_state">
+										<button type="button" class="itemLike" th:classappend="${item.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${item.goodsCd}, ithrCd='', contentsLoc='SOM002', planDtlSq=''">관심상품 추가</button>
+										<a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${item.goodsCd}]], '', '', 'SOM002');">
+											<div class="itemPic">
+												<img alt="BLUE-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + item.sysImgNm}" th:alt="${item.goodsCd}"/>
+											</div>
+											<p class="itemBrand" th:text="${item.brandGroupNm}">BRAND NAME</p>
+											<div class="itemName" th:text="${item.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
+											<p class="itemPrice">[[${#numbers.formatInteger(item.currPrice,0,'COMMA')} + 원]]
+												<span class="itemPrice_original" th:if="${item.currPrice != item.listPrice}" th:text="${#numbers.formatInteger(item.listPrice,3,'COMMA')}">89,000</span>
+												<span class=" itemPercent" th:if="${item.currPrice != item.listPrice}" th:text="${(item.listPrice == 0 ? 0 : #numbers.formatDecimal((item.listPrice - item.currPrice) / (item.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
+											</p>
+											<div class="itemComment" th:text="${item.goodsTnm}">#주문 폭주 상품</div>
+										</a>
+									</div>
+								</div>
+							</div>
+						</div>
+					</div>
+					<div class="swiper-pagination"></div>
+					<div class="swiper-button-prev"></div>
+					<div class="swiper-button-next"></div>
+				</div>
+			</div>
+			</th:block>
+			<!-- //MD 추천 아이템 -->
+			<!-- 베스트 상품 리스트 -->
+			<th:block th:if="${contentsLoc=='003'}">
+			<div class="content dp_best_list" th:if="${bestGoodsList != null}">
+				<div class="cont_head">
+					<div>
+						<h4 th:text="${contentsTitle}">베스트</h4>
+					</div>
+				</div>
+				<div class="cont_body">
+					<div class="list_content">
+						<div class="itemsGrp"> <!-- itemsGrp rank hot deal -->
+							<div class="item_prod" th:each="item, status : ${bestGoodsList}">
+								<div class="item_state">
+									<button type="button" class="itemLike" th:classappend="${item.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${item.goodsCd}, ithrCd='', contentsLoc='SOM003', planDtlSq=''">관심상품 추가</button>
+									<a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${item.goodsCd}]], '', '', 'SOM003');">
+										<div class="rank ranker"><span>1</span></div>
+										<div class="itemPic">
+											<img alt="BLUE-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + item.sysImgNm}">
+										</div>
+										<p class="itemBrand" th:text="${item.brandGroupNm}">BRAND NAME</p>
+										<div class="itemName" th:text="${item.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
+										<p class="itemPrice">[[${#numbers.formatInteger(item.currPrice,0,'COMMA')} + 원]]
+											<span class="itemPrice_original" th:if="${item.currPrice != item.listPrice}" th:text="${#numbers.formatInteger(item.listPrice,3,'COMMA')}">89,000</span>
+											<span class=" itemPercent" th:if="${item.currPrice != item.listPrice}" th:text="${(item.listPrice == 0 ? 0 : #numbers.formatDecimal((item.listPrice - item.currPrice) / (item.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
+										</p>
+										<div class="itemcolorchip">
+											<span class="chip_color35" value="ABM">BEIGE</span>
+											<span class="chip_color54" value="BDS">BLACK</span>
+											<span class="chip_color40" value="YBR">WHITE</span>
+										</div>
+										<p class="itemBadge">
+											<span class="badge13">베스트 </span>
+										</p>
+										<div class="itemComment" th:text="${item.goodsTnm}">#주문 폭주 상품</div>
+									</a>
+								</div>
+							</div>
+						</div>
+					</div>
+				</div>
+			</div>
+			</th:block>
+			</th:block>
+			<!-- //베스트 상품 리스트 -->
+		</div>
+	</div>
+
+	<script th:inline="javascript">
+/*<![CDATA[*/
+	$(document).ready(function() {
+		//fnSetCategory1Depts();
+	});
+
+	/* SLIDE - 상단 스크롤 슬라이드 배너 */
+	var submain_slide = new Swiper('.dp_submain .swiper-container', {
+		slidesPerView: 4,
+		spaceBetween: 20,
+		freeMode:true,
+		scrollbar: {
+			el: '.dp_submain .swiper-scrollbar',
+			hide: false,
+		},
+	});
+
+	/* SLIDE - MD ITEMS */
+	var dp_submain_mditem = new Swiper('.dp .md_item .swiper-container', {
+		slidesPerView: 5,
+		spaceBetween: 20,
+		watchSlidesProgress: true,
+		watchSlidesVisibility: true,
+		allowTouchMove: false,
+		speed : 1000,
+		autoplay: {
+			delay: 3000,
+			disableOnInteraction:false,
+		},
+		navigation: {
+			nextEl: '.dp .md_item .swiper-button-next',
+			prevEl: '.dp .md_item .swiper-button-prev',
+		},
+		pagination: {
+			el: '.dp .md_item .swiper-pagination',
+			clickable: true,
+		},
+	});
+// 카테고리1Depts 설정
+	var fnSetCategory1Depts = function() {
+		let allCate = [[${allCateList}]];
+		$.each(allCate, function(idx1, cate1) {
+			if ([[${params.cate1No}]] == cate1.cate1No) {
+				let tag = '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\'' + cate1.cateGb + '\', ' + cate1.cate1No + ');">전체</a>\n';
+				if (cate1.leafYn == 'N' && cate1.cate2List.length > 0) {
+					$.each(cate1.cate2List, function(idx2, cate2) {
+						tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\'' + cate2.cateGb + '\',' + cate2.cate1No + ',' + cate2.cate2No + ');">' + cate2.cate2Nm + '</a>\n';
+					});
+				}
+				$('.dp_cate_list').html(tag);
+				$('.cate1Nm').html(cate1.cate1Nm);
+			}
+		});
+	}
+/*]]>*/
+</script>
+
+</th:block>
+
+</body>
+</html>

+ 19 - 0
src/main/webapp/ux/style24_link.js

@@ -11,6 +11,7 @@ const _PAGE_CATE_MAIN = _frontUrl + "/display/category/main/form";		// 카테고
 const _PAGE_BRAND_MAIN = _frontUrl + "/display/brand/main/form";		// 브랜드메인
 const _PAGE_CATE_GOODS_LIST = _frontUrl + "/display/category/goods/list/form";	// 카테고리 상품목록
 const _PAGE_BEST_MAIN = _frontUrl + "/display/best/main/form";		// 베스트메인
+const _PAGE_OUTLET_MAIN = _frontUrl + "/display/outlet/main/form";		// 아울렛메인
 
 //== 고객 ==/
 const _PAGE_CUSTOMER_JOIN_TYPE = _frontUrl + "/customer/join/type/form";							// 고객 > 회원가입 유형
@@ -1021,6 +1022,24 @@ var cfnGoToCategoryMain = function(cateGb, cate1No, brandGroupNo) {
 	cfnGoToPage(_PAGE_CATE_MAIN + params);
 }
 
+/**
+ * @type   : function
+ * @access : public
+ * @desc   : 아울렛메인 페이지로 이동
+ * <pre>
+ *		cfnGoToOutletMain('G032_103', 1713);
+ * </pre>
+ * @param  : cateGb - 카테고리구분. 필수
+ * @param  : cate1No - 카테고리1번호. 필수
+ * @since  : 2021/04/20
+ * @author : bin2107
+ */
+var cfnGoToOutletMain = function(cateGb, cate1No) {
+	var params = '?cateGb=' + cateGb + '&cate1No=' + cate1No;
+	// if (typeof (brandGroupNo) != 'undefined') params += '&brandGroupNo=' + brandGroupNo;
+	cfnGoToPage(_PAGE_OUTLET_MAIN + params);
+}
+
 /**
  * @type   : function
  * @access : public