Sfoglia il codice sorgente

Merge branch 'card007' into order

card007 5 anni fa
parent
commit
09577ccb80
30 ha cambiato i file con 1883 aggiunte e 158 eliminazioni
  1. 1 1
      src/main/java/com/style24/front/biz/web/TsfMypageController.java
  2. 809 55
      src/main/java/com/style24/front/biz/web/TsfNoMemberController.java
  3. 1 1
      src/main/java/com/style24/persistence/mybatis/shop/TsfOrder.xml
  4. 16 6
      src/main/java/com/style24/persistence/mybatis/shop/TsfOrderChange.xml
  5. 0 1
      src/main/webapp/WEB-INF/views/mob/mypage/MypageCancelFormMob.html
  6. 0 1
      src/main/webapp/WEB-INF/views/mob/mypage/MypageCreListFormMob.html
  7. 1 7
      src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderDetailFormMob.html
  8. 0 2
      src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderListFormMob.html
  9. 0 3
      src/main/webapp/WEB-INF/views/mob/order/OrderCompleteMob.html
  10. 0 14
      src/main/webapp/WEB-INF/views/mob/order/OrderFormMob.html
  11. 0 1
      src/main/webapp/WEB-INF/views/mob/order/OrderGiftCompleteMob.html
  12. 0 1
      src/main/webapp/WEB-INF/views/mob/popup/DelvAddrAddPopMob.html
  13. 1 4
      src/main/webapp/WEB-INF/views/mob/popup/DelvAddrChangePopMob.html
  14. 1 2
      src/main/webapp/WEB-INF/views/mob/popup/DelvAddrModifyPopMob.html
  15. 90 0
      src/main/webapp/WEB-INF/views/web/common/layout/NoMemberLayoutWeb.html
  16. 0 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageCancelFormWeb.html
  17. 3 3
      src/main/webapp/WEB-INF/views/web/mypage/MypageCreExchangeDetailFormWeb.html
  18. 0 2
      src/main/webapp/WEB-INF/views/web/mypage/MypageCustDeliveryAddrFormWeb.html
  19. 5 7
      src/main/webapp/WEB-INF/views/web/mypage/MypageOrderDetailFormWeb.html
  20. 1 2
      src/main/webapp/WEB-INF/views/web/mypage/MypageReturnFormWeb.html
  21. 404 0
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberCancelFormWeb.html
  22. 505 0
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberOrderDetailFormWeb.html
  23. 14 24
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberOrderListFormWeb.html
  24. 0 1
      src/main/webapp/WEB-INF/views/web/order/OrderAddPaymentFormWeb.html
  25. 0 3
      src/main/webapp/WEB-INF/views/web/order/OrderCompleteWeb.html
  26. 0 1
      src/main/webapp/WEB-INF/views/web/popup/DelvAddrAddPopWeb.html
  27. 0 3
      src/main/webapp/WEB-INF/views/web/popup/DelvAddrChangePopWeb.html
  28. 0 2
      src/main/webapp/WEB-INF/views/web/popup/DelvAddrModifyPopWeb.html
  29. 31 9
      src/main/webapp/biz/mypage.js
  30. 0 1
      src/main/webapp/ux/plugins/gaga/gaga.paging.js

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

