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

마이페이지 취반교 임시 커밋

card007 5 лет назад
Родитель
Сommit
b24064e233
80 измененных файлов с 1345 добавлено и 84 удалено
  1. 256 0
      src/main/java/com/style24/front/biz/web/TsfNoMemberController.java
  2. 3 4
      src/main/java/com/style24/front/support/config/TsfWebMvcConfig.java
  3. 29 10
      src/main/java/com/style24/persistence/mybatis/shop/TsfOrder.xml
  4. 1 1
      src/main/java/com/style24/persistence/mybatis/shop/TsfOrderChange.xml
  5. 3 0
      src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderDetailFormMob.html
  6. 1 0
      src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderListFormMob.html
  7. 12 1
      src/main/webapp/WEB-INF/views/web/customer/NonCustOrderConfirmFormWeb.html
  8. 3 3
      src/main/webapp/WEB-INF/views/web/mypage/MypageCancelFormWeb.html
  9. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageExchangeFormWeb.html
  10. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageReturnFormWeb.html
  11. 565 0
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberOrderListFormWeb.html
  12. 25 17
      src/main/webapp/WEB-INF/views/web/order/OrderCompleteWeb.html
  13. 1 12
      src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html
  14. 1 0
      src/main/webapp/WEB-INF/views/web/popup/DelvAddrModifyPopWeb.html
  15. 8 1
      src/main/webapp/biz/mypage.js
  16. BIN
      src/main/webapp/images/mo/br_minus.png
  17. BIN
      src/main/webapp/images/mo/btn_main_pop_arrow.png
  18. 3 0
      src/main/webapp/images/mo/desktop.ini
  19. BIN
      src/main/webapp/images/mo/dp_refresh.png
  20. BIN
      src/main/webapp/images/mo/ico_bg_check.png
  21. BIN
      src/main/webapp/images/mo/ico_bg_point.png
  22. BIN
      src/main/webapp/images/mo/ico_btn_cls1.png
  23. BIN
      src/main/webapp/images/mo/ico_coupon_5.png
  24. BIN
      src/main/webapp/images/mo/ico_err.png
  25. BIN
      src/main/webapp/images/mo/shc_clock.png
  26. BIN
      src/main/webapp/images/pc/chk_top_banner.png
  27. BIN
      src/main/webapp/images/pc/ico_bracket_primary.png
  28. BIN
      src/main/webapp/images/pc/ico_home.png
  29. BIN
      src/main/webapp/images/pc/ico_lnb_category.png
  30. BIN
      src/main/webapp/images/pc/ico_shopbag.png
  31. BIN
      src/main/webapp/images/pc/info_size_bag.jpg
  32. BIN
      src/main/webapp/images/pc/info_size_pants.jpg
  33. BIN
      src/main/webapp/images/pc/info_size_shoe.jpg
  34. BIN
      src/main/webapp/images/pc/info_size_top.jpg
  35. BIN
      src/main/webapp/images/pc/info_size_underwear.jpg
  36. BIN
      src/main/webapp/images/pc/logo_STYLE24.png
  37. BIN
      src/main/webapp/images/pc/logo_andew.png
  38. BIN
      src/main/webapp/images/pc/logo_andew_bk.png
  39. BIN
      src/main/webapp/images/pc/logo_buckaroo.png
  40. BIN
      src/main/webapp/images/pc/logo_buckaroo_bk.png
  41. BIN
      src/main/webapp/images/pc/logo_conversekisds.png
  42. BIN
      src/main/webapp/images/pc/logo_conversekisds_bk.png
  43. BIN
      src/main/webapp/images/pc/logo_curlysu.png
  44. BIN
      src/main/webapp/images/pc/logo_curlysue_bk.png
  45. BIN
      src/main/webapp/images/pc/logo_frj.png
  46. BIN
      src/main/webapp/images/pc/logo_frj_bk.png
  47. BIN
      src/main/webapp/images/pc/logo_hurley.png
  48. BIN
      src/main/webapp/images/pc/logo_hurley_bk.png
  49. BIN
      src/main/webapp/images/pc/logo_jordan.png
  50. BIN
      src/main/webapp/images/pc/logo_jordan_bk.png
  51. BIN
      src/main/webapp/images/pc/logo_levis.png
  52. BIN
      src/main/webapp/images/pc/logo_levis_bk.png
  53. BIN
      src/main/webapp/images/pc/logo_lpga.png
  54. BIN
      src/main/webapp/images/pc/logo_lpga_bk.png
  55. BIN
      src/main/webapp/images/pc/logo_moi.png
  56. BIN
      src/main/webapp/images/pc/logo_moi_bk.png
  57. BIN
      src/main/webapp/images/pc/logo_nba.png
  58. BIN
      src/main/webapp/images/pc/logo_nba_bk.png
  59. BIN
      src/main/webapp/images/pc/logo_nbakids.png
  60. BIN
      src/main/webapp/images/pc/logo_nbakids_bk.png
  61. BIN
      src/main/webapp/images/pc/logo_nike.png
  62. BIN
      src/main/webapp/images/pc/logo_nike_bk.png
  63. BIN
      src/main/webapp/images/pc/logo_pga.png
  64. BIN
      src/main/webapp/images/pc/logo_pga_bk.png
  65. BIN
      src/main/webapp/images/pc/logo_style24_bk.png
  66. BIN
      src/main/webapp/images/pc/logo_tbj.png
  67. BIN
      src/main/webapp/images/pc/logo_tbj_bk.png
  68. BIN
      src/main/webapp/images/pc/movloading.gif
  69. 46 10
      src/main/webapp/ux/pc/css/common.css
  70. 0 0
      src/main/webapp/ux/pc/css/ion.rangeSlider.min.css
  71. 13 3
      src/main/webapp/ux/pc/css/layout.css
  72. 4 4
      src/main/webapp/ux/pc/css/main.css
  73. 331 0
      src/main/webapp/ux/pc/css/mcxdialog_ui.css
  74. 1 0
      src/main/webapp/ux/pc/js/ion.rangeSlider.min.js
  75. 1 0
      src/main/webapp/ux/pc/js/jquery-1.11.0.min.js
  76. 1 0
      src/main/webapp/ux/pc/js/jquery-migrate-1.2.1.min.js
  77. 9 0
      src/main/webapp/ux/pc/js/vg-controller-client.latest.min.js
  78. 2 2
      src/main/webapp/ux/plugins/gaga/gaga.paging.js
  79. 20 14
      src/main/webapp/ux/plugins/gaga/gaga.validation.js
  80. 4 0
      src/main/webapp/ux/style24_link.js

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

@@ -0,0 +1,256 @@
+package com.style24.front.biz.web;
+
+import java.util.ArrayList;
+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;
+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.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.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.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.Customer;
+import com.style24.persistence.domain.Order;
+
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * 비회원 Controller
+ * 
+ * @author card007
+ * @since 2021. 04. 27
+ */
+@Controller
+@RequestMapping("/noMember")
+@Slf4j
+public class TsfNoMemberController extends TsfBaseController {
+
+	@Autowired
+	private TscMessageByLocale message;
+
+	@Autowired
+	private TscOrderService coreOrderService;
+
+	@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;
+
+	@Autowired
+	private TsfOrderChangeService orderChangeService;
+
+	@Autowired
+	private TscOrderChangeService coreOrderChangeService;
+
+	@Autowired
+	private TscOrderRefundService coreOrderRefundService;
+
+	@Autowired
+	private TsfRendererService rendererService;
+
+	@Autowired
+	private TsfGiftcardService giftcardService;
+
+	/**
+	 * 마이페이지 메인 화면
+	 *
+	 * @param Order(ordNm, ordPhnno, ordNo)
+	 * @return ModelAndView
+	 * @author card007
+	 * @since 2021. 04. 27
+	 */
+	@PostMapping("/order/list/form")
+	public ModelAndView noMemberOrderListForm(Order order) {
+		ModelAndView mav = new ModelAndView();
+
+		// 비회원 정보 설정
+		mav.addObject("ordNo", order.getOrdNo());
+		mav.addObject("ordNm", order.getOrdNm());
+		mav.addObject("ordPhnno", order.getOrdPhnno());
+
+		// 주문 상태 별 수량 조회
+		mav.addObject("orderCount", coreOrderService.getOrderStatCount(order));
+
+		// 2021.04.21 모바일에서 사용하려고 추가
+		int totalCnt = orderService.getPagingOrdNoListCount(order);
+		mav.addObject("totalCnt", totalCnt);
+
+		// 주문상세상태코드 설정
+		mav.addObject("ordDtlStatList", rendererService.getCommonCodeList("G013", "Y", new String[] {"G013_10", "G013_11", "G013_25", "G013_35", "G013_55", "G013_97", "G013_98", "G013_99"}));
+
+		mav.setViewName(super.getDeviceViewName("mypage/NoMemberOrderListForm"));
+
+		return mav;
+	}
+
+	/**
+	 * 마이페이지 주문상세 화면
+	 *
+	 * @return
+	 * @author card007
+	 * @since 2021. 02. 15
+	 */
+	@GetMapping({"/order/detail/form/{ordNo}"})
+	public ModelAndView mypageOrderDetailForm(@PathVariable(value = "ordNo") int ordNo) {
+		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("ordNo", ordNo);
+
+		Order order = new Order();
+		order.setCustNo(custNo);
+		order.setOrdNo(ordNo);
+
+		// 주문목록 조회
+		Collection<GagaMap> orderList = orderService.getOrderListForMypage(order);
+
+		if (orderList.size() == 0) {
+			mav.setViewName("redirect:/mypage/order/list/form");
+			return mav;
+		}
+
+		mav.addObject("orderList", orderList);
+		mav.addObject("oneData", orderList.iterator().next().get("oneData"));
+		mav.addObject("allCanYn", orderList.iterator().next().get("allCanYn"));
+
+		// 주문정보 조회
+		mav.addObject("orderInfo", coreOrderService.getOrderInfoList(order).iterator().next());
+
+		// 주문 금액정보 조회
+		mav.addObject("orderAmtInfo", orderService.getOrderAmtForMypage(order));
+
+		// 주문 결제정보 조회
+		mav.addObject("paymentInfo", orderService.getPaymentInfoForMypage(order));
+
+		// 주문 배송지 정보 조회
+		mav.addObject("deliveryAddrInfo", orderService.getOrderDeliveryAddrInfo(order));
+
+		// 상품권 현금영수증 신청 정보 조회
+		mav.addObject("cashReceiptsInfo", giftcardService.getCashReceiptsRequestInfo(order));
+
+		mav.setViewName(super.getDeviceViewName("mypage/MypageOrderDetailForm"));
+
+		return mav;
+	}
+
+	/**
+	 * 마이페이지 주문목록 조회
+	 *
+	 * @param Order
+	 * @return ModelAndView
+	 * @author card007
+	 * @since 2021. 02. 18
+	 */
+	@PostMapping("/order/list")
+	@ResponseBody
+	public GagaMap getOrderList(@RequestBody Order order) {
+		GagaMap map = new GagaMap();
+
+		// 페이징 처리 설정
+		TscPageRequest pageable = new TscPageRequest((order.getPageNo() > 0 ? order.getPageNo() - 1 : 0), order.getPageSize(), order.getPageUnit());
+		pageable.setTotalCount(orderService.getPagingOrdNoListCount(order));
+		order.setPageable(pageable);
+
+		// 페이징 처리 및 주문정보 조회
+		List<Integer> ordNoList = new ArrayList<>();
+
+		for (Order tmpOrder : orderService.getPagingOrdNoList(order)) {
+			ordNoList.add(tmpOrder.getOrdNo());
+		}
+
+		if (ordNoList.size() > 0) {
+			order.setOrdNoList(ordNoList.stream().mapToInt(Integer::intValue).toArray());
+			map.set("orderList", orderService.getOrderListForMypage(order));
+		}
+
+		map.set("orderInfo", order);
+
+		return map;
+	}
+
+	/**
+	 * 마이페이지 주문상세 주문내역 삭제
+	 *
+	 * @return
+	 * @author card007
+	 * @since 2021. 02. 15
+	 */
+	@PostMapping("/order/delete")
+	@ResponseBody
+	public GagaMap deleteOrder(@RequestBody Order order) {
+		GagaMap result = new GagaMap();
+
+		// 고객번호 설정
+
+		// 주문내역 삭제 처리
+		order.setUpdNo(0);
+		int chk = orderService.updateOrderDisplayYn(order);
+
+		if (chk > 0) {
+			result.set("message", message.getMessage("SUCC_0003"));
+			result.set("status", GagaResponseStatus.SUCCESS.getCode());
+		} else {
+			result.set("message", message.getMessage("FAIL_0003"));
+			result.set("status", GagaResponseStatus.FAIL.getCode());
+		}
+
+		return result;
+	}
+}

