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

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

card007 5 лет назад
Родитель
Сommit
b031fa8a10
29 измененных файлов с 399 добавлено и 621 удалено
  1. 35 7
      pom.xml
  2. 64 19
      src/main/java/com/style24/front/biz/thirdparty/SearchEngineDiquest.java
  3. 30 7
      src/main/java/com/style24/front/biz/web/TsfDisplayController.java
  4. 6 0
      src/main/java/com/style24/persistence/domain/searchengine/SearchEngine.java
  5. 1 1
      src/main/java/com/style24/persistence/mybatis/shop/TsfCart.xml
  6. 2 4
      src/main/java/com/style24/persistence/mybatis/shop/TsfDisplay.xml
  7. 1 1
      src/main/java/com/style24/persistence/mybatis/shop/TsfGiftcard.xml
  8. 13 1
      src/main/java/com/style24/persistence/mybatis/shop/TsfGoods.xml
  9. 3 3
      src/main/java/com/style24/persistence/mybatis/shop/TsfPoint.xml
  10. 8 6
      src/main/java/com/style24/persistence/mybatis/shop/TsfReview.xml
  11. BIN
      src/main/webapp/WEB-INF/lib/AutoSearch.jar
  12. BIN
      src/main/webapp/WEB-INF/lib/Istyle.jar
  13. BIN
      src/main/webapp/WEB-INF/lib/diquest.jar
  14. 1 1
      src/main/webapp/WEB-INF/views/mob/cart/CartChangeOptionPopupMob.html
  15. 10 4
      src/main/webapp/WEB-INF/views/mob/common/fragments/GnbMob.html
  16. 22 19
      src/main/webapp/WEB-INF/views/mob/display/CategoryGoodsListFormMob.html
  17. 12 1
      src/main/webapp/WEB-INF/views/mob/display/OutletMainFormMob.html
  18. 4 0
      src/main/webapp/WEB-INF/views/mob/goods/GoodsDealDetailFormMob.html
  19. 4 4
      src/main/webapp/WEB-INF/views/mob/mypage/MypageReviewCreateFormMob.html
  20. 92 81
      src/main/webapp/WEB-INF/views/mob/mypage/MypageReviewDetailFormMob.html
  21. 2 4
      src/main/webapp/WEB-INF/views/mob/mypage/MypageReviewFormMob.html
  22. 5 1
      src/main/webapp/WEB-INF/views/mob/planning/PlanningDetailFormMob.html
  23. 1 1
      src/main/webapp/WEB-INF/views/web/cart/CartChangeOptionPopupWeb.html
  24. 2 427
      src/main/webapp/WEB-INF/views/web/common/fragments/GnbWeb.html
  25. 12 2
      src/main/webapp/WEB-INF/views/web/display/OutletMainFormWeb.html
  26. 13 18
      src/main/webapp/WEB-INF/views/web/display/SearchLayerWeb.html
  27. 2 2
      src/main/webapp/WEB-INF/views/web/mypage/MypageReviewCreateFormWeb.html
  28. 53 5
      src/main/webapp/biz/goods.js
  29. 1 2
      src/main/webapp/ux/style24_link.js

+ 35 - 7
pom.xml

@@ -175,13 +175,41 @@
 		<!-- \\\ USAFE 보증보험 -->
 		
 		<!-- /// 검색엔진(DIQUEST) -->
-<!-- 		<dependency> -->
-<!-- 			<groupId>com.diquest</groupId> -->
-<!-- 			<artifactId>diquest</artifactId> -->
-<!-- 			<version>0.1</version> -->
-<!-- 			<scope>system</scope> -->
-<!-- 			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/diquest.jar</systemPath> -->
-<!-- 		</dependency> -->
+		<dependency>
+			<groupId>com.diquest</groupId>
+			<artifactId>istyle</artifactId>
+			<version>0.1</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/Istyle.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>com.diquest.ir</groupId>
+			<artifactId>client</artifactId>
+			<version>0.1</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/m4_client.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>com.diquest.ir</groupId>
+			<artifactId>common</artifactId>
+			<version>0.1</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/m4_common.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>com.diquest.ir</groupId>
+			<artifactId>util</artifactId>
+			<version>0.1</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/m4_util.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>org.json</groupId>
+			<artifactId>simple</artifactId>
+			<version>1.1</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/json_simple-1.1.jar</systemPath>
+		</dependency>
 		<!-- \\\ 검색엔진(DIQUEST) -->
 		
 	</dependencies>

+ 64 - 19
src/main/java/com/style24/front/biz/thirdparty/SearchEngineDiquest.java

@@ -1,18 +1,24 @@
 package com.style24.front.biz.thirdparty;
 
-import javax.annotation.PostConstruct;
+import java.util.HashMap;
+import java.util.Map;
 
+import javax.annotation.PostConstruct;
 
+import org.json.simple.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Component;
 
+import com.diquest.ir.common.exception.IRException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.gson.Gson;
 import com.style24.persistence.domain.searchengine.SearchEngine;
 
-import lombok.extern.slf4j.Slf4j;
+import istyle.AutoSearch;
+import istyle.SearchService;
 
-import java.util.HashMap;
-import java.util.Map;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * 검색엔진 - NHN다이퀘스트
@@ -50,22 +56,61 @@ public class SearchEngineDiquest {
 	public SearchEngine getTrendKeywordList() {
 		SearchEngine result = new SearchEngine();
 
-//		// 인기검색어
-//		Map<String, Object> map = new HashMap<String, Object>();
-//		map.put("adminIp", ipAddr);
-//		map.put("adminPort", port);
-//
-//		try {
-//			JSONObject jsonObj = AutoSearch.trendKeyword(map);
-//			log.info("jsonObj.toJSONString(): {}", jsonObj.toJSONString());
-//
-//			Gson gson = new Gson();
-//			result = gson.fromJson(jsonObj.toJSONString(), SearchEngine.class);
-//		} catch (IRException e) {
-//			e.printStackTrace();
-//		}
+		// 인기검색어
+		Map<String, Object> map = new HashMap<String, Object>();
+		map.put("adminIp", ipAddr);
+		map.put("adminPort", port);
+
+		try {
+			JSONObject jsonObj = AutoSearch.trendKeyword(map);
+			log.info("jsonObj.toJSONString(): {}", jsonObj.toJSONString());
+
+			Gson gson = new Gson();
+			result = gson.fromJson(jsonObj.toJSONString(), SearchEngine.class);
+		} catch (IRException e) {
+			e.printStackTrace();
+		}
 
 		return result;
 	}
 
-}
+	/**
+	 * 상품리스트
+	 * @param params - 파라미터
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 5. 31
+	 */
+	public SearchEngine getGoodsList(SearchEngine params) {
+		SearchEngine result = new SearchEngine();
+
+		Map<String, Object> paramMap = this.convertObjectToMap(params);
+		paramMap.put("adminIp", ipAddr);
+		paramMap.put("adminPort", port);
+		log.info("{}", paramMap);
+
+		try {
+			JSONObject jsonObj = SearchService.getGoodsList(paramMap);
+			log.info("jsonObj.toJSONString(): {}", jsonObj.toJSONString());
+
+			Gson gson = new Gson();
+			result = gson.fromJson(jsonObj.toJSONString(), SearchEngine.class);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		return result;
+	}
+
+	/**
+	 * Object를 Map으로 변환
+	 * @param obj - Object
+	 * @return
+	 */
+	@SuppressWarnings("unchecked")
+	private Map<String, Object> convertObjectToMap(Object obj) {
+		ObjectMapper objectMapper = new ObjectMapper();
+		return objectMapper.convertValue(obj, Map.class);
+	}
+
+}

+ 30 - 7
src/main/java/com/style24/front/biz/web/TsfDisplayController.java

