Pārlūkot izejas kodu

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

jsh77b 4 gadi atpakaļ
vecāks
revīzija
e9d567f55a
40 mainītis faili ar 601 papildinājumiem un 169 dzēšanām
  1. 11 2
      src/main/java/com/style24/front/biz/dao/TsfCounselDao.java
  2. 11 0
      src/main/java/com/style24/front/biz/service/TsfCounselService.java
  3. 13 0
      src/main/java/com/style24/front/biz/web/TsfCallcenterController.java
  4. 2 0
      src/main/java/com/style24/front/biz/web/TsfNoMemberController.java
  5. 9 0
      src/main/java/com/style24/persistence/mybatis/shop/TsfCounsel.xml
  6. 1 1
      src/main/java/com/style24/persistence/mybatis/shop/TsfGoods.xml
  7. 1 1
      src/main/resources/config/application-dev.yml
  8. 1 1
      src/main/resources/config/application-locd.yml
  9. 1 0
      src/main/resources/config/application-locp.yml
  10. 1 1
      src/main/resources/config/application-run.yml
  11. 1 0
      src/main/resources/config/application-stage.yml
  12. 1 1
      src/main/resources/config/application-style.yml
  13. 1 1
      src/main/resources/config/application-tsit.yml
  14. 18 4
      src/main/webapp/WEB-INF/views/mob/callcenter/OneToOneQnaFormMob.html
  15. 0 1
      src/main/webapp/WEB-INF/views/mob/cart/CartListAjaxFormMob.html
  16. 83 0
      src/main/webapp/WEB-INF/views/mob/cart/CartListFormMob.html
  17. 4 3
      src/main/webapp/WEB-INF/views/mob/display/BestMainFormMob.html
  18. 3 3
      src/main/webapp/WEB-INF/views/mob/display/BrandMainFormMob.html
  19. 1 1
      src/main/webapp/WEB-INF/views/mob/display/CategoryMainFormMob.html
  20. 2 2
      src/main/webapp/WEB-INF/views/mob/display/CategoryMainFormMob4.html
  21. 3 2
      src/main/webapp/WEB-INF/views/mob/display/OutletMainFormMob.html
  22. 1 3
      src/main/webapp/WEB-INF/views/mob/goods/GoodsDealDetailFormMob.html
  23. 77 4
      src/main/webapp/WEB-INF/views/mob/goods/GoodsDetailFormMob.html
  24. 4 3
      src/main/webapp/WEB-INF/views/mob/planning/PlanningShotGuideFormMob.html
  25. 3 3
      src/main/webapp/WEB-INF/views/mob/social/SocialMainFormMob.html
  26. 44 6
      src/main/webapp/WEB-INF/views/web/callcenter/OneToOneQnaRegisterFormWeb.html
  27. 92 76
      src/main/webapp/WEB-INF/views/web/cart/CartListAjaxFormWeb.html
  28. 164 17
      src/main/webapp/WEB-INF/views/web/cart/CartListFormWeb.html
  29. 4 3
      src/main/webapp/WEB-INF/views/web/display/BestMainFormWeb.html
  30. 5 5
      src/main/webapp/WEB-INF/views/web/display/BrandMainFormWeb.html
  31. 1 1
      src/main/webapp/WEB-INF/views/web/display/CategoryMainFormWeb.html
  32. 2 2
      src/main/webapp/WEB-INF/views/web/display/OutletMainFormWeb.html
  33. 0 2
      src/main/webapp/WEB-INF/views/web/display/SearchGoodsListFormWeb.html
  34. 1 1
      src/main/webapp/WEB-INF/views/web/display/SearchSampleFormWeb.html
  35. 3 3
      src/main/webapp/WEB-INF/views/web/goods/GoodsDealDetailFormWeb.html
  36. 3 2
      src/main/webapp/WEB-INF/views/web/goods/GoodsDetailFormWeb.html
  37. 6 6
      src/main/webapp/WEB-INF/views/web/goods/GoodsIncludeFormWeb.html
  38. 4 3
      src/main/webapp/WEB-INF/views/web/planning/PlanningShotGuideFormWeb.html
  39. 4 3
      src/main/webapp/WEB-INF/views/web/social/SocialMainFormWeb.html
  40. 15 2
      src/main/webapp/biz/mypage.js

+ 11 - 2
src/main/java/com/style24/front/biz/dao/TsfCounselDao.java

@@ -93,7 +93,16 @@ public interface TsfCounselDao {
 	 * @since 2021. 06. 214
 	 */
 	Collection<Counsel> getOneToOneImgList(Counsel counsel);
-	
+
+	/**
+	 * 1:1문의용 답변템플릿 조회
+	 * @param counselClsf - 문의유형
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 9. 28
+	 */
+	String getOnetooneQnaAnswerTemplate(String counselClsf);
+
 	/**
 	 * 상품문의 생성
 	 * @param counsel - 상담정보
@@ -128,7 +137,7 @@ public interface TsfCounselDao {
 	 * @since 2020. 12. 28
 	 */
 	Collection<Counsel> getGoodsQnaList(Counsel counsel);
-	
+
 	/**
 	 * 상품문의 목록 - 상품상세용
 	 * @param counsel -상담정보

+ 11 - 0
src/main/java/com/style24/front/biz/service/TsfCounselService.java

@@ -202,6 +202,17 @@ public class TsfCounselService {
 		return counselDao.getOneToOneImgList(counsel);
 	}
 
+	/**
+	 * 1:1문의용 답변템플릿 조회
+	 * @param counselClsf - 문의유형
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 9. 28
+	 */
+	public String getOnetooneQnaAnswerTemplate(String counselClsf) {
+		return counselDao.getOnetooneQnaAnswerTemplate(counselClsf);
+	}
+
 	/**
 	 * 상품문의 생성
 	 * @param counsel -상담정보

+ 13 - 0
src/main/java/com/style24/front/biz/web/TsfCallcenterController.java

@@ -341,6 +341,19 @@ public class TsfCallcenterController extends TsfBaseController {
 		return mav;
 	}
 
+	/**
+	 * 1:1문의용 답변템플릿 조회
+	 * @param counselClsf - 문의유형
+	 * @return
+	 * @author gagamel
+	 * @since 2021. 9. 28
+	 */
+	@GetMapping("/onetoone/qna/answer/template/{counselClsf}")
+	@ResponseBody
+	public String getOnetooneQnaAnswerTemplate(@PathVariable String counselClsf) {
+		return counselService.getOnetooneQnaAnswerTemplate(counselClsf);
+	}
+
 	/**
 	 * 상품문의 등록 처리
 	 * @param counsel -상담정보

+ 2 - 0
src/main/java/com/style24/front/biz/web/TsfNoMemberController.java

@@ -733,6 +733,8 @@ public class TsfNoMemberController extends TsfBaseController {
 		// 4. 주문변경 기본정보 설정
 		result.set("ordNo"			, orderChange.getOrdNo());				// 주문번호
 		result.set("custNo"			, 0);									// 고객번호
+		result.set("regNo"			, 0);									// 등록자번호
+		result.set("updNo"			, 0);									// 수정자번호
 		result.set("chgReason"		, orderChange.getChgReason());			// 변경사유
 		result.set("chgMemo"		, orderChange.getChgMemo());			// 변경메모
 

+ 9 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfCounsel.xml

@@ -217,6 +217,15 @@
 		)Z     
 	</select>
 	
+	<!-- 1:1문의용 답변 템플릿 조회 -->
+	<select id="getOnetooneQnaAnswerTemplate" parameterType="String" resultType="String">
+		/* TsfCounsel.getOnetooneQnaAnswerTemplate */
+		SELECT CD_DESC
+		FROM   TB_COMMON_CODE
+		WHERE  CD_GB = 'G059'
+		AND    CD = #{counselClsf}
+	</select>
+	
 	<!-- 상품문의 생성 -->
 	<insert id="createGoodsQna" parameterType="Counsel">
 		/* TsfCounsel.createGoodsQna */

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

@@ -314,7 +314,7 @@
 		<if test='optionSoldoutSkip != null and optionSoldoutSkip == "Y" '>
 		AND A.STOCK_QTY > 0
 		</if>
-		ORDER BY A.GOODS_CD, NULLIF(C.COLOR_KNM, A.OPT_CD1)
+		ORDER BY A.GOODS_CD, IFNULL(C.COLOR_KNM, A.OPT_CD1)
 	</select>
 		
 	<!-- 상품 옵션2 목록  - 자사용-->

+ 1 - 1
src/main/resources/config/application-dev.yml

@@ -69,7 +69,7 @@ pg:
             url: testpaygw.kcp.co.kr
             port: 8090
         js.url: https://testpay.kcp.co.kr/plugin/payplus_web.jsp
-        app.url: https://testpay.kcp.co.kr/shop/smart_phone_linux_jsp/sample/acnt/order_acnt_app.jsp?AppUrl=Kftc-bankpay
+        app.url: style24://order/pay/result/response?AppUrl=Kftc-bankpay
         server: false
         site:
             cd: U3476

+ 1 - 1
src/main/resources/config/application-locd.yml

@@ -66,7 +66,7 @@ pg:
             url: testpaygw.kcp.co.kr
             port: 8090
         js.url: https://testpay.kcp.co.kr/plugin/payplus_web.jsp
-        app.url: https://testpay.kcp.co.kr/shop/smart_phone_linux_jsp/sample/acnt/order_acnt_app.jsp?AppUrl=Kftc-bankpay
+        app.url: style24://order/pay/result/response?AppUrl=Kftc-bankpay
         server: false
         site:
             cd: U3476

+ 1 - 0
src/main/resources/config/application-locp.yml

@@ -68,6 +68,7 @@ pg:
             port: 8090
         user.type: PGNW
         js.url: https://pay.kcp.co.kr/plugin/payplus_web.jsp
+        app.url: style24://order/pay/result/response?AppUrl=Kftc-bankpay
         server: true
         site:
             cd: U3476

+ 1 - 1
src/main/resources/config/application-run.yml

@@ -92,7 +92,7 @@ pg:
             port: 8090
         user.type: PGNW
         js.url: https://pay.kcp.co.kr/plugin/payplus_web.jsp
-        app.url: https://pay.kcp.co.kr/shop/smart_phone_linux_jsp/sample/acnt/order_acnt_app.jsp?AppUrl=Kftc-bankpay
+        app.url: style24://order/pay/result/response?AppUrl=Kftc-bankpay
         server: true
         site:
             cd: U3476

+ 1 - 0
src/main/resources/config/application-stage.yml

@@ -78,6 +78,7 @@ pg:
             port: 8090
         user.type: PGNW
         js.url: https://pay.kcp.co.kr/plugin/payplus_web.jsp
+        app.url: style24://order/pay/result/response?AppUrl=Kftc-bankpay
         server: true
         site:
             cd: U3476

+ 1 - 1
src/main/resources/config/application-style.yml

@@ -78,7 +78,7 @@ pg:
             port: 8090
         user.type: PGNW
         js.url: https://pay.kcp.co.kr/plugin/payplus_web.jsp
-        app.url: https://pay.kcp.co.kr/shop/smart_phone_linux_jsp/sample/acnt/order_acnt_app.jsp?AppUrl=Kftc-bankpay
+        app.url: style24://order/pay/result/response?AppUrl=Kftc-bankpay
         server: true
         site:
             cd: U3476

+ 1 - 1
src/main/resources/config/application-tsit.yml

@@ -74,7 +74,7 @@ pg:
             url: testpaygw.kcp.co.kr
             port: 8090
         js.url: https://testpay.kcp.co.kr/plugin/payplus_web.jsp
-        app.url: https://testpay.kcp.co.kr/shop/smart_phone_linux_jsp/sample/acnt/order_acnt_app.jsp?AppUrl=Kftc-bankpay
+        app.url: style24://order/pay/result/response?AppUrl=Kftc-bankpay
         server: false
         site:
             cd: U3476

+ 18 - 4
src/main/webapp/WEB-INF/views/mob/callcenter/OneToOneQnaFormMob.html

@@ -125,10 +125,6 @@
 														<option th:if="${counselClsfList}" th:each="oneData, status : ${counselClsfList}" th:value="${oneData.cd}" th:text="${oneData.cdNm}"></option>
 													</select>
 													<!-- <div class="select_dress">문의 유형을 선택해 주세요 (필수)<span></span></div> -->
-													<ul class="select_options">
-														<li rel="">문의 유형을 선택해 주세요 (필수)</li>
-														<li th:if="${counselClsfList}" th:each="oneData, status : ${counselClsfList}" th:rel="${oneData.cd}" th:text="${oneData.cdNm}"></li>
-													</ul>
 												</div>
 											</div>
 										</div>
@@ -279,6 +275,7 @@
 					$dressSelect.text($(this).text()).removeClass('active');
 					$this.val($(this).attr('rel'));
 					$selList.hide();
+					fnChangeCounselClsf($(this).attr('rel'));
 				}
 			});
 			
