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

Merge branch 'card007' into order

card007 5 лет назад
Родитель
Сommit
344fe5f7d6

+ 10 - 0
src/main/java/com/style24/front/biz/dao/TsfOrderChangeDao.java

@@ -108,4 +108,14 @@ public interface TsfOrderChangeDao {
 	 */
 	Collection<OrderChange> getPagingCreList(OrderChange orderChange);
 
+	/**
+	 * 마이페이지 교환 상품 옵션 정보 조회
+	 *
+	 * @param OrderChange
+	 * @return Collection<OrderChange>
+	 * @author card007
+	 * @since 2021. 04. 08
+	 */
+	OrderChange getExchangeGoodsOptionInfoList(OrderChange orderChange);
+
 }

+ 27 - 6
src/main/java/com/style24/front/biz/service/TsfOrderChangeService.java

@@ -248,6 +248,7 @@ public class TsfOrderChangeService {
 	public Collection<GagaMap> getCreList(OrderChange orderChange) {
 		Collection<GagaMap> creList = new ArrayList<>();
 		Collection<OrderChange> orderChangeList = new ArrayList<>();
+		Collection<OrderChange> exchangeOptionList = new ArrayList<>();
 		int ordChgSq = 0;
 		int index = 0;
 
@@ -268,8 +269,27 @@ public class TsfOrderChangeService {
 
 			// 취반교 목록 데이터 설정
 			if (index > 0 && ordChgSq != tmpOrderChange.getOrdChgSq()) {
-				creList.add(setOrderChangeMap(orderChangeList));
+				creList.add(setOrderChangeMap(orderChangeList, exchangeOptionList));
 				orderChangeList = new ArrayList<>();
+				exchangeOptionList = new ArrayList<>();
+			}
+
+			// 교환 시 교환옵션정보 설정
+			if ("G680_40".equals(tmpOrderChange.getChgGb())) {
+				OrderChange exchangeGoodsOptionInfo = orderChangeDao.getExchangeGoodsOptionInfoList(tmpOrderChange);
+				if (exchangeGoodsOptionInfo.getItemNm().contains("!@!")) {
+					exchangeGoodsOptionInfo.setItemNmArr(exchangeGoodsOptionInfo.getItemNm().split("!@!"));
+					exchangeGoodsOptionInfo.setColorNmArr(exchangeGoodsOptionInfo.getColorNm().split(","));
+					exchangeGoodsOptionInfo.setOptCd1Arr(exchangeGoodsOptionInfo.getOptCd1().split(","));
+					exchangeGoodsOptionInfo.setOptCd2Arr(exchangeGoodsOptionInfo.getOptCd2().split(","));
+				} else {
+					String[] arr = {exchangeGoodsOptionInfo.getItemNm()}, arr2 = {exchangeGoodsOptionInfo.getColorNm()}, arr3 = {exchangeGoodsOptionInfo.getOptCd1()}, arr4 = {tmpOrderChange.getOptCd2()};
+					exchangeGoodsOptionInfo.setItemNmArr(arr);
+					exchangeGoodsOptionInfo.setColorNmArr(arr2);
+					exchangeGoodsOptionInfo.setOptCd1Arr(arr3);
+					exchangeGoodsOptionInfo.setOptCd2Arr(arr4);
+				}
+				exchangeOptionList.add(exchangeGoodsOptionInfo);
 			}
 
 			orderChangeList.add(tmpOrderChange);
@@ -278,21 +298,22 @@ public class TsfOrderChangeService {
 		}
 
 		if (orderChangeList.size() > 0) {
-			creList.add(setOrderChangeMap(orderChangeList));
+			creList.add(setOrderChangeMap(orderChangeList, exchangeOptionList));
 		}
 
 		return creList;
 	}
 
-	private GagaMap setOrderChangeMap(Collection<OrderChange> ordCreList) {
-		OrderChange orderChange = ordCreList.iterator().next();
+	private GagaMap setOrderChangeMap(Collection<OrderChange> creList, Collection<OrderChange> exchangeOptionList) {
+		OrderChange orderChange = creList.iterator().next();
 
 		GagaMap map = new GagaMap();
 		map.set("giftPackYn", orderChange.getGiftPackYn());
 		map.set("ordChgSq", orderChange.getOrdChgSq());
-		map.set("chgDt", orderChange.getChgDt());
+		map.set("ordDt", orderChange.getOrdDt());
 		map.set("oneData", orderChange);
-		map.set("ordCreList", ordCreList);
+		map.set("creList", creList);
+		map.set("exchangeOptionList", exchangeOptionList);
 
 		return map;
 	}

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

@@ -826,22 +826,26 @@ public class TsfMypageController extends TsfBaseController {
 
 		// 고객번호 설정
 		int custNo = TsfSession.getInfo().getCustNo();
-		orderChange.setCustNo(custNo);
+		// orderChange.setCustNo(custNo);
 
 		// 고객정보 조회
-		Customer customer = new Customer();
-		customer.setSiteCd(TscConstants.Site.STYLE24.value());
-		customer.setCustNo(custNo);
-		customer.setCustStat(TscConstants.CustStat.ACTIVE.value());
-		mav.addObject("customerInfo", coreCustomerService.getCustomerInfo(customer));
+		// Customer customer = new Customer();
+		// customer.setSiteCd(TscConstants.Site.STYLE24.value());
+		// customer.setCustNo(custNo);
+		// customer.setCustStat(TscConstants.CustStat.ACTIVE.value());
+		// mav.addObject("customerInfo", coreCustomerService.getCustomerInfo(customer));
+		mav.addObject("custNo", custNo);
 
 		// 주문 상태 별 수량 조회
-		// mav.addObject("orderCount", coreOrderService.getOrderStatCount(orderChange));
+		Order order = new Order();
+		order.setCustNo(custNo);
+		mav.addObject("orderCount", coreOrderService.getOrderStatCount(order));
 
 		// 주문상세상태코드 설정
-		mav.addObject("ordDtlStatList", rendererService.getCommonCodeList("G013", "Y", new String[] {"G013_25", "G013_35", "G013_55", "G013_97", "G013_98", "G013_99"}));
+		mav.addObject("chgStatList", rendererService.getAvailCommonCodeList("G685"));
+		// mav.addObject("chgStatList", rendererService.getCommonCodeList("G685", "Y", new String[] {"G013_25", "G013_35", "G013_55", "G013_97", "G013_98", "G013_99"}));
 
-		mav.setViewName(super.getDeviceViewName("mypage/MypageOrderListForm"));
+		mav.setViewName(super.getDeviceViewName("mypage/MypageCreListForm"));
 
 		return mav;
 	}

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

@@ -497,9 +497,14 @@
 		     , GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.ORD_DTL_ITEM_SQ)                       AS OPT_CD1
 		     , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.ORD_DTL_ITEM_SQ)                       AS OPT_CD2
 		     , Z.ORD_CHG_SQ
-		     , Z.CHG_DT
+		     , Z.CHG_GB
+		     , Z.CHG_QTY
+		     , Z.ORD_DT
+		     , Z.CHG_DATE
+		     , Z.CHG_TIME
 		     , Z.CHG_ORD_DTL_NO
 		     , Z.CHG_STAT
+		     , Z.CHG_STAT_NM
 		     , Z.ORD_NO
 		     , Z.ORD_DTL_NO
 		     , Z.GOODS_CD
@@ -507,13 +512,21 @@
 		     , Z.SHOT_DELV_YN
 		     , Z.SELF_GOODS_YN
 		     , Z.GOODS_NM
+		     , Z.GOODS_TYPE
 		     , Z.LIST_PRICE
+		     , Z.ADD_PAY_COST
 		     , Z.SYS_IMG_NM
 		     , Z.GIFT_PACK_YN
+		     , Z.REFUND_AMT
 		  FROM (SELECT OC.ORD_CHG_SQ
-		             , OC.REG_DT                                                        AS CHG_DT
+		             , OC.CHG_GB
+		             , OCD.CHG_QTY
+		             , O.ORD_DT
+		             , DATE_FORMAT(OCDH.REG_DT, '%Y.%m.%d')                             AS CHG_DATE
+		             , DATE_FORMAT(OCDH.REG_DT,'%H:%i:%S')                              AS CHG_TIME
 		             , OCD.CHG_ORD_DTL_NO
 		             , OCD.CHG_STAT
+		             , FN_GET_CODE_NM('G685', OCD.CHG_STAT)                             AS CHG_STAT_NM
 		             , OD.ORD_NO
 		             , OCD.ORD_DTL_NO
 		             , G1.GOODS_CD
@@ -522,17 +535,24 @@
 		             , G1.SELF_GOODS_YN
 		             , G1.GOODS_NM
 		             , IFNULL(C.COLOR_KNM, ODI.OPT_CD1)                                 AS COLOR_NM
-		             , G2.GOODS_NM AS ITEM_NM
+		             , G2.GOODS_NM                                                      AS ITEM_NM
+		             , G1.GOODS_TYPE
 		             , ODI.ORD_DTL_ITEM_SQ
 		             , ODI.OPT_CD1
 		             , ODI.OPT_CD2
 		             , G1.LIST_PRICE
+		             , OC.ADD_PAY_COST
 		             , CASE WHEN G1.GOODS_TYPE != 'G056_S' AND G1.SELF_GOODS_YN = 'Y' THEN (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G1.GOODS_CD AND COLOR_CD = ODI.OPT_CD1 AND DEFAULT_IMG_YN = 'Y')
 		                    ELSE (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G1.GOODS_CD AND COLOR_CD = IFNULL(G1.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') END AS SYS_IMG_NM
 		             , OD.GIFT_PACK_YN
+		             , R.REFUND_AMT
 		          FROM TB_ORDER_CHANGE OC
 		         INNER JOIN TB_ORDER_CHANGE_DETAIL OCD
 		            ON OC.ORD_CHG_SQ = OCD.ORD_CHG_SQ
+		         INNER JOIN TB_ORDER_CHANGE_DETAIL_HST OCDH
+		            ON OCD.ORD_CHG_SQ = OCDH.ORD_CHG_SQ
+		           AND OCD.ORD_DTL_NO = OCDH.ORD_DTL_NO
+		           AND OCD.CHG_STAT = OCDH.CHG_STAT
 		         INNER JOIN TB_ORDER_DETAIL OD
 		            ON OCD.ORD_DTL_NO = OD.ORD_DTL_NO
 		           AND OD.ORD_DTL_STAT NOT IN ('G013_00', 'G013_11', 'G013_25')
@@ -551,6 +571,8 @@
 		          LEFT OUTER JOIN TB_COLOR C
 		            ON C.COLOR_CD = IFNULL(NULLIF(ODI.OPT_CD1,'') , G1.MAIN_COLOR_CD)
 		           AND C.USE_YN = 'Y'
+		          LEFT OUTER JOIN TB_REFUND R
+		            ON R.ORD_CHG_SQ = OC.ORD_CHG_SQ
 		         WHERE OCD.DEL_YN = 'N'
 		           AND O.DISP_YN = 'Y'
 		<choose>
@@ -571,9 +593,9 @@
 				#{item}
 			</foreach>
 		</if>
-		<if test="ordChgSqList != null">
+		<if test="ordChgSqArr != null">
 			AND OC.ORD_CHG_SQ IN
-			<foreach collection="ordChgSqList" item="item" index="index"  open="(" close=")" separator=",">
+			<foreach collection="ordChgSqArr" item="item" index="index"  open="(" close=")" separator=",">
 				#{item}
 			</foreach>
 		</if>
@@ -581,8 +603,8 @@
 			AND OCD.CHG_STAT = #{chgStat}
 		</if>
 		  ) Z
-		 GROUP BY Z.ORD_CHG_SQ, Z.CHG_DT, Z.CHG_ORD_DTL_NO, Z.CHG_STAT, Z.ORD_NO, Z.ORD_DTL_NO, Z.GOODS_CD, Z.BRAND_NM
-		        , Z.SHOT_DELV_YN, Z.SELF_GOODS_YN, Z.GOODS_NM, Z.LIST_PRICE, Z.SYS_IMG_NM, Z.GIFT_PACK_YN
+		 GROUP BY Z.ORD_CHG_SQ, Z.CHG_GB, Z.CHG_QTY, Z.ORD_DT, Z.CHG_DATE, Z.CHG_TIME, Z.CHG_ORD_DTL_NO, Z.CHG_STAT, Z.CHG_STAT_NM, Z.ORD_NO, Z.ORD_DTL_NO, Z.GOODS_CD, Z.BRAND_NM
+		        , Z.SHOT_DELV_YN, Z.SELF_GOODS_YN, Z.GOODS_NM, Z.GOODS_TYPE, Z.LIST_PRICE, Z.ADD_PAY_COST, Z.SYS_IMG_NM, Z.GIFT_PACK_YN, Z.REFUND_AMT
 	</select>
 
 	<!-- 마이페이지 취반교 조회 페이징 처리 주문변경번호 수 조회 -->
@@ -595,7 +617,8 @@
 		            ON O.ORD_NO = OD.ORD_NO
 		          LEFT OUTER JOIN TB_ORDER_CHANGE_DETAIL OCD
 		            ON OD.ORD_DTL_NO = OCD.ORD_DTL_NO
-		         WHERE O.DISP_YN = 'Y'
+		         WHERE O.CUST_NO = #{custNo}
+		           AND O.DISP_YN = 'Y'
 		           AND OCD.ORD_CHG_SQ IS NOT NULL
 		<if test="stDate != null and stDate != '' and edDate != null and edDate != ''">
 		           AND OCD.REG_DT BETWEEN CONCAT(#{stDate}, ' 00:00:00') AND CONCAT(#{edDate}, ' 23:59:59')
@@ -603,7 +626,7 @@
 		<if test="ordDtlStat != null and ordDtlStat != ''">
 		           AND OCD.CHG_STAT = #{chgStat}
 		</if>
-		         GROUP BY OCD.CHG_STAT
+		         GROUP BY OCD.ORD_CHG_SQ
 		       ) Z
 	</select>
 
@@ -612,12 +635,14 @@
 		/* TsfOrderChange.getPagingCreList */
 		<include refid="selectForPagingHeader"/>
 		SELECT OCD.ORD_CHG_SQ
+		     , RANK() OVER(ORDER BY OCD.ORD_CHG_SQ DESC) AS NUMB
 		  FROM TB_ORDER O
 		 INNER JOIN TB_ORDER_DETAIL OD
 		    ON O.ORD_NO = OD.ORD_NO
 		  LEFT OUTER JOIN TB_ORDER_CHANGE_DETAIL OCD
 		    ON OD.ORD_DTL_NO = OCD.ORD_DTL_NO
-		 WHERE O.DISP_YN = 'Y'
+		 WHERE O.CUST_NO = #{custNo}
+		   AND O.DISP_YN = 'Y'
 		   AND OCD.ORD_CHG_SQ IS NOT NULL
 		<if test="stDate != null and stDate != '' and edDate != null and edDate != ''">
 		   AND OCD.REG_DT BETWEEN CONCAT(#{stDate}, ' 00:00:00') AND CONCAT(#{edDate}, ' 23:59:59')
@@ -625,7 +650,49 @@
 		<if test="ordDtlStat != null and ordDtlStat != ''">
 		   AND OCD.CHG_STAT = #{chgStat}
 		</if>
-		 GROUP BY OCD.CHG_STAT
+		 GROUP BY OCD.ORD_CHG_SQ
 		<include refid="selectForPagingFooter"/>
 	</select>
+	
+	<!-- 마이페이지 교환 상품 옵션 정보 조회 -->
+	<select id="getExchangeGoodsOptionInfoList" parameterType="OrderChange" resultType="OrderChange">
+		/* TsfOrderChange.getExchangeGoodsOptionInfoList */
+		SELECT Z.ORD_CHG_SQ
+		     , Z.CHG_GB
+		     , Z.ORD_DTL_NO
+		     , Z.ORG_ORD_DTL_NO
+		     , Z.ORD_DTL_STAT
+		     , GROUP_CONCAT(Z.ITEM_NM ORDER BY Z.ORD_DTL_ITEM_SQ SEPARATOR '!@!')       AS ITEM_NM
+		     , GROUP_CONCAT(Z.COLOR_NM ORDER BY Z.ORD_DTL_ITEM_SQ)                      AS COLOR_NM
+		     , GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.ORD_DTL_ITEM_SQ)                       AS OPT_CD1
+		     , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.ORD_DTL_ITEM_SQ)                       AS OPT_CD2
+		  FROM (SELECT OC.ORD_CHG_SQ
+		             , OC.CHG_GB
+		             , OD.ORD_DTL_NO
+		             , OD.ORG_ORD_DTL_NO
+		             , OD.ORD_DTL_STAT
+		             , IFNULL(C.COLOR_KNM, ODI.OPT_CD1) AS COLOR_NM
+		             , G2.GOODS_NM                      AS ITEM_NM
+		             , ODI.OPT_CD1
+		             , ODI.OPT_CD2
+		             , ODI.ORD_DTL_ITEM_SQ
+		          FROM TB_ORDER_CHANGE OC
+		         INNER JOIN TB_ORDER_CHANGE_DETAIL OCD
+		            ON OC.ORD_CHG_SQ = OCD.ORD_CHG_SQ
+		         INNER JOIN TB_ORDER_DETAIL OD
+		            ON OCD.CHG_ORD_DTL_NO = OD.ORD_DTL_NO
+		         INNER JOIN TB_ORDER_DETAIL_ITEM ODI
+		            ON OD.ORD_NO = ODI.ORD_NO
+		           AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
+		         INNER JOIN TB_GOODS G1
+		            ON OD.GOODS_CD = G1.GOODS_CD
+		         INNER JOIN TB_GOODS G2
+		            ON ODI.ITEM_CD = G2.GOODS_CD
+		          LEFT OUTER JOIN TB_COLOR C
+		            ON C.COLOR_CD = IFNULL(NULLIF(ODI.OPT_CD1, ''), G1.MAIN_COLOR_CD)
+		           AND C.USE_YN = 'Y'
+		         WHERE OC.ORD_CHG_SQ = #{ordChgSq}
+		  ) Z
+		 GROUP BY Z.ORD_CHG_SQ, Z.CHG_GB, Z.ORD_DTL_NO, Z.ORG_ORD_DTL_NO, Z.ORD_DTL_STAT
+	</select>
 </mapper>

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

@@ -0,0 +1,488 @@
+<!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  : MypageCreListFormWeb.html
+ * @desc    : 마이페이지 > 취소/반품/교환내역 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2021 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.04.08   card007     최초 작성
+ *******************************************************************************
+ -->
+<body>
+
+<th:block layout:fragment="content">
+	<div class="content myOrderList"> <!-- 페이지특정 클래스 = 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.orderReceiptCount}">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}">0</span></p>
+						</div>
+					</div>
+					<!-- //주문 현황 -->
+				</div>
+				<div class="sec_body">
+					<h3 class="subH2">취소/교환/반품 내역</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="fnSearchCreList();"><span>조회</span></button>
+							</form>
+						</div>
+						<div class="select_status_box">
+							<form class="form_wrap">
+								<div class="form_field">
+									<div class="select_custom demand_status">
+										<div class="combo">
+											<div class="select">전체상태</div>
+											<ul class="list">
+												<!-- 선택처리 class="selected" / 선택불가 aria-disabled="true" 추가  -->
+												<li class="selected" code="">전체상태</li>
+												<li th:if="${chgStatList}" th:each="oneData, status : ${chgStatList}" th:attr="code=${oneData.cd}" th:text="${oneData.cdNm}"></li>
+											</ul>
+										</div>
+									</div>
+								</div>
+							</form>
+						</div>
+					</div>
+					<!-- //주문조회 검색 -->
+					<div class="area_list" id="creList"></div>
+				</div>
+				<div class="sec_foot">
+					<div class="ui_row">
+						<ul class="pageNav" id="paging"></ul>
+					</div>
+				</div>
+				<form id="searchForm" name="searchForm" th:action="@{'/mypage/cre/list'}" th:method="post">
+					<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="" />
+					<input type="hidden" name="custNo" th:value ="${custNo}"/>
+				</form>
+			</div>
+			<!-- // CONT-BODY -->
+		</div>
+	</div>
+<script src="/ux/plugins/gaga/gaga.paging.js"></script>
+<script th:inline="javascript">
+	/*<![CDATA[*/
+	let totalCount = 0;
+	let pageSize = 0;
+
+	$(document).ready(function() {
+		// 마이페이지 LNB 설정
+		fnSetMypageLnbList(2);
+		
+		// 마이페이지 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() + 1)).slice(-2);
+		date.setMonth(date.getMonth() - period);
+		let stDate = date.getFullYear() + '-' + ('0' + (date.getMonth() + 1)).slice(-2) + '-' + ('0' + (date.getDate() + 1)).slice(-2);
+
+		$('#edDate').val(edDate);
+		$('#searchForm input[name=edDate]').val(edDate);
+		$('#stDate').val(stDate);
+		$('#searchForm input[name=stDate]').val(stDate);
+	}
+
+	// 주문 목록 조회
+	var fnSearchCreList = function() {
+		gagaPaging.load(1);
+	}
+
+	// 주문 목록 조회 콜백
+	var fnSearchCallback = function(result) {
+		$('#creList').html(fnCreateCreList(result));
+
+		// Create pagination
+		gagaPaging.createPagination(result.creInfo.pageable);
+	}
+
+	// 검색기간 설정 체크
+	var fnCheckPeriod = function(param) {
+		let stDate = $('#stDate').val();
+		let edDate = $('#edDate').val();
+
+		let sdt = new Date(stDate);
+		let edt = new Date(edDate);
+		let dateDiff = Math.ceil((edt.getTime() - sdt.getTime()) / (1000 * 3600 * 24));
+
+		if (dateDiff > 366) {
+			let id = $(param).attr('id');
+			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);
+			}
+		}
+	}
+
+	// 상태값 별 수량 업데이트 처리
+	var fnReloadStatusCount = function() {
+		let url = '/mypage/status/count';
+		
+		let data = {};
+		data.custNo = customerInfo.custNo;
+		
+		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=chgStat]').val($(this).attr('code'));
+	});
+
+	// 주문내역 리스트 처리
+	var fnCreateCreList = function(param) {
+		let tag = '';
+		let imageUrl = [[${@environment.getProperty('upload.goods.view')}]];
+
+		if (param.creList != null && param.creList.length > 0) {
+			$.each(param.creList, function (idx, creList) {
+				tag += '						<div class="part_goods">\n';
+				tag += '							<div class="goods_head">\n';
+				if (creList.giftPackYn == 'Y') {
+					tag += '								<p>선물일 <span>' + creList.ordDt + '</span></p>\n';
+				} else {
+					tag += '								<p>주문일 <span>' + creList.ordDt + '</span></p>\n';
+				}
+				tag += '								<a href="javascript:void(0)" ordChgSq="' + creList.ordChgSq + '" onclick="fnGoToCreDetail(this)">상세보기</a>\n';
+				tag += '							</div>\n';
+				tag += '							<div class="goods_cont">\n';
+				$.each(creList.creList, function (index, cre) {
+					console.log(index);
+					console.log(cre);
+					tag += '								<!-- 주문상품1 -->\n';
+					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="' + cre.goodsCd + '" onclick="fnGoToGoodsDetail(this)">\n';
+					tag += '													<span class="thumb">\n';
+					tag += '														<img src="' + imageUrl + '/' + cre.sysImgNm + '" width="100%" alt="">\n';
+					tag += '													</span>\n';
+					tag += '													<p>\n';
+					tag += '														<span class="brand">' + cre.brandNm + '</span>\n';
+					// 배송 아이콘 처리
+					if (cre.shotDelvYn == 'Y') {
+						tag += '														<span class="tag primary">총알배송</span>\n';
+					} else if (cre.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">' + cre.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 (cre.goodsType == 'G056_S') {
+						$.each(cre.colorNmArr, function (index2, option) {
+							tag += '													<span class="option">' + cre.itemNmArr[index2] + ' / ' + option + ' / ' + cre.optCd2Arr[index2] + '</span>\n';
+						});
+					} else {
+						tag += '													<span class="option">' + cre.colorNm + ' / ' + cre.optCd2 + '</span>\n';
+					}
+					tag += '												</div>\n';
+					tag += '											</div>\n';
+					tag += '											<div class="gd_calc">\n';
+					tag += '												<p>\n';
+					tag += '													<span class="count"><em>' + cre.chgQty + '</em>개</span>\n';
+					tag += '												</p>\n';
+					tag += '											</div>\n';
+					tag += '											<div class="gd_opt">\n';
+					tag += '												<div class="option_wrap">\n';
+					// 교환옵션
+					if (cre.chgGb == 'G680_40') {
+						$.each(creList.exchangeOptionList, function(index, exchange) {
+							if (cre.chgOrdDtlNo == exchange.ordDtlNo) {
+								if (cre.goodsType == 'G056_S') {
+									tag += '													<span class="title">교환 옵션</span>';
+									$.each(exchange.colorNmArr, function (index2, option) {
+										tag += '													<span class="option">' + exchange.itemNmArr[index2] + ' / ' + option + ' / ' + exchange.optCd2Arr[index2] + '</span>\n';
+									});
+								} else {
+									tag += '													<span class="option">' + exchange.colorNm + ' / ' + exchange.optCd2 + '</span>\n';
+								}
+							}
+						});
+					}
+					tag += '												</div>\n';
+					tag += '											</div>\n';
+					tag += '										</div>\n';
+					tag += '										<div class="status_box">\n';
+					tag += '											<p>\n';
+					tag += '												' + cre.chgStatNm + '\n';
+					tag += '												<span class="date">' + cre.chgDate + '</span>\n';
+					tag += '												<span class="time">' + cre.chgTime + '</span>\n';
+					tag += '											</p>\n';
+					tag += '										</div>\n';
+					tag += '										<div class="button_box">\n';
+					if (cre.chgStat == 'G685_20' || cre.chgStat == 'G685_21' || cre.chgStat == 'G685_50' || cre.chgStat == 'G685_51') {
+						tag += '											<p><button type="button" class="btn btn_default btn_sm" ordChgSq="' + cre.ordChgSq + '" onclick="fnCreCancel(this);"><span>신청취소</span></button></p>\n';
+					}
+					if (cre.chgStat == 'G685_21' || cre.chgStat == 'G685_51' || cre.chgStat == 'G685_32') {
+						tag += '											<p><button type="button" class="btn btn_default btn_sm" ordChgSq="' + cre.ordChgSq + '" onclick="fnCrePayAddCost(this);"><span>결제하기</span></button></p>\n';
+					}
+					if (cre.chgStat == 'G685_40') {
+						tag += '											<p><button type="button" class="btn btn_default btn_sm" ordDtlNo="' + cre.ordDtlNo + '" onclick="fnGoToDeliveryTrack(this);"><span>배송조회</span></button></p>\n';
+					}
+					tag += '											<p><button type="button" class="btn btn_default btn_sm" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA_REG);"><span>1:1 문의</span></button></p>\n';
+					tag += '										</div>\n';
+					tag += '									</div>\n';
+					//if (cre.chgStat == 'G685_10') {
+					//	tag += '									<div class="order_text"><p>' + cre.addPayCost + '원 결제 후 취소 가능합니다.</p></div>\n';
+					//}
+					// cre.chgGb == 'G680_30' : 반품
+					// cre.chgGb == 'G680_40' : 교환
+					// 교환접수
+					if (cre.chgStat == 'G685_20') {
+						tag += '									<div class="order_text"><p>교환 신청이 접수 되었습니다. 신속하게 처리하여 드리겠습니다.</p></div>\n';
+					}
+					// 교환대기
+					if (cre.chgStat == 'G685_21') {
+						tag += '									<div class="order_text"><p>' + cre.addPayCost.addComma() + '원 결제 후 교환 가능합니다.</p></div>\n';
+					}
+					// 회수요청
+					if (cre.chgStat == 'G685_30') {
+						tag += '									<div class="order_text"><p>고객님이 요청하신 회수지로 상품을 회수 중에 있습니다.</p></div>\n';
+					}
+					// 상품 검수중(교환)
+					if (cre.chgStat == 'G685_31' && cre.chgGb == 'G680_40') {
+						tag += '									<div class="order_text"><p>고객님이 교환하신 상품을 검수 중에 있습니다.</p></div>\n';
+					}
+					// 결제대기(교환)
+					if (cre.chgStat == 'G685_32' && cre.chgGb == 'G680_40') {
+						tag += '									<div class="order_text"><p>' + cre.addPayCost.addComma() + '원 결제 후 교환 가능합니다.</p></div>\n';
+					}
+					// 교환완료
+					if (cre.chgStat == 'G685_40') {
+						$.each(creList.exchangeOptionList, function(index, exchange) {
+							if (cre.chgOrdDtlNo == exchange.ordDtlNo && (exchange.ordDtlStat == 'G013_60' || exchange.ordDtlStat == 'G013_70')) {
+								tag += '									<div class="order_text"><p>교환이 완료되었습니다.</p></div>\n';
+							}
+						});
+					}
+					// 교환철회
+					if (cre.chgStat == 'G685_49') {
+						tag += '									<div class="order_text"><p>요청하신 교환을 취소하였습니다.</p></div>\n';
+					}
+					// 반품접수
+					if (cre.chgStat == 'G685_50') {
+						tag += '									<div class="order_text"><p>반품 신청이 접수 되었습니다. 신속하게 처리하여 드리겠습니다.</p></div>\n';
+					}
+					// 반품대기
+					if (cre.chgStat == 'G685_51') {
+						tag += '									<div class="order_text"><p>' + cre.addPayCost.addComma() + '원 결제 후 반품 가능합니다.</p></div>\n';
+					}
+					// 상품 검수중(반품)
+					if (cre.chgStat == 'G685_31' && cre.chgGb == 'G680_40') {
+						tag += '									<div class="order_text"><p>고객님이 반품하신 상품을 검수 중에 있습니다.</p></div>\n';
+					}
+					// 결제대기(반품)
+					if (cre.chgStat == 'G685_32' && cre.chgGb == 'G680_40') {
+						tag += '									<div class="order_text"><p>' + cre.addPayCost.addComma() + '원 결제 후 반품 가능합니다.</p></div>\n';
+					}
+					// 환불진행중
+					if (cre.chgStat == 'G685_33') {
+						tag += '									<div class="order_text"><p>' + cre.refundAmt.addComma() + '원 환불을 진행하고 있습니다.(영업일 최대 3일 내 환불 예정)</p></div>\n';
+					}
+					// 반품완료
+					if (cre.chgStat == 'G685_60') {
+						tag += '									<div class="order_text"><p>반품이 완료되었습니다.</p></div>\n';
+					}
+					// 반품철회
+					if (cre.chgStat == 'G685_69') {
+						tag += '									<div class="order_text"><p>요청하신 반품을 취소하였습니다.</p></div>\n';
+					}
+					tag += '								</div>\n';
+				});
+				tag += '							</div>\n';
+				tag += '						</div>\n';
+			});
+		} else {
+			// 데이터 없음 표시
+			tag += '						<div class="nodata">';
+			tag += '							<div class="txt_box">';
+			tag += '								<p>';
+			tag += '									취소/반품/교환내역이 없습니다.<br>';
+			tag += '								</p>';
+			tag += '							</div>';
+			tag += '						</div>';
+		}
+
+		return tag;
+	}
+	
+	// 취반교 상세 페이지 이동
+	var fnGoToCreDetail = function(param) {
+		// TODO
+		// 취반교 상세 페이지 이동
+	}
+	
+	// 취반교 신청 취소 버튼 클릭 이벤트
+	var fnCreCancel = function(param) {
+		let ordChgSq = $(param).attr('ordChgSq');
+		// TODO
+		// 취반교 신청 철회 처리
+	}
+	
+	// 취반교 결제하기 버튼 클릭 이벤트
+	var fnCrePayAddCost = function(param) {
+		let ordChgSq = $(param).attr('ordChgSq');
+		// TODO
+		// 취반교 추가 배송비 결제 화면 이동 처리
+	}
+	
+	// 취반교 배송조회 버튼 클릭 이벤트
+	var fnGoToDeliveryTrack = function(param) {
+		let ordDtlNo = $(param).attr('ordDtlNo');
+		// TODO
+		// 최반교 배송조회 페이지 이동 처리
+	}
+/*]]>*/
+</script>
+
+</th:block>
+
+</body>
+</html>