@@ -5,7 +5,6 @@ import java.util.Collection;
 import java.util.List;
 
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -289,6 +288,7 @@ public class TsfMypageController extends TsfBaseController {
 
 		// 페이징 처리 설정
 		order.setCustNo(custNo);
+		log.info("order >>> {}", order);
 		TscPageRequest pageable = new TscPageRequest((order.getPageNo() > 0 ? order.getPageNo() - 1 : 0), order.getPageSize(), order.getPageUnit());
 		pageable.setTotalCount(orderService.getPagingOrdNoListCount(order));
 		order.setPageable(pageable);

+ 809 - 55
src/main/java/com/style24/front/biz/web/TsfNoMemberController.java

@@ -5,10 +5,8 @@ import java.util.Collection;
 import java.util.List;
 
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -16,26 +14,28 @@ import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 
 import com.gagaframework.web.parameter.GagaMap;
+import com.gagaframework.web.rest.server.GagaResponse;
 import com.gagaframework.web.rest.server.GagaResponseStatus;
 import com.style24.core.biz.service.TscCustomerService;
-import com.style24.core.biz.service.TscFreegiftService;
 import com.style24.core.biz.service.TscOrderChangeService;
 import com.style24.core.biz.service.TscOrderRefundService;
 import com.style24.core.biz.service.TscOrderService;
+import com.style24.core.biz.service.TscWmsService;
 import com.style24.core.support.env.TscConstants;
 import com.style24.core.support.message.TscMessageByLocale;
 import com.style24.front.biz.service.TsfCartService;
-import com.style24.front.biz.service.TsfCustomerService;
+import com.style24.front.biz.service.TsfCommonService;
 import com.style24.front.biz.service.TsfGiftcardService;
 import com.style24.front.biz.service.TsfOrderChangeService;
 import com.style24.front.biz.service.TsfOrderService;
 import com.style24.front.biz.service.TsfRendererService;
-import com.style24.front.biz.thirdparty.NiceCertify;
 import com.style24.front.support.controller.TsfBaseController;
 import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.TscPageRequest;
+import com.style24.persistence.domain.Cart;
 import com.style24.persistence.domain.Customer;
 import com.style24.persistence.domain.Order;
+import com.style24.persistence.domain.OrderChange;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -59,21 +59,9 @@ public class TsfNoMemberController extends TsfBaseController {
 	@Autowired
 	private TsfOrderService orderService;
 
-	@Autowired
-	private TscFreegiftService coreFreegiftService;
-
 	@Autowired
 	private TsfCartService cartService;
 
-	@Autowired
-	private Environment env;
-	
-	@Autowired
-	private NiceCertify niceCertify;
-
-	@Autowired
-	private TsfCustomerService customerService;
-
 	@Autowired
 	private TscCustomerService coreCustomerService;
 
@@ -92,8 +80,14 @@ public class TsfNoMemberController extends TsfBaseController {
 	@Autowired
 	private TsfGiftcardService giftcardService;
 
+	@Autowired
+	private TsfCommonService commonService;
+
+	@Autowired
+	private TscWmsService coreWmsService;
+
 	/**
-	 * 마이페이지 메인 화면
+	 * 비회원 주문 내역
 	 *
 	 * @param Order(ordNm, ordPhnno, ordNo)
 	 * @return ModelAndView
@@ -103,6 +97,11 @@ public class TsfNoMemberController extends TsfBaseController {
 	@PostMapping("/order/list/form")
 	public ModelAndView noMemberOrderListForm(Order order) {
 		ModelAndView mav = new ModelAndView();
+		
+		// 핸드폰번호 하이픈 처리
+		if (!order.getOrdPhnno().contains("-")) {
+			order.setOrdPhnno(order.getOrdPhnno().replaceAll("(\\d{3})(\\d{3,4})(\\d{4})", "$1-$2-$3"));
+		}
 
 		// 비회원 정보 설정
 		mav.addObject("ordNo", order.getOrdNo());
@@ -125,44 +124,30 @@ public class TsfNoMemberController extends TsfBaseController {
 	}
 
 	/**
-	 * 마이페이지 주문상세 화면
-	 *
-	 * @return
+	 * 비회원 주문상세 화면
+	 * 
+	 * @param Order
+	 * @return ModelAndView
 	 * @author card007
-	 * @since 2021. 02. 15
+	 * @since 2021. 04. 28
 	 */
-	@GetMapping({"/order/detail/form/{ordNo}"})
-	public ModelAndView mypageOrderDetailForm(@PathVariable(value = "ordNo") int ordNo) {
+	@PostMapping("/order/detail/form")
+	public ModelAndView noMemberOrderDetailForm(Order order) {
 		ModelAndView mav = new ModelAndView();
 
-		// 고객번호 설정
-		int custNo = TsfSession.getInfo().getCustNo();
-		mav.addObject("custNo", custNo);
-
-		// 고객정보 조회
-		Customer customer = new Customer();
-		customer.setSiteCd(TscConstants.Site.STYLE24.value());
-		customer.setCustNo(custNo);
-		customer.setCustStat(TscConstants.CustStat.ACTIVE.value());
-		customer = coreCustomerService.getCustomerInfo(customer);
-
-		mav.addObject("customerInfo", customer);
-
 		// 로그인여부 설정
-		mav.addObject("isLogin", TsfSession.isLogin());
+		mav.addObject("isLogin", false);
 
 		// 주문번호 설정
-		mav.addObject("ordNo", ordNo);
-
-		Order order = new Order();
-		order.setCustNo(custNo);
-		order.setOrdNo(ordNo);
+		mav.addObject("ordNo", order.getOrdNo());
+		mav.addObject("ordNm", order.getOrdNm());
+		mav.addObject("ordPhnno", order.getOrdPhnno());
 
 		// 주문목록 조회
 		Collection<GagaMap> orderList = orderService.getOrderListForMypage(order);
 
 		if (orderList.size() == 0) {
-			mav.setViewName("redirect:/mypage/order/list/form");
+			mav.setViewName("redirect:/noMember/order/list/form");
 			return mav;
 		}
 
@@ -185,18 +170,18 @@ public class TsfNoMemberController extends TsfBaseController {
 		// 상품권 현금영수증 신청 정보 조회
 		mav.addObject("cashReceiptsInfo", giftcardService.getCashReceiptsRequestInfo(order));
 
-		mav.setViewName(super.getDeviceViewName("mypage/MypageOrderDetailForm"));
+		mav.setViewName(super.getDeviceViewName("mypage/NoMemberOrderDetailForm"));
 
 		return mav;
 	}
 
 	/**
-	 * 마이페이지 주문목록 조회
-	 *
+	 * 비회원 주문목록 조회
+	 * 
 	 * @param Order
-	 * @return ModelAndView
+	 * @return GagaMap
 	 * @author card007
-	 * @since 2021. 02. 18
+	 * @since 2021. 04. 28
 	 */
 	@PostMapping("/order/list")
 	@ResponseBody
@@ -226,19 +211,18 @@ public class TsfNoMemberController extends TsfBaseController {
 	}
 
 	/**
-	 * 마이페이지 주문상세 주문내역 삭제
-	 *
-	 * @return
+	 * 비회원 주문상세 주문내역 삭제
+	 * 
+	 * @param Order
+	 * @return GagaMap
 	 * @author card007
-	 * @since 2021. 02. 15
+	 * @since 2021. 04. 28
 	 */
 	@PostMapping("/order/delete")
 	@ResponseBody
 	public GagaMap deleteOrder(@RequestBody Order order) {
 		GagaMap result = new GagaMap();
 
-		// 고객번호 설정
-
 		// 주문내역 삭제 처리
 		order.setUpdNo(0);
 		int chk = orderService.updateOrderDisplayYn(order);
@@ -253,4 +237,774 @@ public class TsfNoMemberController extends TsfBaseController {
 
 		return result;
 	}
+
+	/**
+	 * 비회원 반품신청 환불금액 계산
+	 * 
+	 * @param OrderChange
+	 * @return GagaMap
+	 * @author card007
+	 * @since 2021. 04. 28
+	 */
+	@SuppressWarnings("unchecked")
+	@PostMapping("/cancel/refund/amt/calculate")
+	@ResponseBody
+	public GagaMap calculateRefundAmt(@RequestBody OrderChange orderChange) {
+		if (orderChange == null) {
+			throw new IllegalStateException(message.getMessage("FAIL_1001"));
+		}
+
+		// 2. 환불 사전 정보 조회
+		GagaMap refundPreInfo = coreOrderChangeService.getRefundPreInfo(orderChange);
+		List<Order> cnclReqList = (List<Order>)refundPreInfo.get("cnclReqList");
+
+		return coreOrderRefundService.cnclRtnRefundAmt(cnclReqList);
+	}
+
+	/**
+	 * 비회원 배송지 정보 수정
+	 * 
+	 * @param Order
+	 * @return GagaMap
+	 * @author card007
+	 * @since 2021. 04. 28
+	 */
+	@PostMapping("/change/delvery/addr")
+	@ResponseBody
+	public GagaMap changeDelveryAddr(@RequestBody Order order) {
+		GagaMap result = new GagaMap();
+		result.set("status", GagaResponseStatus.SUCCESS.getCode());
+		result.set("message", message.getMessage("DELV_0001"));
+
+		try {
+			order.setCustNo(0);
+			commonService.updateDeliverAddr(order);
+			commonService.updateDeliverAddrDelvMemo(order);
+
+			// TODO
+			// WMS IF TABLE 내 정보 업데이트 처리 필요
+		} catch (Exception e) {
+			result.set("status", GagaResponseStatus.FAIL.getCode());
+			result.set("message", message.getMessage("FAIL_0002"));
+		}
+
+		return result;
+	}
+
+	/**
+	 * 비회원 배송 메모 수정
+	 *
+	 * @param Order
+	 * @return GagaMap
+	 * @author card007
+	 * @since 2021. 04. 28
+	 */
+	@PostMapping("/change/delvery/memo")
+	@ResponseBody
+	public GagaMap changeDelveryAddrDelvMemo(@RequestBody Order order) {
+		GagaMap result = new GagaMap();
+		result.set("status", GagaResponseStatus.SUCCESS.getCode());
+		result.set("message", message.getMessage("DELV_0002"));
+
+		order.setCustNo(0);
+
+		try {
+			commonService.updateDeliverAddrDelvMemo(order);
+		} catch (Exception e) {
+			result.set("status", GagaResponseStatus.FAIL.getCode());
+			result.set("message", message.getMessage("FAIL_0002"));
+		}
+
+		return result;
+	}
+
+	/**
+	 * 비회원 회수지 정보 수정
+	 * 
+	 * @param OrderChange
+	 * @return GagaMap
+	 * @author card007
+	 * @since 2021. 04. 28
+	 */
+	@PostMapping("/change/chger/addr")
+	@ResponseBody
+	public GagaMap changeChgerAddr(@RequestBody OrderChange orderChange) {
+		GagaMap result = new GagaMap();
+		result.set("status", GagaResponseStatus.SUCCESS.getCode());
+		result.set("message", message.getMessage("DELV_0003"));
+
+		try {
+			orderChange.setUpdNo(0);
+			orderChangeService.updateChgerAddr(orderChange);
+
+			// TODO
+			// WMS IF TABLE 내 정보 업데이트 처리 필요
+		} catch (Exception e) {
+			result.set("status", GagaResponseStatus.FAIL.getCode());
+			result.set("message", message.getMessage("FAIL_0002"));
+		}
+
+		return result;
+	}
+
+	/**
+	 * 비회원 반품메모 수정
+	 *
+	 * @param Order
+	 * @return GagaMap
+	 * @author card007
+	 * @since 2021. 04. 13
+	 */
+	@PostMapping("/change/chger/rtn/memo")
+	@ResponseBody
+	public GagaMap changeChgerRtnMemo(@RequestBody OrderChange orderChange) {
+		GagaMap result = new GagaMap();
+		result.set("status", GagaResponseStatus.SUCCESS.getCode());
+		result.set("message", message.getMessage("DELV_0004"));
+
+		try {
+			orderChange.setUpdNo(0);
+			orderChangeService.updateChgerRtnMemo(orderChange);
+
+			// TODO
+			// WMS IF TABLE 내 정보 업데이트 처리 필요
+		} catch (Exception e) {
+			throw new IllegalStateException(message.getMessage("FAIL_0002"));
+		}
+
+		return result;
+	}
+
+	/**
+	 * 비회원 취소신청 화면
+	 *
+	 * @param Order
+	 * @return ModelAndView
+	 * @author card007
+	 * @since 2021. 04. 28
+	 */
+	@PostMapping("/cancel/form")
+	@ResponseBody
+	public ModelAndView noMemberCancelForm(Order order) {
+		ModelAndView mav = new ModelAndView();
+
+		// 취소 가능 리스트 조회
+		GagaMap map = orderChangeService.getCancelListForMypage(order);
+		Order oneData = (Order)map.get("oneData");
+		mav.addObject("cancelList", map);
+		mav.addObject("oneData", oneData);
+
+		// 주문 결제정보 조회
+		mav.addObject("paymentInfo", orderService.getPaymentInfoForMypage(order));
+
+		mav.setViewName(super.getDeviceViewName("/mypage/NoMemberCancelForm"));
+
+		return mav;
+	}
+
+	/**
+	 * 마이페이지 취소신청
+	 *
+	 * @param Collection<Order>
+	 * @return GagaMap
+	 * @author card007
+	 * @since 2021. 03. 22
+	 */
+	@SuppressWarnings("unchecked")
+	@PostMapping("/cancel")
+	@ResponseBody
+	public GagaMap cancel(@RequestBody OrderChange orderChange) {
+		if (orderChange == null) {
+			throw new IllegalStateException(message.getMessage("FAIL_1001"));
+		}
+
+		// 1. 취소완료 처리
+		orderChange.setCustNo(0);
+		GagaMap result = coreOrderChangeService.orderCancelPreInfo(orderChange, 0);
+
+		// TODO
+		// 취소 완료 알림톡 발송 에정
+
+		result.set("status", GagaResponseStatus.SUCCESS.getCode());
+		result.set("message", message.getMessage("CANCEL_0001"));
+
+		return result;
+	}
+
+	/**
+	 * 마이페이지 장바구니 관련 정보 조회
+	 *
+	 * @param Cart
+	 * @return Collecion<Cart>
+	 * @author card007
+	 * @since 2021. 03. 26
+	 */
+	@PostMapping("/cart/add/info")
+	@ResponseBody
+	public Collection<Cart> getAddCartInfo(@RequestBody Cart cart) {
+		return cartService.getAddCartInfoForMypage(cart);
+	}
+
+	// ==================================    아직 처리 안함    =====================================
+	/**
+	 * 마이페이지 교환신청 화면
+	 *
+	 * @param Order
+	 * @return ModelAndView
+	 * @author card007
+	 * @since 2021. 02. 22
+	 */
+	@PostMapping("/exchange/form")
+	@ResponseBody
+	public ModelAndView exchangeForm(Order order) {
+		ModelAndView mav = new ModelAndView();
+
+		// 주문번호 설정
+		mav.addObject("ordNo", order.getOrdNo());
+
+		// 고객번호 설정
+		int custNo = TsfSession.getInfo().getCustNo();
+		order.setCustNo(custNo);
+		mav.addObject("custNo", custNo);
+
+		// 고객정보 조회
+		Customer customer = new Customer();
+		customer.setSiteCd(TscConstants.Site.STYLE24.value());
+		customer.setCustNo(custNo);
+		customer.setCustStat(TscConstants.CustStat.ACTIVE.value());
+		customer = coreCustomerService.getCustomerInfo(customer);
+
+		mav.addObject("customerInfo", customer);
+
+		// 로그인여부 설정
+		mav.addObject("isLogin", TsfSession.isLogin());
+
+		// 교환 가능 리스트 조회
+		GagaMap map = orderChangeService.getReturnListForMypage(order);
+		Order oneData = (Order)map.get("oneData");
+		mav.addObject("exchangeList", map);
+		mav.addObject("oneData", oneData);
+
+		// 주문 배송지 정보 조회
+		mav.addObject("deliveryAddrInfo", orderService.getOrderDeliveryAddrInfo(order));
+
+		// 교환 사유 목록 조회
+		mav.addObject("exchangeReason", rendererService.getCommonCodeList("G689", "Y"));
+
+		mav.setViewName(super.getDeviceViewName("/mypage/MypageExchangeForm"));
+
+		return mav;
+	}
+
+	/**
+	 * 마이페이지 교환 옵션 변경 팝업
+	 *
+	 * @param Order
+	 * @return ModelAndView
+	 * @author card007
+	 * @since 2021. 03. 30
+	 */
+	@PostMapping("/change/option/popup/form")
+	@ResponseBody
+	public ModelAndView changeOptionPopupForm(OrderChange orderChange) {
+		ModelAndView mav = new ModelAndView();
+
+		// custNo 설정
+		if (TsfSession.isLogin()) {
+			orderChange.setCustNo(TsfSession.getInfo().getCustNo());
+		} else {
+			orderChange.setCustNo(0);
+		}
+
+		// 교환 옵션 정보 조회
+		Collection<OrderChange> exchangeOptionInfo = orderChangeService.getExchangeOptionInfo(orderChange);
+		mav.addObject("exchangeOptionInfo", exchangeOptionInfo);
+		mav.addObject("oneData", exchangeOptionInfo.iterator().next());
+		mav.addObject("ordDtlNo", orderChange.getOrdDtlNo());
+		mav.addObject("chgQty", orderChange.getChgQty());
+
+		mav.setViewName(super.getDeviceViewName("mypage/ChangeOptionPopupForm"));
+
+		return mav;
+	}
+
+	/**
+	 * 교환신청
+	 *
+	 * @param OrderChange
+	 * @return GagaMap
+	 * @author card007
+	 * @since 2021. 04. 06
+	 */
+	@SuppressWarnings("unchecked")
+	@PostMapping("/exchange")
+	@ResponseBody
+	public GagaMap excReq(@RequestBody OrderChange orderChange) {
+		GagaMap result = new GagaMap();
+
+		// 교환요청 데이터 확인
+		if (orderChange == null) {
+			result.set("status", GagaResponseStatus.FAIL.getCode());
+			result.set("message", message.getMessage("FAIL_1001"));
+			return result;
+		}
+
+		// 세션 고객번호 설정
+		int custNo = TsfSession.getInfo().getCustNo();
+		orderChange.setUpdNo(custNo);
+		orderChange.setRegNo(custNo);
+
+		// 교환처리
+		result = coreOrderChangeService.exchReq(orderChange);
+
+		// 처리 결과 코드에 따른 메세지 설정
+		if (result.get("status").equals(GagaResponseStatus.SUCCESS.getCode())) {
+			if (orderChange.getAddPayCost() == 0) {
+				result.set("message", message.getMessage("EXCHANGE_0001"));
+			}
+		} else {
+			result.set("message", message.getMessage("FAIL_0004"));
+		}
+
+		return result;
+	}
+
+	/**
+	 * 교환요청철회
+	 *
+	 * @param OrderChange
+	 * @return GagaResponse
+	 * @author card007
+	 * @since 2021. 04. 20
+	 */
+	@PostMapping("/exchange/cancel")
+	@ResponseBody
+	public GagaResponse exchangeRequestCancel(@RequestBody OrderChange orderChange) {
+
+		if (orderChange== null) {
+			throw new IllegalStateException(message.getMessage("FAIL_1001"));
+		}
+
+		// 1. 교환요청철회 정보 설정
+		int custNo = TsfSession.isLogin() ? TsfSession.getInfo().getCustNo() : 0;
+		orderChange.setCustNo(custNo);
+		orderChange.setRegNo(custNo);
+		orderChange.setUpdNo(custNo);
+
+		String ipAddress = TsfSession.getIpAddress();
+		orderChange.setIpAddress(ipAddress);
+
+		// 2.교환요청철회 
+		coreOrderChangeService.exchangeCancel(orderChange);
+
+		return super.ok(message.getMessage("EXCHANGE_0002"));
+		// return super.ok();
+	}
+
+	/**
+	 * 마이페이지 상태별 수량 조회
+	 *
+	 * @return
+	 * @author card007
+	 * @since 2021. 02. 25
+	 */
+	@PostMapping("/status/count")
+	@ResponseBody
+	public GagaMap fnReloadStatusCount() {
+		GagaMap result = new GagaMap();
+
+		// 쿠폰정보 조회
+		Order order = new Order();
+		order.setCustNo(TsfSession.getInfo().getCustNo());
+		result.set("orderCount", coreOrderService.getOrderStatCount(order));
+
+		result.set("status", GagaResponseStatus.SUCCESS.getCode());
+
+		return result;
+	}
+
+	/**
+	 * 마이페이지 반품신청 화면
+	 *
+	 * @param Order
+	 * @return ModelAndView
+	 * @author card007
+	 * @since 2021. 02. 25
+	 */
+	@PostMapping("/return/form")
+	@ResponseBody
+	public ModelAndView returnForm(Order order) {
+		ModelAndView mav = new ModelAndView();
+
+		// 주문번호 설정
+		mav.addObject("ordNo", order.getOrdNo());
+
+		// 고객번호 설정
+		int custNo = TsfSession.getInfo().getCustNo();
+		order.setCustNo(custNo);
+		mav.addObject("custNo", custNo);
+
+		// 고객정보 조회
+		Customer customer = new Customer();
+		customer.setSiteCd(TscConstants.Site.STYLE24.value());
+		customer.setCustNo(custNo);
+		customer.setCustStat(TscConstants.CustStat.ACTIVE.value());
+		customer = coreCustomerService.getCustomerInfo(customer);
+
+		mav.addObject("customerInfo", customer);
+
+		// 로그인여부 설정
+		mav.addObject("isLogin", TsfSession.isLogin());
+
+		// 반품 가능 리스트 조회
+		GagaMap map = orderChangeService.getReturnListForMypage(order);
+		Order oneData = (Order)map.get("oneData");
+		mav.addObject("returnList", map);
+		mav.addObject("oneData", oneData);
+
+		// 주문 결제정보 조회
+		mav.addObject("paymentInfo", orderService.getPaymentInfoForMypage(order));
+
+		// 주문 배송지 정보 조회
+		mav.addObject("deliveryAddrInfo", orderService.getOrderDeliveryAddrInfo(order));
+
+		// 반품 사유 목록 조회
+		mav.addObject("returnReason", rendererService.getCommonCodeList("G688", "Y"));
+
+		mav.setViewName(super.getDeviceViewName("/mypage/MypageReturnForm"));
+
+		return mav;
+	}
+
+	/**
+	 * 반품신청
+	 *
+	 * @param OrderChange
+	 * @return GagaMap
+	 * @author card007
+	 * @since 2021. 03. 30
+	 */
+	@SuppressWarnings("unchecked")
+	@PostMapping("/return")
+	@ResponseBody
+	public GagaMap rtnReq(@RequestBody OrderChange orderChange) {
+		if (orderChange == null) {
+			throw new IllegalStateException(message.getMessage("FAIL_1001"));
+		}
+
+		// TODO
+		// @ 주문취소시 상태값 체크
+		// @ 취소, 반품시 배송비 체크 로직 (선결제 로직)
+
+		// 1. 세션회원조회
+		int custNo = TsfSession.getInfo().getCustNo();
+		orderChange.setCustNo(custNo);
+
+		// 2. 환불 사전 정보 조회
+		GagaMap refundPreInfo = coreOrderChangeService.getRefundPreInfo(orderChange);
+		List<Order> returnReqList = (List<Order>)refundPreInfo.get("cnclReqList");
+		String allLastCanYn = refundPreInfo.getString("allLastCanYn");
+		String supplyCompCd = refundPreInfo.getString("supplyCompCd");
+
+		// 3. 환불금액계산
+		GagaMap result = coreOrderRefundService.cnclRtnRefundAmt(returnReqList);
+
+		// 4. 주문변경 기본정보 설정
+		result.set("ordNo", orderChange.getOrdNo());					// 주문번호
+		result.setInt("custNo", custNo);								// 고객번호
+		// result.set("ordChgSq", orderChange.getOrdChgSq());			// 주문변경번호
+		result.set("chgReason", orderChange.getChgReason());			// 변경사유
+		result.set("chgMemo", orderChange.getChgMemo());				// 변경메모
+
+		result.set("accountNo", orderChange.getAccountNo());			// 환불계좌번호
+		result.set("accountNm", orderChange.getAccountNm());			// 환불계좌예금주명
+		result.set("bankCd", orderChange.getBankCd());					// 환불계좌은행코드
+
+		result.setString("allLastCanYn", allLastCanYn);					// 전체 마지막 취소 여부
+		result.set("isCustomer", orderChange.getIsCustomer());			// 변경사유 (고객, 회사)
+		result.set("wdGb", orderChange.getWdGb());						// 회수방법
+		result.set("wdInvoiceNo", orderChange.getWdInvoiceNo());		// 회수송장번호
+
+		// 5. 주문변경 회수지정보 추가
+		result.set("chgerNm", orderChange.getChgerNm());				// 변경자명
+		result.set("chgerEmail", orderChange.getChgerEmail());			// 변경자이메일주소
+		result.set("chgerZipcode", orderChange.getChgerZipcode());		// 회수지우편번호
+		result.set("chgerBaseAddr", orderChange.getChgerBaseAddr());	// 회수지기본주소
+		result.set("chgerDtlAddr", orderChange.getChgerDtlAddr());		// 회수지상세주소
+		result.set("chgerPhnno", orderChange.getChgerPhnno());			// 변경자핸드폰번호
+		result.set("chgerTelno", orderChange.getChgerTelno());			// 변경자전화번호
+		result.set("chgerRtnMemo", orderChange.getChgerRtnMemo());		// 반품메모
+
+		// 6. 주문변경 DB 등록 (TB_ORDER_CHANGE, TB_ORDER_CHANGE_DETAIL, TB_REFUND)
+		coreOrderChangeService.returnRequest(result);
+		// coreOrderChangeService.rtnReq(result, custNo);
+
+		result.set("status", GagaResponseStatus.SUCCESS.getCode());
+		if (orderChange.getAddPayCost() == 0) {
+			result.set("message", message.getMessage("RETURN_0001"));
+		}
+
+		return result;
+	}
+
+	/**
+	 * 반품요청철회
+	 *
+	 * @param OrderChange
+	 * @return GagaResponse
+	 * @author card007
+	 * @since 2021. 04. 20
+	 */
+	@PostMapping("/return/cancel")
+	@ResponseBody
+	public GagaResponse rtnReqCancel(@RequestBody OrderChange orderChange) {
+
+		if (orderChange== null) {
+			throw new IllegalStateException(message.getMessage("FAIL_1001"));
+		}
+
+		// 1. 반품요청철회 정보 설정
+		int custNo = TsfSession.isLogin() ? TsfSession.getInfo().getCustNo() : 0;
+		GagaMap map = new GagaMap();
+		map.set("ordNo"			, orderChange.getOrdNo());
+		map.set("ordChgSq"		, orderChange.getOrdChgSq());
+		map.set("custNo"		, custNo);
+		map.set("ipAddress"		, TsfSession.getIpAddress());
+
+		// 2.반품요청철회 
+		coreOrderChangeService.rtnReqCancel(map, custNo);
+
+		return super.ok(message.getMessage("RETURN_0002"));
+		// return super.ok();
+	}
+
+	/**
+	 * 환불계좌 등록 팝업
+	 *
+	 * @param OrderChange
+	 * @return ModelAndView
+	 * @author card007
+	 * @since 2021. 04. 05
+	 */
+	@ResponseBody
+	@RequestMapping(value = "/refund/account/register/popup/form")
+	public ModelAndView registerRefundAccountPopupForm(@RequestBody OrderChange orderChange) {
+		ModelAndView mav = new ModelAndView();
+
+		// 계좌인증용 은행코드 조회
+		mav.addObject("bankList", rendererService.getAvailCommonCodeList("G942"));
+
+		// 계좌주명 설정
+		mav.addObject("accountNm", orderChange.getAccountNm());
+
+		// 주문번호 설정
+		mav.addObject("ordNo", orderChange.getOrdNo());
+
+		mav.setViewName(super.getDeviceViewName("popup/RefundAccountAddPopupForm"));
+
+		return mav;
+	}
+
+	/**
+	 * 마이페이지 취반교 목록 화면
+	 *
+	 * @return
+	 * @author card007
+	 * @since 2021. 02. 04
+	 */
+	@GetMapping({"/cre/list/form"})
+	public ModelAndView mypageCreListForm() {
+		ModelAndView mav = new ModelAndView();
+
+		// 고객번호 설정
+		int custNo = TsfSession.getInfo().getCustNo();
+		mav.addObject("custNo", custNo);
+
+		// 주문 상태 별 수량 조회
+		Order order = new Order();
+		order.setCustNo(custNo);
+		mav.addObject("orderCount", coreOrderService.getOrderStatCount(order));
+
+		// 2021.04.21 모바일에서 사용하려고 추가
+		OrderChange orderChange = new OrderChange();
+		orderChange.setCustNo(custNo);
+		int totalCnt = orderChangeService.getPagingCreListCount(orderChange);
+		mav.addObject("totalCnt", totalCnt);
+
+		// 주문상세상태코드 설정
+		mav.addObject("chgStatList", rendererService.getCommonCodeList("G685", "Y", new String[] {"G685_10", "G685_11", "G685_19"}));
+
+		mav.setViewName(super.getDeviceViewName("mypage/MypageCreListForm"));
+
+		return mav;
+	}
+
+	/**
+	 * 마이페이지 취반교 목록 조회
+	 *
+	 * @param OrderChange
+	 * @return ModelAndView
+	 * @author card007
+	 * @since 2021. 02. 18
+	 */
+	@PostMapping("/cre/list")
+	@ResponseBody
+	public GagaMap getCreList(@RequestBody OrderChange orderChange) {
+		GagaMap map = new GagaMap();
+
+		// 고객번호 설정
+		int custNo = 0;
+		if(TsfSession.isLogin()) {
+			custNo = TsfSession.getInfo().getCustNo();
+		}
+
+		// 페이징 처리 설정
+		orderChange.setCustNo(custNo);
+		TscPageRequest pageable = new TscPageRequest((orderChange.getPageNo() > 0 ? orderChange.getPageNo() - 1 : 0), orderChange.getPageSize(), orderChange.getPageUnit());
+		pageable.setTotalCount(orderChangeService.getPagingCreListCount(orderChange));
+		orderChange.setPageable(pageable);
+
+		// 페이징 처리 및 주문정보 조회
+		List<Integer> ordChgSqList = new ArrayList<>();
+
+		for (OrderChange tmpOrderChange : orderChangeService.getPagingCreList(orderChange)) {
+			ordChgSqList.add(tmpOrderChange.getOrdChgSq());
+		}
+
+		if (ordChgSqList.size() > 0) {
+			orderChange.setOrdChgSqArr(ordChgSqList.stream().mapToInt(Integer::intValue).toArray());
+			map.set("creList", orderChangeService.getCreList(orderChange));
+		}
+
+		map.set("creInfo", orderChange);
+
+		return map;
+	}
+
+	/**
+	 * 마이페이지 취반교 취소 상세 화면
+	 *
+	 * @return ModelAndView
+	 * @author card007
+	 * @since 2021. 04. 12
+	 */
+	@PostMapping({"/cre/cancel/detail/form"})
+	public ModelAndView mypageCreCancelDetailForm(OrderChange orderChange) {
+		ModelAndView mav = new ModelAndView();
+
+		// 고객번호 설정
+		int custNo = TsfSession.getInfo().getCustNo();
+		mav.addObject("custNo", custNo);
+
+		// 취소상세 데이터 조회
+		orderChange.setCustNo(custNo);
+		GagaMap map = orderChangeService.getCreCancelDetailInfo(orderChange);
+		OrderChange oneData = (OrderChange) map.get("oneData");
+		mav.addObject("cancelDetailList", 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.setViewName(super.getDeviceViewName("mypage/MypageCreCancelDetailForm"));
+
+		return mav;
+	}
+
+	/**
+	 * 마이페이지 취반교 반품 상세 화면
+	 *
+	 * @return ModelAndView
+	 * @author card007
+	 * @since 2021. 04. 13
+	 */
+	@PostMapping({"/cre/return/detail/form"})
+	public ModelAndView mypageCreReturnDetailForm(OrderChange orderChange) {
+		ModelAndView mav = new ModelAndView();
+
+		// 고객번호 설정
+		int custNo = TsfSession.getInfo().getCustNo();
+		mav.addObject("custNo", custNo);
+
+		// 로그인여부 설정
+		mav.addObject("isLogin", TsfSession.isLogin());
+
+		// 취소상세 데이터 조회
+		orderChange.setCustNo(custNo);
+		GagaMap map = orderChangeService.getCreReturnDetailInfo(orderChange);
+		OrderChange oneData = (OrderChange) map.get("oneData");
+		mav.addObject("returnDetailList", map);
+		mav.addObject("oneData", oneData);
+
+		// 주문 결제정보 조회
+		Order order = new Order();
+		order.setOrdNo(orderChange.getOrdNo());
+		mav.addObject("paymentInfo", orderService.getPaymentInfoForMypage(order));
+
+		mav.setViewName(super.getDeviceViewName("mypage/MypageCreReturnDetailForm"));
+
+		return mav;
+	}
+
+	/**
+	 * 마이페이지 취반교 교환 상세 화면
+	 *
+	 * @return ModelAndView
+	 * @author card007
+	 * @since 2021. 04. 13
+	 */
+	@PostMapping({"/cre/exchange/detail/form"})
+	public ModelAndView mypageCreExchangeDetailForm(OrderChange orderChange) {
+		ModelAndView mav = new ModelAndView();
+
+		// 고객번호 설정
+		int custNo = TsfSession.getInfo().getCustNo();
+		mav.addObject("custNo", custNo);
+
+		// 로그인여부 설정
+		mav.addObject("isLogin", TsfSession.isLogin());
+
+		// 취소상세 데이터 조회
+		orderChange.setCustNo(custNo);
+		GagaMap map = orderChangeService.getCreExchangeDetailInfo(orderChange);
+		OrderChange oneData = (OrderChange) map.get("oneData");
+		mav.addObject("exchangeDetailList", map);
+		mav.addObject("oneData", oneData);
+
+		mav.setViewName(super.getDeviceViewName("mypage/MypageCreExchangeDetailForm"));
+
+		return mav;
+	}
+
+	/**
+	 * WMS 주문 취소 가능 여부 조회
+	 *
+	 * @param
+	 * @return
+	 * @author card007
+	 * @since 2021. 04. 22
+	 */
+	@PostMapping("/wms/cancel/available")
+	@ResponseBody
+	public GagaMap getWmsCancelYn(@RequestBody OrderChange orderChange) {
+		GagaMap result = new GagaMap();
+		String cancelYn = "Y";
+
+		Integer ordNo = orderChange.getOrdNo();
+
+		for (Integer ordDtlNo : orderChange.getOrdDtlNoArr()) {
+			String rst = coreWmsService.getCancelYn(ordNo, ordDtlNo);
+
+			if ("Y".equals(cancelYn) && "N".equals(rst)) {
+				cancelYn = "N";
+			}
+		}
+
+		result.setString("cancelYn", cancelYn);
+
+		return result;
+	}
 }

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

@@ -177,7 +177,7 @@
 				<otherwise>
 		   AND O.ORD_NO = #{ordNo}
 		   AND O.ORD_PHNNO = #{ordPhnno}
-		   AND O.ORD_NM = #{orderNm}
+		   AND O.ORD_NM = #{ordNm}
 				</otherwise>
 			</choose>
 			<if test="ordNo != null and ordNo != ''">

+ 16 - 6
src/main/java/com/style24/persistence/mybatis/shop/TsfOrderChange.xml

@@ -24,6 +24,8 @@
 		     , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD2
 		     , Z.ORD_NO
 		     , Z.ORD_DT
+		     , Z.ORD_NM
+		     , Z.ORD_PHNNO
 		     , Z.GIFT_ADDR_INP_YN
 		     , Z.ORD_DTL_NO
 		     , Z.ORD_EXCH_GB
@@ -59,6 +61,8 @@
 		     , Z.ACCOUNT_NM
 		  FROM (SELECT O.ORD_NO
 		             , DATE_FORMAT(O.ORD_DT, '%Y.%m.%d')                                AS ORD_DT
+		             , O.ORD_NM
+		             , O.ORD_PHNNO
 		             , OD.ORD_DTL_NO
 		             , OD.ORD_EXCH_GB
 		             , OD.GOODS_CD
@@ -128,12 +132,13 @@
 		         WHERE O.ORD_NO = #{ordNo}
 		           AND OD.ORD_DTL_STAT IN ('G013_10', 'G013_11', 'G013_20', 'G013_30', 'G013_35', 'G013_40')
 		<choose>
-			<when test='custNo != null and custNo != ""'>
+			<when test='custNo > 0'>
 		           AND O.CUST_NO = #{custNo}
 			</when>
 			<otherwise>
 		           AND O.ORD_NO = #{ordNo}
-		           AND O.ORD_NM = #{orderNm}
+		           AND O.ORD_NM = #{ordNm}
+		           AND O.ORD_PHNNO = #{ordPhnno}
 			</otherwise>
 		</choose>
 		<if test="delvFeeCd != null and delvFeeCd != ''">
@@ -142,7 +147,7 @@
 		           AND O.DISP_YN = 'Y'
 		           AND OD.ORD_QTY - OD.CNCL_RTN_QTY > 0
 		       ) Z
-		 GROUP BY Z.ORD_NO, Z.ORD_DT, Z.GIFT_ADDR_INP_YN, Z.ORD_DTL_NO, Z.ORD_EXCH_GB
+		 GROUP BY Z.ORD_NO, Z.ORD_DT, Z.ORD_NM, Z.ORD_PHNNO, Z.GIFT_ADDR_INP_YN, Z.ORD_DTL_NO, Z.ORD_EXCH_GB
 		        , Z.GOODS_CD, Z.GOODS_NM, Z.LIST_PRICE, Z.SYS_IMG_NM, Z.ORD_DTL_STAT, Z.ORD_QTY, Z.CNCL_RTN_QTY, Z.ORD_AMT, Z.REAL_ORD_AMT
 		        , Z.SAVE_PNT_AMT, Z.CNCL_RTN_AMT, Z.PNT_DC_AMT, Z.GFCD_USE_AMT, Z.SHIP_COMP_CD, Z.GIFT_PACK_YN, Z.SHIP_COMP_NM, Z.INVOICE_NO
 		        , Z.SUPPLY_COMP_CD, Z.DELV_FEE_CD, Z.SHOT_DELV_YN, Z.CHANGEABLE_YN, Z.SELF_GOODS_YN, Z.BRAND_NM
@@ -159,6 +164,8 @@
 		     , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD2
 		     , Z.ORD_NO
 		     , Z.ORD_DT
+		     , Z.ORD_NM
+		     , Z.ORD_PHNNO
 		     , Z.GIFT_ADDR_INP_YN
 		     , Z.ORD_DTL_NO
 		     , Z.ORD_EXCH_GB
@@ -197,6 +204,8 @@
 		     , Z.EXC_DELV_FEE
 		  FROM (SELECT O.ORD_NO
 		             , DATE_FORMAT(O.ORD_DT, '%Y.%m.%d')                                      AS ORD_DT
+		             , O.ORD_NM
+		             , O.ORD_PHNNO
 		             , OD.ORD_DTL_NO
 		             , OD.ORD_EXCH_GB
 		             , OD.GOODS_CD
@@ -273,12 +282,13 @@
 		         WHERE O.DISP_YN = 'Y'
 		           AND OD.ORD_DTL_STAT IN ('G013_50', 'G013_55', 'G013_60')
 		<choose>
-			<when test='custNo != null and custNo != ""'>
+			<when test='custNo > 0'>
 		           AND O.CUST_NO = #{custNo}
 			</when>
 			<otherwise>
 		           AND O.ORD_NO = #{ordNo}
-		           AND O.ORD_NM = #{orderNm}
+		           AND O.ORD_NM = #{ordNm}
+		           AND O.ORD_PHNNO = #{ordPhnno}
 			</otherwise>
 		</choose>
 		<if test="ordNo != null and ordNo != ''">
@@ -288,7 +298,7 @@
 		           AND OD.DELV_FEE_CD = #{delvFeeCd}
 		</if>
 		       ) Z
-		 GROUP BY Z.ORD_NO, Z.ORD_DT, Z.GIFT_ADDR_INP_YN, Z.ORD_DTL_NO, Z.ORD_EXCH_GB, Z.GOODS_CD, Z.GOODS_NM, Z.LIST_PRICE, Z.SYS_IMG_NM
+		 GROUP BY Z.ORD_NO, Z.ORD_DT, Z.ORD_NM, Z.ORD_PHNNO, Z.GIFT_ADDR_INP_YN, Z.ORD_DTL_NO, Z.ORD_EXCH_GB, Z.GOODS_CD, Z.GOODS_NM, Z.LIST_PRICE, Z.SYS_IMG_NM
 		        , Z.ORD_DTL_STAT, Z.ORD_QTY, Z.CNCL_RTN_QTY, Z.ORD_AMT, Z.REAL_ORD_AMT, Z.SAVE_PNT_AMT, Z.CNCL_RTN_AMT, Z.PNT_DC_AMT
 		        , Z.GFCD_USE_AMT, Z.SHIP_COMP_CD, Z.GIFT_PACK_YN, Z.SHIP_COMP_NM, Z.INVOICE_NO, Z.SUPPLY_COMP_CD, Z.DELV_FEE_CD
 		        , Z.SHOT_DELV_YN, Z.CHANGEABLE_YN, Z.SELF_GOODS_YN, Z.BRAND_NM, Z.ORD_REQ_CHG_QTY, Z.ORD_CAN_CHG_QTY, Z.BANK_CD

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

@@ -285,7 +285,6 @@
 					xhr.setRequestHeader("AJAX"			, "true");
 					xhr.setRequestHeader('Accept'		, 'application/json');
 					xhr.setRequestHeader('Content-Type'	, 'application/json');
-					gagajf.showProgressbar(true);
 				},
 				success 	: function(result) {
 					$("#refundPop .modal-dialog .modal-content").html(result);

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

@@ -199,7 +199,6 @@ var fnGetInfiniteScrollDataList = function(pageNo) {
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			if (result != null) {

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

@@ -769,10 +769,8 @@
 					xhr.setRequestHeader("AJAX"			, "true");
 					xhr.setRequestHeader('Accept'		, 'application/json');
 					xhr.setRequestHeader('Content-Type'	, 'application/json');
-					gagajf.showProgressbar(true);
 				},
 				success 	: function(result) {
-					gagajf.showProgressbar(false);
 					$("#adrsChangePop .modal-dialog .modal-content").html(result);
 					$("#adrsChangePop").modal("show");
 				}
@@ -789,10 +787,8 @@
 					xhr.setRequestHeader("AJAX"			, "true");
 					xhr.setRequestHeader('Accept'		, 'application/json');
 					xhr.setRequestHeader('Content-Type'	, 'application/json');
-					gagajf.showProgressbar(true);
 				},
 				success 	: function(result) {
-					gagajf.showProgressbar(false);
 					$("#adrsAddPop .modal-dialog .modal-content").html(result);
 					$("#adrsAddPop").modal("show");
 				}
@@ -823,10 +819,8 @@
 					xhr.setRequestHeader("AJAX"			, "true");
 					xhr.setRequestHeader('Accept'		, 'application/json');
 					xhr.setRequestHeader('Content-Type'	, 'application/json');
-					gagajf.showProgressbar(true);
 				},
 				success 	: function(result) {
-					gagajf.showProgressbar(false);
 					$("#refundPop .modal-dialog .modal-content").html(result);
 					$("#refundPop").modal("show");
 				}
@@ -915,7 +909,7 @@
 		$('#orderDetailForm input[name=bankCd]').val(result.bankCd);
 		
 		// 반품처리
-		fnReturn();
+		fnAllCancel();
 	}
 </script>
 

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

@@ -308,10 +308,8 @@ var fnGetInfiniteScrollDataList = function(pageNo) {
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
-			gagajf.showProgressbar(false);
 			if (result != null) {
 				$("#listBox").css("display", "block");
 				$("#listBox").append(result);

+ 0 - 3
src/main/webapp/WEB-INF/views/mob/order/OrderCompleteMob.html

@@ -360,7 +360,6 @@ $('#btn_adrsChange_pop').on("click", function(){
 				xhr.setRequestHeader("AJAX"			, "true");
 				xhr.setRequestHeader('Accept'		, 'application/json');
 				xhr.setRequestHeader('Content-Type'	, 'application/json');
-				gagajf.showProgressbar(true);
 			},
 			success 	: function(result) {
 				$("#adrsChangePop .modal-dialog .modal-content").html(result);
@@ -378,7 +377,6 @@ $('#btn_adrsChange_pop').on("click", function(){
 				xhr.setRequestHeader("AJAX"			, "true");
 				xhr.setRequestHeader('Accept'		, 'application/json');
 				xhr.setRequestHeader('Content-Type'	, 'application/json');
-				gagajf.showProgressbar(true);
 			},
 			success 	: function(result) {
 				$("#adrsAddPop .modal-dialog .modal-content").html(result);
@@ -402,7 +400,6 @@ $("#btn_rqstModify_pop").on("click", function(e){
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			if (result != null) {

+ 0 - 14
src/main/webapp/WEB-INF/views/mob/order/OrderFormMob.html

@@ -524,7 +524,6 @@ var custemerInfoSet = function() {
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			if (result != null) {
@@ -573,7 +572,6 @@ var entryInfoSet = function() {
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			$("#entryInfo").css("display", "block");
@@ -593,7 +591,6 @@ var madeInfoSet = function() {
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			$("#madeInfo").css("display", "block");
@@ -613,7 +610,6 @@ var orderGiftInfoSet = function() {
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			$("#orderGiftInfo").css("display", "block");
@@ -654,7 +650,6 @@ var deliveryAddrInfoSet = function(delvObj, temp) {
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			$("#deliveryAddrInfo").css("display", "block");
@@ -682,7 +677,6 @@ var deliveryAddrInfoSet = function(delvObj, temp) {
 							xhr.setRequestHeader("AJAX"			, "true");
 							xhr.setRequestHeader('Accept'		, 'application/json');
 							xhr.setRequestHeader('Content-Type'	, 'application/json');
-							gagajf.showProgressbar(true);
 						},
 						success 	: function(result) {
 							$("#adrsChangePop .modal-dialog .modal-content").html(result);
@@ -701,7 +695,6 @@ var deliveryAddrInfoSet = function(delvObj, temp) {
 							xhr.setRequestHeader("AJAX"			, "true");
 							xhr.setRequestHeader('Accept'		, 'application/json');
 							xhr.setRequestHeader('Content-Type'	, 'application/json');
-							gagajf.showProgressbar(true);
 						},
 						success 	: function(result) {
 							$("#adrsAddPop .modal-dialog .modal-content").html(result);
@@ -781,7 +774,6 @@ var orderListInfoSet = function(orderListJsonData, temp) {
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			if (result != null) {
@@ -818,7 +810,6 @@ var freegiftInfoSet = function() {
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			if (result != null) {
@@ -896,7 +887,6 @@ var paymentInfoSet = function() {
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			if (result != null) {
@@ -1157,7 +1147,6 @@ var paymentInfoSet = function() {
 							xhr.setRequestHeader("AJAX"			, "true");
 							xhr.setRequestHeader('Accept'		, 'application/json');
 							xhr.setRequestHeader('Content-Type'	, 'application/json');
-							gagajf.showProgressbar(true);
 						},
 						success 	: function(result) {
 							
@@ -1237,7 +1226,6 @@ var dcAmtInfoSet = function() {
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			if (result != null) {
@@ -1254,7 +1242,6 @@ var dcAmtInfoSet = function() {
 						xhr.setRequestHeader("AJAX"			, "true");
 						xhr.setRequestHeader('Accept'		, 'application/json');
 						xhr.setRequestHeader('Content-Type'	, 'application/json');
-						gagajf.showProgressbar(true);
 					},
 					success 	: function(result) {
 						$("#couponModifyPop").html(result);
@@ -1378,7 +1365,6 @@ var dcAmtInfoSet = function() {
 						xhr.setRequestHeader("AJAX"			, "true");
 						xhr.setRequestHeader('Accept'		, 'application/json');
 						xhr.setRequestHeader('Content-Type'	, 'application/json');
-						gagajf.showProgressbar(true);
 					},
 					success 	: function(result) {
 						$("#couponSelectPop02").html(result);

+ 0 - 1
src/main/webapp/WEB-INF/views/mob/order/OrderGiftCompleteMob.html

@@ -399,7 +399,6 @@ $('#btn_adrsChange_pop').on("click", function(){
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			$("#adrsAddPop .modal-dialog .modal-content").html(result);

+ 0 - 1
src/main/webapp/WEB-INF/views/mob/popup/DelvAddrAddPopMob.html

@@ -197,7 +197,6 @@ $("#btn_delivery_addr_save").on("click", function(){
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			if (result != null) {

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

@@ -84,7 +84,6 @@ $(document).ready( function() {
 				xhr.setRequestHeader("AJAX"			, "true");
 				xhr.setRequestHeader('Accept'		, 'application/json');
 				xhr.setRequestHeader('Content-Type'	, 'application/json');
-				gagajf.showProgressbar(true);
 			},
 			success 	: function(result) {
 				$("#adrsAddPop .modal-dialog .modal-content").html(result);
@@ -133,7 +132,6 @@ $("#delvAddrChangeForm .btn_addrModify_pop").on("click", function(){
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			$("#adrsModifyPop .modal-dialog .modal-content").html(result);
@@ -154,7 +152,6 @@ $('#btn_adrsAdd_pop').on("click", function(){
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			$("#adrsAddPop .modal-dialog .modal-content").html(result);
@@ -164,4 +161,4 @@ $('#btn_adrsAdd_pop').on("click", function(){
 });
 
 </script>
-
+

+ 1 - 2
src/main/webapp/WEB-INF/views/mob/popup/DelvAddrModifyPopMob.html

@@ -218,7 +218,6 @@ $("#btn_delivery_modi_save").on("click", function(){
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			// custDelvAddrSq 부모창으로 전달
@@ -297,4 +296,4 @@ var fnOpenDaumAddr = function() {
 $(document).on("keyup", "#deliveryModifyForm input[name=recipPhnno]", function() { 
 	$(this).val( $(this).val().replace(/[^0-9]/g, "").replace(/(^02|^0505|^1[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{4})$/,"$1-$2-$3").replace("--", "-") ); 
 });
-</script>
+</script>

+ 90 - 0
src/main/webapp/WEB-INF/views/web/common/layout/NoMemberLayoutWeb.html

@@ -0,0 +1,90 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org"
+	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
+
+<head th:replace="~{web/common/fragments/HeadWeb :: head}"></head>
+
+<body>
+
+<div class="skipComment">
+	<a href="#content">본문 바로가기</a>
+	<a href="#gnb">주메뉴 바로가기</a>
+	<a href="#footer">하단메뉴 바로가기</a>
+</div>
+	
+<th:block th:replace="~{web/common/fragments/VariablesWeb :: variables}"></th:block>
+
+<!-- GNB -->
+<header id="header" th:replace="~{web/common/fragments/GnbWeb :: gnb}"></header>
+<!--// GNB -->
+
+<div id="container" class="container my">
+	<div class="breadcrumb">
+		<ul id="location">
+			<li class="bread_home"><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_MAIN);">홈</a></li>
+			<li class="bread_2depth"><a href="javascript:void(0);" onclick="fnGoToNoMemberOrderList()">마이페이지</a></li>
+		</ul>
+	</div>
+	<div class="wrap">
+		<!-- CONTENT AREA -->
+		<th:block layout:fragment="content"></th:block>
+		<!-- // CONTENT AREA -->
+		<form id="noMemberOrderListForm" name="noMemberOrderListForm" th:action="@{'/noMember/order/list/form'}" th:method="post">
+			<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="noMemberCreListForm" name="noMemberCreListForm" th:action="@{'/noMember/cre/list/form'}" th:method="post">
+			<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="exchangeForm" name="exchangeForm" th:action="@{'/noMember/exchange/form'}" th:method="post">
+			<input type="hidden" name="ordNo" th:value="${ordNo}"/>
+			<input type="hidden" name="ordNm" th:value="${ordNm}"/>
+			<input type="hidden" name="ordPhnno" th:value="${ordPhnno}"/>
+			<input type="hidden" name="ordDtlNo"/>
+			<input type="hidden" name="delvFeeCd"/>
+		</form>
+		<form id="returnForm" name="returnForm" th:action="@{'/noMember/return/form'}" th:method="post">
+			<input type="hidden" name="ordNo" th:value="${ordNo}"/>
+			<input type="hidden" name="ordNm" th:value="${ordNm}"/>
+			<input type="hidden" name="ordPhnno" th:value="${ordPhnno}"/>
+			<input type="hidden" name="ordDtlNo"/>
+			<input type="hidden" name="delvFeeCd"/>
+		</form>
+		<form id="cancelForm" name="cancelForm" th:action="@{'/noMember/cancel/form'}" th:method="post">
+			<input type="hidden" name="ordNo" th:value="${ordNo}"/>
+			<input type="hidden" name="ordNm" th:value="${ordNm}"/>
+			<input type="hidden" name="ordPhnno" th:value="${ordPhnno}"/>
+			<input type="hidden" name="ordDtlNo"/>
+			<input type="hidden" name="delvFeeCd"/>
+		</form>
+	</div>
+</div>
+
+<!-- Footer -->
+<footer id="footer" th:replace="~{web/common/fragments/FooterWeb :: footer}"></footer>
+
+<!--교환상품 옵션변경 팝업 -->
+<div class="modal fade exchange_pop" id="exchangePop" tabindex="-1" role="dialog" aria-labelledby="exchangeLabel" aria-hidden="true">
+	<div class="modal-dialog" role="document">
+		<div class="modal-content">
+			<!--교환상품 옵션변경 팝업 내용 -->
+		</div>
+	</div>
+	<a href="#close-modal" rel="modal:close" id="exchangePop_close" class="close-modal">Close</a>
+</div>
+<!-- //교환상품 옵션변경 팝업 -->
+
+<th:block th:replace="~{web/common/fragments/ScriptsWeb :: scripts}"></th:block>
+<script th:src="@{'/biz/mypage.js?v=' + ${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}}" src="/biz/mypage.js"></script>
+
+<script th:inline="javascript">
+/*<![CDATA[*/
+/*]]>*/
+</script>
+
+</body>
+</html>

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

@@ -274,7 +274,6 @@
 					xhr.setRequestHeader("AJAX"			, "true");
 					xhr.setRequestHeader('Accept'		, 'application/json');
 					xhr.setRequestHeader('Content-Type'	, 'application/json');
-					gagajf.showProgressbar(true);
 				},
 				success 	: function(result) {
 					$("#refundPop .modal-dialog .modal-content").html(result);

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

@@ -159,11 +159,11 @@
 													<span id="recipPhnno" th:text="${oneData.recipPhnno}"></span>
 												</li>
 												<li>
-													<span>서울시 영등포구 은행로 11, 8층 (여의도동, 일신빌딩)</span>
+													<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>
 												</li>
 												<li>
-													배송요청 사항&nbsp;:&nbsp;<span>직접 받고 부재 시 문 앞</span>
+													배송요청 사항&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>
 												</li>
 											</ul>
@@ -202,7 +202,7 @@
 														<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="delvMemo" th:text="${oneData.delvMemo}"></span>
+														배송요청 사항&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>

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

@@ -141,7 +141,6 @@
 				xhr.setRequestHeader("AJAX"			, "true");
 				xhr.setRequestHeader('Accept'		, 'application/json');
 				xhr.setRequestHeader('Content-Type'	, 'application/json');
-				gagajf.showProgressbar(true);
 			},
 			success 	: function(result) {
 				$("#adrsAddPop .modal-dialog .modal-content").html(result);
@@ -169,7 +168,6 @@
 				xhr.setRequestHeader("AJAX"			, "true");
 				xhr.setRequestHeader('Accept'		, 'application/json');
 				xhr.setRequestHeader('Content-Type'	, 'application/json');
-				gagajf.showProgressbar(true);
 			},
 			success 	: function(result) {
 				$("#adrsModifyPop .modal-dialog .modal-content").html(result);

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

@@ -254,8 +254,9 @@
 									<div class="order_gift">
 										<span class="title">사은품</span>
 										<ul>
-											<li th:each="freeGift, status : ${order.freeGiftList}" th:text="${freeGift.goodsNm}">
-												<span th:text="|(-${#numbers.formatInteger(freeGift.usePoint, 1, 'COMMA')}P)|"></span>
+											<li th:each="freeGift, status : ${order.freeGiftList}">
+												<th:block th:text="${freeGift.goodsNm}"></th:block>
+												<span th:if="${freeGift.usePoint > 0}" th:text="|(-${#numbers.formatInteger(freeGift.usePoint, 1, 'COMMA')}P)|"></span>
 											</li> 
 										</ul>
 									</div>
@@ -536,7 +537,6 @@
 					xhr.setRequestHeader("AJAX"			, "true");
 					xhr.setRequestHeader('Accept'		, 'application/json');
 					xhr.setRequestHeader('Content-Type'	, 'application/json');
-					gagajf.showProgressbar(true);
 				},
 				success 	: function(result) {
 					$("#refundPop .modal-dialog .modal-content").html(result);
@@ -589,7 +589,7 @@
 						// 전체취소 처리
 						gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
 							cfnGoToPage(_PAGE_MYPAGE_ORDER_LIST);
-						});
+						}, true);
 					} else {
 						mcxDialog.alert('이미 배송처리 되어 전체취소 처리에 실패 하였습니다.');
 					}
@@ -656,13 +656,11 @@
 		$('#orderDetailForm input[name=bankCd]').val(result.bankCd);
 		
 		// 반품처리
-		fnReturn();
+		fnAllCancel();
 	}
 
 	// 상품권 현금영수증 신청 처리
 	var fnRequestCashReceipt = function(param) {
-		// TODO
-		// 현금영수증 신청 처리
 		let url = '/mypage/cash/receipts/request';
 		let ordNo = $(param).attr('ordNo');
 		

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

@@ -352,7 +352,7 @@
 		fnSetMypageLnbList(2);
 
 		// 마이페이지 location 설정
-		fnSetMypageLocation('취소/반품/환불내역', '_PAGE_MYPAGE_CRE_LIST', '반품 신청');
+		fnSetMypageLocation('취소/반품/교환 내역', '_PAGE_MYPAGE_CRE_LIST', '반품 신청');
 
 		// 반품상품 수량 셀렉트박스 활성화
 		//var goods_count_selecter = new sCombo('.myOrderView .part_goods .select_custom.select_count');
@@ -425,7 +425,6 @@
 					xhr.setRequestHeader("AJAX"			, "true");
 					xhr.setRequestHeader('Accept'		, 'application/json');
 					xhr.setRequestHeader('Content-Type'	, 'application/json');
-					gagajf.showProgressbar(true);
 				},
 				success 	: function(result) {
 					$("#refundPop .modal-dialog .modal-content").html(result);

+ 404 - 0
src/main/webapp/WEB-INF/views/web/mypage/NoMemberCancelFormWeb.html

@@ -0,0 +1,404 @@
+<!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/MypageLayoutWeb">
+<!--
+ *******************************************************************************
+ * @source  : NoMemberCancelFormWeb.html
+ * @desc    : 비회원 > 취소신청 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2021 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.04.28   card007     최초 작성
+ *******************************************************************************
+ -->
+<body>
+
+<th:block layout:fragment="content">
+	<div class="content 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">
+				<form id="cancelForm">
+					<input type="hidden" name="accountNo" th:value="${oneData.accountNo}"/>
+					<input type="hidden" name="accountNm" th:value="${oneData.accountNm}"/>
+					<input type="hidden" name="bankCd" th:value="${oneData.bankCd}"/>
+					<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="${cancelList.cancelList}" th:each="cancel, status : ${cancelList.cancelList}" 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=${cancel.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+													<span class="thumb">
+														<img th:src="${imageUrl + '/' + cancel.sysImgNm}" width="100%" alt="">
+													</span>
+													<p>
+														<span class="brand" th:text="${cancel.brandNm}"></span>
+														<span class="tag primary" th:if="${cancel.shotDelvYn == 'Y'}">총알배송</span>
+														<span class="tag" th:if="${cancel.shotDelvYn == 'N' and cancel.selfGoodsYn == 'Y'}">STYLE24 일반배송</span>
+														<span class="tag" th:if="${cancel.selfGoodsYn == 'N'}">업체직배송</span>
+													</p>
+													<p>
+														<span class="name" th:text="${cancel.goodsNm}"></span>
+													</p>
+												</a>
+											</div>
+											<div class="gd_opt">
+												<div class="option_wrap">
+													<span class="title sr-only">주문 옵션</span>
+													<span class="option" th:if="${cancel.goodsType == 'G056_S'}" th:each="option, status : ${cancel.colorNmArr}" th:text="|${cancel.itemNmArr[status.index]} / ${option} / ${cancel.optCd2Arr[status.index]}|"></span>
+													<span class="option" th:unless="${cancel.goodsType == 'G056_S'}" th:text="|${cancel.colorNm} / ${cancel.optCd2}|"></span>
+												</div>
+											</div>
+											<div class="gd_calc">
+												<p>
+													<span class="count"><em th:text="${cancel.ordQty - cancel.cnclRtnQty}"></em>개</span>
+												</p>
+												<p>
+													<span class="price_org" th:if="${(cancel.ordAmt - cancel.cnclRtnAmt - cancel.cpn1DcAmt) > (cancel.realOrdAmt + cancel.pntDcAmt + cancel.gfcdUseAmt)}"><em th:text="${#numbers.formatInteger(cancel.ordAmt - cancel.cnclRtnAmt - cancel.cpn1DcAmt, 1, 'COMMA')}"></em>원</span>
+													<span class="price_sale"><em th:text="${#numbers.formatInteger(cancel.realOrdAmt + cancel.pntDcAmt + cancel.gfcdUseAmt, 1, 'COMMA')}"></em>원</span>
+												</p>
+											</div>
+										</div>
+										<div class="button_box">
+											<div class="count_modify">
+												<span class="txt">수량</span>
+												<form class="form_wrap">
+													<div class="form_field">
+														<div class="select_custom select_count">
+															<div class="combo">
+																<input type="hidden" name="chgQty" value="0" th:attr="ordDtlNo=${cancel.ordDtlNo}, ordCanChgQty=${cancel.ordCanChgQty}"/>
+																<div class="select">선택</div>
+																<ul class="list">
+																	<li class="selected" qty="0" onclick="fnChangeCancelQty(this);">선택</li>
+																	<li th:if="${cancel.ordCanChgQty > 0}" th:each="num : ${#numbers.sequence(1,cancel.ordCanChgQty)}" th:attr="qty=${num}" th:text="${num}" onclick="fnChangeCancelQty(this);"></li>
+																</ul>
+															</div>
+														</div>
+													</div>
+												</form>
+											</div>
+										</div>
+									</div>
+									<div class="order_text">
+										<p>취소하실 수량을 선택하신 후 주문 취소를 하실 수 있습니다.</p>
+									</div>
+								</div>
+								<!-- //주문상품 -->
+								</th:block>
+							</div>
+						</div>
+						<h4 class="subH3">환불정보</h4>
+						<div class="tbl type6">
+							<table>
+								<colgroup>
+									<col width="50%">
+									<col width="50%">
+								</colgroup>
+								<tr>
+									<td>
+										<dl>
+											<div>
+												<dt>환불 예정 금액</dt>
+												<dd>
+													<div class="price">
+														<span class="return_total_price"><em id="returnAmt">0</em>원</span>
+													</div>
+												</dd>
+											</div>
+											<div class="include_item"> <!-- 할인항목 표기 class명 include_item -->
+												<dt>상품 취소 금액</dt>
+												<dd><em id="goodsCancelAmt">0</em>원</dd>
+											</div>
+											<div class="include_item">
+												<dt>배송비</dt>
+												<dd><em id="deliveryFee">0</em>원</dd>
+											</div>
+											<div class="include_item">
+												<dt>할인 금액 차감</dt>
+												<dd><em id="deductDcAmt">0</em>원</dd>
+											</div>
+										</dl>
+									</td>
+									<td>
+										<dl>
+											<div>
+												<dt>환불 수단</dt>
+												<dd th:if="${paymentInfo.pgGb == 'KCP'}" th:text="${paymentInfo.payMeansNm}"></dd>
+												<dd th:if="${paymentInfo.pgGb == 'NAVER'}" th:text="|네이버페이|"></dd>
+												<dd th:if="${paymentInfo.pgGb == 'KAKAO'}" th:text="|카카오페이|"></dd>
+												<dd th:if="${paymentInfo.pgGb == 'PAYCO'}" th:text="|PAYCO|"></dd>
+											</div>
+											<div>
+												<dt>결제 금액 환불</dt>
+												<dd>
+													<em id="refundPayAmt">0</em>원
+												</dd>
+											</div>
+											<div>
+												<dt>포인트 환불</dt>
+												<dd>
+													<em id="refundPoint">0</em>P
+												</dd>
+											</div>
+											<div>
+												<dt>상품권 환불</dt>
+												<dd>
+													<em id="refundGiftCard">0</em>원
+												</dd>
+											</div>
+										</dl>
+									</td>
+								</tr>
+							</table>
+						</div>
+						<div class="txt_info">
+							<ul>
+								<li>
+									카드사로 결제 취소 요청이 전달된 후 환불까지는 평일 기준 3 ~7일이 소요될 수 있습니다.
+								</li>
+							</ul>
+						</div>
+						<div class="info_footer_area" id="addDeliveryFee" style="display:none">
+							<p>
+								<span id="addPayCost">2,500원</span> 배송비 추가 결제가 필요합니다.
+								<input type="hidden" name="addPayCost"/>
+							</p>
+						</div>
+						<div class="btn_footer_area">
+							<button type="button" class="btn btn_default btn_md" onclick="fnGoToNoMemberOrderList();"><span>취소</span></button>
+							<button type="button" id="btn_refund_pop" class="btn btn_dark btn_md" onclick="fnCancel();"><span>주문 취소</span></button>
+						</div>
+					</div>
+				</form>
+			</div>
+			<!-- // CONT-BODY -->
+		</div>
+
+		<!-- 환불계좌 등록 팝업 -->
+		<div class="modal fade refund_pop" id="refundPop" tabindex="-1" role="dialog" aria-labelledby="refundLabel" aria-hidden="true">
+			<div class="modal-dialog" role="document">
+				<div class="modal-content"></div>
+			</div>
+			<a href="#close-modal" rel="modal:close" id="refundPop_close" class="close-modal">Close</a>
+			<a href="#close-modal" rel="modal:close" class="close-modal ">Close</a>
+		</div>
+		<!-- //환불계좌 등록 팝업 -->
+	</div>
+<script src="/ux/plugins/gaga/gaga.paging.js"></script>
+<script th:inline="javascript">
+	let cancelList = [[${cancelList}]];
+	let oneData = [[${oneData}]];
+	let paymentInfo = [[${paymentInfo}]];
+	let addPayCost = 0;
+
+	$(document).ready(function() {
+		// 마이페이지 LNB 설정
+		fnSetNoMemberLnbList(2);
+
+		// 마이페이지 location 설정
+		fnSetNoMemberLocation('취소/반품/교환 내역', '취소 신청');
+
+		// 셀렉트박스 활성화
+		$(".myOrderView .part_goods .select_custom.select_count").each(function() {
+			new sCombo(this);
+		});
+	});
+
+	// 취소 처리
+	var fnCancel = function() {
+		// 주문상세번호 및 취소 수량 설정
+		let ordDtlNoArr = [];
+		let cnclRtnReqQtyArr = [];
+		let chkQty = 0;
+		$.each($('#cancelForm input[name=chgQty]'), function(idx, item) {
+			let chgQty = $(item).val();
+			let ordDtlNo = $(item).attr('ordDtlNo');
+			
+			ordDtlNoArr.push(Number(ordDtlNo));
+			cnclRtnReqQtyArr.push(Number(chgQty));
+			chkQty += chgQty;
+		});
+
+		// 취소 수량 체크
+		if (chkQty == 0) {
+			mcxDialog.alert('취소하실 상품의 수량을 선택해주세요.');
+			return false;
+		}
+
+		// 환불계좌 체크
+		let accountNo = $('#cancelForm input[name=accountNo]').val();
+		let accountNm = $('#cancelForm input[name=accountNm]').val();
+		let bankCd = $('#cancelForm input[name=bankCd]').val();
+
+		if (paymentInfo.payMeans == 'G014_20' && paymentInfo.payStat == 'G016_30' && (gagajf.isNull(accountNo) || gagajf.isNull(accountNm) || gagajf.isNull(bankCd))) {
+			let data = {};
+			data.ordNo = oneData.ordNo;
+			data.accountNm = oneData.accountNm;
+
+			let jsonData = JSON.stringify(data);
+
+			$.ajax( {
+				type		: "POST",
+				url 		: '/noMember/refund/account/register/popup/form',
+				data		: jsonData,
+				dataType 	: 'html',
+				beforeSend : function(xhr, settings) {
+					xhr.setRequestHeader("AJAX"			, "true");
+					xhr.setRequestHeader('Accept'		, 'application/json');
+					xhr.setRequestHeader('Content-Type'	, 'application/json');
+				},
+				success 	: function(result) {
+					$("#refundPop .modal-dialog .modal-content").html(result);
+					$("#refundPop").modal("show");
+				}
+			});
+			
+			return false;
+		}
+
+		// 취소요청 데이터 설정
+		let url = '/noMember/cancel';
+
+		// 취소 처리
+		let data = {};
+		data.ordNo = oneData.ordNo;
+		data.ordNm = oneData.ordNm;
+		data.ordPhnno = oneData.ordPhnno;
+		data.chgReason = 'G686_10';
+		data.chgReasonNm = '고객변심';
+		data.accountNo = accountNo;
+		data.accountNm = accountNm;
+		data.bankCd = bankCd;
+		data.isCustomer = 'Y';
+		data.reqGbn = 'cnclComplete';
+		data.pgTid = paymentInfo.pgTid;
+		data.payAmt = paymentInfo.payAmt;
+		data.ordDtlNoArr = ordDtlNoArr;
+		data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;
+
+		let jsonData = JSON.stringify(data);
+
+		// 취소 처리 가능 여부 조회
+		gagajf.ajaxJsonSubmit('/noMember/wms/cancel/available', jsonData, function(result) {
+			if (result.cancelYn == 'Y') {
+				// 취소 처리
+				gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
+					fnGoToNoMemberOrderList();
+				}, true);
+			} else {
+				mcxDialog.alert('이미 배송처리 되어 취소 처리에 실패 하였습니다.');
+			}
+		}, true);
+	}
+	
+	// 취소 수량 변경 이벤트 처리
+	var fnChangeCancelQty = function(param) {
+		let url = '/noMember/cancel/refund/amt/calculate';
+
+		if (param != null) {
+			$(param).parent().parent().find('input[name=chgQty]').val($(param).attr('qty'));
+		}
+
+		// 취소 수량 설정
+		let cnclRtnReqQtyArr = [];
+		let ordDtlNoArr = [];
+		let ordCanChgQtyArr = [];
+		$.each($('#cancelForm input[name=chgQty]'), function(idx, item) {
+			let chgQty = $(item).val();
+			let ordDtlNo = $(item).attr('ordDtlNo');
+			let ordCanChgQty = $(item).attr('ordCanChgQty');
+			
+			cnclRtnReqQtyArr.push(Number(chgQty));
+			ordDtlNoArr.push(Number(ordDtlNo));
+			ordCanChgQtyArr.push(Number(ordCanChgQty));
+		});
+
+		let data = {};
+		data.ordNo = oneData.ordNo;
+		data.ordNm = oneData.ordNm;
+		data.ordPhnno = oneData.ordPhnno;
+		data.ordDtlNoArr = ordDtlNoArr;
+		data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;
+
+		let jsonData = JSON.stringify(data);
+
+		gagajf.ajaxJsonSubmit(url, jsonData, function (result) {
+			// 환불포인트, 환불상품권 금액 계산
+			let refundPoint = Number(result.spanPntDcAmt);
+			let refundGiftCard = Number(result.spanGfcdUseAmt);
+
+			let spanCnclRtnAmt = Number(result.spanCnclRtnAmt);
+			let sumDeliveryFee = Number(result.sumDeliveryFee);
+			let spanTotDeliveryFee = Number(result.spanTotDeliveryFee);
+			let spanCpnDcAmt = Number(result.spanCpnDcAmt);
+			let spanTmtbDcAmt = Number(result.spanTmtbDcAmt);
+			let spanPrePntDcAmt = Number(result.spanPrePntDcAmt);
+			let spanRefundAmt = Number(result.spanRefundAmt);
+
+			let goodsCancelAmt = spanCnclRtnAmt;										// 상품취소금액
+			let deliveryFee = sumDeliveryFee - spanTotDeliveryFee;						// 배송비
+			let deductDcAmt = 0 - spanCpnDcAmt - spanTmtbDcAmt - spanPrePntDcAmt;		// 할인금액 차감(쿠폰+다다익선+선포인트)
+			let refundPayAmt = spanRefundAmt;											// 결제금액 환불
+			let returnAmt = refundPayAmt + refundPoint + refundGiftCard;				// 환불예정금액
+
+			// 추가배송비 영역 설정
+			if (refundPayAmt < 0) {
+				refundPayAmt = spanRefundAmt;
+				$('#addDeliveryFee').css('display', '');
+				$('#addPayCost').text(spanTotDeliveryFee.addComma() + '원');
+				addPayCost = spanTotDeliveryFee;
+			} else {
+				addPayCost = 0;
+			}
+
+			// 금액 설정
+			$('#returnAmt').text(returnAmt.addComma());
+			$('#goodsCancelAmt').text(goodsCancelAmt.addComma());
+			$('#deliveryFee').text(deliveryFee.addComma());
+			$('#deductDcAmt').text(deductDcAmt.addComma());
+			$('#refundPayAmt').text(refundPayAmt.addComma());
+			$('#refundPoint').text(refundPoint.addComma());
+			$('#refundGiftCard').text(refundGiftCard.addComma());
+		});
+	}
+
+	// 환불계좌 등록 콜백 처리
+	var fnRegisterAccountCallback = function(result) {
+		// 환불계좌 정보 설정
+		$('#cancelForm input[name=accountNo]').val(result.accountNo);
+		$('#cancelForm input[name=accountNm]').val(result.accountNm);
+		$('#cancelForm input[name=bankCd]').val(result.bankCd);
+
+		// 취소처리
+		fnCancel();
+	}
+</script>
+
+</th:block>
+
+</body>
+</html>

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

@@ -0,0 +1,505 @@
+<!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  : NoMemberOrderDetailFormWeb.html
+ * @desc    : 비회원주문 > 주문상세 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2021 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.04.28   card007     최초 작성
+ *******************************************************************************
+ -->
+<body>
+
+<th:block layout:fragment="content">
+	<div class="content 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">
+				<form id="orderDetailForm">
+					<div class="sec_head">
+						<h3 class="subH1">주문상세</h3>
+						<span class="order_number">주문번호&nbsp;:&nbsp;<em th:text="${ordNo}"></em></span>
+						<button type="button" id="btn_order_cancel" class="btn_underline" onclick="fnDeleteOrder()"><span>삭제하기</span></button>
+					</div>
+					<div class="sec_body">
+						<th:block th:if="${orderList}" th:each="order, status : ${orderList}">
+							<input type="hidden" name="accountNo" th:value="${order.oneData.accountNo}"/>
+							<input type="hidden" name="accountNm" th:value="${order.oneData.accountNm}"/>
+							<input type="hidden" name="bankCd" th:value="${order.oneData.bankCd}"/>
+							<input type="hidden" name="delvMemo" th:value="${deliveryAddrInfo.delvMemo}"/>
+							<div class="part_goods">
+								<div class="goods_head">
+									<p th:unless="${order.giftPackYn == 'Y'}">주문일 <span th:text="${order.ordDt}"></span></p>
+									<p th:if="${order.giftPackYn == 'Y'}">선물일 <span th:text="${order.ordDt}"></span></p>
+									<li><a href="javascript:void(0)" th:if="${order.allCanYn == 'Y' and order.ordReqChgQty == 0}" onclick="fnAllCancel();">주문전체취소</a></li>
+								</div>
+								<div class="goods_cont">
+									<!-- 주문상품 -->
+									<th:block th:if="${order.ordDtlList}" th:each="ordDtl, status : ${order.ordDtlList}" th:with="imageUrl=${@environment.getProperty('upload.goods.view')}">
+										<div class="goods_info">
+											<div class="order_desc">
+												<div class="goods_box">
+													<input type="hidden" name="ordDtlNoArr" th:value="${ordDtl.ordDtlNo}"/>
+													<input type="hidden" name="cnclRtnReqQtyArr" th:value="${ordDtl.ordQty - ordDtl.cnclRtnQty}"/>
+													<div class="gd_item">
+														<a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+															<span class="thumb">
+																<img th:src="${imageUrl + '/' + ordDtl.sysImgNm}" width="100%" alt="">
+															</span>
+															<p>
+																<span class="brand" th:text="${ordDtl.brandNm}"></span>
+																<span class="tag primary" th:if="${ordDtl.shotDelvYn == 'Y'}">총알배송</span>
+																<span class="tag" th:if="${ordDtl.shotDelvYn == 'N' and ordDtl.selfGoodsYn == 'Y'}">STYLE24 일반배송</span>
+																<span class="tag" th:if="${ordDtl.selfGoodsYn == 'N'}">업체직배송</span>
+															</p>
+															<p>
+																<span class="name" th:text="${ordDtl.goodsNm}"></span>
+															</p>
+														</a>
+													</div>
+													<div class="gd_opt">
+														<div class="option_wrap">
+															<span class="title sr-only">주문 옵션</span>
+															<span class="option" th:if="${ordDtl.goodsType == 'G056_S'}" th:each="option, status : ${ordDtl.colorNmArr}" th:text="|${ordDtl.itemNmArr[status.index]} / ${option} / ${ordDtl.optCd2Arr[status.index]}|"></span>
+															<span class="option" th:unless="${ordDtl.goodsType == 'G056_S'}" th:text="|${ordDtl.colorNm} / ${ordDtl.optCd2}|"></span>
+														</div>
+													</div>
+													<div class="gd_calc">
+														<p>
+															<span class="count"><em th:text="${ordDtl.ordQty - ordDtl.cnclRtnQty}"></em>개</span>
+														</p>
+														<p>
+															<span class="price_org" th:if="${(ordDtl.ordAmt - ordDtl.cnclRtnAmt - ordDtl.cpn1DcAmt) > (ordDtl.realOrdAmt + ordDtl.pntDcAmt + ordDtl.gfcdUseAmt)}"><em th:text="${#numbers.formatInteger(ordDtl.ordAmt - ordDtl.cnclRtnAmt - ordDtl.cpn1DcAmt, 1, 'COMMA')}"></em>원</span>
+															<span class="price_sale"><em th:text="${#numbers.formatInteger(ordDtl.realOrdAmt + ordDtl.pntDcAmt + ordDtl.gfcdUseAmt, 1, 'COMMA')}"></em>원</span>
+														</p>
+													</div>
+												</div>
+												<div class="status_box">
+													<p th:text="${ordDtl.ordDtlStatNm}"></p>
+												</div>
+												<div class="button_box">
+													<!-- 주문취소 버튼(입금대기, 결제완료, 상품준비중, 출고처지정, 배송준비중) -->
+													<th:block th:if="${ordDtl.payStat != 'G016_00' && (ordDtl.ordDtlStat == 'G013_10' or ordDtl.ordDtlStat == 'G013_20' or ordDtl.ordDtlStat == 'G013_30' or ordDtl.ordDtlStat == 'G013_35' or ordDtl.ordDtlStat == 'G013_40')}">
+														<p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}" onclick="fnCreateChange(this, 'cancel');"><span>주문 취소</span></button></p>
+													</th:block>
+													
+													<!-- 교환/반품 신청 버튼(배송중, 출고완료, 배송완료) -->
+													<th:block th:if="${ordDtl.ordDtlStat == 'G013_50' or ordDtl.ordDtlStat == 'G013_55' or ordDtl.ordDtlStat == 'G013_60'}">
+														<!-- 교환/반품 가능한 상품 -->
+														<th:block th:if="${ordDtl.changeableYn == 'Y' and ordDtl.returnableYn == 'Y'}">
+															<p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}" onclick="fnCreateChange(this, 'exchange');"><span>교환 신청</span></button></p>
+															<p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}" onclick="fnCreateChange(this, 'return');"><span>반품 신청</span></button></p>
+														</th:block>
+														
+														<!-- 교환 신청 불가 상품 -->
+														<th:block th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'Y'}">
+															<p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}" onclick="fnCreateChange(this, 'return');"><span>반품 신청</span></button></p>
+														</th:block>
+
+														<!-- 반품 신청 불가 상품 -->
+														<th:block th:if="${ordDtl.changeableYn == 'Y' and ordDtl.returnableYn == 'N'}">
+															<p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}" onclick="fnCreateChange(this, 'exchange');"><span>교환 신청</span></button></p>
+														</th:block>
+
+														<!-- 교환/반품 신청 불가 상품 -->
+														<th:block th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'N'}">
+														</th:block>
+													</th:block>
+													
+													<!-- 배송조회 버튼(배송중) -->
+													<th:block th:if="${ordDtl.ordDtlStat == 'G013_50' or ordDtl.ordDtlStat == 'G013_55'}">
+														<p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}" onclick="fnGoToDelivery(this);"><span>배송 조회</span></button></p>
+													</th:block>
+
+													<!-- 쇼핑백담기 버튼(구매확정) -->
+													<th:block th:if="${ordDtl.ordDtlStat == 'G013_70'}">
+														<p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);"><span>쇼핑백 담기</span></button></p>
+													</th:block>
+												</div>
+											</div>
+											<!-- 주문 접수 -->
+											<div class="order_text" th:if="${ordDtl.ordDtlStat == 'G013_10'}">
+												<p>주문이 완료되어 결제를 기다리고 있습니다.</p>
+
+												<!-- 예약 상품 -->
+												<p th:if="${!#strings.isEmpty(ordDtl.delvResDt)}" th:text="|예약판매 상품으로${ordDtl.delvResDt} 출고 예정입니다.|"></p>
+											</div>
+											
+											<!-- 상품준비중 -->
+											<div class="order_text" th:if="${ordDtl.ordDtlStat == 'G013_30'}">
+												<p>배송할 상품을 준비 중입니다.</p>
+
+												<!-- 예약 상품 -->
+												<p th:if="${!#strings.isEmpty(ordDtl.delvResDt)}" th:text="|예약판매 상품으로${ordDtl.delvResDt} 출고 예정입니다.|"></p>
+											</div>
+											
+											<!-- 배송준비중 -->
+											<div class="order_text" th:if="${ordDtl.ordDtlStat == 'G013_40'}">
+												<p>상품 준비가 완료되어 곧 배송될 예정입니다.</p>
+
+												<!-- 예약 상품 -->
+												<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'}">
+												<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>
+									<!-- //주문상품 -->
+								</div>
+							</div>
+						</th:block>
+						<th:block th:if="${paymentInfo.payMeans == 'G014_20'}">
+							<h4 class="subH3">무통장 입금 정보</h4>
+							<div class="tbl type1">
+								<table>
+									<colgroup>
+										<col width="210">
+										<col width="*">
+									</colgroup>
+									<tbody>
+										<tr>
+											<th>
+												계좌정보/입금기한
+											</th>
+											<td>
+												<div class="single_line">
+													<ul>
+														<li><span th:text="${paymentInfo.vaBank}"></span>&nbsp;<span th:text="|(${paymentInfo.vaNm})|"></span></li>
+														<li><span th:text="${paymentInfo.vaNo}"></span></li>
+														<li><span th:text="${paymentInfo.vaDeadlineYmd}"></span>&nbsp;<span th:text="${paymentInfo.vaDeadlineHms}"></span>&nbsp;까지</li>
+													</ul>
+												</div>
+											</td>
+										</tr>
+									</tbody>
+								</table>
+							</div>
+						</th:block>
+						<!-- 주문 -->
+						<h4 class="subH3">주문자/배송지 정보</h4>
+						<div class="tbl type1">
+							<table>
+								<colgroup>
+									<col width="210">
+									<col width="*">
+								</colgroup>
+								<tbody>
+									<tr>
+										<th>
+											주문 고객
+										</th>
+										<td>
+											<div class="single_line">
+												<ul>
+													<li><span th:text="${orderInfo.ordNm}"></span></li>
+													<li><span th:text="${orderInfo.ordEmail}"></span></li>
+													<li><span th:text="${orderInfo.ordPhnno}"></span></li>
+												</ul>
+											</div>
+										</td>
+									</tr>
+									<tr>
+										<th>
+											배송지 정보
+										</th>
+										<td>
+											<div class="block_line">
+												<ul>
+													<li>
+														<span th:text="${deliveryAddrInfo.recipNm}" id="recipNm"></span>
+													</li>
+													<li>
+														<span th:text="${deliveryAddrInfo.recipPhnno}" id="recipPhnno"></span>
+													</li>
+													<li>
+														<span th:text="|${deliveryAddrInfo.recipBaseAddr} ${deliveryAddrInfo.recipDtlAddr}|" id="recipAddr"></span>
+														<button type="button" class="btn btn_default btn_sm" th:if="${allCanYn == 'Y'}" onclick="fnChangeDeliveryAddr()"><span>배송지 변경</span></button>
+													</li>
+													<li>
+														배송요청 사항&nbsp;:&nbsp;<span id="delvMemo" th:text="${deliveryAddrInfo.delvMemo}"></span>
+														<button type="button" class="btn_underline" th:if="${allCanYn == 'Y'}" onclick="fnChangeDeliveryMemo(this)"><span>변경하기</span></button>
+													</li>
+												</ul>
+											</div>
+										</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="order_total_price"><em th:text="${#numbers.formatInteger(orderAmtInfo.ordAmt - orderAmtInfo.cnclRtnAmt + orderAmtInfo.realDelvAmt, 1, 'COMMA')}"></em>원</span>
+														</div>
+													</dd>
+												</div>
+												<div class="include_item" th:if="${orderAmtInfo.cpn1DcAmt > 0}"> <!-- 할인항목 표기 class명 include_item -->
+													<dt>상품할인(즉시할인)</dt>
+													<dd><em th:text="|- ${#numbers.formatInteger(orderAmtInfo.cpn1DcAmt, 1, 'COMMA')}|"></em>원</dd>
+												</div>
+												<div class="include_item" th:if="${paymentInfo.npayPntAmt > 0}">
+													<dt>마일리지 사용</dt>
+													<dd><em th:text="|- ${#numbers.formatInteger(orderAmtInfo.npayPntAmt, 1, 'COMMA')}|"></em>원</dd>
+												</div>
+												<div class="include_item" th:if="${paymentInfo.pgCpnAmt > 0}">
+													<dt>제휴할인</dt>
+													<dd><em th:text="|- ${#numbers.formatInteger(paymentInfo.pgCpnAmt, 1, 'COMMA')}|"></em>원</dd>
+												</div>
+											</dl>
+										</td>
+										<td>
+											<dl>
+												<div>
+													<dt>결제 금액</dt>
+													<dd>
+														<div class="price">
+															<span class="pay_total_price"><em th:text="${#numbers.formatInteger(orderAmtInfo.payAmt - orderAmtInfo.npayPntAmt, 1, 'COMMA')}"></em>원</span>
+														</div>
+													</dd>
+												</div>
+												<div>
+													<dt class="sr-only">결제방법</dt>
+													<!-- TODO -->
+													<!-- Style24 간편결제 처리 (STYLE24 간편결제 : STYLE24 간편결제명 / 카드사명 / 할부개월(일시불)) -->
+													<dd th:if="${paymentInfo.pgGb == 'NAVER'}">네이버 페이</dd>
+													<dd th:if="${paymentInfo.pgGb == 'KAKAO'}">카카오 페이</dd>
+													<dd th:if="${paymentInfo.pgGb == 'PAYCO'}">PAYCO</dd>
+													<dd th:if="${paymentInfo.pgGb == 'KCP' and paymentInfo.payMeans == 'G014_10'}">실시간계좌이체</dd>
+													<dd th:if="${paymentInfo.pgGb == 'KCP' and paymentInfo.payMeans == 'G014_20'}">무통장입금</dd>
+													<dd th:if="${paymentInfo.pgGb == 'KCP' and paymentInfo.payMeans == 'G014_30'}" th:text="|${paymentInfo.cardNm}/${paymentInfo.cardMips}|"></dd>
+													<dd th:if="${paymentInfo.pgGb == 'KCP' and paymentInfo.payMeans == 'G014_60'}">휴대폰결제</dd>
+												</div>
+												<div>
+													<dt class="sr-only">영수증 확인</dt>
+													<dd>
+														<button type="button" class="btn btn_default btn_sm" th:if="${paymentInfo.pgGb == 'KCP' and paymentInfo.payMeans == 'G014_30'}" onclick="fnReceipt('card')"><span>신용카드 전표</span></button>
+														<button type="button" class="btn btn_default btn_sm" th:if="${paymentInfo.pgGb == 'KCP' and not #strings.isEmpty(paymentInfo.cashAuthNo) and (paymentInfo.payMeans == 'G014_10' or paymentInfo.payMeans == 'G014_20')}" onclick="fnReceipt('cash')"><span>현금 영수증</span></button>
+													</dd>
+												</div>
+											</dl>
+										</td>
+									</tr>
+								</tbody>
+							</table>
+						</div>
+						<div class="btn_footer_area">
+							<button type="button" class="btn btn_dark btn_md" onclick="fnGoToNoMemberOrderList()"><span>확인</span></button>
+						</div>
+					</div>
+				</form>
+			</div>
+			<!-- // CONT-BODY -->
+		</div>
+
+		<!-- 환불계좌 등록 팝업 -->
+		<div class="modal fade refund_pop" id="refundPop" tabindex="-1" role="dialog" aria-labelledby="refundLabel" aria-hidden="true">
+			<div class="modal-dialog" role="document">
+				<div class="modal-content"></div>
+			</div>
+			<a href="#close-modal" rel="modal:close" id="refundPop_close" class="close-modal">Close</a>
+			<a href="#close-modal" rel="modal:close" class="close-modal ">Close</a>
+		</div>
+		<!-- //환불계좌 등록 팝업 -->
+	</div>
+<script src="/ux/plugins/gaga/gaga.paging.js"></script>
+<script th:inline="javascript">
+	let ordNo = [[${ordNo}]];
+	var isLogin = [[${isLogin}]];
+	let orderList = [[${orderList}]];
+	let oneData = [[${oneData}]];
+	let paymentInfo = [[${paymentInfo}]];
+	let orderAmtInfo = [[${orderAmtInfo}]];
+	let deliveryAddrInfo = [[${deliveryAddrInfo}]];
+	let kcpReceiptUrl = [[${@environment.getProperty('pg.kcp.receipt.url')}]];
+	let jsonObj = {};
+
+	$(document).ready(function() {
+		// 마이페이지 LNB 설정
+		fnSetNoMemberLnbList(1);
+		
+		// 마이페이지 location 설정
+		fnSetNoMemberLocation('주문확인/배송조회', '주문상세');
+	});
+	
+	// 전체취소 버튼 클릭 이벤트
+	var fnAllCancel = function() {
+		// 환불계좌 체크
+		let accountNo = $('#orderDetailForm input[name=accountNo]').val();
+		let accountNm = $('#orderDetailForm input[name=accountNm]').val();
+		let bankCd = $('#orderDetailForm input[name=bankCd]').val();
+
+		if (paymentInfo.payMeans == 'G014_20' && paymentInfo.payStat == 'G016_30' && (gagajf.isNull(accountNo) || gagajf.isNull(accountNm) || gagajf.isNull(bankCd))) {
+			let data = {};
+			data.ordNo = oneData.ordNo;
+			data.accountNm = oneData.accountNm;
+			
+			let jsonData = JSON.stringify(data);
+			
+			$.ajax( {
+				type		: "POST",
+				url 		: '/mypage/refund/account/register/popup/form',
+				data		: jsonData,
+				dataType 	: 'html',
+				beforeSend : function(xhr, settings) {
+					xhr.setRequestHeader("AJAX"			, "true");
+					xhr.setRequestHeader('Accept'		, 'application/json');
+					xhr.setRequestHeader('Content-Type'	, 'application/json');
+				},
+				success 	: function(result) {
+					$("#refundPop .modal-dialog .modal-content").html(result);
+					$("#refundPop").modal("show");
+				}
+			});
+			
+			return false;
+		}
+
+		mcxDialog.confirm('전체취소 처리하시겠습니까?', {
+			cancelBtnText: "취소",
+			sureBtnText: "확인",
+			sureBtnClick: function(){
+				// 취소요청 데이터 설정
+				let url = '/noMember/cancel';
+				
+				// 주문상세번호 설정
+				let ordDtlNoArr = [];
+				$.each($('#orderDetailForm input[name=ordDtlNoArr]'), function(idx, item) {
+					ordDtlNoArr.push($(item).val());
+				});
+				
+				// 취소 수량 설정
+				let cnclRtnReqQtyArr = [];
+				$.each($('#orderDetailForm input[name=cnclRtnReqQtyArr]'), function(idx, item) {
+					cnclRtnReqQtyArr.push($(item).val());
+				});
+				
+				// 전체 취소 처리
+				let data = {};
+				data.ordNo = ordNo;
+				data.chgReason = 'G686_10';
+				data.chgReasonNm = '고객변심';
+				data.accountNo = accountNo;
+				data.accountNm = accountNm;
+				data.bankCd = bankCd;
+				data.isCustomer = 'Y';
+				data.reqGbn = 'cnclComplete';
+				data.ordDtlNoArr = ordDtlNoArr;
+				data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;
+				
+				let jsonData = JSON.stringify(data);
+
+				// 취소 처리 가능 여부 조회
+				gagajf.ajaxJsonSubmit('/noMember/wms/cancel/available', jsonData, function(result) {
+					let cancelYn = result.cancelYn;
+
+					if (cancelYn == 'Y') {
+						// 전체취소 처리
+						gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
+							cfnGoToPage(_PAGE_MYPAGE_ORDER_LIST);
+						}, true);
+					} else {
+						mcxDialog.alert('이미 배송처리 되어 전체취소 처리에 실패 하였습니다.');
+					}
+				});
+			}
+		});
+	}
+
+	// 배송지 정보 설정
+	var delvAddrSet = function(delvObj) {
+		let delvAddrSq = deliveryAddrInfo.delvAddrSq;
+		let recipNm = delvObj.recipNm;
+		let recipPhnno = delvObj.recipPhnno;
+		let recipZipcode = delvObj.recipZipcode;
+		let recipBaseAddr = delvObj.recipBaseAddr;
+		let recipDtlAddr = delvObj.recipDtlAddr;
+		let delvMemo = delvObj.delvMemo;
+		
+		$('#recipNm').text(recipNm);
+		$('#recipPhnno').text(recipPhnno);
+		$('#recipAddr').text(recipBaseAddr + ' ' + recipDtlAddr);
+		$('#delvMemo').text(delvMemo);
+		
+		let url = '/noMember/change/delvery/addr';
+		let data = {};
+		data.delvAddrSq = delvAddrSq;
+		data.recipNm = recipNm;
+		data.recipPhnno = recipPhnno;
+		data.recipZipcode = recipZipcode;
+		data.recipBaseAddr = recipBaseAddr;
+		data.recipDtlAddr = recipDtlAddr;
+		data.delvMemo = delvMemo;
+		
+		let jsonData = JSON.stringify(data);
+		
+		gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
+		})
+	}
+	
+	// 배송메모 설정
+	var delvMemoSet = function(delvMemoObj) {
+		let url = '/noMember/change/delvery/memo';
+		let delvMemo = delvMemoObj.delvMemo;
+
+		let data = {};
+		data.delvMemo = delvMemo;
+		data.delvAddrSq = oneData.delvAddrSq;
+
+		let jsonData = JSON.stringify(data);
+
+		gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
+		})
+
+		$("#delvMemo").text(delvMemo);
+	}
+
+	// 환불계좌 등록 콜백 처리
+	var fnRegisterAccountCallback = function(result) {
+		// 환불계좌 정보 설정
+		$('#orderDetailForm input[name=accountNo]').val(result.accountNo);
+		$('#orderDetailForm input[name=accountNm]').val(result.accountNm);
+		$('#orderDetailForm input[name=bankCd]').val(result.bankCd);
+		
+		// 반품처리
+		fnAllCancel();
+	}
+</script>
+
+</th:block>
+
+</body>
+</html>

+ 14 - 24
src/main/webapp/WEB-INF/views/web/mypage/NoMemberOrderListFormWeb.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  : NoMemberOrderListFormWeb.html
@@ -141,7 +141,7 @@
 						</div>
 					</div>
 				</div>
-				<form id="searchForm" name="searchForm" th:action="@{'/mypage/order/list'}" th:method="post">
+				<form id="searchForm" name="searchForm" th:action="@{'/noMember/order/list'}" th:method="post">
 					<input type="hidden" name="ordNo" th:value="${ordNo}" />
 					<input type="hidden" name="ordNm" th:value="${ordNm}" />
 					<input type="hidden" name="ordPhnno" th:value="${ordPhnno}" />
@@ -152,29 +152,10 @@
 					<input type="hidden" name="stDate" value="" />
 					<input type="hidden" name="edDate" value="" />
 				</form>
-				<form id="exchangeForm" name="exchangeForm" action="#" th:action="@{'/mypage/exchange/form'}" th:method="post">
+				<form id="detailForm" name="detailForm" th:action="@{'/noMember/order/detail/form'}" th:method="post">
 					<input type="hidden" name="ordNo" th:value="${ordNo}" />
 					<input type="hidden" name="ordNm" th:value="${ordNm}" />
 					<input type="hidden" name="ordPhnno" th:value="${ordPhnno}" />
-					<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" th:value="${ordNo}" />
-					<input type="hidden" name="ordNm" th:value="${ordNm}" />
-					<input type="hidden" name="ordPhnno" th:value="${ordPhnno}" />
-					<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" th:value="${ordNo}" />
-					<input type="hidden" name="ordNm" th:value="${ordNm}" />
-					<input type="hidden" name="ordPhnno" th:value="${ordPhnno}" />
-					<input type="hidden" name="ordNo"/>
-					<input type="hidden" name="ordDtlNo"/>
-					<input type="hidden" name="delvFeeCd"/>
 				</form>
 			</div>
 			<!-- // CONT-BODY -->
@@ -191,7 +172,7 @@
 		fnSetNoMemberLnbList(1);
 		
 		// 비회원 location 설정
-		fnSetMypageLocation('주문확인/배송조회');
+		fnSetNoMemberLocation('주문확인/배송조회');
 		
 		// datepicker 설정
 		$('.period_datepicker').datepicker();
@@ -344,6 +325,15 @@
 		// TODO
 		// 배송조회 페이지 이동
 	}
+	
+	// 비회원 주문상세보기 버튼 클릭 이벤트
+	var fnGoToNoMemberOrderDetail = function(param) {
+		let ordNo = $(param).attr('ordNo');
+		let ordNm = $(param).attr('ordNm');
+		let ordPhnno = $(param).attr('ordPhnno');
+
+		document.detailForm.submit();
+	}
 
 	// 주문내역 리스트 처리
 	var fnCreateOrderList = function(param) {
@@ -355,7 +345,7 @@
 				tag += '						<div class="part_goods">\n';
 				tag += '							<div class="goods_head">\n';
 				tag += '								<p>주문일 <span>' + order.ordDt + '</span></p>\n';
-				tag += '								<a href="javascript:void(0)" class="btn_detail_view" ordNo="' + order.ordNo + '" onclick="fnGoToOrderDetail(this)">주문상세보기</a>\n';
+				tag += '								<a href="javascript:void(0)" class="btn_detail_view" ordNo="' + order.ordNo + '" ordNm="' + order.ordNm + '" ordPhnno="' + order.ordPhnno + '" onclick="fnGoToNoMemberOrderDetail(this)">주문상세보기</a>\n';
 				tag += '							</div>\n';
 				tag += '							<div class="goods_cont">\n';
 				$.each(order.ordDtlList, function (index, ordDtl) {

+ 0 - 1
src/main/webapp/WEB-INF/views/web/order/OrderAddPaymentFormWeb.html

@@ -200,7 +200,6 @@ $("#btn_payment").on("click", function(){
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			// 결재정보로드

+ 0 - 3
src/main/webapp/WEB-INF/views/web/order/OrderCompleteWeb.html

@@ -287,7 +287,6 @@ $('#btn_adrsChange_pop').on("click", function(){
 				xhr.setRequestHeader("AJAX"			, "true");
 				xhr.setRequestHeader('Accept'		, 'application/json');
 				xhr.setRequestHeader('Content-Type'	, 'application/json');
-				gagajf.showProgressbar(true);
 			},
 			success 	: function(result) {
 				$("#adrsChangePop .modal-dialog .modal-content").html(result);
@@ -305,7 +304,6 @@ $('#btn_adrsChange_pop').on("click", function(){
 				xhr.setRequestHeader("AJAX"			, "true");
 				xhr.setRequestHeader('Accept'		, 'application/json');
 				xhr.setRequestHeader('Content-Type'	, 'application/json');
-				gagajf.showProgressbar(true);
 			},
 			success 	: function(result) {
 				$("#adrsAddPop .modal-dialog .modal-content").html(result);
@@ -329,7 +327,6 @@ $("#btn_rqstModify_pop").on("click", function(e){
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			if (result != null) {

+ 0 - 1
src/main/webapp/WEB-INF/views/web/popup/DelvAddrAddPopWeb.html

@@ -160,7 +160,6 @@ $("#btn_delivery_addr_save").on("click", function(){
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			if (result != null) {

+ 0 - 3
src/main/webapp/WEB-INF/views/web/popup/DelvAddrChangePopWeb.html

@@ -77,7 +77,6 @@ $(document).ready( function() {
 				xhr.setRequestHeader("AJAX"			, "true");
 				xhr.setRequestHeader('Accept'		, 'application/json');
 				xhr.setRequestHeader('Content-Type'	, 'application/json');
-				gagajf.showProgressbar(true);
 			},
 			success 	: function(result) {
 				$("#adrsAddPop .modal-dialog .modal-content").html(result);
@@ -126,7 +125,6 @@ $("#delvAddrChangeForm .btn_addrModify_pop").on("click", function(){
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			$("#adrsModifyPop .modal-dialog .modal-content").html(result);
@@ -147,7 +145,6 @@ $('#btn_adrsAdd_pop').on("click", function(){
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			$("#adrsAddPop .modal-dialog .modal-content").html(result);

+ 0 - 2
src/main/webapp/WEB-INF/views/web/popup/DelvAddrModifyPopWeb.html

@@ -181,10 +181,8 @@ $("#btn_delivery_modi_save").on("click", function(){
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
-			gagajf.showProgressbar(false);
 			// custDelvAddrSq 부모창으로 전달
 			var delvObj = {
 				"custDelvAddrSq"	: parseInt($("#deliveryModifyForm input[name=custDelvAddrSq]").val())

+ 31 - 9
src/main/webapp/biz/mypage.js

@@ -15,27 +15,52 @@ var fnSetMypageLnbList = function(lnbLvl) {
 	$('#mypageLnbList').html(tag);
 }
 
+// 마이페이지 로케이션 처리
+var fnSetMypageLocation = function(depth3, depth3Link, depth4) {
+	let tag = '';
+	if (gagajf.isNull(depth4)) {
+		tag += '<li class="bread_3depth">' + depth3 + '</li>'
+	} else {
+		tag += '<li className="bread_3depth"><a href="javascript:void(0);" onClick="cfnGoToPage(' + depth3Link + ');">' + depth3 + '</a></li>';
+		tag += '<li class="bread_3depth">' + depth4 + '</li>'
+	}
+	$('#location').append(tag);
+}
+
 // 비회원 LNB 처리
 var fnSetNoMemberLnbList = function(lnbLvl) {
 	let tag = '';
-	tag += '<li><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_NOMEMBER_ORDER_LIST);"' + (lnbLvl == 1 ? ' class="on"' : '') + '>주문확인/배송조회</a></li>\n';
-	tag += '<li><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_NOMEMBER_CRE_LIST);"' + (lnbLvl == 2 ? ' class="on"' : '') + '>취소/반품/교환 내역</a></li>\n';
+	tag += '<li><a href="javascript:void(0);" onclick="fnGoToNoMemberOrderList()"' + (lnbLvl == 1 ? ' class="on"' : '') + '>주문확인/배송조회</a></li>\n';
+	tag += '<li><a href="javascript:void(0);" onclick="fnGoToNoMemberCreList()"' + (lnbLvl == 2 ? ' class="on"' : '') + '>취소/반품/교환 내역</a></li>\n';
 	$('#mypageLnbList').html(tag);
 }
 
-
-// 마이페이지 로케이션 처리
-var fnSetMypageLocation = function(depth3, depth3Link, depth4) {
+// 비회원 로케이션 처리
+var fnSetNoMemberLocation = function(depth3, depth4) {
 	let tag = '';
 	if (gagajf.isNull(depth4)) {
 		tag += '<li class="bread_3depth">' + depth3 + '</li>'
 	} else {
-		tag += '<li className="bread_3depth"><a href="javascript:void(0);" onClick="cfnGoToPage(' + depth3Link + ');">' + depth3 + '</a></li>';
+		if (depth3 == '주문확인/배송조회') {
+			tag += '<li className="bread_3depth"><a href="javascript:void(0);" onClick="fnGoToNoMemberOrderList();">' + depth3 + '</a></li>';
+		} else if (depth3 == '취소/반품/교환 내역') {
+			tag += '<li className="bread_3depth"><a href="javascript:void(0);" onClick="fnGoToNoMemberCreList();">' + depth3 + '</a></li>';
+		}
 		tag += '<li class="bread_3depth">' + depth4 + '</li>'
 	}
 	$('#location').append(tag);
 }
 
+// 비회원 주문확인/배송조회 페이지 이동
+var fnGoToNoMemberOrderList = function() {
+	document.noMemberOrderListForm.submit();
+}
+
+// 비회원 취소/반품/교환 내역 페이지 이동
+var fnGoToNoMemberCreList = function() {
+	document.noMemberCreListForm.submit();
+}
+
 // 주문상세보기 버튼 클릭 이벤트 처리
 var fnGoToOrderDetail = function(param) {
 	let ordNo = $(param).attr('ordNo');
@@ -221,7 +246,6 @@ var fnChangeDeliveryAddr = function(param) {
 				xhr.setRequestHeader("AJAX"			, "true");
 				xhr.setRequestHeader('Accept'		, 'application/json');
 				xhr.setRequestHeader('Content-Type'	, 'application/json');
-				gagajf.showProgressbar(true);
 			},
 			success 	: function(result) {
 				$("#adrsChangePop .modal-dialog .modal-content").html(result);
@@ -240,7 +264,6 @@ var fnChangeDeliveryAddr = function(param) {
 				xhr.setRequestHeader("AJAX"			, "true");
 				xhr.setRequestHeader('Accept'		, 'application/json');
 				xhr.setRequestHeader('Content-Type'	, 'application/json');
-				gagajf.showProgressbar(true);
 			},
 			success 	: function(result) {
 				$("#adrsAddPop .modal-dialog .modal-content").html(result);
@@ -265,7 +288,6 @@ var fnChangeDeliveryMemo = function(param) {
 			xhr.setRequestHeader("AJAX"			, "true");
 			xhr.setRequestHeader('Accept'		, 'application/json');
 			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
 			if (result != null) {

+ 0 - 1
src/main/webapp/ux/plugins/gaga/gaga.paging.js

@@ -155,7 +155,6 @@ var gagaPaging = {
 				}
 			},
 			error : function(result) {
-				console.log(result);
 				mcxDialog.alert('오류로 인해 처리되지 않았습니다.');
 			}
 		});