Ver código fonte

Merge branch 'card007' into develop

card007 5 anos atrás
pai
commit
83393c98eb
21 arquivos alterados com 680 adições e 250 exclusões
  1. 45 1
      src/main/java/com/style24/front/biz/web/TsfMypageController.java
  2. 44 0
      src/main/java/com/style24/front/biz/web/TsfNoMemberController.java
  3. 54 19
      src/main/webapp/WEB-INF/views/mob/mypage/MypageCancelFormMob.html
  4. 2 2
      src/main/webapp/WEB-INF/views/mob/mypage/MypageCreExchangeDetailFormMob.html
  5. 9 9
      src/main/webapp/WEB-INF/views/mob/mypage/MypageCreListFormMob.html
  6. 111 45
      src/main/webapp/WEB-INF/views/mob/mypage/MypageDeliveryInfoFormMob.html
  7. 15 19
      src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderDetailFormMob.html
  8. 108 41
      src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderListFormMob.html
  9. 22 2
      src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderListInfoMob.html
  10. 70 31
      src/main/webapp/WEB-INF/views/mob/mypage/MypageReturnFormMob.html
  11. 1 0
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCancelFormMob.html
  12. 2 2
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCreExchangeDetailFormMob.html
  13. 10 3
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberOrderDetailFormMob.html
  14. 66 20
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberOrderListFormMob.html
  15. 16 1
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberOrderListInfoMob.html
  16. 72 33
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberReturnFormMob.html
  17. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageCreExchangeDetailFormWeb.html
  18. 0 15
      src/main/webapp/WEB-INF/views/web/mypage/MypageDeliveryInfoFormWeb.html
  19. 15 2
      src/main/webapp/WEB-INF/views/web/mypage/MypageOrderDetailFormWeb.html
  20. 16 2
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberOrderDetailFormWeb.html
  21. 1 2
      src/main/webapp/biz/mypage.js

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