@@ -571,9 +571,9 @@ public class TsfDisplayController extends TsfBaseController {
 	@GetMapping("/popup/list")
 	@ResponseBody
 	public GagaMap getPopupList(@RequestParam HashMap<String, String> paramMap) {
-		
+
 		GagaMap result = new GagaMap();
-		 
+
 		Popup popup = new Popup();
 		popup.setFrontGb(TsfSession.getFrontGb());
 		popup.setViewPage(paramMap.get("viewPage"));
@@ -584,9 +584,9 @@ public class TsfDisplayController extends TsfBaseController {
 		popup.setPlanSq((StringUtils.isBlank(paramMap.get("planSq").toString()) ? 0 : Integer.parseInt(paramMap.get("planSq"))));
 		popup.setPreview(paramMap.get("preview"));
 		popup.setViewDt(paramMap.get("viewDt"));
-		
+
 		//result.set("dataList", displayService.getPopupList(popup));
-	
+
 		return displayService.getPopupList(popup);
 	}
 
@@ -696,6 +696,30 @@ public class TsfDisplayController extends TsfBaseController {
 //			params.setCateNo(params.getCate1No());
 //		}
 
+		StringBuilder sql = new StringBuilder();
+		if(params.getPriceArr() != null && params.getPriceArr().length > 0){
+			for(int i=0; i<params.getPriceArr().length; i++){
+				String[] price = params.getPriceArr()[i].split(",");
+				if(i>0){
+					sql.append(" OR ");
+				}
+				sql.append(" ( G.CURR_PRICE >= ").append(price[0]).append(" AND G.CURR_PRICE  <= ").append(price[1]).append(" )");
+			}
+			params.setPriceSql(sql.toString());
+		}
+
+		StringBuilder sql2 = new StringBuilder();
+		if(params.getDcRateArr() != null && params.getDcRateArr().length > 0){
+			for(int i=0; i<params.getDcRateArr().length; i++){
+				String[] dcRate = params.getDcRateArr()[i].split(",");
+				if(i>0){
+					sql2.append(" OR ");
+				}
+				sql2.append(" ( ((IF(G.LIST_PRICE = 0,0,G.LIST_PRICE) - G.CURR_PRICE) / IF(G.LIST_PRICE = 0,0,G.LIST_PRICE) * 100) >= ").append(dcRate[0]).append(" AND ((IF(G.LIST_PRICE = 0,0,G.LIST_PRICE) - G.CURR_PRICE) / IF(G.LIST_PRICE = 0,0,G.LIST_PRICE) * 100) <= ").append(dcRate[1]).append(" )");
+			}
+			params.setDcRateSql(sql2.toString());
+		}
+
 		pageable.setTotalCount(goodsService.getCategoryGoodsCount(params));
 		params.setPageable(pageable);
 		result.set("paging", pageable);
@@ -1007,9 +1031,8 @@ public class TsfDisplayController extends TsfBaseController {
 		}
 		mav.addObject("recentlyKeywordList", recentlyKeywordList);
 
-		// 인기검색어: TODO 아래 주석된 것으로 적용해야 함
-//		mav.addObject("trendKeywordList", diquest.getTrendKeywordList());
-		mav.addObject("trendKeywordList", null);
+		// 인기검색어
+		mav.addObject("trendKeywordList", diquest.getTrendKeywordList());
 
 		mav.setViewName(super.getDeviceViewName("display/SearchLayer"));
 		return mav;

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

@@ -54,9 +54,15 @@ public class SearchEngine implements Serializable {
 	private String[] colorArr;		// 색상배열
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
 	private String[] benefitArr;	// 혜택배열
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] priceArr;	// 가격배열
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] dcRateArr;	// 할인율배열
 	private String unisex;			// 남여공용만보기(성별구분:G007_Z)
 	private String newGoods;		// 신상품만보기(혜택구분:40)
 	private String sortingType;		// 정렬순서(BELOVED: 인기상품순, REVIEW: 리뷰많은순 그외는 최신상품순)
+	private String priceSql;
+	private String dcRateSql;
 	private int pageNo = 1;			// 페이지번호
 	private int pageSize = 50;		// 페이지사이즈
 	private int pageUnit = 10;		// 페이지단위

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

@@ -705,7 +705,7 @@
 		     , SYS_IMG_NM
 		     , Z.BRAND_GROUP_NM
 		ORDER  BY Z.DELV_FEE_CD DESC
-		     , Z.GOODS_CD DESC
+		     , Z.CART_SQ DESC
 	</select>
 
 	<!-- 장바구니 업체별 배송비 -->

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

@@ -896,8 +896,6 @@
 		GROUP BY C.STR_TITLE2, C.DISP_ORD , BG.BRAND_GROUP_NO
 		) Z
 		WHERE	1=1
-		ORDER BY (CASE  WHEN ASCII(SUBSTRING(Z.BRAND_GROUP_NM,1)) BETWEEN 48 AND 57 THEN 3
-		WHEN ASCII(SUBSTRING(Z.BRAND_GROUP_NM,1)) <![CDATA[<]]> 128 THEN 2 ELSE 1 END), Z.BRAND_GROUP_NM
 	</select>
 
 	<!-- 브랜드 전체 조회 -->
@@ -914,8 +912,8 @@
 		      SELECT  BG.BRAND_GROUP_NO
 		            , (CASE WHEN BG.DISP_NM_LANG = 'EN' THEN BG.BRAND_GROUP_ENM ELSE BG.BRAND_GROUP_KNM END) AS BRAND_GROUP_NM
 		            , BG.DISP_NM_LANG
-		            , B.BRAND_ENM AS BRAND_GROUP_ENM
-		            , B.BRAND_KNM AS BRAND_GROUP_KNM
+		            , BG.BRAND_GROUP_ENM
+		            , BG.BRAND_GROUP_KNM
 		            , BG.LOGO_FILE_NM
 		      FROM  TB_BRAND B
 		      INNER JOIN TB_BRAND_GROUP BG ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO

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

@@ -34,7 +34,7 @@
 		      , A.ORD_NO
 		      , A.ORD_DTL_NO
 		      , A.REG_NO
-		      , A.REG_DT
+		      , DATE_FORMAT(A.REG_DT,'%Y.%m.%d %H:%i:%S') AS REG_DT
 		      , A.UPD_NO
 		      , A.UPD_DT
 		      , B.GOODS_CD 

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

@@ -2016,6 +2016,12 @@
 		    <if test="dcRateTo != null and dcRateTo != ''">
 		     AND    ((IF(G.LIST_PRICE = 0,0,G.LIST_PRICE) - G.CURR_PRICE) / IF(G.LIST_PRICE = 0,0,G.LIST_PRICE) * 100) <![CDATA[<=]]> #{dcRateTo}
 		    </if>
+		    <if test="priceArr != null and priceArr.length>0">
+		     AND (${priceSql})
+		    </if>
+		    <if test="dcRateArr != null and dcRateArr.length>0">
+		    AND (${dcRateSql})
+		    </if>
 		)
 		, TAB_OPT_SIZE AS (
 		    /*옵션 사이즈 목록 조회*/
@@ -2243,6 +2249,12 @@
 		        <if test="dcRateTo != null and dcRateTo != ''">
 		            AND    ((IF(G.LIST_PRICE = 0,0,G.LIST_PRICE) - G.CURR_PRICE) / IF(G.LIST_PRICE = 0,0,G.LIST_PRICE) * 100) <![CDATA[<=]]> #{dcRateTo}
 		        </if>
+		        <if test="priceArr != null and priceArr.length>0">
+		            AND (${priceSql})
+		        </if>
+		        <if test="dcRateArr != null and dcRateArr.length>0">
+		            AND (${dcRateSql})
+		        </if>
 		)
 		, TAB_OPT_SIZE AS (
 		    /*옵션 사이즈 목록 조회*/
@@ -2343,7 +2355,7 @@
 		    LIMIT #{pageable.limitStartRow} , #{pageable.pageSize}
 		</if>
 		)
-		SELECT G.BRAND_GROUP_NM
+		SELECT DISTINCT G.BRAND_GROUP_NM
 		      , G.GOODS_CD
 		      , FN_GET_GOODS_NM(G.GOODS_NM,G.GOODS_GB,G.FOREIGN_BUY_YN,G.PARALLEL_IMPORT_YN,G.ORDER_MADE_YN) AS GOODS_FULL_NM /*상품FULL명*/
 		      , G.GOODS_TNM

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

@@ -86,7 +86,7 @@
 		                   WHEN 'G069_99' THEN '유효기간 경과 소멸'
 		                   END                                          AS  OCCUR_DTL_DESC
 		            , CPH.PNT_AMT
-		            , CPH.UPD_DT AS PNT_UPLOAD_DT
+		            , DATE_FORMAT(CPH.UPD_DT, '%Y.%m.%d %H:%i:%S') AS PNT_UPLOAD_DT
 		       FROM TB_CUST_POINT_HST CPH
 		       LEFT JOIN TB_ORDER_DETAIL OD
 		       ON  CPH.ORD_NO = OD.ORD_NO
@@ -182,7 +182,7 @@
 		                   WHEN 'G069_99' THEN '유효기간 경과 소멸'
 		                   END                                          AS  OCCUR_DTL_DESC
 		            , CPH.PNT_AMT
-		            , CPH.UPD_DT AS PNT_UPLOAD_DT
+		            , DATE_FORMAT(CPH.UPD_DT, '%Y.%m.%d %H:%i:%S') AS PNT_UPLOAD_DT
 		       FROM TB_CUST_POINT_HST CPH
 		       LEFT JOIN TB_ORDER_DETAIL OD
 		       ON  CPH.ORD_NO = OD.ORD_NO
@@ -278,7 +278,7 @@
 		                   WHEN 'G069_99' THEN '유효기간 경과 소멸'
 		                   END                                          AS  OCCUR_DTL_DESC
 		            , CPH.PNT_AMT
