ソースを参照

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

card007 5 年 前
コミット
7d6e9191f7

+ 3 - 1
src/main/java/com/style24/front/biz/web/TsfMypageController.java

@@ -4,6 +4,8 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
+import javax.servlet.http.HttpServletRequest;
+
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.mobile.device.Device;
@@ -144,7 +146,7 @@ public class TsfMypageController extends TsfBaseController {
 	 * @since 2021. 02. 04
 	 */
 	@GetMapping({"/main/form", "/order/list/form"})
-	public ModelAndView mypageOrderListForm(@RequestBody(required = false) Order order) {
+	public ModelAndView mypageOrderListForm(HttpServletRequest request, @RequestBody(required = false) Order order) {
 		ModelAndView mav = new ModelAndView();
 
 		if (order == null) {

+ 69 - 38
src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderDetailFormMob.html

@@ -16,7 +16,7 @@
 <body>
 
 <th:block layout:fragment="content">
-<main role="" id="" class="container my">
+<main role="" id="mypageOrderDetailForm" class="container my">
 	<section class="content my_order">
 		<div class="inner wide bg_beige">
 			<div class="order_number">
@@ -509,13 +509,13 @@
 											<dt><span class="sr-only">휴대폰 번호</span></dt>
 											<dd th:text="${deliveryAddrInfo.recipPhnno}" id="recipPhnno"></dd>
 										</div>
-										<!--  배송메모정보변경가능 -->
+										<!--  배송메모정보변경가능
 										<th:block th:if="${allCanYn == 'Y'}">
 											<div class="ship_request ship_select">
 												<span>배송요청 사항</span>
 												<div class="ship_option">
 													<div class="form_field">
-														<div class="select_custom delivery_list"> <!-- 비활성화시 disabled 추가 -->
+														<div class="select_custom delivery_list">
 															<div class="combo">
 																<div class="select" th:text="${deliveryAddrInfo.delvMemo}">선택</div>
 																<ul class="list">
@@ -538,7 +538,7 @@
 											</div>
 										</th:block>
 										<!--  //배송메모정보변경가능 -->
-										<!--  배송메모정보변경불가 -->
+										<!--  배송메모정보변경불가 
 										<th:block th:unless="${allCanYn == 'Y'}">
 											<div class="ship_request">
 												<dt>배송요청 사항</dt>
@@ -546,6 +546,10 @@
 											</div>
 										</th:block>
 										<!--  //배송메모정보변경불가 -->
+										<div class="ship_request">
+											<dt>배송요청 사항</dt>
+											<dd th:text="${deliveryAddrInfo.delvMemo}" id="delvMemo"></dd>
+										</div>
 									</dl>
 								</div>
 							</div>
@@ -696,7 +700,7 @@
 	let deliveryAddrInfo 	= [[${deliveryAddrInfo}]];
 	let kcpReceiptUrl 		= [[${@environment.getProperty('pg.kcp.receipt.url')}]];
 	let jsonObj 			= {};
-	let delvMemo			= [[${deliveryAddrInfo.delvMemo}]];
+	//let delvMemo			= [[${deliveryAddrInfo.delvMemo}]];
 
 	$(document).ready(function() {
 		// 마이페이지 LNB 설정
@@ -711,6 +715,7 @@
 		}
 		
 		// 2021.04.22 배송지정보수정
+		/*
 		var delvMemoArr = ["문 앞", "직접 받고 부재 시 문 앞", "경비실", "택배함"];
 		var tempMemo = true;
 		
@@ -748,6 +753,49 @@
 				$(".ship_etc").hide();
 			}
 		});
+		*/
+	});
+	
+	// 2.1 회원 배송지변경 팝업열기
+	$('#btn_adrsChange_pop').on("click", function(){
+		// 회원인경우
+		if (isLogin == true) {
+			$.ajax( {
+				type		: "POST",
+				url 		: '/common/delvAddrChangePop',
+				data		: JSON.stringify(jsonObj),
+				dataType 	: 'html',
+				beforeSend : function(xhr, settings) {
+					xhr.setRequestHeader("AJAX"			, "true");
+					xhr.setRequestHeader('Accept'		, 'application/json');
+					xhr.setRequestHeader('Content-Type'	, 'application/json');
+					gagajf.showProgressbar(true);
+				},
+				success 	: function(result) {
+					$("#adrsChangePop .modal-dialog .modal-content").html(result);
+					$("#adrsChangePop").modal("show");
+				}
+			});
+		}
+		// 비회원인경우
+		else {
+			$.ajax( {
+				type		: "POST",
+				url 		: '/common/delvAddrAddPop',
+				data		: JSON.stringify(jsonObj),
+				dataType 	: 'html',
+				beforeSend : function(xhr, settings) {
+					xhr.setRequestHeader("AJAX"			, "true");
+					xhr.setRequestHeader('Accept'		, 'application/json');
+					xhr.setRequestHeader('Content-Type'	, 'application/json');
+					gagajf.showProgressbar(true);
+				},
+				success 	: function(result) {
+					$("#adrsAddPop .modal-dialog .modal-content").html(result);
+					$("#adrsAddPop").modal("show");
+				}
+			});	
+		}
 	});
 	
 	// 전체취소 버튼 클릭 이벤트
@@ -827,51 +875,34 @@
 
 	// 배송지 정보 설정
 	var delvAddrSet = function(delvObj) {
-		let delvAddrSq = deliveryAddrInfo.delvAddrSq;
-		let recipNm = delvObj.recipNm;
-		let recipPhnno = delvObj.recipPhnno;
-		let recipZipcode = delvObj.recipZipcode;
-		let recipBaseAddr = delvObj.recipBaseAddr;
-		let recipDtlAddr = delvObj.recipDtlAddr;
-		let delvMemo = delvObj.delvMemo;
+		let delvAddrSq 		= deliveryAddrInfo.delvAddrSq;
+		let recipNm 		= delvObj.recipNm;
+		let recipPhnno 		= delvObj.recipPhnno;
+		let recipZipcode 	= delvObj.recipZipcode;
+		let recipBaseAddr 	= delvObj.recipBaseAddr;
+		let recipDtlAddr 	= delvObj.recipDtlAddr;
+		let delvMemo 		= delvObj.delvMemo;
 		
 		$('#recipNm').text(recipNm);
 		$('#recipPhnno').text(recipPhnno);
 		$('#recipAddr').text(recipBaseAddr + ' ' + recipDtlAddr);
 		$('#delvMemo').text(delvMemo);
+		$('#mypageOrderDetailForm .recipNm').text(recipNm);
 		
 		let url = '/mypage/change/delvery/addr';
 		let data = {};
-		data.delvAddrSq = delvAddrSq;
-		data.recipNm = recipNm;
-		data.recipPhnno = recipPhnno;
-		data.recipZipcode = recipZipcode;
-		data.recipBaseAddr = recipBaseAddr;
-		data.recipDtlAddr = recipDtlAddr;
-		data.delvMemo = delvMemo;
+		data.delvAddrSq 	= delvAddrSq;
+		data.recipNm 		= recipNm;
+		data.recipPhnno 	= recipPhnno;
+		data.recipZipcode 	= recipZipcode;
+		data.recipBaseAddr 	= recipBaseAddr;
+		data.recipDtlAddr 	= recipDtlAddr;
+		data.delvMemo 		= delvMemo;
 		
 		let jsonData = JSON.stringify(data);
-		
-		gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
+			gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
 		})
 	}
-	
-	// 배송메모 설정
-	var delvMemoSet = function(delvMemoObj) {
-		let url = '/mypage/change/delvery/memo';
-		let delvMemo = delvMemoObj.delvMemo;
-
-		let data = {};
-		data.delvMemo = delvMemo;
-		data.delvAddrSq = oneData.delvAddrSq;
-
-		let jsonData = JSON.stringify(data);
-
-		gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
-		})
-
-		$("#delvMemo").text(delvMemo);
-	}
 
 	// 환불계좌 등록 콜백 처리
 	var fnRegisterAccountCallback = function(result) {

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

@@ -55,14 +55,65 @@
 
 <main role="" id="" class="container my">
 	<section class="content my_order">
+		<!-- only 마이페이지메인 -->
+		<div class="inner bg_gray">
+			<div class="mem_info clear">
+				<div class="mem_rank">
+					<div class="rank_icon vip">V</div>
+					<div class="mem_name"><strong th:text="${customerInfo.custNm}"></strong>님</div>
+					<a href="javascript:void(0);" class="rank_txt" th:text="${customerInfo.custGradeNm}" onclick="fnGoToCustomerBenefit();"></a> <!-- 210408_a태그 변경 | 회원등급혜택 페이지 링크 이동-->
+					<button type="button" id="btn_coupon_down" class="btn cou_btn" onclick="fnDownloadCoupon();">등급 쿠폰 다운로드</button> <!-- 210409_추가 : btn_coupon_down id 추가 -->
+				</div>
+				<div class="mem_box">
+					<div class="mem_point">
+						<p class="tit">STYLE포인트</p>
+						<em th:text="${#numbers.formatInteger(rmPntAmt, 1, 'COMMA')}"></em>P
+					</div>
+					<div class="mem_gift">
+						<p class="tit">상품권</p>
+						<span>
+							<em th:text="${#numbers.formatInteger(rmGfcdAmt, 1, 'COMMA')}"></em>원
+						</span>
+					</div>
+					<div class="mem_coupon">
+						<p class="tit">쿠폰</p>
+						<span>
+							<em id="couponCnt" th:text="${couponCnt}"></em>장
+						</span>
+					</div>
+				</div>
+			</div>
+		</div>
+		<div class="inner">
+			<div class="order_info clear">
+				<ul class="clear">
+					<li>
+						<div class="count"><span id="shippingCount" th:text="${orderCount.shippingCount}"></span></div>
+						<div class="or_p">배송 중</div>
+					</li>
+					<li>
+						<div class="count"><span id="shipCompleteCount" th:text="${orderCount.shipCompleteCount}"></span></div>
+						<div class="or_p">배송 완료</div>
+					</li>
+					<li>
+						<div class="count"><span id="orderCreCount" th:text="${orderCount.cancelCount + orderCount.returnCount + orderCount.exchangeCount + orderCount.confirmCount}">7</span></div>
+						<div class="or_p">취소/교환/반품</div>
+					</li>
+				</ul>
+			</div>
+		</div>
+		<!-- //only 마이페이지메인 -->
+		
+		<!-- onlhy 주문목록 -->
 		<div class="inner">
 			<div class="order_sort">
 				<a href="javascript:void(0);" class="od_date_btn">최근 3개월</a>
 				<a href="javascript:void(0);" class="od_status_btn">전체</a>
 			</div>
 		</div>
+		<!-- onlhy 주문목록 -->
 		
-		<!-- 주문목록 -->
+		<!-- common 주문목록 -->
 		<div data-id="layer_infinite_item" >
 			<section id="infiniteContainer">
 				<div id="listBoxOuter">
@@ -71,6 +122,27 @@
 				</div>
 			</section>
  		</div>
+ 		<!-- common 주문목록 -->
+ 		
+ 		<!-- only 마이페이지메인 -->
+ 		<div class="inner wide">
+			<div class="lnb_list">
+				<ul>
+					<li><a href="javascript:void(0);" class="on">주문확인/배송조회</a></li>
+					<li><a href="javascript:void(0);">취소/반품/교환내역</a></li>
+					<li><a href="javascript:void(0);">재입고 알림 내역</a></li>
+					<li><a href="javascript:void(0);">쿠폰</a></li>
+					<li><a href="javascript:void(0);">STYLE 포인트</a></li>
+					<li><a href="javascript:void(0);">상품권</a></li>
+					<li><a href="javascript:void(0);">리뷰</a></li>
+					<li><a href="javascript:void(0);">배송지 관리</a></li>
+					<li><a href="javascript:void(0);">위시리스트</a></li>
+					<li><a href="javascript:void(0);">내정보 관리</a></li>
+					<li><a href="javascript:void(0);">회원 탈퇴</a></li>
+				</ul>
+			</div>
+		</div>
+		<!-- //only 마이페이지메인 -->
  		
 	</section>
 </main>

+ 107 - 45
src/main/webapp/WEB-INF/views/mob/order/OrderDcAmtInfoMob.html

@@ -57,13 +57,13 @@
 							</dt>
 							<dd>
 								<div class="sale_coupon_box">
-									<th:block th:if="${goodsApplyCpnList.size() > 0} or ${cartCpnList.size() > 0}">
-										<div>
-											<button type="button" id="btn_couponModify_pop" class="btn btn_default btn_sm">
-												<span>쿠폰변경</span>
-											</button>
-										</div>
-									</th:block>
+									<input type="hidden" name="custCpnCnt" th:value="${goodsApplyCpnList.size()} + ${cartCpnList.size()}">
+									<input type="hidden" name="custDelvCpnCnt" th:value="${delvCpnList.size()}">
+									<div>
+										<button type="button" id="btn_couponModify_pop" class="btn btn_default btn_sm">
+											<span>쿠폰변경</span>
+										</button>
+									</div>
 									<div class="form_field">
 										<div class="input_wrap">
 											<input type="text" class="form_control" id="serialCpnNm" maxlength="13" placeholder="할인코드를 입력해주세요.">
@@ -77,6 +77,7 @@
 						</div>
 						
 						<!-- 배송비쿠폰 -->
+						<!-- 배송비쿠폰이 존재 -->
 						<th:block th:if="${delvCpnList.size() > 0}">
 							<div>
 								<dt>배송비 쿠폰</dt>
@@ -95,55 +96,43 @@
 											</div>
 										</div>
 										<!-- 쿠폰 선택 전 -->
-										
-										<!-- 쿠폰 선택 적용 시 
-										<div class="form_field">
-											<div class="select_custom coupon_list">
-												<div class="combo">
-													<div class="select">
-														<div class="dlvr_coupon">
-															<p class="name">TBJ 배송비 무료쿠폰</p>
-															<p class="txt"><span>30,000</span>원 이상 구매시 최대 <span>3,000</span>원 할인</p>
-															<p class="discount"><span>15,000</span>원 할인</p>
-														</div>
-													</div>
-												</div>
+									</div>
+								</dd>
+							</div>
+						</th:block>
+						<!-- //배송비쿠폰이 존재 -->
+						<!-- 배송비쿠폰이 미존재 -->
+						<th:block th:if="${delvCpnList.size() < 1}">
+							<!-- 적용 쿠폰 없을 시 -->
+							<div class="form_field">
+								<div class="select_custom" disabled>
+									<div class="combo">
+										<div class="select">
+											<div class="dlvr_coupon">
+												<p class="empty">적용 가능한 쿠폰이 없습니다</p>
 											</div>
 										</div>
-										<!-- //쿠폰 선택 적용 시 -->
-										
-										<!-- 적용 쿠폰 없을 시
-										<div class="form_field">
-											<div class="select_custom" disabled>
-												<div class="combo">
-													<div class="select">
-														<div class="dlvr_coupon">
-															<p class="empty">적용 가능한 쿠폰이 없습니다</p>
-														</div>
-													</div>
-													
-													<ul class="list">
-														<li class="selected">
-															<div class="dlvr_coupon">
-																<p class="empty">적용 가능한 쿠폰이 없습니다</p>
-															</div>
-														</li>
-													</ul>
+										<ul class="list">
+											<li class="selected">
+												<div class="dlvr_coupon">
+													<p class="empty">적용 가능한 쿠폰이 없습니다</p>
 												</div>
-											</div>
-										</div>      
-										<!-- //적용 쿠폰 없을 시 -->
+											</li>
+										</ul>
 									</div>
-								</dd>
+								</div>
 							</div>
+							<!-- //적용 쿠폰 없을 시 -->
 						</th:block>
+						<!-- //배송비쿠폰이 미존재 -->
+						
 						<!-- //배송비쿠폰 -->
 						
 					</dl>
 				</div>
 				
 				<!-- 선포인트금액, 포인트금액, 상품권금액 0보다 클때 적용 -->
-				<th:block th:if="${prePntDcAmt} > 0 or ${rmPntAmt} > 0 or ${rmGfcdAmt} > 0">
+				<!-- <th:block th:if="${prePntDcAmt} > 0 or ${rmPntAmt} > 0 or ${rmGfcdAmt} > 0"> -->
 					<div class="area_selpoint">
 						<dl>
 							<!-- 선포인트금액 0보다 클때 적용 -->
@@ -167,6 +156,27 @@
 								</div>
 							</th:block>
 							<!-- //선포인트금액 0보다 클때 적용 -->
+							<!-- 선포인트금액 1보다 작을때 적용 -->
+							<th:block th:if="${prePntDcAmt} < 1">
+								<div>
+									<dt>선 포인트 사용</dt>
+									<dd>
+										<div class="form_field">
+											<input type="hidden" name="rmPrePntAmt" th:value="${prePntDcAmt}"/>
+											<div>
+												<input type="radio" name="rdi-beforpoint" id="rdi-beforpoint11" value="N"> 
+												<label for="rdi-beforpoint1"><span>사용 안함</span></label>
+											</div>
+											<div>
+												<input type="radio" name="rdi-beforpoint" id="rdi-beforpoint12" value="Y" checked>
+												<label for="rdi-beforpoint2"><span>사용함</span></label> 
+												<span class="useable_point">(<em th:text="|${#numbers.formatInteger(prePntDcAmt, 1, 'COMMA')}P|"></em>&nbsp;사용 가능)</span>
+											</div>
+										</div>
+									</dd>
+								</div>
+							</th:block>
+							<!-- //선포인트금액 1보다 작을때 적용 -->
 							
 							<!-- 포인트금액 0보다 클때 적용 -->
 							<th:block th:if="${rmPntAmt} > 0">
@@ -202,6 +212,40 @@
 								</div>
 							</th:block>
 							<!-- //포인트금액 0보다 클때 적용 -->
+							<!-- 포인트금액 1보다 작을때 적용 -->
+							<th:block th:if="${rmPntAmt} < 1">
+								<div>
+									<dt>STYLE24 포인트 <span>결제금액의 최대 40%까지 사용가능</span></dt>
+									<dd>
+										<div class="form_field">
+											<input type="hidden" name="rmPntAmt" th:value="${rmPntAmt}"/>
+											<!-- 스타일 포인트 3만원 이상 결제시 노출 -->
+											<th:block th:if="${orgGoodsSumAmt} >= 30000">
+												<div class="input_wrap">
+													<input type="text" name="pntDcAmtStr" class="form_control" maxlength="11" placeholder="사용할 포인트를 입력해주세요." disabled="" onkeyup="inputNumberFormat(this);">
+													<button type="button" class="btn btn_dark btn_sm" id="btn_point_apply">
+														<span>적용</span>
+													</button>
+												</div>
+											</th:block>
+											<!-- 스타일 포인트 3만원 이상 결제시 노출 -->
+											
+											<!-- 스타일 포인트 3만원 미만 결제시 노출 -->
+											<th:block th:if="${orgGoodsSumAmt} < 30000">
+												<div class="input_wrap">
+													<input type="text" class="form_control" maxlength="" placeholder="3만원 이상 결제시에만 포인트 사용이 가능합니다." disabled="" onfocus="this.blur();">
+													<button type="button" class="btn btn_dark btn_sm">
+														<span>적용</span>
+													</button>
+												</div>
+											</th:block>
+											<!-- //스타일 포인트 3만원 미만 결제시 노출 -->
+											<p><span>보유:&nbsp;<em class="rmPntAmt" th:text="${#numbers.formatInteger(rmPntAmt, 1, 'COMMA')}"></em>P</span></p>
+										</div>
+									</dd>
+								</div>
+							</th:block>
+							<!-- //포인트금액 1보다 작을때 적용 -->
 							
 							<!-- 상품권금액 0보다 클때 적용 -->
 							<th:block th:if="${rmGfcdAmt} > 0">
@@ -221,9 +265,27 @@
 								</div>
 							</th:block>
 							<!-- //상품권금액 0보다 클때 적용 -->
+							<!-- 상품권금액 1보다 작을때 적용 -->
+							<th:block th:if="${rmGfcdAmt} < 1">
+								<div>
+									<dt>상품권</dt>
+									<dd>
+										<div class="form_field">
+											<div class="input_wrap">
+												<input type="text" name="gfcdUseAmtStr" class="form_control" maxlength="11" placeholder="사용할 금액을 입력해주세요." onkeyup="inputNumberFormat(this);" disabled="">
+												<button type="button" class="btn btn_dark btn_sm" id="btn_gfcd_apply">
+													<span>적용</span>
+												</button>
+											</div>
+											<p><span class="remain_point">보유:&nbsp;<em th:text="${#numbers.formatInteger(rmGfcdAmt, 1, 'COMMA')}"></em>원</span></p>
+										</div>
+									</dd>
+								</div>
+							</th:block>
+							<!-- //상품권금액 1보다 작을때 적용 -->
 						</dl>
 					</div>
-				</th:block>
+				<!-- </th:block> -->
 				<!-- //선포인트금액, 포인트금액, 상품권금액 0보다 클때 적용 -->
 			</div>
 		</li>

+ 73 - 5
src/main/webapp/WEB-INF/views/mob/order/OrderFormMob.html

@@ -1204,6 +1204,13 @@ var dcAmtInfoSet = function() {
 						
 						// 상품쿠폰, 장바구니쿠폰 팝업 열기
 						$("#btn_couponModify_pop").on("click", function(){
+							// 2021.04.23 보유쿠폰이 없을때 적용
+							var custCpnCnt = parseInt($("#orderForm input[name=custCpnCnt]").val());
+							if (custCpnCnt < 1) {
+								mcxDialog.alert("적용 가능한 쿠폰이 없습니다.");
+								return false;
+							}
+							
 							$("#couponModifyPop").modal("show");
 							
 							// 쿠폰적용초기화(할인율최고)(상품,장바구니)
@@ -1246,7 +1253,18 @@ var dcAmtInfoSet = function() {
 						
 						// 1.8.5 쿠폰 최대할인금액 초기화 버튼 설정
 						$("#chk-maxdisc01").on("click", function(){
+							// 2021.04.23 보유쿠폰이 없을때 적용
+							var custCpnCnt 		= parseInt($("#orderForm input[name=custCpnCnt]").val());
+							var custDelvCpnCnt 	= parseInt($("#orderForm input[name=custDelvCpnCnt]").val());
+							if ((custCpnCnt + custDelvCpnCnt) < 1) {
+								mcxDialog.alert("적용 가능한 쿠폰이 없습니다.");
+								return false;
+							}
+							
 							if ($(this).is(":checked")) {
+								// 2021.04.23 
+								mcxDialog.alert("선택한 쿠폰이 아닌 보유한 쿠폰을 통해 최대할인 혜택을 받을 수 있도록 쿠폰이 자동 적용됩니다.");
+								
 								// 상품&장바구니쿠폰 초기환
 								custGoodsCpnInit();
 								
@@ -1261,7 +1279,18 @@ var dcAmtInfoSet = function() {
 						
 						// 1.8.5 쿠폰 최대할인금액 초기화 버튼 설정
 						$("#chk-maxdisc").on("click", function(){
+							// 2021.04.23 보유쿠폰이 없을때 적용
+							var custCpnCnt 		= parseInt($("#orderForm input[name=custCpnCnt]").val());
+							var custDelvCpnCnt 	= parseInt($("#orderForm input[name=custDelvCpnCnt]").val());
+							if ((custCpnCnt + custDelvCpnCnt) < 1) {
+								mcxDialog.alert("적용 가능한 쿠폰이 없습니다.");
+								return false;
+							}
+							
 							if ($(this).is(":checked")) {
+								// 2021.04.23 
+								mcxDialog.alert("선택한 쿠폰이 아닌 보유한 쿠폰을 통해 최대할인 혜택을 받을 수 있도록 쿠폰이 자동 적용됩니다.");
+								
 								// 상품&장바구니쿠폰 초기환
 								custGoodsCpnInit();
 								
@@ -1313,14 +1342,30 @@ var dcAmtInfoSet = function() {
 					rmPntAmt				= rmPntAmt - freegiftUsePnt;
 					
 					if (gagajf.isNull($("#orderForm input[name=pntDcAmtStr]").val())) {
-						mcxDialog.alert("사용할 포인트를 입력해주세요.");
+						mcxDialog.alert("포인트를 입력하신 후 다시 시도해주세요.");
 						$('#orderForm input[name=pntDcAmtStr]').focus();
 						return false;
 					}
 					
 					// 입력여부체크
 					if (pntDcAmt < 1) {
-						mcxDialog.alert("사용할 포인트를 입력해주세요");
+						mcxDialog.alert("포인트를 입력하신 후 다시 시도해주세요.");
+						// 포인트리셋기능
+						pntDcAmtReset();
+						return false;
+					}
+					
+					// 10원단위부터 입력가능
+					if (pntDcAmt % 10 > 0) {
+						mcxDialog.alert("포인트는 10P단위로 사용이 가능합니다.");
+						// 포인트리셋기능
+						pntDcAmtReset();
+						return false;
+					}
+					
+					// 결제금액을 초과 할 수 없습니다.
+					if (pntDcamt > realOrdAmt) {
+						mcxDialog.alert("포인트를 입력하신 후 다시 시도해주세요.");
 						// 포인트리셋기능
 						pntDcAmtReset();
 						return false;
@@ -1328,7 +1373,7 @@ var dcAmtInfoSet = function() {
 					
 					// 보유포인트보다 초과 사용 불가
 					if (pntDcAmt > rmPntAmt) {
-						mcxDialog.alert("보유포인트 보다 초과 사용 할 수 없습니다.");
+						mcxDialog.alert("입력하신 포인트가 보유한 포인트보다 많습니다.");
 						// 포인트리셋기능
 						pntDcAmtReset();
 						return false;
@@ -1350,6 +1395,9 @@ var dcAmtInfoSet = function() {
 						return false;
 					}
 					
+					// 2021.04.23 추가
+					mcxDialog.alert("총 " + getZeroMinusDelAmt(pntDcAmt) + " P를 차감 결제 합니다.”");
+					
 					// 포인트 적용
 					$("#orderAmtForm .pntDcSumAmt").text(pntDcAmt);
 					$("#pntDcAmt").text(getZeroMinusDelAmt(pntDcAmt));
@@ -1362,16 +1410,33 @@ var dcAmtInfoSet = function() {
 				$("#btn_gfcd_apply").on("click", function(){
 					var rmGfcdAmt 		= parseInt($("#orderForm input[name='rmGfcdAmt']").val());
 					var gfcdUseAmt 		= parseInt(uncomma($("#orderForm input[name='gfcdUseAmtStr']").val()));
+					var realOrdAmt 		= parseInt($("#orderAmtForm .realOrdSumAmt").text());
 					
 					if (gagajf.isNull($("#orderForm input[name=gfcdUseAmtStr]").val())) {
-						mcxDialog.alert("사용할 금액을 입력해주세요.");
+						mcxDialog.alert("금액을 입력하신 후 다시 시도해주세요.");
 						$('#orderForm input[name=gfcdUseAmtStr]').focus();
 						return false;
 					}
 					
 					// 입력여부체크
 					if (gfcdUseAmt < 1 || $("#orderForm input[name='gfcdUseAmtStr']").val() == "") {
-						mcxDialog.alert("사용할 금액을 입력해주세요");
+						mcxDialog.alert("금액을 입력하신 후 다시 시도해주세요.");
+						// 상품권리셋기능
+						gfcdUseAmtReset();
+						return false;
+					}
+					
+					// 결제금액을 초과 할 수 없습니다.
+					if (gfcdUseAmt > realOrdAmt) {
+						mcxDialog.alert("입력하신 금액이 결제할 금액보다 많습니다.");
+						// 포인트리셋기능
+						gfcdUseAmtReset();
+						return false;
+					}
+					
+					// 보유금액보다 초과 사용 불가
+					if (gfcdUseAmt > rmGfcdAmt) {
+						mcxDialog.alert("보유금액 보다 초과 사용 할 수 없습니다.");
 						// 상품권리셋기능
 						gfcdUseAmtReset();
 						return false;
@@ -1394,6 +1459,9 @@ var dcAmtInfoSet = function() {
 						return false;
 					}
 					
+					// 2021.04.23 추가
+					mcxDialog.alert("총 " + gfcdUseAmt.addComma() + " 원를 상품권 금액에서 차감 결제 합니다.”");
+					
 					// 상품권 적용
 					$("#orderAmtForm .gfcdUseSumAmt").text(gfcdUseAmt);
 					$("#gfcdUseAmt").text(getZeroMinusDelAmt(gfcdUseAmt));

+ 14 - 14
src/main/webapp/WEB-INF/views/mob/popup/DelvAddrChangePopMob.html

@@ -46,12 +46,12 @@
 									<div><button type="button" class="btn btn_dark btn_sel_delvAddr" th:value="${deliveryAddr.custDelvAddrSq}"><span>선택</span></button></div>
 								</div>
 								
-								<input type="hidden" name="recipNm" 			th:value="${deliveryAddr.recipNm}"/>
-								<input type="hidden" name="recipPhnno" 			th:value="${deliveryAddr.recipPhnno}"/>
-								<input type="hidden" name="recipZipcode" 		th:value="${deliveryAddr.recipZipcode}"/>
-								<input type="hidden" name="recipBaseAddr" 		th:value="${deliveryAddr.recipBaseAddr}"/>
-								<input type="hidden" name="recipDtlAddr" 		th:value="${deliveryAddr.recipDtlAddr}"/>
-								<input type="hidden" name="delvMemo" 			th:value="${deliveryAddr.delvMemo}"/>
+								<input type="hidden" name="recipNm" 		th:value="${deliveryAddr.recipNm}"/>
+								<input type="hidden" name="recipPhnno" 		th:value="${deliveryAddr.recipPhnno}"/>
+								<input type="hidden" name="recipZipcode" 	th:value="${deliveryAddr.recipZipcode}"/>
+								<input type="hidden" name="recipBaseAddr" 	th:value="${deliveryAddr.recipBaseAddr}"/>
+								<input type="hidden" name="recipDtlAddr" 	th:value="${deliveryAddr.recipDtlAddr}"/>
+								<input type="hidden" name="delvMemo" 		th:value="${deliveryAddr.delvMemo}"/>
 							</div>
 						</th:block>
 					</div>
@@ -96,18 +96,18 @@ $(document).ready( function() {
 
 // 2. 버튼기능구현
 // 2.1 배송지선택버튼
-$(".btn_sel_delvAddr").on("click", function(){
+$("#delvAddrChangeForm .btn_sel_delvAddr").on("click", function(){
 	
 	// custDelvAddrSq 부모창으로 전달
 	var delvObj = {
 		"custDelvAddrSq"	: $(this).attr("value")
 		, "dispYn"			: "Y"
-		, "recipNm"			: $(this).parent().find("input[name=recipNm]").val()
-		, "recipPhnno"		: $(this).parent().find("input[name=recipPhnno]").val()
-		, "recipZipcode"	: $(this).parent().find("input[name=recipZipcode]").val()
-		, "recipBaseAddr"	: $(this).parent().find("input[name=recipBaseAddr]").val()
-		, "recipDtlAddr"	: $(this).parent().find("input[name=recipDtlAddr]").val()
-		, "delvMemo"		: $(this).parent().find("input[name=delvMemo]").val()
+		, "recipNm"			: $(this).parent().parent().parent().find("input[name=recipNm]").val()
+		, "recipPhnno"		: $(this).parent().parent().parent().find("input[name=recipPhnno]").val()
+		, "recipZipcode"	: $(this).parent().parent().parent().find("input[name=recipZipcode]").val()
+		, "recipBaseAddr"	: $(this).parent().parent().parent().find("input[name=recipBaseAddr]").val()
+		, "recipDtlAddr"	: $(this).parent().parent().parent().find("input[name=recipDtlAddr]").val()
+		, "delvMemo"		: $(this).parent().parent().parent().find("input[name=delvMemo]").val()
 	}
 	
 	// 부모장으로 값 전닫
@@ -118,7 +118,7 @@ $(".btn_sel_delvAddr").on("click", function(){
 });
 
 // 2.2 배송지수정버튼
-$(".btn_addrModify_pop").on("click", function(){
+$("#delvAddrChangeForm .btn_addrModify_pop").on("click", function(){
 		
 	var obj = {
 		"custDelvAddrSq" : $(this).attr("value")

+ 0 - 0
src/main/webapp/WEB-INF/views/web/mypage/MypageOrderListWeb.html → src/main/webapp/WEB-INF/views/web/mypage/MypageOrderListWeb_back.html


+ 119 - 8
src/main/webapp/WEB-INF/views/web/order/OrderDcAmtInfoWeb.html

@@ -42,11 +42,12 @@
 					<div class="sale_coupon_box">
 						<div>
 							<span class="maxdisc_amount">총&nbsp;<em class="goodsCartCpnDcAmt"></em>원 할인</span>
-							<th:block th:if="${goodsApplyCpnList.size() > 0} or ${cartCpnList.size() > 0}">
-								<button type="button" id="btn_couponModify_pop" class="btn btn_default btn_sm">
-									<span>쿠폰변경</span>
-								</button>
-							</th:block>
+							<input type="hidden" name="custCpnCnt" th:value="${goodsApplyCpnList.size()} + ${cartCpnList.size()}">
+							<input type="hidden" name="custDelvCpnCnt" th:value="${delvCpnList.size()}">
+							
+							<button type="button" id="btn_couponModify_pop" class="btn btn_default btn_sm">
+								<span>쿠폰변경</span>
+							</button>
 						</div>
 						<div class="form_field">
 							<div class="input_wrap">
@@ -61,6 +62,7 @@
 			</div>
 			
 			<!-- 배송비쿠폰 -->
+			<!-- 배송비쿠폰이 존재 -->
 			<th:block th:if="${delvCpnList.size() > 0}">
 				<div>
 					<dt>배송비 쿠폰</dt>
@@ -99,12 +101,43 @@
 					</dd>
 				</div>
 			</th:block>
+			<!-- //배송비쿠폰이 존재 -->
+			<!-- 배송비쿠폰이 미존재 -->
+			<th:block th:if="${delvCpnList.size() < 1}">
+				<div>
+					<dt>배송비 쿠폰</dt>
+					<dd>
+						<div class="dlvr_fee_box">
+							<div class="form_field">
+								<div class="select_custom" disabled="">
+									<div class="combo">
+										<div class="select">
+											<div class="dlvr_coupon">
+												<p class="empty">적용 가능한 쿠폰이 없습니다</p>
+											</div>
+										</div>
+										<ul class="list">
+										<!-- 선택처리 class="selected" / 선택불가 aria-disabled="true"추가  -->
+											<li class="selected">
+												<div class="dlvr_coupon">
+													<p class="empty">적용 가능한 쿠폰이 없습니다</p>
+												</div>
+											</li>
+										</ul>
+									</div>
+								</div>
+							</div>
+						</div>
+					</dd>
+				</div>
+			</th:block>
+			<!-- //배송비쿠폰이 미존재 -->
 			<!-- //배송비쿠폰 -->
 		</dl>
 	</div>
 	
 	<!-- 선포인트금액, 포인트금액, 상품권금액 0보다 클때 적용 -->
-	<th:block th:if="${prePntDcAmt} > 0 or ${rmPntAmt} > 0 or ${rmGfcdAmt} > 0">
+	<!-- <th:block th:if="${prePntDcAmt} > 0 or ${rmPntAmt} > 0 or ${rmGfcdAmt} > 0"> -->
 		<div class="area_selpoint">
 			<dl>
 				<!-- 선포인트금액 0보다 클때 적용 -->
@@ -128,7 +161,28 @@
 					</div>
 				</th:block>
 				<!-- //선포인트금액 0보다 클때 적용 -->
-				
+				<!-- 선포인트금액 1보다 작을때 적용 -->
+				<th:block th:if="${prePntDcAmt} < 1">
+					<div>
+						<dt>선 포인트 사용</dt>
+						<dd>
+							<div class="form_field">
+								<input type="hidden" name="rmPrePntAmt" th:value="${prePntDcAmt}"/>
+								<div>
+									<input type="radio" name="rdi-beforpoint" id="rdi-beforpoint11" value="N"> 
+									<label for="rdi-beforpoint1"><span>사용 안함</span></label>
+								</div>
+								<div>
+									<input type="radio" name="rdi-beforpoint" id="rdi-beforpoint12" value="Y" checked> 
+									<label for="rdi-beforpoint2"><span>사용함</span></label> 
+									<span class="useable_point">(<em th:text="|${#numbers.formatInteger(prePntDcAmt, 1, 'COMMA')}원|"></em>&nbsp;사용 가능)</span>
+								</div>
+							</div>
+						</dd>
+					</div>
+				</th:block>
+				<!-- //선포인트금액 1보다 작을때 적용 -->
+
 				<!-- 포인트금액 0보다 클때 적용 -->
 				<th:block th:if="${rmPntAmt} > 0">
 					<div>
@@ -166,6 +220,43 @@
 				</th:block>
 				<!-- //포인트금액 0보다 클때 적용 -->
 				
+				<!-- 포인트금액 1보다 작을때 적용 -->
+				<th:block th:if="${rmPntAmt} < 1">
+					<div>
+						<dt>스타일 포인트</dt>
+						<dd>
+							<div class="form_field">
+								<input type="hidden" name="rmPntAmt" th:value="${rmPntAmt}"/>
+								<!-- 스타일 포인트 3만원 이상 결제시 노출 -->
+								<th:block th:if="${orgGoodsSumAmt} >= 30000">
+									<div class="input_wrap">
+										<input type="text" name="pntDcAmtStr" class="form_control" maxlength="11" placeholder="사용할 포인트를 입력해주세요." onkeyup="inputNumberFormat(this);" disabled="">
+										<button type="button" class="btn btn_dark btn_sm" id="btn_point_apply">
+											<span>적용</span>
+										</button>
+									</div>
+								</th:block>
+								<!-- 스타일 포인트 3만원 이상 결제시 노출 -->
+								
+								<!-- 스타일 포인트 3만원 미만 결제시 노출 -->
+								<th:block th:if="${orgGoodsSumAmt} < 30000">
+									<div class="input_wrap">
+										<input type="text" class="form_control" maxlength="" placeholder="3만원 이상 결제시에만 포인트 사용이 가능합니다." disabled="">
+									</div>
+								</th:block>
+								<!-- //스타일 포인트 3만원 미만 결제시 노출 -->
+								
+								<p>
+									<span class="remain_point">보유:&nbsp;
+										<em class="rmPntAmt" th:text="${#numbers.formatInteger(rmPntAmt, 1, 'COMMA')}"></em>P
+									</span>(결제금액의 최대 40%까지 사용가능)
+								</p>
+							</div>
+						</dd>
+					</div>
+				</th:block>
+				<!-- //포인트금액 1보다 작을때 적용 -->
+				
 				<!-- 상품권금액 0보다 클때 적용 -->
 				<th:block th:if="${rmGfcdAmt} > 0">
 					<div>
@@ -185,9 +276,29 @@
 					</div>
 				</th:block>
 				<!-- //상품권금액 0보다 클때 적용 -->
+				
+				<!-- 상품권금액 1보다 작을때 적용 -->
+				<th:block th:if="${rmGfcdAmt} < 1">
+					<div>
+						<dt>상품권</dt>
+						<dd>
+							<div class="form_field">
+								<input type="hidden" name="rmGfcdAmt" th:value="${rmGfcdAmt}"/>
+								<div class="input_wrap">
+									<input type="text" name="gfcdUseAmtStr" class="form_control" maxlength="11" placeholder="사용할 금액을 입력해주세요." onkeyup="inputNumberFormat(this);" disabled="">
+									<button type="button" class="btn btn_dark btn_sm" id="btn_gfcd_apply">
+										<span>적용</span>
+									</button>
+								</div>
+								<p><span class="remain_point">보유:&nbsp;<em th:text="${#numbers.formatInteger(rmGfcdAmt, 1, 'COMMA')}"></em>원</span></p>
+							</div>
+						</dd>
+					</div>
+				</th:block>
+				<!-- //상품권금액 1보다 작을때 적용 -->
 			</dl>
 		</div>
-	</th:block>
+	<!-- </th:block> -->
 </div> <!-- //할인/혜택 사용 -->
 
 <script th:inline="javascript">

+ 63 - 6
src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html

@@ -1228,7 +1228,18 @@ var dcAmtInfoSet = function() {
 						
 						// 1.8.5 쿠폰 최대할인금액 초기화 버튼 설정
 						$("#chk-maxdisc").on("click", function(){
+							// 2021.04.23 보유쿠폰이 없을때 적용
+							var custCpnCnt 		= parseInt($("#orderForm input[name=custCpnCnt]").val());
+							var custDelvCpnCnt 	= parseInt($("#orderForm input[name=custDelvCpnCnt]").val());
+							if ((custCpnCnt + custDelvCpnCnt) < 1) {
+								mcxDialog.alert("적용 가능한 쿠폰이 없습니다.");
+								return false;
+							}
+							
 							if ($(this).is(":checked")) {
+								// 2021.04.23 
+								mcxDialog.alert("선택한 쿠폰이 아닌 보유한 쿠폰을 통해 최대할인 혜택을 받을 수 있도록 쿠폰이 자동 적용됩니다.");
+								
 								// 상품&장바구니쿠폰 초기환
 								custGoodsCpnInit();
 								
@@ -1241,6 +1252,13 @@ var dcAmtInfoSet = function() {
 				
 				// 쿠폰변경팝업호출
 				$("#btn_couponModify_pop").on("click", function(){
+					// 2021.04.23 보유쿠폰이 없을때 적용
+					var custCpnCnt = parseInt($("#orderForm input[name=custCpnCnt]").val());
+					if (custCpnCnt < 1) {
+						mcxDialog.alert("적용 가능한 쿠폰이 없습니다.");
+						return false;
+					}
+					
 					// 쿠폰초기화
 					custGoodsCpnInit();
 					
@@ -1258,14 +1276,30 @@ var dcAmtInfoSet = function() {
 					rmPntAmt				= rmPntAmt - freegiftUsePnt;
 					
 					if (gagajf.isNull($("#orderForm input[name=pntDcAmtStr]").val())) {
-						mcxDialog.alert("사용할 포인트를 입력해주세요.");
+						mcxDialog.alert("포인트를 입력하신 후 다시 시도해주세요.");
 						$('#orderForm input[name=pntDcAmtStr]').focus();
 						return false;
 					}
 					
 					// 입력여부체크
 					if (pntDcAmt < 1) {
-						mcxDialog.alert("사용할 포인트를 입력해주세요");
+						mcxDialog.alert("포인트를 입력하신 후 다시 시도해주세요.");
+						// 포인트리셋기능
+						pntDcAmtReset();
+						return false;
+					}
+					
+					// 10원단위부터 입력가능
+					if (pntDcAmt % 10 > 0) {
+						mcxDialog.alert("포인트는 10P단위로 사용이 가능합니다.");
+						// 포인트리셋기능
+						pntDcAmtReset();
+						return false;
+					}
+					
+					// 결제금액을 초과 할 수 없습니다.
+					if (pntDcamt > realOrdAmt) {
+						mcxDialog.alert("포인트를 입력하신 후 다시 시도해주세요.");
 						// 포인트리셋기능
 						pntDcAmtReset();
 						return false;
@@ -1273,7 +1307,7 @@ var dcAmtInfoSet = function() {
 					
 					// 보유포인트보다 초과 사용 불가
 					if (pntDcAmt > rmPntAmt) {
-						mcxDialog.alert("보유포인트 보다 초과 사용 할 수 없습니다.");
+						mcxDialog.alert("입력하신 포인트가 보유한 포인트보다 많습니다.");
 						// 포인트리셋기능
 						pntDcAmtReset();
 						return false;
@@ -1295,6 +1329,9 @@ var dcAmtInfoSet = function() {
 						return false;
 					}
 					
+					// 2021.04.23 추가
+					mcxDialog.alert("총 " + getZeroMinusDelAmt(pntDcAmt) + " P를 차감 결제 합니다.”");
+					
 					// 포인트 적용
 					$("#orderAmtForm .pntDcSumAmt").text(pntDcAmt);
 					$("#pntDcAmt").text(getZeroMinusDelAmt(pntDcAmt)+" 원");
@@ -1307,16 +1344,33 @@ var dcAmtInfoSet = function() {
 				$("#btn_gfcd_apply").on("click", function(){
 					var rmGfcdAmt 		= parseInt($("#orderForm input[name='rmGfcdAmt']").val());
 					var gfcdUseAmt 		= parseInt(uncomma($("#orderForm input[name='gfcdUseAmtStr']").val()));
+					var realOrdAmt 		= parseInt($("#orderAmtForm .realOrdSumAmt").text());
 					
 					if (gagajf.isNull($("#orderForm input[name=gfcdUseAmtStr]").val())) {
-						mcxDialog.alert("사용할 금액을 입력해주세요.");
+						mcxDialog.alert("금액을 입력하신 후 다시 시도해주세요.");
 						$('#orderForm input[name=gfcdUseAmtStr]').focus();
 						return false;
 					}
 					
 					// 입력여부체크
 					if (gfcdUseAmt < 1 || $("#orderForm input[name='gfcdUseAmtStr']").val() == "") {
-						mcxDialog.alert("사용할 금액을 입력해주세요");
+						mcxDialog.alert("금액을 입력하신 후 다시 시도해주세요.");
+						// 상품권리셋기능
+						gfcdUseAmtReset();
+						return false;
+					}
+					
+					// 결제금액을 초과 할 수 없습니다.
+					if (gfcdUseAmt > realOrdAmt) {
+						mcxDialog.alert("입력하신 금액이 결제할 금액보다 많습니다.");
+						// 포인트리셋기능
+						gfcdUseAmtReset();
+						return false;
+					}
+					
+					// 보유금액보다 초과 사용 불가
+					if (gfcdUseAmt > rmGfcdAmt) {
+						mcxDialog.alert("보유금액 보다 초과 사용 할 수 없습니다.");
 						// 상품권리셋기능
 						gfcdUseAmtReset();
 						return false;
@@ -1339,9 +1393,12 @@ var dcAmtInfoSet = function() {
 						return false;
 					}
 					
+					// 2021.04.23 추가
+					mcxDialog.alert("총 " + gfcdUseAmt.addComma() + " 원를 상품권 금액에서 차감 결제 합니다.”");
+					
 					// 상품권 적용
 					$("#orderAmtForm .gfcdUseSumAmt").text(gfcdUseAmt);
-					$("#gfcdUseAmt").text("-"+gfcdUseAmt.addComma()+" 원");
+					$("#gfcdUseAmt").text(getZeroMinusDelAmt(gfcdUseAmt)+" 원");
 					
 					// 금액전체계산
 					custCpnSumAmtCal();

+ 9 - 2
src/main/webapp/WEB-INF/views/web/popup/DelvAddrChangePopWeb.html

@@ -41,6 +41,13 @@
 								</dl>
 								<button class="btn btn_default btn_sm btn_addrModify_pop" id="btn_adrsModify_pop" th:value="${deliveryAddr.custDelvAddrSq}"><span>수정</span></button>
 								<button class="btn btn_dark btn_sm btn_sel_delvAddr" id="" th:value="${deliveryAddr.custDelvAddrSq}"><span>선택</span></button>
+								
+								<input type="hidden" name="recipNm" 		th:value="${deliveryAddr.recipNm}"/>
+								<input type="hidden" name="recipPhnno" 		th:value="${deliveryAddr.recipPhnno}"/>
+								<input type="hidden" name="recipZipcode" 	th:value="${deliveryAddr.recipZipcode}"/>
+								<input type="hidden" name="recipBaseAddr" 	th:value="${deliveryAddr.recipBaseAddr}"/>
+								<input type="hidden" name="recipDtlAddr" 	th:value="${deliveryAddr.recipDtlAddr}"/>
+								<input type="hidden" name="delvMemo" 		th:value="${deliveryAddr.delvMemo}"/>
 							</div>
 						</li>
 					</th:block>
@@ -82,7 +89,7 @@ $(document).ready( function() {
 
 // 2. 버튼기능구현
 // 2.1 배송지선택버튼
-$(".btn_sel_delvAddr").on("click", function(){
+$("#delvAddrChangeForm .btn_sel_delvAddr").on("click", function(){
 	
 	// custDelvAddrSq 부모창으로 전달
 	var delvObj = {
@@ -104,7 +111,7 @@ $(".btn_sel_delvAddr").on("click", function(){
 });
 
 // 2.2 배송지수정버튼
-$(".btn_addrModify_pop").on("click", function(){
+$("#delvAddrChangeForm .btn_addrModify_pop").on("click", function(){
 		
 	var obj = {
 		"custDelvAddrSq" : $(this).attr("value")