@@ -1413,7 +1413,7 @@ public class TsfMypageController extends TsfBaseController {
 	 */
 	@PostMapping("/track/withdraw/popup/form")
 	@ResponseBody
-	public ModelAndView trackWithdrawPopupForm(OrderChange orderChange) {
+	public ModelAndView trackWithdrawPopupForm(@RequestBody OrderChange orderChange) {
 		ModelAndView mav = new ModelAndView();
 
 		// 스윗트래커 정보 조회
@@ -2397,6 +2397,50 @@ public class TsfMypageController extends TsfBaseController {
 
 		return result;
 	}
+
+	/**
+	 * 마이페이지 주문목록 사전 정보 조회 (모바일)
+	 * 
+	 * @param Order
+	 * @return ModelAndView
+	 * @author card007
+	 * @since 2021. 05. 27
+	 */
+	@ResponseBody
+	@PostMapping("/order/list/pre/info")
+	public GagaMap getOrderListPreInfo(@RequestBody Order order) {
+		GagaMap result = new GagaMap();
+
+		// 페이징 처리 설정
+		TscPageRequest pageable = new TscPageRequest((order.getPageNo() > 0 ? order.getPageNo() - 1 : 0), order.getPageSize(), order.getPageUnit());
+		pageable.setTotalCount(orderService.getPagingOrdNoListCount(order));
+		order.setPageable(pageable);
+
+		result.set("paging"		, pageable);
+		result.set("ordNoList"	, orderService.getPagingOrdNoList(order));
+
+		return result;
+	}
+
+	/**
+	 * 마이페이지 주문목록 조회 (모바일)
+	 *
+	 * @param Order
+	 * @return ModelAndView
+	 * @author card007
+	 * @since 2021. 05. 27
+	 */
+	@ResponseBody
+	@PostMapping("/order/list/info")
+	public ModelAndView getOrderListInfo3(@RequestBody Order order) {
+		// 주문목록조회
+		ModelAndView mav = new ModelAndView();
+
+		mav.addObject("orderList", orderService.getOrderListForMypage(order));
+		mav.setViewName(super.getDeviceViewName("mypage/MypageOrderListInfo"));
+
+		return mav;
+	}
 	
 	/**
 	 * 마이페이지 취반교 목록 조회

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

@@ -1306,6 +1306,50 @@ public class TsfNoMemberController extends TsfBaseController {
 		return mav;
 	}
 
+	/**
+	 * 마이페이지 주문목록 사전 정보 조회 (모바일)
+	 *
+	 * @param Order
+	 * @return ModelAndView
+	 * @author card007
+	 * @since 2021. 05. 27
+	 */
+	@ResponseBody
+	@PostMapping("/order/list/pre/info")
+	public GagaMap getOrderListPreInfo(@RequestBody Order order) {
+		GagaMap result = new GagaMap();
+
+		// 페이징 처리 설정
+		TscPageRequest pageable = new TscPageRequest((order.getPageNo() > 0 ? order.getPageNo() - 1 : 0), order.getPageSize(), order.getPageUnit());
+		pageable.setTotalCount(orderService.getPagingOrdNoListCount(order));
+		order.setPageable(pageable);
+
+		result.set("paging"		, pageable);
+		result.set("ordNoList"	, orderService.getPagingOrdNoList(order));
+
+		return result;
+	}
+
+	/**
+	 * 마이페이지 주문목록 조회 (모바일)
+	 *
+	 * @param Order
+	 * @return ModelAndView
+	 * @author card007
+	 * @since 2021. 05. 27
+	 */
+	@ResponseBody
+	@PostMapping("/order/list/info")
+	public ModelAndView getOrderListInfo3(@RequestBody Order order) {
+		// 주문목록조회
+		ModelAndView mav = new ModelAndView();
+
+		mav.addObject("orderList", orderService.getOrderListForMypage(order));
+		mav.setViewName(super.getDeviceViewName("mypage/NoMemberOrderListInfo"));
+
+		return mav;
+	}
+
 	/**
 	 * 마이페이지 취반교 목록 조회
 	 *

+ 54 - 19
src/main/webapp/WEB-INF/views/mob/mypage/MypageCancelFormMob.html

@@ -224,6 +224,9 @@
 
 <!-- 210408_ 추가 : 환불 계좌 등록 팝업 -->
 <div id="refundAccountPop" class="popup_box refundAccountPop">
+	<input type="hidden" name="confirmedAccountNo"/>
+	<input type="hidden" name="confirmedAccountNm"/>
+	<input type="hidden" name="confirmedBankCd"/>
 	<div class="lap">
 		<div class="popup_close">카테고리닫기</div>
 		<div class="popup_head sr-only">
@@ -265,7 +268,7 @@
 								<th>계좌번호</th>
 								<td>
 									<div class="input_wrap certi_wrap">
-										<input type="tel" class="form_control" value="" placeholder="">
+										<input type="tel" name="accountNo" class="form_control" value="" placeholder="">
 										<button type="button" id="btn_bank_certi" class="btn btn_dark"><span>계좌인증</span></button>
 									</div>
 								</td>
@@ -297,7 +300,7 @@
 		<div class="popup_con">
 			<div class="button_list clear">
 				<th:block th:if="${bankList}" th:each="oneData, status : ${bankList}">
-					<button type="button" th:id="|bankCd_${oneData.cd}|"><span th:text="${oneData.cdNm}"></span></button>
+					<button type="button" th:id="|bankCd_${oneData.cd}|" th:attr="bankCd=${oneData.cd}, bankNm=${oneData.cdNm}"><span th:text="${oneData.cdNm}"></span></button>
 				</th:block>
 			</div>
 		</div>
@@ -493,17 +496,28 @@ $('#btn_bank_certi').on('click', function () {
 		return false;
 	}
 	
+	// 승인된 계좌 정보
+	let confirmedAccountNm 	= $('#refundAccountPop input[name=confirmedAccountNm]').val();
+	let confirmedAccountNo 	= $('#refundAccountPop input[name=confirmedAccountNo]').val();
+	let confirmedBankCd 	= $('#refundAccountPop input[name=confirmedBankCd]').val();
+	
+	// 계좌정보
+	let accountNm 			= $('#refundAccountPop input[name=accountNm]').val();
+	let accountNo 			= $('#refundAccountPop input[name=accountNo]').val();
+	let bankCd 				= $('#refundAccountPop input[name=bankCd]').val();
+	
+	if (accountNm != confirmedAccountNm || accountNo != confirmedAccountNo || bankCd != confirmedBankCd) {
+		isValid = false;
+	}
+	
 	if (!isValid) {
 		let url 		= '/mypage/account/check';
-		let accountNm 	= $('#refundAccountPop input[name=accountNm]').val();
-		let accountNo 	= $('#refundAccountPop input[name=accountNo]').val();
-		let bankCd 		= $('#refundAccountPop input[name=bankCd]').val();
 		
 		let data = {};
 		data.accountNm 	= accountNm;
 		data.accountNo 	= accountNo;
 		data.bankCd 	= bankCd;
-		data.ordNo 		= ordNo;
+		data.ordNo 		= oneData.ordNo;
 		
 		let jsonData = JSON.stringify(data);
 		
@@ -513,8 +527,13 @@ $('#btn_bank_certi').on('click', function () {
 			if (isValid) {
 				mcxDialog.alert('계좌인증에 성공했습니다.');
 				// 계좌인증 성공 시 Disabled 처리
-				$('#refundAccountPop .select_custom.select_bank').attr('disabled', true);
-				$('#refundAccountPop input[name=accountNo]').attr('disabled', true);
+				//$('#refundAccountPop .select_custom.select_bank').attr('disabled', true);
+				//$('#refundAccountPop input[name=accountNo]').attr('disabled', true);
+				
+				$('#refundAccountPop input[name=confirmedAccountNm]').val(accountNm);
+				$('#refundAccountPop input[name=confirmedAccountNo]').val(accountNo);
+				$('#refundAccountPop input[name=confirmedBankCd]').val(bankCd);
+				
 				return false;
 			} else {
 				mcxDialog.alert('계좌정보를 다시 확인해주세요.');
@@ -527,20 +546,30 @@ $('#btn_bank_certi').on('click', function () {
 //계좌등록 후 환불신청 버튼 클릭 이벤트
 $('#btn_bank_return').click(function() {
 	if (isValid) {
+		// 승인된 계좌 정보
+		let confirmedAccountNm 	= $('#refundAccountPop input[name=confirmedAccountNm]').val();
+		let confirmedAccountNo 	= $('#refundAccountPop input[name=confirmedAccountNo]').val();
+		let confirmedBankCd 	= $('#refundAccountPop input[name=confirmedBankCd]').val();
+		
+		// 계좌정보
 		let accountNm 	= $('#refundAccountPop input[name=accountNm]').val();
 		let accountNo 	= $('#refundAccountPop input[name=accountNo]').val();
 		let bankCd 		= $('#refundAccountPop input[name=bankCd]').val();
 		
-		// 부모창의 input 값으로 환불계좌정보 설정
-		$('#returnForm input[name=accountNo]').val(accountNo);
-		$('#returnForm input[name=accountNm]').val(accountNm);
-		$('#returnForm input[name=bankCd]').val(bankCd);
-
-		// 팝업 닫기
-		$(".close-modal").trigger("click");
-		
-		// 취소신청
-		fnCancel();
+		if (accountNm == confirmedAccountNm && accountNo == confirmedAccountNo && bankCd == confirmedBankCd) {
+			// 부모창의 input 값으로 환불계좌정보 설정
+			$('#cancelForm input[name=accountNo]').val(accountNo);
+			$('#cancelForm input[name=accountNm]').val(accountNm);
+			$('#cancelForm input[name=bankCd]').val(bankCd);
+			
+			// 팝업 닫기
+			$("#refundAccountPop .popup_close").trigger("click");
+			
+			// 취소신청
+			fnCancel();
+		} else {
+			mcxDialog.alert('인증받은 계좌정보와 다릅니다.');
+		}
 	} else {
 		mcxDialog.alert('계좌인증이 필요합니다.');
 	}
@@ -593,9 +622,15 @@ $('.refundBankPop .popup_close').on("click",function(){
 
 //210510_추가 : 토스트 팝업 button 클릭 시 팝업 닫기.
 $(document).on('click','.popup_box.refundBankPop .button_list button',function(){
+	let bankCd = $(this).attr('bankCd');
+	let bankNm = $(this).attr('bankNm');
+	
+	$('#refundAccountPop input[name=bankCd]').val(bankCd);
+	$('#refundAccountPop .select_custom.select_bank .combo .select').text(bankNm);
+	
 	$(this).parents('.popup_box.refundBankPop').hide().removeClass('active');
 	$("body").css({"overflow":"visible"});
-})
+});
 
 
 $(document).ready(function(){

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

@@ -223,12 +223,12 @@
 				<div class="tbl_wrap">
 					<div class="tbl_tit"> 
 						<h3>회수 정보</h3>
-						<button type="button" class="btn_popup" onclick="fnGoToWithdrawDelivery()"><span>회수 조회</span></button>
+						<button type="button" class="btn_popup" th:attr="wdInvoiceNo=${oneData.wdInvoiceNo}, shipCompCd=${oneData.shipCompCd}" onclick="fnGoToWithdrawDelivery(this)"><span>회수 조회</span></button>
 					</div>
 					<div class="tbl tbl_row">
 						<dl>
 							<dt class="sr-only">택배회사/송장번호</dt>
-							<dd><span th:text="|${oneData.shipCompNm} / ${oneData.wdInvoiceNo}|"></span> / <span th:text="${oneData.wdInvoiceNo}"></span></dd>
+							<dd><span th:text="|${oneData.shipCompNm}|"></span> / <span th:text="${oneData.wdInvoiceNo}"></span></dd>
 						</dl>
 					</div>
 				</div>

+ 9 - 9
src/main/webapp/WEB-INF/views/mob/mypage/MypageCreListFormMob.html

@@ -296,15 +296,15 @@ var fnGoToCreDetail = function(param) {
 	});
 
 	/* 210409_추가 : alert 모음 */
-	$(document).on("click", "#btn_purchase_confirm", function(){
-		mcxDialog.confirm("구매확정 후에는 반품/교환이 불가합니다. 구매확정하시겠습니까?", {
-			cancelBtnText: "취소",
-			sureBtnText: "확인",  // Confirmation button text
-			sureBtnClick: function() {  // Confirm button click callback
-				alert("9,999P가 적립되었습니다.");
-			}
-		});
-	});
+	//$(document).on("click", "#btn_purchase_confirm", function(){
+	//	mcxDialog.confirm("구매확정 후에는 반품/교환이 불가합니다. 구매확정하시겠습니까?", {
+	//		cancelBtnText: "취소",
+	//		sureBtnText: "확인",  // Confirmation button text
+	//		sureBtnClick: function() {  // Confirm button click callback
+	//			alert("9,999P가 적립되었습니다.");
+	//		}
+	//	});
+	//});
 
 	$(document).on("click", "#btn_sms_alert", function(){
 		mcxDialog.alert("SMS로 선물내역을 다시 전송하였습니다.", { 

+ 111 - 45
src/main/webapp/WEB-INF/views/mob/mypage/MypageDeliveryInfoFormMob.html

@@ -143,56 +143,131 @@
 								
 								<!-- 배송중 (교환가능, 반품가능) -->
 								<th:block th:if="${ordDtl.ordDtlStat} == 'G013_50' or ${ordDtl.ordDtlStat} == 'G013_55'">
-									<!-- 교환가능, 반품가능 -->
-									<th:block th:if="${ordDtl.changeableYn} == 'Y' or ${ordDtl.returnableYn} == 'Y'">
-										<div class="goods_btn_wrap btn_group_flex">
-											<th:block th:if="${ordDtl.changeableYn} == 'Y'">
-												<div><button type="button" class="btn btn_default btn_exch_req" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'exchange');"><span>교환 신청</span></button></div>
-											</th:block>
-											<th:block th:if="${ordDtl.returnableYn} == 'Y'">
-												<div><button type="button" class="btn btn_default btn_rtn_req" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'return');"><span>반품 신청</span></button></div>
-											</th:block>
-										</div>
-									</th:block>
-									<!-- //교환가능, 반품가능 -->
-									
-									<!-- 리뷰사용가능, 리뷰등록전일때 -->
-									<div class="goods_btn_wrap btn_group_flex">
-										<div><button type="button" class="btn btn_default btn_delv_sch"><span>배송 조회</span></button></div>
+									<div class="goods_btn_wrap btn_group_flex btn_count">
+										<!-- 교환불가 -->
+										<th:block th:if="${ordDtl.changeableYn} == 'N' and ${ordDtl.returnableYn} == 'Y'">
+											<div>
+												<button type="button" class="btn btn_default btn_qna_write" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);">
+													<span>1:1 문의</span>
+												</button>
+											</div>
+										</th:block>
+										<!-- //교환불가 -->
+										<!-- 교환가능 -->
+										<th:block th:if="${ordDtl.changeableYn} == 'Y'">
+											<div>
+												<button type="button" class="btn btn_default btn_exch_req" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" th:ordCanChgQty="${ordDtl.ordCanChgQty}" th:delvFeeCd="${ordDtl.delvFeeCd}" onclick="fnCreateChange(this, 'exchange');">
+													<span>교환 신청</span>
+												</button>
+											</div>
+										</th:block>
+										<!-- //교환가능 -->
+										<!-- 반품가능 -->
+										<th:block th:if="${ordDtl.returnableYn} == 'Y'">
+											<div>
+												<button type="button" class="btn btn_default btn_rtn_req" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" th:ordCanChgQty="${ordDtl.ordCanChgQty}" th:delvFeeCd="${ordDtl.delvFeeCd}" onclick="fnCreateChange(this, 'return');">
+													<span>반품 신청</span>
+												</button>
+											</div>
+										</th:block>
+										<!-- 반품가능 -->
+										<!-- 반품불가 -->
+										<th:block th:if="${ordDtl.changeableYn} == 'Y' and ${ordDtl.returnableYn} == 'N'">
+											<div>
+												<button type="button" class="btn btn_default btn_qna_write" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);">
+													<span>1:1 문의</span>
+												</button>
+											</div>
+										</th:block>
+										<!-- //반품불가 -->
+
+										<!-- 교환불가, 반품불가 -->
+										<th:block th:if="${ordDtl.returnableYn} == 'N' and ${ordDtl.changeableYn} == 'N'">
+											<div>
+												<button type="button" class="btn btn_default btn_qna_write" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);">
+													<span>1:1 문의</span>
+												</button>
+											</div>
+										</th:block>
+										<!-- //교환불가, 반품불가 -->
+
+<!--										<div><button type="button" class="btn btn_default btn_delv_sch" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, shipCompCd=${ordDtl.shipCompCd}, invoiceNo=${ordDtl.invoiceNo}" onclick="fnGoToDelivery(this);"><span>배송 조회</span></button></div>-->
+
 										<!-- 리뷰사용가능, 리뷰등록전일때 -->
 										<th:block th:if="${ordDtl.reviewableYn} == 'Y' and ${ordDtl.reviewSq} == null">
 											<div><button type="button" class="btn btn_primary btn_review_write" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, goodsCd=${ordDtl.goodsCd}" onclick="fnCreateReview(this);"><span>리뷰 쓰기</span></button></div>
 										</th:block>
 										<!-- //리뷰사용가능, 리뷰등록전일때 -->
 									</div>
-									<!-- //리뷰사용가능, 리뷰등록전일때 -->
 								</th:block>
 								<!-- //배송중 (교환가능, 반품가능) -->
 								
 								<!-- 배송완료 (교환가능, 반품가능) -->
 								<th:block th:if="${ordDtl.ordDtlStat} == 'G013_60'">
 									<div class="goods_btn_wrap btn_group_flex">
-										<!-- 교환가능, 반품가능 -->
+										<!-- 교환불가 -->
+										<th:block th:if="${ordDtl.changeableYn} == 'N' and ${ordDtl.returnableYn} == 'Y'">
+											<div>
+												<button type="button" class="btn btn_default btn_qna_write" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);">
+													<span>1:1 문의</span>
+												</button>
+											</div>
+										</th:block>
+										<!-- //교환불가 -->
+										<!-- 교환가능 -->
 										<th:block th:if="${ordDtl.changeableYn} == 'Y'">
-											<div><button type="button" class="btn btn_default btn_exch_req" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'exchange');"><span>교환 신청</span></button></div>
+											<div>
+												<button type="button" class="btn btn_default btn_exch_req" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" th:ordCanChgQty="${ordDtl.ordCanChgQty}" th:delvFeeCd="${ordDtl.delvFeeCd}" onclick="fnCreateChange(this, 'exchange');">
+													<span>교환 신청</span>
+												</button>
+											</div>
 										</th:block>
