Przeglądaj źródła

Merge remote-tracking branch 'origin/develop' into jsh77b

tsit14 5 lat temu
rodzic
commit
5b9d1f062f
31 zmienionych plików z 943 dodań i 1056 usunięć
  1. 79 1
      pom.xml
  2. 1 1
      src/main/java/com/style24/front/biz/service/TsfOrderService.java
  3. 35 0
      src/main/java/com/style24/front/biz/web/TsfDisplayController.java
  4. 2 2
      src/main/java/com/style24/persistence/mybatis/shop/TsfPlanning.xml
  5. 14 9
      src/main/java/com/style24/persistence/mybatis/shop/TsfReview.xml
  6. BIN
      src/main/webapp/WEB-INF/lib/SimpleCryptLib-1.1.0.jar
  7. BIN
      src/main/webapp/WEB-INF/lib/axis.jar
  8. BIN
      src/main/webapp/WEB-INF/lib/bcprov-jdk16-138.jar
  9. BIN
      src/main/webapp/WEB-INF/lib/commons-discovery-0.2.jar
  10. BIN
      src/main/webapp/WEB-INF/lib/commons-logging-1.2.jar
  11. BIN
      src/main/webapp/WEB-INF/lib/jaxrpc.jar
  12. BIN
      src/main/webapp/WEB-INF/lib/jsr173_1.0_api.jar
  13. BIN
      src/main/webapp/WEB-INF/lib/saaj.jar
  14. BIN
      src/main/webapp/WEB-INF/lib/wsdl4j.jar
  15. BIN
      src/main/webapp/WEB-INF/lib/xalan.jar
  16. BIN
      src/main/webapp/WEB-INF/lib/xbean.jar
  17. 4 4
      src/main/webapp/WEB-INF/views/mob/display/BrandMainFormMob.html
  18. 2 2
      src/main/webapp/WEB-INF/views/mob/display/CategoryMainFormMob.html
  19. 15 13
      src/main/webapp/WEB-INF/views/mob/display/MallMainFormMob.html
  20. 269 660
      src/main/webapp/WEB-INF/views/mob/display/SearchGoodsListFormMob.html
  21. 235 156
      src/main/webapp/WEB-INF/views/mob/display/SearchLayerMob.html
  22. 1 1
      src/main/webapp/WEB-INF/views/mob/mypage/MypageReviewCreateFormMob.html
  23. 1 1
      src/main/webapp/WEB-INF/views/mob/mypage/MypageReviewFormMob.html
  24. 4 4
      src/main/webapp/WEB-INF/views/web/display/BrandMainFormWeb.html
  25. 2 2
      src/main/webapp/WEB-INF/views/web/display/CategoryMainFormWeb.html
  26. 59 69
      src/main/webapp/WEB-INF/views/web/display/MallMainFormWeb.html
  27. 178 123
      src/main/webapp/WEB-INF/views/web/display/SearchLayerWeb.html
  28. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageReviewCreateFormWeb.html
  29. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageReviewFormWeb.html
  30. 3 3
      src/main/webapp/biz/goods.js
  31. 37 3
      src/main/webapp/biz/search.js

+ 79 - 1
pom.xml

@@ -211,7 +211,85 @@
 			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/json_simple-1.1.jar</systemPath>
 		</dependency>
 		<!-- \\\ 검색엔진(DIQUEST) -->
-		
+
+		<!-- 네이버페이 -->
+		<dependency>
+			<groupId>org.apache.axis</groupId>
+			<artifactId>axis</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/axis.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>org.bouncycastle</groupId>
+			<artifactId>bouncycastle</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/bcprov-jdk16-138.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>javax.xml</groupId>
+			<artifactId>rpc</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/jaxrpc.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>com.nhncorp</groupId>
+			<artifactId>SimpleCryptLib</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/SimpleCryptLib-1.1.0.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.commons.discovery</groupId>
+			<artifactId>common-discovery</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/commons-discovery-0.2.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.commons.logging</groupId>
+			<artifactId>common-logging</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/commons-logging-1.2.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>javax.xml.soap</groupId>
+			<artifactId>saaj</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/saaj.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>wsdl4j</groupId>
+			<artifactId>wsdl4j</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/wsdl4j.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>jsr173api</groupId>
+			<artifactId>jsr173api</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/jsr173_1.0_api.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>xalan</groupId>
+			<artifactId>xalan</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/xalan.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>xbean</groupId>
+			<artifactId>xbean</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/xbean.jar</systemPath>
+		</dependency>
 	</dependencies>
 	
 	<build>

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

@@ -1168,8 +1168,8 @@ public class TsfOrderService {
 			sb.append("\t<merchantId>").append(shopId).append("</merchantId>\n");								//<!-- 상점ID -->
 			sb.append("\t<certiKey>").append(certificationKey).append("</certiKey>\n");	//<!-- 인증키 -->
 			sb.append("\t<backUrl>").append("<![CDATA[").append(param.getBackUrl()).append("]]>").append("</backUrl>\n");	//<!-- 이전페이지 -->
-			sb.append("\t<merchantCustomCode1>").append(param.getOrdNo()).append("</merchantCustomCode1>\n");
 			sb.append("\t<interface>\n");
+			sb.append("\t<merchantCustomCode1>").append(param.getOrdNo()).append("</merchantCustomCode1>\n");
 			sb.append("\t\t<cpaInflowCode>").append(cpaInflowCode).append("</cpaInflowCode>\n");
 			sb.append("\t\t<naverInflowCode>").append(naverInflowCode).append("</naverInflowCode>\n");
 			sb.append("\t\t<saClickId>").append(saClickId).append("</saClickId>\n");

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

@@ -10,6 +10,7 @@ import java.util.HashMap;
 import javax.servlet.http.HttpServletResponse;
 
 import com.style24.persistence.domain.searchengine.PlanningResponse;
+import com.style24.persistence.domain.searchengine.AutoCompleteResponse;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.mobile.device.Device;
@@ -1179,4 +1180,38 @@ public class TsfDisplayController extends TsfBaseController {
 		return mav;
 	}
 
+	/**
+	 * 검색어 자동완성
+	 * @param params - 검색엔진 정보
+	 * @return
+	 * @author bin2107
+	 * @since 2021. 6. 15
+	 */
+	@PostMapping("/search/auto/complete")
+	@ResponseBody
+	public GagaMap getSearchAutoCompleteList(@RequestBody SearchEngine params) {
+		GagaMap result = new GagaMap();
+
+		params.setFrontGb(TsfSession.getFrontGb());
+		params.setCustGb(TsfSession.getCustGb());
+
+		String[] autoKeywords;
+		BrandGroup brand;
+		Collection<Cate4Srch> cateList = new ArrayList<Cate4Srch>();
+		Collection<SearchEngine> goodsList = new ArrayList<SearchEngine>();
+
+		AutoCompleteResponse autoComplete = diquest.getAutoComplete(params.getKeyword());
+		autoKeywords = autoComplete.getAutoKeywords();
+		brand = autoComplete.getBrand();
+		cateList = autoComplete.getCateList();
+		goodsList = autoComplete.getGoodsList();
+
+		result.set("autoKeywords", autoKeywords);
+		result.set("brand", brand);
+		result.set("cateList", cateList);
+		result.set("goodsList", goodsList);
+
+		return result;
+	}
+
 }

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

@@ -178,9 +178,9 @@
 		    AND    P.PLAN_SQ = #{planSq}
 		    AND    P.PLAN_GB = 'P' /*기획전*/
 		    AND    P.SITE_CD = #{siteCd}
-		  <!--   <if test="frontGb != null and frontGb != ''">
+		    <if test="frontGb != null and frontGb != ''">
 		    AND    P.FRONT_GB LIKE CONCAT('%',#{frontGb},'%')
-		    </if> -->
+		    </if>
 		    AND    NOW() BETWEEN P.DISP_STDT AND P.DISP_EDDT
 		    AND    P.DEL_YN = 'N' /*삭제안된 기획전*/
 		    AND    P.OPEN_YN = 'Y' /*오픈된 기획전*/

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

@@ -561,8 +561,10 @@
 					 , OD.RETURNABLE_YN
 					 , DATE_FORMAT(OD.REG_DT, '%Y.%m.%d') AS REG_DT 
 					 , G.SELF_GOODS_YN
-				     , CONCAT(B.BRAND_ENM, ' ', B.BRAND_KNM)							AS BRAND_NM
-				     , B.BRAND_ENM
+				     , CASE BG.DISP_NM_LANG WHEN 'EN' THEN BG.BRAND_GROUP_ENM
+		                       ELSE BG.BRAND_GROUP_KNM
+		               END                                                             AS BRAND_NM
+		             , B.BRAND_ENM
 				     , FN_GET_CODE_NM('G013', OD.ORD_DTL_STAT)							AS ORD_DTL_STAT_NM
 					 , IFNULL(OCD.ORD_REQ_CHG_QTY, 0) AS ORD_REQ_CHG_QTY
 					 , OD.ORD_QTY - OD.CNCL_RTN_QTY - IFNULL(OCD.ORD_REQ_CHG_QTY, 0)    AS ORD_CAN_CHG_QTY
@@ -612,6 +614,8 @@
 				    ON OD.GOODS_CD = G.GOODS_CD
 				 INNER JOIN TB_BRAND B
 				    ON B.BRAND_CD = G.BRAND_CD
+				 INNER JOIN TB_BRAND_GROUP BG
+		            ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
 				 LEFT JOIN TB_ITEMKIND I 
 				    ON G.ITEMKIND_CD = I.ITEMKIND_CD 
 				 <if test="reviewStat == 'u'.toString()">
@@ -1018,13 +1022,14 @@
 		      ON B.BRAND_CD = G.BRAND_CD
 		    INNER JOIN TB_BRAND_GROUP BG
 		      ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
-		   INNER JOIN TB_REVIEW R ON R.ORD_NO = O.ORD_NO 
+		   INNER JOIN TB_REVIEW R 
+		      ON R.ORD_NO = O.ORD_NO 
+		      AND R.ORD_DTL_NO = OD.ORD_DTL_NO 
 		   LEFT JOIN TB_ITEMKIND I 
-				    ON G.ITEMKIND_CD = I.ITEMKIND_CD 
-		  	AND R.ORD_NO = O.ORD_NO
-		  	AND R.ORD_DTL_NO = OD.ORD_DTL_NO 
-		  	AND R.DEL_YN = 'N'
-		  	AND R.DISP_YN = 'Y'
+		      ON G.ITEMKIND_CD = I.ITEMKIND_CD 
+		      AND R.ORD_NO = O.ORD_NO
+		      AND R.DEL_YN = 'N'
+		      AND R.DISP_YN = 'Y'
 		  LEFT OUTER JOIN TB_COLOR C ON ODI.OPT_CD1 = C.COLOR_CD
 		                               AND C.USE_YN = 'Y'
 		     WHERE 1=1
@@ -1033,7 +1038,7 @@
 		   AND R.CONFIRM_YN = 'Y'
 		   AND OD.ORD_DTL_NO IN (SELECT R.ORD_DTL_NO FROM TB_REVIEW R WHERE R.DEL_YN = 'N' AND DISP_YN = 'Y' AND R.ORD_NO = O.ORD_NO AND R.ORD_DTL_NO = OD.ORD_DTL_NO AND R.CUST_NO = #{custNo})
 		   AND O.SITE_CD =  #{siteCd}
-		   	) Z
+		   ) Z
 		 GROUP BY     Z.ORD_NO
 		            , Z.ORD_DT
 		            , Z.PAY_DT