+ 110 - 110
src/main/webapp/WEB-INF/views/web/mypage/MypageOrderListFormWeb.html

@@ -363,206 +363,206 @@
 
 		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 += '						<div class="part_goods">\n';
+				tag += '							<div class="goods_head">\n';
 				if (order.giftPackYn == 'Y') {
-					tag += '		<p>선물일 <span>' + order.ordDt + '</span></p>\n';
+					tag += '								<p>선물일 <span>' + order.ordDt + '</span></p>\n';
 				} else {
-					tag += '		<p>주문일 <span>' + order.ordDt + '</span></p>\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';
+				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';
+					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';
+						tag += '														<span class="tag primary">총알배송</span>\n';
 					} else if (ordDtl.selfGoodsYn == 'Y') {
-						tag += '								<span class="tag">STYLE24 일반배송</span>\n';
+						tag += '														<span class="tag">STYLE24 일반배송</span>\n';
 					} else {
-						tag += '								<span class="tag">업체직배송</span>\n';
+						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';
+					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';
+							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 += '													<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';
+					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_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 += '													<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';
 					// 상태값 처리
 					if (ordDtl.giftPackYn == 'Y') {
 						if (gagajf.isNull(ordDtl.recipBaseAddr) && ordDtl.giftLimitDay >= 0) {
-							tag += '					<p>주소 입력 대기중</p>\n';
+							tag += '											<p>주소 입력 대기중</p>\n';
 						} else if (!gagajf.isNull(ordDtl.recipBaseAddr)) {
-							tag += '					<p>선물 완료</p>\n';
+							tag += '											<p>선물 완료</p>\n';
 						} else if (ordDtl.ordDtlStat == 'G013_98' || ordDtl.ordDtlStat == 'G013_99' || ordDtl.giftLimitDay < 0) {
-							tag += '					<p>선물 취소</p>\n';
+							tag += '											<p>선물 취소</p>\n';
 						}
 					} else {
-						tag += '					<p>' + ordDtl.ordDtlStatNm + '</p>\n';
+						tag += '											<p>' + ordDtl.ordDtlStatNm + '</p>\n';
 					}
-					tag += '				</div>\n';
-					tag += '				<div class="button_box">\n';
+					tag += '										</div>\n';
+					tag += '										<div class="button_box">\n';
 					// 버튼 처리
 					if (ordDtl.giftPackYn == 'Y') {
 						// SMS 재발송 버튼
 						if (gagajf.isNull(ordDtl.recipBaseAddr) && ordDtl.giftLimitDay >= 0) {
-							tag += '					<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" onclick="fnReSendSms(this);"><span>SMS 재발송</span></button></p>\n';
+							tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" onclick="fnReSendSms(this);"><span>SMS 재발송</span></button></p>\n';
 						}
 
 						// 주문취소 버튼(입금대기, 결제완료, 상품준비중, 출고처지정, 배송준비중)
 						if (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 + '" onclick="fnCreateChange(this, \'cancel\');"><span>주문 취소</span></button></p>\n';
+							tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" ordCanChgQty="' + ordDtl.ordCanChgQty + '" onclick="fnCreateChange(this, \'cancel\');"><span>주문 취소</span></button></p>\n';
 						}
 
 						// 리뷰 쓰기 버튼
 						if (!gagajf.isNull(ordDtl.recipBaseAddr) && ordDtl.ordDtlStat != 'G013_98' && ordDtl.ordDtlStat != 'G013_99' && ordDtl.reviewableYn == 'Y' && ordDtl.reviewSq == null) {
-							tag += '					<p><button type="button" class="btn btn_primary_line btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" goodsCd="' + ordDtl.goodsCd + '" onclick="fnCreateReview(this);"><span>리뷰 쓰기</span></button></p>\n';
+							tag += '											<p><button type="button" class="btn btn_primary_line btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" goodsCd="' + ordDtl.goodsCd + '" onclick="fnCreateReview(this);"><span>리뷰 쓰기</span></button></p>\n';
 						}
 
 						// 쇼핑백담기 버튼(구매확정)
 						if (!gagajf.isNull(ordDtl.recipBaseAddr) && ordDtl.ordDtlStat != 'G013_98' && ordDtl.ordDtlStat != 'G013_99') {
-							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 += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" onclick="fnCreateCart(this);"><span>쇼핑백 담기</span></button></p>\n';
 						}
 					} else {
 						// 주문취소 버튼(입금대기, 결제완료, 상품준비중, 출고처지정, 배송준비중)
 						if (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 + '" onclick="fnCreateChange(this, \'cancel\');"><span>주문 취소</span></button></p>\n';
+							tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" ordCanChgQty="' + ordDtl.ordCanChgQty + '" 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 + '" supplyCompCd="' + ordDtl.supplyCompCd + '" 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 + '" supplyCompCd="' + ordDtl.supplyCompCd + '" ordCanChgQty="' + ordDtl.ordCanChgQty + '" onclick="fnCreateChange(this, \'return\');"><span>반품 신청</span></button></p>\n';
+								tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" supplyCompCd="' + ordDtl.supplyCompCd + '" 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 + '" supplyCompCd="' + ordDtl.supplyCompCd + '" 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" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);"><span>1:1 문의</span></button></p>\n';
-								tag += '					<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" supplyCompCd="' + ordDtl.supplyCompCd + '" ordCanChgQty="' + ordDtl.ordCanChgQty + '" onclick="fnCreateChange(this, \'return\');"><span>반품 신청</span></button></p>\n';
+								tag += '											<p><button type="button" class="btn btn_default btn_sm" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);"><span>1:1 문의</span></button></p>\n';
+								tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" supplyCompCd="' + ordDtl.supplyCompCd + '" 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 + '" supplyCompCd="' + ordDtl.supplyCompCd + '" ordCanChgQty="' + ordDtl.ordCanChgQty + '" onclick="fnCreateChange(this, \'exchange\');"><span>교환 신청</span></button></p>\n';
-								tag += '					<p><button type="button" class="btn btn_default btn_sm" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA_REG);"><span>1:1 문의</span></button></p>\n';
+								tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" supplyCompCd="' + ordDtl.supplyCompCd + '" ordCanChgQty="' + ordDtl.ordCanChgQty + '" onclick="fnCreateChange(this, \'exchange\');"><span>교환 신청</span></button></p>\n';
+								tag += '											<p><button type="button" class="btn btn_default btn_sm" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA_REG);"><span>1:1 문의</span></button></p>\n';
 							}
 							// 교환/반품 신청 불가 상품
 							else {
-								tag += '					<p><button type="button" class="btn btn_default btn_sm" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA_REG);"><span>1:1 문의</span></button></p>\n';
+								tag += '											<p><button type="button" class="btn btn_default btn_sm" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA_REG);"><span>1:1 문의</span></button></p>\n';
 							}
 						}
 
 						// 배송조회 버튼(배송중)
 						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';
+							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_60') {
-							tag += '					<p><button type="button" class="btn btn_primary_line btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" onclick="fnDecideOrder(this);"><span>구매 확정</span></button></p>\n';
+							tag += '											<p><button type="button" class="btn btn_primary_line btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" onclick="fnDecideOrder(this);"><span>구매 확정</span></button></p>\n';
 						}
 
 						// 리뷰작성 버튼(배송중, 배송완료, 구매확정)
 						if ((ordDtl.ordDtlStat == 'G013_50' || ordDtl.ordDtlStat == 'G013_55' || ordDtl.ordDtlStat == 'G013_60' || ordDtl.ordDtlStat == 'G013_70') && ordDtl.reviewableYn == 'Y' && ordDtl.reviewSq == null) {
-							tag += '					<p><button type="button" class="btn btn_primary_line btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" goodsCd="' + ordDtl.goodsCd + '" onclick="fnCreateReview(this);"><span>리뷰 쓰기</span></button></p>\n';
+							tag += '											<p><button type="button" class="btn btn_primary_line btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" goodsCd="' + ordDtl.goodsCd + '" onclick="fnCreateReview(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 += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" onclick="fnCreateCart(this);"><span>쇼핑백 담기</span></button></p>\n';
 						}
 
 						// 1:1문의 버튼(구매확정)
 						if (ordDtl.ordDtlStat == 'G013_70' && (ordDtl.reviewableYn == 'N' || ordDtl.reviewSq > 0)) {
-							tag += '					<p><button type="button" class="btn btn_default btn_sm" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA_REG);"><span>1:1 문의</span></button></p>\n';
+							tag += '											<p><button type="button" class="btn btn_default btn_sm" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA_REG);"><span>1:1 문의</span></button></p>\n';
 						}
 					}
-					tag += '				</div>\n';
-					tag += '			</div>\n';
+					tag += '										</div>\n';
+					tag += '									</div>\n';
 					// 하단 상태값 배너 처리
 					if (ordDtl.giftPackYn == 'Y') {
 						// 주소 입력 대기중
 						if (gagajf.isNull(ordDtl.recipBaseAddr) && ordDtl.giftLimitDay >= 0) {
-							tag += '			<div class="order_text"><p>' + ordDtl.recipNm + '님이 주소를 입력하기 전입니다. (입력기한 ' + ordDtl.giftLimitDt + ')</p></div>\n';
+							tag += '									<div class="order_text"><p>' + ordDtl.recipNm + '님이 주소를 입력하기 전입니다. (입력기한 ' + ordDtl.giftLimitDt + ')</p></div>\n';
 						}
 						
 						// 선물 완료
 						if (!gagajf.isNull(ordDtl.recipBaseAddr) && ordDtl.ordDtlStat != 'G013_98' && ordDtl.ordDtlStat != 'G013_99') {
-							tag += '			<div class="order_text"><p>' + ordDtl.recipNm + '님께 선물이 발송되었습니다.</p></div>\n';
+							tag += '									<div class="order_text"><p>' + ordDtl.recipNm + '님께 선물이 발송되었습니다.</p></div>\n';
 						}
 						
 						// 선물 취소
 						if (ordDtl.ordDtlStat == 'G013_98' && ordDtl.ordDtlStat == 'G013_99') {
-							tag += '			<div class="order_text"><p>주소 입력 기한이 경과되어 선물이 취소 되었습니다.</p></div>\n';
+							tag += '									<div class="order_text"><p>주소 입력 기한이 경과되어 선물이 취소 되었습니다.</p></div>\n';
 						}
 					} else {
 						// 주문 접수
 						if (ordDtl.ordDtlStat == 'G013_10') {
-							tag += '			<div class="order_text">';
-							tag += '				<p>주문이 완료되어 결제를 기다리고 있습니다.</p>';
+							tag += '									<div class="order_text">';
+							tag += '										<p>주문이 완료되어 결제를 기다리고 있습니다.</p>';
 							// 예약상품
 							if (!gagajf.isNull(ordDtl.delvResDt)) {
-								tag += '				<p>예약판매 상품으로' + ordDtl.delvResDt + ' 출고 예정입니다.</p>';
+								tag += '										<p>예약판매 상품으로' + ordDtl.delvResDt + ' 출고 예정입니다.</p>';
 							}
-							tag += '			</div>\n';
+							tag += '									</div>\n';
 						}
 						
 						// 상품준비중
 						if (ordDtl.ordDtlStat == 'G013_30') {
-							tag += '			<div class="order_text">';
-							tag += '				<p>배송할 상품을 준비 중입니다.</p>';
+							tag += '									<div class="order_text">';
+							tag += '										<p>배송할 상품을 준비 중입니다.</p>';
 							// 예약상품
 							if (!gagajf.isNull(ordDtl.delvResDt)) {
-								tag += '				<p>예약판매 상품으로' + ordDtl.delvResDt + ' 출고 예정입니다.</p>';
+								tag += '										<p>예약판매 상품으로' + ordDtl.delvResDt + ' 출고 예정입니다.</p>';
 							}
-							tag += '			</div>\n';
+							tag += '									</div>\n';
 						}
 						
 						// 배송준비중
 						if (ordDtl.ordDtlStat == 'G013_40') {
-							tag += '			<div class="order_text">';
-							tag += '				<p>상품 준비가 완료되어 곧 배송될 예정입니다.</p>';
+							tag += '									<div class="order_text">';
+							tag += '										<p>상품 준비가 완료되어 곧 배송될 예정입니다.</p>';
 							// 예약상품
 							if (!gagajf.isNull(ordDtl.delvResDt)) {
-								tag += '				<p>예약판매 상품으로' + ordDtl.delvResDt + ' 출고 예정입니다.</p>';
+								tag += '										<p>예약판매 상품으로' + ordDtl.delvResDt + ' 출고 예정입니다.</p>';
 							}
-							tag += '			</div>\n';
+							tag += '									</div>\n';
 						}
 						
 						// 배송중, 배송완료
@@ -570,62 +570,62 @@
 							// 교환/반품 신청 불가 상품 처리
 							if (ordDtl.changeableYn == 'N' || ordDtl.returnableYn == 'N') {
 								// 교환신청 불가 상품
-								tag += '			<div class="order_text">\n';
+								tag += '									<div class="order_text">\n';
 								if (ordDtl.changeableYn == 'N' && ordDtl.returnableYn == 'Y') {
-									tag += '				<p>해당 상품은 교환이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>\n';
+									tag += '										<p>해당 상품은 교환이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>\n';
 								}
 								// 반품신청 불가 상품
 								else if (ordDtl.changeableYn == 'Y' && ordDtl.returnableYn == 'N') {
-									tag += '				<p>해당 상품은 반품이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>\n';
+									tag += '										<p>해당 상품은 반품이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>\n';
 								}
 								// 교환/반품신청 불가 상품
 								else if (ordDtl.changeableYn == 'N' && ordDtl.returnableYn == 'N') {
-									tag += '				<p>해당 상품은 교환/반품이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>\n';
+									tag += '										<p>해당 상품은 교환/반품이 불가능한 상품입니다. 문의사항은 1:1문의를 이용해주세요.</p>\n';
 								}
 								
 								// 배송완료
 								if (ordDtl.ordDtlStat == 'G013_60') {
-									tag += '				<p>15일 후 자동으로 구매확정됩니다.</p>\n';
+									tag += '										<p>15일 후 자동으로 구매확정됩니다.</p>\n';
 								}
 								
-								tag += '			</div>';
+								tag += '									</div>';
 							} else if (ordDtl.ordDtlStat == 'G013_60') {
-								tag += '			<div class="order_text"><p>15일 후 자동으로 구매확정됩니다.</p></div>\n';
+								tag += '									<div class="order_text"><p>15일 후 자동으로 구매확정됩니다.</p></div>\n';
 							}
 						}
 
 						// 구매확정
 						if (ordDtl.ordDtlStat == 'G013_70' && ordDtl.reviewableYn == 'Y' && ordDtl.reviewSq == null) {
-							tag += '			<div class="order_text"><p>리뷰를 작성하면 다른 구매자에게 도움이 될 수 있습니다.</p></div>\n';
+							tag += '									<div class="order_text"><p>리뷰를 작성하면 다른 구매자에게 도움이 될 수 있습니다.</p></div>\n';
 						}
 					}
-					tag += '		</div>';
+					tag += '								</div>';
 				});
-				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>';
+					tag += '							<div class="goods_foot">';
+					tag += '								<div class="order_gift">';
+					tag += '									<span class="title">사은품</span>';
+					tag += '									<ul>';
 					$.each(order.freeGiftList, function(index, freeGift) {
-						tag += '				<li>' + freeGift.goodsNm + ' ' + '<span>(-' + freeGift.usePoint.addComma() + 'P)</span></li>';
+						tag += '										<li>' + freeGift.goodsNm + ' ' + '<span>(-' + freeGift.usePoint.addComma() + 'P)</span></li>';
 					});
-					tag += '			</ul>';
-					tag += '		</div>';
-					tag += '	</div>';
+					tag += '									</ul>';
+					tag += '								</div>';
+					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>';
+			tag += '						<div class="nodata">';
+			tag += '							<div class="txt_box">';
+			tag += '								<p>';
+			tag += '									주문내역이 없습니다.<br>';
+			tag += '								</p>';
+			tag += '							</div>';
+			tag += '						</div>';
 		}
 
 		return tag;