+ 3 - 4
src/main/java/com/style24/front/support/config/TsfWebMvcConfig.java

@@ -18,6 +18,8 @@ import org.springframework.web.multipart.support.MultipartFilter;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
+import com.gagaframework.web.core.filter.GagaXssServletFilter;
+import com.gagaframework.web.rest.client.GagaRequestStringTrim;
 import com.style24.front.support.interceptor.TsfAflinkInterceptor;
 import com.style24.front.support.interceptor.TsfDefaultInterceptor;
 import com.style24.front.support.interceptor.TsfGoodsViewInterceptor;
@@ -25,9 +27,6 @@ import com.style24.front.support.interceptor.TsfLoginCheckInterceptor;
 import com.style24.front.support.interceptor.TsfRememberMeInterceptor;
 import com.style24.front.support.interceptor.TsfReturnUrlInterceptor;
 
-import com.gagaframework.web.core.filter.GagaXssServletFilter;
-import com.gagaframework.web.rest.client.GagaRequestStringTrim;
-
 /**
  * Web MVC Configuration
  * 
@@ -61,7 +60,7 @@ public class TsfWebMvcConfig implements WebMvcConfigurer {
 			"/", "/index", "/signin/**",
 			"/images/**", "/ux/**",
 			"/error/**", "/data/**",
-			"/login", "/logout"
+			"/login", "/logout", "/noMember/**"
 		};
 
 		// 디바이스 해석

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

@@ -171,11 +171,12 @@
 				    ON O.CUST_NO = CA.CUST_NO
 		<where>
 			<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_PHNNO = #{ordPhnno}
 		   AND O.ORD_NM = #{orderNm}
 				</otherwise>
 			</choose>
@@ -218,8 +219,7 @@
 				  FROM TB_ORDER O
 				 INNER JOIN TB_ORDER_DETAIL OD
 				    ON O.ORD_NO = OD.ORD_NO
-				 WHERE O.CUST_NO = #{custNo}
-				   AND O.DISP_YN = 'Y'
+				 WHERE O.DISP_YN = 'Y'
 				   AND OD.ORD_QTY - OD.CNCL_RTN_QTY > 0
 				   AND OD.ORD_DTL_STAT NOT IN ('G013_00', 'G013_11', 'G013_25', 'G013_97', 'G013_98', 'G013_99')
 		<if test="stDate != null and stDate != '' and edDate != null and edDate != ''">
@@ -235,6 +235,16 @@
 				</otherwise>
 			</choose>
 		</if>
+		<choose>
+			<when test="custNo > 0">
+				   AND O.CUST_NO = #{custNo}
+			</when>
+			<otherwise>
+				   AND O.ORD_NM = #{ordNm}
+				   AND O.ORD_PHNNO = #{ordPhnno}
+				   AND O.ORD_NO = #{ordNo}
+			</otherwise>
+		</choose>
 				 GROUP BY O.ORD_NO
 			   ) Z
 	</select>
@@ -248,8 +258,7 @@
 		  FROM TB_ORDER O
 		 INNER JOIN TB_ORDER_DETAIL OD
 		    ON O.ORD_NO = OD.ORD_NO
-		 WHERE O.CUST_NO = #{custNo}
-		   AND O.DISP_YN = 'Y'
+		 WHERE O.DISP_YN = 'Y'
 		   AND OD.ORD_QTY - OD.CNCL_RTN_QTY > 0
 		   AND OD.ORD_DTL_STAT NOT IN ('G013_00', 'G013_11', 'G013_25', 'G013_97', 'G013_98', 'G013_99')
 		<if test="stDate != null and stDate != '' and edDate != null and edDate != ''">
@@ -258,6 +267,16 @@
 		<if test="ordDtlStat != null and ordDtlStat != ''">
 		   AND OD.ORD_DTL_STAT = #{ordDtlStat}
 		</if>
+		<choose>
+			<when test="custNo > 0">
+		   AND O.CUST_NO = #{custNo}
+			</when>
+			<otherwise>
+		   AND O.ORD_NM = #{ordNm}
+		   AND O.ORD_PHNNO = #{ordPhnno}
+		   AND O.ORD_NO = #{ordNo}
+			</otherwise>
+		</choose>
 		 GROUP BY O.ORD_NO
 		<include refid="selectForPagingFooter"/>
 	</select>
@@ -292,10 +311,10 @@
 			 , SUM(OD.CPN1_DC_AMT + OD.TMTB1_DC_AMT + OD.TMTB2_DC_AMT + OD.CART_CPN_DC_AMT + OD.GOODS_CPN_DC_AMT + OD.PRE_PNT_DC_AMT + OD.PNT_DC_AMT + OD.GFCD_USE_AMT) AS TOTAL_DC_AMT
 			 , SUM(OD.REAL_ORD_AMT)     AS REAL_ORD_AMT
 			 , SUM(OD.SAVE_PNT_AMT)     AS SAVE_PNT_AMT
-			 , SUM(DF.DELV_CPN_DC_AMT)  AS DELV_CPN_DC_AMT
-			 , SUM(DF.REAL_DELV_AMT)    AS REAL_DELV_AMT
-			 , SUM(P.PAY_AMT)           AS PAY_AMT
-			 , SUM(P.NPAY_PNT_AMT)      AS NPAY_PNT_AMT
+			 , DF.DELV_CPN_DC_AMT
+			 , DF.REAL_DELV_AMT
+			 , P.PAY_AMT
+			 , P.NPAY_PNT_AMT
 		  FROM TB_ORDER_DETAIL OD
 		  LEFT OUTER JOIN (
 			  SELECT ORD_NO
@@ -345,7 +364,7 @@
 		     , CARD_PCABLE_YN
 		     , VA_NO
 		     , VA_NM
-		     , VA_BANK
+		     , FN_GET_CODE_NM('G940', VA_BANK) AS VA_BANK
 		     , VA_DEADLINE
 		     , DATE_FORMAT(VA_DEADLINE, '%Y.%m.%d') AS VA_DEADLINE_YMD
 		     , DATE_FORMAT(VA_DEADLINE, '%H:%i:%S') AS VA_DEADLINE_HMS

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

@@ -126,7 +126,7 @@
 		          LEFT OUTER JOIN TB_CUST_ACCOUNT CA
 		            ON O.CUST_NO = CA.CUST_NO
 		         WHERE O.ORD_NO = #{ordNo}
-		           AND OD.ORD_DTL_STAT IN ('G013_10', 'G013_11', 'G013_20', 'G013_30', 'G013_35')
+		           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 != ""'>
 		           AND O.CUST_NO = #{custNo}

+ 3 - 0
src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderDetailFormMob.html

@@ -772,6 +772,7 @@
 					gagajf.showProgressbar(true);
 				},
 				success 	: function(result) {
+					gagajf.showProgressbar(false);
 					$("#adrsChangePop .modal-dialog .modal-content").html(result);
 					$("#adrsChangePop").modal("show");
 				}
@@ -791,6 +792,7 @@
 					gagajf.showProgressbar(true);
 				},
 				success 	: function(result) {
+					gagajf.showProgressbar(false);
 					$("#adrsAddPop .modal-dialog .modal-content").html(result);
 					$("#adrsAddPop").modal("show");
 				}
@@ -824,6 +826,7 @@
 					gagajf.showProgressbar(true);
 				},
 				success 	: function(result) {
+					gagajf.showProgressbar(false);
 					$("#refundPop .modal-dialog .modal-content").html(result);
 					$("#refundPop").modal("show");
 				}

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

@@ -308,6 +308,7 @@ var fnGetInfiniteScrollDataList = function(pageNo) {
 			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
+			gagajf.showProgressbar(false);
 			if (result != null) {
 				$("#listBox").css("display", "block");
 				$("#listBox").append(result);

+ 12 - 1
src/main/webapp/WEB-INF/views/web/customer/NonCustOrderConfirmFormWeb.html

@@ -87,13 +87,24 @@
 		</div>
 	</div>
 </div>
+<form name="noMemberOrderForm" id="noMemberOrderForm" action="/noMember/order/list/form" method="post">
+	<input type="hidden" name="ordNo" />
+	<input type="hidden" name="ordNm" />
+	<input type="hidden" name="ordPhnno" />
+</form>
 <script th:inline="javascript">
 /*<![CDATA[*/
 	$('#btnNonOrder').on('click', function () {
 		if (!gagajf.validation($('#nonCustOrderForm'))) {
 			return;
 		}
-		mcxDialog.alert("개발중입니다.");
+
+		$('#noMemberOrderForm input[name=ordNo]').val($('#ordNo').val());
+		$('#noMemberOrderForm input[name=ordNm]').val($('#ordNm').val());
+		$('#noMemberOrderForm input[name=ordPhnno]').val($('#ordTelno').val());
+		
+		document.noMemberOrderForm.submit();
+		//mcxDialog.alert("개발중입니다.");
 		// mcxDialog.alert("입력하신 정보가 정확하지 않습니다. 다시 시도해주세요.", { //입력정보가 틀릴경우(일치하지 않을경우)
 	});
 

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