BIN
src/main/webapp/WEB-INF/lib/SimpleCryptLib-1.1.0.jar


BIN
src/main/webapp/WEB-INF/lib/axis.jar


BIN
src/main/webapp/WEB-INF/lib/bcprov-jdk16-138.jar


BIN
src/main/webapp/WEB-INF/lib/commons-discovery-0.2.jar


BIN
src/main/webapp/WEB-INF/lib/commons-logging-1.2.jar


BIN
src/main/webapp/WEB-INF/lib/jaxrpc.jar


BIN
src/main/webapp/WEB-INF/lib/jsr173_1.0_api.jar


BIN
src/main/webapp/WEB-INF/lib/saaj.jar


BIN
src/main/webapp/WEB-INF/lib/wsdl4j.jar


BIN
src/main/webapp/WEB-INF/lib/xalan.jar


BIN
src/main/webapp/WEB-INF/lib/xbean.jar


+ 4 - 4
src/main/webapp/WEB-INF/views/mob/display/BrandMainFormMob.html

@@ -102,8 +102,8 @@
 														</div>
 														<p class="itemBrand" th:text="${goodsData.brandGroupNm}"></p>
 														<div class="itemName" th:text="${goodsData.goodsFullNm}"></div>
-														<p class="itemPrice" th:text="${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')}"></p>
 														<div class="itemComment" th:text="${goodsData.goodsTnm}"></div>
+														<p class="itemPrice" th:text="${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')}"></p>
 													</a>
 												</div>
 											</div>
@@ -169,12 +169,12 @@
 															</div>
 															<p class="itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
 															<div class="itemName"th:text="${goodsData.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
