Selaa lähdekoodia

Merge branch 'develop' of http://112.172.147.34:4936/style24/style24.front.git into develop

gagamel 5 vuotta sitten
vanhempi
commit
671568339b

+ 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 - 0
src/main/java/com/style24/persistence/domain/Review.java

@@ -100,6 +100,12 @@ public class Review extends TscBaseDomain {
 	private String itemNm;
 	private String colorNm;	
 	
+	
+
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] orgFileNmArr;
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] sysFileNmArr;
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
 	private String[] itemNmArr;		// 옵션코드
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)

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

@@ -1007,7 +1007,7 @@
 		SET R.DEL_YN = 'Y'
 		WHERE 1=1
  		AND R.REVIEW_SQ = #{reviewSq}
- 		AND R.ADM_RPL IS NULL
+ 		-- AND R.ADM_RPL IS NULL
  		AND R.CUST_NO = #{custNo}
 	</update>
 	

+ 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>

+ 24 - 8
src/main/webapp/WEB-INF/views/web/mypage/MypageReviewCreateFormWeb.html

@@ -341,8 +341,8 @@
 														<!-- 이미지첨부 -->
 														<div class="form_field">
 															<div class="imgUpload">
-																<label for="fileAdd" class="fileAdd">첫번째업로드</label>
-																<input type="file" id="fileAdd" name="files[]">
+																<label for="fileAdd" class="fileAdd" id="fileAdd_reply">첫번째업로드</label>
+																<input type="file" id="fileAdd" name="files">
 															</div>
 														</div>
 														<!-- //이미지첨부 -->