@@ -494,6 +491,23 @@
 			}
 		});
 	});
+	
+	// 문의유형 선택 시
+	var fnChangeCounselClsf = function(counselClsf) {
+		console.log('a2-------------');
+		var actionUrl = '/callcenter/onetoone/qna/answer/template/' + counselClsf;
+		$.get(actionUrl
+			, function(data) {
+				if (!gagajf.isNull(data)) {
+					$('textarea[name=questContent]').val(data);
+					$('.doc_contactus').trigger('keyup');
+				} else {
+					// 초기화
+					$('textarea[name=questContent]').val('');
+					$('.doc_contactus').trigger('keyup');
+				}
+			});
+	}
 /*]]>*/
 </script>
 

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

@@ -516,7 +516,6 @@
 				</div>
 			</div>
 		</div>
-
 		<div class="inner wide">
 			<div class="od_calc_wrap" id="bottomOrderArea">
 				<button type="button" class="btn btn_dark"><span>합계 <em class="realOrderAmtText" th:text="${#numbers.formatInteger(order.sumRealPayAmt + order.totDelvFee, 1, 'COMMA')}">0</em>원</span></button>

+ 83 - 0
src/main/webapp/WEB-INF/views/mob/cart/CartListFormMob.html

@@ -20,12 +20,95 @@
 <th:block layout:fragment="content">
 
 	<script type="text/javascript" src="//wcs.naver.net/wcslog.js"></script>
+	<script type="text/javascript" th:src="${@environment.getProperty('naverPay.button.mobile.js.url')}" src="" charset="UTF-8"></script>
+	<form id="nPayForm" name="nPayForm"></form>
 
 	<main role="" id="" class="container od">
 		<section class="content shopping_bag" id="cartAjaxList">
 			<!-- 장바구니 내용 -->
 		</section>
 
+		<div class="inner" style="margin-top:10px;">
+			<th:block th:if="${sessionInfo != null and (sessionInfo.custId == 'xodud1202' or sessionInfo.custId == 'jsh77b' or sessionInfo.custId == 'card007')}">
+				<th:block th:with="buttonKey=${@environment.getProperty('naverPay.button.key')}">
+					<script th:inline="javascript">
+						if(!wcs_add) var wcs_add = {};
+						wcs_add["wa"] = [[${@environment.getProperty('naverPay.common.certification.key')}]];
+						wcs.inflow("style24.com");
+						wcs_do();
+					</script>
+
+					<script type="text/javascript" >
+						/*버튼설정*/
+						naver.NaverPayButton.apply({
+							BUTTON_KEY              : "[[${buttonKey}]]",       // 네이버페이에서 제공받은 버튼 인증 키 입력
+							TYPE                    : "MA",                      // 버튼 모음 종류 설정
+							COLOR                   : 1,                        // 버튼 모음의 색 설정
+							COUNT                   : 1,                        // 버튼 개수 설정. 구매하기 버튼만 있으면(장바구니 페이지) 1, 찜하기 버튼도 있으면(상품 상세 페이지) 2를 입력.
+							ENABLE                  : "Y",                      // 품절 등의 이유로 버튼 모음을 비활성화할 때에는 "N" 입력
+							BUY_BUTTON_HANDLER      : buy_nc,                   // 구매하기 버튼 이벤트 Handler 함수 등록, 품절인 경우 not_buy_nc 함수 사용
+							"":""
+						});
+						
+						/*네이버구매하기*/
+						function buy_nc() {
+							// 자사 일반 상품 정보
+							let cartSqArr = [];
+							
+							$("#cartListForm .cartInfo").each(function(idx, item) {
+								if ($(item).find('input[name=cartSqArr]').is(':checked')) {
+									cartSqArr.push($(item).find('input[name=cartSqArr]').val());
+								}
+							});
+							
+							// 네이버페이 주문형 결제
+							buy_nc_req(cartSqArr);
+							
+							return false;
+						}
+						
+						function buy_nc_req(cartSqArr) {
+							let data = {  cartSqArr : cartSqArr
+								, backUrl : location.href
+								, goodsUrl : _PAGE_GOODS_DETAIL
+							};
+							let jsonData = JSON.stringify(data);
+							
+							$.ajax( {
+								type		: "POST",
+								url 		: "/pg/nPayReq",
+								dataType 	: 'json',
+								data		: jsonData,
+								beforeSend : function(xhr, settings) {
+									xhr.setRequestHeader("AJAX"			, "true");
+									xhr.setRequestHeader('Accept'		, 'application/json');
+									xhr.setRequestHeader('Content-Type'	, 'application/json');
+								},
+								error: function(xhr, status, error) {
+									mcxDialog.alert(status + '; ' + error);
+								},
+								success : function(result) {
+									if (result.state == "sucess") {
+										enp('create', 'conversion', 'is24', { device: 'M', paySys: 'naverPay' });	// 모비온 네이버주문형 클릭시
+										document.nPayForm.action = result.npayOrderUrl + "/" + result.orderKey + "/" + result.resultNo;
+										document.nPayForm.submit();
+									} else {
+										mcxDialog.alert(result.message);
+									}
+								}
+							});
+						}
+						
+						<!-- 구매불가 -->
+						function not_buy_nc() {
+							mcxDialog.alert("죄송합니다. 네이버페이로 구매가 불가한 상품입니다.");
+							return false;
+						}
+					</script>
+				</th:block>
+			</th:block>
+		</div>
+
 		<th:block th:if="${cartSize>0}">
 			<div class="od_recommend" style="background-color:white;">
 				<h3>추천상품</h3>

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