@@ -304,18 +304,18 @@
 		data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;
 
 		let jsonData = JSON.stringify(data);
-		
+
 		// 취소 처리 가능 여부 조회
 		gagajf.ajaxJsonSubmit('/mypage/wms/cancel/available', jsonData, function(result) {
 			if (result.cancelYn == 'Y') {
 				// 취소 처리
 				gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
 					cfnGoToPage(_PAGE_MYPAGE_ORDER_LIST);
-				});
+				}, true);
 			} else {
 				mcxDialog.alert('이미 배송처리 되어 취소 처리에 실패 하였습니다.');
 			}
-		});
+		}, true);
 	}
 	
 	// 취소 수량 변경 이벤트 처리

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

@@ -497,7 +497,7 @@
 			} else {
 				cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
 			}
-		});
+		}, true);
 	}
 
 	// 반품 방식 변경 이벤트

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

@@ -474,7 +474,7 @@
 			} else {
 				cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
 			}
-		});
+		}, true);
 	}
 
 	// 반품 수량 변경 이벤트 처리

+ 565 - 0
src/main/webapp/WEB-INF/views/web/mypage/NoMemberOrderListFormWeb.html

@@ -0,0 +1,565 @@
+<!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  : NoMemberOrderListFormWeb.html
+ * @desc    : 비회원 > 주문확인/배송조회 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2021 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.04.27   card007     최초 작성
+ *******************************************************************************
+ -->
+<body>
+
+<th:block layout:fragment="content">
+	<div class="content myOrderList">
+		<div class="cont_body">
+			<!-- CONT-BODY -->
+			<div class="lnb">
+				<div class="lnb_tit">
+					<h2>마이페이지</h2>
+				</div>
+				<div class="lnb_list">
+					<ul id="mypageLnbList"></ul>
+				</div>
+			</div>
+			<div class="cont">
+				<div class="sec_head">
+					<div class="my_order_progress">
+						<div class="progress">
+							<ul>
+								<li>
+									<div>
+										<p class="txt">주문접수</p>
+										<p class="count"><span id="orderReceiptCount" th:text="${orderCount.depositWaitingCount}">0</span></p>
+									</div>
+								</li>
+								<li>
+									<div>
+										<p class="txt">결제완료</p>
+										<p class="count"><span id="paymentCompleteCount" th:text="${orderCount.paymentCompleteCount}">0</span></p>
+									</div>
+								</li>
+								<li>
+									<div>
+										<p class="txt">상품 준비 중</p>
+										<p class="count"><span id="goodsPrepareCount" th:text="${orderCount.goodsPrepareCount}">0</span></p>
+									</div>
+								</li>
+								<li>
+									<div>
+										<p class="txt">배송 준비 중</p>
+										<p class="count"><span id="shipPrepareCount" th:text="${orderCount.shipPrepareCount}">0</span></p>
+									</div>
+								</li>
+								<li>
+									<div>
+										<p class="txt">배송 중</p>
+										<p class="count"><span id="shippingCount" th:text="${orderCount.shippingCount}">0</span></p>
+									</div>
+								</li>
+								<li>
+									<div>
+										<p class="txt">배송 완료</p>
+										<p class="count"><span id="shipCompleteCount" th:text="${orderCount.shipCompleteCount}">0</span></p>
+									</div>
+								</li>
+							</ul>
+						</div>
+						<div class="invalid">
+							<p class="txt">취소/교환/반품</p>
+							<p class="count"><span id="orderCreCount" th:text="${orderCount.cancelCount + orderCount.returnCount + orderCount.exchangeCount + orderCount.confirmCount}">0</span></p>
+						</div>
+					</div>
+				</div>
+				<div class="sec_body">
+					<h3 class="subH2 mb40">주문확인/배송조회</h3>
+					<!-- 주문조회 검색 -->
+					<div class="area_filter">
+						<div class="select_month_box">
+							<div class="form_field">
+								<div>
+									<input type="radio" name="rdi-month" id="rdi-month1" onclick="fnSetSearchPeriod(1);">
+									<label for="rdi-month1"><span>최근 1개월</span></label>
+								</div>
+								<div>
+									<input type="radio" name="rdi-month" id="rdi-month2" onclick="fnSetSearchPeriod(3);">
+									<label for="rdi-month2"><span>최근 3개월</span></label>
+								</div>
+								<div>
+									<input type="radio" name="rdi-month" id="rdi-month3" onclick="fnSetSearchPeriod(6);">
+									<label for="rdi-month3"><span>최근 6개월</span></label>
+								</div>
+							</div>
+						</div>
+						<div class="select_period_box">
+							<form class="form_wrap">
+								<div class="form_field">
+									<label class="input_label sr-only">선택기간 시작</label>
+									<div class="input_wrap">
+										<input type="text" class="form_control period_datepicker" value="" id="stDate" onchange="fnCheckPeriod(this);">
+									</div>
+								</div>
+								<div class="form_field">
+									<label class="input_label sr-only">선택기간 끝</label>
+									<div class="input_wrap">
+										<input type="text" class="form_control n_input period_datepicker" value="" id="edDate" onchange="fnCheckPeriod(this);">
+									</div>
+								</div>
+								<button type="button" class="btn btn_dark btn_sm" onclick="fnSearchOrderList();"><span>조회</span></button>
+							</form>
+						</div>
+						<div class="select_status_box">
+							<form class="form_wrap">
+								<div class="form_field">
+									<div class="select_custom order_status">
+										<div class="combo">
+											<div class="select">전체상태</div>
+											<ul class="list">
+												<li class="selected" code="">전체상태</li>
+												<li th:if="${ordDtlStatList}" th:each="oneData, status : ${ordDtlStatList}" th:attr="code=${oneData.cd}" th:text="${oneData.cdNm}"></li>
+											</ul>
+										</div>
+									</div>
+								</div>
+							</form>
+						</div>
+					</div>
+					<!-- //주문조회 검색 -->
+					<div class="area_list" id="orderList"></div>
+					<div class="sec_foot">
+						<div class="ui_row">
+							<ul class="pageNav" id="paging">
+							</ul>
+						</div>
+					</div>
+				</div>
+				<form id="searchForm" name="searchForm" th:action="@{'/mypage/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}" />
+					<input type="hidden" name="pageNo" value=1 />
+					<input type="hidden" name="pageSize" value=5 />
+					<input type="hidden" name="pageUnit" value=10 />
+					<input type="hidden" name="ordDtlStat" value="" />
+					<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">
+					<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 -->
+		</div>
+	</div>
+<script src="/ux/plugins/gaga/gaga.paging.js"></script>
+<script th:inline="javascript">
+	let ordNo = [[${ordNo}]];
+	let totalCount = 0;
+	let pageSize = 0;
+/*<![CDATA[*/
+	$(document).ready(function() {
+		// 비회원 LNB 설정
+		fnSetNoMemberLnbList(1);
+		
+		// 비회원 location 설정
+		fnSetMypageLocation('주문확인/배송조회');
+		
+		// datepicker 설정
+		$('.period_datepicker').datepicker();
+
+		// 셀렉트박스 활성화
+		$('.select_custom.order_status').each(function(index) {
+			new sCombo($(this));
+		});
+
+		// 주문 검색 기간 설정
+		$('#rdi-month2').click();
+
+		// Initialize a pagination
+		gagaPaging.init('searchForm', fnSearchCallback, 'paging', 5, 10);
+		
+		// Load data
+		gagaPaging.load(1);
+	});
+	
+	// 검색기간 버튼 클릭 이벤트 처리
+	var fnSetSearchPeriod = function(period) {
+		let date = new Date();
+		let edDate = date.getFullYear() + '-' + ('0' + (date.getMonth() + 1)).slice(-2) + '-' + ('0' + (date.getDate())).slice(-2);
+		date.setMonth(date.getMonth() - period);
+		let stDate = date.getFullYear() + '-' + ('0' + (date.getMonth() + 1)).slice(-2) + '-' + ('0' + (date.getDate())).slice(-2);
+
+		$('#edDate').val(edDate);
+		$('#searchForm input[name=edDate]').val(edDate);
+		$('#stDate').val(stDate);
+		$('#searchForm input[name=stDate]').val(stDate);
+	}
+
+	// 주문 목록 조회
+	var fnSearchOrderList = function() {
+		gagaPaging.load(1);
+	}
+
+	// 주문 목록 조회 콜백
+	var fnSearchCallback = function(result) {
+		$('#orderList').html(fnCreateOrderList(result));
+
+		// Create pagination
+		gagaPaging.createPagination(result.orderInfo.pageable);
+	}
+
+	// 검색기간 설정 체크
+	var fnCheckPeriod = function(param) {
+		let id = $(param).attr('id');
+		let stDate = $('#stDate').val();
+		let edDate = $('#edDate').val();
+		let chgDate;
+
+		$('#searchForm input[name=stDate]').val(stDate);
+		$('#searchForm input[name=edDate]').val(edDate);
+
+		let sdt = new Date(stDate);
+		let edt = new Date(edDate);
+		let today = new Date();
+
+		// 검색기간 버튼 처리
+		$.each($('.select_month_box input:radio'), function(idx, item) {
+			if ($(item).is(':checked')) {
+				$(item).prop('checked', false);
+			}
+		});
+
+		// 오늘 이후 날짜 선택 처리
+		chgDate = today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + (today.getDate())).slice(-2);
+		if (id == 'stDate' && Math.ceil((sdt.getTime() - today.getTime()) / (1000 * 3600 * 24)) > 0) {
+			mcxDialog.alert('조회기간을 확인해주세요.');
+			$('#stDate').val(chgDate);
+			$('#searchForm input[name=stDate]').val(chgDate);
+			
+			return false;
+		} else if (id == 'edDate' && Math.ceil((edt.getTime() - today.getTime()) / (1000 * 3600 * 24)) > 0) {
+			mcxDialog.alert('조회기간을 확인해주세요.');
+			$('#edDate').val(chgDate);
+			$('#searchForm input[name=edDate]').val(chgDate);
+			
+			return false;
+		}
+
+		// 시작 종료일자 확인
+		if (sdt > edt) {
+			mcxDialog.alert('조회기간을 확인해주세요.');
+			
+			if (id == 'stDate') {
+				chgDate = sdt.getFullYear() + '-' + ('0' + (sdt.getMonth() + 1)).slice(-2) + '-' + ('0' + (sdt.getDate())).slice(-2);
+			} else {
+				chgDate = edt.getFullYear() + '-' + ('0' + (edt.getMonth() + 1)).slice(-2) + '-' + ('0' + (edt.getDate())).slice(-2);
+			}
+
+			$('#stDate').val(chgDate);
+			$('#edDate').val(chgDate);
+			$('#searchForm input[name=stDate]').val(chgDate);
+			$('#searchForm input[name=edDate]').val(chgDate);
+
+			return false;
+		}
+
+		// 기간 1년 확인
+		let dateDiff = Math.ceil((edt.getTime() - sdt.getTime()) / (1000 * 3600 * 24));
+
+		if (dateDiff > 366) {
+			mcxDialog.alert('조회기간은 최대 1년을 넘을 수 없습니다.');
+			if (id == 'stDate') {
+				sdt.setFullYear(sdt.getFullYear() + 1);
+				let chgEdDate = sdt.getFullYear() + '-' + ('0' + (sdt.getMonth() + 1)).slice(-2) + '-' + ('0' + (sdt.getDate())).slice(-2);
+
+				$('#edDate').val(chgEdDate);
+				$('#searchForm input[name=edDate]').val(chgEdDate);
+			} else {
+				edt.setFullYear(edt.getFullYear() - 1);
+				let chgStDate = edt.getFullYear() + '-' + ('0' + (edt.getMonth() + 1)).slice(-2) + '-' + ('0' + (edt.getDate())).slice(-2);
+
+				$('#stDate').val(chgStDate);
+				$('#searchForm input[name=stDate]').val(chgStDate);
+			}
+			
+			return false;
+		}
+	}
+
+	// 상태값 별 수량 업데이트 처리
+	var fnReloadStatusCount = function() {
+		let url = '/mypage/status/count';
+		
+		let data = {};
+		
+		let jsonData = JSON.stringify(data);
+		
+		gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
+			$('#orderReceiptCount').text(result.orderCount.orderReceiptCount);
+			$('#paymentCompleteCount').text(result.orderCount.paymentCompleteCount);
+			$('#goodsPrepareCount').text(result.orderCount.goodsPrepareCount);
+			$('#shipPrepareCount').text(result.orderCount.shipPrepareCount);
+			$('#shippingCount').text(result.orderCount.shippingCount);
+			$('#shipCompleteCount').text(result.orderCount.shipCompleteCount);
+			$('#orderCreCount').text(result.orderCount.cancelCount + result.orderCount.returnCount + result.orderCount.exchangeCount);
+		});
+	}
+
+	// 주문상세상태코드 셀렉트박스 변경 이벤트
+	$('.select_custom.order_status').find('li').on('click', function() {
+		$('#searchForm input[name=ordDtlStat]').val($(this).attr('code'));
+	});
+
+	// 배송조회 버튼 클릭 이벤트
+	var fnGoToDelivery = function(param) {
+		// TODO
+		// 배송조회 페이지 이동
+	}
+
+	// 주문내역 리스트 처리
+	var fnCreateOrderList = function(param) {
+		let tag = '';
+		let imageUrl = [[${@environment.getProperty('upload.goods.view')}]];
+
+		if (param.orderList != null && param.orderList.length > 0) {
+			$.each(param.orderList, function (idx, order) {
+				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 += '							</div>\n';
+				tag += '							<div class="goods_cont">\n';
+				$.each(order.ordDtlList, function (index, ordDtl) {
+					tag += '								<div class="goods_info">\n';
+					tag += '									<div class="order_desc">\n';
+					tag += '										<div class="goods_box">\n';
+					tag += '											<div class="gd_item">\n';
+					tag += '												<a href="javascript:void(0)" goodsCd="' + ordDtl.goodsCd + '" onclick="fnGoToGoodsDetail(this)">\n';
+					tag += '													<span class="thumb">\n';
+					tag += '														<img src="' + imageUrl + '/' + ordDtl.sysImgNm + '" width="100%" alt="">\n';
+					tag += '													</span>\n';
+					tag += '													<p>\n';
+					tag += '														<span class="brand">' + ordDtl.brandNm + '</span>\n';
+					// 배송 아이콘 처리
+					if (ordDtl.shotDelvYn == 'Y') {
+						tag += '														<span class="tag primary">총알배송</span>\n';
+					} else if (ordDtl.selfGoodsYn == 'Y') {
+						tag += '														<span class="tag">STYLE24 일반배송</span>\n';
+					} else {
+						tag += '														<span class="tag">업체직배송</span>\n';
+					}
+					tag += '													</p>\n';
+					tag += '													<p>\n';
+					tag += '														<span class="name">' + ordDtl.goodsNm + '</span>\n';
+					tag += '													</p>\n';
+					tag += '												</a>\n';
+					tag += '											</div>\n';
+					tag += '											<div class="gd_opt">\n';
+					tag += '												<div class="option_wrap">\n';
+					tag += '													<span class="title sr-only">주문 옵션</span>\n';
+					// 세트아이템 옵션 처리
+					if (ordDtl.goodsType == 'G056_S') {
+						$.each(ordDtl.colorNmArr, function (index2, option) {
+							tag += '													<span class="option">' + ordDtl.itemNmArr[index2] + ' / ' + option + ' / ' + ordDtl.optCd2Arr[index2] + '</span>\n';
+						});
+					} else {
+						tag += '													<span class="option">' + ordDtl.colorNm + ' / ' + ordDtl.optCd2 + '</span>\n';
+					}
+					tag += '												</div>\n';
+					tag += '											</div>\n';
+					tag += '											<div class="gd_calc">\n';
+					tag += '												<p>\n';
+					tag += '													<span class="count"><em>' + (ordDtl.ordQty - ordDtl.cnclRtnQty) + '</em>개</span>\n';
+					tag += '												</p>\n';
+					tag += '												<p>\n';
+					if ((ordDtl.ordAmt - ordDtl.cnclRtnAmt - ordDtl.cpn1DcAmt) > (ordDtl.realOrdAmt + ordDtl.pntDcAmt + ordDtl.gfcdUseAmt)) {
+						tag += '													<span class="price_org"><em>' + (ordDtl.ordAmt - ordDtl.cnclRtnAmt - ordDtl.cpn1DcAmt).addComma() + '</em>원</span>\n';
+					}
+					tag += '													<span class="price_sale"><em>' + (ordDtl.realOrdAmt + ordDtl.pntDcAmt + ordDtl.gfcdUseAmt).addComma() + '</em>원</span>\n';
+					tag += '												</p>\n';
+					tag += '											</div>\n';
+					tag += '										</div>\n';
+					tag += '										<div class="status_box">\n';
+					tag += '											<p>' + ordDtl.ordDtlStatNm + '</p>\n';
+					tag += '										</div>\n';
+					tag += '										<div class="button_box">\n';
+
+					// 버튼 처리
+					// 주문취소 버튼(입금대기, 결제완료, 상품준비중, 출고처지정, 배송준비중)
+					if (ordDtl.payStat != 'G016_00' && (ordDtl.ordDtlStat == 'G013_10' || ordDtl.ordDtlStat == 'G013_20' || ordDtl.ordDtlStat == 'G013_30' || ordDtl.ordDtlStat == 'G013_35' || ordDtl.ordDtlStat == 'G013_40')) {
+						tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" ordCanChgQty="' + ordDtl.ordCanChgQty + '" delvFeeCd="' + ordDtl.delvFeeCd + '" onclick="fnCreateChange(this, \'cancel\');"><span>주문 취소</span></button></p>\n';
+					}
+
+					// 교환신청 버튼(배송중, 출고완료, 배송완료)
+					if (ordDtl.ordDtlStat == 'G013_50' || ordDtl.ordDtlStat == 'G013_55' || ordDtl.ordDtlStat == 'G013_60') {
+						// 교환/반품 가능한 상품
+						if (ordDtl.changeableYn == 'Y' && ordDtl.returnableYn == 'Y') {
+							tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" delvFeeCd="' + ordDtl.delvFeeCd + '" ordCanChgQty="' + ordDtl.ordCanChgQty + '" onclick="fnCreateChange(this, \'exchange\');"><span>교환 신청</span></button></p>\n';
+							tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" delvFeeCd="' + ordDtl.delvFeeCd + '" ordCanChgQty="' + ordDtl.ordCanChgQty + '" onclick="fnCreateChange(this, \'return\');"><span>반품 신청</span></button></p>\n';
+						}
+						// 교환 신청 불가 상품
+						else if (ordDtl.changeableYn == 'N' && ordDtl.returnableYn == 'Y') {
+							tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" delvFeeCd="' + ordDtl.delvFeeCd + '" ordCanChgQty="' + ordDtl.ordCanChgQty + '" onclick="fnCreateChange(this, \'return\');"><span>반품 신청</span></button></p>\n';
+						}
+						// 반품 신청 불가 상품
+						else if (ordDtl.changeableYn == 'Y' && ordDtl.returnableYn == 'N') {
+							tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" delvFeeCd="' + ordDtl.delvFeeCd + '" ordCanChgQty="' + ordDtl.ordCanChgQty + '" onclick="fnCreateChange(this, \'exchange\');"><span>교환 신청</span></button></p>\n';
+						}
+						// 교환/반품 신청 불가 상품
+						else {
+						}
+					}
+
+					// 배송조회 버튼(배송중)
+					if (ordDtl.ordDtlStat == 'G013_50' || ordDtl.ordDtlStat == 'G013_55') {
+						tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" onclick="fnGoToDelivery(this);"><span>배송 조회</span></button></p>\n';
+					}
+
+					// 쇼핑백담기 버튼(구매확정)
+					if (ordDtl.ordDtlStat == 'G013_70') {
+						tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" onclick="fnCreateCart(this);"><span>쇼핑백 담기</span></button></p>\n';
+					}
+
+					tag += '										</div>\n';
+					tag += '									</div>\n';
+					// 하단 상태값 배너 처리
+					// 주문 접수
+					if (ordDtl.ordDtlStat == 'G013_10') {
+						tag += '									<div class="order_text">';
+						tag += '										<p>주문이 완료되어 결제를 기다리고 있습니다.</p>';
+						// 예약상품
+						if (!gagajf.isNull(ordDtl.delvResDt)) {
+							tag += '										<p>예약판매 상품으로' + ordDtl.delvResDt + ' 출고 예정입니다.</p>';
+						}
+						tag += '									</div>\n';
+					}
+					
+					// 결제완료
+					if (ordDtl.ordDtlStat == 'G013_20' && !gagajf.isNull(ordDtl.delvResDt)) {
+						tag += '									<div class="order_text">';
+						tag += '										<p>예약판매 상품으로' + ordDtl.delvResDt + ' 출고 예정입니다.</p>';
+						tag += '									</div>\n';
+					}
+					
+					// 상품준비중
+					if (ordDtl.ordDtlStat == 'G013_30') {
+						tag += '									<div class="order_text">';
+						tag += '										<p>배송할 상품을 준비 중입니다.</p>';
+						// 예약상품
+						if (!gagajf.isNull(ordDtl.delvResDt)) {
+							tag += '										<p>예약판매 상품으로' + ordDtl.delvResDt + ' 출고 예정입니다.</p>';
+						}
+						tag += '									</div>\n';
+					}
+					
+					// 배송준비중
+					if (ordDtl.ordDtlStat == 'G013_40') {
+						tag += '									<div class="order_text">';
+						tag += '										<p>상품 준비가 완료되어 곧 배송될 예정입니다.</p>';
+						// 예약상품
+						if (!gagajf.isNull(ordDtl.delvResDt)) {
+							tag += '										<p>예약판매 상품으로' + ordDtl.delvResDt + ' 출고 예정입니다.</p>';
+						}
+						tag += '									</div>\n';
+					}
+					
+					// 배송중, 배송완료
+					if ((ordDtl.ordDtlStat == 'G013_50' || ordDtl.ordDtlStat == 'G013_55' || ordDtl.ordDtlStat == 'G013_60')) {
+						// 교환/반품 신청 불가 상품 처리
+						if (ordDtl.changeableYn == 'N' || ordDtl.returnableYn == 'N') {
+							// 교환신청 불가 상품
+							tag += '									<div class="order_text">\n';
+							if (ordDtl.changeableYn == 'N' && ordDtl.returnableYn == 'Y') {
+								tag += '										<p>해당 상품은 교환이 불가능한 상품입니다.</p>\n';
+							}
+							// 반품신청 불가 상품
+							else if (ordDtl.changeableYn == 'Y' && ordDtl.returnableYn == 'N') {
+								tag += '										<p>해당 상품은 반품이 불가능한 상품입니다.</p>\n';
+							}
+							// 교환/반품신청 불가 상품
+							else if (ordDtl.changeableYn == 'N' && ordDtl.returnableYn == 'N') {
+								tag += '										<p>해당 상품은 교환/반품이 불가능한 상품입니다.</p>\n';
+							}
+							
+							// 배송완료
+							if (ordDtl.ordDtlStat == 'G013_60') {
+								tag += '										<p>15일 후 자동으로 구매확정됩니다.</p>\n';
+							}
+							
+							tag += '									</div>';
+						} else if (ordDtl.ordDtlStat == 'G013_60') {
+							tag += '									<div class="order_text"><p>15일 후 자동으로 구매확정됩니다.</p></div>\n';
+						}
+					}
+					tag += '								</div>';
+				});
+				tag += '							</div>';
+				//사은품 처리
+				if (order.freeGiftList != null && order.freeGiftList.length > 0) {
+					tag += '							<div class="goods_foot">';
+					tag += '								<div class="order_gift">';
+					tag += '									<span class="title">사은품</span>';
+					tag += '									<ul>';
+					$.each(order.freeGiftList, function(index, freeGift) {
+						// 2021.04.20 무료 사은품일때 - 처리 삭제
+						if (freeGift.usePoint > 0) {
+							tag += '										<li>' + freeGift.goodsNm + ' ' + '<span>(-' + freeGift.usePoint.addComma() + 'P)</span></li>';
+						} else {
+							tag += '										<li>' + freeGift.goodsNm + ' ' + '<span></li>';
+						}
+						
+					});
+					tag += '									</ul>';
+					tag += '								</div>';
+					tag += '							</div>';
+				}
+				tag += '						</div>';
+			});
+		} else {
+			// 데이터 없음 표시
+			tag += '						<div class="nodata">';
+			tag += '							<div class="txt_box">';
+			tag += '								<p>';
+			tag += '									주문내역이 없습니다.<br>';
+			tag += '								</p>';
+			tag += '							</div>';
+			tag += '						</div>';
+		}
+		return tag;
+	}
+/*]]>*/
+</script>
+
+</th:block>
+
+</body>
+</html>

+ 25 - 17
src/main/webapp/WEB-INF/views/web/order/OrderCompleteWeb.html

@@ -273,6 +273,7 @@
 var ordNo			= [[${orderInfo.ordNo}]]		// 배송목록
 var isLogin			= [[${isLogin}]];				// 로그인여부
 var delvAddrSq		= [[${delvAddrSq}]];			// 배송지번호
+let jsonObj			= {};
 
 // 2.1 회원 배송지변경 팝업열기
 $('#btn_adrsChange_pop').on("click", function(){
@@ -358,33 +359,40 @@ var delvAddrSet = function(delvObj) {
 	$("#delvMemo").text(delvObj.delvMemo);
 	
 	// 변수값 설정
-	var jsonObj = {
-		"ordNo" 			: ordNo
-		, "delvAddrSq" 		: delvAddrSq
-		, "recipNm"			: delvObj.recipNm
-		, "recipPhnno"		: delvObj.recipPhnno
-		, "recipZipcode"	: delvObj.recipZipcode
-		, "recipBaseAddr"	: delvObj.recipBaseAddr
-		, "recipDtlAddr"	: delvObj.recipDtlAddr
-		, "delvMemo"		: delvObj.delvMemo
-	}
+	let url = '/mypage/change/delvery/addr';
+	let data = {};
+	data.delvAddrSq = delvAddrSq;
+	data.recipNm = delvObj.recipNm;
+	data.recipPhnno = delvObj.recipPhnno;
+	data.recipZipcode = delvObj.recipZipcode;
+	data.recipBaseAddr = delvObj.recipBaseAddr;
+	data.recipDtlAddr = delvObj.recipDtlAddr;
+	data.delvMemo = delvObj.delvMemo;
+	
+	let jsonData = JSON.stringify(data);
+	
+	gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
+	})
 }
 
 // 1.19 배송메모설정
 var delvMemoSet = function(delvMemoObj) {
-	
+	let url = '/mypage/change/delvery/memo';
+	let delvMemo = delvMemoObj.delvMemo;
 	var rtnStr = "";
-	rtnStr += "| delvMemo 			::: " + delvMemoObj.delvMemo;
+	rtnStr += "| delvMemo 			::: " + delvMemo;
 
 	// 변수값 설정
-	var jsonObj = {
-		"delvAddrSq" 		: delvAddrSq
-		, "delvMemo"		: delvMemoObj.delvMemo
-	}
+	let data = {};
+	data.delvAddrSq = delvAddrSq;
+	data.delvMemo = delvMemo;
 	
-	$("#delvMemo").text(delvMemoObj.delvMemo);
+	let jsonData = JSON.stringify(data);
 	
+	gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
+	})
 	
+	$("#delvMemo").text(delvMemo);
 }
 
 

+ 1 - 12
src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html

@@ -600,7 +600,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) {
@@ -632,7 +631,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");
@@ -660,7 +658,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);
@@ -679,7 +676,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);
@@ -703,7 +699,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) {
 						if (result != null) {
@@ -786,7 +781,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) {
@@ -825,7 +819,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) {
@@ -902,7 +895,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) {
@@ -1132,7 +1124,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) {
 							// 결재정보로드
@@ -1211,7 +1202,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) {
@@ -1228,7 +1218,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);
@@ -1337,7 +1326,7 @@ var dcAmtInfoSet = function() {
 					}
 					
 					// 결제금액을 초과 할 수 없습니다.
-					if (pntDcamt > realOrdAmt) {
+					if (pntDcAmt > realOrdAmt) {
 						mcxDialog.alert("포인트를 입력하신 후 다시 시도해주세요.");
 						// 포인트리셋기능
 						pntDcAmtReset();

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

@@ -184,6 +184,7 @@ $("#btn_delivery_modi_save").on("click", function(){
 			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
+			gagajf.showProgressbar(false);
 			// custDelvAddrSq 부모창으로 전달
 			var delvObj = {
 				"custDelvAddrSq"	: parseInt($("#deliveryModifyForm input[name=custDelvAddrSq]").val())

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

@@ -12,7 +12,14 @@ var fnSetMypageLnbList = function(lnbLvl) {
 	tag += '<li><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_MYPAGE_WISHLIST);"' + (lnbLvl == 9 ? ' class="on"' : '') + '>위시리스트</a></li>\n';
 	tag += '<li><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_MYPAGE_CUSTOMER);"' + (lnbLvl == 10 ? ' class="on"' : '') + '>내 정보 관리</a></li>\n';
 	tag += '<li><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_MYPAGE_SECEDE);"' + (lnbLvl == 11 ? ' class="on"' : '') + '>회원 탈퇴</a></li>\n';
-	tag += '</ul>';
+	$('#mypageLnbList').html(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';
 	$('#mypageLnbList').html(tag);
 }
 

BIN
src/main/webapp/images/mo/br_minus.png


BIN
src/main/webapp/images/mo/btn_main_pop_arrow.png


+ 3 - 0
src/main/webapp/images/mo/desktop.ini

@@ -0,0 +1,3 @@
+[LocalizedFileNames]
+br_minus.png=@br_minus,0
+main_trendy05.jpg=@main_trendy05,0

BIN
src/main/webapp/images/mo/dp_refresh.png


BIN
src/main/webapp/images/mo/ico_bg_check.png


BIN
src/main/webapp/images/mo/ico_bg_point.png


BIN
src/main/webapp/images/mo/ico_btn_cls1.png


BIN
src/main/webapp/images/mo/ico_coupon_5.png


BIN
src/main/webapp/images/mo/ico_err.png


BIN
src/main/webapp/images/mo/shc_clock.png


BIN
src/main/webapp/images/pc/chk_top_banner.png


BIN
src/main/webapp/images/pc/ico_bracket_primary.png


BIN
src/main/webapp/images/pc/ico_home.png


BIN
src/main/webapp/images/pc/ico_lnb_category.png


BIN
src/main/webapp/images/pc/ico_shopbag.png


BIN
src/main/webapp/images/pc/info_size_bag.jpg


BIN
src/main/webapp/images/pc/info_size_pants.jpg


BIN
src/main/webapp/images/pc/info_size_shoe.jpg


BIN
src/main/webapp/images/pc/info_size_top.jpg


BIN
src/main/webapp/images/pc/info_size_underwear.jpg


BIN
src/main/webapp/images/pc/logo_STYLE24.png


BIN
src/main/webapp/images/pc/logo_andew.png


BIN
src/main/webapp/images/pc/logo_andew_bk.png


BIN
src/main/webapp/images/pc/logo_buckaroo.png


BIN
src/main/webapp/images/pc/logo_buckaroo_bk.png


BIN
src/main/webapp/images/pc/logo_conversekisds.png


BIN
src/main/webapp/images/pc/logo_conversekisds_bk.png


BIN
src/main/webapp/images/pc/logo_curlysu.png


BIN
src/main/webapp/images/pc/logo_curlysue_bk.png


BIN
src/main/webapp/images/pc/logo_frj.png


BIN
src/main/webapp/images/pc/logo_frj_bk.png


BIN
src/main/webapp/images/pc/logo_hurley.png


BIN
src/main/webapp/images/pc/logo_hurley_bk.png


BIN
src/main/webapp/images/pc/logo_jordan.png


BIN
src/main/webapp/images/pc/logo_jordan_bk.png


BIN
src/main/webapp/images/pc/logo_levis.png


BIN
src/main/webapp/images/pc/logo_levis_bk.png


BIN
src/main/webapp/images/pc/logo_lpga.png


BIN
src/main/webapp/images/pc/logo_lpga_bk.png


BIN
src/main/webapp/images/pc/logo_moi.png


BIN
src/main/webapp/images/pc/logo_moi_bk.png


BIN
src/main/webapp/images/pc/logo_nba.png


BIN
src/main/webapp/images/pc/logo_nba_bk.png


BIN
src/main/webapp/images/pc/logo_nbakids.png


BIN
src/main/webapp/images/pc/logo_nbakids_bk.png


BIN
src/main/webapp/images/pc/logo_nike.png


BIN
src/main/webapp/images/pc/logo_nike_bk.png


BIN
src/main/webapp/images/pc/logo_pga.png


BIN
src/main/webapp/images/pc/logo_pga_bk.png


BIN
src/main/webapp/images/pc/logo_style24_bk.png


BIN
src/main/webapp/images/pc/logo_tbj.png


BIN
src/main/webapp/images/pc/logo_tbj_bk.png


BIN
src/main/webapp/images/pc/movloading.gif


+ 46 - 10
src/main/webapp/ux/pc/css/common.css

@@ -204,8 +204,6 @@ section::after, .ui_row::after, .btn_group_block::after{content: '';display: blo
 }
 
 
-
-
 /* textarea */
 textarea {background-color:transparent; border:1px solid #d7d7d7; width:99%; overflow-y:auto}
 .textarea_full {width:832px; padding:10px}
@@ -635,6 +633,10 @@ content: "〉";font-size: 12px;padding-left: 8px;
   margin-left: 0;
 }
 
+/* page loading */
+#load {width: 100%;height: 100%;top: 0;left: 0;position: fixed;display: block;text-align: center;opacity: 0.6;background: #ffffff;background-image: url('/images/pc/movloading.gif');background-repeat: no-repeat;background-position: 50% 50%;background-size: 37px 36px;z-index: 99999;}
+
+
 /* pageNav */
 .pageNav {display: table; margin-left: auto; margin-right: auto;}
 .pageNav:after {display: table;clear: both;content: " ";}
@@ -783,7 +785,7 @@ content: "〉";font-size: 12px;padding-left: 8px;
 .fgRDJH {padding: 0px 40px;font-size: 0px;box-sizing: border-box;}
 	@media (max-width: 1919px) and (min-width: 1401px){.fgRDJH {padding-left: 38px;padding-right: 38px;}}
 
-.itemLike {position: absolute;top: 20px;right: 18px;font-size: 0px;z-index: 10;width: 23px;height: 23px; background: url('/images/pc/ico_like.png');background-size: 46px;background-position:0px 0px;background-repeat: no-repeat;}
+.itemLike {position: absolute;top: 20px;right: 18px;font-size: 0px;z-index: 99;width: 23px;height: 23px; background: url('/images/pc/ico_like.png');background-size: 46px;background-position:0px 0px;background-repeat: no-repeat;}
 .itemLike::before, .itemLike::after {
 	content: "";position: absolute;top: 0px;right: 0px;width: 100%;height: 100%;
 	background-repeat: no-repeat;background-position: right top;background-size: contain;opacity: 0;transition: opacity 200ms ease 0s;
@@ -794,15 +796,16 @@ content: "〉";font-size: 12px;padding-left: 8px;
 .itemLike.active::before {opacity: 1;}
 .itemLike.likeit::before {opacity: 1;}
 
-.itemLink {position: relative;text-decoration: none;color: rgb(102, 102, 102);cursor: pointer;display: block;}
+.itemLink {z-index:20;position: relative;text-decoration: none;color: rgb(102, 102, 102);cursor: pointer;display: block;}
 .itemPic {position: relative;width: 100%;margin-bottom:20px;padding-top: 150%;font-size: 0px;overflow: hidden;background: #ffffff;}
 .itemPic::after {content: "";display: block;position: absolute;top: 0px;left: 0px;width: 100%;height: 100%;opacity: 0.03;background-color: rgb(0, 0, 0);}
 .itemPic .pd_img,
 .itemPic .pd_mov {position: absolute;width: 100%;height: auto;top: 50%;left: 0px;transform: translateY(-50%);}
-.itemPic .pd_mov {z-index: 3;height: 100%;}
-.itemPic .pd_img {z-index: 2;transition: 0.5s;}
+.itemPic .pd_mov {z-index: 2;height: 100%;}
+.itemPic .pd_img {z-index: 1;transition: 0.5s;}
+.itemPic .pd_img::after {content: '';display: block; height: 100%;width: 100%;background: #333;}
 /* .itemPic .pd_img {position: absolute;width: 100%;width: auto; height: auto;max-height: 500px;top: 50%;left: 50%;transform: translate(-50%,-50%);} */
-.itemOpt{z-index:3;position: absolute;bottom: -120px; left: 0; right: 0; width: 100%; height:111px;padding: 32px 0; text-align:center; color: #fff; background: rgb(0 0 0 / 0.8); }
+.itemOpt{z-index:3; pointer-events:none;position: absolute;bottom: -120px; left: 0; right: 0; width: 100%; height:111px;padding: 32px 0; text-align:center; color: #fff; background: rgb(0 0 0 / 0.8); }
 .itemOpt p{font-size: 12px;line-height: 1.2;padding-bottom: 15px;}
 .itemOpt ul{display: block;margin: 0 auto;width: auto;}
 .itemOpt ul li{font-size: 14px;line-height: 1.2;display: inline-block;margin-left: 10px;}
@@ -827,7 +830,7 @@ content: "〉";font-size: 12px;padding-left: 8px;
 
 /* common.css로 이동 예정 */
 .itemcolorchip {margin:20px 5px 0px; max-width: 208px;}
-.itemcolorchip [class*="chip_"] {position: relative;display: inline-block;width: 15px;height: 15px;font-size: 0; vertical-align: middle; margin:0 0 0 4px;}
+.itemcolorchip [class*="chip_"] {position: relative;display: inline-block;width: 15px;height: 15px;font-size: 0; vertical-align: middle; margin:0 0 0 4px;border-radius: 50%;box-sizing: border-box;}
 .itemcolorchip [class*="chip_"]:before {content: "";display: inline-block;width: 100%;height: 100%;border-radius: 50%;box-sizing: border-box;}
 .itemcolorchip [class*="chip_"]:first-child {margin-left:0}
 
@@ -1234,7 +1237,39 @@ input[type="file"] {
 
 /* sort */
 
+/* datePicker */
+/* jquery ui datepicker month year picker */
+.ui-datepicker { font-family:arial,verdana,sans-serif }
+.ui-datepicker .ui-datepicker-select-month td ,
+.ui-datepicker .ui-datepicker-select-year td {
+	line-height: 3.4em;
+}
+.ui-datepicker .ui-datepicker-select-month td span,
+.ui-datepicker .ui-datepicker-select-month td a,
+.ui-datepicker .ui-datepicker-select-year td span,
+.ui-datepicker .ui-datepicker-select-year td a  {
+	font-size: 1.5em;
+	text-align: center;
+}
+.ui-datepicker .ui-datepicker-select-year td.outoffocus {
+	opacity: 0.5;
+}
+.ui-datepicker .ui-datepicker-prev { left: 15px;cursor: pointer;  }
+.ui-datepicker .ui-datepicker-next { right: 15px;cursor: pointer;  }
+.ui-datepicker .ui-datepicker-header { height: 40px  }
+.ui-widget.ui-widget-content { width: 300px;padding:5px 8px;border-radius: 0   }
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active{
+	border-color: #fff;background: #fff;font-size: 14px;padding: .6em 0.5em;color:#454545;text-align: center; 
+}
+.ui-datepicker-today a.ui-state-active, .ui-datepicker-current-day a.ui-state-active{  background-color:rgba(159,121,82,1);   }
+.ui-state-default:hover { background-color:rgba(159,121,82,0.6);color:#fff;   }
+.ui-widget-header {  font-size: 18px;font-weight: normal;line-height: 40px;background: transparent;border-width: 0;border-radius: 0;   }
+.ui-datepicker th {  border-bottom:1px #9f7952 solid;color:#9f7952; font-weight: normal;font-size: 14px }
 
+.ui-datepicker-prev:hover, .ui-datepicker-next:hover { border-width:0 ;background: transparent;  }
+.ui-datepicker-prev:before, .ui-datepicker-next:before { content: "";position:absolute;top:50%;left:50%;transform: translate3d(-50%,-50%,0);width: 8px;height: 16px;vertical-align: middle;background:url(../images/icon_bg.png) no-repeat -81px 0;   }
+.ui-icon {display: none;}
+.ui-datepicker-next:before {background-position: -95px 0}
 
 
 /* tab */
@@ -1264,7 +1299,7 @@ input[type="file"] {
 .quick_menu_group .area > div:first-child span:first-child a{margin-left:0}
 .quick_menu_group .area > div:first-child span:first-child a:after{display:none}
 .quick_menu_group .area > div:first-child span a:after{position:absolute;top:13px;left:0;width:1px;height:13px;background:#959596;content:''}
-.quick_menu_group .inr a{margin-left:16px;color:#eeeeee;}*/
+.quick_menu_group .inr a{margin-left:16px;color:#eeeeee;}
 
 
 
@@ -1277,12 +1312,13 @@ input[type="file"] {
 		margin-top: 26px !important; 
 		line-height: 0.6 !important; 
 	}
+}
 	.pageNav .disabled a {background-position: 0 9px !important; }
 	.pageNav .disabled.prev a {background-position: -23px 9px !important; }
 	.pageNav .next a,.pageNav > li:last-child a {background-position:-64px 9px !important; }
 	.pageNav .next a {background-position: -47px 9px !important; }
 	.filter_content .sort#tap01 ul li.noDepth.on > a::after {top:8px !important;}
-}
+
 
 /* 제거예정 */
 

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
src/main/webapp/ux/pc/css/ion.rangeSlider.min.css


+ 13 - 3
src/main/webapp/ux/pc/css/layout.css

@@ -112,7 +112,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 .depth_menu.brand .head_category .menu .row ul li {margin-left:4px; width:182px;}
 .depth_menu.brand .head_category .menu .row ul li:first-child {margin-left:0}
 .depth_menu.brand .head_category .menu .row ul li a {position:relative; display:table-cell; width:182px; height:80px; text-align:center; vertical-align:middle;}
-.depth_menu.brand .head_category .menu .row ul li a img {display:inline-block; z-index:1; -webkit-transition:all .3s ease-in-out; transition:all .3s ease-in-out;}
+.depth_menu.brand .head_category .menu .row ul li a img {display:inline-block; width: 74%; z-index:1; -webkit-transition:all .3s ease-in-out; transition:all .3s ease-in-out;}
 .depth_menu.brand .head_category .menu .row ul li a span {display:none; position:absolute; left:0; top:0; right:0; bottom:0; width:100%; height:100%; padding:10px; box-sizing:border-box; border:1px solid #222; background:#fff; color:#222; font-size:18px; font-weight:500; text-align:center; z-index:2;}
 .depth_menu.brand .head_category .menu .row ul li a span em {position:absolute; left:0; top:50%; width:100%; transform:translateY(-50%);}
 .depth_menu.brand .head_category .menu .row ul li a:hover span,
@@ -2613,7 +2613,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.pd_detail .thumb img,
 	.pd_detail .thumb video {position:absolute; left:0; top:50%; width:100%; transform:translateY(-50%) ; z-index:2;}
 	.pd_detail .movbox {position: relative;height: 0;padding-top: 100%;padding-bottom:50.25%;overflow: hidden;transition: all 300ms ease;transform: scale(1);}
-	.pd_detail .movbox iframe{position: absolute;left: 0;right: 0;top: 0;bottom: 0;width: 100%;height: 100%;z-index: 1;}
+	.pd_detail .movbox iframe{position: absolute;left: 0;right: 0;top: 0;bottom: 0;width: 100%;height: 100%;z-index: 1;pointer-events:none;}
 	.pd_detail .btn_popup {display:inline-block; padding:0px; box-sizing:border-box;}
 	.pd_detail .btn_popup span {color:#888; font-size:12px; font-weight:200; border-bottom:1px solid #888; /*vertical-align:top;*/}
 
@@ -3058,6 +3058,11 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 		.pd_desc_wrap .item_descrp .area_option .opt_wrap.absbottom {position:relative; top:auto; bottom:auto; right:auto;}
 	}
 
+	.pd_desc_wrap .btn_box .ui_row {margin-bottom: 0;}
+	.pd_desc_wrap .btn_box .ui_row [class^='ui_col_']:first-child {margin-right: 0;}
+	.pd_desc_wrap .btn_box .ui_row [class^='ui_col_']:last-child {margin-left: 0;}
+	.pd_desc_wrap .btn_box .btn {height:60px; font-size:18px; font-weight:300;}
+	.pd_desc_wrap .btn_box .btn:disabled{background:#aaa; border-color:#aaa; opacity:1;}
 
 	/* pd_popup */
 	.modal.pd_pop a.close-modal:last-child {display: none;}
@@ -3445,6 +3450,11 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 		.full_pop.pd_descrp_pop .full_pop_fix_r {padding-left:20px; padding-right:20px;}
 	}
 
+	.full_pop.pd_descrp_pop .btn_box .ui_row {margin-bottom: 0;}
+	.full_pop.pd_descrp_pop .btn_box .ui_row [class^='ui_col_']:first-child {margin-right: 0;}
+	.full_pop.pd_descrp_pop .btn_box .ui_row [class^='ui_col_']:last-child {margin-left: 0;}
+	.full_pop.pd_descrp_pop .btn_box .btn {height:60px; font-size:18px; font-weight:300;}
+	.full_pop.pd_descrp_pop .btn_box .btn:disabled{background:#aaa; border-color:#aaa; opacity:1;}
 
 	/* pd_pop > 상품문의 페이지 */
 	.pd_qnalist_pop {}
@@ -3757,7 +3767,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.br_sch_result .brand_banner_list ul {margin-top:-20px;}
 	.br_sch_result .brand_banner_list ul li {float:left; width:calc((100% - 140.1px)/8); margin-left:20px; margin-top:20px; background:#f5f5f5;}
 	.br_sch_result .brand_banner_list ul li:nth-child(8n - 7) {margin-left:0;}
-	.br_sch_result .brand_banner_list ul li a {display:block; position:relative; width:100%; height:0; padding-bottom:70.244%; background-repeat:no-repeat; background-position:50% 50%; box-sizing:border-box;}
+	.br_sch_result .brand_banner_list ul li a {display:block; position:relative; width:100%; height:0; padding-bottom:70.244%; background-repeat:no-repeat; background-position:50% 50%; box-sizing:border-box; background-size:80%;}
 	.br_sch_result .brand_banner_list ul li a span {display:none; position:absolute; top:0%; left:0%; width:100%; height:100%; background:#f5f5f5; border:1px solid #222; z-index:1;}
 	.br_sch_result .brand_banner_list ul li a span em {position:absolute;  top:50%; left:0%; width:100%; padding:10px; transform:translateY(-50%); color:#222; font-size:20px; font-weight:300; text-align:center; word-break:break-word; box-sizing:border-box;}
 	.br_sch_result .brand_banner_list ul li a:hover span,

+ 4 - 4
src/main/webapp/ux/pc/css/main.css

@@ -415,14 +415,14 @@
 .main .wrap .content.main_pick {}
 .main_pick .cont_head {padding-bottom:60px;}
 .main_pick .cont_body {padding:0;position:relative;}
-.main_pick .cont_body .post-pick-nav {width:1250px; height:52px; background:#ffffff;margin:0 auto; cursor:pointer; padding:0 20px;}
+.main_pick .cont_body .post-pick-nav {width:1250px; height:auto; background:#ffffff;margin:0 auto; cursor:pointer; padding:0 20px;}
 .main_pick .post-pick-nav .swiper-button-next, 
 .main_pick .post-pick-nav .swiper-button-prev {position:absolute; top:50%; transform:translateY(-50%); width:13px; height:24px; margin:0; background-image:url('/images/pc/ico_arr_sm.png');}
 .main_pick .post-pick-nav .swiper-button-prev {left:0;}
 .main_pick .post-pick-nav .swiper-button-next {right:0;}
-.main_pick .post-pick-nav .swiper-slide{height:auto; text-align:center; cursor:pointer; /* border-bottom:2px solid transparent; */}
-.main_pick .post-pick-nav .swiper-slide img {opacity:0.4;}
-.main_pick .post-pick-nav .swiper-slide.swiper-slide-thumb-active img{opacity:1;}
+.main_pick .post-pick-nav .swiper-slide{width:auto; height:auto; text-align:center; cursor:pointer; /* border-bottom:2px solid transparent; */}
+.main_pick .post-pick-nav .swiper-slide img {opacity:0.2; width: 100%; height:auto;}
+.main_pick .post-pick-nav .swiper-slide.swiper-slide-thumb-active img{opacity:1; }
 .main_pick .post-pick-for {margin-top:60px; box-sizing:border-box; border:1px solid #dddddd;}
 .main_pick .post-pick-for::after {content:'';display:block; clear:both;}
 .main_pick .post-pick-for .pick_look {float:left; width:38.2022%; background:#888888;}

+ 331 - 0
src/main/webapp/ux/pc/css/mcxdialog_ui.css

@@ -0,0 +1,331 @@
+/**
+ * Mcx Dialog Mobile v0.1.0
+ * Copyright (C) 2018 mcx
+ * https://github.com/code-mcx/mcx-dialog-mobile
+ */
+.dialog-mobile-bg {
+	position: fixed;
+	top: 0;
+	left: 0;
+	z-index: 19;
+	width: 100%;
+	height: 100%;
+	background-color: rgba(0, 0, 0, 0.3);
+	-ms-transform: translate3d(0, 0, 0);
+	-webkit-transform: translate3d(0, 0, 0);
+	transform: translate3d(0, 0, 0);
+}
+/*alert confirm*/
+.dialog-mobile {
+	padding: 0 40px 40px 40px;
+	text-align:center;
+	position: fixed;
+	top: 50%;
+	left: 0;
+	z-index: 20;
+	min-width:200px;
+	background-color: #FFFFFF;
+	border-radius: 0px;
+	-ms-transform: translate3d(0, 0, 0);
+	-webkit-transform: translate3d(0, 0, 0);
+	transform: translate3d(0, 0, 0);
+}
+.dialog-mobile .dialog-title {
+    padding: 0.8em 1em 0.5em;
+    text-align: center;
+    color: #333333;
+	font-size: 18px;
+    font-weight: 500;
+    border-radius: 5px 5px 0 0;
+}
+.dialog-mobile .dialog-content {
+	position: relative;
+	padding:50px 0 40px 0;
+	line-height: 2em;
+	text-align: left;
+	color: #000;
+	font-size:15px;
+	text-align:center;
+}
+.dialog-mobile .dialog-content em {
+	color:#df6400
+}
+.dialog-mobile .dialog-button,
+.dialog-mobile .dialog-sure-button,
+.dialog-mobile .dialog-cancel-button {
+	display:inline-block;
+	position: relative;
+	margin:0 5px;
+	padding:0 30px;
+	min-width: 70px;
+	height: 38px;
+	line-height: 38px;
+	text-align: center;
+	font-size:14px;
+	cursor:pointer;
+	border-radius:0px;
+}
+.dialog-mobile .dialog-button{
+	color: #fff;
+	background:#000;
+	border:1px solid #000;
+	min-width:100px;
+}
+.dialog-mobile .dialog-cancel-button {
+	color: #000;
+	background: #fff;
+	border:1px solid #999;
+	min-width:100px;
+}
+.dialog-mobile .dialog-sure-button{
+	color: #fff;
+	background:#000;
+	border:1px solid #000;
+	min-width:100px;
+}
+.dialog-mobile button[i='1']{
+	color: #000 !important;
+	background:#fff !important;
+	border:1px solid #777;
+	min-width:100px;
+}
+
+/* 닫기 아이콘 */
+.dialog-close-btn {
+	position:absolute;
+	top:0;
+	right:0;
+	padding:20px;
+	width: 17px;
+	height: 17px;
+	cursor:pointer;
+	background:url('/image/btn_top_close.png') no-repeat 50% 50%;
+}
+
+/*bottom dialog*/
+.dialog-mobile-bottom {
+	position: fixed;
+	left: 0;
+	bottom: 0;
+	z-index: 10001;
+	width: 100%;
+	color: #333333;
+	background-color: #EEEEEE;
+}
+.dialog-mobile-bottom .bottom-btn-item {
+	text-align: center;
+}
+.bottom-btn-item .dialog-item-btn {
+	background: #FFFFFF;
+	padding: 0.5em 0;
+	border-bottom: 1px solid #EEEEEE;
+}
+.bottom-btn-item .dialog-item-btn:last-child {
+	border-bottom: none;
+}
+.dialog-mobile-bottom .dialog-cancel-btn {
+	margin-top: 0.6em;
+	text-align: center;
+	background: #FFFFFF;
+	padding: 0.5em 0;
+}
+/*toast*/
+.dialog-mobile-toast {
+	position: fixed;
+	bottom: 5em;
+}
+.dialog-mobile-toast .toast-content {
+	padding: 0.5em 1em;
+	color: #FFFFFF;
+	border-radius: 2px;
+	background-color: #333333;
+}
+/*loading*/
+.mobile-loading-bg {
+	position: fixed;
+	top: 0;
+	left: 0;
+	z-index: 10000;
+	width: 100%;
+	height: 100%;
+	background-color: rgba(0, 0, 0, 0.3);
+	-webkit-transform: translate3d(0, 0, 0);
+	transform: translate3d(0, 0, 0);
+}
+.mobile-loading {
+	position: fixed;
+	top: 0;
+	left: 0;
+	z-index: 10001;
+	min-width: 2em;
+	min-height: 2em;
+	padding: 0.8em 1.6em;
+	text-align: center;
+	border-radius: 2px;
+	color: #FFFFF0;
+	background-color: #0A0A0A;
+	-webkit-transform: translate3d(0, 0, 0);
+	transform: translate3d(0, 0, 0);
+}
+/*animation*/
+.animation-zoom-in, .animation-zoom-out,
+.animation-bottom-in, .animation-bottom-out,
+.animation-bg-fadeIn {
+	-webkit-animation-duration: 0.3s;
+	-webkit-animation-fill-mode: both;
+	animation-duration: 0.3s;
+	animation-fill-mode: both;
+}
+.animation-fade-in, .animation-fade-out {
+	-webkit-animation-duration: 1s;
+	-webkit-animation-timing-function: ease-out;
+	-webkit-animation-fill-mode: both;
+	animation-duration: 1s;
+	animation-timing-function: ease-out;
+	animation-fill-mode: both;
+}
+.animation-zoom-in {
+	-webkit-animation-name: zoomIn;
+	animation-name: zoomIn;
+}
+.animation-zoom-out {
+	-webkit-animation-name: zoomOut;
+	animation-name: zoomOut;
+}
+.animation-fade-in {
+	-webkit-animation-name: fadeIn;
+	animation-name: fadeIn;
+}
+.animation-fade-out {
+	-webkit-animation-name: fadeOut;
+	animation-name: fadeOut;
+}
+.animation-bottom-in {
+	-webkit-animation-name: bottomIn;
+	animation-name: bottomIn;
+}
+.animation-bottom-out {
+	-webkit-animation-name: bottomOut;
+	animation-name: bottomOut;
+}
+.animation-bg-fadeIn {
+	-webkit-animation-name: fadeIn;
+	animation-name: fadeIn;
+}
+
+@-webkit-keyframes zoomIn {
+	from{
+		opacity: 0;
+		-webkit-transform: scale(0, 0);
+	}
+	to{
+		opacity: 1;
+		-webkit-transform: scale(1, 1);
+	}
+}
+@-webkit-keyframes zoomOut {
+	from{
+		opacity: 1;
+		-webkit-transform: scale(1, 1);
+	}
+	90%{
+		-webkit-transform: scale(0.3, 0.3);
+	}
+	to{
+		opacity: 0;
+		-webkit-transform: scale(0, 0);
+	}
+}
+@keyframes zoomIn {
+	from{
+		opacity: 0;
+		transform: scale(0, 0);
+	}
+	to{
+		opacity: 1;
+		transform: scale(1, 1);
+	}
+}
+@keyframes zoomOut {
+	from{
+		opacity: 1;
+		transform: scale(1, 1);
+	}
+	90%{
+		transform: scale(0.3, 0.3);
+	}
+	to{
+		opacity: 0;
+		transform: scale(0, 0);
+	}
+}
+@-webkit-keyframes fadeIn {
+	from{
+		opacity: 0;
+	}
+	to{
+		opacity: 1;
+	}
+}
+@-webkit-keyframes fadeOut {
+	from{
+		opacity: 1;
+	}
+	30%{
+		opacity: 0.3;
+	}
+	to{
+		opacity: 0;
+	}
+}
+@keyframes fadeIn {
+	from{
+		opacity: 0;
+	}
+	to{
+		opacity: 1;
+	}
+}
+@keyframes fadeOut {
+	from{
+		opacity: 1;
+	}
+	30%{
+		opacity: 0.3;
+	}
+	to{
+		opacity: 0;
+	}
+}
+@-webkit-keyframes bottomIn {
+	from{
+		bottom: -1000px;
+	}
+	to{
+		bottom: 0;
+	}
+}
+@-webkit-keyframes bottomOut {
+	from{
+		bottom: 0;
+	}
+	to{
+		bottom: -1000px;
+	}
+}
+@keyframes bottomIn {
+	from{
+		bottom: -1000px;
+	}
+	to{
+		bottom: 0;
+	}
+}
+@keyframes bottomOut {
+	from{
+		bottom: 0;
+	}
+	to{
+		bottom: -1000px;
+	}
+}

Разница между файлами не показана из-за своего большого размера
+ 1 - 0
src/main/webapp/ux/pc/js/ion.rangeSlider.min.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 0
src/main/webapp/ux/pc/js/jquery-1.11.0.min.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 0
src/main/webapp/ux/pc/js/jquery-migrate-1.2.1.min.js


Разница между файлами не показана из-за своего большого размера
+ 9 - 0
src/main/webapp/ux/pc/js/vg-controller-client.latest.min.js


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

@@ -134,11 +134,11 @@ var gagaPaging = {
 				xhr.setRequestHeader('Content-Type', 'application/json');
 				
 				// Button disabled & progressBar creation
-				gagajf.showProgressbar(true);
+				//gagajf.showProgressbar(true);
 			},
 			complete : function() {
 				// Button abled & progressBar remove
-				gagajf.showProgressbar(false);
+				//gagajf.showProgressbar(false);
 			},
 			success : function(result) {
 				try {

+ 20 - 14
src/main/webapp/ux/plugins/gaga/gaga.validation.js

@@ -517,16 +517,20 @@ var gagajf = {
 		if (isLoading) {
 			// Button disabled & progressBar creation
 			//$('.btn').each(function(idx) { $(this).attr('disabled', true); });
-			var load_AjaxSubmit = '<div id="load_AjaxSubmit" style="'
-				+ 'background: url(/ux/plugins/gaga/loader.gif); border-style: none; background-repeat: no-repeat; '
-				+ 'position: absolute; top: 45%; left: 50%; width: auto; '
-				+ 'z-index: 101; padding: 16px; margin: 5px;'
-				+ '"></div>';
-			$('#content').append(load_AjaxSubmit);
+			//var load_AjaxSubmit = '<div id="load_AjaxSubmit" style="'
+			//	+ 'background: url(/ux/plugins/gaga/loader.gif); border-style: none; background-repeat: no-repeat; '
+			//	+ 'position: absolute; top: 45%; left: 50%; width: auto; '
+			//	+ 'z-index: 101; padding: 16px; margin: 5px;'
+			//	+ '"></div>';
+			//$('#content').append(load_AjaxSubmit);
+
+			$('body').append('<div id="load"></div>');
 		} else {
 			// Button activated & progressBar remove
 			//$('.btn').each(function(idx) { $(this).attr('disabled', false); });
-			$('#load_AjaxSubmit').remove();
+			//$('#load_AjaxSubmit').remove();
+
+			$('#load').remove();
 		}
 	},
 
@@ -534,15 +538,16 @@ var gagajf = {
 	 * form의 데이터를 json으로 변환 후 ajax 방식으로 submit 한다.
 	 * 모든 form의 ajax 처리는 이것으로 진행한다.
 	 * <pre>
-	 *     ajaxFormSubmit('/rest/commoncode/create', '#registerForm', jfRegisterSaveCallback);
+	 *     ajaxFormSubmit('/rest/commoncode/create', '#registerForm', jfRegisterSaveCallback, true);
 	 * </pre>
 	 * @param actionUrl - Request URL
 	 * @param formId - form ID
 	 * @param callbackFn - Callback function
+	 * @param progressbar - progressbar
 	 * @author gagamel
 	 * @since 2019. 4. 8
 	 */
-	ajaxFormSubmit : function(actionUrl, formId, callbackFn) {
+	ajaxFormSubmit : function(actionUrl, formId, callbackFn, progressbar) {
 		// comma(,) 제거
 		gagajf.removeCommaAtNumberFormattedInput(formId);
 		
@@ -565,11 +570,11 @@ var gagajf = {
 				xhr.setRequestHeader('Content-Type', 'application/json');
 
 				// Button disabled & progressBar creation
-				gagajf.showProgressbar(true);
+				if (progressbar) gagajf.showProgressbar(true);
 			},
 			complete : function(xhr) {
 				// Button abled & progressBar remove
-				gagajf.showProgressbar(false);
+				if (progressbar) gagajf.showProgressbar(false);
 
 				// 세션이 없다. 로그인 페이지로 이동
 				if (xhr.status == 901) {
@@ -624,10 +629,11 @@ var gagajf = {
 	 * @param actionUrl - Request URL
 	 * @param jsonData - Data of json format
 	 * @param callbackFn - Callback function
+	 * @param progressbar - progressbar
 	 * @author gagamel
 	 * @since 2019. 4. 8
 	 */
-	ajaxJsonSubmit : function(actionUrl, jsonData, callbackFn) {
+	ajaxJsonSubmit : function(actionUrl, jsonData, callbackFn, progressbar) {
 		$.ajax({
 			type : 'POST',
 			url : actionUrl,
@@ -642,11 +648,11 @@ var gagajf = {
 				xhr.setRequestHeader('Content-Type', 'application/json');
 
 				// Button disabled & progressBar creation
-				gagajf.showProgressbar(true);
+				if (progressbar) gagajf.showProgressbar(true);
 			},
 			complete : function(xhr) {
 				// Button abled & progressBar remove
-				gagajf.showProgressbar(false);
+				if (progressbar) gagajf.showProgressbar(false);
 
 				// 세션이 없다. 로그인 페이지로 이동
 				if (xhr.status == 901) {

+ 4 - 0
src/main/webapp/ux/style24_link.js

@@ -78,6 +78,10 @@ const _PAGE_WISHLIST = _frontUrl + "/mypage/wish/list/form";					// 마이페이
 const _PAGE_WISHLIST_PUT = _frontUrl + "/mypage/wish/list/put";					// 위시리스트 담기
 const _PAGE_WISHLIST_DEL = _frontUrl + "/mypage/wish/list/delete";				// 위시리스트 삭제
 
+//== 마이페이지 ==/
+const _PAGE_NOMEMBER_ORDER_LIST = _frontUrl + "/noMember/order/list/form";		// 비회원 > 주문확인/배송조회
+const _PAGE_NOMEMBER_ORDER_DETAIL = _frontUrl + "/noMember/order/detail/form/";	// 비회원 > 주문/배송 상세
+const _PAGE_NOMEMBER_CRE_LIST = _frontUrl + "/noMember/cre/list/form";			// 비회원 > 취소/교환/반품 목록
 
 //== 검색 ==/
 

Некоторые файлы не были показаны из-за большого количества измененных файлов