-		            , CPH.UPD_DT AS PNT_UPLOAD_DT
+		            , DATE_FORMAT(CPH.UPD_DT, '%Y.%m.%d %H:%i:%S') AS PNT_UPLOAD_DT
 		       FROM TB_CUST_POINT_HST CPH
 		       LEFT JOIN TB_ORDER_DETAIL OD
 		       ON  CPH.ORD_NO = OD.ORD_NO

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

@@ -412,7 +412,7 @@
 		  FROM (SELECT O.ORD_NO
 		             , O.REG_DT 
 					 , DATE_FORMAT(O.ORD_DT, '%Y.%m.%d') AS ORD_DT
-					 , DATE_FORMAT(O.PAY_DT, '%Y-%m-%d') AS PAY_DT 
+					 , DATE_FORMAT(O.PAY_DT, '%Y.%m.%d') AS PAY_DT 
 					 , DATE_FORMAT(OD.DELV_EDDT, '%m/%d')								AS DELV_EDDT
 					 , OD.ORD_DTL_NO
 					 , OD.ORD_EXCH_GB
@@ -534,6 +534,7 @@
 		     , Z.SHOT_DELV_YN
 		     , Z.CHANGEABLE_YN
 		     , Z.RETURNABLE_YN
+		     , Z.REG_DT
 		     , Z.SELF_GOODS_YN
 		     , Z.BRAND_NM
 		     , Z.BRAND_ENM
@@ -578,7 +579,7 @@
 			 </if>
 		  FROM (SELECT O.ORD_NO
 					 , DATE_FORMAT(O.ORD_DT, '%Y.%m.%d') AS ORD_DT
-					 , DATE_FORMAT(O.PAY_DT, '%Y-%m-%d') AS PAY_DT 
+					 , DATE_FORMAT(O.PAY_DT, '%Y.%m.%d') AS PAY_DT 
 					 , DATE_FORMAT(OD.DELV_EDDT, '%m/%d')								AS DELV_EDDT
 					 , OD.ORD_DTL_NO
 					 , OD.ORD_EXCH_GB
@@ -610,6 +611,7 @@
 					 , OD.SHOT_DELV_YN
 					 , OD.CHANGEABLE_YN
 					 , 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
@@ -1020,7 +1022,7 @@
 		             , ROW_NUMBER() OVER(ORDER BY Z.ORD_DT DESC) AS RNUM
 		       FROM (SELECT O.ORD_NO
 		                  , DATE_FORMAT(O.ORD_DT, '%Y.%m.%d') AS ORD_DT
-		                  , DATE_FORMAT(O.PAY_DT, '%Y-%m-%d') AS PAY_DT 
+		                  , DATE_FORMAT(O.PAY_DT, '%Y.%m.%d') AS PAY_DT 
 		                  , DATE_FORMAT(OD.DELV_EDDT, '%m/%d')								AS DELV_EDDT
 		                  , OD.ORD_DTL_NO
 		                  , OD.ORD_EXCH_GB
@@ -1104,12 +1106,12 @@
 		                   , R.CONFIRM_UNO
 		                   , R.CONFIRM_DT
 		                   , R.REG_NO
-		                   , DATE_FORMAT(R.REG_DT , '%Y-%m-%d') AS REG_DT
+		                   , DATE_FORMAT(R.REG_DT , '%Y.%m.%d') AS REG_DT
 		                   , R.UPD_NO
-		                   , DATE_FORMAT(R.UPD_DT , '%Y-%m-%d') AS UPD_DT
+		                   , DATE_FORMAT(R.UPD_DT , '%Y.%m.%d') AS UPD_DT
 		                   , R.ADM_RPL
 		                   , R.ADM_RPL_REG_NO
-		                   , DATE_FORMAT(R.ADM_RPL_DT , '%Y-%m-%d %H:%i:%s') AS ADM_RPL_DT
+		                   , DATE_FORMAT(R.ADM_RPL_DT , '%Y.%m.%d') AS ADM_RPL_DT
 		                   , DATEDIFF( DATE_ADD(O.PAY_DT,INTERVAL  #{reviewExpireDay} DAY),NOW()) AS REMAIN_DT -- 남은시간
 		    FROM TB_ORDER O
 		   INNER JOIN TB_ORDER_DETAIL OD

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


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


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


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

@@ -147,7 +147,7 @@
 											<div class="select" th:classappend="|size_${comp.goodsCd}_size_nm|" th:text="${comp.optCd2}" th:data="${color.goodsCd}"></div>
 											<ul class="list setSizeSelect" th:classappend="|size_${comp.goodsCd}|" th:data="${comp.goodsCd}">
 												<th:block th:each="size, i : ${color.cartSizeList}" th:if="${color.optCd1.equals(size.optCd1)}">
-													<li th:classappend="${size.cartOptCd != null} ? selected" th:addPrice="${size.addPrice}" th:optCd="${size.optCd}" th:value="${size.optCd}" th:text="${size.optCd2}" th:aria-disabled="${color.soldoutYn.equals('Y') or size.soldoutYn.equals('Y') or size.minOrdQty > size.currStockQty ? true : false}"></li>
+													<li th:classappend="${size.cartOptCd != null} ? selected" th:addPrice="${size.addPrice}" th:optCd="${size.optCd}" th:value="${size.optCd}" th:text="${size.optCd2}" th:aria-disabled="${color.soldoutYn.equals('Y') or size.soldoutYn.equals('Y') or size.minOrdQty > size.currStockQty or comp.qty > size.currStockQty ? true : false}"></li>
 												</th:block>
 											</ul>
 										</div>

+ 10 - 4
src/main/webapp/WEB-INF/views/mob/common/fragments/GnbMob.html

@@ -18,10 +18,16 @@
 	<header class="main">
 		<section class="htop" id="htopMain">
 			<h1>
-				<a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_MAIN);fnClickGnbTab('');" >
-					<img th:if="${brandGroupInfo?.brandGroupNo == null}" src="/images/mo/logo_STYLE24.png" alt="STYLE24">
-					<p th:if="${brandGroupInfo?.brandGroupNo != null}" th:text="${brandGroupInfo?.brandGroupNm}"></p>
-				</a>
+				<th:block th:if="${brandGroupInfo?.brandGroupNo == null}">
+					<a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_MAIN);fnClickGnbTab('');" >
+						<img src="/images/mo/logo_STYLE24.png" alt="STYLE24">
+					</a>
+				</th:block>
+				<th:block th:unless="${brandGroupInfo?.brandGroupNo == null}">
+					<a href="javascript:void(0);" th:onclick="cfnGoToBrandMain([[${brandGroupInfo?.brandGroupNo}]]);fnClickGnbTab('');" >
+						<p th:text="${brandGroupInfo?.brandGroupNm}"></p>
+					</a>
+				</th:block>
 				<button class="btn_gnb" title="메인메뉴 열기/닫기"><span><i></i></span></button>
 			</h1>
 			<div class="button_wrap">

+ 22 - 19
src/main/webapp/WEB-INF/views/mob/display/CategoryGoodsListFormMob.html

@@ -171,7 +171,7 @@
 											<a href="javascript:void(0)">
 												<div class="form_field">
 													<div>
-														<input id="discount1" name="dcRate" type="checkbox" value="0,10" onclick="filterDcRateMob(this,'dcRate','off','1');"><label for="discount1"> <span id="dcRateText1">10% 이하</span> </label>
+														<input id="discount1" name="dcRate" type="checkbox" value="0,10" data-id="10% 이하" onclick="filterDcRateMob(this,'dcRate','off','1');"><label for="discount1"> <span id="dcRateText1">10% 이하</span> </label>
 													</div>
 												</div>
 											</a>
@@ -180,7 +180,7 @@
 											<a href="javascript:void(0)">
 												<div class="form_field">
 													<div>
-														<input id="discount2" name="dcRate" type="checkbox" value="10,20" onclick="filterDcRateMob(this,'dcRate','off','2');"><label for="discount2"> <span id="dcRateText2">10~20%</span> </label>
+														<input id="discount2" name="dcRate" type="checkbox" value="10,20" data-id="10~20%" onclick="filterDcRateMob(this,'dcRate','off','2');"><label for="discount2"> <span id="dcRateText2">10~20%</span> </label>
 													</div>
 												</div>
 											</a>
@@ -189,7 +189,7 @@
 											<a href="javascript:void(0)">
 												<div class="form_field">
 													<div>
-														<input id="discount3" name="dcRate" type="checkbox" value="20,30" onclick="filterDcRateMob(this,'dcRate','off','3');"><label for="discount3"> <span id="dcRateText3">20~30%</span> </label>
+														<input id="discount3" name="dcRate" type="checkbox" value="20,30" data-id="20~30%" onclick="filterDcRateMob(this,'dcRate','off','3');"><label for="discount3"> <span id="dcRateText3">20~30%</span> </label>
 													</div>
 												</div>
 											</a>
@@ -198,7 +198,7 @@
 											<a href="javascript:void(0)">
 												<div class="form_field">
 													<div>
-														<input id="discount4" name="dcRate" type="checkbox" value="30,40" onclick="filterDcRateMob(this,'dcRate','off','4');"><label for="discount4"> <span id="dcRateText4">30~40%</span> </label>
+														<input id="discount4" name="dcRate" type="checkbox" value="30,40" data-id="30~40%" onclick="filterDcRateMob(this,'dcRate','off','4');"><label for="discount4"> <span id="dcRateText4">30~40%</span> </label>
 													</div>
 												</div>
 											</a>
@@ -207,7 +207,7 @@
 											<a href="javascript:void(0)">
 												<div class="form_field">
 													<div>
-														<input id="discount5" name="dcRate" type="checkbox" value="40,50" onclick="filterDcRateMob(this,'dcRate','off','5');"><label for="discount5"> <span id="dcRateText5">40~50%</span> </label>
+														<input id="discount5" name="dcRate" type="checkbox" value="40,50" data-id="40~50%" onclick="filterDcRateMob(this,'dcRate','off','5');"><label for="discount5"> <span id="dcRateText5">40~50%</span> </label>
 													</div>
 												</div>
 											</a>
@@ -216,7 +216,7 @@
 											<a href="javascript:void(0)">
 												<div class="form_field">
 													<div>
-														<input id="discount6" name="dcRate" type="checkbox" value="50,60" onclick="filterDcRateMob(this,'dcRate','off','6');"><label for="discount6"> <span id="dcRateText6">50~60%</span> </label>
+														<input id="discount6" name="dcRate" type="checkbox" value="50,60" data-id="50~60%" onclick="filterDcRateMob(this,'dcRate','off','6');"><label for="discount6"> <span id="dcRateText6">50~60%</span> </label>
 													</div>
 												</div>
 											</a>
@@ -225,7 +225,7 @@
 											<a href="javascript:void(0)">
 												<div class="form_field">
 													<div>
-														<input id="discount7" name="dcRate" type="checkbox" value="60,70" onclick="filterDcRateMob(this,'dcRate','off','7');"><label for="discount7"> <span id="dcRateText7">60~70%</span> </label>
+														<input id="discount7" name="dcRate" type="checkbox" value="60,70" data-id="60~70%" onclick="filterDcRateMob(this,'dcRate','off','7');"><label for="discount7"> <span id="dcRateText7">60~70%</span> </label>
 													</div>
 												</div>
 											</a>
@@ -234,7 +234,7 @@
 											<a href="javascript:void(0)">
 												<div class="form_field">
 													<div>
-														<input id="discount8" name="dcRate" type="checkbox" value="70,80" onclick="filterDcRateMob(this,'dcRate','off','8');"><label for="discount8"> <span id="dcRateText8">70~80%</span> </label>
+														<input id="discount8" name="dcRate" type="checkbox" value="70,80" data-id="70~80%" onclick="filterDcRateMob(this,'dcRate','off','8');"><label for="discount8"> <span id="dcRateText8">70~80%</span> </label>
 													</div>
 												</div>
 											</a>
@@ -243,7 +243,7 @@
 											<a href="javascript:void(0)">
 												<div class="form_field">
 													<div>
-														<input id="discount9" name="dcRate" type="checkbox" value="80,90" onclick="filterDcRateMob(this,'dcRate','off','9');"><label for="discount9"> <span id="dcRateText9">80~90%</span> </label>
+														<input id="discount9" name="dcRate" type="checkbox" value="80,90" data-id="80~90%" onclick="filterDcRateMob(this,'dcRate','off','9');"><label for="discount9"> <span id="dcRateText9">80~90%</span> </label>
 													</div>
 												</div>
 											</a>
@@ -252,7 +252,7 @@
 											<a href="javascript:void(0)">
 												<div class="form_field">
 													<div>
-														<input id="discount10" name="dcRate" type="checkbox" value="90,0" onclick="filterDcRateMob(this,'dcRate','off','10');"><label for="discount10"> <span id="dcRateText10">90이상</span> </label>
+														<input id="discount10" name="dcRate" type="checkbox" value="90,0" data-id="90%이상" onclick="filterDcRateMob(this,'dcRate','off','10');"><label for="discount10"> <span id="dcRateText10">90이상</span> </label>
 													</div>
 												</div>
 											</a>
@@ -408,7 +408,7 @@
 					priceHtml += '	<a href="javascript:void(0)">\n';
 					priceHtml += '		<div class="form_field">\n';
 					priceHtml += '			<div>\n';
-					priceHtml += '				<input type="checkbox" id="price'+(i+1)+'" name="price" value="'+minPrice+','+maxPrice+'" onclick="filterPriceMob(this,\'price\',\'off\',\''+(i+1)+'\');"><label for="price'+(i+1)+'">\n';
+					priceHtml += '				<input type="checkbox" id="price'+(i+1)+'" name="price" value="'+minPrice+','+maxPrice+'" data-id="'+minPrice.addComma()+'원 ~ '+maxPrice.addComma()+'원" onclick="filterPriceMob(this,\'price\',\'off\',\''+(i+1)+'\');"><label for="price'+(i+1)+'">\n';
 					priceHtml += '				<span id="pricdSpan'+(i+1)+'">'+minPrice.addComma()+'원 ~ '+maxPrice.addComma()+'원</span> </label>\n';
 					priceHtml += '			</div>\n';
 					priceHtml += '		</div>\n';
@@ -769,7 +769,7 @@
 					if(brandGroupNo > 0){
 						if(gagajf.isNull(cate1No)){
 							let tag = '';
-							tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\', \'\' ';
+							tag += '<a href="javascript:void(0);" class="on" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\', \'\' ';
 							if(formalGb=='G009_20'){
 								tag += ' ,\'\',\'\',\'\',\'\',\''+formalGb+'\'';
 							}
@@ -842,7 +842,7 @@
 			if (cate1 != null) {
 				if(cate1.cate1No == cate1No){
 					if(gagajf.isNull(cate2No)){
-						tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ' ';
+						tag += '<a href="javascript:void(0);" class="on" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ' ';
 						if(formalGb=='G009_20'){
 							tag += ' ,\'\',\'\',\'\',\'\',\''+formalGb+'\'';
 						}
@@ -860,7 +860,7 @@
 								if(cate2.cate2No == cate2No){
 									if(cate2.leafYn == 'N' && cate2.cate3List.length > 0){
 										if(gagajf.isNull(cate3No)){
-											tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ' ';
+											tag += '<a href="javascript:void(0);" class="on" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ' ';
 											if(formalGb=='G009_20'){
 												tag += ' ,\'\',\'\',\'\',\''+formalGb+'\'';
 											}
@@ -877,7 +877,7 @@
 												if(cate3.cate3No == cate3No){
 													if(cate3.leafYn == 'N' && cate3.cate4List.length > 0){
 														if(gagajf.isNull(cate4No)){
-															tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ' ';
+															tag += '<a href="javascript:void(0);" class="on" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ' ';
 															if(formalGb=='G009_20'){
 																tag += ' ,\'\',\'\',\''+formalGb+'\'';
 															}
@@ -894,7 +894,7 @@
 																if(cate4.cate4No == cate4No){
 																	if(cate4.leafYn == 'N' && cate4.cate5List.length > 0){
 																		if(gagajf.isNull(cate5No)){
-																			tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ',' + cate4.cate4No + ' ';
+																			tag += '<a href="javascript:void(0);" class="on" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ',' + cate4.cate4No + ' ';
 																			if(formalGb=='G009_20'){
 																				tag += ' ,\'\',\''+formalGb+'\'';
 																			}
@@ -909,7 +909,7 @@
 																				tag += ');">'+cate5.cate5Nm+'</a>';
 																			}else{
 																				if(cate5.cate5No == cate5No){
-																					tag += '<a href="javascript:void(0);" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ',' + cate4.cate4No + ',' + cate5.cate5No + ' ';
+																					tag += '<a href="javascript:void(0);" class="on" onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ',' + cate4.cate4No + ',' + cate5.cate5No + ' ';
 																					if(formalGb=='G009_20'){
 																						tag += ' ,\''+formalGb+'\'';
 																					}
@@ -1038,6 +1038,9 @@
 			$('#filterForm input[name=benefit]:checked').each(function(){
 				$(this).attr('checked', true);
 			});
+			$('#filterForm input[name=price]:checked').each(function(){
+				$(this).attr('checked', true);
+			});
 			if ( (event.originalEvent && event.originalEvent.persisted) || (window.performance && window.performance.navigation.type == 2)) {
 				// if( history.scrollRestoration ) window.history.scrollRestoration = 'manual';
 				var historyData = sessionStorage.getItem(document.location.href);
@@ -1058,7 +1061,7 @@
 				if(typeof historyData.totalCount!='undefined' && historyData.totalCount!=''){
 					$("#totCntId").text(historyData.totalCount);
 				}
-				if(filterPriceList.length > 0){
+				/*if(filterPriceList.length > 0){
 					let min = 0;
 					let max = 0;
 					var val = '';
@@ -1075,7 +1078,7 @@
 							$(this).prop("checked",true);
 						}
 					});
-				}
+				}*/
 				fnReCheckFilterList();
 				if(typeof historyData.sortingType!='undefined' && historyData.sortingType!=''){
 					$("#searchGoodsForm input:hidden[name=sortingType]").val(historyData.sortingType);

+ 12 - 1
src/main/webapp/WEB-INF/views/mob/display/OutletMainFormMob.html

@@ -33,7 +33,9 @@
 												<img th:src="${@environment.getProperty('domain.image') + item.imgPath2}" alt="">
 											</div>
 											<div class="txtWrap">
-												<p th:text="${item.strTitle1}">오랫동안 기다려온<br>겨울세일 시작</p>
+												<p class="subject">
+													<input type="hidden" name="mainTitle" th:value="${item.strTitle1}"/>
+												</p>
 												<p class="txt_xs" th:text="${item.subText1}">재고있을 때 미리 득템</p>
 											</div>
 										</a>
@@ -172,6 +174,15 @@
 			});
 			$('.dp_cate_list').html(tag);
 		}
+
+		$('.subject').each(function (){
+			let tag = '';
+			if(!gagajf.isNull($(this).find("input[name=mainTitle]").val())) {
+				var brText = $(this).find("input[name=mainTitle]").val();
+				tag = brText.replace(/(<br>|<br\/>|<br \/>)/g, '<br>');
+				$(this).append(tag);
+			}
+		});
 	</script>
 
 </th:block>

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

@@ -503,6 +503,9 @@
 				var detail_deal_option = new sCombo('.pd_detail .opt_select .select_custom.deal_opt_item');
 			}	
 		});
+		
+		//품절 제외 메세지 처리
+		getGuidance();
 	}
 	
 	// 옵션1 조회
@@ -754,6 +757,7 @@
 			
 			//$('.pd_detail .opt_select .select_custom.deal_opt_item').find('.combo .select').html(dTag);
 			//var opt_selecter_item = new sCombo('.opt_select .select_custom.deal_opt_item');
+			$('.form_field .select_custom.deal_opt_item').find('.combo .select').html('선택');
 			$('.form_field .select_custom.item_opt1').attr('disabled', true);
 			$('.form_field .select_custom.item_opt1').find('.combo .select').html('선택');
 			$('.form_field .select_custom.item_opt2').attr('disabled', true);

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

@@ -29,7 +29,7 @@
 						<input type="hidden" name="reviewSq" th:if="${reviewStat == 'u'}" th:value="${reviewInfo.reviewSq}">
 					<div class="inner bg_gray">
 						<ul class="note">
-							<li>일반 리뷰 작성시 150P, 일반 리뷰 작성시 150P, 포토/영상 리뷰는 350P가 추가 적립됩니다.</li>
+							<li>일반 리뷰 작성시 150P, 포토/영상 리뷰는 350P가  적립됩니다.</li>
 							<li>월 최대 10,000P까지 적립 가능합니다.(합산 후 월 1회 지급)</li>
 							<li>베스트 리뷰로 선정되면 10,000P가 추가 적립됩니다.</li>
 							<li>리뷰 작성시 욕설, 비방, 선정적인 내용 등이 있을 경우 통보 없이관리자에 의해 삭제 될 수 있습니다.</li>
@@ -46,7 +46,7 @@
 										</div>
 										<div class="info_box">
 											<div class="od_name">
-												<div class="goods_date"><span class="date" th:text="${reviewInfo.payDt}"></span>구매</div>
+												<div class="goods_date"><span class="date" th:text="${reviewInfo.regDt}"></span> 구매</div>
 												<div class="brand">
 													<span th:text="${reviewInfo.brandEnm}"></span>
 												</div>
@@ -328,7 +328,7 @@ function rating(score) {
 // 리뷰  취소
 var reviewCancel = function() {
 	
-	mcxDialog.confirm('취소하시겠습니까"?', {
+	mcxDialog.confirm('취소하시겠습니까?', {
         cancelBtnText: "취소",
         sureBtnText: "확인",
         sureBtnClick: function(){
@@ -637,7 +637,7 @@ var fnChooseFile = function(obj) {
 							$(".pics").children().last().append("<input type='hidden' name='sysFileNmArr' id='sysFileNm"+(picLength+1)+"' value='"+result.newFileName+"'>");
 						}
 				); 
-		}else if((new RegExp("mp4", "i")).test(file.name)){
+		}else if((new RegExp("mp4", "i")).test(file.name) || (new RegExp("x-m4v", "i")).test(file.name)){
 			setTimeout(function(){
 				$(".imgUpload").find('.pics').last().addClass("mov");
 				$(".pics").children().last().append("<input type='hidden' name='kufKeyArr' id='kufKey"+(picLength+1)+"'>");

+ 92 - 81
src/main/webapp/WEB-INF/views/mob/mypage/MypageReviewDetailFormMob.html

@@ -22,7 +22,7 @@
 			</th:block>
 			<th:block th:unless="${review.bestYn == 'Y'}">
 			<h5 class="modal-title" id="exampleFullLabel">
-				<button type="button" id="btn_more_photoreview"></button>
+				<button type="button" id="btn_more_photoreview" th:onclick="cfGoodsReviewPhoto([[${params.goodsCd}]])" ></button>
 				포토/영상리뷰
 			</h5>
 			</th:block>
@@ -44,6 +44,7 @@
 											<img th:src="${imgUrl+'/'+reviewAttach.sysFileNm}" alt="">
 										</th:block>
 									</div>
+									
 								</div>
 								</th:block>
 								</th:block>
@@ -57,96 +58,101 @@
 					</div>
 				<!-- //리뷰사진영역 -->
 				<!-- 리뷰내용 -->
-				<div class="pd_review best">
-					<div class="area_rv_all">
-						<div class="btn_review_open">리뷰오픈</div>
-						<div class="review_list">
-							<ul>
-								<li>
-									<div class="review">
-										<div class="info_box">
-											<div class="star_score" th:with="starScore=${#numbers.formatDecimal((review.iscore*100/5), 0,0)}">
-												<span class="star">
-													<em class="progbar" th:style="${'width:'+starScore+'%;' }"></em> <!-- 평점 style로 표기 -->
-												</span>
+					<div class="pop_detail">
+						<button type="button" class="pop_open_btn"><span class="sr-only"></span></button>
+						<div class="comment_wrap">
+							<div class="review_list">
+								<ul>
+									<li>
+										<div class="review">
+											<div class="info_box">
+												<div class="star_score" th:with="starScore=${#numbers.formatDecimal((review.iscore*100/5), 0,0)}">
+													<span class="star">
+														<em class="progbar" th:style="${'width:'+starScore+'%;' }"></em> <!-- 평점 style로 표기 -->
+													</span>
+												</div>
+												<div class="writer">
+													<span class="wr_id" th:text="${review.maskingCustId}">ab2****</span>
+													<span class="wr_date" th:text="${review.regDt}">2020.07.15</span>
+												</div>
 											</div>
-											<div class="writer">
-												<span class="wr_id" th:text="${review.maskingCustId}">ab2****</span>
-												<span class="wr_date" th:text="${review.regDt}">2020.07.15</span>
+											<div class="response_box">
+												<div>
+													<dl>
+														<div th:if="${review.goodsOptionList != null and !review.goodsOptionList.empty}" >
+															<dt >구매옵션</dt>
+															<dd> 
+															<th:block th:each="reviewGoods, goodsStatus : ${review.goodsOptionList}">
+															<th:block th:text="${reviewGoods.optCd1Nm +' / '+ reviewGoods.optCd2}">베이지 / 100</th:block>
+															<th:block th:if="${not goodsStatus.last}" th:text="${','}"></th:block>
+															</th:block>
+															</dd>
+														</div>
+														<div>
+															<dt>키/몸무게</dt>
+															<dd><th:block th:if="${not #strings.isEmpty(review.height)}" th:text="|${review.height}cm / |"></th:block> 
+																<th:block th:if="${not #strings.isEmpty(review.weight)}" th:text="|${review.weight}kg|"></th:block>
+															</dd>
+														</div>
+													</dl>
+												</div>
 											</div>
-										</div>
-										<div class="response_box">
-											<div>
-												<dl>
-													<div th:if="${review.goodsOptionList != null and !review.goodsOptionList.empty}" th:each="reviewGoods, goodsStatus : ${review.goodsOptionList}">
-														<dt >구매옵션</dt>
-														<dd th:text="${reviewGoods.optCd1 +' / '+ reviewGoods.optCd2}">베이지 / 100</dd>
-													</div>
-													<div>
-														<dt>키/몸무게</dt>
-														<dd><th:block th:if="${not #strings.isEmpty(review.height)}" th:text="|${review.height}cm / |"></th:block> 
-															<th:block th:if="${not #strings.isEmpty(review.weight)}" th:text="|${review.weight}kg|"></th:block>
-														</dd>
-													</div>
-												</dl>
+											<div class="txt_review_box">
+												<p th:utext="${#strings.unescapeJava(#strings.escapeJava(review.reviewContent))}">옷</p>
 											</div>
-										</div>
-										<div class="txt_review_box">
-											<p th:utext="${#strings.unescapeJava(#strings.escapeJava(review.reviewContent))}">옷</p>
-										</div>
-										<div class="response_box2"  th:if="${not #strings.isEmpty(review.sizeGb)}">
-											<div>
-												<dl>
-													<div>
-														<dt>사이즈</dt>
-														<dd th:text="${review.scoreSizeNm}">작음</dd>
-													</div>
-													<div>
-														<dt>컬러</dt>
-														<dd th:text="${review.scoreColorNm}">밝음</dd>
-													</div>
-													<th:block th:if="${review.sizeGb == 'T' or review.sizeGb == 'B'}">
-													<div>
-														<dt>핏</dt>
-														<dd th:text="${review.scoreFitNm}">레귤러</dd>
-													</div>
-													<div>
-														<dt>두께감</dt>
-														<dd th:text="${review.scoreThickNm}">적당함</dd>
-													</div>
-													</th:block>
-													<th:block th:unless="${review.sizeGb == 'T' or review.sizeGb == 'B'}">
-													<div>
-														<dt>무게감</dt>
-														<dd th:text="${review.scoreWeightNm}">레귤러</dd>
+											<div class="response_box2"  th:if="${not #strings.isEmpty(review.sizeGb)}">
+												<div>
+													<dl>
+														<div>
+															<dt>사이즈</dt>
+															<dd th:text="${review.scoreSizeNm}">작음</dd>
+														</div>
+														<div>
+															<dt>컬러</dt>
+															<dd th:text="${review.scoreColorNm}">밝음</dd>
+														</div>
+														<th:block th:if="${review.sizeGb == 'T' or review.sizeGb == 'B'}">
+														<div>
+															<dt>핏</dt>
+															<dd th:text="${review.scoreFitNm}">레귤러</dd>
+														</div>
+														<div>
+															<dt>두께감</dt>
+															<dd th:text="${review.scoreThickNm}">적당함</dd>
+														</div>
+														</th:block>
+														<th:block th:unless="${review.sizeGb == 'T' or review.sizeGb == 'B'}">
+														<div>
+															<dt>무게감</dt>
+															<dd th:text="${review.scoreWeightNm}">레귤러</dd>
+														</div>
+														<div>
+															<dt>볼너비</dt>
+															<dd th:text="${review.scoreBallNm}">적당함</dd>
+														</div>
+														</th:block>
+													</dl>
+												</div>
+											</div>
+											<div class="reply_box" th:if="${not #strings.isEmpty(review.admRpl)}">
+												<div class="reply">
+													<div class="reply_writer">
+														<span class="wr_name">관리자</span>
+														<span class="wr_date" th:text="${review.admRplDt}" >2020.07.15</span>
 													</div>
-													<div>
-														<dt>볼너비</dt>
-														<dd th:text="${review.scoreBallNm}">적당함</dd>
+													<div class="reply_txt">
+														<p th:utext="${#strings.unescapeJava(#strings.escapeJava(review.admRpl))}">
+															안녕하세요, 스타일24 관리자입니다.
+														</p>
 													</div>
-													</th:block>
-												</dl>
-											</div>
-										</div>
-										<div class="reply_box" th:if="${not #strings.isEmpty(review.admRpl)}">
-											<div class="reply">
-												<div class="reply_writer">
-													<span class="wr_name">관리자</span>
-													<span class="wr_date" th:text="${review.admRplDt}" >2020.07.15</span>
-												</div>
-												<div class="reply_txt">
-													<p th:utext="${#strings.unescapeJava(#strings.escapeJava(review.admRpl))}">
-														안녕하세요, 스타일24 관리자입니다.
-													</p>
 												</div>
 											</div>
 										</div>
-									</div>
-								</li>
-							</ul>
+									</li>                               
+								</ul>
+							</div>
 						</div>
 					</div>
-				</div>
 				<!-- //리뷰내용 -->
 			</div>
 		</div>
@@ -180,6 +186,11 @@
             $(this).next(".review_list").toggleClass('active');
             return false;
         });
+        
+     // 상품평 상세 토글
+	$(document).on('click','.pop_open_btn',function(){
+		$('.modal.photo_comment_popup .pop_detail').toggleClass('active');
+	});
 
 	});
 	

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

@@ -58,7 +58,6 @@
 									</div>
 								</div>
 								<!-- tab_cont Start -->
-							<div>
 								<div class="inner" id="reviewList">
 
 								</div>
@@ -68,7 +67,6 @@
 								<div class="ui_foot" style="display:none;">
 									<button class="btn btnM btnIcon_more" id="btnMore2"  style="width: 100%;">더보기</button>
 								</div>
-							</div>
 							<!-- // tab_cont End -->
 							</div>
 
@@ -116,7 +114,7 @@
 					html += '					</div>\n';
 					html += '					<div class="info_box">\n';
 					html += '						<div class="od_name">\n';
-					html += '							<div class="goods_date"><span class="date">'+item.payDt+'</span>구매</div>\n';
+					html += '							<div class="goods_date"><span class="date">'+item.payDt+'</span> 구매</div>\n';
 					html += '							<div class="brand">\n';
 					html += '								<span>'+item.brandNm+'</span>\n';
 					html += '							</div>\n';
@@ -300,7 +298,7 @@
 				html += '							<div class="option">\n';
 				if (item.goodsType =='G056_S') {
 					$.each(item.colorNmArr, function (index2, option) {
-						html += '							<em>' + item.itemNmArr[index2] + ' / ' + option + '</em>\n';
+						html += '							<em>' + item.itemNmArr[index2] + ' / ' + option + '</em><br>\n';
 					})
 				}else{
 					html += '							<em>'+item.colorNm+'</em>\n';

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

@@ -1104,7 +1104,11 @@ $(document).ready(function(){
         $("body").css({"overflow":"hidden"});
     });
 	
-	
+    $('#replyText').bind('input paste', function() {
+		  $(this).trigger('keyup');
+	});
+
+    
   //팝업_닫기
     $('.popup_close').on("click",function(){
         $('.popup_box').hide().removeClass('active');

+ 1 - 1
src/main/webapp/WEB-INF/views/web/cart/CartChangeOptionPopupWeb.html

@@ -83,7 +83,7 @@
 													<div class="select" th:classappend="|size_${comp.goodsCd}_size_nm|" th:text="${comp.optCd2}" th:data="${color.goodsCd}"></div>
 													<ul class="list setSizeSelect" th:classappend="|size_${comp.goodsCd}|" th:data="${comp.goodsCd}">
 														<th:block th:each="size, i : ${color.cartSizeList}" th:if="${color.optCd1.equals(size.optCd1)}">
-															<li th:classappend="${size.cartOptCd != null} ? selected" th:optCd="${size.optCd}" th:value="${size.optCd}" th:text="${size.optCd2}" th:aria-disabled="${color.soldoutYn.equals('Y') or size.soldoutYn.equals('Y') or size.minOrdQty > size.currStockQty ? true : false}"></li>
+															<li th:classappend="${size.cartOptCd != null} ? selected" th:optCd="${size.optCd}" th:value="${size.optCd}" th:text="${size.optCd2}" th:aria-disabled="${color.soldoutYn.equals('Y') or size.soldoutYn.equals('Y') or size.minOrdQty > size.currStockQty or comp.qty > size.currStockQty ? true : false}"></li>
 														</th:block>
 													</ul>
 												</div>

+ 2 - 427
src/main/webapp/WEB-INF/views/web/common/fragments/GnbWeb.html

@@ -114,7 +114,7 @@
 				</div>
 				<!-- //프로모션 문구 노출 검색용-->
 				<!-- 통합검색 -->
-				<button type="button" class="btn_open_search"><i class="ico ico_search"><em>통합검색</em></i></button>
+				<button type="button" class="btn_open_search" onclick="cfnSearchLayer();"><i class="ico ico_search"><em>통합검색</em></i></button>
 				<a href="#" class="btn_ico btn_cart" title="장바구니 바로가기"><i class="ico ico_bag"></i><span class="circle_count">99+</span></a>
 				<!-- //통합검색 -->
 			</div>
@@ -124,432 +124,7 @@
 	</div>
 	
 	<!-- 검색 레이어 -->
-	<div class="common_search">
-		<h2 class="sr-only">통합검색</h2>
-		<div class="cont_search">
-			<div class="area_input">
-				<form id="searchMainForm" name="searchMainForm">
-					<fieldset>  
-						<legend>통합검색</legend>
-						<input type="text" id="search" name="search" value="" placeholder="검색어를 입력하세요." class="search_input" title="검색어 입력" maxlength="100"/>
-						<button type="button" class="sch_btn"><i class="ico ico_search"><em>검색</em></i></button>
-					</fieldset>
-				</form>
-			</div>
-			<div class="area_result">
-				<!-- 검색결과 입력 전 -->
-				<div class="default_box">
-					<div class="recent_blk">
-						<h3>최근 검색어</h3>
-						<!-- 최근검색어 있을 시 노출 -->
-						<div class="list_recent_keword">
-							<ul>
-								<li>
-									<a href="">슬랙스</a>
-									<button type="button" class="btn_delete"><span>삭제</span></button>
-								</li>
-								<li>
-									<a href="">다운점퍼</a>
-									<button type="button" class="btn_delete"><span>삭제</span></button>
-								</li>
-								<li>
-									<a href="">특가세일</a>
-									<button type="button" class="btn_delete"><span>삭제</span></button>
-								</li>
-								<li>
-									<a href="">모이몰른 티셔츠</a>
-									<button type="button" class="btn_delete"><span>삭제</span></button>
-								</li>
-								<li>
-									<a href="">TBJ 패딩</a>
-									<button type="button" class="btn_delete"><span>삭제</span></button>
-								</li>
-								<li>
-									<a href="">트레이닝 팬츠</a>
-									<button type="button" class="btn_delete"><span>삭제</span></button>
-								</li>
-								<li>
-									<a href="">슬랙스</a>
-									<button type="button" class="btn_delete"><span>삭제</span></button>
-								</li>
-								<li>
-									<a href="">다운점퍼</a>
-									<button type="button" class="btn_delete"><span>삭제</span></button>
-								</li>
-								<li>
-									<a href="">특가세일</a>
-									<button type="button" class="btn_delete"><span>삭제</span></button>
-								</li>
-								<li>
-									<a href="">모이몰른 티셔츠</a>
-									<button type="button" class="btn_delete"><span>삭제</span></button>
-								</li>
-							</ul>
-						</div>
-						<button type="button" class="btn_underline"><span>전체삭제</span></button>
-						<!-- //최근검색어 있을 시 노출 -->
-						<!-- 최근검색어 없을 시 노출 -->
-						<div class="empty_txt">
-							최근 검색어가 없습니다.
-						</div>
-						<!-- //최근검색어 없을 시 노출 -->
-					</div>
-					<div class="popular_blk">
-						<h3>STYLE24에서 검색되고 있어요</h3>
-						<div class="list_popular_keword">
-							<ul>
-								<li>
-									<a href="">BUCKAROO</a>
-								</li>
-								<li>
-									<a href="">기모청바지</a>
-								</li>
-								<li>
-									<a href="">컨버스 주니어</a>
-								</li>
-								<li>
-									<a href="">겨울 팬츠</a>
-								</li>
-								<li>
-									<a href="">모이몰른</a>
-								</li>
-								<li>
-									<a href="">BUCKAROO</a>
-								</li>
-								<li>
-									<a href="">기모청바지</a>
-								</li>
-								<li>
-									<a href="">컨버스 주니어</a>
-								</li>
-								<li>
-									<a href="">겨울 팬츠</a>
-								</li>
-								<li>
-									<a href="">모이몰른</a>
-								</li>
-							</ul>
-						</div>
-					</div>
-					<div class="realtime_blk">
-						<h3>지금 고객님들이 많이 보고 있어요</h3>
-						<div class="modify_timer">
-							<button type="button"><span><em class="time">17:30</em> 기준</span></button>
-						</div>
-						<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_pdTogether1.jpg"/>
-											</div>
-											<div class="itemName">남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩</div>
-											<div class="viewCount"><span>508</span>명 보는중</div>
-										</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_pdTogether1.jpg"/>
-											</div>
-											<div class="itemName">남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩</div>
-											<div class="viewCount"><span>508</span>명 보는중</div>
-										</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_pdTogether1.jpg">
-											</div>
-											<div class="itemName">남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩</div>
-											<div class="viewCount"><span>508</span>명 보는중</div>
-										</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_pdTogether1.jpg">
-											</div>
-											<div class="itemName">남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩</div>
-											<div class="viewCount"><span>508</span>명 보는중</div>
-										</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_pdTogether1.jpg"/>
-											</div>
-											<div class="itemName">남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩</div>
-											<div class="viewCount"><span>508</span>명 보는중</div>
-										</a>
-									</div>
-								</div>
-							</div>
-						</div>
-					</div>
-				</div>
-				<!-- //검색결과 입력 전 -->
-				<!-- 검색결과 입력 후 -->
-				<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>
-					</div>
-					<div class="exfind_blk">
-						<!-- 검색어 매칭 브랜드 있을 시 노출  -->
-						<div class="find_brand">
-							<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>
-									</a>
-								</li>
-								<li>
-									<span class="category_txt">카테고리</span>
-									<a href="">
-										<span>남성</span>
-										<span>니트/<em>가</em>디건/베스트</span>
-										<span>가디건</span>
-										<span>롱가디건</span>
-									</a>
-								</li>
-							</ul>
-						</div>
-						<!-- //검색어 매칭 카테고리 있을 시 노출  -->
-					</div>
-					<div class="pd_list relate">
-						<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>
-						</div>
-					</div>
-				</div>
-				<!-- //검색결과 입력 후 -->
-				<!-- 검색결과 없을때 노출 -->
-				<div class="empty_box" style="display:none;">
-					<div class="nodata">
-						<p>
-							<span class="keyword">'티비제이 제기장 스웨터'</span>에 맞는 상품을 찾지 못했습니다.<br>
-							검색어를 변경해 보세요.
-						</p>
-					</div>
-					<div class="pd_list recommend">
-						<h3>이런 상품은 어떤가요?</h3>
-						<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>
-					</div>
-				</div>
-				<!-- //검색결과 없을때 노출 -->
-			</div>
-		</div>
-		<button type="button" class="btn_close_search"><span>닫기</span></button>
+	<div class="common_search" id="layer_search">
 	</div>
 	<!-- //검색 레이어 -->
 

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

@@ -47,7 +47,9 @@
 										<img th:src="${@environment.getProperty('domain.image') + item.imgPath1}" alt="서브메인 썸네일">
 									</div>
 									<div class="txt">
-										<p class="subject" th:text="${item.strTitle1}"></p>
+										<p class="subject">
+											<input type="hidden" name="mainTitle" th:value="${item.strTitle1}"/>
+										</p>
 										<span th:text="${item.subText1}"></span>
 									</div>
 								</a>
@@ -238,7 +240,15 @@
 		});
 		$('.dp_cate_list').html(tag);
 		// $('.cate1Nm').html(cate1.cate1Nm);
-		
+
+		$('.subject').each(function (){
+			let tag = '';
+			if(!gagajf.isNull($(this).find("input[name=mainTitle]").val())) {
+				var brText = $(this).find("input[name=mainTitle]").val();
+				tag = brText.replace(/(<br>|<br\/>|<br \/>)/g, '<br>');
+				$(this).append(tag);
+			}
+		});
 	}
 /*]]>*/
 </script>

+ 13 - 18
src/main/webapp/WEB-INF/views/web/display/SearchLayerWeb.html

@@ -20,7 +20,7 @@
 		<form id="searchMainForm" name="searchMainForm">
 			<fieldset>
 				<legend>통합검색</legend>
-				<input type="text" id="search" name="search" value="" placeholder="검색어를 입력하세요sss." class="search_input" title="검색어 입력" maxlength="100">
+				<input type="text" id="search" name="search" value="" placeholder="검색어를 입력하세요." class="search_input" title="검색어 입력" maxlength="100">
 				<button type="button" class="sch_btn"><i class="ico ico_search"><em>검색</em></i></button>
 			</fieldset>
 		</form>
@@ -31,18 +31,18 @@
 			<div class="recent_blk">
 				<h3>최근 검색어</h3>
 				<!-- 최근검색어 있을 시 노출 -->
-				<div class="list_recent_keword" style="display: none;">
+				<div class="list_recent_keword" th:if="${not #lists.isEmpty(recentlyKeywordList)}">
 					<ul>
-						<li>
-							<a href="">슬랙스</a>
-							<button type="button" class="btn_delete"><span>삭제</span></button>
+						<li th:if="${recentlyKeywordList}" th:each="oneData, status : ${recentlyKeywordList}">
+							<a href="javascript:void(0);" th:text="${oneData}" onclick="fnSearchKeyword([[@{oneData}]]);">슬랙스</a>
+							<button type="button" class="btn_delete" onclick="gagajf.setCookie('st24ck_today_keyword', \'[[${oneData}]]\', -1);"><span>삭제</span></button>
 						</li>
 					</ul>
 				</div>
-				<button type="button" class="btn_underline"  style="display: none;"><span>전체삭제</span></button>
+				<button type="button" class="btn_underline" th:if="${not #lists.isEmpty(recentlyKeywordList)}"><span>전체삭제</span></button>
 				<!-- //최근검색어 있을 시 노출 -->
 				<!-- 최근검색어 없을 시 노출 -->
-				<div class="empty_txt" style="display: block;">
+				<div class="empty_txt" th:if="${#lists.isEmpty(recentlyKeywordList)}">
 					최근 검색어가 없습니다.
 				</div>
 				<!-- //최근검색어 없을 시 노출 -->
@@ -51,12 +51,6 @@
 				<h3>STYLE24에서 검색되고 있어요</h3>
 				<div class="list_popular_keword">
 					<ul id="popularKeyArea">
-<!--						<li>-->
-<!--							<a href="">BUCKAROO</a>-->
-<!--						</li>-->
-<!--						<li>-->
-<!--							<a href="">기모청바지</a>-->
-<!--						</li>-->
 					</ul>
 				</div>
 			</div>
@@ -381,23 +375,25 @@
 	</div>
 </div>
 <button type="button" class="btn_close_search" onclick="fnClose();"><span>닫기</span></button>
+
 <script src="/ux/plugins/gaga/gaga.paging.js"></script>
 <script th:inline="javascript">
 	/*<![CDATA[*/
 	var trendKeywordList = [[${trendKeywordList.trendList}]];
 
-	var fnClose = function (){
+	var fnClose = function() {
 		$("#layer_search").removeClass('active');
 	}
 
 	$(document).ready( function() {
 		$("#layer_search").addClass('active');
 
-		if(trendKeywordList.length > 0){
+		if (trendKeywordList.length > 0) {
 			$("#popularKeyArea").html('');
-			trendKeywordList.forEach(function (item, index){
+			
+			trendKeywordList.forEach(function (item, idx) {
 				var tag = '';
-				if(index<10){
+				if (idx < 10) {
 					tag += '<li>';
 					tag += '	<a href="">'+ item.keyword +'</a>';
 					tag += '</li>';
@@ -405,7 +401,6 @@
 				$("#popularKeyArea").append(tag);
 			});
 		}
-
 	});
 	/*]]>*/
 </script>

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

@@ -36,7 +36,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>리뷰 작성시 욕설, 비방, 선정적인 내용등이 있을 경우 통보 없이 관리자에 의해 삭제 될 수 있습니다.</li>
@@ -409,7 +409,7 @@ function rating(score) {
 // 리뷰  취소
 var reviewCancel = function() {
 	
-	mcxDialog.confirm('취소하시겠습니까"?', {
+	mcxDialog.confirm('취소하시겠습니까?', {
         cancelBtnText: "취소",
         sureBtnText: "확인",
         sureBtnClick: function(){

+ 53 - 5
src/main/webapp/biz/goods.js

@@ -439,6 +439,12 @@ var fnSetFilterHtml = function (gubun, staus, mobGb){
 	$('#filterForm input[name=benefit]:checked').each(function(){
 		filterHtml += '<input type="hidden" name="benefitArr" value="'+$(this).val()+'"/>\n';
 	});
+	$('#filterForm input[name=price]:checked').each(function(){
+		filterHtml += '<input type="hidden" name="priceArr" value="'+$(this).val()+'"/>\n';
+	});
+	$('#filterForm input[name=dcRate]:checked').each(function(){
+		filterHtml += '<input type="hidden" name="dcRateArr" value="'+$(this).val()+'"/>\n';
+	});
 	if(!gagajf.isNull($("#filterForm input[name=hPriceFrom]").val())){
 		filterHtml += '<input type="hidden" name="priceFrom" value="'+$("#filterForm input[name=hPriceFrom]").val()+'"/>\n';
 	}
@@ -665,6 +671,16 @@ var fnSortingChange = function (obj, sortingType, stat, appGb){
 
 // 모바일 가격 필터
 var filterPriceMob = function (obj, gubun, staus, idx){
+	if(staus=='on'){
+		$(obj).attr('onclick','filterPriceMob(this,\''+gubun+'\',\'off\',\''+idx+'\');');
+	}else{
+		$(obj).attr('onclick','filterPriceMob(this,\''+gubun+'\',\'on\',\''+idx+'\');');
+	}
+
+	fnFilterSet(gubun, 'price', 'Mob');
+}
+
+var filterPriceMobOri = function (obj, gubun, staus, idx){
 	$("#searchGoodsForm input:hidden[name=priceFrom]").remove();
 	$("#searchGoodsForm input:hidden[name=priceTo]").remove();
 
@@ -715,6 +731,15 @@ var filterPriceMob = function (obj, gubun, staus, idx){
 
 // 모바일 할인 필터
 var filterDcRateMob = function (obj, gubun, staus, idx){
+	if(staus=='on'){
+		$(obj).attr('onclick','filterDcRateMob(this,\''+gubun+'\',\'off\',\''+idx+'\');');
+	}else{
+		$(obj).attr('onclick','filterDcRateMob(this,\''+gubun+'\',\'on\',\''+idx+'\');');
+	}
+	fnFilterSet(gubun, 'dcRate', 'Mob');
+}
+
+var filterDcRateMobOri = function (obj, gubun, staus, idx){
 	$("#searchGoodsForm input:hidden[name=dcRateFrom]").remove();
 	$("#searchGoodsForm input:hidden[name=dcRateTo]").remove();
 
@@ -811,17 +836,40 @@ var fnReCheckFilterList = function (){
 		if(!gagajf.isNull(searchId)){
 			var data = '';
 			if(searchId == 'price'){
-				$('#filterForm #priceArea').find('li').each(function(index){
-					if($(this).find('input[name=price]').prop('checked') == true){
-						$("#priceFilterDiv").find('.daps1').append('<span class="pic">'+$("#pricdSpan"+(index+1)).text()+'</span>');
-					}
+				let priceSpan = '';
+				$('#searchGoodsForm').find('input[name=priceArr]').each(function (idx){
+					let formPrice = $(this).val();
+					$('#filterForm #priceArea').find('li').each(function(index){
+						let filterPrice = $(this).find('input[name=price]').val();
+						if(formPrice == filterPrice){
+							$("#price"+(index+1)).prop('checked',true);
+							if(idx>0){
+								priceSpan += ',';
+							}
+							priceSpan += $("#pricdSpan"+(index+1)).text();
+						}
+					});
 				});
+				// $('#filterForm #priceArea').find('li').each(function(index){
+				// 	if($(this).find('input[name=price]').prop('checked') == true){
+				// 		if(index > 0){
+				// 			priceSpan += ',';
+				// 		}
+				// 		priceSpan += $("#pricdSpan"+(index+1)).text();
+				// 	}
+				// });
+				$("#priceFilterDiv").find('.daps1').append('<span class="pic">'+priceSpan+'</span>');
 			}else if(searchId == 'dcRate'){
+				let dcRateSpan = '';
 				$('#filterForm #dcRateArea').find('li').each(function(index){
 					if($(this).find('input[name=dcRate]').prop('checked') == true){
-						$("#dcRateFilterDiv").find('.daps1').append('<span class="pic">'+$("#dcRateText"+(index+1)).text()+'</span>');
+						if(index > 1){
+							dcRateSpan += ',';
+						}
+						dcRateSpan += $("#dcRateText"+(index+1)).text();
 					}
 				});
+				$("#dcRateFilterDiv").find('.daps1').append('<span class="pic">'+dcRateSpan+'</span>');
 			}else{
 				$('#filterForm input[name='+searchId+']:checked').each(function(idx){
 					if(searchId=='color'){

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

@@ -1349,9 +1349,8 @@ var cfnGoToMypageReview = function (ordNo,ordDtlNo,goodsCd) {
 function cfMypageReviewDetail(goodsCd, photoYn, reviewSq, rvAtcSq) {
 	var str = '<div class="modal fade pd_pop pd_photoreviewdetail_pop" id="layer_review_best" tabindex="-1" role="dialog" aria-labelledby="pdBestReviewLabel" aria-hidden="true"></div>';
 	if ("P" != _frontGb){
-		str = '<div class="modal pop_full fade pd_pop pd_photoreviewdetail_pop" id="layer_review_best" tabindex="-1" role="dialog" aria-labelledby="exampleFullLabel" aria-hidden="true"></div>';
+		str = '<div class="modal pop_full fade photo_comment_popup pd_pop pd_photoreviewdetail_pop" id="layer_review_best" tabindex="-1" role="dialog" aria-labelledby="exampleFullLabel" aria-hidden="true"></div>';
 	}
-
 	if ($('#layer_review_best').length == 0) {
 		$('body').append(str);
 	}