+										<!-- //교환가능 -->
+										<!-- 반품가능 -->
 										<th:block th:if="${ordDtl.returnableYn} == 'Y'">
-											<div><button type="button" class="btn btn_default btn_rtn_req" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'return');"><span>반품 신청</span></button></div>
+											<div>
+												<button type="button" class="btn btn_default btn_rtn_req" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" th:ordCanChgQty="${ordDtl.ordCanChgQty}" th:delvFeeCd="${ordDtl.delvFeeCd}" onclick="fnCreateChange(this, 'return');">
+													<span>반품 신청</span>
+												</button>
+											</div>
 										</th:block>
-										<!-- //교환가능, 반품가능 -->
-										
-										<div><button type="button" id="btn_purchase_confirm btn_ord_confirm" class="btn btn_primary" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}" onclick="fnDecideOrder(this);"><span>구매 확정</span></button></div>
-									</div>
-									<div class="goods_btn_wrap btn_group_flex">
+										<!-- //반품가능 -->
+										<!-- 반품불가 -->
+										<th:block th:if="${ordDtl.changeableYn} == 'Y' and ${ordDtl.returnableYn} == 'N'">
+											<div>
+												<button type="button" class="btn btn_default btn_qna_write" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);">
+													<span>1:1 문의</span>
+												</button>
+											</div>
+										</th:block>
+										<!-- //반품불가 -->
 										<!-- 교환불가, 반품불가 -->
-										<th:block th:if="${ordDtl.changeableYn} == 'N' or ${ordDtl.returnableYn} == 'N'">
-											<div><button type="button" class="btn btn_default btn_qna_write" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA_REG);"><span>1:1 문의</span></button></div>
+										<th:block th:if="${ordDtl.returnableYn} == 'N' and ${ordDtl.changeableYn} == 'N'">
+											<div>
+												<button type="button" class="btn btn_default btn_qna_write" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);">
+													<span>1:1 문의</span>
+												</button>
+											</div>
 										</th:block>
 										<!-- //교환불가, 반품불가 -->
-										
+
+										<!-- 구매확정 -->
+										<th:block th:if="${ordDtl.ordReqChgQty == 0}">
+											<div>
+												<button type="button" th:id="btn_purchase_confirm" class="btn btn_primary" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" onclick="fnDecideOrder(this);">
+													<span>구매 확정</span>
+												</button>
+											</div>
+										</th:block>
+										<!-- //구매확정 -->
+
 										<!-- 리뷰사용가능, 리뷰등록전일때 -->
 										<th:block th:if="${ordDtl.reviewableYn} == 'Y' and ${ordDtl.reviewSq} == null">
-											<div><button type="button" class="btn btn_primary btn_review_write" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, goodsCd=${ordDtl.goodsCd}" onclick="fnCreateReview(this);"><span>리뷰 쓰기</span></button></div>
+											<div>
+												<button type="button" class="btn btn_primary btn_review_write" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" th:goodsCd="${ordDtl.goodsCd}" onclick="fnCreateReview(this);">
+													<span>리뷰 쓰기</span>
+												</button>
+											</div>
 										</th:block>
 										<!-- //리뷰사용가능, 리뷰등록전일때 -->
 									</div>
@@ -477,27 +552,18 @@
 	</section>
 </main>
 
-<form id="exchangeForm" name="exchangeForm" th:action="@{'/mypage/exchange/form'}" th:method="post">
-	<input type="hidden" name="ordNo"/>
-	<input type="hidden" name="ordDtlNo"/>
-	<input type="hidden" name="delvFeeCd"/>
-</form>
-<form id="returnForm" name="returnForm" th:action="@{'/mypage/return/form'}" th:method="post">
-	<input type="hidden" name="ordNo"/>
-	<input type="hidden" name="ordDtlNo"/>
-	<input type="hidden" name="delvFeeCd"/>
-</form>
-<form id="cancelForm" name="cancelForm" th:action="@{'/mypage/cancel/form'}" th:method="post">
-	<input type="hidden" name="ordNo"/>
-	<input type="hidden" name="ordDtlNo"/>
-	<input type="hidden" name="delvFeeCd"/>
-</form>
-
 <script src="/ux/plugins/gaga/gaga.paging.js"></script>
 <script th:inline="javascript">
 	$(document).ready(function() {
 		// 타이틀명
 		$('#htopTitle').text('배송조회');
+		
+		// 버튼 클래스 설정
+		$.each($('.btn_count'), function(idx, item) {
+			if ($(item).children().length > 3 && !$(item).hasClass('col2')) {
+				$(item).addClass('col2');
+			}
+		});
 	});
 </script>
 

+ 15 - 19
src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderDetailFormMob.html

@@ -145,6 +145,18 @@
 								
 								<!-- 배송준비중-->
 								<th:block th:if="${ordDtl.ordDtlStat} == 'G013_40'">
+									<div class="goods_btn_wrap btn_group_flex">
+										<div>
+											<button type="button" class="btn btn_default btn_cncl_complete" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA_REG);">
+												<span>1:1 문의</span>
+											</button>
+										</div>
+										<div>
+											<button type="button" class="btn btn_default btn_cart_save" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);">
+												<span>쇼핑백 담기</span>
+											</button>
+										</div>
+									</div>
 								</th:block>
 								<!-- //배송준비중-->
 								
@@ -528,7 +540,7 @@
 
 										<!-- 반품불가능 -->
 										<th:block th:if="${ordDtl.changeableYn} == 'Y' and ${ordDtl.returnableYn} == 'N'">