@@ -324,6 +324,9 @@
 					tag += '				<img alt="BLUE-a" class=" vLHTC pd_img" src="' + _uploadGoodsUrl + '/' + item.sysImgNm + '">\n';
 					tag += '			</div>\n';
 					tag += '			<p class="itemBrand">'+item.brandGroupNm+'</p>\n';
+					if (item.goodsTnm != null && item.goodsTnm != '') {
+						tag+='					<div class="itemComment">'+item.goodsTnm+'</div>\n';
+					}
 					tag += '			<div class="itemName">'+item.goodsFullNm+'</div>\n';
 					tag += '			<p class="itemPrice">';
 					if (item.currPrice != item.listPrice) {
@@ -370,9 +373,7 @@
 						}
 						tag += '	</p>';
 					}
-					if (item.goodsTnm != null && item.goodsTnm != '') {
-						tag+='					<div class="itemComment">'+item.goodsTnm+'</div>\n';
-					}
+					
 					tag += '		</a>\n';
 					tag += '	</div>\n';
 					tag += '</div>\n';

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

@@ -183,8 +183,8 @@
 																<img class="vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm.replace('https:', '').replace('//image.istyle24.com/Upload/ProductImage/','')}" onerror="noneImg(this)">
 															</div>
 															<p class="itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
-															<div class="itemName"th:text="${goodsData.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
 															<div class="itemComment" th:if="${not #strings.isEmpty(goodsData.goodsTnm)}" th:text="${goodsData.goodsTnm}">#가을 느낌 물씬!!</div>
