Procházet zdrojové kódy

Merge branch 'order' into develop

card007 před 5 roky
rodič
revize
679c7ebced

+ 29 - 10
src/main/java/com/style24/front/biz/service/TsfCartService.java

@@ -51,7 +51,7 @@ public class TsfCartService {
 	 * 세트 : goodsCd,
 	 * @param cart
 	 */
-	public String saveCartInfo(Collection<Cart> params) {
+	public void saveCartInfo(Collection<Cart> params) {
 		Cart cart = new Cart();
 
 		// 로그인 유무 확인 (로그인이 되어 있지 않으면 regNo 를 0으로 장바구니에 저장한다.)
@@ -110,8 +110,6 @@ public class TsfCartService {
 			// 세트 상품이 아닐 경우
 			saveNormalDealCartInfo(params.iterator().next());
 		}
-
-		return "SUCCESS";
 	}
 
 	@Transactional("shopTxnManager")
@@ -327,9 +325,10 @@ public class TsfCartService {
 		Collection<Order> tmtbApplyList = cartDao.selectMoreBetterApplyCartList(param);
 
 		// 장바구니 등록 다다익선 일련번호 지정
-		List<Integer> applySq = new ArrayList<Integer>();
-		List<Integer> qtyApplySq = new ArrayList<Integer>();
-		List<Integer> amtApplySq = new ArrayList<Integer>();
+		List<Integer> applySq 		= new ArrayList<Integer>();
+		List<Integer> qtyApplySq	= new ArrayList<Integer>();
+		List<Integer> amtApplySq 	= new ArrayList<Integer>();
+		
 		for(Order tmtbApply : tmtbApplyList) {
 			if(TscConstants.GoodsGb.BASE.value().equals(tmtbApply.getQtyGoodsGb()) || TscConstants.GoodsGb.BASE.value().equals(tmtbApply.getAmtGoodsGb())) {
 				if(TscConstants.GoodsGb.BASE.value().equals(tmtbApply.getQtyGoodsGb())) {
@@ -396,10 +395,12 @@ public class TsfCartService {
 		int i = 0;
 
 		for(Order resultAmt : tmtbApplyList) {
+			int tempAmt  = 0;
+			
 			if("Y".equals(resultAmt.getApplyQtySectionYn()) && resultAmt.getQtyTmtbSq() > 0) {
 				if (TscConstants.DcWay.AMT.value().equals(resultAmt.getQtyDcWay())) {        // 할인 방식 금액일경우
 					i++;
-					int tempAmt = resultAmt.getCurrPrice();
+					tempAmt = resultAmt.getCurrPrice();
 
 					if (i == 1) {
 						leftAmt = resultAmt.getQtyDcVal();
@@ -407,17 +408,23 @@ public class TsfCartService {
 
 					if (i == resultAmt.getQtyTmtbCnt()) {
 						resultAmt.setTmtbDcAmt(tempAmt - leftAmt);
+						resultAmt.setTmtb1DcAmt(leftAmt); // tmtb1 할인금액
 						leftAmt = 0;
 						i = 0;
 					} else {
 						double tempDcAmt = resultAmt.getQtyDcVal() * ((tempAmt) / (double)resultAmt.getQtyTmtbSumAmt());
 						leftAmt -= (int)tempDcAmt;
 						resultAmt.setTmtbDcAmt(tempAmt - (int)tempDcAmt);
+						
+						resultAmt.setTmtb1DcAmt(tempAmt - resultAmt.getTmtbDcAmt()); // tmtb1 할인금액
 					}
 				} else {                                                                // 할인 방식 할인율일 경우
-					int tempAmt = resultAmt.getCurrPrice();
+					tempAmt = resultAmt.getCurrPrice();
+					
 					tempAmt = (int) (tempAmt - (tempAmt * (resultAmt.getQtyDcVal() / 100.0)));
 					resultAmt.setTmtbDcAmt(tempAmt);
+					
+					resultAmt.setTmtb1DcAmt((int) (tempAmt * (resultAmt.getQtyDcVal() / 100.0))); // tmtb1 할인금액
 				}
 			}
 
@@ -438,27 +445,35 @@ public class TsfCartService {
 		leftAmt = 0;
 		i = 0;
 		for(Order resultAmt : tmtbApplyList) {
+			int tempAmt  = 0;
+			
 			if("Y".equals(resultAmt.getApplyAmtSectionYn()) && resultAmt.getAmtTmtbSq() > 0) {
 				if (TscConstants.DcWay.AMT.value().equals(resultAmt.getAmtDcWay())) {        // 할인 방식 금액일경우
 					i++;
-					int tempAmt = resultAmt.getCurrPrice();
+					tempAmt = resultAmt.getCurrPrice();
 					if (i == 1) {
 						leftAmt = resultAmt.getAmtDcVal();
 					}
 
 					if (i == resultAmt.getAmtTmtbCnt()) {
 						resultAmt.setTmtbDcAmt(tempAmt - leftAmt);
+						resultAmt.setTmtb2DcAmt(leftAmt); // tmtb1 할인금액
+						
 						leftAmt = 0;
 						i = 0;
 					} else {
 						double tempDcAmt = resultAmt.getAmtDcVal() * ((tempAmt) / (double)resultAmt.getAmtTmtbSumAmt());
 						leftAmt -= (int)tempDcAmt;
 						resultAmt.setTmtbDcAmt(tempAmt - (int)tempDcAmt);
+						
+						resultAmt.setTmtb2DcAmt(tempAmt - resultAmt.getTmtbDcAmt()); // tmtb1 할인금액
 					}
 				} else {                                                                // 할인 방식 할인율일 경우
-					int tempAmt = resultAmt.getCurrPrice();
+					tempAmt = resultAmt.getCurrPrice();
 					tempAmt = (int) (tempAmt - (tempAmt * (resultAmt.getAmtDcVal() / 100.0)));
 					resultAmt.setTmtbDcAmt(tempAmt);
+					
+					resultAmt.setTmtb2DcAmt((int) (resultAmt.getCurrPrice() * (resultAmt.getAmtDcVal() / 100.0))); // tmtb1 할인금액
 				}
 			}
 		}
@@ -467,6 +482,10 @@ public class TsfCartService {
 		for (Order cart : cartGoodsList) {
 			for (Order apply : tmtbApplyList) {
 				if (cart.getCartSq() == apply.getCartSq()) {
+					// 2021.02.24 jsh77b
+					cart.setTmtb1DcAmt(apply.getTmtb1DcAmt());
+					cart.setTmtb2DcAmt(apply.getTmtb2DcAmt());
+					
 					cart.setTmtbDcAmt(apply.getTmtbDcAmt());
 					cart.setApplyQtySectionYn(apply.getApplyQtySectionYn());
 					cart.setQtyTmtbNm(apply.getQtyTmtbNm());

+ 0 - 5
src/main/java/com/style24/front/biz/service/TsfCouponService.java

@@ -126,17 +126,12 @@ public class TsfCouponService {
 		int totCurrPrice = 0;
 		int maxDcAmt = 0;
 		int buyLimitAmt = 0;
-		log.info("CHECK INFO >> {}", 1);
 		if(param != null && param.getCartSqArr().length > 0) {
-			log.info("CHECK INFO >> {}", 2);
 			Collection<Order> serialGoodsList = coreOrderService.getSerialCpnApplyGoodsList(order);
-			log.info("CHECK INFO >> {} / {}", 3, serialGoodsList.size());
 			for (int i = 0; i < param.getCartSqArr().length; i++) {
-				log.info("CHECK INFO >> {}", 4);
 				for (Order cpnInfo : serialGoodsList) {
 					if("A".equals(cpnInfo.getApplyScope()) || param.getCartSqArr()[i] == cpnInfo.getCartSq()) {
 						cpnInfo.setCurrPrice(param.getCurrPrices()[i]);
-						log.info("CHECK INFO >> {}", param.getCurrPrices()[i]);
 					}
 				}
 			}

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

@@ -89,7 +89,7 @@ public class TsfCartController extends TsfBaseController {
 	@PostMapping("/save")
 	public String createCart(@RequestBody Collection<Cart> params) {
 		try {
-			String result = cartService.saveCartInfo(params);
+			cartService.saveCartInfo(params);
 		} catch (Exception e) {
 			e.printStackTrace();
 			return e.getMessage();

+ 12 - 11
src/main/java/com/style24/front/biz/web/TsfOrderController.java

@@ -65,14 +65,14 @@ public class TsfOrderController extends TsfBaseController {
 		
 		// TODO 임시 장바구니
 		// 2. 장바구니시퀀스 배열 등록 (장바구니 상품 정보 조회)
-		int[] arr = {14,15,16,17,18,19,20,21,11,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,8,77};
+		int[] arr = {11,77,8};
 		order.setCartSqArr(arr);
 		order.setShotDelvYn("Y");
 		
 		mav.addObject("order" 	, order);										// 주문정보
 		mav.addObject("isLogin"	, TsfSession.isLogin());						// 로그인여부
 		mav.setViewName(super.getDeviceViewName("order/OrderNoMember"));		// 비회원주문서화면
-		
+
 		return mav;
 	}
 	
@@ -106,13 +106,11 @@ public class TsfOrderController extends TsfBaseController {
 			order.setCustNo(TsfSession.getInfo().getCustNo()); // 고객번호등록
 		}
 		
-		// 임시
-		//order.setCustNo(1000006); // 고객번호등록
-		
 		// TODO
 		// 1.1 카트시퀀스가 없을때 처리 장바구니로 이동 
 		if (order.getCartSqArr() == null) {
-			
+			mav.setViewName("redirect:/order/noMember");		// 비회원주문서화면
+			return mav;
 		}
 		
 		Order custemerInfo = new Order();
@@ -153,10 +151,8 @@ public class TsfOrderController extends TsfBaseController {
 		// 2.1 배송단위별 상품 목록 조회 (장바구니)
 		Collection<Order> tmtbGoodsApplyList = cartService.getMoreBetterAmtList(order);
 		
-		int prePntDcAmt = 0;
-		for (Order tmtbGoodsApply : tmtbGoodsApplyList) {
-			prePntDcAmt += tmtbGoodsApply.getPrePntDcAmt();
-		}
+		// 상품금액, 선포인트, 다다익선할인금액
+		GagaMap goodsDcAmtMap = coreOrderService.getGoodsDcAmt(tmtbGoodsApplyList);
 		
 		// 2.2 배송단위별 장바구니 상품 건수 조회 (장바구니상품)
 		GagaMap delvOrderMap = coreOrderService.getCartDelvGoodsCntList(tmtbGoodsApplyList);
@@ -171,6 +167,8 @@ public class TsfOrderController extends TsfBaseController {
 		// 3.2.1 상품기준 ---> 상품쿠폰 적용된 상품 목록
 		Collection<Order> goodsApplyCpnList = coreOrderService.getGoodsCpnApplyList(tmtbGoodsApplyList, goodsCpnList);
 		
+		//cartCpnList = coreOrderService.getGoodsCpnApplyList(tmtbGoodsApplyList, cartCpnList);
+		
 		// 3.3 배송비쿠폰목록 조회
 		Collection<Order> delvCpnList = coreOrderService.getDelvCpnList(order);
 		
@@ -194,6 +192,7 @@ public class TsfOrderController extends TsfBaseController {
 		mav.addObject("wmsCartList" 					, delvOrderMap.get("wmsCartList"));		// 자사장바구니상품목록
 		mav.addObject("resCartList" 					, delvOrderMap.get("resCartList"));		// 자사장바구니예약상품목
 		mav.addObject("delvCartList" 					, delvOrderMap.get("delvCartList"));	// 입점업체장바구니상품목록
+		mav.addObject("sumDelvFee" 						, delvOrderMap.get("sumDelvFee"));		// 배송비합계
 		
 		// 102. 고객정보
 		mav.addObject("custemerInfo"					, custemerInfo);						// 고객정보
@@ -205,7 +204,9 @@ public class TsfOrderController extends TsfBaseController {
 		mav.addObject("goodsApplyCpnList"				, goodsApplyCpnList);					// 상품적용쿠폰
 		mav.addObject("cartCpnList"						, cartCpnList);							// 장바구니쿠폰목록
 		mav.addObject("delvCpnList"						, delvCpnList);							// 배송비쿠폰목록
-		mav.addObject("prePntDcAmt"						, prePntDcAmt);							// 선포인트정보
+		mav.addObject("prePntDcAmt"						, goodsDcAmtMap.get("prePntDcAmt"));	// 선포인트정보
+		mav.addObject("goodsSumAmt"						, goodsDcAmtMap.get("goodsSumAmt"));	// 상품금액합계
+		mav.addObject("tmtbDcSumAmt"					, goodsDcAmtMap.get("tmtbDcSumAmt"));	// 다다익선할인금액합계
 		mav.addObject("rmPntAmt"						, rmPntAmt);							// 고객포인트정보
 		mav.addObject("rmGfcdAmt"						, rmGfcdAmt);							// 고객상품권정보
 		

+ 891 - 917
src/main/webapp/WEB-INF/views/web/cart/cartListAjaxFormWeb.html

@@ -1,940 +1,914 @@
 <html lang="ko"
-      xmlns:th="http://www.thymeleaf.org">
+	  xmlns:th="http://www.thymeleaf.org">
 <form id="cartListForm" method="post" action="/order/noMember">
-    <input type="hidden" name="cartCpnDcAmt" id="cartCpnDcAmt" th:value="${param.cartCpnDcAmt}" />
-
-<!-- CONT-BODY -->
-<div class="od_cont">
-    <div class="sec_head" th:if="${order.shotCanYn.equals('Y')}">
-        <div class="tbl type4">
-            <table>
-                <colgroup>
-                    <col width="150">
-                    <col width="*">
-                </colgroup>
-                <tbody>
-                <tr>
-                    <th>
-                        배송방법 선택
-                    </th>
-                    <td>
-                        <div class="form_field">
-                            <div>
-                                <input type="radio" name="shotDelvYn" id="blt_ship1" value="">
-                                <label for="blt_ship1"><span><em class="tag">총알배송</em><span th:text="|${order.shotDelvDt}일 24:00 까지 도착|"></span></span></label>
-                            </div>
-                            <div>
-                                <input type="radio" name="shotDelvYn" id="blt_ship2" value="" checked="">
-                                <label for="blt_ship2"><span>총알 배송 안함</span></label>
-                            </div>
-                        </div>
-                    </td>
-                </tr>
-                </tbody>
-            </table>
-        </div>
-    </div>
-    <div class="sec_body">
-        <!-- 총알배송 -->
-        <div class="part_deliver wmsList" th:if="${wmsCartList != null and wmsCartList.size() > 0}">
-            <h3 class="subH2 mb20" th:if="${order.shotCanYn.equals('Y')}">
-                STYLE24 총알배송
-                <span class="ml10">오늘 자정까지 도착</span>
-            </h3>
-            <h3 class="subH2 mb20" th:if="${order.shotCanYn.equals('N')}">
-                STYLE24 일반배송
-            </h3>
-            <div class="tbl type2">
-                <table>
-                    <colgroup>
-                        <col width="900">
-                        <col width="*">
-                    </colgroup>
-                    <tbody>
-                    <th:block th:each="cart, status : ${wmsCartList}">
-                    <tr class="cartInfo wmsCartInfo">
-                        <input type="hidden" name="applyQtySectionYn" th:value="${cart.applyQtySectionYn}" />
-                        <input type="hidden" name="applyAmtSectionYn" th:value="${cart.applyAmtSectionYn}" />
-                        <input type="hidden" name="qtyTmtbSq" th:value="${cart.qtyTmtbSq}" />
-                        <input type="hidden" name="qtyTmtbNm" th:value="${cart.qtyTmtbNm}" />
-                        <input type="hidden" name="amtTmtbSq" th:value="${cart.amtTmtbSq}" />
-                        <input type="hidden" name="amtTmtbNm" th:value="${cart.amtTmtbNm}" />
-                        <input type="hidden" name="currPrice" th:value="${cart.currPrice}" />
-                        <input type="hidden" name="soldoutYn" th:value="${cart.soldoutYn}" />
-                        <input type="hidden" name="tmtbDcAmt" th:value="${cart.tmtbDcAmt}" />
-                        <input type="hidden" name="cartSq" th:value="${cart.cartSq}" />
-
-                        <td>
-                            <!-- 주문가능 상품 -->
-                            <div class="info_item" th:classappend="${cart.soldoutYn.equals('Y')} ? unable"> <!-- 주문불가시 class="unable" 추가 / 인풋, 버튼 disable 처리 -->
-                                <div class="form_box">
-                                    <p class="form_field">
-                                        <input th:id="|od_item_${cart.cartSq}|" name="cartSqArr" type="checkbox" th:value="${cart.cartSq}" th:checked="${cart.soldoutYn.equals('N')}" th:disabled="${cart.soldoutYn.equals('Y')}"/>
-                                        <label th:for="|od_item_${cart.cartSq}|">
-                                            <span class="sr-only">상품선택</span>
-                                        </label>
-                                    </p>
-                                </div>
-                                <div class="thumb_box">
-                                    <a href="">
-                                        <img th:src="${IMG_PATH} + '/' + ${cart.sysImgNm}" src="/" width="100%" alt="">
-                                    </a>
-                                </div>
-                                <div class="info_box">
-                                    <p class="od_name">
-                                        <a href="">
-                                            <span class="brand" th:text="${cart.brandNm}"></span>
-                                            <span th:if="${!#strings.isEmpty(cart.delvResDt)}" class="reserv_date" th:text="|${cart.delvResDt} 배송예정|"></span>
-                                            <span class="name" th:text="${cart.goodsNm}"></span>
-                                        </a>
-                                    </p>
-                                    <p class="od_opt" th:each="opt, index : ${cart.itemNmArr}">
-                                        <span class="option"><em th:text="${cart.itemNmArr[index.index]} + '_' + ${cart.optCdArr[index.index]}"></em></span>
-                                    </p>
-                                    <p class="od_opt">
-                                        <span class="count">수량:<em th:text="${cart.goodsQty}"></em>개</span>
-                                    </p>
-
-                                    <p class="od_modify">
-                                        <button type="button" class="btn_opt_pop"><span>옵션/수량변경</span></button>
-                                    </p>
-                                    <!-- 다다익선 적용 -->
-                                    <div class="od_moresale applyTmtb" th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y')}">
-                                        <a href="" class="btn_moresale">
-                                            <i class="ico ico_saletag"></i><span>다다익선 할인적용!</span>
-                                        </a>
-                                        <div class="li_moresale applyTmtbNm">
-                                            <ul>
-                                                <li th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y'}" th:text="${cart.qtyTmtbNm}"></li>
-                                                <li th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y'}" th:text="${cart.amtTmtbNm}"></li>
-                                            </ul>
-                                        </div>
-                                    </div>
-                                    <!-- 다다익선 미적용 -->
-                                    <div class="od_moresale notApplyTmtb" th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N')}">
-                                        <a href="" class="btn_moresale">
-                                            <i class="ico ico_saletag"></i><span>다다익선 상품보기</span>
-                                        </a>
-                                        <div class="li_moresale notApplyTmtbNm">
-                                            <ul>
-                                                <li th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N'}" th:inline="text">[[${cart.qtyTmtbNm}]]<a href=''>대상 상품 보기</a></li>
-                                                <li th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N'}" th:inline="text">[[${cart.amtTmtbNm}]]<a href=''>대상 상품 보기</a></li>
-                                            </ul>
-                                        </div>
-                                    </div>
-                                    <!-- 주문불가시 안내추가 -->
-                                    <div class="info_unable" th:if="${cart.soldoutYn.equals('Y')}">
-                                        해당상품은 구매가 불가능한 상품입니다. / 상품이 품절되었습니다.
-                                    </div>
-                                    <!-- //주문불가시 안내추가 -->
-                                </div>
-                                <div class="info_calc">
-                                    <p class="price" th:if="${cart.tmtbDcAmt < cart.currPrice}">
-                                        <span class="selling_price" th:text="|${#numbers.formatInteger(cart.tmtbDcAmt, 1, 'COMMA')} 원|"></span>
-                                        <del th:text="|${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')} 원|"></del>
-                                    </p>
-                                    <p class="price" th:if="${cart.tmtbDcAmt == cart.currPrice}">
-                                        <span class="selling_price" th:text="|${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')} 원|"></span>
-                                    </p>
-                                    <p class="point"><span th:text="${#numbers.formatInteger(cart.savePntAmt, 1, 'COMMA')}"></span>p 적립예정</p>
-                                    <p>
-                                        <button th:if="${cart.soldoutYn.equals('Y')}" type="button" class="btn btn_sm" disabled><span>구매불가</span></button>
-                                        <button th:if="${cart.soldoutYn.equals('N')}" type="button" class="btn btn_primary btn_sm"><span>즉시구매</span></button>
-                                    </p>
-                                    <p class="util">
+	<input type="hidden" name="cartCpnDcAmt" id="cartCpnDcAmt" th:value="${param.cartCpnDcAmt}" />
+
+	<!-- CONT-BODY -->
+	<div class="od_cont">
+		<div class="sec_head" th:if="${order.shotCanYn.equals('Y')}">
+			<div class="tbl type4">
+				<table>
+					<colgroup>
+						<col width="150">
+						<col width="*">
+					</colgroup>
+					<tbody>
+					<tr>
+						<th>
+							배송방법 선택
+						</th>
+						<td>
+							<div class="form_field">
+								<div>
+									<input type="radio" name="shotDelvYn" id="blt_ship1" value="">
+									<label for="blt_ship1"><span><em class="tag">총알배송</em><span th:text="|${order.shotDelvDt}일 24:00 까지 도착|"></span></span></label>
+								</div>
+								<div>
+									<input type="radio" name="shotDelvYn" id="blt_ship2" value="" checked="">
+									<label for="blt_ship2"><span>총알 배송 안함</span></label>
+								</div>
+							</div>
+						</td>
+					</tr>
+					</tbody>
+				</table>
+			</div>
+		</div>
+		<div class="sec_body">
+			<!-- 총알배송 -->
+			<div class="part_deliver wmsList" th:if="${wmsCartList != null and wmsCartList.size() > 0}">
+				<h3 class="subH2 mb20" th:if="${order.shotCanYn.equals('Y')}">
+					STYLE24 총알배송
+					<span class="ml10">오늘 자정까지 도착</span>
+				</h3>
+				<h3 class="subH2 mb20" th:if="${order.shotCanYn.equals('N')}">
+					STYLE24 일반배송
+				</h3>
+				<div class="tbl type2">
+					<table>
+						<colgroup>
+							<col width="900">
+							<col width="*">
+						</colgroup>
+						<tbody>
+						<th:block th:each="cart, status : ${wmsCartList}">
+							<tr class="cartInfo wmsCartInfo">
+								<input type="hidden" name="applyQtySectionYn" th:value="${cart.applyQtySectionYn}" />
+								<input type="hidden" name="applyAmtSectionYn" th:value="${cart.applyAmtSectionYn}" />
+								<input type="hidden" name="qtyTmtbSq" th:value="${cart.qtyTmtbSq}" />
+								<input type="hidden" name="qtyTmtbNm" th:value="${cart.qtyTmtbNm}" />
+								<input type="hidden" name="amtTmtbSq" th:value="${cart.amtTmtbSq}" />
+								<input type="hidden" name="amtTmtbNm" th:value="${cart.amtTmtbNm}" />
+								<input type="hidden" name="currPrice" th:value="${cart.currPrice}" />
+								<input type="hidden" name="soldoutYn" th:value="${cart.soldoutYn}" />
+								<input type="hidden" name="tmtbDcAmt" th:value="${cart.tmtbDcAmt}" />
+								<input type="hidden" name="cartSq" th:value="${cart.cartSq}" />
+
+								<td>
+									<!-- 주문가능 상품 -->
+									<div class="info_item" th:classappend="${cart.soldoutYn.equals('Y')} ? unable"> <!-- 주문불가시 class="unable" 추가 / 인풋, 버튼 disable 처리 -->
+										<div class="form_box">
+											<p class="form_field">
+												<input th:id="|od_item_${cart.cartSq}|" name="cartSqArr" type="checkbox" th:value="${cart.cartSq}" th:checked="${cart.soldoutYn.equals('N')}" th:disabled="${cart.soldoutYn.equals('Y')}"/>
+												<label th:for="|od_item_${cart.cartSq}|">
+													<span class="sr-only">상품선택</span>
+												</label>
+											</p>
+										</div>
+										<div class="thumb_box">
+											<a href="">
+												<img th:src="${IMG_PATH} + '/' + ${cart.sysImgNm}" src="/" width="100%" alt="">
+											</a>
+										</div>
+										<div class="info_box">
+											<p class="od_name">
+												<a href="">
+													<span class="brand" th:text="${cart.brandNm}"></span>
+													<span th:if="${!#strings.isEmpty(cart.delvResDt)}" class="reserv_date" th:text="|${cart.delvResDt} 배송예정|"></span>
+													<span class="name" th:text="${cart.goodsNm}"></span>
+												</a>
+											</p>
+											<p class="od_opt" th:each="opt, index : ${cart.itemNmArr}">
+												<span class="option"><em th:text="${cart.itemNmArr[index.index]} + '_' + ${cart.optCdArr[index.index]}"></em></span>
+											</p>
+											<p class="od_opt">
+												<span class="count">수량:<em th:text="${cart.goodsQty}"></em>개</span>
+											</p>
+
+											<p class="od_modify">
+												<button type="button" class="btn_opt_pop"><span>옵션/수량변경</span></button>
+											</p>
+											<!-- 다다익선 적용 -->
+											<div class="od_moresale applyTmtb" th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y')}">
+												<a href="" class="btn_moresale">
+													<i class="ico ico_saletag"></i><span>다다익선 할인적용!</span>
+												</a>
+												<div class="li_moresale applyTmtbNm">
+													<ul>
+														<li th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y'}" th:text="${cart.qtyTmtbNm}"></li>
+														<li th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y'}" th:text="${cart.amtTmtbNm}"></li>
+													</ul>
+												</div>
+											</div>
+											<!-- 다다익선 미적용 -->
+											<div class="od_moresale notApplyTmtb" th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N')}">
+												<a href="" class="btn_moresale">
+													<i class="ico ico_saletag"></i><span>다다익선 상품보기</span>
+												</a>
+												<div class="li_moresale notApplyTmtbNm">
+													<ul>
+														<li th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N'}" th:inline="text">[[${cart.qtyTmtbNm}]]<a href=''>대상 상품 보기</a></li>
+														<li th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N'}" th:inline="text">[[${cart.amtTmtbNm}]]<a href=''>대상 상품 보기</a></li>
+													</ul>
+												</div>
+											</div>
+											<!-- 주문불가시 안내추가 -->
+											<div class="info_unable" th:if="${cart.soldoutYn.equals('Y')}">
+												해당상품은 구매가 불가능한 상품입니다. / 상품이 품절되었습니다.
+											</div>
+											<!-- //주문불가시 안내추가 -->
+										</div>
+										<div class="info_calc">
+											<p class="price" th:if="${cart.tmtbDcAmt < cart.currPrice}">
+												<span class="selling_price" th:text="|${#numbers.formatInteger(cart.tmtbDcAmt, 1, 'COMMA')} 원|"></span>
+												<del th:text="|${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')} 원|"></del>
+											</p>
+											<p class="price" th:if="${cart.tmtbDcAmt == cart.currPrice}">
+												<span class="selling_price" th:text="|${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')} 원|"></span>
+											</p>
+											<p class="point"><span th:text="${#numbers.formatInteger(cart.savePntAmt, 1, 'COMMA')}"></span>p 적립예정</p>
+											<p>
+												<button th:if="${cart.soldoutYn.equals('Y')}" type="button" class="btn btn_sm" disabled><span>구매불가</span></button>
+												<button th:if="${cart.soldoutYn.equals('N')}" type="button" class="btn btn_primary btn_sm"><span>즉시구매</span></button>
+											</p>
+											<p class="util">
                                         <span>
                                             <button type="button" class="btn_favorite" th:classappend="${cart.wishCnt > 0} ? active"><span><i class="ico ico_like2"></i><em class="sr-only">관심상품 추가</em></span></button>
                                         </span>
-                                        <span>
+												<span>
                                             <button type="button" class="btn_delete" th:onclick="|deleteCart(${cart.cartSq})|"><span><i class="ico ico_trash"></i><em class="sr-only">상품삭제</em></span></button>
                                         </span>
-                                    </p>
-                                </div>
-                            </div>
-                            <!-- //주문가능 상품 -->
-                        </td>
-                        <td class="merge_row delvFeeArea" th:classappend="|delv_${cart.delvFeeCd}|" th:if="${cart.firstCompYn == 'Y'}" th:rowspan="${wmsCartList.size()}"> <!-- 같은 데이터 노출시 동일 영역끼리 병합 : 클래스명 merge_row 추가 -->
-                            <div class="info_dlvr">
-                                <span class="dlvr_fee" th:if="${cart.delvFee == 0}">배송비 무료</span>
-                                <span class="dlvr_fee" th:if="${cart.delvFee > 0}" th:text="|배송비 ${#numbers.formatInteger(cart.delvFee, 1, 'COMMA')} 원|"></span>
-                                <a href="#" target="_blank" th:if="${cart.delvFee > 0}">배송비 SAVE 상품 보기</a>
-                            </div>
-                        </td>
-                    </tr>
-                    </th:block>
-                    </tbody>
-                </table>
-            </div>
-            <div class="btn_area">
-                <button type="button" class="btn btn_default" onclick="deleteCart('WMS_SELECT')"><span>선택 삭제</span></button>
-                <button type="button" class="btn btn_default" onclick="deleteCart('WMS_ALL')"><span>전체 삭제</span></button>
-            </div>
-        </div>
-        <!-- //총알배송 -->
-
-        <!-- 업체직배송 -->
-        <div class="part_deliver delvList" th:if="${delvCartList != null and delvCartList.size() > 0}">
-            <h3 class="subH2 mb20">
-                업체직배송
-            </h3>
-            <div class="tbl type2">
-                <table>
-                    <colgroup>
-                        <col width="900">
-                        <col width="*">
-                    </colgroup>
-                    <tbody>
-                    <th:block th:each="cart, status : ${delvCartList}">
-                    <tr class="cartInfo delvCartInfo">
-                        <input type="hidden" name="applyQtySectionYn" th:value="${cart.applyQtySectionYn}" />
-                        <input type="hidden" name="applyAmtSectionYn" th:value="${cart.applyAmtSectionYn}" />
-                        <input type="hidden" name="qtyTmtbSq" th:value="${cart.qtyTmtbSq}" />
-                        <input type="hidden" name="qtyTmtbNm" th:value="${cart.qtyTmtbNm}" />
-                        <input type="hidden" name="amtTmtbSq" th:value="${cart.amtTmtbSq}" />
-                        <input type="hidden" name="amtTmtbNm" th:value="${cart.amtTmtbNm}" />
-                        <input type="hidden" name="currPrice" th:value="${cart.currPrice}" />
-                        <input type="hidden" name="soldoutYn" th:value="${cart.soldoutYn}" />
-                        <input type="hidden" name="tmtbDcAmt" th:value="${cart.tmtbDcAmt}" />
-                        <input type="hidden" name="cartSq" th:value="${cart.cartSq}" />
-
-                        <td>
-                            <div class="info_item" th:classappend="${cart.soldoutYn.equals('Y')} ? unable">
-                                <div class="form_box">
-                                    <p class="form_field">
-                                        <input th:id="|od_item_${cart.cartSq}|" name="cartSqArr" type="checkbox" th:value="${cart.cartSq}" th:checked="${cart.soldoutYn.equals('N')}" th:disabled="${cart.soldoutYn.equals('Y')}"/>
-                                        <label th:for="|od_item_${cart.cartSq}|">
-                                            <span class="sr-only">상품선택</span>
-                                        </label>
-                                    </p>
-                                </div>
-                                <div class="thumb_box">
-                                    <a href="">
-                                        <img th:src="${IMG_PATH} + '/' + ${cart.sysImgNm}" src="/" width="100%" alt="">
-                                    </a>
-                                </div>
-                                <div class="info_box">
-                                    <p class="od_name">
-                                        <a href="">
-                                            <span class="brand" th:text="${cart.brandNm}"></span>
-                                            <span class="name" th:text="${cart.goodsNm}"></span>
-                                        </a>
-                                    </p>
-                                    <p class="od_opt" th:each="opt, index : ${cart.itemNmArr}">
-                                        <span class="option"><em th:text="${cart.itemNmArr[index.index]} + '_' + ${cart.optCdArr[index.index]}"></em></span>
-                                    </p>
-                                    <p class="od_opt">
-                                        <span class="count">수량:<em th:text="${cart.goodsQty}"></em>개</span>
-                                    </p>
-                                    <p class="od_modify">
-                                        <button type="button" class="btn_opt_pop"><span>옵션/수량변경</span></button>
-                                    </p>
-                                    <!-- 다다익선 적용 -->
-                                    <div class="od_moresale applyTmtb" th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y')}">
-                                        <a href="" class="btn_moresale">
-                                            <i class="ico ico_saletag"></i><span>다다익선 할인적용!</span>
-                                        </a>
-                                        <div class="li_moresale applyTmtbNm">
-                                            <ul>
-                                                <li th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y'}" th:text="${cart.qtyTmtbNm}"></li>
-                                                <li th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y'}" th:text="${cart.amtTmtbNm}"></li>
-                                            </ul>
-                                        </div>
-                                    </div>
-                                    <!-- 다다익선 미적용 -->
-                                    <div class="od_moresale notApplyTmtb" th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N')}">
-                                        <a href="" class="btn_moresale">
-                                            <i class="ico ico_saletag"></i><span>다다익선 상품보기</span>
-                                        </a>
-                                        <div class="li_moresale notApplyTmtbNm">
-                                            <ul>
-                                                <li th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N'}" th:text="${cart.qtyTmtbNm}"><a href="">대상 상품 보기</a></li>
-                                                <li th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N'}" th:text="${cart.amtTmtbNm}"><a href="">대상 상품 보기</a></li>
-                                            </ul>
-                                        </div>
-                                    </div>
-                                    <!-- 주문불가시 안내추가 -->
-                                    <div class="info_unable" th:if="${cart.soldoutYn.equals('Y')}">
-                                        해당상품은 구매가 불가능한 상품입니다. / 상품이 품절되었습니다.
-                                    </div>
-                                    <!-- //주문불가시 안내추가 -->
-                                </div>
-                                <div class="info_calc">
-                                    <p class="price" th:if="${cart.tmtbDcAmt < cart.currPrice}">
-                                        <span class="selling_price" th:text="|${#numbers.formatInteger(cart.tmtbDcAmt, 1, 'COMMA')} 원|"></span>
-                                        <del th:text="|${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')} 원|"></del>
-                                    </p>
-                                    <p class="price" th:if="${cart.tmtbDcAmt == cart.currPrice}">
-                                        <span class="selling_price" th:text="|${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')} 원|"></span>
-                                    </p>
-                                    <p class="point"><span th:text="${#numbers.formatInteger(cart.savePntAmt, 1, 'COMMA')}"></span>p 적립예정</p>
-                                    <p>
-                                        <button th:if="${cart.soldoutYn.equals('Y')}" type="button" class="btn btn_sm" disabled><span>구매불가</span></button>
-                                        <button th:if="${cart.soldoutYn.equals('N')}" type="button" class="btn btn_primary btn_sm"><span>즉시구매</span></button>
-                                    </p>
-                                    <p class="util">
+											</p>
+										</div>
+									</div>
+									<!-- //주문가능 상품 -->
+								</td>
+								<td class="merge_row delvFeeArea" th:classappend="|delv_${cart.delvFeeCd}|" th:if="${cart.firstCompYn == 'Y'}" th:rowspan="${wmsCartList.size()}"> <!-- 같은 데이터 노출시 동일 영역끼리 병합 : 클래스명 merge_row 추가 -->
+									<div class="info_dlvr">
+										<span class="dlvr_fee" th:if="${cart.delvFee == 0}">배송비 무료</span>
+										<span class="dlvr_fee" th:if="${cart.delvFee > 0}" th:text="|배송비 ${#numbers.formatInteger(cart.delvFee, 1, 'COMMA')} 원|"></span>
+										<a href="#" target="_blank" th:if="${cart.delvFee > 0}">배송비 SAVE 상품 보기</a>
+									</div>
+								</td>
+							</tr>
+						</th:block>
+						</tbody>
+					</table>
+				</div>
+				<div class="btn_area">
+					<button type="button" class="btn btn_default" onclick="deleteCart('WMS_SELECT')"><span>선택 삭제</span></button>
+					<button type="button" class="btn btn_default" onclick="deleteCart('WMS_ALL')"><span>전체 삭제</span></button>
+				</div>
+			</div>
+			<!-- //총알배송 -->
+
+			<!-- 업체직배송 -->
+			<div class="part_deliver delvList" th:if="${delvCartList != null and delvCartList.size() > 0}">
+				<h3 class="subH2 mb20">
+					업체직배송
+				</h3>
+				<div class="tbl type2">
+					<table>
+						<colgroup>
+							<col width="900">
+							<col width="*">
+						</colgroup>
+						<tbody>
+						<th:block th:each="cart, status : ${delvCartList}">
+							<tr class="cartInfo delvCartInfo">
+								<input type="hidden" name="applyQtySectionYn" th:value="${cart.applyQtySectionYn}" />
+								<input type="hidden" name="applyAmtSectionYn" th:value="${cart.applyAmtSectionYn}" />
+								<input type="hidden" name="qtyTmtbSq" th:value="${cart.qtyTmtbSq}" />
+								<input type="hidden" name="qtyTmtbNm" th:value="${cart.qtyTmtbNm}" />
+								<input type="hidden" name="amtTmtbSq" th:value="${cart.amtTmtbSq}" />
+								<input type="hidden" name="amtTmtbNm" th:value="${cart.amtTmtbNm}" />
+								<input type="hidden" name="currPrice" th:value="${cart.currPrice}" />
+								<input type="hidden" name="soldoutYn" th:value="${cart.soldoutYn}" />
+								<input type="hidden" name="tmtbDcAmt" th:value="${cart.tmtbDcAmt}" />
+								<input type="hidden" name="cartSq" th:value="${cart.cartSq}" />
+
+								<td>
+									<div class="info_item" th:classappend="${cart.soldoutYn.equals('Y')} ? unable">
+										<div class="form_box">
+											<p class="form_field">
+												<input th:id="|od_item_${cart.cartSq}|" name="cartSqArr" type="checkbox" th:value="${cart.cartSq}" th:checked="${cart.soldoutYn.equals('N')}" th:disabled="${cart.soldoutYn.equals('Y')}"/>
+												<label th:for="|od_item_${cart.cartSq}|">
+													<span class="sr-only">상품선택</span>
+												</label>
+											</p>
+										</div>
+										<div class="thumb_box">
+											<a href="">
+												<img th:src="${IMG_PATH} + '/' + ${cart.sysImgNm}" src="/" width="100%" alt="">
+											</a>
+										</div>
+										<div class="info_box">
+											<p class="od_name">
+												<a href="">
+													<span class="brand" th:text="${cart.brandNm}"></span>
+													<span class="name" th:text="${cart.goodsNm}"></span>
+												</a>
+											</p>
+											<p class="od_opt" th:each="opt, index : ${cart.itemNmArr}">
+												<span class="option"><em th:text="${cart.itemNmArr[index.index]} + '_' + ${cart.optCdArr[index.index]}"></em></span>
+											</p>
+											<p class="od_opt">
+												<span class="count">수량:<em th:text="${cart.goodsQty}"></em>개</span>
+											</p>
+											<p class="od_modify">
+												<button type="button" class="btn_opt_pop"><span>옵션/수량변경</span></button>
+											</p>
+											<!-- 다다익선 적용 -->
+											<div class="od_moresale applyTmtb" th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y')}">
+												<a href="" class="btn_moresale">
+													<i class="ico ico_saletag"></i><span>다다익선 할인적용!</span>
+												</a>
+												<div class="li_moresale applyTmtbNm">
+													<ul>
+														<li th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y'}" th:text="${cart.qtyTmtbNm}"></li>
+														<li th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y'}" th:text="${cart.amtTmtbNm}"></li>
+													</ul>
+												</div>
+											</div>
+											<!-- 다다익선 미적용 -->
+											<div class="od_moresale notApplyTmtb" th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N')}">
+												<a href="" class="btn_moresale">
+													<i class="ico ico_saletag"></i><span>다다익선 상품보기</span>
+												</a>
+												<div class="li_moresale notApplyTmtbNm">
+													<ul>
+														<li th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N'}" th:text="${cart.qtyTmtbNm}"><a href="">대상 상품 보기</a></li>
+														<li th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N'}" th:text="${cart.amtTmtbNm}"><a href="">대상 상품 보기</a></li>
+													</ul>
+												</div>
+											</div>
+											<!-- 주문불가시 안내추가 -->
+											<div class="info_unable" th:if="${cart.soldoutYn.equals('Y')}">
+												해당상품은 구매가 불가능한 상품입니다. / 상품이 품절되었습니다.
+											</div>
+											<!-- //주문불가시 안내추가 -->
+										</div>
+										<div class="info_calc">
+											<p class="price" th:if="${cart.tmtbDcAmt < cart.currPrice}">
+												<span class="selling_price" th:text="|${#numbers.formatInteger(cart.tmtbDcAmt, 1, 'COMMA')} 원|"></span>
+												<del th:text="|${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')} 원|"></del>
+											</p>
+											<p class="price" th:if="${cart.tmtbDcAmt == cart.currPrice}">
+												<span class="selling_price" th:text="|${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')} 원|"></span>
+											</p>
+											<p class="point"><span th:text="${#numbers.formatInteger(cart.savePntAmt, 1, 'COMMA')}"></span>p 적립예정</p>
+											<p>
+												<button th:if="${cart.soldoutYn.equals('Y')}" type="button" class="btn btn_sm" disabled><span>구매불가</span></button>
+												<button th:if="${cart.soldoutYn.equals('N')}" type="button" class="btn btn_primary btn_sm"><span>즉시구매</span></button>
+											</p>
+											<p class="util">
                                         <span>
                                             <button type="button" class="btn_favorite"><span><i class="ico ico_like2"></i><em class="sr-only">관심상품 추가</em></span></button>
                                         </span>
-                                        <span>
+												<span>
                                             <button type="button" class="btn_delete" th:onclick="|deleteCart(${cart.cartSq})|"><span><i class="ico ico_trash"></i><em class="sr-only">상품삭제</em></span></button>
                                         </span>
-                                    </p>
-                                </div>
-                            </div>
-                        </td>
-                        <td class="merge_row delvFeeArea" th:classappend="|delv_${cart.delvFeeCd}|" th:if="${cart.firstCompYn == 'Y'}" th:rowspan="${cart.compCnt}"> <!-- 같은 데이터 노출시 동일 영역끼리 병합 : 클래스명 merge_row 추가 -->
-                            <div class="info_dlvr">
-                                <span class="dlvr_fee" th:if="${cart.delvFee == 0}">배송비 무료</span>
-                                <span class="dlvr_fee" th:if="${cart.delvFee > 0}" th:text="|배송비 ${#numbers.formatInteger(cart.delvFee, 1, 'COMMA')} 원|"></span>
-                                <span class="dlvr_shop" th:text="|${cart.supplyCompNm} 업체직배송|"></span>
-                                <a href="#" target="_blank" th:if="${cart.delvFee > 0}">배송비 SAVE 상품 보기</a>
-                            </div>
-                        </td>
-                    </tr>
-                    </th:block>
-                    </tbody>
-                </table>
-            </div>
-            <div class="btn_area">
-                <button type="button" class="btn btn_default" onclick="deleteCart('DELV_SELECT')"><span>선택 삭제</span></button>
-                <button type="button" class="btn btn_default" onclick="deleteCart('DELV_ALL')"><span>전체 삭제</span></button>
-            </div>
-        </div>
-        <!-- //업체직배송 -->
-    </div>
-</div>
-<div class="od_side">
-    <div class="area_order">
-        <div class="tit_box">
-            <h3>결제 정보</h3>
-            <span>
+											</p>
+										</div>
+									</div>
+								</td>
+								<td class="merge_row delvFeeArea" th:classappend="|delv_${cart.delvFeeCd}|" th:if="${cart.firstCompYn == 'Y'}" th:rowspan="${cart.compCnt}"> <!-- 같은 데이터 노출시 동일 영역끼리 병합 : 클래스명 merge_row 추가 -->
+									<div class="info_dlvr">
+										<span class="dlvr_fee" th:if="${cart.delvFee == 0}">배송비 무료</span>
+										<span class="dlvr_fee" th:if="${cart.delvFee > 0}" th:text="|배송비 ${#numbers.formatInteger(cart.delvFee, 1, 'COMMA')} 원|"></span>
+										<span class="dlvr_shop" th:text="|${cart.supplyCompNm} 업체직배송|"></span>
+										<a href="#" target="_blank" th:if="${cart.delvFee > 0}">배송비 SAVE 상품 보기</a>
+									</div>
+								</td>
+							</tr>
+						</th:block>
+						</tbody>
+					</table>
+				</div>
+				<div class="btn_area">
+					<button type="button" class="btn btn_default" onclick="deleteCart('DELV_SELECT')"><span>선택 삭제</span></button>
+					<button type="button" class="btn btn_default" onclick="deleteCart('DELV_ALL')"><span>전체 삭제</span></button>
+				</div>
+			</div>
+			<!-- //업체직배송 -->
+		</div>
+	</div>
+	<div class="od_side">
+		<div class="area_order">
+			<div class="tit_box">
+				<h3>결제 정보</h3>
+				<span>
                 <em class="number" th:text="${order.totCartCnt}"></em>개의 상품
             </span>
-        </div>
-        <div class="od_amount_box">
-            <dl>
-                <div>
-                    <dt>상품금액</dt>
-                    <dd><em class="sumCurrPrice" th:text="${#numbers.formatInteger(order.sumOrdAmt, 1, 'COMMA')}"></em> 원</dd>
-                </div>
-                <div>
-                    <dt>배송비</dt>
-                    <dd><em class="totDelvFee" th:text="${#numbers.formatInteger(order.totDelvFee, 1, 'COMMA')}"></em> 원</dd>
-                </div>
-                <div>
-                    <dt>할인금액</dt>
-                    <dd><span class="disc_amount"><em class="totDcAmt" id="totDcAmt" th:text="${#numbers.formatInteger(order.totDcAmt, 1, 'COMMA')}"></em> 원</span></dd>
-                </div>
-            </dl>
-        </div>
-        <div class="totalprice_box">
-            <dl>
-                <dt>총 결제 예정 금액</dt>
-                <dd data-weight="price" data-font="lato"><span class="sumRealPayAmt" id="sumRealPayAmt" th:text="${#numbers.formatInteger(order.sumRealPayAmt + order.totDelvFee, 1, 'COMMA')}"></span> 원</dd>
-            </dl>
-        </div>
-        <div class="btn_box">
-            <button class="btn btn_primary btn_block btn_md"><span>주문하기</span></button>
-        </div>
-    </div>
-    <div class="area_salecoupon">
-        <h4>할인코드 입력</h4>
-        <div class="form_field">
-            <div class="input_wrap form_full">
-                <label class="input_label sr-only">할인코드입력</label>
-                <input type="text" id="serialCpnNm" class="form_control" placeholder="할인코드를 입력해주세요.">
-            </div>
-            <button type="button" class="btn btn_dark btn_default" onclick="serialCpnApply()"><span>적용</span></button>
-        </div>
-        <div class="coupon_box">
-            <div class="coupon">
-                <div>
-                    <p class="cp_name"></p>
-                    <p class="cp_cont">
-                        <!--<span><em>12,399,900</em>원</span>
-                        <span><em>40%</em></span>-->
-                        <span class="cp_dc_val"></span>
-                    </p>
-                    <p class="cp_condition">
-                        <!--500,000원 이상 구매 시 최대 50,000원 할인
-                        <span><em class="tag">99장 보유</em></span>-->
-                    </p>
-                </div>
-                <p class="cp_date">
-                    <span class="availStdt"></span>&nbsp;~&nbsp;<span class="availEddt"></span>
-                </p>
-                <button type="button" class="btn_close_code" onClick="cancelCartCpn()">
+			</div>
+			<div class="od_amount_box">
+				<dl>
+					<div>
+						<dt>상품금액</dt>
+						<dd><em class="sumCurrPrice" th:text="${#numbers.formatInteger(order.sumOrdAmt, 1, 'COMMA')}"></em> 원</dd>
+					</div>
+					<div>
+						<dt>배송비</dt>
+						<dd><em class="totDelvFee" th:text="${#numbers.formatInteger(order.totDelvFee, 1, 'COMMA')}"></em> 원</dd>
+					</div>
+					<div>
+						<dt>할인금액</dt>
+						<dd><span class="disc_amount"><em class="totDcAmt" id="totDcAmt" th:text="${#numbers.formatInteger(order.totDcAmt, 1, 'COMMA')}"></em> 원</span></dd>
+					</div>
+				</dl>
+			</div>
+			<div class="totalprice_box">
+				<dl>
+					<dt>총 결제 예정 금액</dt>
+					<dd data-weight="price" data-font="lato"><span class="sumRealPayAmt" id="sumRealPayAmt" th:text="${#numbers.formatInteger(order.sumRealPayAmt + order.totDelvFee, 1, 'COMMA')}"></span> 원</dd>
+				</dl>
+			</div>
+			<div class="btn_box">
+				<button class="btn btn_primary btn_block btn_md"><span>주문하기</span></button>
+			</div>
+		</div>
+		<div class="area_salecoupon">
+			<h4>할인코드 입력</h4>
+			<div class="form_field">
+				<div class="input_wrap form_full">
+					<label class="input_label sr-only">할인코드입력</label>
+					<input type="text" id="serialCpnNm" class="form_control" placeholder="할인코드를 입력해주세요.">
+				</div>
+				<button type="button" class="btn btn_dark btn_default" onclick="serialCpnApply()"><span>적용</span></button>
+			</div>
+			<div class="coupon_box">
+				<div class="coupon">
+					<div>
+						<p class="cp_name"></p>
+						<p class="cp_cont">
+							<!--<span><em>12,399,900</em>원</span>
+							<span><em>40%</em></span>-->
+							<span class="cp_dc_val"></span>
+						</p>
+						<p class="cp_condition">
+							<!--500,000원 이상 구매 시 최대 50,000원 할인
+							<span><em class="tag">99장 보유</em></span>-->
+						</p>
+					</div>
+					<p class="cp_date">
+						<span class="availStdt"></span>&nbsp;~&nbsp;<span class="availEddt"></span>
+					</p>
+					<button type="button" class="btn_close_code" onClick="cancelCartCpn()">
                     <span>
                         <i class="ico ico_close1"></i>
                         <em class="sr-only">닫기</em>
                     </span>
-                </button>
-            </div>
-            <div class="info_coupon">
-                <button type="button" id="btn_cpinfo_pop">
-                    <span>쿠폰 사용안내</span>
-                </button>
-            </div>
-        </div>
-    </div>
-    <div class="area_saleitem">
-
-    </div>
-</div>
-<div class="clear"></div>
-<!-- // CONT-BODY -->
+					</button>
+				</div>
+				<div class="info_coupon">
+					<button type="button" id="btn_cpinfo_pop">
+						<span>쿠폰 사용안내</span>
+					</button>
+				</div>
+			</div>
+		</div>
+		<div class="area_saleitem">
+
+		</div>
+	</div>
+	<div class="clear"></div>
+	<!-- // CONT-BODY -->
 </form>
 
 <script th:inline="javascript">
-    let sumRealPayAmt = [[${order.sumRealPayAmt + order.totDelvFee}]];
-    let totDcAmt = [[${order.totDcAmt}]];
-
-    function NotApplyTmtbCartList() {
-        let tmtbSq = 0;
-        let tmtbNm = "";
-        let goodsList = {
-            brandNm : "",
-            goodsNm : "",
-            currPrice : 0,
-            imgPath : ""
-        }
-    }
-
-    $(document).ready(function() {
-        let compsList = [];
-
-        let temp = new Object;
-        temp.goodsCd = "STYS000000016";
-        temp.itemCd = '14373757';
-        temp.optCd = "핑크120";
-        temp.goodsQty = 1;
-        temp.goodsType = "G056_S";
-        temp.cartGb = "C";
-        temp.afLinkCd = "afLinkCd";
-        temp.ithrCd = "G027_ZZZ";
-        temp.contentsLoc = "G028_YYY";
-        temp.planDtlSq = "123";
-        compsList.push(temp);
-
-        let temp2 = new Object;
-        temp2.goodsCd = "STYS000000016";
-        temp2.itemCd = '14373758';
-        temp2.optCd = "블랙100";
-        temp2.goodsQty = 1;
-        temp2.goodsType = "G056_S";
-        temp2.cartGb = "C";
-        temp2.afLinkCd = "afLinkCd";
-        temp2.ithrCd = "G027_ZZZ";
-        temp2.contentsLoc = "G028_YYY";
-        temp2.planDtlSq = "123";
-        compsList.push(temp2);
-
-        // cfnAddCart(compsList)
-
-        $("#cartListForm .area_salecoupon .coupon_box").hide();
-        /* TODO 로그인 안했으면 .area_salecoupon (할인코드 입력 부 및 쿠폰정보영역) hide 시킬것 */
-        let loginInfo = [[${loginInfo}]];
-        if(!loginInfo || loginInfo.custNo == null || loginInfo.custNo == 0) {
-            $("#cartListForm .area_salecoupon").hide();
-        }
-
-        // 다다익선 할인 대상(미적용) 리스트
-        notApplyTmtbAreaList();
-    });
-
-    function notApplyTmtbAreaList() {
-        let notApplyQtyTmtbList = new Array();
-        let notApplyAmtTmtbList = new Array();
-
-        // 수량 다다익선 조회
-        $("#cartListForm input[name=qtyTmtbSq]").each(function (index) {
-            if($(this).val() != "0" && $(this).parent().find("input[name=applyQtySectionYn]").val() == "N") {
-                let obj = new Object();
-                obj.tmtbSq = $(this).val();
-                obj.tmtbNm = $(this).parent().find("input[name=qtyTmtbNm]").val();
-                obj.currPrice = $(this).parent().find("input[name=currPrice]").val();
-                obj.goodsNm = $(this).parent().find(".info_box").find(".name").text();
-                obj.brandNm = $(this).parent().find(".info_box").find(".brand").text();
-                obj.imgPath = $(this).parent().find(".info_item").find(".thumb_box img").attr("src");
-
-                notApplyQtyTmtbList.push(obj);
-            }
-
-            if($(this).parent().find("input[name=applyAmtSectionYn]").val() == "N") {       // 다다익선 금액은 기본상품만 가져오면됨 (N은 기본상품에 걸려있음)
-                let obj = new Object();
-                obj.tmtbSq = $(this).parent().find("input[name=amtTmtbSq]").val();
-                obj.tmtbNm = $(this).parent().find("input[name=amtTmtbNm]").val();
-
-                notApplyAmtTmtbList.push(obj);
-            }
-        });
-
-        // 수량 다다익선 정렬
-        var t = new Object();
-        for (let i = 0; i < notApplyQtyTmtbList.length; i++) {
-            for (let j = 0; j < notApplyQtyTmtbList.length - i - 1; j++) {
-                if (notApplyQtyTmtbList[j].tmtbSq > notApplyQtyTmtbList[j + 1].tmtbSq) {
-                    t = notApplyQtyTmtbList[j];
-                    notApplyQtyTmtbList[j] = notApplyQtyTmtbList[j + 1];
-                    notApplyQtyTmtbList[j + 1] = t;
-                }
-            }
-        }
-
-        fnCreateNotApplyTmtbAreaList(notApplyQtyTmtbList, notApplyAmtTmtbList);
-    }
-
-    function fnCreateNotApplyTmtbAreaList(notApplyQtyTmtbList, notApplyAmtTmtbList) {
-        // 정렬 후 같은 다다익선 상품은 한 배열로 묶음
-        let tmtbQtyList = new Array();
-
-        for (let i = 0; i < notApplyQtyTmtbList.length; i++) {
-            let goods = notApplyQtyTmtbList[i];
-            let tmtbInfo = new Object();
-            let chk = false;
-            for (let j = 0; j < tmtbQtyList.length; j++) {
-                let tmtb = tmtbQtyList[j];
-                if (goods.tmtbSq == tmtb.tmtbSq) {
-                    tmtbInfo = tmtbQtyList[j];
-                    chk = true;
-                }
-            }
-
-            // 현재 상품 정보
-            let goodsInfo = new Object();
-            goodsInfo.brandNm = goods.brandNm;
-            goodsInfo.goodsNm = goods.goodsNm;
-            goodsInfo.imgPath = goods.imgPath;
-            goodsInfo.currPrice = goods.currPrice;
-
-            // 현재 상품 정보 다다익선 정보에 세팅
-            if (chk) {
-                tmtbInfo.goodsList.push(goodsInfo);
-            } else {
-                let obj = new Object();
-                obj.tmtbSq = goods.tmtbSq;
-                obj.tmtbNm = goods.tmtbNm;
-                obj.goodsList = new Array();
-                obj.goodsList.push(goodsInfo);
-                tmtbQtyList.push(obj);
-            }
-        }
-
-        // 수량 다다익선 HTML 작성
-        let tmtbHtml = "";
-        for(let i = 0 ; i < tmtbQtyList.length ; i++) {
-            let tmtb = tmtbQtyList[i];
-            tmtbHtml += '<div class="more_sale qtyNotApplyTmtbList">';
-            for(let j = 0 ; j < tmtb.goodsList.length ; j++) {
-                let goods = tmtb.goodsList[j];
-                tmtbHtml += '<div class="item_gd">\n' +
-                        '                <figure>\n' +
-                        '                    <a href="">\n' +
-                        '                        <span class="thumb"><img src="';
-                tmtbHtml += goods.imgPath;
-                tmtbHtml += '" alt=""></span>\n' +
-                        '                    </a>\n' +
-                        '                    <figcaption>\n' +
-                        '                        <a href="">\n' +
-                        '                            <div class="brand">';
-                tmtbHtml += goods.brandNm;
-                tmtbHtml += '</div>\n' +
-                        '                            <div class="name">';
-                tmtbHtml += goods.goodsNm;
-                tmtbHtml += '</div>\n' +
-                        '                            <div class="price">\n' +
-                        '                                <span class="selling_price">';
-                tmtbHtml += Number(goods.currPrice).toLocaleString();
-                tmtbHtml += '</span>\n' +
-                        '                            </div>\n' +
-                        '                        </a>\n' +
-                        '                    </figcaption>\n' +
-                        '                </figure>\n' +
-                        '            </div>';
-            }
-
-            tmtbHtml += '<div class="txt">\n' +
-                    '                <a href="">\n' +
-                    '                    <i class="ico ico_saletag"></i>\n' +
-                    '                    <input type="hidden" name="tmtbSq" value="' + tmtb.tmtbSq + '" />' +
-                    '                    <span>\n';
-            tmtbHtml += tmtb.tmtbNm;
-            tmtbHtml += '</span>\n' +
-                    '                </a>\n' +
-                    '            </div>\n' +
-                    '        </div>';
-        }
-
-        // 금액 다다익선 정보 HTML 작성
-        for(let i = 0 ; i < notApplyAmtTmtbList.length ; i++) {
-            if (notApplyAmtTmtbList[i].tmtbSq != 0) {
-                let tmtb = notApplyAmtTmtbList[i];
-                tmtbHtml += '<div class="more_sale amtNotApplyTmtbList">\n' +
-                        '            <div class="txt">\n' +
-                        '                <a href="">\n' +
-                        '                    <i class="ico ico_saletag"></i>\n' +
-                        '                    <input type="hidden" name="tmtbSq" value="' + tmtb.tmtbSq + '" />' +
-                        '                    <span>';
-                tmtbHtml += tmtb.tmtbNm;
-                tmtbHtml += '</span>\n' +
-                        '                </a>\n' +
-                        '            </div>\n' +
-                        '        </div>';
-            }
-        }
-
-        if(tmtbHtml != "") {
-            tmtbHtml = "<h4>다다익선 할인 대상이 있습니다.</h4>" + tmtbHtml;
-        }
-
-        $(".area_saleitem").html(tmtbHtml);
-    }
-
-    function cancelCartCpn() {
-        $("#cartListForm #sumRealPayAmt").text(Number(sumRealPayAmt).toLocaleString());
-        $("#cartListForm #totDcAmt").text(Number(totDcAmt).toLocaleString());
-        $("#cartListForm .area_salecoupon .coupon_box").hide();
-    }
-
-    function serialCpnApply() {
-        let cartArr = [];
-        let currPrices = [];
-        $("#cartListForm input[name=cartSqArr]:checked").each(function(index, item) {
-            cartArr.push($(this).val());
-            currPrices.push($(this).parents(".cartInfo").find("input[name=tmtbDcAmt]").val());
-        });
-
-        let data = {
-            rdCpnNm : $("#cartListForm #serialCpnNm").val(),
-            cartSqArr : cartArr,
-            currPrices : currPrices
-        }
-
-        let jsonData = JSON.stringify(data);
-
-        $.ajax( {
-            type: "POST",
-            url : '/cart/list/serialCpnApply',
-            contentType: 'application/json',
-            dataType : 'json',
-            data : jsonData,
-            success : function(result) {
-                $("#cartListForm .area_salecoupon .coupon_box").show();
-
-                // 합계 금액
-                $("#cartListForm #sumRealPayAmt").text(Number(sumRealPayAmt - result.serialCpnInfo.dcAmt).toLocaleString());
-                $("#cartListForm #totDcAmt").text(Number(totDcAmt - result.serialCpnInfo.dcAmt).toLocaleString());
-
-                // 쿠폰 정보
-                $("#cartListForm .area_salecoupon .cp_name").text(result.serialCpnInfo.cpnNm);
-                $("#cartListForm .area_salecoupon .cp_condition").html(result.serialCpnInfo.cpnDesc + "<span><em class='tag'>1장 보유</em></span>");
-                $("#cartListForm .area_salecoupon .availStdt").text(result.serialCpnInfo.availStdt);
-                $("#cartListForm .area_salecoupon .availEddt").text(result.serialCpnInfo.availEddt);
-                if(result.serialCpnInfo.dcWay == "G240_10") {
-                    $("#cartListForm .area_salecoupon .cp_dc_val").html( "<em>" + Number(result.serialCpnInfo.dcVal).toLocaleString() + "</em> 원");
-                } else if (result.serialCpnInfo.dcWay == "G240_11") {
-                    $("#cartListForm .area_salecoupon .cp_dc_val").html( "<em>" + result.serialCpnInfo.dcVal + "%</em>");
-                }
-            }
-        });
-    };
-
-    //다다익선 적용내역 보기
-    $(document).on('click','.shopping_bag .part_deliver .btn_moresale',function(e){
-        $(this).toggleClass('active');
-        $(this).parents('.od_moresale').find('.li_moresale').toggle();
-        return false;
-    });
-
-    //관심상품 등록
-    $(document).on('click','.shopping_bag .part_deliver .btn_favorite',function(e){
-        $(this).toggleClass('active');
-        return false;
-    });
-
-    function deleteCart(gbn) {
-        let cartArr = [];
-        if(gbn == "WMS_SELECT") {
-            $("#cartListForm .wmsList input[name=cartSqArr]:checked").each(function () {
-                cartArr.push($(this).val());
-            });
-
-            if(!confirm("총 " + cartArr.length + "개의 상품을 삭제합니다.")) {
-                return false;
-            }
-        } else if(gbn == "DELV_SELECT") {
-            $("#cartListForm .delvList input[name=cartSqArr]:checked").each(function () {
-                cartArr.push($(this).val());
-            });
-
-            if(!confirm("총 " + cartArr.length + "개의 상품을 삭제합니다.")) {
-                return false;
-            }
-        } else if(gbn == "WMS_ALL") {
-            $("#cartListForm .wmsList input[name=cartSqArr]").each(function() {
-                cartArr.push($(this).val());
-            });
-
-            if(!confirm("총알배송상품을 전부 삭제하시겠습니까?")) {
-                return false;
-            }
-        } else if(gbn == "DELV_ALL") {
-            $("#cartListForm .delvList input[name=cartSqArr]").each(function() {
-                cartArr.push($(this).val());
-            });
-
-            if(!confirm("업체직배송 상품을 전부 삭제하시겠습니까?")) {
-                return false;
-            }
-        } else {
-            cartArr.push(gbn);
-        }
-
-        if(cartArr.length < 1) {
-            alert("삭제하실 상품을 선택해 주세요.");
-            return false;
-        }
-
-        let data = {
-            cartSqArr : cartArr
-        }
-
-        let jsonData = JSON.stringify(data);
-
-        $.ajax( {
-            type: "POST",
-            url : '/cart/deleteCart',
-            contentType: 'application/json',
-            dataType : 'json',
-            data : jsonData,
-            success : function(result) {
-                alert("삭제 되었습니다.");
-                getCartList();
-            }
-        });
-    }
-
-    //쿠폰사용안내 팝업열기
-    $(document).on('click','#btn_cpinfo_pop',function(e){
-        $("#cpinfoPop").modal("show");
-        return false;
-    });
-
-    $("input[name=cartSqArr]").on("change", function(e) {
-        let cartArr = [];
-
-        // 선택된 장바구니 번호
-        $("#cartListForm input[name=cartSqArr]:checked").each(function () {
-            cartArr.push($(this).val());
-        });
-
-        // 선택된 장바구니 정보 가공
-        let data = {    cartSqArr : cartArr }
-        let jsonData = JSON.stringify(data);
-
-        $.ajax( {
-            type: "POST",
-            url : '/cart/change/goods/list',
-            contentType: 'application/json',
-            dataType : 'json',
-            data : jsonData,
-            success : function(result) {
-                fnChangeCartListInfo(result);
-            }
-        });
-    });
-
-    function fnChangeCartListInfo(order) {
-        let wmsList = order.wmsCartList;
-        let delvList = order.delvCartList;
-        let cartList = new Array();
-
-        // 다다익선 정보 숨김
-        $("#cartListForm .applyTmtb").hide();
-        $("#cartListForm .notApplyTmtb").hide();
-
-        // 장바구니 각 상품 가격 정보 할인 전으로 변경
-        $("#cartListForm .cartInfo input[name=cartSq]").each(function() {
-            if($(this).parent().find(".info_calc .price > del").text() != "") {
-                $(this).parent().find(".info_calc .selling_price").text($(this).parent().find(".info_calc .price > del").text());
-                $(this).parent().find(".info_calc .price > del").remove();
-            }
-        });
-        $("#cartListForm").find(".delvFeeArea").html("<div class='info_dlvr'><span class='dlvr_fee'>배송비 무료</span></div>");
-
-        for(let i = 0 ; i < wmsList.length ; i++) {
-            cartList.push(wmsList[i]);
-            $("#cartListForm .wmsCartInfo input[name=cartSq]").each(function() {
-                if(wmsList[i].cartSq == $(this).val()) {
-                    let wms = wmsList[i];
-                    // $(this).parent().find(".thumb_box img").attr("src", result.imgPath1 + "/" + wms.sysImgNm);
-                    $(this).parent().find(".od_moresale .applyTmtbNm > ul").html("");
-                    $(this).parent().find(".od_moresale .notApplyTmtbNm > ul").html("");
-
-                    // 다다익선 적용 정보 생성성
-                    if(wms.qtyTmtbSq > 0 && wms.applyQtySectionYn == "Y") {
-                        $(this).parent().find(".applyTmtb .applyTmtbNm > ul").append("<li>" + wms.qtyTmtbNm + "</li>");
-                        $(this).parent().find(".applyTmtb").show();
-                    }
-                    if(wms.amtTmtbSq > 0 && wms.applyAmtSectionYn == "Y") {
-                        $(this).parent().find(".applyTmtb .applyTmtbNm > ul").append("<li>" + wms.amtTmtbNm + "</li>");
-                        $(this).parent().find(".applyTmtb").show();
-                    }
-                    if(wms.qtyTmtbSq > 0 && wms.applyQtySectionYn == "N") {
-                        $(this).parent().find(".notApplyTmtb .notApplyTmtbNm > ul").append("<li>" + wms.qtyTmtbNm + "<a href=''>대상 상품 보기</a></li>");
-                        $(this).parent().find(".notApplyTmtb").show();
-                    }
-                    if(wms.amtTmtbSq > 0 && wms.applyAmtSectionYn == "N") {
-                        $(this).parent().find(".notApplyTmtb .notApplyTmtbNm > ul").append("<li>" + wms.amtTmtbNm + "<a href=''>대상 상품 보기</a></li>");
-                        $(this).parent().find(".notApplyTmtb").show();
-                    }
-
-                    // 다다익선 할인가 적용
-                    if(wms.tmtbDcAmt < wms.currPrice) {
-                        $(this).parent().find(".info_calc .selling_price").text(Number(wms.tmtbDcAmt).toLocaleString() + " 원");
-                        $(this).parent().find(".info_calc .price").append("<del>" + Number(wms.currPrice).toLocaleString() + " 원</del>");
-                    }
-
-                    if(wms.delvFee == 0) {
-                        $(".wmsList").find(".delv_" + wms.delvFeeCd).html("<div class='info_dlvr'><span class='dlvr_fee'>배송비 무료</span></div>");
-                    } else {
-                        let html = "<div class='info_dlvr'><span class='dlvr_fee'>" + Number(wms.delvFee).toLocaleString() + " 원</span><a href='#' target='_black'>배송비 SAVE 상품 보기</a></div>";
-                        $(".wmsList").find(".delv_" + wms.delvFeeCd).html(html);
-                        // $(".wmsList").find(".delv_" + wms.delvFeeCd).append("<span class='dlvr_shop'>" + wms.supplyCompNm + " 업체직배송</span>");
-
-                    }
-                }
-            });
-        }
-
-        for(let i = 0 ; i < delvList.length ; i++) {
-            cartList.push(delvList[i]);
-            $("#cartListForm .delvCartInfo input[name=cartSq]").each(function() {
-                if(delvList[i].cartSq == $(this).val()) {
-                    let delv = delvList[i];
-                    // $(this).parent().find(".thumb_box img").attr("src", result.imgPath1 + "/" + wms.sysImgNm);
-                    $(this).parent().find(".od_moresale .applyTmtbNm > ul").html("");
-                    $(this).parent().find(".od_moresale .notApplyTmtbNm > ul").html("");
-
-                    // 다다익선 적용 정보 생성성
-                    if(delv.qtyTmtbSq > 0 && delv.applyQtySectionYn == "Y") {
-                        $(this).parent().find(".applyTmtb .applyTmtbNm > ul").append("<li>" + delv.qtyTmtbNm + "</li>");
-                        $(this).parent().find(".applyTmtb").show();
-                    }
-                    if(delv.amtTmtbSq > 0 && delv.applyAmtSectionYn == "Y") {
-                        $(this).parent().find(".applyTmtb .applyTmtbNm > ul").append("<li>" + delv.amtTmtbNm + "</li>");
-                        $(this).parent().find(".applyTmtb").show();
-                    }
-                    if(delv.qtyTmtbSq > 0 && delv.applyQtySectionYn == "N") {
-                        $(this).parent().find(".notApplyTmtb .notApplyTmtbNm > ul").append("<li>" + delv.qtyTmtbNm + "<a href=''>대상 상품 보기</a></li>");
-                        $(this).parent().find(".notApplyTmtb").show();
-                    }
-                    if(delv.amtTmtbSq > 0 && delv.applyAmtSectionYn == "N") {
-                        $(this).parent().find(".notApplyTmtb .notApplyTmtbNm > ul").append("<li>" + delv.amtTmtbNm + "<a href=''>대상 상품 보기</a></li>");
-                        $(this).parent().find(".notApplyTmtb").show();
-                    }
-
-                    // 다다익선 할인가 적용
-                    if(delv.tmtbDcAmt < delv.currPrice) {
-                        $(this).parent().find(".info_calc .selling_price").text(Number(delv.tmtbDcAmt).toLocaleString() + " 원");
-                        $(this).parent().find(".info_calc .price").append("<del>" + Number(delv.currPrice).toLocaleString() + " 원</del>");
-                    }
-
-                    if(delv.delvFee == 0) {
-                        $(".delvList").find(".delv_" + delv.delvFeeCd).html("<div class='info_dlvr'><span class='dlvr_fee'>배송비 무료</span></div>");
-                    } else {
-                        let html = "<div class='info_dlvr'><span class='dlvr_fee'>" + Number(delv.delvFee).toLocaleString() + " 원</span><span class='dlvr_shop'>" + delv.supplyCompNm + " 업체직배송</span><a href='#' target='_black'>배송비 SAVE 상품 보기</a></div>";
-                        $(".delvList").find(".delv_" + delv.delvFeeCd).html(html);
-                    }
-                }
-            });
-        }
-
-        // 결제 총액 영역 수정
-        $("#cartListForm .sumCurrPrice").text(Number(order.sumOrdAmt).toLocaleString());
-        $("#cartListForm .totDelvFee").text(Number(order.totDelvFee).toLocaleString());
-        sumRealPayAmt = order.sumRealPayAmt + order.totDelvFee;
-        totDcAmt = order.totDcAmt;
-
-        // 할인코드 쿠폰 금액 재확인
-        if($("#cartListForm #serialCpnNm").val()) {
-            alert(1);
-            serialCpnApply();
-        } else {
-            $("#cartListForm .totDcAmt").text(Number(order.totDcAmt).toLocaleString());
-            $("#cartListForm .sumRealPayAmt").text(Number(order.sumRealPayAmt + order.totDelvFee).toLocaleString());
-            cancelCartCpn();
-        }
-
-        let notApplyQtyTmtbList = new Array();
-        let notApplyAmtTmtbList = new Array();
-        for(let i = 0 ; i < cartList.length ; i++) {
-            let cart = cartList[i];
-            if(cart.applyQtySectionYn == "N") {
-                let obj = new Object();
-                obj.tmtbSq = cart.qtyTmtbSq;
-                obj.tmtbNm = cart.qtyTmtbNm;
-                obj.currPrice = cart.currPrice;
-                obj.goodsNm = cart.goodsNm;
-                obj.brandNm = cart.brandNm;
-                obj.imgPath = order.imgPath1 + "/" + cart.sysImgNm;
-
-                notApplyQtyTmtbList.push(obj);
-            }
-
-            if(cart.applyAmtSectionYn == "N") {
-                let obj = new Object();
-                obj.tmtbSq = cart.amtTmtbSq;
-                obj.tmtbNm = cart.amtTmtbNm;
-
-                notApplyAmtTmtbList.push(obj);
-            }
-        }
-
-        // 수량 다다익선 정렬
-        var t = new Object();
-        for (let i = 0; i < notApplyQtyTmtbList.length; i++) {
-            for (let j = 0; j < notApplyQtyTmtbList.length - i - 1; j++) {
-                if (notApplyQtyTmtbList[j].tmtbSq > notApplyQtyTmtbList[j + 1].tmtbSq) {
-                    t = notApplyQtyTmtbList[j];
-                    notApplyQtyTmtbList[j] = notApplyQtyTmtbList[j + 1];
-                    notApplyQtyTmtbList[j + 1] = t;
-                }
-            }
-        }
-
-        // 다다익선 적용 대상 상품 노출
-        fnCreateNotApplyTmtbAreaList(notApplyQtyTmtbList, notApplyAmtTmtbList);
-    }
-
-    //옵션변경 팝업열기
-    $(document).on('click','.btn_opt_pop',function(e){
-        $("#optModifyPop").modal("show");
-        return false;
-    });
-
-    //상품옵션변경 팝업 > 수량조절
-    $(document).on('click','.opt_modify_pop .number_count .minus',function(e){
-        var $input = $(this).parent().find('input');
-        var count = parseInt($input.val()) - 1;
-        count = count < 1 ? 1 : count;
-        $input.val(count);
-        $input.change();
-        return false;
-    }).on('click','.opt_modify_pop .number_count .plus',function(e){
-        var $input = $(this).parent().find('input');
-        $input.val(parseInt($input.val()) + 1);
-        $input.change();
-        return false;
-    });
-
-    //상품옵션변경 팝업 > 컬러선택 표기
-    $(document).on('click','.opt_modify_pop .opt_color ul li a',function(e){
-        $(this).parents('.opt_color').find('li a').removeClass('on');
-        $(this).addClass('on');
-        var optColor = $('.opt_modify_pop .opt_color ul li a.on img').attr('alt');
-        $('.opt_modify_pop .opt_color .opt_header .color').text(optColor);
-        return false;
-    });
+	let sumRealPayAmt = [[${order.sumRealPayAmt + order.totDelvFee}]];
+	let totDcAmt = [[${order.totDcAmt}]];
+
+	function NotApplyTmtbCartList() {
+		let tmtbSq = 0;
+		let tmtbNm = "";
+		let goodsList = {
+			brandNm : "",
+			goodsNm : "",
+			currPrice : 0,
+			imgPath : ""
+		}
+	}
+
+	$(document).ready(function() {
+		$("#cartListForm .area_salecoupon .coupon_box").hide();
+		/* TODO 로그인 안했으면 .area_salecoupon (할인코드 입력 부 및 쿠폰정보영역) hide 시킬것 */
+		let loginInfo = [[${loginInfo}]];
+		if(!loginInfo || loginInfo.custNo == null || loginInfo.custNo == 0) {
+			$("#cartListForm .area_salecoupon").hide();
+		}
+
+		// 다다익선 할인 대상(미적용) 리스트
+		notApplyTmtbAreaList();
+	});
+
+	function notApplyTmtbAreaList() {
+		let notApplyQtyTmtbList = new Array();
+		let notApplyAmtTmtbList = new Array();
+
+		// 수량 다다익선 조회
+		$("#cartListForm input[name=qtyTmtbSq]").each(function (index) {
+			if($(this).val() != "0" && $(this).parent().find("input[name=applyQtySectionYn]").val() == "N") {
+				let obj = new Object();
+				obj.tmtbSq = $(this).val();
+				obj.tmtbNm = $(this).parent().find("input[name=qtyTmtbNm]").val();
+				obj.currPrice = $(this).parent().find("input[name=currPrice]").val();
+				obj.goodsNm = $(this).parent().find(".info_box").find(".name").text();
+				obj.brandNm = $(this).parent().find(".info_box").find(".brand").text();
+				obj.imgPath = $(this).parent().find(".info_item").find(".thumb_box img").attr("src");
+
+				notApplyQtyTmtbList.push(obj);
+			}
+
+			if($(this).parent().find("input[name=applyAmtSectionYn]").val() == "N") {       // 다다익선 금액은 기본상품만 가져오면됨 (N은 기본상품에 걸려있음)
+				let obj = new Object();
+				obj.tmtbSq = $(this).parent().find("input[name=amtTmtbSq]").val();
+				obj.tmtbNm = $(this).parent().find("input[name=amtTmtbNm]").val();
+
+				notApplyAmtTmtbList.push(obj);
+			}
+		});
+
+		// 수량 다다익선 정렬
+		var t = new Object();
+		for (let i = 0; i < notApplyQtyTmtbList.length; i++) {
+			for (let j = 0; j < notApplyQtyTmtbList.length - i - 1; j++) {
+				if (notApplyQtyTmtbList[j].tmtbSq > notApplyQtyTmtbList[j + 1].tmtbSq) {
+					t = notApplyQtyTmtbList[j];
+					notApplyQtyTmtbList[j] = notApplyQtyTmtbList[j + 1];
+					notApplyQtyTmtbList[j + 1] = t;
+				}
+			}
+		}
+
+		fnCreateNotApplyTmtbAreaList(notApplyQtyTmtbList, notApplyAmtTmtbList);
+	}
+
+	function fnCreateNotApplyTmtbAreaList(notApplyQtyTmtbList, notApplyAmtTmtbList) {
+		// 정렬 후 같은 다다익선 상품은 한 배열로 묶음
+		let tmtbQtyList = new Array();
+
+		for (let i = 0; i < notApplyQtyTmtbList.length; i++) {
+			let goods = notApplyQtyTmtbList[i];
+			let tmtbInfo = new Object();
+			let chk = false;
+			for (let j = 0; j < tmtbQtyList.length; j++) {
+				let tmtb = tmtbQtyList[j];
+				if (goods.tmtbSq == tmtb.tmtbSq) {
+					tmtbInfo = tmtbQtyList[j];
+					chk = true;
+				}
+			}
+
+			// 현재 상품 정보
+			let goodsInfo = new Object();
+			goodsInfo.brandNm = goods.brandNm;
+			goodsInfo.goodsNm = goods.goodsNm;
+			goodsInfo.imgPath = goods.imgPath;
+			goodsInfo.currPrice = goods.currPrice;
+
+			// 현재 상품 정보 다다익선 정보에 세팅
+			if (chk) {
+				tmtbInfo.goodsList.push(goodsInfo);
+			} else {
+				let obj = new Object();
+				obj.tmtbSq = goods.tmtbSq;
+				obj.tmtbNm = goods.tmtbNm;
+				obj.goodsList = new Array();
+				obj.goodsList.push(goodsInfo);
+				tmtbQtyList.push(obj);
+			}
+		}
+
+		// 수량 다다익선 HTML 작성
+		let tmtbHtml = "";
+		for(let i = 0 ; i < tmtbQtyList.length ; i++) {
+			let tmtb = tmtbQtyList[i];
+			tmtbHtml += '<div class="more_sale qtyNotApplyTmtbList">';
+			for(let j = 0 ; j < tmtb.goodsList.length ; j++) {
+				let goods = tmtb.goodsList[j];
+				tmtbHtml += '<div class="item_gd">\n' +
+					'                <figure>\n' +
+					'                    <a href="">\n' +
+					'                        <span class="thumb"><img src="';
+				tmtbHtml += goods.imgPath;
+				tmtbHtml += '" alt=""></span>\n' +
+					'                    </a>\n' +
+					'                    <figcaption>\n' +
+					'                        <a href="">\n' +
+					'                            <div class="brand">';
+				tmtbHtml += goods.brandNm;
+				tmtbHtml += '</div>\n' +
+					'                            <div class="name">';
+				tmtbHtml += goods.goodsNm;
+				tmtbHtml += '</div>\n' +
+					'                            <div class="price">\n' +
+					'                                <span class="selling_price">';
+				tmtbHtml += Number(goods.currPrice).toLocaleString();
+				tmtbHtml += '</span>\n' +
+					'                            </div>\n' +
+					'                        </a>\n' +
+					'                    </figcaption>\n' +
+					'                </figure>\n' +
+					'            </div>';
+			}
+
+			tmtbHtml += '<div class="txt">\n' +
+				'                <a href="">\n' +
+				'                    <i class="ico ico_saletag"></i>\n' +
+				'                    <input type="hidden" name="tmtbSq" value="' + tmtb.tmtbSq + '" />' +
+				'                    <span>\n';
+			tmtbHtml += tmtb.tmtbNm;
+			tmtbHtml += '</span>\n' +
+				'                </a>\n' +
+				'            </div>\n' +
+				'        </div>';
+		}
+
+		// 금액 다다익선 정보 HTML 작성
+		for(let i = 0 ; i < notApplyAmtTmtbList.length ; i++) {
+			if (notApplyAmtTmtbList[i].tmtbSq != 0) {
+				let tmtb = notApplyAmtTmtbList[i];
+				tmtbHtml += '<div class="more_sale amtNotApplyTmtbList">\n' +
+					'            <div class="txt">\n' +
+					'                <a href="">\n' +
+					'                    <i class="ico ico_saletag"></i>\n' +
+					'                    <input type="hidden" name="tmtbSq" value="' + tmtb.tmtbSq + '" />' +
+					'                    <span>';
+				tmtbHtml += tmtb.tmtbNm;
+				tmtbHtml += '</span>\n' +
+					'                </a>\n' +
+					'            </div>\n' +
+					'        </div>';
+			}
+		}
+
+		if(tmtbHtml != "") {
+			tmtbHtml = "<h4>다다익선 할인 대상이 있습니다.</h4>" + tmtbHtml;
+		}
+
+		$(".area_saleitem").html(tmtbHtml);
+	}
+
+	function cancelCartCpn() {
+		$("#cartListForm #sumRealPayAmt").text(Number(sumRealPayAmt).toLocaleString());
+		$("#cartListForm #totDcAmt").text(Number(totDcAmt).toLocaleString());
+		$("#cartListForm .area_salecoupon .coupon_box").hide();
+	}
+
+	function serialCpnApply() {
+		let cartArr = [];
+		let currPrices = [];
+		$("#cartListForm input[name=cartSqArr]:checked").each(function(index, item) {
+			cartArr.push($(this).val());
+			currPrices.push($(this).parents(".cartInfo").find("input[name=tmtbDcAmt]").val());
+		});
+
+		let data = {
+			rdCpnNm : $("#cartListForm #serialCpnNm").val(),
+			cartSqArr : cartArr,
+			currPrices : currPrices
+		}
+
+		let jsonData = JSON.stringify(data);
+
+		$.ajax( {
+			type: "POST",
+			url : '/cart/list/serialCpnApply',
+			contentType: 'application/json',
+			dataType : 'json',
+			data : jsonData,
+			success : function(result) {
+				$("#cartListForm .area_salecoupon .coupon_box").show();
+
+				// 합계 금액
+				$("#cartListForm #sumRealPayAmt").text(Number(sumRealPayAmt - result.serialCpnInfo.dcAmt).toLocaleString());
+				$("#cartListForm #totDcAmt").text(Number(totDcAmt - result.serialCpnInfo.dcAmt).toLocaleString());
+
+				// 쿠폰 정보
+				$("#cartListForm .area_salecoupon .cp_name").text(result.serialCpnInfo.cpnNm);
+				$("#cartListForm .area_salecoupon .cp_condition").html(result.serialCpnInfo.cpnDesc + "<span><em class='tag'>1장 보유</em></span>");
+				$("#cartListForm .area_salecoupon .availStdt").text(result.serialCpnInfo.availStdt);
+				$("#cartListForm .area_salecoupon .availEddt").text(result.serialCpnInfo.availEddt);
+				if(result.serialCpnInfo.dcWay == "G240_10") {
+					$("#cartListForm .area_salecoupon .cp_dc_val").html( "<em>" + Number(result.serialCpnInfo.dcVal).toLocaleString() + "</em> 원");
+				} else if (result.serialCpnInfo.dcWay == "G240_11") {
+					$("#cartListForm .area_salecoupon .cp_dc_val").html( "<em>" + result.serialCpnInfo.dcVal + "%</em>");
+				}
+			}
+		});
+	};
+
+	//다다익선 적용내역 보기
+	$(document).on('click','.shopping_bag .part_deliver .btn_moresale',function(e){
+		$(this).toggleClass('active');
+		$(this).parents('.od_moresale').find('.li_moresale').toggle();
+		return false;
+	});
+
+	//관심상품 등록
+	$(document).on('click','.shopping_bag .part_deliver .btn_favorite',function(e){
+		$(this).toggleClass('active');
+		return false;
+	});
+
+	function deleteCartAjax(cartArr) {
+		if(cartArr.length < 1) {
+			mcxDialog.alert("삭제하실 상품을 선택해 주세요.");
+			return false;
+		}
+
+		let data = {
+			cartSqArr : cartArr
+		}
+
+		let jsonData = JSON.stringify(data);
+
+		$.ajax( {
+			type: "POST",
+			url : '/cart/deleteCart',
+			contentType: 'application/json',
+			dataType : 'json',
+			data : jsonData,
+			success : function(result) {
+				mcxDialog.alert("삭제 되었습니다.");
+				getCartList();
+			}
+		});
+	}
+
+	function deleteCart(gbn) {
+		let cartArr = [];
+		let confirmMessage = "";
+		if(gbn == "WMS_SELECT") {
+			$("#cartListForm .wmsList input[name=cartSqArr]:checked").each(function () {
+				cartArr.push($(this).val());
+			});
+
+			confirmMessage = "총 " + cartArr.length + "개의 상품을 삭제합니다.";
+		} else if(gbn == "DELV_SELECT") {
+			$("#cartListForm .delvList input[name=cartSqArr]:checked").each(function () {
+				cartArr.push($(this).val());
+			});
+
+			confirmMessage = "총 " + cartArr.length + "개의 상품을 삭제합니다.";
+		} else if(gbn == "WMS_ALL") {
+			$("#cartListForm .wmsList input[name=cartSqArr]").each(function() {
+				cartArr.push($(this).val());
+			});
+
+			confirmMessage = "총알배송상품을 전부 삭제하시겠습니까?";
+		} else if(gbn == "DELV_ALL") {
+			$("#cartListForm .delvList input[name=cartSqArr]").each(function() {
+				cartArr.push($(this).val());
+			});
+
+			confirmMessage = "업체직배송 상품을 전부 삭제하시겠습니까?";
+		} else {
+			cartArr.push(gbn);
+			deleteCartAjax(cartArr);
+			return false;
+		}
+
+		mcxDialog.confirm(confirmMessage, {
+			cancelBtnText: "취소/닫기",		//취소 또는 닫기 버튼명
+			sureBtnText  : "확인",				//처리문 버튼명
+			sureBtnClick : function () {
+				deleteCartAjax(cartArr);
+			}
+		});
+	}
+
+	//쿠폰사용안내 팝업열기
+	$(document).on('click','#btn_cpinfo_pop',function(e){
+		$("#cpinfoPop").modal("show");
+		return false;
+	});
+
+	$("input[name=cartSqArr]").on("change", function(e) {
+		let cartArr = [];
+
+		// 선택된 장바구니 번호
+		$("#cartListForm input[name=cartSqArr]:checked").each(function () {
+			cartArr.push($(this).val());
+		});
+
+		// 선택된 장바구니 정보 가공
+		let data = {    cartSqArr : cartArr }
+		let jsonData = JSON.stringify(data);
+
+		$.ajax( {
+			type: "POST",
+			url : '/cart/change/goods/list',
+			contentType: 'application/json',
+			dataType : 'json',
+			data : jsonData,
+			success : function(result) {
+				fnChangeCartListInfo(result);
+			}
+		});
+	});
+
+	function fnChangeCartListInfo(order) {
+		let wmsList = order.wmsCartList;
+		let delvList = order.delvCartList;
+		let cartList = new Array();
+
+		// 다다익선 정보 숨김
+		$("#cartListForm .applyTmtb").hide();
+		$("#cartListForm .notApplyTmtb").hide();
+
+		// 장바구니 각 상품 가격 정보 할인 전으로 변경
+		$("#cartListForm .cartInfo input[name=cartSq]").each(function() {
+			if($(this).parent().find(".info_calc .price > del").text() != "") {
+				$(this).parent().find(".info_calc .selling_price").text($(this).parent().find(".info_calc .price > del").text());
+				$(this).parent().find(".info_calc .price > del").remove();
+			}
+		});
+		$("#cartListForm").find(".delvFeeArea").html("<div class='info_dlvr'><span class='dlvr_fee'>배송비 무료</span></div>");
+
+		for(let i = 0 ; i < wmsList.length ; i++) {
+			cartList.push(wmsList[i]);
+			$("#cartListForm .wmsCartInfo input[name=cartSq]").each(function() {
+				if(wmsList[i].cartSq == $(this).val()) {
+					let wms = wmsList[i];
+					// $(this).parent().find(".thumb_box img").attr("src", result.imgPath1 + "/" + wms.sysImgNm);
+					$(this).parent().find(".od_moresale .applyTmtbNm > ul").html("");
+					$(this).parent().find(".od_moresale .notApplyTmtbNm > ul").html("");
+
+					// 다다익선 적용 정보 생성성
+					if(wms.qtyTmtbSq > 0 && wms.applyQtySectionYn == "Y") {
+						$(this).parent().find(".applyTmtb .applyTmtbNm > ul").append("<li>" + wms.qtyTmtbNm + "</li>");
+						$(this).parent().find(".applyTmtb").show();
+					}
+					if(wms.amtTmtbSq > 0 && wms.applyAmtSectionYn == "Y") {
+						$(this).parent().find(".applyTmtb .applyTmtbNm > ul").append("<li>" + wms.amtTmtbNm + "</li>");
+						$(this).parent().find(".applyTmtb").show();
+					}
+					if(wms.qtyTmtbSq > 0 && wms.applyQtySectionYn == "N") {
+						$(this).parent().find(".notApplyTmtb .notApplyTmtbNm > ul").append("<li>" + wms.qtyTmtbNm + "<a href=''>대상 상품 보기</a></li>");
+						$(this).parent().find(".notApplyTmtb").show();
+					}
+					if(wms.amtTmtbSq > 0 && wms.applyAmtSectionYn == "N") {
+						$(this).parent().find(".notApplyTmtb .notApplyTmtbNm > ul").append("<li>" + wms.amtTmtbNm + "<a href=''>대상 상품 보기</a></li>");
+						$(this).parent().find(".notApplyTmtb").show();
+					}
+
+					// 다다익선 할인가 적용
+					if(wms.tmtbDcAmt < wms.currPrice) {
+						$(this).parent().find(".info_calc .selling_price").text(Number(wms.tmtbDcAmt).toLocaleString() + " 원");
+						$(this).parent().find(".info_calc .price").append("<del>" + Number(wms.currPrice).toLocaleString() + " 원</del>");
+					}
+
+					if(wms.delvFee == 0) {
+						$(".wmsList").find(".delv_" + wms.delvFeeCd).html("<div class='info_dlvr'><span class='dlvr_fee'>배송비 무료</span></div>");
+					} else {
+						let html = "<div class='info_dlvr'><span class='dlvr_fee'>" + Number(wms.delvFee).toLocaleString() + " 원</span><a href='#' target='_black'>배송비 SAVE 상품 보기</a></div>";
+						$(".wmsList").find(".delv_" + wms.delvFeeCd).html(html);
+						// $(".wmsList").find(".delv_" + wms.delvFeeCd).append("<span class='dlvr_shop'>" + wms.supplyCompNm + " 업체직배송</span>");
+
+					}
+				}
+			});
+		}
+
+		for(let i = 0 ; i < delvList.length ; i++) {
+			cartList.push(delvList[i]);
+			$("#cartListForm .delvCartInfo input[name=cartSq]").each(function() {
+				if(delvList[i].cartSq == $(this).val()) {
+					let delv = delvList[i];
+					// $(this).parent().find(".thumb_box img").attr("src", result.imgPath1 + "/" + wms.sysImgNm);
+					$(this).parent().find(".od_moresale .applyTmtbNm > ul").html("");
+					$(this).parent().find(".od_moresale .notApplyTmtbNm > ul").html("");
+
+					// 다다익선 적용 정보 생성성
+					if(delv.qtyTmtbSq > 0 && delv.applyQtySectionYn == "Y") {
+						$(this).parent().find(".applyTmtb .applyTmtbNm > ul").append("<li>" + delv.qtyTmtbNm + "</li>");
+						$(this).parent().find(".applyTmtb").show();
+					}
+					if(delv.amtTmtbSq > 0 && delv.applyAmtSectionYn == "Y") {
+						$(this).parent().find(".applyTmtb .applyTmtbNm > ul").append("<li>" + delv.amtTmtbNm + "</li>");
+						$(this).parent().find(".applyTmtb").show();
+					}
+					if(delv.qtyTmtbSq > 0 && delv.applyQtySectionYn == "N") {
+						$(this).parent().find(".notApplyTmtb .notApplyTmtbNm > ul").append("<li>" + delv.qtyTmtbNm + "<a href=''>대상 상품 보기</a></li>");
+						$(this).parent().find(".notApplyTmtb").show();
+					}
+					if(delv.amtTmtbSq > 0 && delv.applyAmtSectionYn == "N") {
+						$(this).parent().find(".notApplyTmtb .notApplyTmtbNm > ul").append("<li>" + delv.amtTmtbNm + "<a href=''>대상 상품 보기</a></li>");
+						$(this).parent().find(".notApplyTmtb").show();
+					}
+
+					// 다다익선 할인가 적용
+					if(delv.tmtbDcAmt < delv.currPrice) {
+						$(this).parent().find(".info_calc .selling_price").text(Number(delv.tmtbDcAmt).toLocaleString() + " 원");
+						$(this).parent().find(".info_calc .price").append("<del>" + Number(delv.currPrice).toLocaleString() + " 원</del>");
+					}
+
+					if(delv.delvFee == 0) {
+						$(".delvList").find(".delv_" + delv.delvFeeCd).html("<div class='info_dlvr'><span class='dlvr_fee'>배송비 무료</span></div>");
+					} else {
+						let html = "<div class='info_dlvr'><span class='dlvr_fee'>" + Number(delv.delvFee).toLocaleString() + " 원</span><span class='dlvr_shop'>" + delv.supplyCompNm + " 업체직배송</span><a href='#' target='_black'>배송비 SAVE 상품 보기</a></div>";
+						$(".delvList").find(".delv_" + delv.delvFeeCd).html(html);
+					}
+				}
+			});
+		}
+
+		// 결제 총액 영역 수정
+		$("#cartListForm .sumCurrPrice").text(Number(order.sumOrdAmt).toLocaleString());
+		$("#cartListForm .totDelvFee").text(Number(order.totDelvFee).toLocaleString());
+		sumRealPayAmt = order.sumRealPayAmt + order.totDelvFee;
+		totDcAmt = order.totDcAmt;
+
+		// 할인코드 쿠폰 금액 재확인
+		if($("#cartListForm #serialCpnNm").val()) {
+			serialCpnApply();
+		} else {
+			$("#cartListForm .totDcAmt").text(Number(order.totDcAmt).toLocaleString());
+			$("#cartListForm .sumRealPayAmt").text(Number(order.sumRealPayAmt + order.totDelvFee).toLocaleString());
+			cancelCartCpn();
+		}
+
+		let notApplyQtyTmtbList = new Array();
+		let notApplyAmtTmtbList = new Array();
+		for(let i = 0 ; i < cartList.length ; i++) {
+			let cart = cartList[i];
+			if(cart.applyQtySectionYn == "N") {
+				let obj = new Object();
+				obj.tmtbSq = cart.qtyTmtbSq;
+				obj.tmtbNm = cart.qtyTmtbNm;
+				obj.currPrice = cart.currPrice;
+				obj.goodsNm = cart.goodsNm;
+				obj.brandNm = cart.brandNm;
+				obj.imgPath = order.imgPath1 + "/" + cart.sysImgNm;
+
+				notApplyQtyTmtbList.push(obj);
+			}
+
+			if(cart.applyAmtSectionYn == "N") {
+				let obj = new Object();
+				obj.tmtbSq = cart.amtTmtbSq;
+				obj.tmtbNm = cart.amtTmtbNm;
+
+				notApplyAmtTmtbList.push(obj);
+			}
+		}
+
+		// 수량 다다익선 정렬
+		var t = new Object();
+		for (let i = 0; i < notApplyQtyTmtbList.length; i++) {
+			for (let j = 0; j < notApplyQtyTmtbList.length - i - 1; j++) {
+				if (notApplyQtyTmtbList[j].tmtbSq > notApplyQtyTmtbList[j + 1].tmtbSq) {
+					t = notApplyQtyTmtbList[j];
+					notApplyQtyTmtbList[j] = notApplyQtyTmtbList[j + 1];
+					notApplyQtyTmtbList[j + 1] = t;
+				}
+			}
+		}
+
+		// 다다익선 적용 대상 상품 노출
+		fnCreateNotApplyTmtbAreaList(notApplyQtyTmtbList, notApplyAmtTmtbList);
+	}
+
+	//옵션변경 팝업열기
+	$(document).on('click','.btn_opt_pop',function(e){
+		$("#optModifyPop").modal("show");
+		return false;
+	});
+
+	//상품옵션변경 팝업 > 수량조절
+	$(document).on('click','.opt_modify_pop .number_count .minus',function(e){
+		var $input = $(this).parent().find('input');
+		var count = parseInt($input.val()) - 1;
+		count = count < 1 ? 1 : count;
+		$input.val(count);
+		$input.change();
+		return false;
+	}).on('click','.opt_modify_pop .number_count .plus',function(e){
+		var $input = $(this).parent().find('input');
+		$input.val(parseInt($input.val()) + 1);
+		$input.change();
+		return false;
+	});
+
+	//상품옵션변경 팝업 > 컬러선택 표기
+	$(document).on('click','.opt_modify_pop .opt_color ul li a',function(e){
+		$(this).parents('.opt_color').find('li a').removeClass('on');
+		$(this).addClass('on');
+		var optColor = $('.opt_modify_pop .opt_color ul li a.on img').attr('alt');
+		$('.opt_modify_pop .opt_color .opt_header .color').text(optColor);
+		return false;
+	});
 </script>
 </html>

+ 225 - 104
src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html

@@ -23,13 +23,6 @@
 <script type="text/javascript" src="/ux/pc/js/slick.min.js"></script>
 <script type="text/javascript" src="/ux/pc/js/jquery-ui.js"></script>
 
-<!-- 
-<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.min.js"></script>
-<script type="text/javascript" src="https://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
-<script type="text/javascript" src="/ux/pc/js/jquery.modal.min.js"></script>
-<script type="text/javascript" src="/ux/pc/js/common-ui.js"></script>
- -->
-
 <!--  container -->
 <form id="payForm" name="payForm">
 	<input type="hidden" name="delvMemo" th:value="${deliveryAddrInfo.delvMemo}">
@@ -369,7 +362,6 @@
 																									<div class="brand" th:text="${goods.brandEnm}+' '+${goods.brandKnm}"></div>
 																									<div class="name" th:text="${goods.goodsNm}"></div>
 																									<div class="price">
-																										<span th:text="${goods.goodsCd}"></span>
 																										<th:block th:if="${goods.tmtbDcAmt} > 0">
 																											<span class="selling_price"  th:text="${#numbers.formatInteger(goods.tmtbDcAmt, 1, 'COMMA')}"></span>
 																										</th:block>
@@ -380,21 +372,26 @@
 																								</figcaption>
 																							</figure>
 																						</div>
-																						
+																						 
 																						<div class="form_field">
-																							<select class="select_hidden cpnSelect">
-																								<option value="">선택안함</option>
-																								<th:block th:each="goodsCpn, k : ${goods.goodsCpnList}">
-																									<option th:value="${goodsCpn.cpnId}" th:text="${goodsCpn.cpnId}+'|'+${goodsCpn.cpnNm}+'|'+${goodsCpn.cpnDcAmt}"></option>
-																								</th:block>
-																							</select>
+																							<div class="select_custom type1">
+																								<div class="combo">
+																									<input type="hidden" name="custCpnSq" value="0"/>
+																									<input type="hidden" name="cpnDcAmt" value="0"/>
+																									
+																									<div class="select">선택없음</div>
+																									<ul class="list">
+																										<li value="0">선택없음</li>
+																										<th:block th:each="goodsCpn, k : ${goods.goodsCpnList}">
+																											<li th:value="${goodsCpn.custCpnSq}" th:data="${goodsCpn.cpnDcAmt}" th:text="${goodsCpn.cpnNm}"></li>
+																										</th:block>
+																									</ul>
+																								</div>
+																							</div>
 																						</div>
-	
-																						<div class="cp_discount">
-																							<span class="cp_amount">-10,000원 할인적용</span>
-																							<button type="button" class="btn_del_coupon" id="">
-																								<span>쿠폰적용해제</span>
-																							</button>
+																						<div class="cp_discount" style="display:none;">
+																							<span class="cp_amount"></span>
+																							<button type="button" class="btn_del_coupon"><span>쿠폰적용해제</span></button>
 																						</div>
 																					</div>
 																				</li>
@@ -407,19 +404,24 @@
 																			<li>
 																				<div class="coupon">
 																					<div class="form_field">
-																						<label for="">장바구니 할인쿠폰</label> 
-																						<select class="select_hidden">
-																							<option value="">선택안함</option>
-																							<th:block th:each="cartCpn, k : ${cartCpnList}">
-																								<option th:value="${cartCpn.cpnId}" th:text="${cartCpn.cpnId}+'|'+${cartCpn.cpnNm}"></option>
-																							</th:block>
-																						</select>
+																						<div class="select_custom type1">
+																							<div class="combo">
+																								<input type="hidden" name="custCpnSq" value="0"/>
+																								<input type="hidden" name="cpnDcAmt" value="0"/>
+																								
+																								<div class="select">선택없음</div>
+																								<ul class="list">
+																									<li value="0">선택없음</li>
+																									<th:block th:each="cartCpn, k : ${cartCpnList}">
+																										<li th:value="${cartCpn.custCpnSq}" th:data="${cartCpn.cpnDcAmt}" th:text="${cartCpn.cpnNm}"></li>
+																									</th:block>
+																								</ul>
+																							</div>
+																						</div>
 																					</div>
 																					<div class="cp_discount">
-																						<span class="cp_amount">-10,000원 할인적용</span>
-																						<button type="button" class="btn_del_coupon" id="">
-																							<span>쿠폰적용해제</span>
-																						</button>
+																						<span class="cp_amount"></span>
+																						<button type="button" class="btn_del_coupon"><span>쿠폰적용해제</span></button>
 																					</div>
 																				</div>
 																			</li>
@@ -431,18 +433,24 @@
 																			<li>
 																				<div class="coupon">
 																					<div class="form_field">
-																						<label for="">배송비 할인쿠폰</label> 
-																						<select id="" class="select_hidden">
-																							<th:block th:each="delvCpn, k : ${delvCpnList}">
-																								<option th:value="${delvCpn.cpnId}" th:text="${delvCpn.cpnNm}"></option>
-																							</th:block>
-																						</select>
+																						<div class="select_custom type1">
+																							<div class="combo">
+																								<input type="hidden" name="custCpnSq" value="0"/>
+																								<input type="hidden" name="cpnDcAmt" value="0"/>
+																								
+																								<div class="select" value="0">선택없음</div>
+																								<ul class="list">
+																									<li value="0">선택없음</li>
+																									<th:block th:each="delvCpn, k : ${delvCpnList}">
+																										<li th:value="${delvCpn.custCpnSq}" th:data="${delvCpn.cpnDcAmt}" th:text="${delvCpn.cpnNm}"></li>
+																									</th:block>
+																								</ul>
+																							</div>
+																						</div>
 																					</div>
 																					<div class="cp_discount">
-																						<span class="cp_amount">-10,000원 할인적용</span>
-																						<button type="button" class="btn_del_coupon" id="">
-																							<span>쿠폰적용해제</span>
-																						</button>
+																						<span class="cp_amount"></span>
+																						<button type="button" class="btn_del_coupon"><span>쿠폰적용해제</span></button>
 																					</div>
 																				</div>
 																			</li>
@@ -457,22 +465,24 @@
 												
 												<div class="area_selpoint">
 													<dl>
-														<div>
-															<dt>선 포인트 사용</dt>
-															<dd>
-																<div class="form_field">
-																	<div>
-																		<input type="radio" name="rdi-beforpoint" id="rdi-beforpoint1" value="" checked=""> 
-																		<label for="rdi-beforpoint1"><span>사용 안함</span></label>
-																	</div>
-																	<div>
-																		<input type="radio" name="rdi-beforpoint" id="rdi-beforpoint2" value=""> 
-																		<label for="rdi-beforpoint2"><span>사용함</span></label> 
-																		<span class="remain_point" th:text="|사용가능 포인트 : ${#numbers.formatInteger(prePntDcAmt, 1, 'COMMA')} P|">사용가능 포인트:1,500P</span>
+														<th:block th:if="${prePntDcAmt} > 0">
+															<div>
+																<dt>선 포인트 사용</dt>
+																<dd>
+																	<div class="form_field">
+																		<div>
+																			<input type="radio" name="rdi-beforpoint" id="rdi-beforpoint1"> 
+																			<label for="rdi-beforpoint1"><span>사용 안함</span></label>
+																		</div>
+																		<div>
+																			<input type="radio" name="rdi-beforpoint" id="rdi-beforpoint2"> 
+																			<label for="rdi-beforpoint2"><span>사용함</span></label> 
+																			<span class="remain_point" th:text="|사용가능 포인트 : ${#numbers.formatInteger(prePntDcAmt, 1, 'COMMA')} P|"></span>
+																		</div>
 																	</div>
-																</div>
-															</dd>
-														</div>
+																</dd>
+															</div>
+														</th:block>
 														<div>
 															<dt>
 																<span class="mid">스타일 포인트</span>
@@ -480,19 +490,22 @@
 															<dd>
 																<div class="form_field">
 																	<!-- 스타일 포인트 3만원 이상 결제시 노출 -->
-																	<div class="input_wrap">
-																		<input type="text" class="form_control" maxlength="" placeholder="사용할 포인트를 입력해주세요.">
-																		<button type="button" class="btn btn_dark">적용</button>
-																	</div>
+																	<th:block th:if="${goodsSumAmt} >= 30000">
+																		<div class="input_wrap">
+																			<input type="text" class="form_control" maxlength="" placeholder="사용할 포인트를 입력해주세요.">
+																			<button type="button" class="btn btn_dark">적용</button>
+																		</div>
+																	</th:block>
 																	<!-- 스타일 포인트 3만원 이상 결제시 노출 -->
 																	
 																	<!-- 스타일 포인트 3만원 미만 결제시 노출 -->
-																	<div class="input_wrap">
-																		<input type="text" class="form_control" maxlength="" placeholder="3만원 이상 결제시에만 포인트 사용이 가능합니다." disabled>
-																		<button type="button" class="btn btn_dark">적용</button>
-																	</div>
-																	<!-- //스타일 포인트 3만원 미만 결제시 노출 -->
-																	<p><span class="remain_point" th:text="|보유 : ${#numbers.formatInteger(rmPntAmt, 1, 'COMMA')} P|"></span>(결제금액의 최대 40%까지 사용가능)</p>
+																	<th:block th:if="${goodsSumAmt} < 30000">
+																		<div class="input_wrap">
+																			<input type="text" class="form_control" maxlength="" placeholder="3만원 이상 결제시에만 포인트 사용이 가능합니다." disabled>
+																		</div>
+																		<!-- //스타일 포인트 3만원 미만 결제시 노출 -->
+																		<p><span class="remain_point" th:text="|보유 : ${#numbers.formatInteger(rmPntAmt, 1, 'COMMA')} P|"></span>(결제금액의 최대 40%까지 사용가능)</p>
+																	</th:block>
 																</div>
 															</dd>
 														</div>
@@ -797,6 +810,41 @@
 											<div class="gd_list">
 												<th:block th:each="goods, i : ${wmsCartList}">
 													<div class="item_gd">
+														<input type="text" name="cartSq" 			th:value="${goods.cartSq}"/>
+														<input type="text" name="goodscd" 			th:value="${goods.goodsCd}"/>
+														<input type="text" name="ordQty" 			th:value="${goods.goodsQty}"/>
+														<input type="text" name="itemCd" 			th:value="${goods.itemCd}"/>
+														<input type="text" name="optCd" 			th:value="${goods.optCd}"/>
+														<input type="text" name="optCd1" 			th:value="${goods.optCd1}"/>
+														<input type="text" name="optCd2" 			th:value="${goods.optCd2}"/>
+														
+														<input type="text" name="currPrice" 		th:value="${goods.orgCurrPrice}"/>
+														<input type="text" name="cpn1CpnSq" 		th:value="${goods.cpn1CpnSq}"/>
+														<input type="text" name="cpn1DcAmt" 		th:value="${goods.orgCurrPrice} - ${goods.currPrice}"/>
+														
+														<th:block th:if="${goods.applyQtySectionYn} == 'Y' and ${goods.qtyTmtbSq} > 0">
+															<input type="text" name="tmtb1Sq" 		th:value="${goods.qtyTmtbSq}"/>
+															<input type="text" name="tmtb1DcAmt" 	th:value="${goods.tmtb1DcAmt}"/>
+														</th:block>
+														<th:block th:if="${goods.applyQtySectionYn} != 'Y'">
+															<input type="text" name="tmtb1Sq" 		value="0"/>
+															<input type="text" name="tmtb1DcAmt" 	value="0"/>
+														</th:block>
+														
+														<th:block th:if="${goods.applyAmtSectionYn} == 'Y' and ${goods.amtTmtbSq} > 0">
+															<input type="text" name="tmtb2Sq" 		th:value="${goods.amtTmtbSq}"/>
+															<input type="text" name="tmtb2DcAmt" 	th:value="${goods.tmtb2DcAmt}"/>
+														</th:block>
+														<th:block th:if="${goods.applyAmtSectionYn} != 'Y'">
+															<input type="text" name="tmtb2Sq" 		value="0"/>
+															<input type="text" name="tmtb2DcAmt" 	value="0"/>
+														</th:block>
+														
+														<input type="text" name="goodsCpnSq" 		value=""/>
+														<input type="text" name="goodsCpnDcAmt" 	value=""/>
+														<input type="text" name="cartCpnSq" 		value=""/>
+														<input type="text" name="cartCpnDcAmt" 		value=""/>
+														
 														<figure>
 															<span class="thumb"><img src="/images/pc/thumb/tmp_odSide1.jpg" alt=""></span>
 															<figcaption>
@@ -898,35 +946,35 @@
 									<dl>
 										<div>
 											<dt>상품금액</dt>
-											<dd id="goodsSumAmt">1,590,000 원</dd>
+											<dd id="goodsSumAmt" th:text="|${#numbers.formatInteger(goodsSumAmt, 1, 'COMMA')}원|"></dd>
 										</div>
 										<div>
 											<dt>배송비</dt>
-											<dd id="delvSumAmt">0원</dd>
+											<dd id="delvSumAmt" th:text="|${#numbers.formatInteger(sumDelvFee, 1, 'COMMA')}원|"></dd>
 										</div>
 										<div>
 											<dt>할인금액</dt>
-											<dd><span class="disc_amount" id="goodsDcSumAmt">-1,746,500원</span></dd>
+											<dd><span class="disc_amount" id="goodsDcSumAmt"></span></dd>
 										</div>
 										<div>
 											<dt>다다익선할인금액</dt>
-											<dd><span class="disc_amount" id="tmtbDcSumAmt">25,000원</span></dd>
+											<dd><span class="disc_amount" id="tmtbDcSumAmt" th:text="|${#numbers.formatInteger(tmtbDcSumAmt, 1, 'COMMA')}원|"></span></dd>
 										</div>
 										<div>
 											<dt>쿠폰할인금액</dt>
-											<dd><span class="disc_amount" id="couponDcSumAmt">3,000원</span></dd>
+											<dd><span class="disc_amount" id="couponDcSumAmt"></span></dd>
 										</div>
 										<div>
 											<dt>선포인트 사용</dt>
-											<dd><span class="disc_amount" id="prePntDcSumAmt">-1,500P</span></dd>
+											<dd><span class="disc_amount" id="prePntDcSumAmt"></span></dd>
 										</div>
 										<div>
 											<dt>포인트 사용</dt>
-											<dd><span class="disc_amount" id="pntDcSumAmt">-5,500P</span></dd>
+											<dd><span class="disc_amount" id="pntDcSumAmt"></span></dd>
 										</div>
 										<div>
 											<dt>상품권 사용</dt>
-											<dd><span class="disc_amount" id="gfcdUseSumAmt">-50,000원</span></dd>
+											<dd><span class="disc_amount" id="gfcdUseSumAmt"></span></dd>
 										</div>
 									</dl>
 								</div>
@@ -1215,24 +1263,13 @@ $(document).ready( function() {
 			}
 		)
 	}
-	
-	// 상품금액, 배송비, 할인금액, 다다익선할인금액, 쿠폰할인금액, 선포인트사용, 포인트사용, 상품권사용
-	var goodsSumAmt = 0;
-	var tmtbDcSumAmt = 0;
-	
-	var cartGoodsAmtList = function() {
-		for (i=0 ; i<cartGoodsList.length ; i++) {
-			var obj = cartGoodsList[i];
-			
-			goodsSumAmt = goodsSumAmt + obj.currPrice;
-			tmtbDcSumAmt = tmtbDcSumAmt + (obj.currPrice - obj.tmtbDcAmt);
-		}
-		$("#goodsSumAmt").text(goodsSumAmt.addComma() + "원");
-		$("#tmtbDcSumAmt").text("-" + tmtbDcSumAmt.addComma() + "원");
-	} 
+
 </script>
 
 <script th:inline="javascript">
+	var custCpnSq 	= 0;
+	var cpnIndex	= 0;
+	
 	// 컨텐츠 호출
 	$(document).ready( function() {
 		// 1. 총알배송가능 지역, 총알배송 가능 시간 체크
@@ -1253,25 +1290,109 @@ $(document).ready( function() {
 		if (resCnt > 0) {
 			$("#resDelvArea").css("display", "block");
 		}
-		
-		// 3. 최적의 할인으로 쿠폰 설정
-		//$(".cpnSelect option:eq(1)").attr("selected", "selected");
-		/*
-		$(".cpnSelect").each(function(i){
-			//$(this).find("option:eq(1)").attr("selected", "selected");
+
+		// 3. 쿠폰 SELECT BOX 설정
+		$('.select_custom.type1').each(function(index){
+			var selecter01 	= new sCombo($(this));
+			var cpnIndex 	= 0;
+			
+			// select 박스 반복문 실행
+			$(this).find("ul li").each(function(i){
+				cpnIndex++;
+				
+				// 1이상부터 중복 체크
+				if (cpnIndex > 1) {
+					if (cpnDuplicationCheck($(this).prop("value"), index)) {
+						// 쿠폰적용
+						custCpnApply($(this));
+					}
+				}
+				
+				// SELECT BOX 버튼 기능 설정
+				$(this).on("click", function(){
+					// 선택없음
+					if ($(this).prop("value") == 0) {
+						$(this).parent().parent().find("input[name='custCpnSq']").val("0");
+						$(this).parent().parent().find("input[name='cpnDcAmt']").val("0");
+						
+						$(this).parent().parent().find(".select").text("선택없음");
+						$(this).parent().parent().parent().parent().parent().find(".cp_discount").css("display", "none");
+					} else {
+						// 쿠폰중복체크 후 적용
+						if (cpnDuplicationCheck($(this).prop("value"), index)) {
+							// 쿠폰적용
+							custCpnApply($(this));
+						} else {
+							alert("이미 적용된 쿠폰 입니다.");
+							
+							// 쿠폰적용불가
+							custCpnNotApply($(this));
+						}
+					}
+				});
+			});
 		});
-		*/
+	});
+	
+	// 쿠폰중복사용체크
+	var cpnDuplicationCheck = function(custCpnSq, index) {
+		var selCustSq 	= 0;
+		var cnt 		= 0;
 
-		$(".cpnSelect").on("change", function(){
-			alert($(this).val());
+		// 쿠폰중본사용체크
+		$("input[name='custCpnSq']").each(function(i){
+			if (index != i) {
+				selCustSq = $(this).val();
+				if (selCustSq == custCpnSq) {
+					cnt++;
+				}
+			}
 		});
 		
-		$(".select_dress").on("click", function() {
-			alert($("this").text());	
-		});
+		// 쿠폰적용불가
+		if (cnt > 0) {
+			return false;
+		}
+		// 쿠폰적용가능
+		else {
+			return true;
+		}
+	}
+	
+	// 쿠폰중복체크 후 적용가능
+	var custCpnApply = function(obj) {
+		// 적용된 할인금액 text 설정 
+		var dcAmtStr = "- " + parseInt(obj.attr("data")).addComma() + " 원 할인적용";
+		obj.parent().parent().parent().parent().parent().find(".cp_amount").text(dcAmtStr);
 		
-		cartGoodsAmtList();
-	});
+		// select box 쿠폰 적용
+		obj.parent().parent().find("input[name='custCpnSq']").val(obj.prop("value"));
+		obj.parent().parent().find("input[name='cpnDcAmt']").val(obj.attr("data"));
+		
+		obj.parent().parent().find(".select").text(obj.text());
+		
+		// 선택된 할인금액 노출
+		obj.parent().parent().parent().parent().parent().find(".cp_discount").css("display", "block");
+	}
+	
+	// 쿠폰중복체크 후 적용불가
+	var custCpnNotApply = function(obj) {
+		// 이전에 등록된 쿠폰시퀀스  
+		var custCpnSq = obj.parent().parent().find("input[name='custCpnSq']").val();
+		
+		// 이전에 등록된 쿠폰시퀀스 비교후 데이타 원복
+		obj.parent().find("li").each(function(){
+			if ($(this).prop("value") == custCpnSq) {
+				$(this).parent().parent().find(".select").text($(this).text());
+				
+				if (custCpnSq == 0) {
+					$(this).parent().parent().parent().parent().parent().find(".cp_discount").css("display", "none");
+				} else {
+					$(this).parent().parent().parent().parent().parent().find(".cp_discount").css("display", "block");
+				}
+			}
+		});
+	}
 	
 	// 사은품선택 라디오 버튼 기능
 	$(".freegiftRdo").on("click", function() {

+ 134 - 129
src/main/webapp/WEB-INF/views/web/order/OrderNoMemberWeb.html

@@ -19,157 +19,162 @@
 <body>
 
 <th:block layout:fragment="content">
-<div class="wrap">
-	<div class="content nonMBorder">
-		<!-- 페이지특정 클래스 = nonMBorder -->
-		<div class="cont_head">
-			<h2 class="t_c mb60">비회원 주문하기</h2>
-		</div>
-		<div class="cont_body">
-			<form id="orderForm" name="orderForm" class="form_wrap form_col_c form_full" action="#" th:action="@{'/order/form'}" th:method="post">
-				<input type="hidden" name="shotDelvYn" th:value="${order.shotDelvYn}" /><!-- 장바구니화면 총알배송여부 -->
-				<!-- 장바구니화면 시퀀스 배열 등록 -->
-				<th:block th:each="cartSq , index : ${order.cartSqArr}">
-					<input type="hidden" name="cartSqArr" th:value="${cartSq}" />
-				</th:block>
-				
-				<div class="form_head">
-					<p>
-						비회원 주문을 위한 주문자 정보 입력 및 개인정보 수집/이용 동의에<br>체크하신 후 주문을 완료하실 수
-						있습니다.
-					</p>
+<form id="orderForm" name="orderForm" class="form_wrap form_col_c form_full" action="#" th:action="@{'/order/form'}" th:method="post">
+	<input type="hidden" name="shotDelvYn" th:value="${order.shotDelvYn}" /><!-- 장바구니화면 총알배송여부 -->
+	<!-- 장바구니화면 시퀀스 배열 등록 -->
+	<th:block th:each="cartSq , index : ${order.cartSqArr}">
+		<input type="hidden" name="cartSqArr" th:value="${cartSq}" />
+	</th:block>
+	
+	<!-- 회원 -->
+	<th:block th:if="${isLogin} == true">
+		<script>$("#orderForm").submit();</script>
+	</th:block>
+	
+	<!-- <span th:text="${isLogin}"></span> -->
+	
+	<!-- 비회원 -->
+	<th:block th:if="${isLogin} == 'false'">
+		<div class="wrap">
+			<div class="content nonMBorder">
+				<!-- 페이지특정 클래스 = nonMBorder -->
+				<div class="cont_head">
+					<h2 class="t_c mb60">비회원 주문하기</h2>
 				</div>
-				
-				<div class="form_field">
-					<label class="input_label sr-only">이름(주문자명)</label>
-					<div class="ui_col_12">
-						<div class="input_wrap">
-							<input type="text" name="custNm" id="custNm" placeholder="이름(주문자명)">
+				<div class="cont_body">
+					<div class="form_head">
+						<p>
+							비회원 주문을 위한 주문자 정보 입력 및 개인정보 수집/이용 동의에<br>체크하신 후 주문을 완료하실 수
+							있습니다.
+						</p>
+					</div>
+					
+					<div class="form_field">
+						<label class="input_label sr-only">이름(주문자명)</label>
+						<div class="ui_col_12">
+							<div class="input_wrap">
+								<input type="text" name="custNm" id="custNm" placeholder="이름(주문자명)">
+							</div>
 						</div>
 					</div>
-				</div>
-				<div class="form_field">
-					<label class="input_label sr-only">휴대폰 번호</label>
-					<div class="ui_col_12">
-						<div class="input_wrap">
-							<input type="text" name="cellPhnno" id="cellPhnno" placeholder="휴대폰 번호">
+					<div class="form_field">
+						<label class="input_label sr-only">휴대폰 번호</label>
+						<div class="ui_col_12">
+							<div class="input_wrap">
+								<input type="text" name="cellPhnno" id="cellPhnno" placeholder="휴대폰 번호">
+							</div>
 						</div>
 					</div>
-				</div>
-				<div class="form_field">
-					<label class="input_label sr-only">이메일주소</label>
-					<div class="ui_col_12">
-						<div class="input_wrap">
-							<input type="text" name="email" id="email" placeholder="이메일주소">
+					<div class="form_field">
+						<label class="input_label sr-only">이메일주소</label>
+						<div class="ui_col_12">
+							<div class="input_wrap">
+								<input type="text" name="email" id="email" placeholder="이메일주소">
+							</div>
 						</div>
 					</div>
-				</div>
-				<div class="form_field">
-					<label class="input_label sr-only">배송주소 우편번호</label>
-					<div class="ui_col_12">
-						<div class="input_wrap" style="display: flex;">
-							<input type="text" name="recipZipcode" id="recipZipcode" placeholder="우편번호">
-							<button type="submit" class="btn btn_default">우편번호 찾기</button>
+					<div class="form_field">
+						<label class="input_label sr-only">배송주소 우편번호</label>
+						<div class="ui_col_12">
+							<div class="input_wrap" style="display: flex;">
+								<input type="text" name="recipZipcode" id="recipZipcode" placeholder="우편번호">
+								<button type="submit" class="btn btn_default">우편번호 찾기</button>
+							</div>
 						</div>
 					</div>
-				</div>
-				<br>
-				<div class="form_field">
-					<label class="input_label sr-only">배송주소 기본주소</label>
-					<div class="ui_col_12">
-						<input type="text" name="recipBaseAddr" id="recipBaseAddr" placeholder="기본주소">
+					<br>
+					<div class="form_field">
+						<label class="input_label sr-only">배송주소 기본주소</label>
+						<div class="ui_col_12">
+							<input type="text" name="recipBaseAddr" id="recipBaseAddr" placeholder="기본주소">
+						</div>
 					</div>
-				</div>
-				<div class="form_field">
-					<label class="input_label sr-only">배송주소 상세주소</label>
-					<div class="ui_col_12">
-						<input type="text" name="recipDtlAddr" id="recipDtlAddr" placeholder="상세주소">
+					<div class="form_field">
+						<label class="input_label sr-only">배송주소 상세주소</label>
+						<div class="ui_col_12">
+							<input type="text" name="recipDtlAddr" id="recipDtlAddr" placeholder="상세주소">
+						</div>
 					</div>
-				</div>
-				
-				<!-- 주소 출력 
-				<div class="help_block">
-					<p><span>도로명</span>서울특별시 서초구 서운로 57번길</p>
-					<p><span>지번</span>서울특별시 서초구 서포동 60-28</p>
-				</div>
-				-->
-				
-				<!-- //주소 출력 -->
-				<div class="form_field">
-					<div>
-						<input id="chk-2" type="checkbox"><label for="chk-2">
-							<p>
-								비회원 개인정보 수집&#47;이용 동의 <span>(필수)</span>
-							</p>
-						</label>
+					
+					<!-- 주소 출력 
+					<div class="help_block">
+						<p><span>도로명</span>서울특별시 서초구 서운로 57번길</p>
+						<p><span>지번</span>서울특별시 서초구 서포동 60-28</p>
 					</div>
-				</div>
-				
-				<div class="form_field txt_area">
-					<div
-						style="overflow: auto; max-height: 176px; border: 1px solid #ddd;">
-						<strong>제1조(목적)</strong>
-						<p>이 약관은 (유)내고향시푸드(전자거래 사업자)이 운영하는 홈페이지(이하 "쇼핑몰"이라 한다)에서
-							제공하는 인터넷 관련 서비스(이하 "서비스"라 한다)를 이용함에 있어 (유)내고향시푸드와 이용자의 권리·의무 및
-							책임사항을 규정함을 목적으로 합니다. ※ 「PC통신 등을 이용하는 전자거래에 대해서도 그 성질에 반하지 않는 한
-							이 약관을 준용합니다」 제2조(정의) ① "쇼핑몰" 이란 사업자가 재화 또는 용역을 이용자에게 제공하기 위하여
-							컴퓨터 등 정보통신설비를 이용하여 재화 또는 용역을 거래할 수 있도록 설정한 가상의 영업장을 말하며, 아울러
-							쇼핑몰을 운영하는 사업자의 의미로도 사용합니다. ② "이용자"란 "쇼핑몰"에 접속하여 이 약관에 따라 "쇼핑몰"이
-							제공하는 서비스를 받는 회원 및 비회원을 말합니다. ③ "회원"이라 함은 "쇼핑몰"에 개인정보를 제공하여
-							회원등록을 한 자로서, "쇼핑몰"의 정보를 지속적으로 제공받으며, "쇼핑몰"이 제공하는 서비스를 계속적으로 이용할
-							수 있는 자를 말합니다. ④ "비회원"이라 함은 회원에 가입하지 않고 "쇼핑몰"이 제공하는 서비스를 이용하는 자를
-							말합니다. 제3조 (약관의 명시와 개정) ① "쇼핑몰"은 이 약관의 내용과 상호, 영업소 소재지, 대표자의 성명,
-							사업자등록번호, 연락처(전화, 팩스, 전자우편 주소 등) 등을 이용자가 알 수 있도록 사이트의 초기
-							서비스화면(전면)에 게시합니다. ② "쇼핑몰"은 약관의 규제 등에 관한 법률, 전자거래기본법, 전자서명법,
-							정보통신망 이용촉진 등에 관한 법률, 방문판매 등에 관한법률, 소비자보호법 등 관련법을 위배하지 않는 범위에서 이
-							약관을 개정할 수 있습니다. ③ "쇼핑몰"이 약관을 개정할 경우에는 적용일자 및 개정사유를 명시하여 현행약관과
-							함께 홈페이지의 초기화면에 그 적용일자 7일 이전부터 적용일자 전일까지 공지합니다. ④ "쇼핑몰"이 약관을 개정할
-							경우에는 그 개정약관은 그 적용일자 이후에 체결되는 계약에만 적용되고 그 이전에 이미 체결된 계약에 대해서는 개정
-							전의 약관조항이 그대로 적용됩니다. 다만 이미 계약을 체결한 이용자가 개정약관 조항의 적용을 받기를 원하는 뜻을
-							제3항에 의한 개정약관의 공지기간 내에 "쇼핑몰"에 송신하여 "쇼핑몰"의 동의를 받은 경우에는 개정약관 조항이
-							적용됩니다. ⑤ 이 약관에서 정하지 아니한 사항과 이 약관의 해석에 관하여는 정부가 제정한 전자거래소비자보호지침
-							및 관계법령 또는 상관례에 따릅니다. 제4조(서비스의 제공 및 변경) ① "쇼핑몰"은 다음과 같은 업무를
-							수행합니다. 1. 재화 또는 용역에 대한 정보 제공 및 구매계약의 체결 2. 구매계약이 체결된 재화 또는 용역의
-							배송 3. 기타 "쇼핑몰"이 정하는 업무 ② "쇼핑몰"은 재화의 품절 또는 기술적 사양의 변경 등의 경우에는 장차
-							체결되는 계약에 의해 제공할 재화·용역의 내용을 변경할 수 있습니다. 이 경우에는 변경된 재화·용역의 내용 및
-							제공일자를 명시하여 현재의 재화·용역의 내용을 게시한 곳에 그 제공일자 이전 7일부터 공지합니다. ③ "쇼핑몰"이
-							제공하기로 이용자와 계약을 체결한 서비스의 내용을 재화의 품절 또는 기술적 사양의 변경 등의 사유로 변경할
-							경우에는 "쇼핑몰"은 이로 인하여 이용자가 입은 손해를 배상합니다. 단, "쇼핑몰"에 고의 또는 과실이 없는
-							경우에는 그러하지 아니합니다.</p>
+					-->
+					
+					<!-- //주소 출력 -->
+					<div class="form_field">
+						<div>
+							<input id="chk-2" type="checkbox"><label for="chk-2">
+								<p>
+									비회원 개인정보 수집&#47;이용 동의 <span>(필수)</span>
+								</p>
+							</label>
+						</div>
 					</div>
-				</div>
-				<div class="form_field">
-					<div class="ui_row btn_group_md">
-						<div class="ui_col_6">
-							<button class="btn btn_default btn_block" id="btn_cancel">
-								<span>취소</span>
-							</button>
+					
+					<div class="form_field txt_area">
+						<div
+							style="overflow: auto; max-height: 176px; border: 1px solid #ddd;">
+							<strong>제1조(목적)</strong>
+							<p>이 약관은 (유)내고향시푸드(전자거래 사업자)이 운영하는 홈페이지(이하 "쇼핑몰"이라 한다)에서
+								제공하는 인터넷 관련 서비스(이하 "서비스"라 한다)를 이용함에 있어 (유)내고향시푸드와 이용자의 권리·의무 및
+								책임사항을 규정함을 목적으로 합니다. ※ 「PC통신 등을 이용하는 전자거래에 대해서도 그 성질에 반하지 않는 한
+								이 약관을 준용합니다」 제2조(정의) ① "쇼핑몰" 이란 사업자가 재화 또는 용역을 이용자에게 제공하기 위하여
+								컴퓨터 등 정보통신설비를 이용하여 재화 또는 용역을 거래할 수 있도록 설정한 가상의 영업장을 말하며, 아울러
+								쇼핑몰을 운영하는 사업자의 의미로도 사용합니다. ② "이용자"란 "쇼핑몰"에 접속하여 이 약관에 따라 "쇼핑몰"이
+								제공하는 서비스를 받는 회원 및 비회원을 말합니다. ③ "회원"이라 함은 "쇼핑몰"에 개인정보를 제공하여
+								회원등록을 한 자로서, "쇼핑몰"의 정보를 지속적으로 제공받으며, "쇼핑몰"이 제공하는 서비스를 계속적으로 이용할
+								수 있는 자를 말합니다. ④ "비회원"이라 함은 회원에 가입하지 않고 "쇼핑몰"이 제공하는 서비스를 이용하는 자를
+								말합니다. 제3조 (약관의 명시와 개정) ① "쇼핑몰"은 이 약관의 내용과 상호, 영업소 소재지, 대표자의 성명,
+								사업자등록번호, 연락처(전화, 팩스, 전자우편 주소 등) 등을 이용자가 알 수 있도록 사이트의 초기
+								서비스화면(전면)에 게시합니다. ② "쇼핑몰"은 약관의 규제 등에 관한 법률, 전자거래기본법, 전자서명법,
+								정보통신망 이용촉진 등에 관한 법률, 방문판매 등에 관한법률, 소비자보호법 등 관련법을 위배하지 않는 범위에서 이
+								약관을 개정할 수 있습니다. ③ "쇼핑몰"이 약관을 개정할 경우에는 적용일자 및 개정사유를 명시하여 현행약관과
+								함께 홈페이지의 초기화면에 그 적용일자 7일 이전부터 적용일자 전일까지 공지합니다. ④ "쇼핑몰"이 약관을 개정할
+								경우에는 그 개정약관은 그 적용일자 이후에 체결되는 계약에만 적용되고 그 이전에 이미 체결된 계약에 대해서는 개정
+								전의 약관조항이 그대로 적용됩니다. 다만 이미 계약을 체결한 이용자가 개정약관 조항의 적용을 받기를 원하는 뜻을
+								제3항에 의한 개정약관의 공지기간 내에 "쇼핑몰"에 송신하여 "쇼핑몰"의 동의를 받은 경우에는 개정약관 조항이
+								적용됩니다. ⑤ 이 약관에서 정하지 아니한 사항과 이 약관의 해석에 관하여는 정부가 제정한 전자거래소비자보호지침
+								및 관계법령 또는 상관례에 따릅니다. 제4조(서비스의 제공 및 변경) ① "쇼핑몰"은 다음과 같은 업무를
+								수행합니다. 1. 재화 또는 용역에 대한 정보 제공 및 구매계약의 체결 2. 구매계약이 체결된 재화 또는 용역의
+								배송 3. 기타 "쇼핑몰"이 정하는 업무 ② "쇼핑몰"은 재화의 품절 또는 기술적 사양의 변경 등의 경우에는 장차
+								체결되는 계약에 의해 제공할 재화·용역의 내용을 변경할 수 있습니다. 이 경우에는 변경된 재화·용역의 내용 및
+								제공일자를 명시하여 현재의 재화·용역의 내용을 게시한 곳에 그 제공일자 이전 7일부터 공지합니다. ③ "쇼핑몰"이
+								제공하기로 이용자와 계약을 체결한 서비스의 내용을 재화의 품절 또는 기술적 사양의 변경 등의 사유로 변경할
+								경우에는 "쇼핑몰"은 이로 인하여 이용자가 입은 손해를 배상합니다. 단, "쇼핑몰"에 고의 또는 과실이 없는
+								경우에는 그러하지 아니합니다.</p>
 						</div>
-						<div class="ui_col_6">
-							<button class="btn btn_dark btn_block" id="btn_order">
-								<span>주문하기</span>
-							</button>
+					</div>
+					<div class="form_field">
+						<div class="ui_row btn_group_md">
+							<div class="ui_col_6">
+								<button class="btn btn_default btn_block" id="btn_cancel">
+									<span>취소</span>
+								</button>
+							</div>
+							<div class="ui_col_6">
+								<button class="btn btn_dark btn_block" id="btn_order">
+									<span>주문하기</span>
+								</button>
+							</div>
 						</div>
 					</div>
+					<div class="form_info">
+						<p>STYLE24에 회원가입을 하시면 더 많은 혜택을 받으실 수 있습니다!</p>
+						<a href="#none" id="btn_join">회원가입</a>
+					</div>
 				</div>
-				<div class="form_info">
-					<p>STYLE24에 회원가입을 하시면 더 많은 혜택을 받으실 수 있습니다!</p>
-					<a href="#none" id="btn_join">회원가입</a>
-				</div>
-			</form>
+			</div>
 		</div>
-	</div>
-</div>
+	</th:block>
+</form>
 
 <script th:inline="javascript">
-	var isLogin = [[${isLogin}]];				// 자사 일반,촐알 배송건수
-		
 	// 컨텐츠 호출
 	$(document).ready( function() {
-		// 로그인 
-		if (isLogin) {
-			$("#orderForm").submit();
-		}
+		
 	});
 	
 	// 취소버튼

+ 124 - 7
src/main/webapp/ux/pc/css/common.css

@@ -1,8 +1,8 @@
 @charset "utf-8";
 
-@import "reset.css?v=20210219";
+@import "reset.css";
 @import "font.css";
-@import "layout.css?v=20210219";
+@import "layout.css";
 
 
 /* h1 ~ h6  */
@@ -627,11 +627,11 @@ content: "〉";font-size: 12px;padding-left: 8px;
     background-repeat: no-repeat;
     background-position: 50% 50%;
 }
-.pageNav .disabled a {width:15px; height: 14px; background: url('/images/pc/ico_paging.png')no-repeat 0 11px; text-indent: -9999px;}
-.pageNav .disabled.prev a {width:8px; height: 14px; background-position: -23px 11px; margin-left: 29px;}
-.pageNav .next a,.pageNav > li:last-child a { width:15px; height: 14px; background: url('/images/pc/ico_paging.png')no-repeat -64px 11px; text-indent: -9999px;}
+.pageNav .disabled a {width:15px; height: 34px; background: url('/images/pc/ico_paging.png')no-repeat 0 11px; text-indent: -9999px;}
+.pageNav .disabled.prev a {width:8px; height: 34px; background-position: -23px 11px; margin-left: 29px;}
+.pageNav .next a,.pageNav > li:last-child a { width:15px; height: 34px; background: url('/images/pc/ico_paging.png')no-repeat -64px 11px; text-indent: -9999px;}
 .pageNav > li:last-child a {margin-left: 29px;}
-.pageNav .next a{width: 8px; height: 14px; background-position: -47px 11px;}
+.pageNav .next a{width: 8px; height: 34px; background-position: -47px 11px;}
 .pageNav > li.active > a {color: #fd4802;}
 .pageNav > li.active > a::after {
   content: ''; display: block; width: 100%; height: 2px; background: #fd4802;
@@ -1030,11 +1030,128 @@ input[type="file"] {
 }
 .select_options li:hover{background-color: #dddddd;}
 .select_options li[rel="hide"] {display: none;}
+.select_options li.disabled {text-decoration:line-through; background:#f5f5f5; color:#bbb}
+.select_options li.disabled:hover,
+.select_options li.disabled:active {cursor:default;}
 .select_dress:active, .select_dress.active {background-color: #ffffff;border: 1px solid #222222;border-bottom: 1px solid #dddddd;}
 .select_dress:active:after, .select_dress.active:after {top: 9px;border-color: transparent transparent #888888 transparent;}
 
+/* select-custom */
+.select_custom {
+	cursor: pointer;
+    display: inline-block;
+    position: relative;
+    font-size: 16px;
+    color: #333333;
+    width: 100%;
+    height: 40px;
+}
+.select_custom .combo {
+    display: inline-block;
+    position: relative;
+    width: 100%;
+}
+.select_custom .combo .select {
+	position: relative;
+    box-sizing: border-box;
+    height: 40px;
+    line-height: 1;
+    cursor: pointer;
+    padding: 10px 15px;
+    background-color: #ffffff;
+    border: 1px solid #dddddd;
+}
+.select_custom .combo .select:after {
+    /* content: '▼'; */
+    /* position: absolute; */
+    /* top: 50%; */
+    /* right: 10px; */
 
-/* list-type */
+	content: '';
+    width: 0;
+    height: 0;
+    box-sizing: border-box;
+    position: absolute;
+    top: 16px;
+    right: 10px;
+    border: 6px solid transparent;
+    border-color: #888888 transparent transparent transparent;
+}
+.select_custom.on .combo .select {
+	border: 1px solid #999999;
+}
+.select_custom.on .combo .select:after {
+    /* content: '▲'; */
+	top: 9px;
+    border-color: transparent transparent #888888 transparent;
+}
+.select_custom .combo .list {
+    display: none;
+    overflow-y: auto;
+    position: absolute;
+    top: 39px;
+    left: 0;
+    z-index: 10;
+    border: 1px solid #999999;
+    border-top: 0;
+    box-sizing: border-box;
+    padding: 10px 0;
+    width: 100%;
+    max-height: 500px;
+    background-color: #fff;
+}
+.select_custom .combo .list::-webkit-scrollbar {
+    width: 10px;
+    height: 0;
+}
+.select_custom .combo .list::-webkit-scrollbar-button:start:decrement,
+.select_custom .combo .list::-webkit-scrollbar-button:end:increment {
+    display: block;
+    height: 0;
+}
+.select_custom .combo .list::-webkit-scrollbar-track {
+    background: rgba(0, 0, 0, .05);
+    -webkit-border-radius: 10px;
+    border-radius: 10px;
+}
+.select_custom .combo .list::-webkit-scrollbar-thumb {
+    height: 50px;
+    width: 50px;
+    background: rgba(0, 0, 0, .2);
+    -webkit-border-radius: 5px;
+    border-radius: 5px;
+}
+.select_custom .combo .list>li[aria-disabled="true"] {
+	text-decoration: line-through;
+    background: #f5f5f5;
+    color: #bbb;
+	pointer-events: none;
+}
+.select_custom .combo .list>li[data-soldout="true"] {
+	pointer-events: none;
+}
+.select_custom .combo .list>li[data-soldout="true"]::after {
+	content: '품절';
+    display: inline-block;
+    font-size: 12px;
+    color: #bbbbbb;
+    position: absolute;
+    right: 10px;
+    top: 0;
+    bottom: 0;
+}
+.select_custom .combo .list>li {
+    box-sizing: border-box;
+    padding: 0 10px;
+    width: 100%;
+    height: auto;
+    line-height: 35px;
+    cursor: pointer;
+	position: relative;
+}
+.select_custom .combo .list>li:hover {
+    background-color: #ccc;
+}/* list-type */
 
 /* description */
 

+ 77 - 8
src/main/webapp/ux/pc/js/common-ui.js

@@ -24,7 +24,6 @@
 
 
 
-
 /* * * * * * * * * * * * * * * * * * * * * * * 
 
 2. Init    (초기설정)
@@ -32,7 +31,7 @@
 * * * * * * * * * * * * * * * * * * * * * */
 $(document).ready(function(){
 
-	/* header minify */
+	// header minify
 	$(function(){
 		$(window).scroll(function(){
 			//var scroll = $(this).scrollTop();
@@ -49,7 +48,11 @@ $(document).ready(function(){
 			}
 		});
 	});
-	/* //header minify */
+
+	// history back
+	$(".back").on("click", function () {
+		history.back()
+	});
 
 });
 /* * * * * * * * * * * * * * * * * * * * * * * 
@@ -150,7 +153,8 @@ $( document ).ready(function() {
 		for (var i = 0; i < numberOfOptions; i++) {
 			$('<li />', {
 				text: $this.children('option').eq(i).text(),
-				rel: $this.children('option').eq(i).val()
+				rel: $this.children('option').eq(i).val(),
+				class: $this.children('option').eq(i).attr('disabled')
 			}).appendTo($selList);
 		}
 	
@@ -166,10 +170,15 @@ $( document ).ready(function() {
 	
 		$selListItems.click(function(e) {
 			e.stopPropagation();
-			$dressSelect.text($(this).text()).removeClass('active');
-			$this.val($(this).attr('rel'));
-			$selList.hide();
-			//console.log($this.val());
+			
+			if($(this).hasClass('disabled')){
+				$this.val($(this).attr('rel',false));
+			} 
+			else{
+				$dressSelect.text($(this).text()).removeClass('active');
+				$this.val($(this).attr('rel'));
+				$selList.hide();
+			}
 		});
 	
 		$(document).click(function() {
@@ -181,6 +190,56 @@ $( document ).ready(function() {
 });
 
 
+// Select-Combo-Custom
+function sCombo(selector){
+	this.$selectBox = null,
+	this.$select = null,
+	this.$list = null,
+	this.$listLi = null;
+	sCombo.prototype.init = function(selector){
+		this.$selectBox = $(selector);
+		this.$select = this.$selectBox.find('.combo .select');
+		this.$list = this.$selectBox.find('.combo .list');
+		this.$listLi = this.$list.children('li');
+	}
+	sCombo.prototype.initEvent = function(e){
+		var that = this;
+		this.$select.on('click', function(e){
+			that.listOn();
+		});
+		this.$listLi.on('click', function(e){
+			that.listSelect($(this));
+		});
+		$(document).on('click', function(e){
+			that.listOff($(e.target));
+		});
+	}
+	sCombo.prototype.listOn = function(){
+		this.$selectBox.toggleClass('on');
+		if(this.$selectBox.hasClass('on')){
+			this.$list.css('display', 'block');
+		}else{
+			this.$list.css('display', 'none');
+		};
+	}
+	sCombo.prototype.listSelect = function($target){
+		$target.addClass('selected').siblings('li').removeClass('selected');
+		this.$selectBox.removeClass('on');
+		this.$select.text($target.text());
+		this.$list.css('display', 'none');
+	}
+	sCombo.prototype.listOff = function($target){
+		if(!$target.is(this.$select) && this.$selectBox.hasClass('on')){
+			this.$selectBox.removeClass('on');
+			this.$list.css('display', 'none');
+		};
+	}
+	this.init(selector);
+	this.initEvent();
+};
+
+
+
 // selectBrand on/off
 $( document ).ready( function() {
 	$("#selectBrand .brandbox input").on("click", function() {
@@ -190,6 +249,9 @@ $( document ).ready( function() {
 });
 
 
+
+
+
 /* alert */
 $(function(){
 	$('.alertCls').click(function(){
@@ -244,6 +306,13 @@ $(document).ready( function() {
 		$("#rdi-paymethod-quick").trigger("click");
 		return false;
 	});
+
+	/* 상품상세 > 상품문의 _accordion */
+	$(document).on('click','.pd_qnalist_pop .foldGroup .fold_head',function(e){
+		$(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
+		$(this).toggleClass('on');
+		return false;
+	});
 	
 	/* 아이디/비밀번호 찾기_accordion:open */
 	$(document).on('click','.mb .foldGroup.checkcase .fold_head',function(e){