-											<p class="cf_txt cf_desc">해당 상품은 교환이 불가능한 상품입니다.<br>문의사항은 1:1 문의를 이용해 주세요.</p>
+											<p class="cf_txt cf_desc">해당 상품은 반품이 불가능한 상품입니다.<br>문의사항은 1:1 문의를 이용해 주세요.</p>
 										</th:block>
 										<!-- //반품불가능 -->
 
@@ -548,7 +560,7 @@
 								<!-- //주문접수 -->
 								
 								<!-- 결제완료, 예약배송상품 -->
-								<th:block th:if="${ordDtl.ordDtlStat} == 'G013_10'">
+								<th:block th:if="${ordDtl.ordDtlStat} == 'G013_20'">
 									<th:block th:if="${ordDtl.delvResDt} != null">
 										<div class="goods_txt">
 											<p class="cf_txt cf_desc" th:text="|예약판매 상품으로 ${ordDtl.delvResDt} 출고 예정입니다.|"></p>
@@ -835,7 +847,7 @@
 									</div>
 									<th:block th:if="${orderAmtInfo.cpn1DcAmt} > 0">
 										<div>
-											<dt>상품할인(즉시할인)</dt>
+											<dt>즉시할인</dt>
 											<dd><div><span th:text="|- ${#numbers.formatInteger(orderAmtInfo.cpn1DcAmt, 1, 'COMMA')}|"></span>원</div></dd>
 										</div>
 									</th:block>
@@ -924,22 +936,6 @@
 	</section>
 </main>
 
-<form id="exchangeForm" name="exchangeForm" th:action="@{'/mypage/exchange/form'}" th:method="post">
-	<input type="hidden" name="ordNo"/>
-	<input type="hidden" name="ordDtlNo"/>
-	<input type="hidden" name="delvFeeCd"/>
-</form>
-<form id="returnForm" name="returnForm" th:action="@{'/mypage/return/form'}" th:method="post">
-	<input type="hidden" name="ordNo"/>
-	<input type="hidden" name="ordDtlNo"/>
-	<input type="hidden" name="delvFeeCd"/>
-</form>
-<form id="cancelForm" name="cancelForm" th:action="@{'/mypage/cancel/form'}" th:method="post">
-	<input type="hidden" name="ordNo"/>
-	<input type="hidden" name="ordDtlNo"/>
-	<input type="hidden" name="delvFeeCd"/>
-</form>
-
 <script src="/ux/plugins/gaga/gaga.paging.js"></script>
 <script th:inline="javascript">
 	let giftMsg				= [[${orderInfo.giftMsg}]];		// 선물메세지

+ 108 - 41
src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderListFormMob.html

@@ -170,9 +170,9 @@
 </div>
 <!-- //주문상태 선택 팝업 -->
 
-<!-- <script src="/ux/plugins/jquery/jquery.history.min.js"></script> -->
-<!-- <script src="/ux/plugins/gaga/gaga.infinite.scrollLayer.js"></script> -->
-<!-- <script src="/ux/plugins/gaga/gaga.paging.js"></script> -->
+<!--<script src="/ux/plugins/jquery/jquery.history.min.js"></script> -->
+<!--<script src="/ux/plugins/gaga/gaga.infinite.scrollLayer.js"></script> -->
+<!--<script src="/ux/plugins/gaga/gaga.paging.js"></script> -->
 
 <script th:inline="javascript">
 // 변수설정
@@ -274,6 +274,8 @@ $(document).ready(function() {
 		
 		// 초기화설정
 		fnGetInfiniteScrollDataList(1);
+		//fnOrderListInfiniteScrollInit();
+		//fnOrderListSearch();
 
 		// 팝업닫기
 		$(".popup_close").trigger("click");
@@ -299,28 +301,64 @@ var fnGetInfiniteScrollDataList = function(pageNo) {
 	jsonObj.pageNo = pageNo;
 	jsonObj.stDate = $("#searchForm input[name=stDate]").val();
 	jsonObj.edDate = $("#searchForm input[name=edDate]").val();
+	jsonObj.ordDtlStat = $('#searchForm input[name=ordDtlStat]').val();
 	
-	$.ajax( {
-		type		: "POST",
-		url 		: '/mypage/order/listInfo',
-		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');
-		},
-		success 	: function(result) {
-			if (result != null) {
-				$("#listBox").css("display", "block");
-				$("#listBox").append(result);
-				scrollTemp = true;
-				
-				// 인피니티 스크롤 기억기능
-				//gagaInfiniteScroll.draw(result);
-				//gagaInfiniteScroll.draw('not');
+	//$.ajax( {
+	//	type		: "POST",
+	//	url 		: '/mypage/order/listInfo',
+	//	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');
+	//	},
+	//	success 	: function(result) {
+	//		if (result != null) {
+	//			$("#listBox").css("display", "block");
+	//			$("#listBox").append(result);
+	//			scrollTemp = true;
+	//			
+	//			// 인피니티 스크롤 기억기능
+	//			//gagaInfiniteScroll.draw(result);
+	//			//gagaInfiniteScroll.draw('not');
+	//
+	//		}
+	//	}
+	//});
+	
+	gagajf.ajaxJsonSubmit('/mypage/order/list/pre/info', JSON.stringify(jsonObj), function(result) {
+		let totalCount = result.paging.totalCount;
+		totalCnt = totalCount;
+		getTotalPage(totalCount);
+		//gagaInfiniteScroll.pageStatus.totalCount = totalCount;
+		
+		let ordNoList = []; 
+		$.each(result.ordNoList, function(idx, item) {
+			ordNoList.push(item.ordNo);
+		});
 
-			}
+		jsonObj.ordNoList = ordNoList;
+		
+		if (ordNoList.length > 0) {
+			$.ajax({
+				type: "POST",
+				url: '/mypage/order/list/info',
+				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');
+				},
+				success: function (result) {
+					if (result != null) {
+						$("#listBox").css("display", "block");
+						$("#listBox").append(result);
+						scrollTemp = true;
+					}
+				}
+			});
 		}
 	});
 }
@@ -340,6 +378,8 @@ var fnSetSearchPeriod = function(period) {
 	
 	// 초기화설정
 	fnGetInfiniteScrollDataList(1);
+	//fnOrderListInfiniteScrollInit();
+	//fnOrderListSearch();
 	
 	$("#odDatePop .popup_con button").removeClass("on");
 	
@@ -412,15 +452,15 @@ $(function() { gagaInfiniteScroll.getHistory(); });
 	});
 
 	/* 210409_추가 : alert 모음 */
-	$(document).on("click", "#btn_purchase_confirm", function(){
-		mcxDialog.confirm("구매확정 후에는 반품/교환이 불가합니다. 구매확정하시겠습니까?", {
-			cancelBtnText: "취소",
-			sureBtnText: "확인",  // Confirmation button text
-			sureBtnClick: function() {  // Confirm button click callback
-				alert("9,999P가 적립되었습니다.");
-			}
-		});
-	});
+	//$(document).on("click", "#btn_purchase_confirm", function(){
+	//	mcxDialog.confirm("구매확정 후에는 반품/교환이 불가합니다. 구매확정하시겠습니까?", {
+	//		cancelBtnText: "취소",
+	//		sureBtnText: "확인",  // Confirmation button text
+	//		sureBtnClick: function() {  // Confirm button click callback
+	//			alert("9,999P가 적립되었습니다.");
+	//		}
+	//	});
+	//});
 
 	$(document).on("click", "#btn_sms_alert", function(){
 		mcxDialog.alert("SMS로 선물내역을 다시 전송하였습니다.", { 
@@ -432,15 +472,21 @@ $(function() { gagaInfiniteScroll.getHistory(); });
 	
 	// 등급쿠폰 다운 클릭 이벤트
 	var fnDownloadCoupon = function() {
-		let url = '/mypage/coupon/download/all';
-
-		let data = {};
-		data.custNo = customerInfo.custNo;
-
-		let jsonData = JSON.stringify(data);
-
-		gagajf.ajaxJsonSubmit(url, jsonData, function() {
-			fnReloadCouponCount();
+		let url = '/planning/event/custgrade/coupon/down';
+		
+		let params = JSON.stringify({});
+		gagajf.ajaxJsonSubmit(url, params, function(result) {
+			let message = '이미 다운로드를 완료 하셨습니다.';
+			if (result.isDownload) {
+				message = '총 ' + result.downloadCnt + '장의 쿠폰을 다운로드 하였습니다.';
+			}
+			
+			mcxDialog.alertC(message, {
+				sureBtnText: "확인",
+				sureBtnClick: function () {
+					fnReloadCouponCount();
+				}
+			});
 		});
 	}
 	
@@ -463,6 +509,27 @@ $(function() { gagaInfiniteScroll.getHistory(); });
 	var fnGoToCustomerBenefit = function() {
 		cfnGoToPage(_PAGE_CUSTOMER_GRADE_BENEFIT);
 	}
+	
+	// 인피니티 스크롤 초기화
+	var fnOrderListInfiniteScrollInit = function (){
+		sessionStorage.removeItem(document.location.href);
+		$("#listBox").html("");
+	}
+	
+	var fnOrderListSearch = function (){
+		gagaInfiniteScroll.getHistory();
+	}
+	
+	var getTotalPage = function(param) {
+		// 전체페이지 구하기
+		totalPage 	= parseInt(param / 10);
+		remainList 	= param % 10;
+		
+		// 나머지가 있으면 전체 페이지 + 1
+		if (remainList > 0) {
+			totalPage = totalPage + 1;
+		}
+	}
 </script>
 </th:block>
 </body>

+ 22 - 2
src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderListInfoMob.html

@@ -136,6 +136,18 @@
 							
 							<!-- 배송준비중-->
 							<th:block th:if="${ordDtl.ordDtlStat} == 'G013_40'">
+								<div class="goods_btn_wrap btn_group_flex">
+									<div>
+										<button type="button" class="btn btn_default btn_cncl_complete" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA_REG);">
+											<span>1:1 문의</span>
+										</button>
+									</div>
+									<div>
+										<button type="button" class="btn btn_default btn_cart_save" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);">
+											<span>쇼핑백 담기</span>
+										</button>
+									</div>
+								</div>
 							</th:block>
 							<!-- //배송준비중-->
 							
@@ -364,8 +376,8 @@
 								<!-- //교환불가능 -->
 
 								<!-- 반품불가능 -->
-								<th:block th:if="${ordDtl.returnableYn} == 'N'and ${ordDtl.returnableYn} == 'Y'">
-									<p class="cf_txt cf_desc">해당 상품은 교환이 불가능한 상품입니다.<br>문의사항은 1:1 문의를 이용해 주세요.</p>
+								<th:block th:if="${ordDtl.returnableYn} == 'N' and ${ordDtl.changeableYn} == 'Y'">
+									<p class="cf_txt cf_desc">해당 상품은 반품이 불가능한 상품입니다.<br>문의사항은 1:1 문의를 이용해 주세요.</p>
 								</th:block>
 								<!-- //반품불가능 -->
 								</div>
@@ -383,6 +395,14 @@
 							</th:block>
 							<!-- //주문접수 -->
 							
+							<!-- 결제완료 -->
+							<th:block th:if="${ordDtl.ordDtlStat == 'G013_20' and !#strings.isEmpty(ordDtl.delvResDt)}">
+								<div class="goods_txt">
+									<p class="cf_txt cf_desc" th:text="|예약판매 상품으로 ${ordDtl.delvResDt} 출고 예정입니다.|"></p>
+								</div>
+							</th:block>
+							<!-- //결제완료 -->
+							
 							<!-- 상품준비중 -->
 							<th:block th:if="${ordDtl.ordDtlStat} == 'G013_30'">
 								<div class="goods_txt">

+ 70 - 31
src/main/webapp/WEB-INF/views/mob/mypage/MypageReturnFormMob.html

@@ -371,6 +371,9 @@
 
 <!-- 210408_ 추가 : 환불 계좌 등록 팝업 -->
 <div id="refundAccountPop" class="popup_box refundAccountPop">
+	<input type="hidden" name="confirmedAccountNo"/>
+	<input type="hidden" name="confirmedAccountNm"/>
+	<input type="hidden" name="confirmedBankCd"/>
 	<div class="lap">
 		<div class="popup_close">카테고리닫기</div>
 		<div class="popup_head sr-only">
@@ -443,7 +446,7 @@
 		<div class="popup_con">
 			<div class="button_list clear">
 				<th:block th:if="${bankList}" th:each="oneData, status : ${bankList}">
-					<button type="button" th:id="${oneData.cd}"><span th:text="${oneData.cdNm}"></span></button>
+					<button type="button" th:attr="bankCd=${oneData.cd}, bankNm=${oneData.cdNm}"><span th:text="${oneData.cdNm}"></span></button>
 				</th:block>
 			</div>
 		</div>
@@ -502,12 +505,12 @@ $('#returnForm input[name=wdGb]').on('change', function() {
 });
 
 // 은행목록 버튼 기능
-$("#refundBankPop .button_list button").each(function(){
-	$(this).on("click", function(){
-		$("#refundAccountPop input[name=bankCd]").val($(this).attr("id"));
-		$("#refundAccountPop .select_custom.select_bank .select").text($(this).find("span").text());
-	});
-});
+//$("#refundBankPop .button_list button").each(function(){
+//	$(this).on("click", function(){
+//		$("#refundAccountPop input[name=bankCd]").val($(this).attr("id"));
+//		$("#refundAccountPop .select_custom.select_bank .select").text($(this).find("span").text());
+//	});
+//});
 
 // 반품 처리
 var fnReturn = function() {
@@ -762,11 +765,22 @@ $('#btn_bank_certi').on('click', function () {
 		return false;
 	}
 	
+	// 승인된 계좌 정보
+	let confirmedAccountNm 	= $('#refundAccountPop input[name=confirmedAccountNm]').val();
+	let confirmedAccountNo 	= $('#refundAccountPop input[name=confirmedAccountNo]').val();
+	let confirmedBankCd 	= $('#refundAccountPop input[name=confirmedBankCd]').val();
+	
+	// 계좌정보
+	let accountNm 			= $('#refundAccountPop input[name=accountNm]').val();
+	let accountNo 			= $('#refundAccountPop input[name=accountNo]').val();
+	let bankCd 				= $('#refundAccountPop input[name=bankCd]').val();
+	
+	if (accountNm != confirmedAccountNm || accountNo != confirmedAccountNo || bankCd != confirmedBankCd) {
+		isValid = false;
+	}
+	
 	if (!isValid) {
 		let url 		= '/mypage/account/check';
-		let accountNm 	= $('#refundAccountPop input[name=accountNm]').val();
-		let accountNo 	= $('#refundAccountPop input[name=accountNo]').val();
-		let bankCd 		= $('#refundAccountPop input[name=bankCd]').val();
 		
 		let data = {};
 		data.accountNm 	= accountNm;
@@ -782,34 +796,49 @@ $('#btn_bank_certi').on('click', function () {
 			if (isValid) {
 				mcxDialog.alert('계좌인증에 성공했습니다.');
 				// 계좌인증 성공 시 Disabled 처리
-				$('#refundAccountPop .select_custom.select_bank').attr('disabled', true);
-				$('#refundAccountPop input[name=accountNo]').attr('disabled', true);
+				//$('#refundAccountPop .select_custom.select_bank').attr('disabled', true);
+				//$('#refundAccountPop input[name=accountNo]').attr('disabled', true);
+				
+				$('#refundAccountPop input[name=confirmedAccountNm]').val(accountNm);
+				$('#refundAccountPop input[name=confirmedAccountNo]').val(accountNo);
+				$('#refundAccountPop input[name=confirmedBankCd]').val(bankCd);
+				
 				return false;
 			} else {
 				mcxDialog.alert('계좌정보를 다시 확인해주세요.');
 				return false;
 			}
-		});
+		}, true);
 	}
 });
 
 // 계좌등록 후 환불신청 버튼 클릭 이벤트
 $('#btn_bank_return').click(function() {
 	if (isValid) {
+		// 승인된 계좌 정보
+		let confirmedAccountNm 	= $('#refundAccountPop input[name=confirmedAccountNm]').val();
+		let confirmedAccountNo 	= $('#refundAccountPop input[name=confirmedAccountNo]').val();
+		let confirmedBankCd 	= $('#refundAccountPop input[name=confirmedBankCd]').val();
+		
+		// 계좌정보
 		let accountNm 	= $('#refundAccountPop input[name=accountNm]').val();
 		let accountNo 	= $('#refundAccountPop input[name=accountNo]').val();
 		let bankCd 		= $('#refundAccountPop input[name=bankCd]').val();
 		
-		// 부모창의 input 값으로 환불계좌정보 설정
-		$('#returnForm input[name=accountNo]').val(accountNo);
-		$('#returnForm input[name=accountNm]').val(accountNm);
-		$('#returnForm input[name=bankCd]').val(bankCd);
-
-		// 팝업 닫기
-		$(".close-modal").trigger("click");
-		
-		// 반품신청
-		fnReturn();
+		if (accountNm == confirmedAccountNm && accountNo == confirmedAccountNo && bankCd == confirmedBankCd) {
+			// 부모창의 input 값으로 환불계좌정보 설정
+			$('#returnForm input[name=accountNo]').val(accountNo);
+			$('#returnForm input[name=accountNm]').val(accountNm);
+			$('#returnForm input[name=bankCd]').val(bankCd);
+			
+			// 팝업 닫기
+			$("#refundAccountPop .popup_close").trigger("click");
+			
+			// 반품신청
+			fnReturn();
+		} else {
+			mcxDialog.alert('인증받은 계좌정보와 다릅니다.');
+		}
 	} else {
 		mcxDialog.alert('계좌인증이 필요합니다.');
 	}
@@ -852,22 +881,20 @@ function handleOnInput(el, maxlength) {
 	}
 }
 
-// 210408_ 추가 : 환불계좌등록 팝업 스크립트
+//210408_ 추가 : 환불계좌등록 팝업 스크립트
 $(document).on("click","#btn_refund_pop",function(e){
 	$('#refundAccountPop').show().addClass("active");
 	$("body").css({"overflow":"hidden"});
 });
 
-// 210408_ 추가 : 은행선택 팝업 스크립트
+//210408_ 추가 : 은행선택 팝업 스크립트
 $(document).on("click","#refundAccountPop .select_bank",function(e){
-	if (isValid == false) {
-		$('#refundBankPop').show().addClass("active");
-		$('#refundBankPop').css({"z-index":"1000"});
-		$("body").css({"overflow":"hidden"});
-	}
+	$('#refundBankPop').show().addClass("active");
+	$('#refundBankPop').css({"z-index":"1000"});
+	$("body").css({"overflow":"hidden"});
 });
 
-// 210408_ 추가 : 환불계좌등록 팝업 스크립트 닫기
+//210408_ 추가 : 환불계좌등록 팝업 스크립트 닫기
 $('.refundAccountPop .popup_close').on("click",function(){
 	$('.refundAccountPop').hide().removeClass('active');
 	$("body").css({"overflow":"visible"});
@@ -877,6 +904,18 @@ $('.refundAccountPop .popup_close').on("click",function(){
 $('.refundBankPop .popup_close').on("click",function(){
 	$('.refundBankPop').hide().removeClass('active');
 });
+
+//210510_추가 : 토스트 팝업 button 클릭 시 팝업 닫기.
+$(document).on('click','.popup_box.refundBankPop .button_list button',function(){
+	let bankCd = $(this).attr('bankCd');
+	let bankNm = $(this).attr('bankNm');
+	
+	$('#refundAccountPop input[name=bankCd]').val(bankCd);
+	$('#refundAccountPop .select_custom.select_bank .combo .select').text(bankNm);
+	
+	$(this).parents('.popup_box.refundBankPop').hide().removeClass('active');
+	$("body").css({"overflow":"visible"});
+});
 </script>
 
 </th:block>

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

@@ -532,6 +532,7 @@ $('#btn_bank_certi').on('click', function () {
 				$('#refundAccountPop input[name=confirmedAccountNm]').val(accountNm);
 				$('#refundAccountPop input[name=confirmedAccountNo]').val(accountNo);
 				$('#refundAccountPop input[name=confirmedBankCd]').val(bankCd);
+				
 				return false;
 			} else {
 				mcxDialog.alert('계좌정보를 다시 확인해주세요.');

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

@@ -213,12 +213,12 @@
 				<div class="tbl_wrap">
 					<div class="tbl_tit"> 
 						<h3>회수 정보</h3>
-						<button type="button" class="btn_popup" onclick="fnGoToWithdrawDelivery()"><span>회수 조회</span></button>
+						<button type="button" class="btn_popup" th:attr="wdInvoiceNo=${oneData.wdInvoiceNo}, shipCompCd=${oneData.shipCompCd}" onclick="fnGoToWithdrawDelivery(this)"><span>회수 조회</span></button>
 					</div>
 					<div class="tbl tbl_row">
 						<dl>
 							<dt class="sr-only">택배회사/송장번호</dt>
-							<dd><span th:text="|${oneData.shipCompNm} / ${oneData.wdInvoiceNo}|"></span> / <span th:text="${oneData.wdInvoiceNo}"></span></dd>
+							<dd><span th:text="|${oneData.shipCompNm}|"></span> / <span th:text="${oneData.wdInvoiceNo}"></span></dd>
 						</dl>
 					</div>
 				</div>

+ 10 - 3
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberOrderDetailFormMob.html

@@ -129,6 +129,13 @@
 								
 								<!-- 배송준비중-->
 								<th:block th:if="${ordDtl.ordDtlStat} == 'G013_40'">
+									<div class="goods_btn_wrap btn_group_flex">
+										<div>
+											<button type="button" class="btn btn_default btn_cart_save" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);">
+												<span>쇼핑백 담기</span>
+											</button>
+										</div>
+									</div>
 								</th:block>
 								<!-- //배송준비중-->
 								
@@ -239,7 +246,7 @@
 
 										<!-- 반품불가능 -->
 										<th:block th:if="${ordDtl.changeableYn} == 'Y' and ${ordDtl.returnableYn} == 'N'">
-											<p class="cf_txt cf_desc">해당 상품은 교환이 불가능한 상품입니다.<br>문의사항은 1:1 문의를 이용해 주세요.</p>
+											<p class="cf_txt cf_desc">해당 상품은 반품이 불가능한 상품입니다.<br>문의사항은 1:1 문의를 이용해 주세요.</p>
 										</th:block>
 										<!-- //반품불가능 -->
 
@@ -259,7 +266,7 @@
 								<!-- //주문접수 -->
 								
 								<!-- 결제완료, 예약배송상품 -->
-								<th:block th:if="${ordDtl.ordDtlStat} == 'G013_10'">
+								<th:block th:if="${ordDtl.ordDtlStat} == 'G013_20'">
 									<th:block th:if="${ordDtl.delvResDt} != null">
 										<div class="goods_txt">
 											<p class="cf_txt cf_desc" th:text="|예약판매 상품으로 ${ordDtl.delvResDt} 출고 예정입니다.|"></p>
@@ -499,7 +506,7 @@
 									</div>
 									<th:block th:if="${orderAmtInfo.cpn1DcAmt} > 0">
 										<div>
-											<dt>상품할인(즉시할인)</dt>
+											<dt>즉시할인</dt>
 											<dd><div><span th:text="|- ${#numbers.formatInteger(orderAmtInfo.cpn1DcAmt, 1, 'COMMA')}|"></span>원</div></dd>
 										</div>
 									</th:block>

+ 66 - 20
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberOrderListFormMob.html

@@ -216,26 +216,61 @@ var fnGetInfiniteScrollDataList = function(pageNo) {
 	jsonObj.stDate = $("#searchForm input[name=stDate]").val();
 	jsonObj.edDate = $("#searchForm input[name=edDate]").val();
 	
-	$.ajax( {
-		type		: "POST",
-		url 		: '/noMember/order/listInfo',
-		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');
-		},
-		success 	: function(result) {
-			if (result != null) {
-				$("#listBox").css("display", "block");
-				$("#listBox").append(result);
-				scrollTemp = true;
-				
-				// 인피니티 스크롤 기억기능
-				//gagaInfiniteScroll.draw(result);
-				//gagaInfiniteScroll.draw('not');
-			}
+	//$.ajax( {
+	//	type		: "POST",
+	//	url 		: '/noMember/order/listInfo',
+	//	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');
+	//	},
+	//	success 	: function(result) {
+	//		if (result != null) {
+	//			$("#listBox").css("display", "block");
+	//			$("#listBox").append(result);
+	//			scrollTemp = true;
+	//			
+	//			// 인피니티 스크롤 기억기능
+	//			//gagaInfiniteScroll.draw(result);
+	//			//gagaInfiniteScroll.draw('not');
+	//		}
+	//	}
+	//});
+	
+	gagajf.ajaxJsonSubmit('/noMember/order/list/pre/info', JSON.stringify(jsonObj), function(result) {
+		let totalCount = result.paging.totalCount;
+		totalCnt = totalCount;
+		getTotalPage(totalCount);
+		//gagaInfiniteScroll.pageStatus.totalCount = totalCount;
+		
+		let ordNoList = [];
+		$.each(result.ordNoList, function(idx, item) {
+			ordNoList.push(item.ordNo);
+		});
+		
+		jsonObj.ordNoList = ordNoList;
+		
+		if (ordNoList.length > 0) {
+			$.ajax({
+				type: "POST",
+				url: '/mypage/order/list/info',
+				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');
+				},
+				success: function (result) {
+					if (result != null) {
+						$("#listBox").css("display", "block");
+						$("#listBox").append(result);
+						scrollTemp = true;
+					}
+				}
+			});
 		}
 	});
 }
@@ -332,6 +367,17 @@ $(function() { gagaInfiniteScroll.getHistory(); });
 		$('.popup_box').hide().removeClass('active');
 		$("body").css({"overflow":"visible"});
 	});
+
+	var getTotalPage = function(param) {
+		// 전체페이지 구하기
+		totalPage 	= parseInt(param / 10);
+		remainList 	= param % 10;
+		
+		// 나머지가 있으면 전체 페이지 + 1
+		if (remainList > 0) {
+			totalPage = totalPage + 1;
+		}
+	}
 </script>
 </th:block>
 </body>

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

@@ -100,6 +100,13 @@
 							
 							<!-- 배송준비중-->
 							<th:block th:if="${ordDtl.ordDtlStat} == 'G013_40'">
+								<div class="goods_btn_wrap btn_group_flex">
+									<div>
+										<button type="button" class="btn btn_default btn_cart_save" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);">
+											<span>쇼핑백 담기</span>
+										</button>
+									</div>
+								</div>
 							</th:block>
 							<!-- //배송준비중-->
 							
@@ -184,7 +191,7 @@
 
 							<!-- 반품불가능 -->
 							<th:block th:if="${ordDtl.returnableYn} == 'N'">
-								<p class="cf_txt cf_desc">해당 상품은 교환이 불가능한 상품입니다.<br>문의사항은 1:1 문의를 이용해 주세요.</p>
+								<p class="cf_txt cf_desc">해당 상품은 반품이 불가능한 상품입니다.<br>문의사항은 1:1 문의를 이용해 주세요.</p>
 							</th:block>
 							<!-- //반품불가능 -->
 							</div>
@@ -202,6 +209,14 @@
 						</th:block>
 						<!-- //주문접수 -->
 
+						<!-- 결제완료 -->
+						<th:block th:if="${ordDtl.ordDtlStat == 'G013_20' and !#strings.isEmpty(ordDtl.delvResDt)}">
+							<div class="goods_txt">
+								<p class="cf_txt cf_desc" th:text="|예약판매 상품으로 ${ordDtl.delvResDt} 출고 예정입니다.|"></p>
+							</div>
+						</th:block>
+						<!-- //결제완료 -->
+
 						<!-- 상품준비중 -->
 						<th:block th:if="${ordDtl.ordDtlStat} == 'G013_30'">
 							<div class="goods_txt">

+ 72 - 33
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberReturnFormMob.html

@@ -370,6 +370,9 @@
 
 <!-- 210408_ 추가 : 환불 계좌 등록 팝업 -->
 <div id="refundAccountPop" class="popup_box refundAccountPop">
+	<input type="hidden" name="confirmedAccountNo"/>
+	<input type="hidden" name="confirmedAccountNm"/>
+	<input type="hidden" name="confirmedBankCd"/>
 	<div class="lap">
 		<div class="popup_close">카테고리닫기</div>
 		<div class="popup_head sr-only">
@@ -442,7 +445,7 @@
 		<div class="popup_con">
 			<div class="button_list clear">
 				<th:block th:if="${bankList}" th:each="oneData, status : ${bankList}">
-					<button type="button" th:id="${oneData.cd}"><span th:text="${oneData.cdNm}"></span></button>
+					<button type="button" th:attr="bankCd=${oneData.cd}, bankNm=${oneData.cdNm}"><span th:text="${oneData.cdNm}"></span></button>
 				</th:block>
 			</div>
 		</div>
@@ -504,15 +507,15 @@ $('#returnForm input[name=wdGb]').on('change', function() {
 });
 
 // 은행목록 버튼 기능
-$("#refundBankPop .button_list button").each(function(){
-	$(this).on("click", function(){
-		$("#refundAccountPop input[name=bankCd]").val($(this).attr("id"));
-		$("#refundAccountPop .select_custom.select_bank .select").text($(this).find("span").text());
-	});
-
-	// 팝업 닫기
-	$(".popup_close").trigger("click");
-});
+//$("#refundBankPop .button_list button").each(function(){
+//	$(this).on("click", function(){
+//		$("#refundAccountPop input[name=bankCd]").val($(this).attr("id"));
+//		$("#refundAccountPop .select_custom.select_bank .select").text($(this).find("span").text());
+//	});
+//
+//	// 팝업 닫기
+//	$(".popup_close").trigger("click");
+//});
 
 // 반품 처리
 var fnReturn = function() {
@@ -767,11 +770,22 @@ $('#btn_bank_certi').on('click', function () {
 		return false;
 	}
 	
+	// 승인된 계좌 정보
+	let confirmedAccountNm 	= $('#refundAccountPop input[name=confirmedAccountNm]').val();
+	let confirmedAccountNo 	= $('#refundAccountPop input[name=confirmedAccountNo]').val();
+	let confirmedBankCd 	= $('#refundAccountPop input[name=confirmedBankCd]').val();
+	
+	// 계좌정보
+	let accountNm 			= $('#refundAccountPop input[name=accountNm]').val();
+	let accountNo 			= $('#refundAccountPop input[name=accountNo]').val();
+	let bankCd 				= $('#refundAccountPop input[name=bankCd]').val();
+	
+	if (accountNm != confirmedAccountNm || accountNo != confirmedAccountNo || bankCd != confirmedBankCd) {
+		isValid = false;
+	}
+	
 	if (!isValid) {
 		let url 		= '/noMember/account/check';
-		let accountNm 	= $('#refundAccountPop input[name=accountNm]').val();
-		let accountNo 	= $('#refundAccountPop input[name=accountNo]').val();
-		let bankCd 		= $('#refundAccountPop input[name=bankCd]').val();
 		
 		let data = {};
 		data.accountNm 	= accountNm;
@@ -787,8 +801,13 @@ $('#btn_bank_certi').on('click', function () {
 			if (isValid) {
 				mcxDialog.alert('계좌인증에 성공했습니다.');
 				// 계좌인증 성공 시 Disabled 처리
-				$('#refundAccountPop .select_custom.select_bank').attr('disabled', true);
-				$('#refundAccountPop input[name=accountNo]').attr('disabled', true);
+				//$('#refundAccountPop .select_custom.select_bank').attr('disabled', true);
+				//$('#refundAccountPop input[name=accountNo]').attr('disabled', true);
+				
+				$('#refundAccountPop input[name=confirmedAccountNm]').val(accountNm);
+				$('#refundAccountPop input[name=confirmedAccountNo]').val(accountNo);
+				$('#refundAccountPop input[name=confirmedBankCd]').val(bankCd);
+				
 				return false;
 			} else {
 				mcxDialog.alert('계좌정보를 다시 확인해주세요.');
@@ -801,20 +820,30 @@ $('#btn_bank_certi').on('click', function () {
 // 계좌등록 후 환불신청 버튼 클릭 이벤트
 $('#btn_bank_return').click(function() {
 	if (isValid) {
+		// 승인된 계좌 정보
+		let confirmedAccountNm 	= $('#refundAccountPop input[name=confirmedAccountNm]').val();
+		let confirmedAccountNo 	= $('#refundAccountPop input[name=confirmedAccountNo]').val();
+		let confirmedBankCd 	= $('#refundAccountPop input[name=confirmedBankCd]').val();
+		
+		// 계좌정보
 		let accountNm 	= $('#refundAccountPop input[name=accountNm]').val();
 		let accountNo 	= $('#refundAccountPop input[name=accountNo]').val();
 		let bankCd 		= $('#refundAccountPop input[name=bankCd]').val();
 		
-		// 부모창의 input 값으로 환불계좌정보 설정
-		$('#returnForm input[name=accountNo]').val(accountNo);
-		$('#returnForm input[name=accountNm]').val(accountNm);
-		$('#returnForm input[name=bankCd]').val(bankCd);
-
-		// 팝업 닫기
-		$(".close-modal").trigger("click");
-		
-		// 반품신청
-		fnReturn();
+		if (accountNm == confirmedAccountNm && accountNo == confirmedAccountNo && bankCd == confirmedBankCd) {
+			// 부모창의 input 값으로 환불계좌정보 설정
+			$('#returnForm input[name=accountNo]').val(accountNo);
+			$('#returnForm input[name=accountNm]').val(accountNm);
+			$('#returnForm input[name=bankCd]').val(bankCd);
+			
+			// 팝업 닫기
+			$("#refundAccountPop .popup_close").trigger("click");
+			
+			// 반품신청
+			fnReturn();
+		} else {
+			mcxDialog.alert('인증받은 계좌정보와 다릅니다.');
+		}
 	} else {
 		mcxDialog.alert('계좌인증이 필요합니다.');
 	}
@@ -857,22 +886,20 @@ function handleOnInput(el, maxlength) {
 	}
 }
 
-// 210408_ 추가 : 환불계좌등록 팝업 스크립트
+//210408_ 추가 : 환불계좌등록 팝업 스크립트
 $(document).on("click","#btn_refund_pop",function(e){
 	$('#refundAccountPop').show().addClass("active");
 	$("body").css({"overflow":"hidden"});
 });
 
-// 210408_ 추가 : 은행선택 팝업 스크립트
+//210408_ 추가 : 은행선택 팝업 스크립트
 $(document).on("click","#refundAccountPop .select_bank",function(e){
-	if (isValid == false) {
-		$('#refundBankPop').show().addClass("active");
-		$('#refundBankPop').css({"z-index":"1000"});
-		$("body").css({"overflow":"hidden"});
-	}
+	$('#refundBankPop').show().addClass("active");
+	$('#refundBankPop').css({"z-index":"1000"});
+	$("body").css({"overflow":"hidden"});
 });
 
-// 210408_ 추가 : 환불계좌등록 팝업 스크립트 닫기
+//210408_ 추가 : 환불계좌등록 팝업 스크립트 닫기
 $('.refundAccountPop .popup_close').on("click",function(){
 	$('.refundAccountPop').hide().removeClass('active');
 	$("body").css({"overflow":"visible"});
@@ -882,6 +909,18 @@ $('.refundAccountPop .popup_close').on("click",function(){
 $('.refundBankPop .popup_close').on("click",function(){
 	$('.refundBankPop').hide().removeClass('active');
 });
+
+//210510_추가 : 토스트 팝업 button 클릭 시 팝업 닫기.
+$(document).on('click','.popup_box.refundBankPop .button_list button',function(){
+	let bankCd = $(this).attr('bankCd');
+	let bankNm = $(this).attr('bankNm');
+	
+	$('#refundAccountPop input[name=bankCd]').val(bankCd);
+	$('#refundAccountPop .select_custom.select_bank .combo .select').text(bankNm);
+	
+	$(this).parents('.popup_box.refundBankPop').hide().removeClass('active');
+	$("body").css({"overflow":"visible"});
+});
 </script>
 
 </th:block>

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

@@ -218,7 +218,7 @@
 										<th>회수 정보</th>
 										<td>
 											<th:block th:text="|${oneData.shipCompNm} / ${oneData.wdInvoiceNo}|"></th:block>
-											<button type="button" class="btn btn_default btn_sm" th:attr="shipCompCd=${oneData.shipCompCd}, wdInvoiceNo=${oneData.wdInvoiceNo}" onclick="fnGoToWithdrawDelivery()"><span>회수조회</span></button>
+											<button type="button" class="btn btn_default btn_sm" th:attr="shipCompCd=${oneData.shipCompCd}, wdInvoiceNo=${oneData.wdInvoiceNo}" onclick="fnGoToWithdrawDelivery(this)"><span>회수조회</span></button>
 										</td>
 									</tr>
 								</tbody>

+ 0 - 15
src/main/webapp/WEB-INF/views/web/mypage/MypageDeliveryInfoFormWeb.html

@@ -317,21 +317,6 @@
 			<!-- // CONT-BODY -->
 		</div>
 	</div>
-	<form id="exchangeForm" name="exchangeForm" action="#" th:action="@{'/mypage/exchange/form'}" th:method="post">
-		<input type="hidden" name="ordNo"/>
-		<input type="hidden" name="ordDtlNo"/>
-		<input type="hidden" name="delvFeeCd"/>
-	</form>
-	<form id="returnForm" name="returnForm" action="#" th:action="@{'/mypage/return/form'}" th:method="post">
-		<input type="hidden" name="ordNo"/>
-		<input type="hidden" name="ordDtlNo"/>
-		<input type="hidden" name="delvFeeCd"/>
-	</form>
-	<form id="cancelForm" name="cancelForm" th:action="@{'/mypage/cancel/form'}" th:method="post">
-		<input type="hidden" name="ordNo"/>
-		<input type="hidden" name="ordDtlNo"/>
-		<input type="hidden" name="delvFeeCd"/>
-	</form>
 <script src="/ux/plugins/gaga/gaga.paging.js"></script>
 <script th:inline="javascript">
 	let ordNo = [[${ordNo}]];

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

@@ -218,6 +218,12 @@
 													<!-- 예약 상품 -->
 													<p th:if="${!#strings.isEmpty(ordDtl.delvResDt)}" th:text="|예약판매 상품으로 ${ordDtl.delvResDt} 출고 예정입니다.|"></p>
 												</div>
+
+												<!-- 결제 완료 -->
+												<div class="order_text" th:if="${ordDtl.ordDtlStat == 'G013_20' and !#strings.isEmpty(ordDtl.delvResDt)}">
+													<!-- 예약 상품 -->
+													<p th:text="|예약판매 상품으로 ${ordDtl.delvResDt} 출고 예정입니다.|"></p>
+												</div>
 												
 												<!-- 상품준비중 -->
 												<div class="order_text" th:if="${ordDtl.ordDtlStat == 'G013_30'}">
@@ -235,8 +241,15 @@
 													<p th:if="${!#strings.isEmpty(ordDtl.delvResDt)}" th:text="|예약판매 상품으로 ${ordDtl.delvResDt} 출고 예정입니다.|"></p>
 												</div>
 												
-												<!-- 배송중, 배송완료 -->
-												<div class="order_text" th:if="${ordDtl.ordDtlStat == 'G013_50' or ordDtl.ordDtlStat == 'G013_55' or ordDtl.ordDtlStat == 'G013_60'}">
+												<!-- 배송중 -->
+												<div class="order_text" th:if="${(ordDtl.ordDtlStat == 'G013_50' or ordDtl.ordDtlStat == 'G013_55') and (ordDtl.changeableYn == 'N' or ordDtl.returnableYn == 'N')}">
+													<p th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'Y'}">해당 상품은 교환이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>
+													<p th:if="${ordDtl.changeableYn == 'Y' and ordDtl.returnableYn == 'N'}">해당 상품은 반품이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>
+													<p th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'N'}">해당 상품은 교환/반품이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>
+												</div>
+												
+												<!-- 배송완료 -->
+												<div class="order_text" th:if="${ordDtl.ordDtlStat == 'G013_60'}">
 													<p th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'Y'}">해당 상품은 교환이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>
 													<p th:if="${ordDtl.changeableYn == 'Y' and ordDtl.returnableYn == 'N'}">해당 상품은 반품이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>
 													<p th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'N'}">해당 상품은 교환/반품이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>

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

@@ -140,6 +140,12 @@
 												<!-- 예약 상품 -->
 												<p th:if="${!#strings.isEmpty(ordDtl.delvResDt)}" th:text="|예약판매 상품으로${ordDtl.delvResDt} 출고 예정입니다.|"></p>
 											</div>
+
+											<!-- 결제 완료 -->
+											<div class="order_text" th:if="${ordDtl.ordDtlStat == 'G013_20' and !#strings.isEmpty(ordDtl.delvResDt)}">
+												<!-- 예약 상품 -->
+												<p th:text="|예약판매 상품으로${ordDtl.delvResDt} 출고 예정입니다.|"></p>
+											</div>
 											
 											<!-- 상품준비중 -->
 											<div class="order_text" th:if="${ordDtl.ordDtlStat == 'G013_30'}">
@@ -157,13 +163,21 @@
 												<p th:if="${!#strings.isEmpty(ordDtl.delvResDt)}" th:text="|예약판매 상품으로${ordDtl.delvResDt} 출고 예정입니다.|"></p>
 											</div>
 											
-											<!-- 배송중, 배송완료 -->
-											<div class="order_text" th:if="${ordDtl.ordDtlStat == 'G013_50' or ordDtl.ordDtlStat == 'G013_55' or ordDtl.ordDtlStat == 'G013_60'}">
+											<!-- 배송중 -->
+											<div class="order_text" th:if="${(ordDtl.ordDtlStat == 'G013_50' or ordDtl.ordDtlStat == 'G013_55') and (ordDtl.changeableYn == 'N' or ordDtl.returnableYn == 'N')}">
+												<p th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'Y'}">해당 상품은 교환이 불가능한 상품입니다.</p>
+												<p th:if="${ordDtl.changeableYn == 'Y' and ordDtl.returnableYn == 'N'}">해당 상품은 반품이 불가능한 상품입니다.</p>
+												<p th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'N'}">해당 상품은 교환/반품이 불가능한 상품입니다.</p>
+											</div>
+
+											<!-- 배송완료 -->
+											<div class="order_text" th:if="${ordDtl.ordDtlStat == 'G013_60'}">
 												<p th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'Y'}">해당 상품은 교환이 불가능한 상품입니다.</p>
 												<p th:if="${ordDtl.changeableYn == 'Y' and ordDtl.returnableYn == 'N'}">해당 상품은 반품이 불가능한 상품입니다.</p>
 												<p th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'N'}">해당 상품은 교환/반품이 불가능한 상품입니다.</p>
 												<p th:if="${ordDtl.ordDtlStat == 'G013_60'}">15일 후 자동으로 구매확정됩니다.</p>
 											</div>
+
 										</div>
 									</th:block>
 									<!-- //주문상품 -->

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

@@ -344,8 +344,7 @@ var fnReceipt = function(param) {
 		option = 'width=370, height=625';
 	} else if (param == 'cancel') {
 		if (refundYn == 'Y') {
-			// TODO
-			// 취소전표 확인 처리
+			// URL 설정
 			receiptWin += '?cmd=card_bill';
 			receiptWin += '&tno=' + oneData.pgTid;
 			receiptWin += '&order_no=' + oneData.ordNo;