Przeglądaj źródła

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

xodud lee 5 lat temu
rodzic
commit
8a89d7a359

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

@@ -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);

+ 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;		// 페이지단위

+ 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

+ 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 - 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');

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

+ 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);
 	}