+															<div class="itemComment" th:text="${goodsData.goodsTnm}">#가을 느낌 물씬!!</div>
 															<p class="itemPrice">
 																<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
 																[[${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')}]]
 																<span class="itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${(goodsData.listPrice == 0 ? 0 : #numbers.formatDecimal((goodsData.listPrice - goodsData.currPrice) / (goodsData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 															</p>
-															<div class="itemComment" th:text="${goodsData.goodsTnm}">#가을 느낌 물씬!!</div>
 														</a>
 													</div>
 												</div>
@@ -255,12 +255,12 @@
 															</div>
 															<p class="itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
 															<div class="itemName" th:text="${goodsData.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
+															<div class="itemComment" th:text="${goodsData.goodsTnm}">#가을 느낌 물씬!!</div>
 															<p class="itemPrice">
 																<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
 																[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')}]]
 																<span class="itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${(goodsData.listPrice == 0 ? 0 : #numbers.formatDecimal((goodsData.listPrice - goodsData.currPrice) / (goodsData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 															</p>
-															<div class="itemComment" th:text="${goodsData.goodsTnm}">#가을 느낌 물씬!!</div>
 														</a>
 													</div>
 												</div>
@@ -350,6 +350,7 @@
 											</div>
 											<p class="itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
 											<div class="itemName" th:text="${goodsData.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
+											<div class="itemComment" th:text="${goodsData.goodsTnm}">#주문 폭주 상품</div>
 											<p class="itemPrice">
 												<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
 												[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')}]]
@@ -366,7 +367,6 @@
 													<span class="badge13" th:if="${idx.index<3}" th:value="${iconArray[0]}" th:text="${iconArray[1]}"></span>
 												</th:block>
 											</p>
-											<div class="itemComment" th:text="${goodsData.goodsTnm}">#주문 폭주 상품</div>
 										</a>
 									</div>
 								</div>

+ 2 - 2
src/main/webapp/WEB-INF/views/mob/display/CategoryMainFormMob.html

@@ -80,8 +80,8 @@
 													</div>
 													<p class="itemBrand" th:text="${item.brandGroupNm}">BRAND NAME</p>
 													<div class="itemName" th:text="${item.goodsFullNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-													<p class="itemPrice" th:text="${#numbers.formatInteger(item.currPrice,3,'COMMA')}">80,100</p>
 													<div class="itemComment" th:if="${not #strings.isEmpty(item.goodsTnm)}" th:text="${item.goodsTnm}">#주문 폭주 상품</div>
+													<p class="itemPrice" th:text="${#numbers.formatInteger(item.currPrice,3,'COMMA')}">80,100</p>
 												</a>
 											</div>
 										</div>
@@ -112,6 +112,7 @@
 												</div>
 												<p class="itemBrand" th:text="${item.brandGroupNm}">BRAND NAME</p>
 												<div class=" itemName" th:text="${item.goodsFullNm}">여성 체인 프린트 큐롯 스커트 프린트 큐롯 스커트</div>
+												<div class="itemComment" th:if="${not #strings.isEmpty(item.goodsTnm)}" th:text="${item.goodsTnm}">#주문 폭주 상품</div>
 												<p class="itemPrice"><span class="itemPrice_original" th:if="${item.currPrice != item.listPrice}" th:text="${#numbers.formatInteger(item.listPrice,3,'COMMA')}">89,000</span>[[${#numbers.formatInteger(item.currPrice,1,'COMMA')}]]
 													<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>
@@ -126,7 +127,6 @@
 														<span class="badge13" th:if="${idx.index<3}" th:value="${iconArray[0]}" th:text="${iconArray[1]}"></span>
 													</th:block>
 												</p>
-												<div class="itemComment" th:if="${not #strings.isEmpty(item.goodsTnm)}" th:text="${item.goodsTnm}">#주문 폭주 상품</div>
 											</a>
 										</div>
 									</div>

+ 15 - 13
src/main/webapp/WEB-INF/views/mob/display/MallMainFormMob.html

@@ -26,7 +26,7 @@
 <!--				<th:block th:if="${mainData.ContentsList != null and !mainData.ContentsList.empty}">-->
 					<th:block th:if="${contentsLoc=='001'}">
 						<!-- 1. 비주얼 슬라이드 -->
-						<div class="inner wide">
+						<div class="inner wide" th:if="${mainData.ContentsList != null and !mainData.ContentsList.empty}">
 							<div class="main_visual">
 								<div class="swiper-container post-visual">
 									<div class="swiper-wrapper">
@@ -121,8 +121,8 @@
 														</div>
 														<p class="itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
 														<div class=" itemName" th:text="${goodsData.goodsFullNm}">가을 신상 남성 스탠다드핏 로고맨 블루 볼 캡 유니 경량다운 시보리넥 베스트</div>
-														<p class="itemPrice" th:text="${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')}">488,000</p>
 														<div class="itemComment" th:text="${goodsData.goodsTnm}">#주문 폭주 상품</div>
+														<p class="itemPrice" th:text="${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')}">488,000</p>
 													</a>
 												</div>
 											</div>
@@ -143,11 +143,11 @@
 						<div class="inner">
 							<div class="main_it">
 								<div class="titWrap">
-									<th:block th:each="ContentsData, ContentsStat : ${mainData.ContentsList}">
-										<a href="javascript:void(0)" th:onclick="cfnGoToPage([[${ContentsData.strVar1}]]);">
-											<h2 th:text="${contentsTitle}"></h2>
-										</a>
-									</th:block>
+<!--								<th:block th:each="ContentsData, ContentsStat : ${mainData.ContentsList}">-->
+									<a href="javascript:void(0)" onclick="cfnGoToPage(_PAGE_BEST_MAIN);">
+										<h2 th:text="${contentsTitle}"></h2>
+									</a>
+<!--								</th:block>-->
 								</div>
 								<div class="inner_head">
 									<ul class="it_nav">
@@ -178,11 +178,11 @@
 																	</div>
 																	<p class="itemBrand" th:text="${bestItemData.brandGroupNm}">TBJ</p>
 																	<div class="itemName" th:text="${bestItemData.goodsFullNm}">11111 남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+																	<div class="itemComment" th:text="${bestItemData.goodsTnm}"># 가을 느낌 물씬!</div>
 																	<p class="itemPrice">
 																		<span class="itemPrice_original" th:if="${bestItemData.currPrice != bestItemData.listPrice}" th:text="${#numbers.formatInteger(bestItemData.listPrice,3,'COMMA')}">89,000</span>[[${#numbers.formatInteger(bestItemData.currPrice,0,'COMMA')}]]
 																		<span class=" itemPercent" th:if="${bestItemData.currPrice != bestItemData.listPrice}" th:text="${(bestItemData.listPrice == 0 ? 0 : #numbers.formatDecimal((bestItemData.listPrice - bestItemData.currPrice) / (bestItemData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 																	</p>
-																	<div class="itemComment" th:text="${bestItemData.goodsTnm}"># 가을 느낌 물씬!</div>
 																</a>
 															</div>
 														</div>
@@ -240,7 +240,7 @@
 					<th:block th:if="${contentsLoc=='006'}">
 						<!-- 6. 타임딜 : 슬라이드 -->
 						<th:block th:each="socialData, socialStat : ${mainData.socialInfo}">
-						<div class="inner bg_dark" th:if="${socialData.socialGoodsList != null}">
+						<div class="inner bg_dark" th:if="${socialData.socialGoodsList != null and !socialData.socialGoodsList.empty}">
 							<div class="main_deal">
 								<div class="titWrap">
 									<a href="javascript:void(0)" onclick="cfnGoToPage(_PAGE_SOCIAL_MAIN);">
@@ -273,11 +273,11 @@
 																</div>
 																<p class="itemBrand" th:text="${goodsData.brandEnm}">TBJ</p>
 																<div class="itemName" th:text="${goodsData.goodsNm}">11111 남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+																<div class="itemComment" th:text="${goodsData.goodsTnm}"># 가을 느낌 물씬!</div>
 																<p class="itemPrice">
 																	<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,0,'COMMA')}">89,000</span>[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')}]]
 																	<span class=" itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatDecimal(goodsData.dcRate,1,0)} + '%'">10%</span>
 																</p>
-																<div class="itemComment" th:text="${goodsData.goodsTnm}"># 가을 느낌 물씬!</div>
 															</a>
 														</div>
 													</div>
@@ -437,11 +437,11 @@
 																		</div>
 																		<p class="itemBrand" th:text="${goodsData.brandGroupNm}">TBJ</p>
 																		<div class="itemName" th:text="${goodsData.goodsFullNm}">11111 남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+																		<div class="itemComment" th:text="${goodsData.goodsTnm}"># 가을 느낌 물씬!</div>
 																		<p class="itemPrice">
 																			<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')}]]
 																			<span class=" itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${(goodsData.listPrice == 0 ? 0 : #numbers.formatDecimal((goodsData.listPrice - goodsData.currPrice) / (goodsData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 																		</p>
-																		<div class="itemComment" th:text="${goodsData.goodsTnm}"># 가을 느낌 물씬!</div>
 																	</a>
 																</div>
 															</div>
@@ -754,8 +754,10 @@
 		/*<![CDATA[*/
 		var mainLayoutList = [[${mainLayoutList}]];
 		// console.log(mainLayoutList);
-
-		var targetTime = $("#socailForm").find("input[name=targetTime]").val().toDate("YYYYMMDD");
+		var targetTime = '';
+		if(!gagajf.isNull($("#socailForm").find("input[name=targetTime]").val())){
+			targetTime = $("#socailForm").find("input[name=targetTime]").val().toDate("YYYYMMDD");
+		}
 		if(targetTime != null && targetTime != ''){
 			/* 핫딜 countDown */
 			var endTime = new Date(targetTime); // 남은시간 지정

Plik diff jest za duży
+ 269 - 660
src/main/webapp/WEB-INF/views/mob/display/SearchGoodsListFormMob.html


+ 235 - 156
src/main/webapp/WEB-INF/views/mob/display/SearchLayerMob.html

@@ -25,11 +25,14 @@
 			<form id="searchMainForm" name="searchMainForm">
 				<input type="hidden" name="brandGroupNo" th:value="${brandGroupNo}"/>
 				<div class="sch_title">
-					<input type="text" class="form_control" name="keyword" placeholder="검색어를 입력하세요.">
-					<!-- <button class="btn_x">X</button> -->
+					<input type="text" class="form_control" name="keyword" placeholder="검색어를 입력하세요." onkeyup="fnOnkeyupKeyword(this);">
+					<button type="button" class="btn_x" id="deleteKeyword" style="display:none;">X</button>
 					<button type="button" class="btn_sch" id="btnSearchKeyword"><img src="/images/mo/ico_btn_search.png" alt=""></button>
 				</div>
 			</form>
+		</div>
+
+		<div class="inner" id="defaultArea">
 			<div class="filter-list">
 				<div class="f_left">
 					<h3>최근 검색어</h3>
@@ -162,7 +165,7 @@
 <!--		</div>-->
 		<!-- //2.통합검색 default_최근검색어 있음 -->
 		<!-- 3.지금 많이 보고 있어요 상품. -->
-		<div class="inner">
+		<div class="inner" id="popularArea">
 			<div class="now_view">
 				<div class="store_product">
 					<div class="allresult-tit">
@@ -275,176 +278,124 @@
 		<!-- //3.지금 많이 보고 있어요 상품. -->
 
 		<!-- 4.검색어 타이핑 -->
-		<div class="inner">
-			<div class="sch_title">
-				<input type="text" class="form_control" value="티비제이 제기장 스웨터" placeholder="NBA 겨울 클리어런스+봄 프리뷰!">
-				<button class="btn_x"><span>검색어 지우기</span></button>
-				<button class="btn_sch"><img src="/images/mo/ico_btn_search.png" alt=""></button>
-			</div>
+		<div class="inner" id="keyupArea">
+<!--			<div class="sch_title">-->
+<!--				<input type="text" class="form_control" value="티비제이 제기장 스웨터" placeholder="NBA 겨울 클리어런스+봄 프리뷰!">-->
+<!--				<button class="btn_x"><span>검색어 지우기</span></button>-->
+<!--				<button class="btn_sch"><img src="/images/mo/ico_btn_search.png" alt=""></button>-->
+<!--			</div>-->
 			<div class="filter-list store-list">
-				<div class="f_left">
-					<h3>티비제이 공식 스토어</h3>
-				</div>
-				<div class="f_right">
-					<a href="#none">바로가기</a>
-				</div>
+<!--				<div class="f_left">-->
+<!--					<h3>티비제이 공식 스토어</h3>-->
+<!--				</div>-->
+<!--				<div class="f_right">-->
+<!--					<a href="#none">바로가기</a>-->
+<!--				</div>-->
 			</div>
 			<div class="relative-list">
-				<ul>
-					<li>
-						<a href="#">
-							<p><span>티비제이</span></p>
-						</a>
-					</li>
-					<li>
-						<a href="#">
-							<p><span>티비제이</span> 기모청바지</p>
-						</a>
-					</li>
-					<li>
-						<a href="#">
-							<p>TBJ 겨울 팬츠</p>
-						</a>
-					</li>
-					<li>
-						<a href="#">
-							<p><span>제기장 스웨터</span></p>
-						</a>
-					</li>
-					<li>
-						<a href="#">
-							<p><span>티비제이</span> 드라마 연예인 스웨터</p>
-						</a>
-					</li>
-					<li>
-						<a href="#">
-							<p>가을겨울 긴팔 롱 <span>스웨터</span></p>
-						</a>
-					</li>
-					<li>
-						<a href="#">
-							<p><span>스웨터</span></p>
-						</a>
-					</li>
-					<li>
-						<a href="#">
-							<p>롱 <span>스웨터</span></p>
-						</a>
-					</li>
-					<li>
-						<a href="#">
-							<p><span>티비제이</span> 여성 <span>스웨터</span></p>
-						</a>
-					</li>
-					<li>
-						<a href="#">
-							<p>가을겨울 긴팔 롱 <span>스웨터</span></p>
-						</a>
-					</li>
-				</ul>
-				<p class="nodata_txt">&lsquo;<span>스웨터 제기장</span>&rsquo; 에 맞는 상품을 찾지 못했습니다.<br>검색어를 변경해 보세요.</p>
+<!--				<ul>-->
+<!--					<li>-->
+<!--						<a href="#">-->
+<!--							<p><span>티비제이</span></p>-->
+<!--						</a>-->
+<!--					</li>-->
+<!--					<li>-->
+<!--						<a href="#">-->
+<!--							<p><span>티비제이</span> 기모청바지</p>-->
+<!--						</a>-->
+<!--					</li>-->
+<!--					<li>-->
+<!--						<a href="#">-->
+<!--							<p>TBJ 겨울 팬츠</p>-->
+<!--						</a>-->
+<!--					</li>-->
+<!--					<li>-->
+<!--						<a href="#">-->
+<!--							<p><span>제기장 스웨터</span></p>-->
+<!--						</a>-->
+<!--					</li>-->
+<!--					<li>-->
+<!--						<a href="#">-->
+<!--							<p><span>티비제이</span> 드라마 연예인 스웨터</p>-->
+<!--						</a>-->
+<!--					</li>-->
+<!--					<li>-->
+<!--						<a href="#">-->
+<!--							<p>가을겨울 긴팔 롱 <span>스웨터</span></p>-->
+<!--						</a>-->
+<!--					</li>-->
+<!--					<li>-->
+<!--						<a href="#">-->
+<!--							<p><span>스웨터</span></p>-->
+<!--						</a>-->
+<!--					</li>-->
+<!--					<li>-->
+<!--						<a href="#">-->
+<!--							<p>롱 <span>스웨터</span></p>-->
+<!--						</a>-->
+<!--					</li>-->
+<!--					<li>-->
+<!--						<a href="#">-->
+<!--							<p><span>티비제이</span> 여성 <span>스웨터</span></p>-->
+<!--						</a>-->
+<!--					</li>-->
+<!--					<li>-->
+<!--						<a href="#">-->
+<!--							<p>가을겨울 긴팔 롱 <span>스웨터</span></p>-->
+<!--						</a>-->
+<!--					</li>-->
+<!--				</ul>-->
+<!--				<p class="nodata_txt">&lsquo;<span>스웨터 제기장</span>&rsquo; 에 맞는 상품을 찾지 못했습니다.<br>검색어를 변경해 보세요.</p>-->
 			</div>
 		</div>
-		<div class="inner">
+		<div class="inner" id="keyupCateArea">
 			<div class="sch_category">
-				<h3>카테고리</h3>
-				<ul>
-					<li>
-						<a href="">
-							<span>여성</span>
-							<span>티셔츠/셔츠</span>
-							<span><em>긴팔셔츠</em></span>
-							<span>스트라이프 퍼프 스트라이프 퍼프</span>
-						</a>
-					</li>
-					<li>
-						<a href="">
-							<span>여성</span>
-							<span><em>니트/가디건/베스트</em></span>
-							<span>가디건</span>
-							<span>롱가디건</span>
-						</a>
-					</li>
-					<li>
-						<a href="">
-							<span><em>여성</em></span>
-							<span>자켓/점퍼/코트</span>
-							<span>코트</span>
-							<span>롱코트</span>
-						</a>
-					</li>
+<!--				<h3>카테고리</h3>-->
+<!--				<ul>-->
+<!--					<li>-->
+<!--						<a href="">-->
+<!--							<span>여성</span>-->
+<!--							<span>티셔츠/셔츠</span>-->
+<!--							<span><em>긴팔셔츠</em></span>-->
+<!--							<span>스트라이프 퍼프 스트라이프 퍼프</span>-->
+<!--						</a>-->
+<!--					</li>-->
+<!--					<li>-->
+<!--						<a href="">-->
+<!--							<span>여성</span>-->
+<!--							<span><em>니트/가디건/베스트</em></span>-->
+<!--							<span>가디건</span>-->
+<!--							<span>롱가디건</span>-->
+<!--						</a>-->
+<!--					</li>-->
+<!--					<li>-->
+<!--						<a href="">-->
+<!--							<span><em>여성</em></span>-->
+<!--							<span>자켓/점퍼/코트</span>-->
+<!--							<span>코트</span>-->
+<!--							<span>롱코트</span>-->
+<!--						</a>-->
+<!--					</li>-->
 					<!-- <li>
                         <p>여성 > <span>니트/가디건/베스트</span> > 가디건 > 롱가디건</p>
                     </li>
                     <li>
                         <p><span>여성</span> > 자켓/점퍼/코트 > 코트 > 롱코트</p>
                     </li> -->
-				</ul>
+<!--				</ul>-->
 			</div>
 		</div>
 		<!-- //4.검색어 타이핑 -->
 
 		<!-- 3.검색결과 없을때 -->
-		<div class="inner">
-			<div class="sch_title">
-				<input type="text" class="form_control" placeholder="NBA 겨울 클리어런스+봄 프리뷰!">
-				<!-- <button class="btn_x">X</button> -->
-				<button class="btn_sch"><img src="/images/mo/ico_btn_search.png" alt=""></button>
-			</div>
+		<div class="inner" id="noDataArea">
+<!--			<div class="sch_title">-->
+<!--				<input type="text" class="form_control" placeholder="NBA 겨울 클리어런스+봄 프리뷰!">-->
+<!--				&lt;!&ndash; <button class="btn_x">X</button> &ndash;&gt;-->
+<!--				<button class="btn_sch"><img src="/images/mo/ico_btn_search.png" alt=""></button>-->
+<!--			</div>-->
 			<div class="relative-list nodata"> <!-- 검색결과 없을 시 nodata 클래스 추가 -->
-				<ul>
-					<li>
-						<a href="#">
-							<p><span>티비제이</span></p>
-						</a>
-					</li>
-					<li>
-						<a href="#">
-							<p><span>티비제이</span> 기모청바지</p>
-						</a>
-					</li>
-					<li>
-						<a href="#">
-							<p>TBJ 겨울 팬츠</p>
-						</a>
-					</li>
-					<li>
-						<a href="#">
-							<p><span>제기장 스웨터</span></p>
-						</a>
-					</li>
-					<li>
-						<a href="#">
-							<p><span>티비제이</span> 드라마 연예인 스웨터</p>
-						</a>
-					</li>
-					<li>
-						<a href="#">
-							<p>가을겨울 긴팔 롱 <span>스웨터</span></p>
-						</a>
-					</li>
-					<li>
-						<a href="#">
-							<p><span>스웨터</span></p>
-						</a>
-					</li>
-					<li>
-						<a href="#">
-							<p>롱 <span>스웨터</span></p>
-						</a>
-					</li>
-					<li>
-						<a href="#">
-							<p><span>티비제이</span> 여성 <span>스웨터</span></p>
-						</a>
-					</li>
-					<li>
-						<a href="#">
-							<p>가을겨울 긴팔 롱 <span>스웨터</span></p>
-						</a>
-					</li>
-				</ul>
-				<p class="nodata_txt">&lsquo;<span>스웨터 제기장</span>&rsquo; 에 맞는 상품을 찾지 못했습니다.<br>검색어를 변경해 보세요.</p>
+				<p class="nodata_txt">&lsquo;<span id="noDataKeyword"></span>&rsquo; 에 맞는 상품을 찾지 못했습니다.<br>검색어를 변경해 보세요.</p>
 			</div>
 			<h3 class="hot-key">STYLE24에서 검색되고 있어요</h3>
 			<div class="related_keyword">
@@ -467,7 +418,7 @@
 				</div>
 			</div>
 		</div>
-		<div class="inner">
+		<div class="inner" id="recommandArea">
 			<div class="recommand_product">
 				<div class="store_product">
 					<div class="swiper-container recommand_slide">
@@ -662,6 +613,127 @@
 		cfnGoToPage(actionUrl);
 	});
 
+	// 검색어 찾기
+	var fnGetAutoSearch = function (){
+		gagajf.ajaxFormSubmit("/display/search/auto/complete", document.searchMainForm, fnAutoCompleteList);
+	}
+
+	// 검색어 찾기 결과
+	var fnAutoCompleteList = function (result){
+		if(result.autoKeywords.length==0 && result.brand == null && result.cateList == null && result.goodsList ==null){
+			$("#keyupArea").hide();
+			$("#keyupCateArea").hide();
+			// $('.empty_box .nodata').find('#noDataKeyword').text("'"+$("#searchMainForm").find('input[name=keyword]').val()+"'");
+			$("#noDataArea").find('#noDataKeyword').text($("#searchMainForm").find('input[name=keyword]').val());
+			$("#noDataArea").show();
+			$("#recommandArea").show();
+		}else{
+			// 자동완성 키워드
+			if(result.autoKeywords != null && result.autoKeywords.length > 0){
+				$("#keyupArea").find(".relative-list").html('');
+				let tag = '';
+				tag += '<ul>\n';
+				$.each(result.autoKeywords, function (idx,item){
+					tag += '<li>\n';
+					tag += '	<a href="javascript:void(0);">\n';
+					tag += '		<p><span>'+result.autoKeywords[idx]+'</span></p>\n';
+					tag += '	</a>\n';
+					tag += '</li>\n';
+				});
+				tag += '</ul>\n';
+				$("#keyupArea").find(".relative-list").append(tag);
+			}
+
+			// 브랜드
+			if(result.brand != null){
+				$("#keyupArea").find(".store-list").html('');
+				let tag = '';
+				tag += '<div class="f_left">\n';
+				tag += '	<h3>'+result.brand.brandGroupNm+' 공식 스토어</h3>\n';
+				tag += '</div>\n';
+				tag += '<div class="f_right">\n';
+				tag += '	<a href="javascript:void(0);" onclick="cfnGoToBrandMain('+result.brand.brandGroupNo+');">바로가기</a>\n';
+				tag += '</div>\n';
+				$("#keyupArea").find(".store-list").append(tag);
+			}
+
+			if(result.cateList != null && result.cateList.length > 0){
+				$("#keyupCateArea").find(".sch_category").html('');
+				let tag = '';
+				tag += '<h3>카테고리</h3>\n';
+				tag += '<ul>\n';
+				$.each(result.cateList, function (idx, item){
+					tag +='<li>\n';
+					tag +='	<a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\'G032_101\' ';
+					if(item.cate1No != null){
+						tag += ', '+item.cate1No;
+					}
+					if(item.cate2No != null){
+						tag += ', '+item.cate2No;
+					}
+					if(item.cate3No != null){
+						tag += ', '+item.cate3No;
+					}
+					if(item.cate4No != null){
+						tag += ', '+item.cate4No;
+					}
+					if(item.cate5No != null){
+						tag += ', '+item.cate5No;
+					}
+					tag += ');">\n';
+					if(item.cate1Nm != null){
+						tag += '		<span>'+item.cate1Nm+'</span>\n';
+					}
+					if(item.cate2Nm != null){
+						tag += '		<span>'+item.cate2Nm+'</span>\n';
+					}
+					if(item.cate3Nm != null){
+						tag += '		<span>'+item.cate3Nm+'</span>\n';
+					}
+					if(item.cate4Nm != null){
+						tag += '		<span>'+item.cate4Nm+'</span>\n';
+					}
+					if(item.cate5Nm != null){
+						tag += '		<span>'+item.cate5Nm+'</span>\n';
+					}
+					tag +='	</a>\n';
+					tag +='</li>\n';
+				});
+				tag += '</ul>\n';
+
+				$("#keyupCateArea").find(".sch_category").append(tag);
+			}
+		}
+	}
+
+	// 검색어 입력
+	var fnOnkeyupKeyword = function (obj){
+		var searchValue = $(obj).val();
+		if(searchValue.length > 0){
+			$("#defaultArea").hide();
+			$("#popularArea").hide();
+			$("#keyupArea").show();
+			$("#keyupCateArea").show();
+			$("#deleteKeyword").show();
+			$("#noDataArea").hide();
+			$("#recommandArea").hide();
+			fnGetAutoSearch();
+		}else{
+			$("#defaultArea").show();
+			$("#popularArea").show();
+			$("#keyupArea").hide();
+			$("#keyupCateArea").hide();
+			$("#deleteKeyword").hide();
+			$("#noDataArea").hide();
+			$("#recommandArea").hide();
+		}
+	}
+
+	document.getElementById("deleteKeyword").onclick = function (){
+		$("#searchMainForm").find("input[name=keyword]").val('');
+		fnOnkeyupKeyword($("#searchMainForm").find("input[name=keyword]"));
+	}
+
 	$(document).ready( function() {
 		if (trendKeywordList.length > 0) {
 			$("#popularKeyArea").html('');
@@ -674,7 +746,14 @@
 				$("#popularKeyArea").append(tag);
 			});
 		}
+
+		$("#keyupArea").hide();
+		$("#keyupCateArea").hide();
+		$("#deleteKeyword").hide();
+		$("#noDataArea").hide();
+		$("#recommandArea").hide();
 	});
+
 	/*]]>*/
 </script>
 

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

@@ -48,7 +48,7 @@
 											<div class="od_name">
 												<div class="goods_date"><span class="date" th:text="${reviewInfo.regDt}"></span> 구매</div>
 												<div class="brand">
-													<span th:text="${reviewInfo.brandEnm}"></span>
+													<span th:text="${reviewInfo.brandNm}"></span>
 												</div>
 												<div class="name" th:text="${reviewInfo.goodsNm}"></div>
 											</div>

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

@@ -30,7 +30,7 @@
 							<div class="tip_contents">
 								<p class="tip_txt">
 									<ul>
-										<li>일반 리뷰 작성시 150P, 포토/영상 리뷰는 350P가 추가 적립됩니다.</li>
+										<li>일반 리뷰 작성시 150P, 포토/영상 리뷰는 350P가 적립됩니다.</li>
 										<li>월 최대 10,000P까지 적립 가능합니다. <br> (합산 후 월 1회 지급)</li>
 										<li>베스트 리뷰로 선정되면 10,000P가 추가 적립됩니다.</li>
 										<li>리뷰는 주문일 기준 90일간 작성이 가능합니다.</li>

+ 4 - 4
src/main/webapp/WEB-INF/views/web/display/BrandMainFormWeb.html

@@ -113,8 +113,8 @@
 														</div>
 														<p class="itemBrand" th:text="${goodsData.brandGroupNm}"></p>
 														<div class=" itemName" th:text="${goodsData.goodsFullNm}"></div>
-														<p class="itemPrice" th:text="${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')+'원'}"></p>
 														<div class="itemComment" th:text="${goodsData.goodsTnm}">#가을느낌 물씬!</div>
+														<p class="itemPrice" th:text="${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')+'원'}"></p>
 													</a>
 												</div>
 											</div>
@@ -188,12 +188,12 @@
 														</div>
 														<p class="itemBrand" th:text="${goodsData.brandGroupNm}"></p>
 														<div class="itemName" th:text="${goodsData.goodsFullNm}"></div>
+														<div class="itemComment" th:text="${goodsData.goodsTnm}">#가을느낌 물씬!!</div>
 														<p class="itemPrice">
 															[[${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')} + 원]]
 															<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}"></span>
 															<span class="itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${(goodsData.listPrice == 0 ? 0 : #numbers.formatDecimal((goodsData.listPrice - goodsData.currPrice) / (goodsData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 														</p>
-														<div class="itemComment" th:text="${goodsData.goodsTnm}">#가을느낌 물씬!!</div>
 													</a>
 												</div>
 											</div>
@@ -268,12 +268,12 @@
 													</div>
 													<p class=" itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
 													<div class=" itemName" th:text="${goodsData.goodsFullNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+													<div class="itemComment" th:text="${goodsData.goodsTnm}">#베이직 셔츠의 정수1</div>
 													<p class="itemPrice" >
 														[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')} + 원]]
 														<span class="itemPrice_original" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
 														<span class=" itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${(goodsData.listPrice == 0 ? 0 : #numbers.formatDecimal((goodsData.listPrice - goodsData.currPrice) / (goodsData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 													</p>
-													<div class="itemComment" th:text="${goodsData.goodsTnm}">#베이직 셔츠의 정수1</div>
 												</a>
 											</div>
 										</div>
@@ -372,6 +372,7 @@
 												</div>
 												<p class=" itemBrand" th:text="${goodsData.brandGroupNm}"></p>
 												<div class="itemName" th:text="${goodsData.goodsFullNm}"></div>
+												<div class="itemComment" th:text="${goodsData.goodsTnm}">#가을느낌 물씬!</div>
 												<p class="itemPrice">[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')} + 원]]
 													<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
 													<span class=" itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${(goodsData.listPrice == 0 ? 0 : #numbers.formatDecimal((goodsData.listPrice - goodsData.currPrice) / (goodsData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
@@ -387,7 +388,6 @@
 														<span class="badge13" th:if="${idx.index<3}" th:value="${iconArray[0]}" th:text="${iconArray[1]}"></span>
 													</th:block>
 												</p>
-												<div class="itemComment" th:text="${goodsData.goodsTnm}">#가을느낌 물씬!</div>
 											</a>
 										</div>
 									</div>

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

@@ -102,8 +102,8 @@
 												</div>
 												<p class="itemBrand" th:text="${item.brandGroupNm}">BRAND NAME</p>
 												<div class="itemName" th:text="${item.goodsFullNm}">스타 착용 여성 퍼 아플리케 오버핏 투마일 웨어링 점퍼</div>
-												<p class="itemPrice" th:text="${#numbers.formatInteger(item.currPrice,3,'COMMA') + '원'}">488,000원</p>
 												<div class="itemComment" th:if="${not #strings.isEmpty(item.goodsTnm)}" th:text="${item.goodsTnm}">#가을느낌 물씬!</div>
+												<p class="itemPrice" th:text="${#numbers.formatInteger(item.currPrice,3,'COMMA') + '원'}">488,000원</p>
 											</a>
 										</div>
 									</div>
@@ -141,6 +141,7 @@
 											</div>
 											<p class="itemBrand" th:text="${item.brandGroupNm}">BRAND NAME</p>
 											<div class="itemName" th:text="${item.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
+											<div class="itemComment" th:if="${not #strings.isEmpty(item.goodsTnm)}" th:text="${item.goodsTnm}">#주문 폭주 상품</div>
 											<p class="itemPrice">
 												<span th:text="${#numbers.formatInteger(item.currPrice,3,'COMMA') + '원'}">80,100</span>
 												<span class="itemPrice_original" th:if="${item.currPrice != item.listPrice}" th:text="${#numbers.formatInteger(item.listPrice,3,'COMMA') + '원'}">89,000</span>
@@ -157,7 +158,6 @@
 													<span class="badge13" th:if="${idx.index<3}" th:value="${iconArray[0]}" th:text="${iconArray[1]}"></span>
 												</th:block>
 											</p>
-											<div class="itemComment" th:if="${not #strings.isEmpty(item.goodsTnm)}" th:text="${item.goodsTnm}">#주문 폭주 상품</div>
 										</a>
 									</div>
 								</div>

+ 59 - 69
src/main/webapp/WEB-INF/views/web/display/MallMainFormWeb.html

@@ -26,7 +26,7 @@
 <!--			<th:block th:if="${mainLayoutData.ContentsList != null and !mainLayoutData.ContentsList.empty}">-->
 				<th:block th:if="${contentsLoc=='001'}">
 					<!-- 1. 비주얼 슬라이드 -->
-					<div class="content wide main_visual">
+					<div class="content wide main_visual" th:if="${mainLayoutData.ContentsList != null and !mainLayoutData.ContentsList.empty}">
 						<div class="cont_head dpnone">
 							<p class="t_c">비주얼 슬라이드</p>
 						</div>
@@ -129,8 +129,8 @@
 														</div>
 														<p class="itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
 														<div class=" itemName" th:text="${goodsData.goodsFullNm}">스타 착용 여성 퍼 아플리케 오버핏 투마일 웨어링 점퍼</div>
-														<p class="itemPrice" th:text="${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')}">488,000원</p>
 														<div class="itemComment" th:text="${goodsData.goodsTnm}">#가을느낌 물씬!</div>
+														<p class="itemPrice" th:text="${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')}">488,000원</p>
 													</a>
 												</div>
 											</div>
@@ -152,9 +152,9 @@
 							<p class="displayH" id="id004">
 								<input type="hidden" name="title" th:value="${mainLayoutData.contentsTitle}">
 							</p>
-							<th:block th:each="ContentsData, ContentsStat : ${mainLayoutData.ContentsList}">
-								<a href="javascript:void(0);" th:onclick="cfnGoToPage([[${ContentsData.strVar1}]]);"><span>전체보기</span></a>
-							</th:block>
+<!--						<th:block th:each="ContentsData, ContentsStat : ${mainLayoutData.ContentsList}">-->
+							<a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_BEST_MAIN);"><span>전체보기</span></a>
+<!--						</th:block>-->
 						</div>
 						<div class="cont_body">
 							<div class="it_nav">
@@ -183,11 +183,11 @@
 															</div>
 															<p class=" itemBrand" th:text="${bestItemData.brandGroupNm}">BRAND NAME</p>
 															<div class=" itemName" th:text="${bestItemData.goodsFullNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+															<div class="itemComment" th:text="${bestItemData.goodsTnm}">#데일리웨어로 매일입고싶은</div>
 															<p class="itemPrice">[[${#numbers.formatInteger(bestItemData.currPrice,0,'COMMA')}]]
 																<span class="itemPrice_original" th:if="${bestItemData.currPrice != bestItemData.listPrice}" th:text="${#numbers.formatInteger(bestItemData.listPrice,3,'COMMA')}">89,000</span>
 																<span class=" itemPercent" th:if="${bestItemData.currPrice != bestItemData.listPrice}" th:text="${(bestItemData.listPrice == 0 ? 0 : #numbers.formatDecimal((bestItemData.listPrice - bestItemData.currPrice) / (bestItemData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 															</p>
-															<div class="itemComment" th:text="${bestItemData.goodsTnm}">#데일리웨어로 매일입고싶은</div>
 														</a>
 													</div>
 												</div>
@@ -240,7 +240,7 @@
 				<!-- 6. 타임딜 : 슬라이드 -->
 				<th:block th:if="${contentsLoc=='006'}">
 					<th:block th:each="socialData, socialStat : ${mainLayoutData.socialInfo}">
-					<div class="content wide main_deal" th:if="${socialData.socialGoodsList != null}">
+					<div class="content wide main_deal" th:if="${socialData.socialGoodsList != null and !socialData.socialGoodsList.empty}">
 						<div class="cont_head">
 							<p class="displayH" id="id006">
 								<input type="hidden" name="title" th:value="${mainLayoutData.contentsTitle}">
@@ -271,55 +271,59 @@
 							<script>
 								/* 핫딜 countDown */
 								// var target_date = new Date().getTime() + (1000*3600*8); // set the countdown date
-								var target_date = $("#socailForm").find("input[name=targetTime]").val().toDate("YYYYMMDD");
-								var days, hours, minutes, seconds; // variables for time units
+								var target_date = '';
+								if(!gagajf.isNull($("#socailForm").find("input[name=targetTime]").val())){
+									target_date = $("#socailForm").find("input[name=targetTime]").val().toDate("YYYYMMDD");
+								}
+								if(target_date != null && target_date != ''){
+									var days, hours, minutes, seconds; // variables for time units
 
-								var countdown = document.getElementById("tiles"); // get tag element
+									var countdown = document.getElementById("tiles"); // get tag element
 
-								getCountdown();
+									getCountdown();
 
-								var timerStop = setInterval(function () { getCountdown(); }, 1000);
+									var timerStop = setInterval(function () { getCountdown(); }, 1000);
 
-								var fixDate = new Date().getTime();
-								var fixTarget = (target_date - fixDate) / 1000;
-								var width = (86400-fixTarget)*100/86400;
+									var fixDate = new Date().getTime();
+									var fixTarget = (target_date - fixDate) / 1000;
+									var width = (86400-fixTarget)*100/86400;
 
-								function getCountdown(){
+									function getCountdown(){
 
-									// find the amount of "seconds" between now and target
-									var current_date = new Date().getTime();
-									var seconds_left = (target_date - current_date) / 1000;
+										// find the amount of "seconds" between now and target
+										var current_date = new Date().getTime();
+										var seconds_left = (target_date - current_date) / 1000;
 
-									seconds_left = seconds_left % 86400;
+										seconds_left = seconds_left % 86400;
 
-									hours = pad( parseInt(seconds_left / 3600) );
-									seconds_left = seconds_left % 3600;
+										hours = pad( parseInt(seconds_left / 3600) );
+										seconds_left = seconds_left % 3600;
 
-									minutes = pad( parseInt(seconds_left / 60) );
-									seconds = pad( parseInt( seconds_left % 60 ) );
+										minutes = pad( parseInt(seconds_left / 60) );
+										seconds = pad( parseInt( seconds_left % 60 ) );
 
-									// format countdown string + set tag value
-									countdown.innerHTML = "<span>" + hours + "</span><span>" + minutes + "</span><span>" + seconds + "</span>";
+										// format countdown string + set tag value
+										countdown.innerHTML = "<span>" + hours + "</span><span>" + minutes + "</span><span>" + seconds + "</span>";
 
-									var elem = document.getElementById("barCurrent");
-									function progressMove(){
-										width += (100-width)/fixTarget;
-										elem.style.width = width + "%";
-									}
-									progressMove();
+										var elem = document.getElementById("barCurrent");
+										function progressMove(){
+											width += (100-width)/fixTarget;
+											elem.style.width = width + "%";
+										}
+										progressMove();
 
-									if(seconds_left < 1){
-										clearInterval(timerStop);
-										elem.style.width = "100%";
-									}
+										if(seconds_left < 1){
+											clearInterval(timerStop);
+											elem.style.width = "100%";
+										}
 
-								}
+									}
 
-								function pad(n) {
-									return (n < 10 ? '0' : '') + n;
+									function pad(n) {
+										return (n < 10 ? '0' : '') + n;
+									}
 								}
 								/* countDown */
-
 							</script>
 						</div>
 						<div class="cont_body">
@@ -337,13 +341,13 @@
 															</div>
 															<p class="itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
 															<div class="itemName" th:text="${goodsData.goodsNm}">여성 체인 프린트 큐롯 스커트 프린트 큐롯 스커트</div>
+															<div class="itemComment" th:text="${goodsData.goodsTnm}">#데일리웨어로 매일입고싶은</div>
 															<p class="itemPrice">
 																[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')}]]
 																<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,0,'COMMA')} + '원'"></span>
 																<span class=" itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatDecimal(goodsData.dcRate,1,0)} + '%'"></span>
 																<!--<span class="itemPercent" th:if="${planningGoods.currPrice != planningGoods.listPrice}" th:text="${(planningGoods.listPrice == 0 ? 0 : #numbers.formatDecimal((planningGoods.listPrice - planningGoods.currPrice) / (planningGoods.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>-->
 															</p>
-															<div class="itemComment" th:text="${goodsData.goodsTnm}">#데일리웨어로 매일입고싶은</div>
 														</a>
 													</div>
 												</div>
@@ -420,11 +424,11 @@
 																	<img alt="BLACK-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}" onerror="noneImg(this)">
 																</div>
 																<div class=" itemName" th:text="${goodsData.goodsFullNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+																<div class="itemComment" th:text="${goodsData.goodsTnm}">#데일리웨어로 매일입고싶은</div>
 																<p class="itemPrice" th:text="${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')}">80,100
 																	<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
 																	<span class=" itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${(goodsData.listPrice == 0 ? 0 : #numbers.formatDecimal((goodsData.listPrice - goodsData.currPrice) / (goodsData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 																</p>
-																<div class="itemComment" th:text="${goodsData.goodsTnm}">#데일리웨어로 매일입고싶은</div>
 															</a>
 														</div>
 													</div>
@@ -514,11 +518,11 @@
 																		</div>
 																		<p class="itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
 																		<div class=" itemName" th:text="${goodsData.goodsFullNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+																		<div class="itemComment" th:text="${goodsData.goodsTnm}">#주문 폭주 상품</div>
 																		<p class="itemPrice">[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')}]]
 																			<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
 																			<span class=" itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${(goodsData.listPrice == 0 ? 0 : #numbers.formatDecimal((goodsData.listPrice - goodsData.currPrice) / (goodsData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 																		</p>
-																		<div class="itemComment" th:text="${goodsData.goodsTnm}">#주문 폭주 상품</div>
 																	</a>
 																</div>
 															</div>
@@ -1082,7 +1086,7 @@ var main_deal_slide = new Swiper ('.main_deal .post-deal', {
 /* 브랜드 PICK 갯수체크 210430_수정 */
 var pickCont = $('.post-pick-nav .swiper-slide');
 var pickLength = pickCont.length;
-if (pickLength < 2) {
+if (pickLength < 7) { //210614_ 수정 : 슬라이드 갯수 7개 미만일시 롤링 기능 억제.
 	/* SLIDE - MAIN_PICK */
 	var main_pick_nav = new Swiper('.main_pick .post-pick-nav', { //top
 		initialSlide: 0,
@@ -1090,12 +1094,9 @@ if (pickLength < 2) {
 		// slidesPerGroup: 6,
 		loop: false,
 		watchOverflow : true,
-		loopeSlides: 6,
-		loopFillGroupWithBlank : true,
 		// slideToClickedSlide : true,
 		slideToClickedSlide : true,
 		loopAdditionalSlides : 1,
-		// centeredSlides : true,
 		watchSlidesVisibility: true,
 		watchSlidesProgress: true,
 		freeMode: false,
@@ -1103,24 +1104,17 @@ if (pickLength < 2) {
 			nextEl: '.main_pick .swiper-button-next',
 			prevEl: '.main_pick .swiper-button-prev',
 		},
-		// autoplay: {
-		// 	delay: 5000,
-		// 	disableOnInteraction: false,
-		// },
 	});
 } else {
 	/* SLIDE - MAIN_PICK */
 	var main_pick_nav = new Swiper('.main_pick .post-pick-nav', { //top
 		initialSlide: 0,
 		slidesPerView: 6,
-		// slidesPerGroup: 6,
-		loop: true,
-		loopeSlides: 6,
-		loopFillGroupWithBlank : true,
+		slidesPerGroup: 6,
+		loop: false,
 		// slideToClickedSlide : true,
 		slideToClickedSlide : true,
-		loopAdditionalSlides : 1,
-		// centeredSlides : true,
+		//loopAdditionalSlides : 1,
 		watchSlidesVisibility: true,
 		watchSlidesProgress: true,
 		freeMode: false,
@@ -1128,10 +1122,6 @@ if (pickLength < 2) {
 			nextEl: '.main_pick .swiper-button-next',
 			prevEl: '.main_pick .swiper-button-prev',
 		},
-		// autoplay: {
-		// 	delay: 5000,
-		// 	disableOnInteraction: false,
-		// },
 	});
 
 
@@ -1152,10 +1142,10 @@ if (pickForLength < 2) {
 		// loopFillGroupWithBlank : true,
 		loopAdditionalSlides: 1,
 		allowTouchMove: false,
-		navigation: {
-			nextEl: '.main_pick .swiper-button-next',
-			prevEl: '.main_pick .swiper-button-prev',
-		},
+		// navigation: {
+		// nextEl: '.main_pick .swiper-button-next',
+		// prevEl: '.main_pick .swiper-button-prev',
+		// },
 		thumbs: {
 			swiper: main_pick_nav
 		},
@@ -1175,10 +1165,10 @@ if (pickForLength < 2) {
 		// loopFillGroupWithBlank : true,
 		loopAdditionalSlides: 1,
 		allowTouchMove: false,
-		navigation: {
-			nextEl: '.main_pick .swiper-button-next',
-			prevEl: '.main_pick .swiper-button-prev',
-		},
+		// navigation: {
+		// nextEl: '.main_pick .swiper-button-next',
+		// prevEl: '.main_pick .swiper-button-prev',
+		// },
 		thumbs: {
 			swiper: main_pick_nav
 		},

+ 178 - 123
src/main/webapp/WEB-INF/views/web/display/SearchLayerWeb.html

@@ -22,7 +22,7 @@
 			
 			<fieldset>
 				<legend>통합검색</legend>
-				<input type="text" name="keyword" value="" placeholder="검색어를 입력하세요." class="search_input" title="검색어 입력" maxlength="100" required="required" data-valid-name="검색어"/>
+				<input type="text" name="keyword" value="" placeholder="검색어를 입력하세요." class="search_input" title="검색어 입력" maxlength="100" required="required" data-valid-name="검색어" onkeyup="fnOnkeyupKeyword(this);"/>
 				<button type="button" class="sch_btn" id="btnSearchKeyword"><i class="ico ico_search"><em>검색</em></i></button>
 			</fieldset>
 		</form>
@@ -126,45 +126,45 @@
 		<!-- 검색결과 입력 후 -->
 		<div class="searching_box" style="display:none;">
 			<div class="autokeyword_blk">
-				<ul>
-					<li><a href=""><em>가</em>을컬리수</a></li>
-					<li><a href=""><em>가</em>드상하</a></li>
-					<li><a href=""><em>가</em>죽자켓</a></li>
-					<li><a href=""><em>가</em>죽밸트</a></li>
-					<li><a href=""><em>가</em>운</a></li>
-					<li><a href=""><em>가</em>을</a></li>
-					<li><a href=""><em>가</em>디건</a></li>
-					<li><a href=""><em>가</em>디건형니트</a></li>
-					<li><a href=""><em>가</em>드밴드레깅스</a></li>
-					<li><a href=""><em>가</em>을잠옷</a></li>
-				</ul>
+<!--				<ul>-->
+<!--					<li><a href=""><em>가</em>을컬리수</a></li>-->
+<!--					<li><a href=""><em>가</em>드상하</a></li>-->
+<!--					<li><a href=""><em>가</em>죽자켓</a></li>-->
+<!--					<li><a href=""><em>가</em>죽밸트</a></li>-->
+<!--					<li><a href=""><em>가</em>운</a></li>-->
+<!--					<li><a href=""><em>가</em>을</a></li>-->
+<!--					<li><a href=""><em>가</em>디건</a></li>-->
+<!--					<li><a href=""><em>가</em>디건형니트</a></li>-->
+<!--					<li><a href=""><em>가</em>드밴드레깅스</a></li>-->
+<!--					<li><a href=""><em>가</em>을잠옷</a></li>-->
+<!--				</ul>-->
 			</div>
 			<div class="exfind_blk">
 				<!-- 검색어 매칭 브랜드 있을 시 노출  -->
 				<div class="find_brand">
-					<h3><a href="">나이키 주니어 샵 바로가기</a></h3>
+<!--					<h3><a href="">나이키 주니어 샵 바로가기</a></h3>-->
 				</div>
 				<!-- //검색어 매칭 브랜드 있을 시 노출  -->
 				<!-- 검색어 매칭 카테고리 있을 시 노출  -->
 				<div class="find_category">
-					<ul>
-						<li>
-							<span class="category_txt">카테고리</span>
-							<a href="">
-								<span>여성</span>
-								<span><em>니트가디건/베스트</em></span> <!-- 210419_수정 : em태그 전체 텍스트 감싸는 형식. -->
-							</a>
-						</li>
-						<li>
-							<span class="category_txt">카테고리</span>
-							<a href="">
-								<span>남성</span>
-								<span><em>니트/가디건/베스트</em></span> <!-- 210419_수정 : em태그 전체 텍스트 감싸는 형식. -->
-								<span>가디건</span>
-								<span>롱가디건</span>
-							</a>
-						</li>
-					</ul>
+<!--					<ul>-->
+<!--						<li>-->
+<!--							<span class="category_txt">카테고리</span>-->
+<!--							<a href="">-->
+<!--								<span>여성</span>-->
+<!--								<span><em>니트가디건/베스트</em></span> &lt;!&ndash; 210419_수정 : em태그 전체 텍스트 감싸는 형식. &ndash;&gt;-->
+<!--							</a>-->
+<!--						</li>-->
+<!--						<li>-->
+<!--							<span class="category_txt">카테고리</span>-->
+<!--							<a href="">-->
+<!--								<span>남성</span>-->
+<!--								<span><em>니트/가디건/베스트</em></span> &lt;!&ndash; 210419_수정 : em태그 전체 텍스트 감싸는 형식. &ndash;&gt;-->
+<!--								<span>가디건</span>-->
+<!--								<span>롱가디건</span>-->
+<!--							</a>-->
+<!--						</li>-->
+<!--					</ul>-->
 				</div>
 				<!-- //검색어 매칭 카테고리 있을 시 노출  -->
 			</div>
@@ -173,96 +173,24 @@
 				<h3>관련상품</h3>
 				<div class="realtime_wrap">
 					<div class="itemsGrp">
-						<div class="item_prod">
-							<div class="item_state">
-								<a href="#none" class="itemLink">
-									<div class="itemPic">
-										<img alt="" class="vLHTC pd_img" src="/images/pc/thumb/tmp_pdLookbook_item1.jpg">
-									</div>
-									<p class="itemBrand">BRAND NAME1</p>
-									<div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-									<!-- cols 클래스 추가 후 itemPrice_original태그 위로 올려주시면 됩니다. -->
-									<p class="itemPrice cols">
-										<span class="itemPrice_original">89,000</span>
-										80,100
-										<span class="itemPercent">10%</span>
-									</p>
-									<!-- //cols 클래스 추가 후 itemPrice_original태그 위로 올려주시면 됩니다. -->
-								</a>
-							</div>
-						</div>
-						<div class="item_prod">
-							<div class="item_state">
-								<a href="#none" class="itemLink">
-									<div class="itemPic">
-										<img alt="" class="vLHTC pd_img" src="/images/pc/thumb/tmp_pdLookbook_item1.jpg">
-									</div>
-									<p class="itemBrand">BRAND NAME1</p>
-									<div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-									<!-- cols 클래스 추가 후 itemPrice_original태그 위로 올려주시면 됩니다. -->
-									<p class="itemPrice cols">
-										<span class="itemPrice_original">89,000</span>
-										80,100
-										<span class="itemPercent">10%</span>
-									</p>
-									<!-- //cols 클래스 추가 후 itemPrice_original태그 위로 올려주시면 됩니다. -->
-								</a>
-							</div>
-						</div>
-						<div class="item_prod">
-							<div class="item_state">
-								<a href="#none" class="itemLink">
-									<div class="itemPic">
-										<img alt="" class="vLHTC pd_img" src="/images/pc/thumb/tmp_pdLookbook_item1.jpg">
-									</div>
-									<p class="itemBrand">BRAND NAME1</p>
-									<div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-									<!-- cols 클래스 추가 후 itemPrice_original태그 위로 올려주시면 됩니다. -->
-									<p class="itemPrice cols">
-										<span class="itemPrice_original">89,000</span>
-										80,100
-										<span class="itemPercent">10%</span>
-									</p>
-									<!-- //cols 클래스 추가 후 itemPrice_original태그 위로 올려주시면 됩니다. -->
-								</a>
-							</div>
-						</div>
-						<div class="item_prod">
-							<div class="item_state">
-								<a href="#none" class="itemLink">
-									<div class="itemPic">
-										<img alt="" class="vLHTC pd_img" src="/images/pc/thumb/tmp_pdLookbook_item1.jpg">
-									</div>
-									<p class="itemBrand">BRAND NAME1</p>
-									<div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-									<!-- cols 클래스 추가 후 itemPrice_original태그 위로 올려주시면 됩니다. -->
-									<p class="itemPrice cols">
-										<span class="itemPrice_original">89,000</span>
-										80,100
-										<span class="itemPercent">10%</span>
-									</p>
-									<!-- //cols 클래스 추가 후 itemPrice_original태그 위로 올려주시면 됩니다. -->
-								</a>
-							</div>
-						</div>
-						<div class="item_prod">
-							<div class="item_state">
-								<a href="#none" class="itemLink">
-									<div class="itemPic">
-										<img alt="" class="vLHTC pd_img" src="/images/pc/thumb/tmp_pdLookbook_item1.jpg">
-									</div>
-									<p class="itemBrand">BRAND NAME1</p>
-									<div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-									<!-- cols 클래스 추가 후 itemPrice_original태그 위로 올려주시면 됩니다. -->
-									<p class="itemPrice cols">
-										<span class="itemPrice_original">89,000</span>
-										80,100
-										<span class="itemPercent">10%</span>
-									</p>
-									<!-- //cols 클래스 추가 후 itemPrice_original태그 위로 올려주시면 됩니다. -->
-								</a>
-							</div>
-						</div>
+<!--						<div class="item_prod">-->
+<!--							<div class="item_state">-->
+<!--								<a href="#none" class="itemLink">-->
+<!--									<div class="itemPic">-->
+<!--										<img alt="" class="vLHTC pd_img" src="/images/pc/thumb/tmp_pdLookbook_item1.jpg">-->
+<!--									</div>-->
+<!--									<p class="itemBrand">BRAND NAME1</p>-->
+<!--									<div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>-->
+<!--									&lt;!&ndash; cols 클래스 추가 후 itemPrice_original태그 위로 올려주시면 됩니다. &ndash;&gt;-->
+<!--									<p class="itemPrice cols">-->
+<!--										<span class="itemPrice_original">89,000</span>-->
+<!--										80,100-->
+<!--										<span class="itemPercent">10%</span>-->
+<!--									</p>-->
+<!--									&lt;!&ndash; //cols 클래스 추가 후 itemPrice_original태그 위로 올려주시면 됩니다. &ndash;&gt;-->
+<!--								</a>-->
+<!--							</div>-->
+<!--						</div>-->
 					</div>
 				</div>
 			</div>
@@ -271,9 +199,10 @@
 
 		<!-- 검색결과 없을때 노출 -->
 		<div class="empty_box">
+		<div class="">
 			<div class="nodata">
 				<p>
-					<span class="keyword">'티비제이 제기장 스웨터'</span>에 맞는 상품을 찾지 못했습니다.<br>
+					<span class="keyword" id="noDataKeyword"></span>에 맞는 상품을 찾지 못했습니다.<br>
 					검색어를 변경해 보세요.
 				</p>
 			</div>
@@ -450,7 +379,133 @@
 				$("#popularKeyArea").append(tag);
 			});
 		}
+
+		//통합검색 - 검색어 입력 시
+		//
 	});
+
+	// 검색어 찾기
+	var fnGetAutoSearch = function (){
+		gagajf.ajaxFormSubmit("/display/search/auto/complete", document.searchMainForm, fnAutoCompleteList);
+	}
+
+	// 검색어 찾기 결과
+	var fnAutoCompleteList = function (result){
+		if(result.autoKeywords.length==0 && result.brand == null && result.cateList == null && result.goodsList ==null){
+			$('.common_search .area_result .searching_box').hide();
+			$('.empty_box .nodata').find('#noDataKeyword').text("'"+$("#searchMainForm").find('input[name=keyword]').val()+"'");
+			$('.common_search .area_result .empty_box').show();
+		}else{
+			// 자동완성 키워드
+			if(result.autoKeywords != null && result.autoKeywords.length > 0){
+				$(".autokeyword_blk").html('');
+				let tag = '';
+				tag += '<ul>\n';
+				$.each(result.autoKeywords, function (idx, item){
+					//<a href="javascript:void(0);"><em>가</em>을컬리수</a>
+					tag += '<li><a href="javascript:void(0);">'+result.autoKeywords[idx]+'</a></li>\n';
+				});
+				tag += '</ul>\n';
+				$(".autokeyword_blk").append(tag);
+			}
+
+			if(result.brand != null){
+				$(".find_brand").html('');
+				let tag = '';
+				tag += '<h3><a href="javascript:void(0);" onclick="cfnGoToBrandMain('+result.brand.brandGroupNo+');">'+result.brand.brandGroupNm+' 샵 바로가기</a></h3>\n';
+				$(".find_brand").append(tag);
+			}
+			if(result.cateList != null && result.cateList.length > 0){
+				$(".find_category").html('');
+				let tag = '';
+				tag += '<ul>\n';
+				$.each(result.cateList, function (idx, item){
+					tag += '<li>\n';
+					tag += '	<span class="category_txt">카테고리</span>\n';
+					tag += '	<a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\'G032_101\' ';
+					if(item.cate1No != null){
+						tag += ', '+item.cate1No;
+					}
+					if(item.cate2No != null){
+						tag += ', '+item.cate2No;
+					}
+					if(item.cate3No != null){
+						tag += ', '+item.cate3No;
+					}
+					if(item.cate4No != null){
+						tag += ', '+item.cate4No;
+					}
+					if(item.cate5No != null){
+						tag += ', '+item.cate5No;
+					}
+					tag += ');">\n';
+					if(item.cate1Nm != null){
+						tag += '		<span>'+item.cate1Nm+'</span>\n';
+					}
+					if(item.cate2Nm != null){
+						tag += '		<span>'+item.cate2Nm+'</span>\n';
+					}
+					if(item.cate3Nm != null){
+						tag += '		<span>'+item.cate3Nm+'</span>\n';
+					}
+					if(item.cate4Nm != null){
+						tag += '		<span>'+item.cate4Nm+'</span>\n';
+					}
+					if(item.cate5Nm != null){
+						tag += '		<span>'+item.cate5Nm+'</span>\n';
+					}
+					tag += '	</a>\n';
+					tag += '</li>\n';
+				});
+				tag += '</ul>\n';
+				$(".find_category").append(tag);
+			}
+			if(result.goodsList != null && result.goodsList.length > 0){
+				$(".pd_list .realtime_wrap .itemsGrp").html('');
+				let tag = '';
+				$.each(result.goodsList, function (idx, item){
+					if(idx<5) {
+						tag += '<div class="item_prod">\n';
+						tag += '	<div class="item_state">\n';
+						tag += '		<a href="javascript:void(0);" class="itemLink">\n';
+						tag += '			<div class="itemPic">\n';
+						tag += '				<img alt="" class="vLHTC pd_img" src="' + item.sysImgNm + '">\n';
+						tag += '			</div>\n';
+						tag += '			<p class="itemBrand">' + item.brandGroupNm + '</p>\n';
+						tag += '			<div class="itemName">' + item.goodsFullNm + '</div>\n';
+						tag += '			<p class="itemPrice cols">\n';
+						if (item.listPrice != item.currPrice) {
+							tag += '				<span class="itemPrice_original">' + item.listPrice.addComma() + '</span>\n';
+						}
+						tag += item.currPrice.addComma();
+						if (item.listPrice != item.currPrice) {
+							tag += '				<span class="itemPercent">' + (item.listPrice - item.currPrice) / (item.listPrice * 1.0) * 100 + '%</span>\n';
+						}
+						tag += '			</p>\n';
+						tag += '		</a>\n';
+						tag += '	</div>\n';
+						tag += '</div>\n';
+					}
+				});
+
+				$(".pd_list .realtime_wrap .itemsGrp").append(tag);
+			}
+		}
+	}
+
+	var fnOnkeyupKeyword = function (obj){
+		var searchValue = $(obj).val();
+		if(searchValue.length > 0) {
+			$('.common_search .area_result .default_box').hide();
+			$('.common_search .area_result .searching_box').show();
+			$('.common_search .area_result .empty_box').hide();
+			fnGetAutoSearch();
+		} else if (searchValue.length == 0) {
+			$('.common_search .area_result .searching_box').hide();
+			$('.common_search .area_result .default_box').show();
+			$('.common_search .area_result .empty_box').hide();
+		}
+	}
 	/*]]>*/
 </script>
 </html>

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

@@ -66,7 +66,7 @@
 																<span class="buy_date"><em th:text="${reviewInfo.ordDt}"></em>&nbsp;구매</span>
 															</p>
 															<p>
-																<span class="brand" th:text="${reviewInfo.brandEnm}"></span>
+																<span class="brand" th:text="${reviewInfo.brandNm}"></span>
 																<!-- <span class="tag">STYLE24 일반배송</span> -->
 															</p>
 															<p>

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

@@ -39,7 +39,7 @@
 							<div class="com_info_txt">
 								<p class="tit">리뷰 안내</p>
 								<ul>
-									<li>일반 리뷰 작성 시 150P, 포토/영상 리뷰는 350P가 추가 적립됩니다!</li>
+									<li>일반 리뷰 작성 시 150P, 포토/영상 리뷰는 350P가 적립됩니다!</li>
 									<li>월 최대 10,000 P까지 적립 가능합니다.(합산 후 월 1회 지급)</li>
 									<li>베스트 리뷰로 선정되면 10,000P가 추가 적립됩니다!</li>
 									<li>리뷰는 주문일 기준 90일간 작성이 가능합니다.</li>

+ 3 - 3
src/main/webapp/biz/goods.js

@@ -299,6 +299,9 @@ var fnCreateGoodsList = function(result, ithrCd, contentLoc, goodsUrl, lastPage,
 
 		tag += '			<p class="itemBrand">'+item.brandGroupNm+'</p>';
 		tag += '			<div class="itemName">'+item.goodsFullNm+'</div>';
+		if(item.goodsTnm != null){
+			tag += '			<div class="itemComment">'+item.goodsTnm+'</div>';
+		}
 		if(appGb != 'Mob'){
 			tag += '			<p class="itemPrice">'+item.currPrice.addComma()
 			if(item.currPrice != item.listPrice){
@@ -362,9 +365,6 @@ var fnCreateGoodsList = function(result, ithrCd, contentLoc, goodsUrl, lastPage,
 			tag += '	</p>';
 		}
 
-		if(item.goodsTnm != null){
-			tag += '			<div class="itemComment">'+item.goodsTnm+'</div>';
-		}
 		tag += '		</a>';
 		tag += '	</div>';
 		tag += '</div>';

+ 37 - 3
src/main/webapp/biz/search.js

@@ -105,6 +105,9 @@ var fnCreateGoodsList = function(result, ithrCd, contentLoc, goodsUrl, lastPage,
 
 		tag += '			<p class="itemBrand">'+item.brandGroupNm+'</p>';
 		tag += '			<div class="itemName">'+item.goodsFullNm+'</div>';
+		if(item.goodsTnm != null){
+			tag += '			<div class="itemComment">'+item.goodsTnm+'</div>';
+		}
 		if(appGb != 'Mob'){
 			tag += '			<p class="itemPrice">'+item.currPrice.addComma()
 			tag += '				<span class="itemPrice_original">'+item.listPrice.addComma()+'</span>';
@@ -166,9 +169,6 @@ var fnCreateGoodsList = function(result, ithrCd, contentLoc, goodsUrl, lastPage,
 			tag += '	</p>';
 		}
 
-		if(item.goodsTnm != null){
-			tag += '			<div class="itemComment">'+item.goodsTnm+'</div>';
-		}
 		tag += '		</a>';
 		tag += '	</div>';
 		tag += '</div>';
@@ -278,6 +278,7 @@ var filterSel = function (obj, gubun, staus, sizeGb){
 
 var fnFilterSet = function (searchId, sizeGb, appGb){
 	fnCategoryGoodsInfiniteScrollInit();
+	console.log(searchId);
 	$("#searchGoodsForm input:hidden[name="+searchId+"Arr]").remove();
 	var tag = '';
 	var mobTag = '';
@@ -570,4 +571,37 @@ var fnFilterSlider = function (gubun, min, max){
 	fnSearchGoodsListSearch();
 }
 
+// 상품상세 필터 조회
+var fnSelectFilerMob = function (obj, gubun, staus, sizeGb){
+	gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
+	gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
+	let $obj = $(obj);
+	if(staus=='on'){
+		if(gubun=='size'){
+			$(obj).attr('onclick','fnSelectFilerMob(this,\''+gubun+'\',\'off\',\''+sizeGb+'\');');
+		}else{
+			$(obj).attr('onclick','fnSelectFilerMob(this,\''+gubun+'\',\'off\',\'\');');
+		}
+
+		$("#filterData").find('span').each(function(idx,item) {
+			if(gubun=='color'){
+				if($obj.attr('data-id').replace('#','').trim() == $(this).closest("span").attr('id')) {
+					$(this).closest("span").remove();
+				}
+			}else{
+				if($obj.attr('data-id') == $(this).closest("span").text()) {
+					$(this).closest("span").remove();
+				}
+			}
+		});
+	}else{
+		if(gubun=='size'){
+			$(obj).attr('onclick','fnSelectFilerMob(this,\''+gubun+'\',\'on\',\''+sizeGb+'\');');
+		}else{
+			$(obj).attr('onclick','fnSelectFilerMob(this,\''+gubun+'\',\'on\',\'\');');
+		}
+	}
+	fnFilterSet(gubun, sizeGb, 'Mob');
+}
+
 //****************상품리스트  end **********************************

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików