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

비회원 주문 임시 커밋

card007 5 лет назад
Родитель
Сommit
fa73264d46
23 измененных файлов с 1105 добавлено и 66 удалено
  1. 1 0
      src/main/java/com/style24/front/biz/web/TsfMypageController.java
  2. 31 6
      src/main/java/com/style24/front/biz/web/TsfNoMemberController.java
  3. 0 1
      src/main/java/com/style24/persistence/mybatis/shop/TsfOrder.xml
  4. 3 1
      src/main/java/com/style24/persistence/mybatis/shop/TsfOrderChange.xml
  5. 1 1
      src/main/webapp/WEB-INF/views/mob/mypage/MypageCancelFormMob.html
  6. 1 1
      src/main/webapp/WEB-INF/views/mob/mypage/MypageCreExchangeDetailFormMob.html
  7. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageCancelFormWeb.html
  8. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageCreCancelDetailFormWeb.html
  9. 7 5
      src/main/webapp/WEB-INF/views/web/mypage/MypageCreExchangeDetailFormWeb.html
  10. 14 14
      src/main/webapp/WEB-INF/views/web/mypage/MypageCreListFormWeb.html
  11. 4 4
      src/main/webapp/WEB-INF/views/web/mypage/MypageCreReturnDetailFormWeb.html
  12. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageExchangeFormWeb.html
  13. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageExchangeFormWeb_20210330.html
  14. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageOrderDetailFormWeb.html
  15. 3 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageReturnFormWeb.html
  16. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageReturnFormWeb_20210329.html
  17. 223 0
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberCreCancelDetailFormWeb.html
  18. 420 0
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberCreExchangeDetailFormWeb.html
  19. 26 20
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberCreListFormWeb.html
  20. 345 0
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberCreReturnDetailFormWeb.html
  21. 2 2
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberOrderDetailFormWeb.html
  22. 2 1
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberReturnFormWeb.html
  23. 16 3
      src/main/webapp/biz/mypage.js

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

@@ -1008,6 +1008,7 @@ public class TsfMypageController extends TsfBaseController {
 		OrderChange oneData = (OrderChange) map.get("oneData");
 		mav.addObject("returnDetailList", map);
 		mav.addObject("oneData", oneData);
+		mav.addObject("refundYn", map.getString("refundYn"));
 
 		// 주문 결제정보 조회
 		Order order = new Order();

+ 31 - 6
src/main/java/com/style24/front/biz/web/TsfNoMemberController.java

@@ -136,7 +136,7 @@ public class TsfNoMemberController extends TsfBaseController {
 		// 로그인여부 설정
 		mav.addObject("isLogin", false);
 
-		// 주문번호 설정
+		// 비회원 정보 설정
 		mav.addObject("ordNo", order.getOrdNo());
 		mav.addObject("ordNm", order.getOrdNm());
 		mav.addObject("ordPhnno", order.getOrdPhnno());
@@ -406,6 +406,11 @@ public class TsfNoMemberController extends TsfBaseController {
 	public ModelAndView noMemberCancelForm(Order order) {
 		ModelAndView mav = new ModelAndView();
 
+		// 비회원 정보 설정
+		mav.addObject("ordNo", order.getOrdNo());
+		mav.addObject("ordNm", order.getOrdNm());
+		mav.addObject("ordPhnno", order.getOrdPhnno());
+
 		// 취소 가능 리스트 조회
 		GagaMap map = orderChangeService.getCancelListForMypage(order);
 		Order oneData = (Order)map.get("oneData");
@@ -476,8 +481,10 @@ public class TsfNoMemberController extends TsfBaseController {
 	public ModelAndView returnForm(Order order) {
 		ModelAndView mav = new ModelAndView();
 
-		// 주문번호 설정
+		// 비회원 정보 설정
 		mav.addObject("ordNo", order.getOrdNo());
+		mav.addObject("ordNm", order.getOrdNm());
+		mav.addObject("ordPhnno", order.getOrdPhnno());
 
 		// 로그인여부 설정
 		mav.addObject("isLogin", false);
@@ -636,8 +643,10 @@ public class TsfNoMemberController extends TsfBaseController {
 	public ModelAndView exchangeForm(Order order) {
 		ModelAndView mav = new ModelAndView();
 
-		// 주문번호 설정
+		// 비회원 정보 설정
 		mav.addObject("ordNo", order.getOrdNo());
+		mav.addObject("ordNm", order.getOrdNm());
+		mav.addObject("ordPhnno", order.getOrdPhnno());
 
 		// 로그인여부 설정
 		mav.addObject("isLogin", false);
@@ -789,7 +798,7 @@ public class TsfNoMemberController extends TsfBaseController {
 	public ModelAndView mypageCreListForm(Order order) {
 		ModelAndView mav = new ModelAndView();
 
-		// 주문 정보 설정
+		// 비회원 정보 설정
 		mav.addObject("ordNo", order.getOrdNo());
 		mav.addObject("ordNm", order.getOrdNm());
 		mav.addObject("ordPhnno", order.getOrdPhnno());
@@ -872,6 +881,11 @@ public class TsfNoMemberController extends TsfBaseController {
 		order.setOrdNo(orderChange.getOrdNo());
 		mav.addObject("paymentInfo", orderService.getPaymentInfoForMypage(order));
 
+		// 비회원 정보 설정
+		mav.addObject("ordNo", orderChange.getOrdNo());
+		mav.addObject("ordNm", orderChange.getOrdNm());
+		mav.addObject("ordPhnno", orderChange.getOrdPhnno());
+
 		mav.setViewName(super.getDeviceViewName("mypage/NoMemberCreCancelDetailForm"));
 
 		return mav;
@@ -892,17 +906,23 @@ public class TsfNoMemberController extends TsfBaseController {
 		// 로그인여부 설정
 		mav.addObject("isLogin", false);
 
-		// 취소상세 데이터 조회
+		// 반품상세 데이터 조회
 		GagaMap map = orderChangeService.getCreReturnDetailInfo(orderChange);
 		OrderChange oneData = (OrderChange) map.get("oneData");
 		mav.addObject("returnDetailList", map);
 		mav.addObject("oneData", oneData);
+		mav.addObject("refundYn", map.getString("refundYn"));
 
 		// 주문 결제정보 조회
 		Order order = new Order();
 		order.setOrdNo(orderChange.getOrdNo());
 		mav.addObject("paymentInfo", orderService.getPaymentInfoForMypage(order));
 
+		// 비회원 정보 설정
+		mav.addObject("ordNo", orderChange.getOrdNo());
+		mav.addObject("ordNm", orderChange.getOrdNm());
+		mav.addObject("ordPhnno", orderChange.getOrdPhnno());
+
 		mav.setViewName(super.getDeviceViewName("mypage/NoMemberCreReturnDetailForm"));
 
 		return mav;
@@ -923,12 +943,17 @@ public class TsfNoMemberController extends TsfBaseController {
 		// 로그인여부 설정
 		mav.addObject("isLogin", false);
 
-		// 취소상세 데이터 조회
+		// 교환상세 데이터 조회
 		GagaMap map = orderChangeService.getCreExchangeDetailInfo(orderChange);
 		OrderChange oneData = (OrderChange) map.get("oneData");
 		mav.addObject("exchangeDetailList", map);
 		mav.addObject("oneData", oneData);
 
+		// 비회원 정보 설정
+		mav.addObject("ordNo", orderChange.getOrdNo());
+		mav.addObject("ordNm", orderChange.getOrdNm());
+		mav.addObject("ordPhnno", orderChange.getOrdPhnno());
+
 		mav.setViewName(super.getDeviceViewName("mypage/NoMemberCreExchangeDetailForm"));
 
 		return mav;

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

@@ -342,7 +342,6 @@
 				   , SUM(REAL_DELV_AMT)   AS REAL_DELV_AMT
 				FROM TB_DELIVERY_FEE
 			   WHERE ORD_NO = #{ordNo}
-				 AND DELV_FEE_GB = 'G018_10'
 			   GROUP BY ORD_NO
 		  ) DF
 		    ON OD.ORD_NO = DF.ORD_NO

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

@@ -1187,6 +1187,7 @@
 		     , Z.CHGER_PHNNO
 		     , Z.CHGER_BASE_ADDR
 		     , Z.CHGER_DTL_ADDR
+		     , Z.CHGER_RTN_MEMO
 		     , Z.CHG_MEMO
 		     , Z.WD_INVOICE_NO
 		     , Z.SHIP_COMP_CD
@@ -1248,6 +1249,7 @@
 		             , OC.CHGER_PHNNO
 		             , OC.CHGER_BASE_ADDR
 		             , OC.CHGER_DTL_ADDR
+		             , OC.CHGER_RTN_MEMO
 		             , OC.CHG_MEMO
 		             , OC.WD_INVOICE_NO
 		             , OC.SHIP_COMP_CD
@@ -1320,7 +1322,7 @@
 		        , Z.CHG_STAT_NM, Z.ORD_DTL_STAT, Z.ORD_NO, Z.ORD_AMT, Z.ORD_QTY, Z.CNCL_RTN_QTY, Z.CNCL_RTN_AMT, Z.CPN1_DC_AMT, Z.REAL_ORD_AMT, Z.PNT_DC_AMT
 		        , Z.GFCD_USE_AMT, Z.ORD_DTL_NO, Z.GOODS_CD, Z.BRAND_NM, Z.SHOT_DELV_YN, Z.SELF_GOODS_YN, Z.GOODS_NM
 		        , Z.GOODS_TYPE, Z.PRICE_ORG, Z.PRICE_SALE, Z.ADD_PAY_COST, Z.SYS_IMG_NM, Z.GIFT_PACK_YN, Z.WD_GB, Z.CHGER_NM, Z.CHGER_PHNNO, Z.CHGER_BASE_ADDR
-		        , Z.CHGER_DTL_ADDR, Z.CHG_MEMO, Z.WD_INVOICE_NO, Z.SHIP_COMP_CD, Z.SHIP_COMP_NM, Z.DELV_ADDR_SQ, Z.RECIP_NM, Z.RECIP_PHNNO
+		        , Z.CHGER_DTL_ADDR, Z.CHGER_RTN_MEMO, Z.CHG_MEMO, Z.WD_INVOICE_NO, Z.SHIP_COMP_CD, Z.SHIP_COMP_NM, Z.DELV_ADDR_SQ, Z.RECIP_NM, Z.RECIP_PHNNO
 		        , Z.RECIP_BASE_ADDR, Z.RECIP_DTL_ADDR, Z.DELV_MEMO, Z.PG_TID, Z.PAY_MEANS, Z.PAY_MEANS_NM, Z.CARD_NM, Z.CARD_MIPS, Z.CHG_ORD_DTL_STAT
 		 ORDER BY Z.ORD_CHG_SQ DESC
 	</select>

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

@@ -232,7 +232,7 @@
 		fnSetMypageLnbList(2);
 
 		// 마이페이지 location 설정
-		fnSetMypageLocation('취소/반품/환불내역', '_PAGE_MYPAGE_CRE_LIST', '취소 신청');
+		fnSetMypageLocation('취소/반품/교환 내역', '_PAGE_MYPAGE_CRE_LIST', '취소 신청');
 
 		// 셀렉트박스 활성화
 		$(".myOrderView .part_goods .select_custom.select_count").each(function() {

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

@@ -311,7 +311,7 @@
 			data.ordChgSq = ordChgSq;
 			data.chgerRtnMemo = delvMemo;
 		} else {
-			url = 'change/delvery/memo';
+			url = '/mypage/change/delvery/memo';
 			data.delvAddrSq = delvAddrSq;
 			data.delvMemo = delvMemo;
 		}

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

@@ -221,7 +221,7 @@
 		fnSetMypageLnbList(2);
 
 		// 마이페이지 location 설정
-		fnSetMypageLocation('취소/반품/환불내역', '_PAGE_MYPAGE_CRE_LIST', '취소 신청');
+		fnSetMypageLocation('취소/반품/교환 내역', '_PAGE_MYPAGE_CRE_LIST', '취소 신청');
 
 		// 셀렉트박스 활성화
 		$(".myOrderView .part_goods .select_custom.select_count").each(function() {

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

@@ -215,7 +215,7 @@
 		fnSetMypageLnbList(2);
 		
 		// 마이페이지 location 설정
-		fnSetMypageLocation('취소/반품/환불내역', '_PAGE_MYPAGE_CRE_LIST', '취소 상세');
+		fnSetMypageLocation('취소/반품/교환 내역', '_PAGE_MYPAGE_CRE_LIST', '취소 상세');
 	});
 /*]]>*/
 </script>

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

@@ -92,7 +92,8 @@
 											<p>
 												<th:block th:if="${exchangeDtl.chgStat == 'G685_40' && (exchangeDtl.ordDtlStat == 'G013_20' or exchangeDtl.ordDtlStat == 'G013_30' or exchangeDtl.ordDtlStat == 'G013_35' or exchangeDtl.ordDtlStat == 'G013_40' or exchangeDtl.ordDtlStat == 'G013_50')}" th:text="|교환진행중|"></th:block>
 												<th:block th:if="${exchangeDtl.chgStat == 'G685_40' && (exchangeDtl.ordDtlStat == 'G013_60' or exchangeDtl.ordDtlStat == 'G013_70')}" th:text="|교환완료|"></th:block>
-												<th:block th:unless="${exchangeDtl.chgStat == 'G685_40'}" th:text="${exchangeDtl.chgStatNm}"></th:block>
+												<th:block th:if="${exchangeDtl.chgStat == 'G685_49'}" th:text="|접수취소|"></th:block>
+												<th:block th:unless="${exchangeDtl.chgStat == 'G685_40' or exchangeDtl.chgStat == 'G685_49'}" th:text="${exchangeDtl.chgStatNm}"></th:block>
 												<span class="date" th:text="${exchangeDtl.chgDate}"></span>
 												<span class="time" th:text="${exchangeDtl.chgTime}"></span>
 											</p>
@@ -163,11 +164,11 @@
 												</li>
 												<li>
 													<span id="recipAddr" th:text="|${oneData.recipBaseAddr} ${oneData.recipDtlAddr}|"></span>
-													<button type="button" class="btn btn_default btn_sm" th:if="${oneData.chgOrdDtlStat == 'G013_20' or oneData.chgOrdDtlStat == 'G013_25' or oneData.chgOrdDtlStat == 'G013_30' or oneData.chgOrdDtlStat == 'G013_35' or oneData.chgOrdDtlStat == 'G013_40'}" onclick="fnChangeAddr('recip');"><span>배송지 변경</span></button>
+													<button type="button" class="btn btn_default btn_sm" th:if="${oneData.chgOrdDtlStat == 'G013_20' or oneData.chgOrdDtlStat == 'G013_25' or oneData.chgOrdDtlStat == 'G013_30' or oneData.chgOrdDtlStat == 'G013_35'}" onclick="fnChangeAddr('recip');"><span>배송지 변경</span></button>
 												</li>
 												<li>
 													배송요청 사항&nbsp;:&nbsp;<span id="delvMemo" th:text="${oneData.delvMemo}">직접 받고 부재 시 문 앞</span>
-													<button type="button" class="btn_underline" th:if="${oneData.chgOrdDtlStat == 'G013_20' or oneData.chgOrdDtlStat == 'G013_25' or oneData.chgOrdDtlStat == 'G013_30' or oneData.chgOrdDtlStat == 'G013_35' or oneData.chgOrdDtlStat == 'G013_40'}" onclick="fnChangeMemo('recip')"><span>변경하기</span></button>
+													<button type="button" class="btn_underline" th:if="${oneData.chgOrdDtlStat == 'G013_20' or oneData.chgOrdDtlStat == 'G013_25' or oneData.chgOrdDtlStat == 'G013_30' or oneData.chgOrdDtlStat == 'G013_35'}" onclick="fnChangeMemo('recip')"><span>변경하기</span></button>
 												</li>
 											</ul>
 										</div>
@@ -291,6 +292,7 @@
 	/*<![CDATA[*/
 	let addrGb = '';
 	let memoGb = '';
+	var isLogin = [[${isLogin}]];
 	let oneData = [[${oneData}]];
 	let ordNo = oneData.ordNo;
 	let kcpReceiptUrl = [[${@environment.getProperty('pg.kcp.receipt.url')}]];
@@ -307,7 +309,7 @@
 		fnSetMypageLnbList(2);
 		
 		// 마이페이지 location 설정
-		fnSetMypageLocation('취소/반품/환불내역', '_PAGE_MYPAGE_CRE_LIST', '반품 상세');
+		fnSetMypageLocation('취소/반품/교환 내역', '_PAGE_MYPAGE_CRE_LIST', '교환 상세');
 	});
 
 	// 배송메모 및 반품메모 변경 처리
@@ -390,7 +392,7 @@
 			data.ordChgSq = ordChgSq;
 			data.chgerRtnMemo = delvMemo;
 		} else {
-			url = 'change/delvery/memo';
+			url = '/mypage/change/delvery/memo';
 			data.delvAddrSq = delvAddrSq;
 			data.delvMemo = delvMemo;
 		}

+ 14 - 14
src/main/webapp/WEB-INF/views/web/mypage/MypageCreListFormWeb.html

@@ -163,15 +163,15 @@
 					<input type="hidden" name="stDate" value="" />
 					<input type="hidden" name="edDate" value="" />
 				</form>
-				<form id="exchangeForm" name="exchangeForm" action="#" th:action="@{'/mypage/cre/exchange/detail/form'}" th:method="post">
+				<form id="exchangeDetailForm" name="exchangeDetailForm" action="#" th:action="@{'/mypage/cre/exchange/detail/form'}" th:method="post">
 					<input type="hidden" name="ordChgSq"/>
 					<input type="hidden" name="ordNo"/>
 				</form>
-				<form id="returnForm" name="returnForm" action="#" th:action="@{'/mypage/cre/return/detail/form'}" th:method="post">
+				<form id="returnDetailForm" name="returnDetailForm" action="#" th:action="@{'/mypage/cre/return/detail/form'}" th:method="post">
 					<input type="hidden" name="ordChgSq"/>
 					<input type="hidden" name="ordNo"/>
 				</form>
-				<form id="cancelForm" name="cancelForm" th:action="@{'/mypage/cre/cancel/detail/form'}" th:method="post">
+				<form id="cancelDetailForm" name="cancelDetailForm" th:action="@{'/mypage/cre/cancel/detail/form'}" th:method="post">
 					<input type="hidden" name="ordChgSq"/>
 					<input type="hidden" name="ordNo"/>
 				</form>
@@ -190,7 +190,7 @@
 		fnSetMypageLnbList(2);
 		
 		// 마이페이지 location 설정
-		fnSetMypageLocation('취소/반품/교환내역');
+		fnSetMypageLocation('취소/반품/교환 내역');
 		
 		// datepicker 설정
 		$('.period_datepicker').datepicker();
@@ -444,7 +444,7 @@
 					tag += '										</div>\n';
 					tag += '										<div class="button_box">\n';
 					if (cre.chgStat == 'G685_20' || cre.chgStat == 'G685_21' || cre.chgStat == 'G685_50' || cre.chgStat == 'G685_51') {
-						tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + cre.ordNo + '" ordChgSq="' + cre.ordChgSq + '" cancelGb="' + cre.chgGb + '" onclick="fnCreCancel(this);"><span>신청취소</span></button></p>\n';
+						//tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + cre.ordNo + '" ordChgSq="' + cre.ordChgSq + '" cancelGb="' + cre.chgGb + '" onclick="fnCreCancel(this);"><span>신청취소</span></button></p>\n';
 					}
 					if (cre.chgStat == 'G685_21' || cre.chgStat == 'G685_51' || cre.chgStat == 'G685_32') {
 						tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + cre.ordNo + '" ordChgSq="' + cre.ordChgSq + '" onclick="fnCrePayAddCost(this);"><span>결제하기</span></button></p>\n';
@@ -550,17 +550,17 @@
 		let ordNo = $(param).attr('ordNo');
 		
 		if (chgGb == 'G680_20') {
-			$('#cancelForm input[name=ordChgSq]').val(ordChgSq);
-			$('#cancelForm input[name=ordNo]').val(ordNo);
-			document.cancelForm.submit();
+			$('#cancelDetailForm input[name=ordChgSq]').val(ordChgSq);
+			$('#cancelDetailForm input[name=ordNo]').val(ordNo);
+			document.cancelDetailForm.submit();
 		} else if (chgGb == 'G680_30') {
-			$('#returnForm input[name=ordChgSq]').val(ordChgSq);
-			$('#returnForm input[name=ordNo]').val(ordNo);
-			document.returnForm.submit();
+			$('#returnDetailForm input[name=ordChgSq]').val(ordChgSq);
+			$('#returnDetailForm input[name=ordNo]').val(ordNo);
+			document.returnDetailForm.submit();
 		} else if (chgGb == 'G680_40') {
-			$('#exchangeForm input[name=ordChgSq]').val(ordChgSq);
-			$('#exchangeForm input[name=ordNo]').val(ordNo);
-			document.exchangeForm.submit();
+			$('#exchangeDetailForm input[name=ordChgSq]').val(ordChgSq);
+			$('#exchangeDetailForm input[name=ordNo]').val(ordNo);
+			document.exchangeDetailForm.submit();
 		}
 	}
 	

+ 4 - 4
src/main/webapp/WEB-INF/views/web/mypage/MypageCreReturnDetailFormWeb.html

@@ -40,7 +40,7 @@
 						<div class="goods_head">
 							<p th:unless="${oneData.giftPackYn == 'Y'}">주문일 <span th:text="${oneData.ordDt}"></span></p>
 							<p th:if="${oneData.giftPackYn == 'Y'}">선물일 <span th:text="${oneData.ordDt}"></span></p>
-							<a href="javascript:void(0)" th:attr="ordNo=${oneData.ordNo}, ordChgSq=${oneData.ordChgSq}, cancelGb=${oneData.chgGb}" onclick="fnCreCancel(this);">전체신청취소</a>
+							<a href="javascript:void(0)" th:if="${oneData.chgStat == 'G685_50' or oneData.chgStat == 'G685_51'}" th:attr="ordNo=${oneData.ordNo}, ordChgSq=${oneData.ordChgSq}, cancelGb=${oneData.chgGb}" onclick="fnCreCancel(this);">전체신청취소</a>
 						</div>
 						<div class="goods_cont">
 							<!-- 주문상품 -->
@@ -85,7 +85,7 @@
 											<p>
 												<th:block th:if="${returnDtl.chgStat == 'G685_33'}" th:text="|환불진행중|"></th:block>
 												<th:block th:if="${returnDtl.chgStat == 'G685_69'}" th:text="|접수취소|"></th:block>
-												<th:block th:unless="${returnDtl.chgStat == 'G685_33'}" th:text="${returnDtl.chgStatNm}"></th:block>
+												<th:block th:unless="${returnDtl.chgStat == 'G685_33' or returnDtl.chgStat == 'G685_69'}" th:text="${returnDtl.chgStatNm}"></th:block>
 												<span class="date" th:text="${returnDtl.chgDate}"></span>
 												<span class="time" th:text="${returnDtl.chgTime}"></span>
 											</p>
@@ -243,7 +243,7 @@
 											</div>
 											<div th:if="${refundYn == 'Y' and oneData.pgGb == 'KCP' and oneData.payMeans == 'G014_30'}">
 												<dt class="sr-only">영수증 확인</dt>
-												<dd><button type="button" class="btn btn_default btn_sm" onclick="fnReceipt('cancel')"><span>취소 전표 보기</span></button></dd>
+												<dd><button type="button" class="btn btn_default btn_sm" th:attr="ordChgSq=${oneData.ordChgSq}, refundYn=${refundYn}" onclick="fnReceipt('cancel')"><span>취소 전표 보기</span></button></dd>
 											</div>
 										</dl>
 									</td>
@@ -280,7 +280,7 @@
 		fnSetMypageLnbList(2);
 		
 		// 마이페이지 location 설정
-		fnSetMypageLocation('취소/반품/환불내역', '_PAGE_MYPAGE_CRE_LIST', '반품 상세');
+		fnSetMypageLocation('취소/반품/교환 내역', '_PAGE_MYPAGE_CRE_LIST', '반품 상세');
 	});
 
 	var fnGoToWithdrawDelivery = function(param) {

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

@@ -309,7 +309,7 @@
 		fnSetMypageLnbList(2);
 		
 		// 마이페이지 location 설정
-		fnSetMypageLocation('취소/반품/환불내역', '_PAGE_MYPAGE_CRE_LIST', '교환 신청');
+		fnSetMypageLocation('취소/반품/교환 내역', '_PAGE_MYPAGE_CRE_LIST', '교환 신청');
 		
 		// 셀렉트박스 활성화
 		$('.select_custom').each(function() {

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

@@ -251,7 +251,7 @@
 		fnSetMypageLnbList(2);
 		
 		// 마이페이지 location 설정
-		fnSetMypageLocation('취소/반품/환불내역', '_PAGE_MYPAGE_CRE_LIST', '교환 신청');
+		fnSetMypageLocation('취소/반품/교환 내역', '_PAGE_MYPAGE_CRE_LIST', '교환 신청');
 	});
 
 	// 교환 옵션 변경 팝업

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

@@ -380,7 +380,7 @@
 												<dt>총 주문금액 (상품금액+배송비+추가비용)</dt>
 												<dd>
 													<div class="price">
-														<span class="order_total_price"><em th:text="${#numbers.formatInteger(orderAmtInfo.ordAmt - orderAmtInfo.cnclRtnAmt + orderAmtInfo.realDelvAmt, 1, 'COMMA')}"></em>원</span>
+														<span class="order_total_price"><em th:text="${#numbers.formatInteger((orderAmtInfo.ordAmt + orderAmtInfo.cpn1DcAmt) - orderAmtInfo.cnclRtnAmt + orderAmtInfo.realDelvAmt, 1, 'COMMA')}"></em>원</span>
 													</div>
 												</dd>
 											</div>

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

@@ -503,6 +503,7 @@
 
 			let data = {};
 			data.ordNo = oneData.ordNo;
+			data.delvFeeCd = oneData.delvFeeCd;
 			data.chgGb = 'G680_30';
 			data.ordDtlNoArr = ordDtlNoArr;
 			data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;
@@ -538,7 +539,8 @@
 					spanTotRtnDelvFee = 0;
 					spanTotDeliveryFee = 0;
 				}
-				
+				console.log('spanTotRtnDelvFee : '+spanTotRtnDelvFee);
+				console.log('spanTotDeliveryFee : '+spanTotDeliveryFee);
 				let goodsCancelAmt = spanCnclRtnAmt;										// 상품취소금액
 				let addDelvFee = spanTotRtnDelvFee + spanTotDeliveryFee;					// 추가배송비
 				let deductDcAmt = spanCpnDcAmt + spanTmtbDcAmt + spanPrePntDcAmt;			// 할인금액 차감(쿠폰+다다익선+선포인트)

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

@@ -340,7 +340,7 @@
 		fnSetMypageLnbList(2);
 		
 		// 마이페이지 location 설정
-		fnSetMypageLocation('취소/반품/환불내역', '_PAGE_MYPAGE_CRE_LIST', '반품 신청');
+		fnSetMypageLocation('취소/반품/교환 내역', '_PAGE_MYPAGE_CRE_LIST', '반품 신청');
 		
 		// 셀렉트박스 활성화
 		$('.select_custom.type1').each(function(index) {

+ 223 - 0
src/main/webapp/WEB-INF/views/web/mypage/NoMemberCreCancelDetailFormWeb.html

@@ -0,0 +1,223 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org"
+	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
+	layout:decorator="web/common/layout/NoMemberLayoutWeb">
+<!--
+ *******************************************************************************
+ * @source  : NoMemberCreCancelDetailFormWeb.html
+ * @desc    : 비회원 > 취소/반품/교환내역 > 취소상세 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2021 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.05.03   card007     최초 작성
+ *******************************************************************************
+ -->
+<body>
+
+<th:block layout:fragment="content">
+	<div class="content myOrderView"> <!-- 페이지특정 클래스 = myOrderView -->
+		<div class="cont_body">
+			<!-- CONT-BODY -->
+			<div class="lnb">
+				<div class="lnb_tit">
+					<h2>마이페이지</h2>
+				</div>
+				<div class="lnb_list">
+					<ul id="mypageLnbList"></ul>
+				</div>
+
+			</div>
+			<div class="cont">
+				<div class="sec_head">
+					<h3 class="subH1">취소상세</h3>
+					<span class="order_number">주문번호&nbsp;:&nbsp;<em th:text="${oneData.ordNo}"></em></span>
+				</div>
+				<div class="sec_body">
+					<div class="part_goods">
+						<div class="goods_head">
+							<p>주문일 <span th:text="${oneData.ordDt}"></span></p>
+						</div>
+						<div class="goods_cont">
+							<!-- 주문상품 -->
+							<th:block th:if="${cancelDetailList.cancelDetailList}" th:each="cancelDtl, status : ${cancelDetailList.cancelDetailList}" th:with="imageUrl=${@environment.getProperty('upload.goods.view')}">
+								<div class="goods_info">
+									<div class="order_desc">
+										<div class="goods_box">
+											<div class="gd_item">
+												<a href="javascript:void(0)" th:attr="goodsCd=${cancelDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+													<span class="thumb">
+														<img th:src="${imageUrl + '/' + cancelDtl.sysImgNm}" width="100%" alt="">
+													</span>
+													<p>
+														<span class="brand" th:text="${cancelDtl.brandNm}"></span>
+														<span class="tag primary" th:if="${cancelDtl.shotDelvYn == 'Y'}">총알배송</span>
+														<span class="tag" th:if="${cancelDtl.shotDelvYn == 'N' and cancelDtl.selfGoodsYn == 'Y'}">STYLE24 일반배송</span>
+														<span class="tag" th:if="${cancelDtl.selfGoodsYn == 'N'}">업체직배송</span>
+													</p>
+													<p>
+														<span class="name" th:text="${cancelDtl.goodsNm}"></span>
+													</p>
+												</a>
+											</div>
+											<div class="gd_opt">
+												<div class="option_wrap">
+													<span class="title sr-only">주문 옵션</span>
+													<span class="option" th:if="${cancelDtl.goodsType == 'G056_S'}" th:each="option, status : ${cancelDtl.colorNmArr}" th:text="|${cancelDtl.itemNmArr[status.index]} / ${option} / ${cancelDtl.optCd2Arr[status.index]}|"></span>
+													<span class="option" th:unless="${cancelDtl.goodsType == 'G056_S'}" th:text="|${cancelDtl.colorNm} / ${cancelDtl.optCd2}|"></span>
+												</div>
+											</div>
+											<div class="gd_calc">
+												<p>
+													<span class="count"><em th:text="${cancelDtl.chgQty}"></em>개</span>
+												</p>
+<!--												<p>-->
+<!--													<span class="price_org" th:if="${cancelDtl.priceOrg > cancelDtl.priceSale}"><em th:text="${#numbers.formatInteger(cancelDtl.priceOrg, 1, 'COMMA')}"></em>원</span>-->
+<!--													<span class="price_sale"><em th:text="${#numbers.formatInteger(cancelDtl.priceSale, 1, 'COMMA')}"></em>원</span>-->
+<!--												</p>-->
+											</div>
+										</div>
+										<div class="status_box">
+											<p>
+												<th:block th:if="${cancelDtl.chgStat == 'G685_17' or cancelDtl.chgStat == 'G685_18'}" th:text="|주문취소|"></th:block>
+												<th:block th:unless="${cancelDtl.chgStat == 'G685_17' or cancelDtl.chgStat == 'G685_18'}" th:text="${cancelDtl.chgStatNm}"></th:block>
+												<span class="date" th:text="${cancelDtl.chgDate}"></span>
+												<span class="time" th:text="${cancelDtl.chgTime}"></span>
+											</p>
+										</div>
+										<div class="button_box">
+										</div>
+									</div>
+								</div>
+							</th:block>
+							<!-- //주문상품 -->
+						</div>
+					</div>
+					<h4 class="subH3">상세 정보</h4>
+					<div class="tbl type1">
+						<table>
+							<colgroup>
+								<col width="210">
+								<col width="*">
+							</colgroup>
+							<tbody>
+								<tr>
+									<th>취소접수 일자</th>
+									<td th:text="${oneData.chgDt}"></td>
+								</tr>
+								<tr>
+									<th>취소완료 일자</th>
+									<td th:text="${oneData.completeDt}"></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h4 class="subH3">환불정보</h4>
+					<div class="tbl type6">
+						<table>
+							<colgroup>
+								<col width="50%">
+								<col width="50%">
+							</colgroup>
+							<tbody>
+								<tr>
+									<td>
+										<dl>
+											<div>
+												<dt>환불 예정 금액</dt>
+												<dd>
+													<div class="price">
+														<span class="return_total_price"><em th:text="${#numbers.formatInteger(oneData.refundAmt + oneData.rfPntAmt + oneData.rfGfcdUseAmt, 1, 'COMMA')}"></em>원</span>
+													</div>
+												</dd>
+											</div>
+											<div class="include_item"> <!-- 할인항목 표기 class명 include_item -->
+												<dt>상품 취소 금액</dt>
+												<dd><em th:text="${#numbers.formatInteger(oneData.rfCnclAmt, 1, 'COMMA')}"></em>원</dd>
+											</div>
+											<div class="include_item">
+												<dt>배송비</dt>
+												<dd><em th:text="${#numbers.formatInteger(oneData.rfDeliveryFee, 1, 'COMMA')}"></em>원</dd>
+											</div>
+											<div class="include_item">
+												<dt>할인 금액 차감</dt>
+												<dd><em th:text="${#numbers.formatInteger((oneData.rfCpn1Amt + oneData.rfTmtb1Amt + oneData.rfTmtb2Amt + oneData.rfGoodsCpnAmt + oneData.rfCartCpnAmt + oneData.rfPrePntAmt) * -1, 1, 'COMMA')}"></em>원</dd>
+											</div>
+										</dl>
+									</td>
+									<td>
+										<dl>
+											<div>
+												<dt>결제 금액 환불</dt>
+												<dd>
+													<em th:text="${#numbers.formatInteger(oneData.refundAmt, 1, 'COMMA')}"></em>원
+												</dd>
+											</div>
+											<div>
+												<dt>포인트 환불</dt>
+												<dd>
+													<em th:text="${#numbers.formatInteger(oneData.rfPntAmt, 1, 'COMMA')}"></em>P
+												</dd>
+											</div>
+											<div>
+												<dt>상품권 환불</dt>
+												<dd>
+													<em  th:text="${#numbers.formatInteger(oneData.rfGfcdUseAmt, 1, 'COMMA')}"></em>원
+												</dd>
+											</div>
+											<div>
+												<dt>환불 수단</dt>
+												<dd th:if="${oneData.pgGb == 'KCP'}" th:text="${oneData.payMeansNm}"></dd>
+												<dd th:if="${oneData.pgGb == 'NAVER'}">네이버페이</dd>
+												<dd th:if="${oneData.pgGb == 'KAKAO'}">카카오페이</dd>
+												<dd th:if="${oneData.pgGb == 'PAYCO'}">PAYCO</dd>
+											</div>
+											<div th:if="${oneData.pgGb == 'KCP' and oneData.payMeans == 'G014_30'}">
+												<dt class="sr-only">영수증 확인</dt>
+												<dd><button type="button" class="btn btn_default btn_sm" th:attr="ordChgSq=${oneData.ordChgSq}, refundYn=${refundYn}" onclick="fnReceipt('cancel')"><span>취소 전표 보기</span></button></dd>
+											</div>
+										</dl>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<div class="txt_info">
+						<ul>
+							<li>
+								카드사로 결제 취소 요청이 전달된 후 환불까지는 평일 기준 3 ~7일이 소요될 수 있습니다.
+							</li>
+						</ul>
+					</div>
+					<div class="btn_footer_area">
+						<button type="button" class="btn btn_dark btn_md" onclick="fnGoToNoMemberCreList()"><span>확인</span></button>
+					</div>
+				</div>
+			</div>
+			<!-- // CONT-BODY -->
+		</div>
+	</div>
+<script src="/ux/plugins/gaga/gaga.paging.js"></script>
+<script th:inline="javascript">
+	/*<![CDATA[*/
+	let oneData = [[${oneData}]];
+	let kcpReceiptUrl = [[${@environment.getProperty('pg.kcp.receipt.url')}]];
+	let refundYn = [[${refundYn}]];
+
+	$(document).ready(function() {
+		// 마이페이지 LNB 설정
+		fnSetNoMemberLnbList(2);
+
+		// 마이페이지 location 설정
+		fnSetNoMemberLocation('취소/반품/교환 내역', '취소 상세');
+	});
+/*]]>*/
+</script>
+
+</th:block>
+
+</body>
+</html>

+ 420 - 0
src/main/webapp/WEB-INF/views/web/mypage/NoMemberCreExchangeDetailFormWeb.html

@@ -0,0 +1,420 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org"
+	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
+	layout:decorator="web/common/layout/NoMemberLayoutWeb">
+<!--
+ *******************************************************************************
+ * @source  : NoMemberCreExchangeDetailFormWeb.html
+ * @desc    : 비회원 > 취소/반품/교환내역 > 교환상세 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2021 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.05.03   card007     최초 작성
+ *******************************************************************************
+ -->
+<body>
+
+<th:block layout:fragment="content">
+	<div class="content myOrderView"> <!-- 페이지특정 클래스 = myOrderView -->
+		<div class="cont_body">
+			<!-- CONT-BODY -->
+			<div class="lnb">
+				<div class="lnb_tit">
+					<h2>마이페이지</h2>
+				</div>
+				<div class="lnb_list">
+					<ul id="mypageLnbList"></ul>
+				</div>
+			</div>
+			<div class="cont">
+				<div class="sec_head">
+					<h3 class="subH1">교환상세</h3>
+					<span class="order_number">주문번호&nbsp;:&nbsp;<em th:text="${oneData.ordNo}"></em></span>
+				</div>
+				<div class="sec_body">
+					<div class="part_goods">
+						<div class="goods_head">
+							<p>주문일 <span th:text="${oneData.ordDt}"></span></p>
+							<a href="javascript:void(0)" th:if="${oneData.chgStat == 'G685_20' or oneData.chgStat == 'G685_21'}" th:attr="ordNo=${oneData.ordNo}, ordChgSq=${oneData.ordChgSq}, cancelGb=${oneData.chgGb}, noMember=noMember" onclick="fnCreCancel(this);">전체신청취소</a>
+						</div>
+						<div class="goods_cont">
+							<!-- 주문상품 -->
+							<th:block th:if="${exchangeDetailList.exchangeDetailList}" th:each="exchangeDtl, status : ${exchangeDetailList.exchangeDetailList}" th:with="imageUrl=${@environment.getProperty('upload.goods.view')}">
+								<div class="goods_info">
+									<div class="order_desc">
+										<div class="goods_box">
+											<div class="gd_item">
+												<a href="javascript:void(0)" th:attr="goodsCd=${exchangeDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+													<span class="thumb">
+														<img th:src="${imageUrl + '/' + exchangeDtl.sysImgNm}" width="100%" alt="">
+													</span>
+													<p>
+														<span class="brand" th:text="${exchangeDtl.brandNm}"></span>
+														<span class="tag primary" th:if="${exchangeDtl.shotDelvYn == 'Y'}">총알배송</span>
+														<span class="tag" th:if="${exchangeDtl.shotDelvYn == 'N' and exchangeDtl.selfGoodsYn == 'Y'}">STYLE24 일반배송</span>
+														<span class="tag" th:if="${exchangeDtl.selfGoodsYn == 'N'}">업체직배송</span>
+													</p>
+													<p>
+														<span class="name" th:text="${exchangeDtl.goodsNm}"></span>
+													</p>
+												</a>
+											</div>
+											<div class="gd_opt">
+												<div class="option_wrap">
+													<span class="title sr-only">주문 옵션</span>
+													<span class="option" th:if="${exchangeDtl.goodsType == 'G056_S'}" th:each="option, status : ${exchangeDtl.colorNmArr}" th:text="|${exchangeDtl.itemNmArr[status.index]} / ${option} / ${exchangeDtl.optCd2Arr[status.index]}|"></span>
+													<span class="option" th:unless="${exchangeDtl.goodsType == 'G056_S'}" th:text="|${exchangeDtl.colorNm} / ${exchangeDtl.optCd2}|"></span>
+												</div>
+											</div>
+											<div class="gd_calc">
+												<p>
+													<span class="count"><em th:text="${exchangeDtl.chgQty}"></em>개</span>
+												</p>
+<!--												<p>-->
+<!--													<span class="price_org" th:if="${exchangeDtl.priceOrg > exchangeDtl.priceSale}"><em th:text="${#numbers.formatInteger(exchangeDtl.priceOrg, 1, 'COMMA')}"></em>원</span>-->
+<!--													<span class="price_sale"><em th:text="${#numbers.formatInteger(exchangeDtl.priceSale, 1, 'COMMA')}"></em>원</span>-->
+<!--												</p>-->
+											</div>
+											<div class="gd_opt">
+												<div class="option_wrap">
+													<span class="title">교환 옵션</span>
+													<span class="option" th:if="${exchangeDtl.goodsType == 'G056_S'}" th:each="option, status : ${exchangeDtl.chgColorNmArr}" th:text="|${exchangeDtl.chgItemNmArr[status.index]} / ${option} / ${exchangeDtl.chgOptCd2Arr[status.index]}|"></span>
+													<span class="option" th:unless="${exchangeDtl.goodsType == 'G056_S'}" th:text="|${exchangeDtl.chgColorNm} / ${exchangeDtl.chgOptCd2}|"></span>
+												</div>
+											</div>
+										</div>
+										<div class="status_box">
+											<p>
+												<th:block th:if="${exchangeDtl.chgStat == 'G685_40' && (exchangeDtl.ordDtlStat == 'G013_20' or exchangeDtl.ordDtlStat == 'G013_30' or exchangeDtl.ordDtlStat == 'G013_35' or exchangeDtl.ordDtlStat == 'G013_40' or exchangeDtl.ordDtlStat == 'G013_50')}" th:text="|교환진행중|"></th:block>
+												<th:block th:if="${exchangeDtl.chgStat == 'G685_40' && (exchangeDtl.ordDtlStat == 'G013_60' or exchangeDtl.ordDtlStat == 'G013_70')}" th:text="|교환완료|"></th:block>
+												<th:block th:if="${exchangeDtl.chgStat == 'G685_49'}" th:text="|접수취소|"></th:block>
+												<th:block th:unless="${exchangeDtl.chgStat == 'G685_40' or exchangeDtl.chgStat == 'G685_49'}" th:text="${exchangeDtl.chgStatNm}"></th:block>
+												<span class="date" th:text="${exchangeDtl.chgDate}"></span>
+												<span class="time" th:text="${exchangeDtl.chgTime}"></span>
+											</p>
+										</div>
+										<div class="button_box">
+											<p th:if="${exchangeDtl.chgStat == 'G685_32' or exchangeDtl.chgStat == 'G685_21'}"><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${exchangeDtl.ordNo}, ordChgSq=${exchangeDtl.ordChgSq}" onclick="fnCrePayAddCost(this);"><span>결제하기</span></button></p>
+											<p th:if="${exchangeDtl.chgStat == 'G685_40' && (exchangeDtl.ordDtlStat == 'G013_20' or exchangeDtl.ordDtlStat == 'G013_30' or exchangeDtl.ordDtlStat == 'G013_35' or exchangeDtl.ordDtlStat == 'G013_40' or exchangeDtl.ordDtlStat == 'G013_50')}"><button type="button" class="btn btn_default btn_sm" th:attr="${exchangeDtl.ordDtlNo}" onclick="fnGoToDeliveryTrack(this);"><span>배송조회</span></button></p>
+										</div>
+									</div>
+									<!-- 교환결제대기 -->
+									<div class="order_text" th:if="${exchangeDtl.chgStat == 'G685_21' or (exchangeDtl.chgGb == 'G680_40' and exchangeDtl.chgStat == 'G685_32')}"><p th:text="|${exchangeDtl.addPayCost}|원 결제 후 교환 가능합니다."></p></div>
+									<!-- 교환접수 -->
+									<div class="order_text" th:if="${exchangeDtl.chgStat == 'G685_20'}"><p>교환 신청이 접수 되었습니다. 신속하게 처리하여 드리겠습니다.</p></div>
+									<!-- 회수요청 -->
+									<div class="order_text" th:if="${exchangeDtl.chgStat == 'G685_30'}"><p>고객님이 요청하신 회수지로 상품을 회수 중에 있습니다.</p></div>
+									<!-- 교환상품검수중 -->
+									<div class="order_text" th:if="${exchangeDtl.chgStat == 'G685_31' and exchangeDtl.chgGb == 'G680_40'}"><p>고객님이 교환하신 상품을 검수 중에 있습니다.</p></div>
+									<!-- 교환완료 -->
+									<div class="order_text" th:if="${exchangeDtl.chgStat == 'G685_40' and (exchangeDtl.chgOrdDtlStat == 'G013_60' or exchangeDtl.chgOrdDtlStat == 'G013_70')}"><p>반품이 완료되었습니다.</p></div>
+									<!-- 교환철회 -->
+									<div class="order_text" th:if="${exchangeDtl.chgStat == 'G685_49'}"><p>요청하신 교환을 취소하였습니다.</p></div>
+								</div>
+							</th:block>
+							<!-- //주문상품 -->
+						</div>
+					</div>
+					<h4 class="subH3">상세 정보</h4>
+					<div class="tbl type1">
+						<table>
+							<colgroup>
+								<col width="210">
+								<col width="*">
+							</colgroup>
+							<tbody>
+								<tr>
+									<th>교환접수 일자</th>
+									<td th:text="${oneData.chgDt}"></td>
+								</tr>
+								<tr>
+									<th>교환완료 일자</th>
+									<td th:if="${oneData.chgStat == 'G685_40' && (oneData.ordDtlStat == 'G013_60' or oneData.ordDtlStat == 'G013_70')}" th:text="${oneData.completeDt}"></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h4 class="subH3">교환 상품 배송지</h4>
+					<div class="tbl type1">
+						<table>
+							<colgroup>
+								<col width="210">
+								<col width="*">
+							</colgroup>
+							<tbody>
+								<tr>
+									<th>
+										배송지 정보
+									</th>
+									<td>
+										<div class="block_line">
+											<ul>
+												<li>
+													<span id="recipNm" th:text="${oneData.recipNm}"></span>
+												</li>
+												<li>
+													<span id="recipPhnno" th:text="${oneData.recipPhnno}"></span>
+												</li>
+												<li>
+													<span id="recipAddr" th:text="|${oneData.recipBaseAddr} ${oneData.recipDtlAddr}|"></span>
+													<button type="button" class="btn btn_default btn_sm" th:if="${oneData.chgOrdDtlStat == 'G013_20' or oneData.chgOrdDtlStat == 'G013_25' or oneData.chgOrdDtlStat == 'G013_30' or oneData.chgOrdDtlStat == 'G013_35'}" onclick="fnChangeAddr('recip');"><span>배송지 변경</span></button>
+												</li>
+												<li>
+													배송요청 사항&nbsp;:&nbsp;<span id="delvMemo" th:text="${oneData.delvMemo}"></span>
+													<button type="button" class="btn_underline" th:if="${oneData.chgOrdDtlStat == 'G013_20' or oneData.chgOrdDtlStat == 'G013_25' or oneData.chgOrdDtlStat == 'G013_30' or oneData.chgOrdDtlStat == 'G013_35'}" onclick="fnChangeMemo('recip')"><span>변경하기</span></button>
+												</li>
+											</ul>
+										</div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<th:block th:if="${oneData.wdGb == 'W'}">
+						<h4 class="subH3">교환 회수지 주소</h4>
+						<div class="tbl type1">
+							<table>
+								<colgroup>
+									<col width="210">
+									<col width="*">
+								</colgroup>
+								<tbody>
+									<tr>
+										<th>회수 진행 여부</th>
+										<td>회수요청</td>
+									</tr>
+									<tr>
+										<th>회수지 정보</th>
+										<td>
+											<div class="block_line">
+												<ul>
+													<li>
+														<span id="chgerNm" th:text="${oneData.chgerNm}"></span>
+													</li>
+													<li>
+														<span id="chgerPhnno" th:text="${oneData.chgerPhnno}"></span>
+													</li>
+													<li>
+														<span id="chgerAddr" th:text="|${oneData.chgerBaseAddr} ${oneData.chgerDtlAddr}|"></span>
+														<button type="button" class="btn btn_default btn_sm" th:if="${oneData.chgStat == 'G685_20' or oneData.chgStat == 'G685_21'}" onclick="fnChangeAddr('chger');"><span>회수지 변경</span></button>
+													</li>
+													<li>
+														배송요청 사항&nbsp;:&nbsp;<span id="chgerRtnMemo" th:text="${oneData.chgerRtnMemo}"></span>
+														<button type="button" class="btn_underline" th:if="${oneData.chgStat == 'G685_20' or oneData.chgStat == 'G685_21'}" onclick="fnChangeMemo('chger');"><span>변경하기</span></button>
+													</li>
+												</ul>
+											</div>
+										</td>
+									</tr>
+									<tr th:if="${not #strings.isEmpty(oneData.wdInvoiceNo) and not #strings.isEmpty(oneData.shipCompNm)}">
+										<th>회수 정보</th>
+										<td>
+											<th:block th:text="|${oneData.shipCompNm} / ${oneData.wdInvoiceNo}|"></th:block>
+											<button type="button" class="btn btn_default btn_sm" onclick="fnGoToWithdrawDelivery()"><span>회수조회</span></button>
+										</td>
+									</tr>
+								</tbody>
+							</table>
+						</div>
+					</th:block>
+					<th:block th:if="${oneData.addPayCost > 0}">
+						<h4 class="subH3">결제정보</h4>
+						<div class="tbl type6">
+							<table>
+								<colgroup>
+									<col width="50%">
+									<col width="50%">
+								</colgroup>
+								<tbody>
+									<tr>
+										<td>
+											<dl>
+												<div>
+													<dt>배송비</dt>
+													<dd>
+														<div class="price">
+															<span class="order_total_price"><em th:text="${#numbers.formatInteger(oneData.addPayCost, 1, 'COMMA')}"></em>원</span>
+														</div>
+													</dd>
+												</div>
+	<!--											<div class="include_item"> &lt;!&ndash; 할인항목 표기 class명 include_item &ndash;&gt;-->
+	<!--												<dt>제휴할인</dt>-->
+	<!--												<dd><em>-123,456,789</em>원</dd>-->
+	<!--											</div>-->
+											</dl>
+										</td>
+										<td>
+											<dl>
+												<div>
+													<dt>결제 금액</dt>
+													<dd>
+														<div class="price">
+															<span class="pay_total_price"><em th:text="${#numbers.formatInteger(oneData.addPayCost, 1, 'COMMA')}"></em>원</span>
+														</div>
+													</dd>
+												</div>
+												<div>
+													<dt class="sr-only">결제방법</dt>
+													<dd th:if="${oneData.payMeans == 'G014_30'}" th:text="|${oneData.payMeansNm}(${oneData.cardNm}) / ${oneData.cardMips}|"></dd>
+													<dd th:if="${oneData.payMeans == 'G014_60'}" th:text="${oneData.payMeansNm}"></dd>
+												</div>
+												<div th:if="${oneData.payMeans == 'G014_30'}">
+													<dt class="sr-only">영수증 확인</dt>
+													<dd>
+														<button type="button" class="btn btn_default btn_sm" onclick="fnReceipt('card')"><span>신용카드 전표</span></button>
+													</dd>
+												</div>
+											</dl>
+										</td>
+									</tr>
+								</tbody>
+							</table>
+							<p class="t_help">※ NPAY등의 대체결제수단으로 결제 시 해당 결제 플랫폼에서 영수증 확인이 가능합니다.</p>
+						</div>
+					</th:block>
+					<div class="btn_footer_area">
+						<button type="button" class="btn btn_dark btn_md" onclick="fnGoToNoMemberCreList();"><span>확인</span></button>
+					</div>
+				</div>
+			</div>
+			<!-- // CONT-BODY -->
+		</div>
+	</div>
+<script src="/ux/plugins/gaga/gaga.paging.js"></script>
+<script th:inline="javascript">
+	/*<![CDATA[*/
+	let addrGb = '';
+	let memoGb = '';
+	var isLogin = [[${isLogin}]];
+	let oneData = [[${oneData}]];
+	let ordNo = oneData.ordNo;
+	let kcpReceiptUrl = [[${@environment.getProperty('pg.kcp.receipt.url')}]];
+
+	// 추가배송비 전표 데이터 설정
+	let paymentInfo = {};
+	paymentInfo.pgTid = oneData.pgTid;
+	let orderAmtInfo = {};
+	orderAmtInfo.realOrdAmt = oneData.addPayCost;
+	orderAmtInfo.realDelvAmt = 0;
+
+	$(document).ready(function() {
+		// 마이페이지 LNB 설정
+		fnSetNoMemberLnbList(2);
+		
+		// 마이페이지 location 설정
+		fnSetNoMemberLocation('취소/반품/교환 내역', '교환 상세');
+	});
+
+	// 배송메모 및 반품메모 변경 처리
+	var fnChangeMemo = function(param) {
+		memoGb = param;
+		fnChangeDeliveryMemo();
+	}
+
+	// 배송지 및 교환지 변경 처리
+	var fnChangeAddr = function(param) {
+		addrGb = param;
+		fnChangeDeliveryAddr();
+	}
+
+	// 배송지 및 회수지 정보 설정
+	var delvAddrSet = function(delvObj) {
+		let url = '';
+		let ordChgSq = oneData.ordChgSq;
+		let delvAddrSq = oneData.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 recipAddr = recipBaseAddr + ' ' + recipDtlAddr;
+
+		let data = {};
+
+		if (addrGb == 'chger') {
+			url = '/noMember/change/chger/addr';
+			data.ordChgSq = ordChgSq;
+			data.chgerNm = recipNm;
+			data.chgerPhnno = recipPhnno;
+			data.chgerZipcode = recipZipcode;
+			data.chgerBaseAddr = recipBaseAddr;
+			data.chgerDtlAddr = recipDtlAddr;
+			data.chgerRtnMemo = delvMemo;
+		} else {
+			url = '/noMember/change/delvery/addr';
+			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) {
+			if (result.status == '200') {
+				if (addrGb == 'chger') {
+					$('#chgerNm').text(recipNm);
+					$('#chgerPhnno').text(recipPhnno);
+					$('#chgerAddr').text(recipAddr);
+					$('#chgerRtnMemo').text(delvMemo);
+				} else {
+					$('#recipNm').text(recipNm);
+					$('#recipPhnno').text(recipPhnno);
+					$('#recipAddr').text(recipAddr);
+					$('#delvMemo').text(delvMemo);
+				}
+			}
+		});
+	}
+
+	// 배송메모 설정
+	var delvMemoSet = function(delvMemoObj) {
+		let url = '';
+		let ordChgSq = oneData.ordChgSq;
+		let delvAddrSq = oneData.delvAddrSq;
+		let delvMemo = delvMemoObj.delvMemo;
+
+		let data = {};
+
+		if (memoGb == 'chger') {
+			url = '/noMember/change/chger/rtn/memo';
+			data.ordChgSq = ordChgSq;
+			data.chgerRtnMemo = delvMemo;
+		} else {
+			url = '/noMember/change/delvery/memo';
+			data.delvAddrSq = delvAddrSq;
+			data.delvMemo = delvMemo;
+		}
+
+		let jsonData = JSON.stringify(data);
+
+		gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
+			if (result.status == '200') {
+				if (memoGb == 'chger') {
+					$("#chgerRtnMemo").text(delvMemo);
+				} else {
+					$("#delvMemo").text(delvMemo);
+				}
+			}
+		});
+	}
+
+	var fnGoToWithdrawDelivery = function(param) {
+		// TODO
+		// 회수조회 페이지 이동
+	}
+/*]]>*/
+</script>
+
+</th:block>
+
+</body>
+</html>

+ 26 - 20
src/main/webapp/WEB-INF/views/web/mypage/NoMemberCreListFormWeb.html

@@ -2,7 +2,7 @@
 <html lang="ko"
 	xmlns:th="http://www.thymeleaf.org"
 	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
-	layout:decorator="web/common/layout/MypageLayoutWeb">
+	layout:decorator="web/common/layout/NoMemberLayoutWeb">
 <!--
  *******************************************************************************
  * @source  : NoMemberCreListFormWeb.html
@@ -166,17 +166,23 @@
 					<input type="hidden" name="ordNm" th:value="${ordNm}" />
 					<input type="hidden" name="ordPhnno" th:value="${ordPhnno}" />
 				</form>
-				<form id="exchangeForm" name="exchangeForm" action="#" th:action="@{'/noMember/cre/exchange/detail/form'}" th:method="post">
+				<form id="exchangeDetailForm" name="exchangeDetailForm" action="#" th:action="@{'/noMember/cre/exchange/detail/form'}" th:method="post">
 					<input type="hidden" name="ordChgSq"/>
-					<input type="hidden" name="ordNo"/>
+					<input type="hidden" name="ordNo" th:value="${ordNo}" />
+					<input type="hidden" name="ordNm" th:value="${ordNm}" />
+					<input type="hidden" name="ordPhnno" th:value="${ordPhnno}" />
 				</form>
-				<form id="returnForm" name="returnForm" action="#" th:action="@{'/noMember/cre/return/detail/form'}" th:method="post">
+				<form id="returnDetailForm" name="returnDetailForm" action="#" th:action="@{'/noMember/cre/return/detail/form'}" th:method="post">
 					<input type="hidden" name="ordChgSq"/>
-					<input type="hidden" name="ordNo"/>
+					<input type="hidden" name="ordNo" th:value="${ordNo}" />
+					<input type="hidden" name="ordNm" th:value="${ordNm}" />
+					<input type="hidden" name="ordPhnno" th:value="${ordPhnno}" />
 				</form>
-				<form id="cancelForm" name="cancelForm" th:action="@{'/noMember/cre/cancel/detail/form'}" th:method="post">
+				<form id="cancelDetailForm" name="cancelDetailForm" th:action="@{'/noMember/cre/cancel/detail/form'}" th:method="post">
 					<input type="hidden" name="ordChgSq"/>
-					<input type="hidden" name="ordNo"/>
+					<input type="hidden" name="ordNo" th:value="${ordNo}" />
+					<input type="hidden" name="ordNm" th:value="${ordNm}" />
+					<input type="hidden" name="ordPhnno" th:value="${ordPhnno}" />
 				</form>
 			</div>
 			<!-- // CONT-BODY -->
@@ -193,7 +199,7 @@
 		fnSetNoMemberLnbList(2);
 		
 		// 마이페이지 location 설정
-		fnSetNoMemberLocation('취소/반품/교환내역');
+		fnSetNoMemberLocation('취소/반품/교환 내역');
 		
 		// datepicker 설정
 		$('.period_datepicker').datepicker();
@@ -443,7 +449,7 @@
 					tag += '										</div>\n';
 					tag += '										<div class="button_box">\n';
 					if (cre.chgStat == 'G685_20' || cre.chgStat == 'G685_21' || cre.chgStat == 'G685_50' || cre.chgStat == 'G685_51') {
-						tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + cre.ordNo + '" ordChgSq="' + cre.ordChgSq + '" cancelGb="' + cre.chgGb + '" onclick="fnCreCancel(this);"><span>신청취소</span></button></p>\n';
+						//tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + cre.ordNo + '" ordChgSq="' + cre.ordChgSq + '" cancelGb="' + cre.chgGb + '" onclick="fnCreCancel(this);"><span>신청취소</span></button></p>\n';
 					}
 					if (cre.chgStat == 'G685_21' || cre.chgStat == 'G685_51' || cre.chgStat == 'G685_32') {
 						tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + cre.ordNo + '" ordChgSq="' + cre.ordChgSq + '" onclick="fnCrePayAddCost(this);"><span>결제하기</span></button></p>\n';
@@ -545,20 +551,20 @@
 	var fnGoToCreDetail = function(param) {
 		let ordChgSq = $(param).attr('ordChgSq');
 		let chgGb = $(param).attr('chgGb');
-		let ordNo = $(param).attr('ordNo');
-		
+		//let ordNo = $(param).attr('ordNo');
+
 		if (chgGb == 'G680_20') {
-			$('#cancelForm input[name=ordChgSq]').val(ordChgSq);
-			$('#cancelForm input[name=ordNo]').val(ordNo);
-			document.cancelForm.submit();
+			$('#cancelDetailForm input[name=ordChgSq]').val(ordChgSq);
+			//$('#cancelDetailForm input[name=ordNo]').val(ordNo);
+			document.cancelDetailForm.submit();
 		} else if (chgGb == 'G680_30') {
-			$('#returnForm input[name=ordChgSq]').val(ordChgSq);
-			$('#returnForm input[name=ordNo]').val(ordNo);
-			document.returnForm.submit();
+			$('#returnDetailForm input[name=ordChgSq]').val(ordChgSq);
+			//$('#returnDetailForm input[name=ordNo]').val(ordNo);
+			document.returnDetailForm.submit();
 		} else if (chgGb == 'G680_40') {
-			$('#exchangeForm input[name=ordChgSq]').val(ordChgSq);
-			$('#exchangeForm input[name=ordNo]').val(ordNo);
-			document.exchangeForm.submit();
+			$('#exchangeDetailForm input[name=ordChgSq]').val(ordChgSq);
+			//$('#exchangeDetailForm input[name=ordNo]').val(ordNo);
+			document.exchangeDetailForm.submit();
 		}
 	}
 	

+ 345 - 0
src/main/webapp/WEB-INF/views/web/mypage/NoMemberCreReturnDetailFormWeb.html

@@ -0,0 +1,345 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org"
+	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
+	layout:decorator="web/common/layout/NoMemberLayoutWeb">
+<!--
+ *******************************************************************************
+ * @source  : NoMemberCreReturnDetailFormWeb.html
+ * @desc    : 비회원 > 취소/반품/교환내역 > 반품상세 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2021 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.05.03   card007     최초 작성
+ *******************************************************************************
+ -->
+<body>
+
+<th:block layout:fragment="content">
+	<div class="content myOrderView"> <!-- 페이지특정 클래스 = myOrderView -->
+		<div class="cont_body">
+			<!-- CONT-BODY -->
+			<div class="lnb">
+				<div class="lnb_tit">
+					<h2>마이페이지</h2>
+				</div>
+				<div class="lnb_list">
+					<ul id="mypageLnbList"></ul>
+				</div>
+			</div>
+			<div class="cont">
+				<div class="sec_head">
+					<h3 class="subH1">반품상세</h3>
+					<span class="order_number">주문번호&nbsp;:&nbsp;<em th:text="${oneData.ordNo}"></em></span>
+				</div>
+				<div class="sec_body">
+					<div class="part_goods">
+						<div class="goods_head">
+							<p>주문일 <span th:text="${oneData.ordDt}"></span></p>
+							<a href="javascript:void(0)" th:if="${oneData.chgStat == 'G685_50' or oneData.chgStat == 'G685_51'}" th:attr="ordNo=${oneData.ordNo}, ordChgSq=${oneData.ordChgSq}, cancelGb=${oneData.chgGb}, noMember=noMember" onclick="fnCreCancel(this);">전체신청취소</a>
+						</div>
+						<div class="goods_cont">
+							<!-- 주문상품 -->
+							<th:block th:if="${returnDetailList.returnDetailList}" th:each="returnDtl, status : ${returnDetailList.returnDetailList}" th:with="imageUrl=${@environment.getProperty('upload.goods.view')}">
+								<div class="goods_info">
+									<div class="order_desc">
+										<div class="goods_box">
+											<div class="gd_item">
+												<a href="javascript:void(0)" th:attr="goodsCd=${returnDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+													<span class="thumb">
+														<img th:src="${imageUrl + '/' + returnDtl.sysImgNm}" width="100%" alt="">
+													</span>
+													<p>
+														<span class="brand" th:text="${returnDtl.brandNm}"></span>
+														<span class="tag primary" th:if="${returnDtl.shotDelvYn == 'Y'}">총알배송</span>
+														<span class="tag" th:if="${returnDtl.shotDelvYn == 'N' and returnDtl.selfGoodsYn == 'Y'}">STYLE24 일반배송</span>
+														<span class="tag" th:if="${returnDtl.selfGoodsYn == 'N'}">업체직배송</span>
+													</p>
+													<p>
+														<span class="name" th:text="${returnDtl.goodsNm}"></span>
+													</p>
+												</a>
+											</div>
+											<div class="gd_opt">
+												<div class="option_wrap">
+													<span class="title sr-only">주문 옵션</span>
+													<span class="option" th:if="${returnDtl.goodsType == 'G056_S'}" th:each="option, status : ${returnDtl.colorNmArr}" th:text="|${returnDtl.itemNmArr[status.index]} / ${option} / ${returnDtl.optCd2Arr[status.index]}|"></span>
+													<span class="option" th:unless="${returnDtl.goodsType == 'G056_S'}" th:text="|${returnDtl.colorNm} / ${returnDtl.optCd2}|"></span>
+												</div>
+											</div>
+											<div class="gd_calc">
+												<p>
+													<span class="count"><em th:text="${returnDtl.chgQty}"></em>개</span>
+												</p>
+<!--												<p>-->
+<!--													<span class="price_org" th:if="${returnDtl.priceOrg > returnDtl.priceSale}"><em th:text="${#numbers.formatInteger(returnDtl.priceOrg, 1, 'COMMA')}"></em>원</span>-->
+<!--													<span class="price_sale"><em th:text="${#numbers.formatInteger(returnDtl.priceSale, 1, 'COMMA')}"></em>원</span>-->
+<!--												</p>-->
+											</div>
+										</div>
+										<div class="status_box">
+											<p>
+												<th:block th:if="${returnDtl.chgStat == 'G685_33'}" th:text="|환불진행중|"></th:block>
+												<th:block th:if="${returnDtl.chgStat == 'G685_69'}" th:text="|접수취소|"></th:block>
+												<th:block th:unless="${returnDtl.chgStat == 'G685_33' or returnDtl.chgStat == 'G685_69'}" th:text="${returnDtl.chgStatNm}"></th:block>
+												<span class="date" th:text="${returnDtl.chgDate}"></span>
+												<span class="time" th:text="${returnDtl.chgTime}"></span>
+											</p>
+										</div>
+										<div class="button_box">
+<!--											<p th:if="${returnDtl.chgStat == 'G685_50' or returnDtl.chgStat == 'G685_51'}"><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${returnDtl.ordNo}, ordChgSq=${returnDtl.ordChgSq}, cancelGb=${returnDtl.chgGb}" onclick="fnCreCancel(this);"><span>신청취소</span></button></p>-->
+											<p th:if="${returnDtl.chgStat == 'G685_32' or returnDtl.chgStat == 'G685_51'}"><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${returnDtl.ordNo}, ordChgSq=${returnDtl.ordChgSq}" onclick="fnCrePayAddCost(this);"><span>결제하기</span></button></p>
+										</div>
+									</div>
+									<!-- 반품결제대기 -->
+									<div class="order_text" th:if="${returnDtl.chgStat == 'G685_51' or (returnDtl.chgGb == 'G680_30' and returnDtl.chgStat == 'G685_32')}"><p th:text="|${returnDtl.addPayCost}원 결제 후 반품 가능합니다.|"></p></div>
+									<!-- 교환접수 -->
+									<div class="order_text" th:if="${returnDtl.chgStat == 'G685_50'}"><p>반품 신청이 접수 되었습니다. 신속하게 처리하여 드리겠습니다.</p></div>
+									<!-- 회수요청 -->
+									<div class="order_text" th:if="${returnDtl.chgStat == 'G685_30'}"><p>고객님이 요청하신 회수지로 상품을 회수 중에 있습니다.</p></div>
+									<!-- 반품상품검수중 -->
+									<div class="order_text" th:if="${returnDtl.chgStat == 'G685_31' and returnDtl.chgGb == 'G680_30'}"><p>고객님이 반품하신 상품을 검수 중에 있습니다.</p></div>
+									<!-- 반품진행중 -->
+									<div class="order_text" th:if="${returnDtl.chgStat == 'G685_33'}"><p>환불을 진행하고 있습니다(영업일 최대 3일 내 환불 예정)</p></div>
+									<!-- 반품완료 -->
+									<div class="order_text" th:if="${returnDtl.chgStat == 'G685_60'}"><p>반품이 완료되었습니다.</p></div>
+									<!-- 반품철회 -->
+									<div class="order_text" th:if="${returnDtl.chgStat == 'G685_69'}"><p>요청하신 반품을 취소하였습니다.</p></div>
+								</div>
+							</th:block>
+							<!-- //주문상품 -->
+						</div>
+					</div>
+					<h4 class="subH3">상세 정보</h4>
+					<div class="tbl type1">
+						<table>
+							<colgroup>
+								<col width="210">
+								<col width="*">
+							</colgroup>
+							<tbody>
+								<tr>
+									<th>반품접수 일자</th>
+									<td th:text="${oneData.chgDt}"></td>
+								</tr>
+								<tr>
+									<th>반품완료 일자</th>
+									<td th:text="${oneData.completeDt}"></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<th:block th:if="${oneData.wdGb == 'W'}">
+						<h4 class="subH3">반품 회수지 주소</h4>
+						<div class="tbl type1">
+							<table>
+								<colgroup>
+									<col width="210">
+									<col width="*">
+								</colgroup>
+								<tbody>
+									<tr>
+										<th>회수 진행 여부</th>
+										<td>회수요청</td>
+									</tr>
+									<tr>
+										<th>회수지 정보</th>
+										<td>
+											<div class="block_line">
+												<ul>
+													<li>
+														<span id="chgerNm" th:text="${oneData.chgerNm}"></span>
+													</li>
+													<li>
+														<span id="chgerPhnno" th:text="${oneData.chgerPhnno}"></span>
+													</li>
+													<li>
+														<span id="chgerAddr" th:text="|${oneData.chgerBaseAddr} ${oneData.chgerDtlAddr}|"></span>
+														<button type="button" class="btn btn_default btn_sm" th:if="${oneData.chgStat == 'G685_50' or oneData.chgStat == 'G685_51'}" onclick="fnChangeDeliveryAddr();"><span>회수지 변경</span></button>
+													</li>
+													<li>
+														배송요청 사항&nbsp;:&nbsp;<span id="chgerRtnMemo" th:text="${oneData.chgerRtnMemo}"></span>
+														<button type="button" class="btn_underline" th:if="${oneData.chgStat == 'G685_50' or oneData.chgStat == 'G685_51'}" onclick="fnChangeDeliveryMemo(this)"><span>변경하기</span></button>
+													</li>
+												</ul>
+											</div>
+										</td>
+									</tr>
+									<tr th:if="${not #strings.isEmpty(oneData.wdInvoiceNo) and not #strings.isEmpty(oneData.shipCompNm)}">
+										<th>회수 정보</th>
+										<td>
+											<th:block th:text="|${oneData.shipCompNm} / ${oneData.wdInvoiceNo}|"></th:block>
+											<button type="button" class="btn btn_default btn_sm" onclick="fnGoToWithdrawDelivery()"><span>회수조회</span></button>
+										</td>
+									</tr>
+								</tbody>
+							</table>
+						</div>
+					</th:block>
+					<h4 class="subH3">환불정보</h4>
+					<div class="tbl type6">
+						<table>
+							<colgroup>
+								<col width="50%">
+								<col width="50%">
+							</colgroup>
+							<tbody>
+								<tr>
+									<td>
+										<dl>
+											<div>
+												<dt>환불 예정 금액</dt>
+												<dd>
+													<div class="price">
+														<span class="return_total_price"><em th:text="${#numbers.formatInteger(oneData.refundAmt + oneData.rfPntAmt + oneData.rfGfcdUseAmt, 1, 'COMMA')}"></em>원</span>
+													</div>
+												</dd>
+											</div>
+											<div class="include_item"> <!-- 할인항목 표기 class명 include_item -->
+												<dt>상품 취소 금액</dt>
+												<dd><em th:text="${#numbers.formatInteger(oneData.rfCnclAmt, 1, 'COMMA')}"></em>원</dd>
+											</div>
+											<div class="include_item">
+												<dt>배송비</dt>
+												<dd><em th:text="${#numbers.formatInteger(oneData.rfDeliveryFee, 1, 'COMMA')}"></em>원</dd>
+											</div>
+											<div class="include_item">
+												<dt>할인 금액 차감</dt>
+												<dd><em th:text="${#numbers.formatInteger(-(oneData.rfCpn1Amt + oneData.rfTmtb1Amt + oneData.rfTmtb2Amt + oneData.rfGoodsCpnAmt + oneData.rfCartCpnAmt + oneData.rfPrePntAmt), 1, 'COMMA')}"></em>원</dd>
+											</div>
+										</dl>
+									</td>
+									<td>
+										<dl>
+											<div>
+												<dt>결제 금액 환불</dt>
+												<dd>
+													<em th:text="${#numbers.formatInteger(oneData.refundAmt, 1, 'COMMA')}"></em>원
+												</dd>
+											</div>
+											<div>
+												<dt>포인트 환불</dt>
+												<dd>
+													<em th:text="${#numbers.formatInteger(oneData.rfPntAmt, 1, 'COMMA')}"></em>P
+												</dd>
+											</div>
+											<div>
+												<dt>상품권 환불</dt>
+												<dd>
+													<em  th:text="${#numbers.formatInteger(oneData.rfGfcdUseAmt, 1, 'COMMA')}"></em>원
+												</dd>
+											</div>
+											<div>
+												<dt>환불 수단</dt>
+												<dd th:if="${oneData.pgGb == 'KCP'}" th:text="${oneData.payMeansNm}"></dd>
+												<dd th:if="${oneData.pgGb == 'NAVER'}">네이버페이</dd>
+												<dd th:if="${oneData.pgGb == 'KAKAO'}">카카오페이</dd>
+												<dd th:if="${oneData.pgGb == 'PAYCO'}">PAYCO</dd>
+											</div>
+											<div th:if="${refundYn == 'Y' and oneData.pgGb == 'KCP' and oneData.payMeans == 'G014_30'}">
+												<dt class="sr-only">영수증 확인</dt>
+												<dd><button type="button" class="btn btn_default btn_sm" th:attr="ordChgSq=${oneData.ordChgSq}, refundYn=${refundYn}" onclick="fnReceipt('cancel')"><span>취소 전표 보기</span></button></dd>
+											</div>
+										</dl>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<div class="txt_info">
+						<ul>
+							<li>
+								카드사로 결제 취소 요청이 전달된 후 환불까지는 평일 기준 3 ~7일이 소요될 수 있습니다.
+							</li>
+						</ul>
+					</div>
+					<div class="btn_footer_area">
+						<button type="button" class="btn btn_dark btn_md" onclick="fnGoToNoMemberCreList();"><span>확인</span></button>
+					</div>
+				</div>
+			</div>
+			<!-- // CONT-BODY -->
+		</div>
+	</div>
+<script src="/ux/plugins/gaga/gaga.paging.js"></script>
+<script th:inline="javascript">
+	/*<![CDATA[*/
+	let oneData = [[${oneData}]];
+	var isLogin = [[${isLogin}]];
+	let ordNo = oneData.ordNo;
+	let kcpReceiptUrl = [[${@environment.getProperty('pg.kcp.receipt.url')}]];
+	let jsonObj = {};
+
+	$(document).ready(function() {
+		// 마이페이지 LNB 설정
+		fnSetNoMemberLnbList(2);
+		
+		// 마이페이지 location 설정
+		fnSetNoMemberLocation('취소/반품/교환 내역', '반품 상세');
+	});
+
+	var fnGoToWithdrawDelivery = function(param) {
+		// TODO
+		// 회수조회 페이지 이동
+	}
+
+	// 회수지 정보 설정
+	var delvAddrSet = function(delvObj) {
+		let ordChgSq = oneData.ordChgSq;
+		let chgerNm = delvObj.recipNm;
+		let chgerPhnno = delvObj.recipPhnno;
+		let chgerZipcode = delvObj.recipZipcode;
+		let chgerBaseAddr = delvObj.recipBaseAddr;
+		let chgerDtlAddr = delvObj.recipDtlAddr;
+		let chgerRtnMemo = delvObj.delvMemo;
+		let chgerAddr = chgerBaseAddr + ' ' + chgerDtlAddr;
+
+		let data = {};
+		data.ordChgSq = ordChgSq;
+		data.chgerNm = chgerNm;
+		data.chgerPhnno = chgerPhnno;
+		data.chgerZipcode = chgerZipcode;
+		data.chgerBaseAddr = chgerBaseAddr;
+		data.chgerDtlAddr = chgerDtlAddr;
+		data.chgerRtnMemo = chgerRtnMemo;
+
+		let jsonData = JSON.stringify(data);
+
+		gagajf.ajaxJsonSubmit('/noMember/change/chger/addr', jsonData, function(result) {
+			if (result.status == '200') {
+				$('#chgerNm').text(chgerNm);
+				$('#chgerPhnno').text(chgerPhnno);
+				$('#chgerAddr').text(chgerAddr);
+				$('#chgerRtnMemo').text(chgerRtnMemo);
+			}
+		});
+	}
+	
+	// 배송메모 설정
+	var delvMemoSet = function(delvMemoObj) {
+		let ordChgSq = oneData.ordChgSq;
+		let delvMemo = delvMemoObj.delvMemo;
+
+		let data = {};
+		data.ordChgSq = ordChgSq;
+		data.chgerRtnMemo = delvMemo;
+		
+		let jsonData = JSON.stringify(data);
+		
+		gagajf.ajaxJsonSubmit('/noMember/change/chger/rtn/memo', jsonData, function(result) {
+			if (result.status == '200') {
+				$("#chgerRtnMemo").text(delvMemo);
+			}
+		});
+		
+	}
+/*]]>*/
+</script>
+
+</th:block>
+
+</body>
+</html>

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

@@ -263,7 +263,7 @@
 													<dt>총 주문금액 (상품금액+배송비+추가비용)</dt>
 													<dd>
 														<div class="price">
-															<span class="order_total_price"><em th:text="${#numbers.formatInteger(orderAmtInfo.ordAmt - orderAmtInfo.cnclRtnAmt + orderAmtInfo.realDelvAmt, 1, 'COMMA')}"></em>원</span>
+															<span class="order_total_price"><em th:text="${#numbers.formatInteger((orderAmtInfo.ordAmt + orderAmtInfo.cpn1DcAmt) - orderAmtInfo.cnclRtnAmt + orderAmtInfo.realDelvAmt, 1, 'COMMA')}"></em>원</span>
 														</div>
 													</dd>
 												</div>
@@ -371,7 +371,7 @@
 			
 			$.ajax( {
 				type		: "POST",
-				url 		: '/mypage/refund/account/register/popup/form',
+				url 		: '/noMember/refund/account/register/popup/form',
 				data		: jsonData,
 				dataType 	: 'html',
 				beforeSend : function(xhr, settings) {

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

@@ -465,7 +465,7 @@
 
 				document.addPaymentForm.submit();
 			} else {
-				fnGoToNoMemberCreList()
+				fnGoToNoMemberCreList();
 			}
 		}, true);
 	}
@@ -500,6 +500,7 @@
 			data.ordNm = oneData.ordNm;
 			data.ordPhnno = oneData.ordPhnno;
 			data.chgGb = 'G680_30';
+			data.delvFeeCd = oneData.delvFeeCd;
 			data.ordDtlNoArr = ordDtlNoArr;
 			data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;
 			

+ 16 - 3
src/main/webapp/biz/mypage.js

@@ -386,16 +386,25 @@ var fnCreCancel = function(param) {
 	let ordNo = $(param).attr('ordNo');
 	let ordChgSq = $(param).attr('ordChgSq');
 	let cancelGb = $(param).attr('cancelGb');
+	let noMember = $(param).attr('noMember');
 	let url;
 	let msg;
 
 	if (cancelGb == 'G680_30') {
 		// 반품신청철회
-		url = '/mypage/return/cancel';
+		if (noMember == 'noMember') {
+			url = '/noMember/return/cancel';
+		} else {
+			url = '/mypage/return/cancel';
+		}
 		msg = '반품 신청을 취소하시겠습니까?';
 	} else if (cancelGb == 'G680_40') {
 		// 교환신청철회
-		url = '/mypage/exchange/cancel';
+		if (noMember == 'noMember') {
+			url = '/noMember/exchange/cancel';
+		} else {
+			url = '/mypage/exchange/cancel';
+		}
 		msg = '교환 신청을 취소하시겠습니까?';
 	}
 
@@ -410,7 +419,11 @@ var fnCreCancel = function(param) {
 		sureBtnText: "확인",
 		sureBtnClick: function() {
 			gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
-				cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
+				if (noMember == 'noMember') {
+					fnGoToNoMemberCreList();
+				} else {
+					cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
+				}
 			});
 		}
 	});