+															<div class="itemName"th:text="${goodsData.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
 															<p th:unless="${goodsData.goodsType=='G056_D'}" class="itemPrice">
 																<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
 																[[${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')}]]
@@ -272,8 +272,8 @@
 																<img class="vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm.replace('https:', '').replace('//image.istyle24.com/Upload/ProductImage/','')}" onerror="noneImg(this)">
 															</div>
 															<p class="itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
-															<div class="itemName" th:text="${goodsData.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
 															<div class="itemComment" th:if="${not #strings.isEmpty(goodsData.goodsTnm)}" th:text="${goodsData.goodsTnm}">#가을 느낌 물씬!!</div>
+															<div class="itemName" th:text="${goodsData.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
 															<p th:unless="${goodsData.goodsType=='G056_D'}" class="itemPrice">
 																<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
 																[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')}]]
@@ -373,8 +373,8 @@
 												<img class="vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}" onerror="noneImg(this)">
 											</div>
 											<p class="itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
-											<div class="itemName" th:text="${goodsData.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
 											<div class="itemComment" th:if="${not #strings.isEmpty(goodsData.goodsTnm)}" th:text="${goodsData.goodsTnm}">#주문 폭주 상품</div>
+											<div class="itemName" th:text="${goodsData.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
 											<p th:unless="${goodsData.goodsType=='G056_D'}" class="itemPrice">
 												<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
 												[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')}]]

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

@@ -119,8 +119,8 @@
 													<img alt="BLUE-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + item.sysImgNm.replace('https:', '').replace('//image.istyle24.com/Upload/ProductImage/','')}" onerror="noneImg(this)">
 												</div>
 												<p class="itemBrand" th:text="${item.brandGroupNm}">BRAND NAME</p>
-												<div class=" itemName" th:text="${item.goodsFullNm}">여성 체인 프린트 큐롯 스커트 프린트 큐롯 스커트</div>
 												<div class="itemComment" th:if="${not #strings.isEmpty(item.goodsTnm)}" th:text="${item.goodsTnm}">#주문 폭주 상품</div>
+												<div class="itemName" th:text="${item.goodsFullNm}">여성 체인 프린트 큐롯 스커트 프린트 큐롯 스커트</div>
 												<p th:unless="${item.goodsType=='G056_D'}" class="itemPrice"><span class="itemPrice_original" th:if="${item.currPrice != item.listPrice}" th:text="${#numbers.formatInteger(item.listPrice,3,'COMMA')}">89,000</span>[[${#numbers.formatInteger(item.currPrice,1,'COMMA')}]]
 													<span class=" itemPercent" th:if="${item.currPrice != item.listPrice}" th:text="${(item.listPrice == 0 ? 0 : #numbers.formatDecimal((item.listPrice - item.currPrice) / (item.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 												</p>

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

@@ -79,8 +79,8 @@
 														<button type="button" class="itemLike" th:classappend="${item.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${item.goodsCd}, goodsNm=${item.goodsFullNm}, ithrCd='', contentsLoc='SCM001', planDtlSq=''">관심상품 추가</button>
 													</div>
 													<p class="itemBrand" th:text="${item.brandGroupNm}">BRAND NAME</p>
-													<div class="itemName" th:text="${item.goodsFullNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
 													<div class="itemComment" th:if="${not #strings.isEmpty(item.goodsTnm)}" th:text="${item.goodsTnm}">#주문 폭주 상품</div>
+													<div class="itemName" th:text="${item.goodsFullNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
 													<p class="itemPrice" th:text="${#numbers.formatInteger(item.currPrice,3,'COMMA')}">80,100</p>
 												</a>
 											</div>
@@ -111,8 +111,8 @@
 													<button type="button" class="itemLike" th:classappend="${item.likeIt == 'likeit'}? 'likeit' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${item.goodsCd}, goodsNm=${item.goodsFullNm}, ithrCd='', contentsLoc='SCM002', planDtlSq=''">관심상품 추가</button>
 												</div>
 												<p class="itemBrand" th:text="${item.brandGroupNm}">BRAND NAME</p>
-												<div class=" itemName" th:text="${item.goodsFullNm}">여성 체인 프린트 큐롯 스커트 프린트 큐롯 스커트</div>
 												<div class="itemComment" th:if="${not #strings.isEmpty(item.goodsTnm)}" th:text="${item.goodsTnm}">#주문 폭주 상품</div>
+												<div class="itemName" th:text="${item.goodsFullNm}">여성 체인 프린트 큐롯 스커트 프린트 큐롯 스커트</div>
 												<p class="itemPrice"><span class="itemPrice_original" th:if="${item.currPrice != item.listPrice}" th:text="${#numbers.formatInteger(item.listPrice,3,'COMMA')}">89,000</span>[[${#numbers.formatInteger(item.currPrice,1,'COMMA')}]]
 													<span class=" itemPercent" th:if="${item.currPrice != item.listPrice}" th:text="${(item.listPrice == 0 ? 0 : #numbers.formatDecimal((item.listPrice - item.currPrice) / (item.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 												</p>

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

@@ -75,6 +75,7 @@
 														<img class="vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + item.sysImgNm.replace('https:', '').replace('//image.istyle24.com/Upload/ProductImage/','')}" alt="">
 													</div>
 													<p class="itemBrand" th:text="${item.brandGroupNm}">BRAND NAME</p>
+													<div class="itemComment" th:if="${not #strings.isEmpty(item.goodsTnm)}" th:text="${item.goodsTnm}">#주문 폭주 상품</div>
 													<div class="itemName" th:text="${item.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
 													<p th:unless="${item.goodsType=='G056_D'}" class="itemPrice">
 														<span class="itemPrice_original" th:if="${item.currPrice != item.listPrice}" th:text="${#numbers.formatInteger(item.listPrice,3,'COMMA')}">89,000</span>
@@ -84,7 +85,7 @@
 													<p th:if="${item.goodsType=='G056_D'}" class="itemPrice">
 														[[${#numbers.formatInteger(item.currPrice,0,'COMMA')} + ' ~']]
 													</p>
-													<div class="itemComment" th:if="${not #strings.isEmpty(item.goodsTnm)}" th:text="${item.goodsTnm}">#주문 폭주 상품</div>
+													
 												</a>
 											</div>
 										</div>
@@ -114,6 +115,7 @@
 													<img class="vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + item.sysImgNm.replace('https:', '').replace('//image.istyle24.com/Upload/ProductImage/','')}" alt="">
 												</div>
 												<p class="itemBrand" th:text="${item.brandGroupNm}">BRAND NAME</p>
+												<div class="itemComment" th:if="${not #strings.isEmpty(item.goodsTnm)}" th:text="${item.goodsTnm}">#주문 폭주 상품</div>
 												<div class="itemName" th:text="${item.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
 												<p th:unless="${item.goodsType=='G056_D'}" class="itemPrice"><span class="itemPrice_original" th:if="${item.currPrice != item.listPrice}" th:text="${#numbers.formatInteger(item.listPrice,3,'COMMA')}">89,000</span>[[${#numbers.formatInteger(item.currPrice,0,'COMMA')}]]
 													<span class="itemPercent" th:if="${item.currPrice != item.listPrice}" th:text="${(item.listPrice == 0 ? 0 : #numbers.formatDecimal((item.listPrice - item.currPrice) / (item.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
@@ -130,7 +132,6 @@
 														<span class="badge13" th:if="${idx.index<3}" th:value="${iconArray[0]}" th:text="${iconArray[1]}"></span>
 													</th:block>
 												</p>
-												<div class="itemComment" th:if="${not #strings.isEmpty(item.goodsTnm)}" th:text="${item.goodsTnm}">#주문 폭주 상품</div>
 											</a>
 										</div>
 									</div>

+ 1 - 3
src/main/webapp/WEB-INF/views/mob/goods/GoodsDealDetailFormMob.html

@@ -341,9 +341,7 @@
 													if (result.state == "success") {
 														$('#nPayWishForm input[name=SHOP_ID]').val(result.shopId);
 														$('#nPayWishForm input[name=ITEM_ID]').val(result.itemId);
-														
-														window.open('about:blank', 'popupView');
-														document.nPayWishForm.target = 'popupView';
+
 														document.nPayWishForm.action = result.actionMobile;
 														document.nPayWishForm.submit();
 													} else {

+ 77 - 4
src/main/webapp/WEB-INF/views/mob/goods/GoodsDetailFormMob.html

@@ -194,6 +194,82 @@
 				</div>
 			</div>
 
+			<div class="inner" th:if="${sessionInfo != null and (sessionInfo.custId == 'xodud1202' or sessionInfo.custId == 'jsh77b' or sessionInfo.custId == 'card007')}">
+				<th:block th:with="buttonKey=${@environment.getProperty('naverPay.button.key')}">
+					<script type="text/javascript" th:src="${@environment.getProperty('naverPay.button.mobile.js.url')}" src="" charset="UTF-8"></script>
+					<script type="text/javascript" >
+						/*버튼설정*/
+						naver.NaverPayButton.apply({
+							BUTTON_KEY              : "[[${buttonKey}]]",       // 네이버페이에서 제공받은 버튼 인증 키 입력
+							TYPE                    : "MA",                     // 버튼 모음 종류 설정
+							COLOR                   : 1,                        // 버튼 모음의 색 설정
+							COUNT                   : 2,                        // 버튼 개수 설정. 구매하기 버튼만 있으면(장바구니 페이지) 1, 찜하기 버튼도 있으면(상품 상세 페이지) 2를 입력.
+							ENABLE                  : "Y",                      // 품절 등의 이유로 버튼 모음을 비활성화할 때에는 "N" 입력
+							BUY_BUTTON_HANDLER      : buy_nc,                   // 구매하기 버튼 이벤트 Handler 함수 등록, 품절인 경우 not_buy_nc 함수 사용
+							WISHLIST_BUTTON_HANDLER : wishlist_nc,              // 찜하기 버튼 이벤트 Handler 함수 등록
+							"":""
+						});
+						
+						/*네이버구매하기*/
+						function buy_nc(url) {
+							$(".container").addClass('btPop_open');
+						}
+						
+						<!-- 구매불가 -->
+						function not_buy_nc() {
+							mcxDialog.alert("죄송합니다. 네이버페이로 구매가 불가한 상품입니다.");
+							return false;
+						}
+						
+						<!-- 찜하기 -->
+						function wishlist_nc() {
+							let goodsCd			= "[[${goodsInfo.goodsCd}]]";
+							let goodsNm			= "[[${goodsInfo.goodsNm}]]";
+							let colorCd			= "[[${goodsInfo.colorCd}]]";
+							let currPrice		= "[[${goodsInfo.currPrice}]]";
+							let sysImgNm		= "[[${goodsInfo.sysImgNm}]]";
+							let selfGoodsYn		= "[[${goodsInfo.selfGoodsYn}]]";
+							
+							let data = {};
+							data.goodsCd		= goodsCd;
+							data.goodsNm		= goodsNm;
+							data.colorCd		= colorCd;
+							data.currPrice		= currPrice;
+							data.sysImgNm		= sysImgNm;
+							data.selfGoodsYn	= selfGoodsYn;
+							
+							let jsonData = JSON.stringify(data);
+							
+							$.ajax( {
+								type		: "POST",
+								url 		: "/pg/create/npay/zzim",
+								dataType 	: 'json',
+								data		: jsonData,
+								beforeSend : function(xhr, settings) {
+									xhr.setRequestHeader("AJAX"			, "true");
+									xhr.setRequestHeader('Accept'		, 'application/json');
+									xhr.setRequestHeader('Content-Type'	, 'application/json');
+								},
+								error: function(xhr, status, error) {
+									mcxDialog.alert(status + '; ' + error);
+								},
+								success : function(result) {
+									if (result.state == "success") {
+										$('#nPayWishForm input[name=SHOP_ID]').val(result.shopId);
+										$('#nPayWishForm input[name=ITEM_ID]').val(result.itemId);
+										
+										document.nPayWishForm.action = result.actionMobile;
+										document.nPayWishForm.submit();
+									} else {
+										mcxDialog.alert(result.message);
+									}
+								}
+							});
+						}
+					</script>
+				</th:block>
+			</div>
+
 			<div class="inner" th:if="${(cardInfoList != null and !cardInfoList.empty) or
 									(goodsCouponList != null and !goodsCouponList.empty) or
 									(tmtbList != null and !tmtbList.empty) or
@@ -1088,7 +1164,7 @@
 									/*버튼설정*/
 									naver.NaverPayButton.apply({
 										BUTTON_KEY              : "[[${buttonKey}]]",       // 네이버페이에서 제공받은 버튼 인증 키 입력
-										TYPE                    : "MA",                      // 버튼 모음 종류 설정
+										TYPE                    : "MA",                     // 버튼 모음 종류 설정
 										COLOR                   : 1,                        // 버튼 모음의 색 설정
 										COUNT                   : 2,                        // 버튼 개수 설정. 구매하기 버튼만 있으면(장바구니 페이지) 1, 찜하기 버튼도 있으면(상품 상세 페이지) 2를 입력.
 										ENABLE                  : "Y",                      // 품절 등의 이유로 버튼 모음을 비활성화할 때에는 "N" 입력
@@ -1286,10 +1362,7 @@
 												if (result.state == "success") {
 													$('#nPayWishForm input[name=SHOP_ID]').val(result.shopId);
 													$('#nPayWishForm input[name=ITEM_ID]').val(result.itemId);
-													console.log(result);
 
-													window.open('about:blank', 'popupView');
-													document.nPayWishForm.target = 'popupView';
 													document.nPayWishForm.action = result.actionMobile;
 													document.nPayWishForm.submit();
 												} else {

+ 4 - 3
src/main/webapp/WEB-INF/views/mob/planning/PlanningShotGuideFormMob.html

@@ -187,6 +187,9 @@ if(shotBrandList.length>0){
 			html += '								<img class="vLHTC pd_img" src="'+ _uploadGoodsUrl +'/'+item2.sysImgNm +'">';
 			html += '							</div>';
 			html += '							<p class="itemBrand">'+item2.brandNm+'</p>';
+			if(item2.goodsTnm != null){
+				html += '						<div class="itemComment">'+item2.goodsTnm+'</div>';
+			}
 			html += '							<div class="itemName">'+item2.goodsNm+'</div>';
 			html += '							<p class="itemPrice">';
 			if (item2.currPrice != item2.listPrice) {
@@ -233,9 +236,7 @@ if(shotBrandList.length>0){
 				}
 				html += '	</p>';
 			}
-			if(item2.goodsTnm != null){
-				html += '			<div class="itemComment">'+item2.goodsTnm+'</div>';
-			}
+			
 			html += '						</a>';
 			html += '					</div>';
 			html += '				</div>';

+ 3 - 3
src/main/webapp/WEB-INF/views/mob/social/SocialMainFormMob.html

@@ -140,6 +140,9 @@ let fnGetSocialList = function(result) {
 		html += '				<img class="vLHTC pd_img" src="'+ _uploadGoodsUrl +'/'+item.sysImgNm +'">';
 		html += '			</div>';
 		html += '			<p class="itemBrand">'+item.brandGroupNm+'</p>';
+		if(item.goodsTnm != null){
+			html += '           <div class="itemComment">'+item.goodsTnm+'</div>';
+		}
 		html += '			<div class="itemName">'+item.goodsNm+'</div>';
 		html += '			<p class="itemPrice">';
 		if (item.currPrice != item.listPrice) {
@@ -150,9 +153,6 @@ let fnGetSocialList = function(result) {
 			html += '                <span class=" itemPercent">'+item.dcRate.addComma()+'%</span>';
 		}
 		html += '			</p>';
-		if(item.goodsTnm != null){
-			html += '           <div class="itemComment">'+item.goodsTnm+'</div>';
-		}
 		
 		html += '		</a>';
 		html += '			<div class="shopBag">';

+ 44 - 6
src/main/webapp/WEB-INF/views/web/callcenter/OneToOneQnaRegisterFormWeb.html

@@ -42,14 +42,26 @@
 								<div class="t_info blt_dot mb15 light">문의를 남겨 주시면 24시간 이내(토/일/공휴일 제외)에 답변 드릴 수 있도록 최선을 다 하겠습니다.</div>
 								
 								<form class="form_wrap" role="form" name="qnaForm" id="qnaForm" th:action="@{'/callcenter/onetoone/qna/create'}" method="post">
+<!-- 									<div class="form_field"> -->
+<!-- 										<label class="ui_col_2 input_label">문의 유형</label> -->
+<!-- 										<div class="ui_col_10 form_full"> -->
+<!-- 											<div class="input_wrap"> -->
+<!-- 												<select name="counselClsf" required="required" data-valid-name="문의유형"> -->
+<!-- 													<option value="">유형을 선택해 주세요</option> -->
+<!-- 													<option th:if="${counselClsfList}" th:each="oneData, status : ${counselClsfList}" th:value="${oneData.cd}" th:text="${oneData.cdNm}"></option> -->
+<!-- 												</select> -->
+<!-- 											</div> -->
+<!-- 										</div> -->
+<!-- 									</div> -->
 									<div class="form_field">
 										<label class="ui_col_2 input_label">문의 유형</label>
-										<div class="ui_col_10 form_full">
-											<div class="input_wrap">
-												<select name="counselClsf" required="required" data-valid-name="문의유형">
-													<option value="">유형을 선택해 주세요</option>
-													<option th:if="${counselClsfList}" th:each="oneData, status : ${counselClsfList}" th:value="${oneData.cd}" th:text="${oneData.cdNm}"></option>
-												</select>
+										<div class="ui_col_4 form_full"><!-- 210415 변경 : 필드 클래스 (ui_col_10 → ui_col_4) 변경  -->
+											<div class="select_custom">
+												<div class="combo"><!-- 210415 추가 : 텍스트 '필수' -->
+													<div class="select">유형을 선택해 주세요 (필수)</div>
+													<ul class="list" id="ulCounselClsf">
+													</ul>
+												</div>
 											</div>
 										</div>
 									</div>
@@ -135,8 +147,34 @@
 	$(document).ready(function() {
 		// 고객센터 LNB 설정
 		fnSetCallcenterLnb(2);
+		
+		var counselClsfList = [[${counselClsfList}]];
+		var tag = '';
+		$.each(counselClsfList, function(idx, item) {
+			tag += '<li onclick="fnChangeCounselClsf(\'' + item.cd + '\');">' + item.cdNm + '</li>\n';
+		});
+		$('#ulCounselClsf').html(tag);
+	
+		// 문의유형
+		var cs_selecter01 = new sCombo('.cs .contactUs_my .select_custom');
 	});
 	
+	// 문의유형 선택 시
+	var fnChangeCounselClsf = function(counselClsf) {
+		var actionUrl = '/callcenter/onetoone/qna/answer/template/' + counselClsf;
+		$.get(actionUrl
+			, function(data) {
+				if (!gagajf.isNull(data)) {
+					$('textarea[name=questContent]').val(data);
+					$('.doc_contactus').trigger('keyup');
+				} else {
+					// 초기화
+					$('textarea[name=questContent]').val('');
+					$('.doc_contactus').trigger('keyup');
+				}
+			});
+	}
+	
 	// text_area
 	$('.doc_contactus').keyup(function (e) {
 		var content = $(this).val();

+ 92 - 76
src/main/webapp/WEB-INF/views/web/cart/CartListAjaxFormWeb.html

@@ -20,7 +20,7 @@
 		<input type="hidden" id="ableCpnNm" value="" />
 
 		<!-- CONT-BODY -->
-		<div class="od_cont">
+		<div>
 			<div class="sec_head shotDelvSelect">
 				<div class="tbl type4">
 					<table>
@@ -448,71 +448,71 @@
 				</div>
 			</div>
 		</div>
-		<div class="od_side">
-			<div class="area_order">
-				<div class="tit_box">
-					<h3>결제 정보</h3>
-					<span><em class="number checkSelectCartListCnt" th:text="${order.totCartCnt}"></em>개의 상품</span>
-				</div>
-				<div class="od_amount_box">
-					<dl>
-						<div>
-							<dt>상품금액</dt>
-							<dd><em class="sumListPrice" th:text="${#numbers.formatInteger(order.sumListPrice, 1, 'COMMA')}"></em>원</dd>
-						</div>
-						<div>
-							<dt>배송비</dt>
-							<dd><em class="totDelvFee" th:text="${#numbers.formatInteger(order.totDelvFee, 1, 'COMMA')}"></em> 원</dd>
-						</div>
-						<div>
-							<dt>할인금액</dt>
-							<dd><span class="disc_amount"><em class="totDcAmt" id="totDcAmt" th:text="${#numbers.formatInteger(order.totDcAmt, 1, 'COMMA')}"></em> 원</span></dd>
-						</div>
-					</dl>
-				</div>
-				<div class="totalprice_box">
-					<dl>
-						<dt>총 결제 예정 금액</dt>
-						<dd><span class="sumRealPayAmt" id="sumRealPayAmt" th:text="${#numbers.formatInteger(order.sumRealPayAmt + order.totDelvFee, 1, 'COMMA')}"></span> 원</dd>
-					</dl>
-				</div>
-				<div class="btn_box">
-					<button class="btn btn_primary btn_block btn_md" onclick="fnSubmitNoMember('all'); return false;"><span>구매하기</span></button>
-				</div>
-			</div>
-			<div class="area_salecoupon">
-				<h4>할인코드 입력</h4>
-				<div class="form_field">
-					<div class="input_wrap form_full">
-						<label class="input_label sr-only">할인코드입력</label>
-						<input type="text" id="serialCpnNm" class="form_control" placeholder="할인코드를 입력해주세요.">
-					</div>
-					<button type="button" class="btn btn_dark btn_sm" onclick="serialCpnApply()"><span>적용</span></button>
-				</div>
-				<div class="coupon_box">
-					<div class="coupon">
-						<div>
-							<p class="cp_name"></p>
-							<p class="cp_cont">
-								<!--<span><em>12,399,900</em>원</span>
-								<span><em>40</em>%</span>-->
-								<span class="cp_dc_val"></span>
-							</p>
-							<p class="cp_condition">
-								<!--500,000원 이상 구매 시 최대 50,000원 할인
-								<span><em class="tag primary_line">99장 보유</em></span>-->
-							</p>
-						</div>
-						<p class="cp_date">
-							<span class="availStdt"></span>&nbsp;~&nbsp;<span class="availEddt"></span>
-						</p>
-					</div>
-					<button type="button" class="btn_underline" id="btn_cartCouponInfo_pop">
-						<span>사용안내</span>
-					</button>
-				</div>
-			</div>
-		</div>
+<!--		<div class="od_side">-->
+<!--			<div class="area_order">-->
+<!--				<div class="tit_box">-->
+<!--					<h3>결제 정보</h3>-->
+<!--					<span><em class="number checkSelectCartListCnt" th:text="${order.totCartCnt}"></em>개의 상품</span>-->
+<!--				</div>-->
+<!--				<div class="od_amount_box">-->
+<!--					<dl>-->
+<!--						<div>-->
+<!--							<dt>상품금액</dt>-->
+<!--							<dd><em class="sumListPrice" th:text="${#numbers.formatInteger(order.sumListPrice, 1, 'COMMA')}"></em>원</dd>-->
+<!--						</div>-->
+<!--						<div>-->
+<!--							<dt>배송비</dt>-->
+<!--							<dd><em class="totDelvFee" th:text="${#numbers.formatInteger(order.totDelvFee, 1, 'COMMA')}"></em> 원</dd>-->
+<!--						</div>-->
+<!--						<div>-->
+<!--							<dt>할인금액</dt>-->
+<!--							<dd><span class="disc_amount"><em class="totDcAmt" id="totDcAmt" th:text="${#numbers.formatInteger(order.totDcAmt, 1, 'COMMA')}"></em> 원</span></dd>-->
+<!--						</div>-->
+<!--					</dl>-->
+<!--				</div>-->
+<!--				<div class="totalprice_box">-->
+<!--					<dl>-->
+<!--						<dt>총 결제 예정 금액</dt>-->
+<!--						<dd><span class="sumRealPayAmt" id="sumRealPayAmt" th:text="${#numbers.formatInteger(order.sumRealPayAmt + order.totDelvFee, 1, 'COMMA')}"></span> 원</dd>-->
+<!--					</dl>-->
+<!--				</div>-->
+<!--				<div class="btn_box">-->
+<!--					<button class="btn btn_primary btn_block btn_md" onclick="fnSubmitNoMember('all'); return false;"><span>구매하기</span></button>-->
+<!--				</div>-->
+<!--			</div>-->
+<!--			<div class="area_salecoupon">-->
+<!--				<h4>할인코드 입력</h4>-->
+<!--				<div class="form_field">-->
+<!--					<div class="input_wrap form_full">-->
+<!--						<label class="input_label sr-only">할인코드입력</label>-->
+<!--						<input type="text" id="serialCpnNm" class="form_control" placeholder="할인코드를 입력해주세요.">-->
+<!--					</div>-->
+<!--					<button type="button" class="btn btn_dark btn_sm" onclick="serialCpnApply()"><span>적용</span></button>-->
+<!--				</div>-->
+<!--				<div class="coupon_box">-->
+<!--					<div class="coupon">-->
+<!--						<div>-->
+<!--							<p class="cp_name"></p>-->
+<!--							<p class="cp_cont">-->
+<!--								&lt;!&ndash;<span><em>12,399,900</em>원</span>-->
+<!--								<span><em>40</em>%</span>&ndash;&gt;-->
+<!--								<span class="cp_dc_val"></span>-->
+<!--							</p>-->
+<!--							<p class="cp_condition">-->
+<!--								&lt;!&ndash;500,000원 이상 구매 시 최대 50,000원 할인-->
+<!--								<span><em class="tag primary_line">99장 보유</em></span>&ndash;&gt;-->
+<!--							</p>-->
+<!--						</div>-->
+<!--						<p class="cp_date">-->
+<!--							<span class="availStdt"></span>&nbsp;~&nbsp;<span class="availEddt"></span>-->
+<!--						</p>-->
+<!--					</div>-->
+<!--					<button type="button" class="btn_underline" id="btn_cartCouponInfo_pop">-->
+<!--						<span>사용안내</span>-->
+<!--					</button>-->
+<!--				</div>-->
+<!--			</div>-->
+<!--		</div>-->
 		<div class="clear"></div>
 		<!-- // CONT-BODY -->
 	</form>
@@ -562,6 +562,12 @@
 	<script th:inline="javascript">
 		let sumRealPayAmt = [[${order.sumRealPayAmt + order.totDelvFee}]];
 		let totDcAmt = [[${order.totDcAmt}]];
+		let checkSelectCartListCnt = [[${order.totCartCnt}]];
+		let sumListPrice = [[${order.sumListPrice}]];
+		let totDelvFee = [[${order.totDelvFee}]];
+		let shotCartList = [[${order.shotCartList}]];
+		let wmsCartList = [[${order.wmsCartList}]];
+		let delvCartList = [[${order.delvCartList}]];
 		let loginInfo = new Object();
 		let orderFlag = true;
 
@@ -582,7 +588,17 @@
 				$(".shotDelvSelect").hide();
 			}
 
-			$("#cartListForm .area_salecoupon .coupon_box").hide();
+			$(".area_salecoupon .coupon_box").hide();
+
+			$('.checkSelectCartListCnt').text(checkSelectCartListCnt.addComma());
+			$('.sumListPrice').text(sumListPrice.addComma());
+			$('.totDelvFee').text(totDelvFee.addComma());
+			$('#totDcAmt').text(totDcAmt.addComma());
+			$('#sumRealPayAmt').text(sumRealPayAmt.addComma());
+			
+			if (shotCartList.length > 0 || wmsCartList.length > 0 || delvCartList.length > 0) {
+				$('.od_side').css('display', '');
+			}
 
 			/* 딜 및 일반 상품 */
 			/*let compsList = [];
@@ -993,24 +1009,24 @@
 			}
 
 			// 결제 총액 영역 수정
-			$("#cartListForm .checkSelectCartListCnt").text(Number(order.totCartCnt).toLocaleString());
-			$("#cartListForm .sumListPrice").text(Number(order.sumListPrice).toLocaleString());
-			$("#cartListForm .totDelvFee").text(Number(order.totDelvFee).toLocaleString());
+			$(".checkSelectCartListCnt").text(Number(order.totCartCnt).toLocaleString());
+			$(".sumListPrice").text(Number(order.sumListPrice).toLocaleString());
+			$(".totDelvFee").text(Number(order.totDelvFee).toLocaleString());
 			sumRealPayAmt = order.sumRealPayAmt + order.totDelvFee;
 			totDcAmt = order.totDcAmt;
 
 			// 할인코드 쿠폰 금액 재확인
-			if($("#cartListForm #serialCpnNm").val()) {
-				if($("#cartListForm #checkAbleCpnNm").val() == "Y" && $("#cartListForm #ableCpnNm").val() == $("#cartListForm #serialCpnNm").val()) {
+			if($("#serialCpnNm").val()) {
+				if($("#checkAbleCpnNm").val() == "Y" && $("#ableCpnNm").val() == $("#serialCpnNm").val()) {
 					serialCpnApply();
 				} else {
-					$("#cartListForm .totDcAmt").text(Number(order.totDcAmt).toLocaleString());
-					$("#cartListForm .sumRealPayAmt").text(Number(order.sumRealPayAmt + order.totDelvFee).toLocaleString());
+					$(".totDcAmt").text(Number(order.totDcAmt).toLocaleString());
+					$(".sumRealPayAmt").text(Number(order.sumRealPayAmt + order.totDelvFee).toLocaleString());
 					cancelCartCpn();
 				}
 			} else {
-				$("#cartListForm .totDcAmt").text(Number(order.totDcAmt).toLocaleString());
-				$("#cartListForm .sumRealPayAmt").text(Number(order.sumRealPayAmt + order.totDelvFee).toLocaleString());
+				$(".totDcAmt").text(Number(order.totDcAmt).toLocaleString());
+				$(".sumRealPayAmt").text(Number(order.sumRealPayAmt + order.totDelvFee).toLocaleString());
 				cancelCartCpn();
 			}
 		}

+ 164 - 17
src/main/webapp/WEB-INF/views/web/cart/CartListFormWeb.html

@@ -25,6 +25,8 @@
     <script type="text/javascript" th:src="${@environment.getProperty('pg.kcp.js.url')}" src=""></script>
     <script type="text/javascript" src="/biz/payment.js"></script>
 	<script type="text/javascript" src="//wcs.naver.net/wcslog.js"></script>
+	<script type="text/javascript" th:src="${@environment.getProperty('naverPay.button.mobile.js.url')}" src="" charset="UTF-8"></script>
+	<form id="nPayForm" name="nPayForm"></form>
 
 	<!--  container -->
 	<div id="container" class="container od">
@@ -40,8 +42,153 @@
 						</ul>
 					</div>
 				</div>
-				<div id="cartAjaxList" class="cont_body">
-					<!-- 장바구니 내용 -->
+				<div class="cont_body">
+					<div id="cartAjaxList" class="od_cont">
+						<!-- 장바구니 내용 -->
+					</div>
+					<div class="od_side" style="display:none">
+						<div class="area_order">
+							<div class="tit_box">
+								<h3>결제 정보</h3>
+								<span><em class="number checkSelectCartListCnt"></em>개의 상품</span>
+							</div>
+							<div class="od_amount_box">
+								<dl>
+									<div>
+										<dt>상품금액</dt>
+										<dd><em class="sumListPrice"></em>원</dd>
+									</div>
+									<div>
+										<dt>배송비</dt>
+										<dd><em class="totDelvFee"></em> 원</dd>
+									</div>
+									<div>
+										<dt>할인금액</dt>
+										<dd><span class="disc_amount"><em class="totDcAmt" id="totDcAmt"></em> 원</span></dd>
+									</div>
+								</dl>
+							</div>
+							<div class="totalprice_box">
+								<dl>
+									<dt>총 결제 예정 금액</dt>
+									<dd><span class="sumRealPayAmt" id="sumRealPayAmt"></span> 원</dd>
+								</dl>
+							</div>
+							<div class="btn_box">
+								<button class="btn btn_primary btn_block btn_md" onclick="fnSubmitNoMember('all'); return false;"><span>구매하기</span></button>
+							</div>
+						</div>
+						<div class="area_salecoupon">
+							<h4>할인코드 입력</h4>
+							<div class="form_field">
+								<div class="input_wrap form_full">
+									<label class="input_label sr-only">할인코드입력</label>
+									<input type="text" id="serialCpnNm" class="form_control" placeholder="할인코드를 입력해주세요.">
+								</div>
+								<button type="button" class="btn btn_dark btn_sm" onclick="serialCpnApply()"><span>적용</span></button>
+							</div>
+							<div class="coupon_box">
+								<div class="coupon">
+									<div>
+										<p class="cp_name"></p>
+										<p class="cp_cont">
+											<!--<span><em>12,399,900</em>원</span>
+											<span><em>40</em>%</span>-->
+											<span class="cp_dc_val"></span>
+										</p>
+										<p class="cp_condition">
+											<!--500,000원 이상 구매 시 최대 50,000원 할인
+											<span><em class="tag primary_line">99장 보유</em></span>-->
+										</p>
+									</div>
+									<p class="cp_date">
+										<span class="availStdt"></span>&nbsp;~&nbsp;<span class="availEddt"></span>
+									</p>
+								</div>
+								<button type="button" class="btn_underline" id="btn_cartCouponInfo_pop">
+									<span>사용안내</span>
+								</button>
+							</div>
+						</div>
+						<th:block th:if="${sessionInfo != null and (sessionInfo.custId == 'xodud1202' or sessionInfo.custId == 'jsh77b' or sessionInfo.custId == 'card007')}">
+							<div style="margin-top:35px;">
+								<th:block th:with="buttonKey=${@environment.getProperty('naverPay.button.key')}">
+									<script type="text/javascript" th:src="${@environment.getProperty('naverPay.button.pc.js.url')}" src="" charset="UTF-8"></script>
+	
+									<script th:inline="javascript">
+										if(!wcs_add) var wcs_add = {};
+										wcs_add["wa"] = [[${@environment.getProperty('naverPay.common.certification.key')}]];
+										wcs.inflow("style24.com");
+										wcs_do();
+									</script>
+	
+									<script type="text/javascript">
+										/*버튼설정*/
+										naver.NaverPayButton.apply({
+											BUTTON_KEY              : "[[${buttonKey}]]",       // 네이버페이에서 제공받은 버튼 인증 키 입력
+											TYPE                    : "C",                      // 버튼 모음 종류 설정
+											COLOR                   : 1,                        // 버튼 모음의 색 설정
+											COUNT                   : 1,                        // 버튼 개수 설정. 구매하기 버튼만 있으면(장바구니 페이지) 1, 찜하기 버튼도 있으면(상품 상세 페이지) 2를 입력.
+											ENABLE                  : "Y",                      // 품절 등의 이유로 버튼 모음을 비활성화할 때에는 "N" 입력
+											BUY_BUTTON_HANDLER      : buy_nc,                   // 구매하기 버튼 이벤트 Handler 함수 등록, 품절인 경우 not_buy_nc 함수 사용
+											"":""
+										});
+										
+										/*네이버구매하기*/
+										function buy_nc() {
+											let cartSqArr = []
+											$("#cartListForm input[name=cartSqArr]:checked").each(function() {
+												cartSqArr.push($(this).val());
+											});
+											
+											buy_nc_req(cartSqArr);
+										}
+										
+										function buy_nc_req(cartSqArr) {
+											let data = {  cartSqArr : cartSqArr
+												, backUrl : location.href
+												, goodsUrl : _PAGE_GOODS_DETAIL
+											};
+											let jsonData = JSON.stringify(data);
+											
+											$.ajax( {
+												type		: "POST",
+												url 		: "/pg/nPayReq",
+												dataType 	: 'json',
+												data		: jsonData,
+												beforeSend : function(xhr, settings) {
+													xhr.setRequestHeader("AJAX"			, "true");
+													xhr.setRequestHeader('Accept'		, 'application/json');
+													xhr.setRequestHeader('Content-Type'	, 'application/json');
+												},
+												error: function(xhr, status, error) {
+													mcxDialog.alert(status + '; ' + error);
+												},
+												success : function(result) {
+													if (result.state == "sucess") {
+														enp('create', 'conversion', 'is24', { device: 'W', paySys: 'naverPay' });	// 모비온 네이버주문형 클릭시
+														window.open('about:blank', 'popupView');
+														document.nPayForm.target = 'popupView';
+														document.nPayForm.action = result.npayOrderUrl + "/" + result.orderKey + "/" + result.resultNo;
+														document.nPayForm.submit();
+													} else {
+														mcxDialog.alert(result.message);
+													}
+												}
+											});
+										}
+										
+										<!-- 구매불가 -->
+										function not_buy_nc() {
+											mcxDialog.alert("죄송합니다. 네이버페이로 구매가 불가한 상품입니다.");
+											return false;
+										}
+										//]]>
+									</script>
+								</th:block>
+							</div>
+						</th:block>
+					</div>
 				</div>
 			</div>
 
@@ -172,23 +319,23 @@
 				});
 			}
 		}
-    });
+	});
 
-    function getCartList(parameter) {
-        // 장바구니 정보 조회
-        $.ajax( {
-            type: "POST",
-            url : '/cart/goods/list',
+	function getCartList(parameter) {
+		// 장바구니 정보 조회
+		$.ajax( {
+			type: "POST",
+			url : '/cart/goods/list',
 			data : parameter,
-            dataType : 'html',
-            success : function(result) {
-                if (result != null) {
-                	$("#cartListForm").remove();
-                    $("#cartAjaxList").html(result);
-                }
-            }
-        });
-    }
+			dataType : 'html',
+			success : function(result) {
+				if (result != null) {
+					$("#cartListForm").remove();
+					$("#cartAjaxList").html(result);
+				}
+			}
+		});
+	}
 
 	//상품옵션변경 팝업 > 컬러선택 표기
 	$(document).on('change','input[name=shotDelvUseYn]',function(e){

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

@@ -253,6 +253,9 @@
 				tag += '				<img alt="BLUE-a" class=" vLHTC pd_img" src="' + _uploadGoodsUrl + '/' + item.sysImgNm + '">\n';
 				tag += '			</div>\n';
 				tag += '			<p class="itemBrand">'+item.brandGroupNm+'</p>\n';
+				if (item.goodsTnm != null && item.goodsTnm != '') {
+					tag+='					<div class="itemComment">'+item.goodsTnm+'</div>\n';
+				}
 				tag += '			<div class="itemName">'+item.goodsFullNm+'</div>\n';
 				tag += '			<p class="itemPrice">'+item.currPrice.addComma();
 				if (item.currPrice != item.listPrice) {
@@ -296,9 +299,7 @@
 					}
 					tag += '	</p>';
 				}
-				if (item.goodsTnm != null && item.goodsTnm != '') {
-					tag+='					<div class="itemComment">'+item.goodsTnm+'</div>\n';
-				}
+				
 				tag += '		</a>\n';
 				tag += '	</div>\n';
 				tag += '</div>\n';

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

@@ -199,8 +199,8 @@
 															<img alt="BLACK-a" class="vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm.replace('https:', '').replace('//image.istyle24.com/Upload/ProductImage/','')}" onerror="noneImg(this)">
 														</div>
 														<p class="itemBrand" th:text="${goodsData.brandGroupNm}"></p>
-														<div class="itemName" th:text="${goodsData.goodsFullNm}"></div>
 														<div class="itemComment" th:unless="${goodsData.goodsTnm == null or goodsData.goodsTnm == ''}" th:text="${goodsData.goodsTnm}">#가을느낌 물씬!!</div>
+														<div class="itemName" th:text="${goodsData.goodsFullNm}"></div>
 														<p th:unless="${goodsData.goodsType=='G056_D'}" class="itemPrice">
 															[[${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')} + 원]]
 															<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}"></span>
@@ -281,9 +281,9 @@
 														</th:block>
 														<img alt="BLACK-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm.replace('https:', '').replace('//image.istyle24.com/Upload/ProductImage/','')}" onerror="noneImg(this)">
 													</div>
-													<p class=" itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
-													<div class=" itemName" th:text="${goodsData.goodsFullNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+													<p class="itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
 													<div class="itemComment" th:unless="${goodsData.goodsTnm == null or goodsData.goodsTnm == ''}" th:text="${goodsData.goodsTnm}">#베이직 셔츠의 정수1</div>
+													<div class="itemName" th:text="${goodsData.goodsFullNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
 													<p th:unless="${goodsData.goodsType=='G056_D'}" class="itemPrice" >
 														[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')} + 원]]
 														<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
@@ -390,9 +390,9 @@
 													</th:block>
 													<img alt="BLACK-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}" onerror="noneImg(this)">
 												</div>
-												<p class=" itemBrand" th:text="${goodsData.brandGroupNm}"></p>
-												<div class="itemName" th:text="${goodsData.goodsFullNm}"></div>
+												<p class="itemBrand" th:text="${goodsData.brandGroupNm}"></p>
 												<div class="itemComment" th:unless="${goodsData.goodsTnm == null or goodsData.goodsTnm == ''}" th:text="${goodsData.goodsTnm}">#가을느낌 물씬!</div>
+												<div class="itemName" th:text="${goodsData.goodsFullNm}"></div>
 												<p th:unless="${goodsData.goodsType=='G056_D'}" class="itemPrice">[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')} + 원]]
 													<span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
 													<span class=" itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${(goodsData.listPrice == 0 ? 0 : #numbers.formatDecimal((goodsData.listPrice - goodsData.currPrice) / (goodsData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>

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

@@ -152,8 +152,8 @@
 												<img class="vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + item.sysImgNm.replace('https:', '').replace('//image.istyle24.com/Upload/ProductImage/','')}" th:alt="${item.goodsCd}" onerror="noneImg(this)"/>
 											</div>
 											<p class="itemBrand" th:text="${item.brandGroupNm}">BRAND NAME</p>
-											<div class="itemName" th:text="${item.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
 											<div class="itemComment" th:if="${not #strings.isEmpty(item.goodsTnm)}" th:text="${item.goodsTnm}">#주문 폭주 상품</div>
+											<div class="itemName" th:text="${item.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
 											<p th:unless="${item.goodsType=='G056_D'}" class="itemPrice">
 												<span th:text="${#numbers.formatInteger(item.currPrice,3,'COMMA') + '원'}">80,100</span>
 												<span class="itemPrice_original" th:if="${item.currPrice != item.listPrice}" th:text="${#numbers.formatInteger(item.listPrice,3,'COMMA') + '원'}">89,000</span>

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

@@ -105,13 +105,13 @@
 												<img alt="BLUE-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + item.sysImgNm.replace('https:', '').replace('//image.istyle24.com/Upload/ProductImage/','')}" th:alt="${item.goodsCd}"/>
 											</div>
 											<p class="itemBrand" th:text="${item.brandGroupNm}">BRAND NAME</p>
+											<div class="itemComment" th:if="${not #strings.isEmpty(item.goodsTnm)}" th:text="${item.goodsTnm}">#주문 폭주 상품</div>
 											<div class="itemName" th:text="${item.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
 											<p  th:unless="${item.goodsType=='G056_D'}" class="itemPrice">[[${#numbers.formatInteger(item.currPrice,0,'COMMA')} + 원]]
 												<span class="itemPrice_original" th:if="${item.currPrice != item.listPrice}" th:text="${#numbers.formatInteger(item.listPrice,3,'COMMA')}">89,000</span>
 												<span class=" itemPercent" th:if="${item.currPrice != item.listPrice}" th:text="${(item.listPrice == 0 ? 0 : #numbers.formatDecimal((item.listPrice - item.currPrice) / (item.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
 											</p>
 											<p  th:if="${item.goodsType=='G056_D'}" class="itemPrice">[[${#numbers.formatInteger(item.currPrice,0,'COMMA')} + '원 ~']]</p>
-											<div class="itemComment" th:if="${not #strings.isEmpty(item.goodsTnm)}" th:text="${item.goodsTnm}">#주문 폭주 상품</div>
 										</a>
 									</div>
 								</div>
@@ -149,6 +149,7 @@
 											<img alt="BLUE-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + item.sysImgNm.replace('https:', '').replace('//image.istyle24.com/Upload/ProductImage/','')}">
 										</div>
 										<p class="itemBrand" th:text="${item.brandGroupNm}">BRAND NAME</p>
+										<div class="itemComment" th:if="${not #strings.isEmpty(item.goodsTnm)}" th:text="${item.goodsTnm}">#주문 폭주 상품</div>
 										<div class="itemName" th:text="${item.goodsFullNm}">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
 										<p th:unless="${item.goodsType=='G056_D'}" class="itemPrice">[[${#numbers.formatInteger(item.currPrice,0,'COMMA')} + 원]]
 											<span class="itemPrice_original" th:if="${item.currPrice != item.listPrice}" th:text="${#numbers.formatInteger(item.listPrice,3,'COMMA')}">89,000</span>
@@ -166,7 +167,6 @@
 												<span class="badge13" th:if="${idx.index<3}" th:value="${iconArray[0]}" th:text="${iconArray[1]}"></span>
 											</th:block>
 										</p>
-										<div class="itemComment" th:if="${not #strings.isEmpty(item.goodsTnm)}" th:text="${item.goodsTnm}">#주문 폭주 상품</div>
 									</a>
 								</div>
 							</div>

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

@@ -466,8 +466,6 @@
 		var adBannerTag = '';
 		var filterPriceList = [[${filterPriceList}]];
 		var custom_values = [];
-		var recommendItemList = [[${recommendItemList}]];
-		console.log('recommendItemList::'+recommendItemList.result);
 
 		// 상품리스트 페이지 확인용
 		var listIdx = 1;

+ 1 - 1
src/main/webapp/WEB-INF/views/web/display/SearchSampleFormWeb.html

@@ -3124,6 +3124,7 @@
 											<img alt="" class="vLHTC pd_img" src="//image.istyle24.com/Style24/images/pc/thumb/tmp_pdTogether1.jpg">
 										</div>
 										<p class="itemBrand">BRAND NAME1</p>
+										<div class="itemComment">#주문 폭주 상품</div>
 										<div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
 										<p class="itemPrice">80,100
 											<span class="itemPrice_original">89,000</span>
@@ -3137,7 +3138,6 @@
 											<span class="chip_color54" value="BDS">BLACK</span>
 											<span class="chip_color40" value="YBR">WHITE</span>
 										</div>
-										<div class="itemComment">#주문 폭주 상품</div>
 									</a>
 								</div>
 							</div>

+ 3 - 3
src/main/webapp/WEB-INF/views/web/goods/GoodsDealDetailFormWeb.html

@@ -382,9 +382,9 @@
 														if (result.state == "success") {
 															$('#nPayWishForm input[name=SHOP_ID]').val(result.shopId);
 															$('#nPayWishForm input[name=ITEM_ID]').val(result.itemId);
-															console.log(result);
-															
-															window.open('about:blank', 'popupView');
+
+															let option = 'width=530, height=380';
+															window.open('about:blank', 'popupView', option);
 															document.nPayWishForm.target = 'popupView';
 															document.nPayWishForm.action = result.action;
 															document.nPayWishForm.submit();

+ 3 - 2
src/main/webapp/WEB-INF/views/web/goods/GoodsDetailFormWeb.html

@@ -387,7 +387,7 @@
 								</div>
 							</div>
 							<th:block th:if="${sessionInfo != null and (sessionInfo.custId == 'xodud1202' or sessionInfo.custId == 'jsh77b' or sessionInfo.custId == 'card007')}">
-								<div style="margin-top:10px;">
+								<div style="margin-top:30px;">
 									<th:block th:with="buttonKey=${@environment.getProperty('naverPay.button.key')}">
 										<script type="text/javascript" th:src="${@environment.getProperty('naverPay.button.pc.js.url')}" src="" charset="UTF-8"></script>
 
@@ -584,7 +584,8 @@
 															$('#nPayWishForm input[name=SHOP_ID]').val(result.shopId);
 															$('#nPayWishForm input[name=ITEM_ID]').val(result.itemId);
 
-															window.open('about:blank', 'popupView');
+															let option = 'width=530, height=380';
+															window.open('about:blank', 'popupView', option);
 															document.nPayWishForm.target = 'popupView';
 															document.nPayWishForm.action = result.action;
 															document.nPayWishForm.submit();

+ 6 - 6
src/main/webapp/WEB-INF/views/web/goods/GoodsIncludeFormWeb.html

@@ -465,9 +465,9 @@
 												if (result.state == "success") {
 													$('#nPayWishForm input[name=SHOP_ID]').val(result.shopId);
 													$('#nPayWishForm input[name=ITEM_ID]').val(result.itemId);
-													console.log(result);
-													
-													window.open('about:blank', 'popupView');
+
+													let option = 'width=530, height=380';
+													window.open('about:blank', 'popupView', option);
 													document.nPayWishForm.target = 'popupView';
 													document.nPayWishForm.action = result.action;
 													document.nPayWishForm.submit();
@@ -701,9 +701,9 @@
 											if (result.state == "success") {
 												$('#nPayWishForm input[name=SHOP_ID]').val(result.shopId);
 												$('#nPayWishForm input[name=ITEM_ID]').val(result.itemId);
-												console.log(result);
-												
-												window.open('about:blank', 'popupView');
+
+												let option = 'width=530, height=380';
+												window.open('about:blank', 'popupView', option);
 												document.nPayWishForm.target = 'popupView';
 												document.nPayWishForm.action = result.action;
 												document.nPayWishForm.submit();

+ 4 - 3
src/main/webapp/WEB-INF/views/web/planning/PlanningShotGuideFormWeb.html

@@ -136,6 +136,9 @@ if(shotBrandList.length>0){
 				html += '                                 <img alt="BLUE-a" class=" vLHTC pd_img" src="'+ _uploadGoodsUrl +'/'+item2.sysImgNm +'">';
 				html += '                             </div>';
 				html += '                             <p class="itemBrand">'+item2.brandNm+'</p>';
+				if(item2.goodsTnm != null){
+					html += '						  <div class="itemComment">'+item2.goodsTnm+'</div>';
+				}
 				html += '                             <div class="itemName">'+item2.goodsNm+'</div>';
 				html += '                             <p class="itemPrice">'+item2.currPrice.addComma();
 				if (item2.currPrice != item2.listPrice) {
@@ -181,9 +184,7 @@ if(shotBrandList.length>0){
 					}
 					html += '	</p>';
 				}
-				if(item2.goodsTnm != null){
-					html += '			<div class="itemComment">'+item2.goodsTnm+'</div>';
-				}
+				
 				html += '                         </a>';
 				html += '                     </div>';
 				html += '                 </div>';

+ 4 - 3
src/main/webapp/WEB-INF/views/web/social/SocialMainFormWeb.html

@@ -155,6 +155,9 @@ let fnGetSocialList = function(result) {
 		html += '            </div>\n';
 		html += '            <div class="itemSpecialPrice"><span>특가</span></div>\n';
 		html += '            <p class="itemBrand">'+item.brandGroupNm+'</p>\n';
+		if(item.goodsTnm != null){
+			html += '           <div class="itemComment">'+item.goodsTnm+'</div>\n';
+		}
 		html += '            <div class="itemName">'+item.goodsNm+'</div>\n';
 		html += '            <p class="itemPrice">\n';
 		html += item.currPrice.addComma() +'원';
@@ -165,9 +168,7 @@ let fnGetSocialList = function(result) {
 			html += '                                 <span class=" itemPercent">'+item.dcRate.addComma()+'%</span>\n';
 		}
 		html += '            </p>\n';
-		if(item.goodsTnm != null){
-			html += '           <div class="itemComment">'+item.goodsTnm+'</div>\n';
-		}
+		
 		html += '        </a>\n';
 		if (item.goodsType == 'G056_N') {
 			html += '        	 <div class="shopBagBtn">\n';

+ 15 - 2
src/main/webapp/biz/mypage.js

@@ -357,8 +357,16 @@ var fnChangeDeliveryMemo = function(param) {
 
 // 신용카드 전표 및 현금영수증 버튼 클릭 이벤트
 var fnReceipt = function(param) {
-	let receiptWin = kcpReceiptUrl;
+	let receiptWin = '';
 	let option = '';
+
+	// APP일때 추가
+	if (_isApp != null && _isApp == 'true') {
+		receiptWin = 'public://?link=';
+	}
+
+	receiptWin += kcpReceiptUrl;
+
 	if (param == 'card') {
 		let order_no = ordNo;
 		if (!gagajf.isNull(paymentInfo.ordChgSq)) {
@@ -408,7 +416,12 @@ var fnReceipt = function(param) {
 	}
 
 	// 팝업 생성
-	window.open(receiptWin, "", option);
+	// APP일때 추가
+	if (_isApp != null && _isApp == 'true') {
+		location.href = receiptWin;
+	} else {
+		window.open(receiptWin, "", option);
+	}
 }
 
 // 문자열 길이를 체크