@@ -551,10 +551,25 @@ $('#reviewContent').keyup(function (e){
 $('#fileAdd').on('change', function() { fnChooseFile(this); });
 
 var fnChooseFile = function(obj) {
+	var picLength = $(".pics").length;
+	
 	// multiple 속성이 있으면 files에는 다수의 객체가 할당됨
 	var file = obj.files[0];
-	
-	if (!gagajf.isNull(file.size) && Number(file.size) > 10 * 1000000) {
+
+	if (!gagajf.isNull(file.name)) {
+		var extension = "\.(jpg|jpeg|png)$";
+		if (!(new RegExp(extension, "i")).test(file.name)) {
+			mcxDialog.alertC('이미지는 [jpg, jpeg, png] 파일만 가능합니다.', {
+				sureBtnText: "확인",
+				sureBtnClick: function() {
+					$(obj).parent('.imgUpload').find('.removes').trigger('click');
+				}
+			});
+			return false;
+		}
+	}
+	// 이거 왜 안먹히지 
+	if (!gagajf.isNull(file.size) && Number(file.size) > (10 * 1000000)) {
 		mcxDialog.alertC('이미지는 최대 10MB 이하 파일만 가능합니다.', {
 			sureBtnText: "확인",
 			sureBtnClick: function() {
@@ -565,16 +580,17 @@ var fnChooseFile = function(obj) {
 	}
 	
 	// 파일 업로드
-	gagajf.ajaxFileUpload('/common/file/upload?subDir=/review'
+	 gagajf.ajaxFileUpload('/common/file/upload?subDir=/review'
 			, file
 			, function(result) {
 				// 업로드한 파일명 설정
-				$('input[name=' + obj.name + 'OrgFileNm]').val(result.oldFileName);
-				$('input[name=' + obj.name + 'SysFileNm]').val(result.newFileName);
+				$(".pics").children().eq(0).append("<input type='hidden' name='orgFileNmArr' id='orgFileNm"+(picLength+1)+"' value='"+result.oldFileName+"'>");
+				$(".pics").children().eq(0).append("<input type='hidden' name='sysFileNmArr' id='sysFileNm"+(picLength+1)+"' value='"+result.newFileName+"'>");
 			}
-	);
+	); 
 }
 
+
 $(document).ready(function() {
 	if (reviewList.goodsType == 'G056_S') {
 		$.each(reviewList.colorNmArr, function(index, option) {

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

@@ -551,7 +551,6 @@ if(goods4.length>0){
 			html += '<div class="cont_head">';
 			html += '<div>';
 			html += '        <h4>';
-			console.log(template[i].linkOpenGb );
 			if (template[i].linkUrl != null && template[i].linkUrl != '') { /* 링크 변경 예정 */
 				if (template[i].linkOpenGb == "M") { //본창
 					html += '        <a href="http://'+template[i].linkUrl+'" target="_self">'+template[i].title+' <i class="ico_arrow"></i></a>';
@@ -798,7 +797,7 @@ var fnSearchCallback = function (result) {
 				 html += '			<span class="date">'+item.entryDt+'</span>';
 				 html += '		</div>';
 				 html += '		<div class="cmt_cont">';
-				 html += '			<div class="img_wrap clear">';
+				 html += '			<div class="img_wrap clear" onclick="fnImgAttach(this)">';
 				 if (result.replyAttachList.length>0) {
 					for (var i = 0; i < result.replyAttachList.length; i++) {
 						if(result.replyAttachList[i].planEntrySq == item.planEntrySq){
@@ -930,12 +929,47 @@ var fnReplySave = function() {
 		gagajf.ajaxJsonSubmit('/planning/reply/save', jsonData,function() {
 			ajaxReplyList();	
 			$('#replyText').val('');
+			$('.pics').remove();
 			});
 		}
 	})
 }
 
 
+var fnImgAttach = function (obj) {
+	 $("#thumbImgPop .swiper-wrapper").empty();
+	//var popSlideIndex = $(obj).find('span').length -1;
+	var popSlideIndex = 0;
+	contactPopSwiper.slideTo(popSlideIndex);
+	contactPopSwiper.update();
+	
+	var contactImglength = $(obj).find('span').length;
+	var popImgHtml = "";
+	for (i = 0; i < contactImglength; i++) {
+		
+		var contactImgSrc =$(obj).find('img').eq(i).attr('src');
+		popImgHtml += "<div class='swiper-slide'><div class='pop_img' style='background-image:url("+ contactImgSrc +")'></div></div>";
+	}
+
+	$("#thumbImgPop .swiper-wrapper").append(popImgHtml);
+	$('#thumbImgPop').modal("show");
+	
+	return false;
+}
+
+/* SLIDE - 댓글 이미지 팝업 */
+var contactPopSwiper = new Swiper('.thumb_img_pop .swiper-container', {
+	navigation: {
+		nextEl: '.thumb_img_pop .swiper-button-next',
+		prevEl: '.thumb_img_pop .swiper-button-prev',
+	},
+	pagination: {
+		el: '.thumb_img_pop .swiper-pagination',
+		clickable: true,
+	},
+	observer:true,
+	observeParents: true,
+});				
 
 
 $(document).ready( function() {
@@ -1066,6 +1100,7 @@ $(document).ready( function() {
 			$('#fileAdd').removeAttr("disabled");
 		}
 	});			
+	
 
 	//댓글 작성시 글자 카운트
 	$('.cmt_ans').keyup(function (e){
@@ -1078,42 +1113,6 @@ $(document).ready( function() {
 		}
 	});
 	
-	//팝업 - 댓글 이미지 슬라이드
-	 $(document).on('click','.cmt_cont .img_wrap .pics',function(e){
-		$("#thumbImgPop .swiper-wrapper").empty();
-		var popSlideIndex = $(this).index();
-		contactPopSwiper.slideTo(popSlideIndex);
-		contactPopSwiper.update();
-
-		var contactImglength = $('.cmt_cont .img_wrap .pics').length;
-		var popImgHtml = "";
-		for (i = 1; i <= contactImglength; i++) {
-			var contactImg = $(this).find('img');
-			var contactImgSrc = $('.cmt_cont .img_wrap .pics:nth-child('+i+') img').attr('src');
-			popImgHtml += "<div class='swiper-slide'><div class='pop_img' style='background-image:url("+ contactImgSrc +")'></div></div>";
-		}
-
-		$("#thumbImgPop .swiper-wrapper").append(popImgHtml);
-		$('#thumbImgPop').modal("show");
-		
-		return false;
-	});         
-	
-	 /* SLIDE - 댓글 이미지 팝업 */
-	var contactPopSwiper = new Swiper('.thumb_img_pop .swiper-container', {
-		navigation: {
-			nextEl: '.thumb_img_pop .swiper-button-next',
-			prevEl: '.thumb_img_pop .swiper-button-prev',
-		},
-		pagination: {
-			el: '.thumb_img_pop .swiper-pagination',
-			clickable: true,
-		},
-		observer:true,
-		observeParents: true,
-	});				
-
-
 
 });
 </script>

+ 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