Quellcode durchsuchen

이태영 - 20210413 선물하기 공통코드 추가 및 장바구니 등록 로직 추가

xodud1202 vor 5 Jahren
Ursprung
Commit
af7d0aef40

+ 8 - 7
src/main/java/com/style24/front/biz/service/TsfCartService.java

@@ -124,7 +124,7 @@ public class TsfCartService {
 					}
 
 					// 금일 주문 수량 체크
-					if (!StringUtils.isEmpty(param.getCartGb()) && "O".equals(param.getCartGb())) {
+					if (!StringUtils.isEmpty(param.getCartGb()) && ("O".equals(param.getCartGb()) || "G".equals(param.getCartGb()))) {
 						int goodsCartCnt = 0;
 						if(param.getCustNo() != 0) {
 							goodsCartCnt = cartDao.getGoodsTodayOrderCnt(param);
@@ -136,9 +136,9 @@ public class TsfCartService {
 						}
 					}
 				}
-
-				saveSetTypeCartInfo(params, cartSqList);
 			}
+
+			saveSetTypeCartInfo(params, cartSqList);
 		} else {
 			for (Cart param : params) {
 				param.setCustNo(login.getCustNo());
@@ -182,7 +182,7 @@ public class TsfCartService {
 				}
 
 				// 금일 주문 수량 체크
-				if (!StringUtils.isEmpty(param.getCartGb()) && "O".equals(param.getCartGb())) {
+				if (!StringUtils.isEmpty(param.getCartGb()) && ("O".equals(param.getCartGb()) || "G".equals(param.getCartGb()))) {
 					int goodsCartCnt = 0;
 					if(param.getCustNo() != 0) {
 						goodsCartCnt = cartDao.getGoodsTodayOrderCnt(param);
@@ -269,6 +269,8 @@ public class TsfCartService {
 				} else {
 					cart.setCartGb(TscConstants.CartGb.MOB_ORDER.value());
 				}
+			} else if (!StringUtils.isEmpty(cartInfos.iterator().next().getCartGb()) && "G".equals(cartInfos.iterator().next().getCartGb())) {
+				cart.setCartGb(TscConstants.CartGb.GIFT.value());
 			} else {
 				cart.setCartGb(TscConstants.CartGb.CREATE_ORDER.value());
 			}
@@ -336,6 +338,8 @@ public class TsfCartService {
 			} else {
 				cart.setCartGb(TscConstants.CartGb.MOB_ORDER.value());
 			}
+		} else if (!StringUtils.isEmpty(params.iterator().next().getCartGb()) && "G".equals(params.iterator().next().getCartGb())) {
+			cart.setCartGb(TscConstants.CartGb.GIFT.value());
 		} else {
 			cart.setCartGb(TscConstants.CartGb.CREATE_ORDER.value());
 		}
@@ -759,8 +763,6 @@ public class TsfCartService {
 
 				// 배송 상품 존재 여부
 				lastCompCheck.setDelvYn(delvYn);
-
-				log.info("CHECK CART_SQ ::: {} / {} / {}", lastCompCheck.getCartSq(), lastCompCheck.getDelvYn(), lastCompCheck.getAddDelvFeeYn());
 			}
 		}
 
@@ -1042,7 +1044,6 @@ public class TsfCartService {
 			// 장바구니 보유 CART_SQ 쿼리
 			for(int i = 0 ; i < param.getCartDtlSqArr().length ; i++) {
 				sb.append("SELECT CD.CART_SQ \n FROM TB_CART C \n INNER JOIN TB_CART_DETAIL CD \n ON C.CART_SQ = CD.CART_SQ \n WHERE C.CUST_NO = ");
-				// TODO 로그인 정보 확인
 				if (param.getCustNo() == 0) {
 					sb.append(param.getCustNo()).append("\n AND JSESSION_ID = '").append(param.getJsessionId()).append("'");
 				} else {

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

@@ -34,6 +34,7 @@ import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.Cart;
 import com.style24.persistence.domain.Coupon;
 import com.style24.persistence.domain.Goods;
+import com.style24.persistence.domain.Login;
 import com.style24.persistence.domain.Order;
 import com.style24.persistence.domain.Payment;
 import com.style24.persistence.domain.WishList;
@@ -150,6 +151,24 @@ public class TsfCartController extends TsfBaseController {
 		return super.getDeviceViewName("cart/CartListAjaxForm");
 	}
 
+	/**
+	 * 장바구니 로그인 정보 조회
+	 * @param param
+	 * @return
+	 */
+	@ResponseBody
+	@PostMapping("/login/info")
+	public Login selectLoginInfo(Order param) {
+		Login result = new Login();
+		if(TsfSession.isLogin()) {
+			result = TsfSession.getInfo();
+		} else {
+			result.setCustNo(0);
+		}
+
+		return result;
+	}
+
 	/**
 	 * 장바구니 체크박스 change시에 계산로직 진행
 	 * @param param

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

@@ -1002,6 +1002,7 @@
 		/* TsfCart.selectCartDelvGoodsOptionImgList : 장바구니 입점업체 상품 이미지 리스트 조회 */
 		SELECT GI.GOODS_CD
 			 , GI.COLOR_CD
+			 , GI.DEFAULT_IMG_YN
 			 , GI.SYS_IMG_NM
 		FROM   TB_GOODS G
 		INNER  JOIN TB_GOODS_IMG GI

+ 4 - 3
src/main/webapp/WEB-INF/views/mob/cart/CartChangeOptionPopupMob.html

@@ -14,7 +14,7 @@
 					<div class="goods_detail">
 						<a href="javascript:;">
 							<th:block th:if="${setType.equals(cart.goodsType) or cart.selfGoodsYn.equals('N')}">
-								<span class="thumb_box" th:each="img, index : ${cart.cartImgList}">
+								<span class="thumb_box" th:each="img, index : ${cart.cartImgList}" th:if="${'Y'.equals(img.defaultImgYn)}">
 									<img th:src="${cart.imgPath + '/' + img.sysImgNm} + '?RS=100'" src="/" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'"  th:alt="${img.sysImgNm}" alt="" />
 								</span>
 							</th:block>
@@ -22,7 +22,7 @@
 								<th:block th:each="comp, status : ${cart.cartCompsList}">
 									<th:block th:each="color, index : ${comp.cartColorList}">
 										<th:block th:if="${color.cartOptCd1 != null and color.cartOptCd1.equals(color.optCd1)}">
-											<span class="thumb_box" th:each="img, index : ${color.cartImgList}" th:if="${img.colorCd == color.cartOptCd1}">
+											<span class="thumb_box" th:each="img, index : ${color.cartImgList}" th:if="${img.colorCd == color.cartOptCd1 and 'Y'.equals(img.defaultImgYn)}">
 												<img th:src="${cart.imgPath + '/' + img.sysImgNm} + '?RS=100'" src="/" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'"  th:alt="${img.sysImgNm}" alt="" />
 											</span>
 										</th:block>
@@ -217,7 +217,7 @@
 			</div>
 		</div>
 		<div class="btn_group_block">
-			<button class="btn btn_dark btn_block" th:onclick="|fnChangeCartOption(${cart.cartSq})|"><span>옵션변경</span></button>
+			<button class="btn btn_dark btn_block" th:onclick="|fnChangeCartOption(${cart.cartSq}); return false;|"><span>옵션변경</span></button>
 		</div>
 	</div>
 </div>
@@ -377,6 +377,7 @@
 			success : function(result) {
 				mcxDialog.alert(result.message);
 				$(".closeCartOptionModal").trigger("click");
+				$("body").css("overflow", "");
 				if(result.status == "SUCCESS") {
 					let data = {shotDelvUseYn : $("input[name=shotDelvUseYn]:checked").val()};
 					getCartList(data);

+ 141 - 120
src/main/webapp/WEB-INF/views/mob/cart/CartListAjaxFormMob.html

@@ -15,6 +15,9 @@
  -->
 <body>
 <th:block layout:fragment="content">
+	<!-- 즉시구매 form -->
+	<form id="cartInfoForm" method="post" action="/order/noMember"></form>
+
 	<form id="cartListForm" method="post" action="/order/noMember" th:with="imgGoodsUrl=${@environment.getProperty('upload.goods.view')}, uxImgUrl=${@environment.getProperty('domain.uximage')}, imgUrl=${@environment.getProperty('upload.image.view')}">
 		<div class="inner shotDelvSelect">
 			<div class="od_method">
@@ -125,10 +128,8 @@
 									<p class="point"><span th:text="${#numbers.formatInteger(cart.savePntAmt, 1, 'COMMA')}"></span>P 적립예정</p>
 								</div>
 								<div class="od_exinfo">
-									<span th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y'}" class="btn_moresale order_badge order_bullet_badge">다다익선 할인 적용</span>
-									<span th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y'}" class="btn_moresale order_badge order_bullet_badge">다다익선 할인 적용</span>
-									<a th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N'}" href="javascript:;" id="btn_moresale_pop" class="btn_moresale btn_moresale_pop order_badge order_bullet_badge">다다익선 할인 대상</a>
-									<a th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N'}" href="javascript:;" id="btn_moresale_pop" class="btn_moresale btn_moresale_pop order_badge order_bullet_badge">다다익선 할인 대상</a>
+									<span th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y')}" class="applyTmtb btn_moresale order_badge order_bullet_badge">다다익선 할인 적용</span>
+									<a th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N')}" href="javascript:;" id="btn_moresale_pop" class="notApplyTmtb btn_moresale btn_moresale_pop order_badge order_bullet_badge">다다익선 할인 대상</a>
 								</div>
 							</div>
 						</div>
@@ -148,7 +149,7 @@
 							<div><button type="button" class="btn btn_default btn_option_pop01" th:onclick="|fnChangeCartOptCd(${cart.cartSq})|" th:disabled="${cart.ordCanYn.equals('N')}"><span>옵션/수량변경</span></button></div> <!-- 옵션변경_팝업01 호출 -->
 							<div>
 								<button th:if="${cart.soldoutYn.equals('Y') or cart.ordCanYn.equals('N')}" type="button" class="btn btn_primary_line" disabled=""><span>구매 불가</span></button>
-								<button th:if="${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y')}" type="button" class="btn btn_primary_line"><span>바로주문</span></button>
+								<button th:if="${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y')}" type="button" class="btn btn_primary_line" th:onclick="|fnSubmitNoMember(${cart.cartSq})|"><span>바로주문</span></button>
 							</div> <!-- 210406_ID 추가 -->
 						</div>
 
@@ -225,10 +226,8 @@
 									<p class="point"><span th:text="${#numbers.formatInteger(cart.savePntAmt, 1, 'COMMA')}"></span>P 적립예정</p>
 								</div>
 								<div class="od_exinfo">
-									<span th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y'}" class="btn_moresale order_badge order_bullet_badge">다다익선 할인 적용</span>
-									<span th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y'}" class="btn_moresale order_badge order_bullet_badge">다다익선 할인 적용</span>
-									<a th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N'}" href="javascript:;" id="btn_moresale_pop" class="btn_moresale btn_moresale_pop order_badge order_bullet_badge">다다익선 할인 대상</a>
-									<a th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N'}" href="javascript:;" id="btn_moresale_pop" class="btn_moresale btn_moresale_pop order_badge order_bullet_badge">다다익선 할인 대상</a>
+									<span th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y')}" class="applyTmtb btn_moresale order_badge order_bullet_badge">다다익선 할인 적용</span>
+									<a th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N')}" href="javascript:;" id="btn_moresale_pop" class="notApplyTmtb btn_moresale btn_moresale_pop order_badge order_bullet_badge">다다익선 할인 대상</a>
 								</div>
 							</div>
 						</div>
@@ -248,7 +247,7 @@
 							<div><button type="button" class="btn btn_default btn_option_pop01" th:onclick="|fnChangeCartOptCd(${cart.cartSq})|" th:disabled="${cart.ordCanYn.equals('N')}"><span>옵션/수량변경</span></button></div> <!-- 옵션변경_팝업01 호출 -->
 							<div>
 								<button th:if="${cart.soldoutYn.equals('Y') or cart.ordCanYn.equals('N')}" type="button" class="btn btn_primary_line" disabled=""><span>구매 불가</span></button>
-								<button th:if="${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y')}" type="button" class="btn btn_primary_line"><span>바로주문</span></button>
+								<button th:if="${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y')}" type="button" class="btn btn_primary_line" th:onclick="|fnSubmitNoMember(${cart.cartSq})|"><span>바로주문</span></button>
 							</div> <!-- 210406_ID 추가 -->
 						</div>
 
@@ -273,13 +272,13 @@
 				<!-- 일반 배송 -->
 
 				<!-- 자사 배송비 -->
-				<div class="goods_txt selfGoodsDelv" th:classappend="|delv_${order.cartDelvFeeCd}|">
-					<span class="dlvr_fee" th:if="${order.wmsDelvFee == 0}">배송비 무료</span>
-					<span class="dlvr_fee" th:if="${order.wmsDelvFee > 0}">배송비&nbsp;<em th:text="${#numbers.formatInteger(order.wmsDelvFee, 1, 'COMMA')}"></em>원</span>
+				<div class="goods_txt selfGoodsDelv delvArea" th:classappend="|delv_${order.cartDelvFeeCd}|" th:style="${'Y'.equals(order.delvYn) ? 'display:block' : 'display:none'}">
+					<span class="dlvr_fee delvFeeArea" th:if="${order.wmsDelvFee == 0}">배송비 무료</span>
+					<span class="dlvr_fee delvFeeArea" th:if="${order.wmsDelvFee > 0}">배송비&nbsp;<em th:text="${#numbers.formatInteger(order.wmsDelvFee, 1, 'COMMA')}"></em>원</span>
 					<span>STYLE24  배송</span>
 				</div>
 
-				<div class="goods_dlvr_save" th:if="${order.wmsDelvFee > 0}">
+				<div class="goods_dlvr_save" th:style="${'Y'.equals(order.delvYn) and order.wmsDelvFee > 0 ? 'display:block' : 'display:none'}">
 					<a href="javascript:;" id="btn_dlvrSave_pop" class="btn_popup_save">배송비 SAVE 상품 보기</a>
 				</div>
 			</div>
@@ -293,7 +292,7 @@
 					<div class="goods_date">업체직 배송</div>
 				</div>
 				<!-- 업체직배송 -->
-				<div class="goods_area">
+				<div class="goods_area delvList">
 					<div class="goods_section delvCartInfo cartInfo" th:each="cart, status : ${order.delvCartList}">
 						<input type="hidden" name="applyQtySectionYn" th:value="${cart.applyQtySectionYn}" />
 						<input type="hidden" name="applyAmtSectionYn" th:value="${cart.applyAmtSectionYn}" />
@@ -345,10 +344,8 @@
 									<p class="point"><span th:text="${#numbers.formatInteger(cart.savePntAmt, 1, 'COMMA')}"></span>P 적립예정</p>
 								</div>
 								<div class="od_exinfo">
-									<span th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y'}" class="btn_moresale order_badge order_bullet_badge">다다익선 할인 적용</span>
-									<span th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y'}" class="btn_moresale order_badge order_bullet_badge">다다익선 할인 적용</span>
-									<a th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N'}" href="javascript:;" id="btn_moresale_pop" class="btn_moresale btn_moresale_pop order_badge order_bullet_badge">다다익선 할인 대상</a>
-									<a th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N'}" href="javascript:;" id="btn_moresale_pop" class="btn_moresale btn_moresale_pop order_badge order_bullet_badge">다다익선 할인 대상</a>
+									<span th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y')}" class="applyTmtb btn_moresale order_badge order_bullet_badge">다다익선 할인 적용</span>
+									<a th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N')}" href="javascript:;" id="btn_moresale_pop" class="notApplyTmtb btn_moresale btn_moresale_pop order_badge order_bullet_badge">다다익선 할인 대상</a>
 								</div>
 							</div>
 						</div>
@@ -368,7 +365,7 @@
 							<div><button type="button" class="btn btn_default" th:onclick="|fnChangeCartOptCd(${cart.cartSq})|" th:disabled="${cart.ordCanYn.equals('N')}"><span>옵션/수량변경</span></button></div>
 							<div>
 								<button th:if="${cart.soldoutYn.equals('Y') or cart.ordCanYn.equals('N')}" type="button" class="btn btn_primary_line" disabled=""><span>구매 불가</span></button>
-								<button th:if="${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y')}" type="button" class="btn btn_primary_line"><span>바로주문</span></button>
+								<button th:if="${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y')}" type="button" class="btn btn_primary_line" th:onclick="|fnSubmitNoMember(${cart.cartSq})|"><span>바로주문</span></button>
 							</div>
 						</div>
 
@@ -390,13 +387,13 @@
 						</div>
 
 						<!-- 입점업체 배송비 -->
-						<div class="goods_txt" th:if="${'Y'.equals(cart.addDelvFeeYn)}" th:classappend="|delv_${cart.delvFeeCd}|">
-							<span class="dlvr_fee" th:if="${order.wmsDelvFee == 0}">배송비 무료</span>
-							<span class="dlvr_fee" th:if="${order.wmsDelvFee > 0}">배송비&nbsp;<em th:text="${#numbers.formatInteger(order.wmsDelvFee, 1, 'COMMA')}"></em>원</span>
+						<div class="goods_txt delvArea" th:if="${'Y'.equals(cart.addDelvFeeYn)}" th:classappend="|delv_${cart.delvFeeCd}|" th:style="${'Y'.equals(cart.delvYn) ? 'display:block' : 'display:none'}">
+							<span class="dlvr_fee delvFeeArea" th:if="${order.wmsDelvFee == 0}">배송비 무료</span>
+							<span class="dlvr_fee delvFeeArea" th:if="${order.wmsDelvFee > 0}">배송비&nbsp;<em th:text="${#numbers.formatInteger(order.wmsDelvFee, 1, 'COMMA')}"></em>원</span>
 							<span th:text="|${cart.supplyCompNm} 업체직배송|"></span>
 						</div>
 
-						<div class="goods_dlvr_save" th:if="${'Y'.equals(cart.addDelvFeeYn) and cart.delvFee > 0}">
+						<div class="goods_dlvr_save" th:if="${'Y'.equals(cart.addDelvFeeYn)}" th:style="${'Y'.equals(cart.delvYn) and cart.delvFee > 0 ? 'display:block' : 'display:none'}">
 							<a href="javascript:;" id="btn_dlvrSave_pop" class="btn_popup_save">배송비 SAVE 상품 보기</a>
 						</div>
 					</div>
@@ -410,7 +407,7 @@
 				<div class="tit_box">
 					<h3>결제 정보</h3>
 					<span>
-						<em class="number" th:text="${order.totCartCnt}"></em>개의 상품
+						<em class="number checkSelectCartListCnt" th:text="${order.totCartCnt}"></em>개의 상품
 					</span>
 				</div>
 				<div class="od_amount_box">
@@ -620,7 +617,7 @@
 			</div>
 			<div class="od_calc_wrap" id="bottomOrderArea">
 				<button type="button" class="btn btn_dark"><span>합계 <em class="realOrderAmtText" th:text="${#numbers.formatInteger(order.sumRealPayAmt + order.totDelvFee, 1, 'COMMA')}">0</em>원</span></button>
-				<button type="button" id="btn_purchase" class="btn btn_primary"><span>구매하기 (<em class="realOrderQtyText" th:text="${order.totCartCnt}"></em>개)</span></button> <!-- 210406_ID 추가 -->
+				<button type="button" id="btn_purchase" class="btn btn_primary" onclick="fnSubmitNoMember('all'); return false;"><span>구매하기 (<em class="realOrderQtyText" th:text="${order.totCartCnt}"></em>개)</span></button> <!-- 210406_ID 추가 -->
 			</div>
 		</div>
 
@@ -629,9 +626,12 @@
 			<div class="modal-dialog" role="document">
 				<div class="modal-content">
 					<div class="modal-header">
-						<h5 class="modal-title" id="couponInfoLabel"></h5>
+						<h5 class="modal-title" id="couponInfoLabel">사용안내</h5>
 					</div>
 					<div class="modal-body">
+						<div class="pop_head">
+							<h6 class="serialCpnNm"></h6>
+						</div>
 						<div class="pop_cont">
 							<dl>
 								<div>
@@ -664,21 +664,29 @@
 		<!-- //옵션변경 팝업 -->
 
 		<script th:inline="javascript">
-			let sumRealPayAmt = [[${order.sumRealPayAmt + order.totDelvFee}]];
-			let totDcAmt = [[${order.totDcAmt}]];
-			let loginInfo = [[${loginInfo}]];
-			let orderFlag = true;
+			var sumRealPayAmt = [[${order.sumRealPayAmt + order.totDelvFee}]];
+			var totDcAmt = [[${order.totDcAmt}]];
+			var loginInfo = new Object();
+			var orderFlag = true;
+
+			function setLoginInfo() {
+				gagajf.ajaxJsonSubmit("/cart/login/info", null, function (result) {
+					loginInfo = result;
+
+					if (!loginInfo || loginInfo.custNo == null || loginInfo.custNo == 0) {
+						$("#cartListForm .area_salecoupon").hide();
+					}
+				});
+			};
 
 			$(document).ready(function() {
+				setLoginInfo();
+
 				if([[${!order.shotCanYn.equals('Y')}]]) {
 					//$(".shotDelvSelect").hide();
 				}
 
 				$("#cartListForm .area_salecoupon .coupon_box").hide();
-
-				if(!loginInfo || loginInfo.custNo == null || loginInfo.custNo == 0) {
-					$("#cartListForm .area_salecoupon").parent().hide();
-				}
 			});
 
 			function cancelCartCpn() {
@@ -766,7 +774,7 @@
 							}
 							refValComment += "일부상품, 특가상품 제외";
 
-							$(".cartCpnInfoModal .modal-header").html('<h5 class="modal-title" id="couponInfoLabel">' + cpnInfo.cpnNm + '</h5>');
+							$(".cartCpnInfoModal .modal-body .pop_head h6").text(cpnInfo.cpnNm);
 
 							if(conditionComment != "") { $(".cartCpnInfoModal .cpnCondition").html(conditionComment); }
 							else { $(".cartCpnInfoModal .cartCpnCondition").hide(); }
@@ -795,8 +803,13 @@
 					cartArr.push($(this).val());
 				});
 
+				if(cartArr.length == 0) {
+					cartArr.push(0);
+					$("#cartListForm .part_goods .goods_dlvr_save").hide();
+				}
+
 				// 선택된 장바구니 정보 가공
-				let data = {	cartSqArr : cartArr }
+				let data = {	cartSqArr : cartArr, shotDelvUseYn : $("input[name=shotDelvUseYn]:checked").val() }
 				let jsonData = JSON.stringify(data);
 
 				$.ajax( {
@@ -821,41 +834,37 @@
 				$("#cartListForm .applyTmtb").hide();
 				$("#cartListForm .notApplyTmtb").hide();
 
+				// 배송비 정보 0원으로 모두 변경 (체크 되지 않은 업체는 0원처리)
+				$("#cartListForm .delvArea .delvFeeArea").text("배송비 0원");
+
 				// 장바구니 각 상품 가격 정보 할인 전으로 변경
 				$("#cartListForm .cartInfo input[name=cartSq]").each(function() {
-					if($(this).parent().find(".calc_box .price_org").text() != "") {
-						$(this).parent().find(".calc_box .price_sale").text($(this).parent().find(".calc_box .price_org").text());
-						$(this).parent().find(".calc_box .price_org").remove();
+					if($(this).parent().find(".od_calc .sale_price>del>em").text() != "") {
+						$(this).parent().find(".od_calc .selling_price>em").text($(this).parent().find(".od_calc .sale_price>del>em").text());
+						$(this).parent().find(".od_calc .sale_price").hide();
 					}
 				});
 
-				$("#cartListForm").find(".delvFeeArea").html("<div class='info_dlvr'><span class='dlvr_fee'>배송비 무료</span></div>");
 				for(let i = 0 ; i < shotList.length ; i++) {
 					cartList.push(shotList[i]);
 					$("#cartListForm .shotCartInfo input[name=cartSq]").each(function() {
 						if(shotList[i].cartSq == $(this).val()) {
 							let shot = shotList[i];
-							$(this).parent().find(".od_moresale .applyTmtbNm > ul").html("");
-							$(this).parent().find(".od_moresale .notApplyTmtbNm > ul").html("");
 
 							// 다다익선 적용 정보 생성성
-							if(shot.qtyTmtbSq > 0 && shot.applyQtySectionYn == "Y") {
+							if((shot.qtyTmtbSq > 0 && shot.applyQtySectionYn == "Y") || (shot.amtTmtbSq > 0 && shot.applyAmtSectionYn == "Y")) {
 								$(this).parent().find(".applyTmtb").show();
 							}
-							if(shot.amtTmtbSq > 0 && shot.applyAmtSectionYn == "Y") {
-								$(this).parent().find(".applyTmtb").show();
-							}
-							if(shot.qtyTmtbSq > 0 && shot.applyQtySectionYn == "N") {
-								$(this).parent().find(".notApplyTmtb").show();
-							}
-							if(shot.amtTmtbSq > 0 && shot.applyAmtSectionYn == "N") {
+
+							if((shot.qtyTmtbSq > 0 && shot.applyQtySectionYn == "N") || (shot.amtTmtbSq > 0 && shot.applyAmtSectionYn == "N")) {
 								$(this).parent().find(".notApplyTmtb").show();
 							}
 
 							// 다다익선 할인가 적용
 							if(shot.tmtbDcAmt < shot.currPrice) {
-								$(this).parent().find(".calc_box .price_sale").text(Number(shot.tmtbDcAmt).toLocaleString() + " 원");
-								$(this).parent().find(".calc_box").prepend("<p><span class='price_org'><em>" + Number(shot.currPrice).toLocaleString() + "</em>원</span></p>");
+								$(this).parent().find(".od_calc .selling_price>em").text(Number(shot.tmtbDcAmt).toLocaleString());
+								$(this).parent().find(".od_calc .sale_price>del>em").text(Number(shot.currPrice).toLocaleString());
+								$(this).parent().find(".od_calc .sale_price").show();
 								$(this).parent().find("input[name=tmtbDcAmt]").val(shot.tmtbDcAmt);
 							}
 						}
@@ -871,23 +880,18 @@
 							$(this).parent().find(".od_moresale .notApplyTmtbNm > ul").html("");
 
 							// 다다익선 적용 정보 생성성
-							if(wms.qtyTmtbSq > 0 && wms.applyQtySectionYn == "Y") {
-								$(this).parent().find(".applyTmtb").show();
-							}
-							if(wms.amtTmtbSq > 0 && wms.applyAmtSectionYn == "Y") {
+							if((wms.qtyTmtbSq > 0 && wms.applyQtySectionYn == "Y") || (wms.amtTmtbSq > 0 && wms.applyAmtSectionYn == "Y")) {
 								$(this).parent().find(".applyTmtb").show();
 							}
-							if(wms.qtyTmtbSq > 0 && wms.applyQtySectionYn == "N") {
-								$(this).parent().find(".notApplyTmtb").show();
-							}
-							if(wms.amtTmtbSq > 0 && wms.applyAmtSectionYn == "N") {
+							if((wms.qtyTmtbSq > 0 && wms.applyQtySectionYn == "N") || (wms.amtTmtbSq > 0 && wms.applyAmtSectionYn == "N")) {
 								$(this).parent().find(".notApplyTmtb").show();
 							}
 
 							// 다다익선 할인가 적용
 							if(wms.tmtbDcAmt < wms.currPrice) {
-								$(this).parent().find(".calc_box .price_sale").text(Number(wms.tmtbDcAmt).toLocaleString() + " 원");
-								$(this).parent().find(".calc_box").prepend("<p><span class='price_org'><em>" + Number(wms.currPrice).toLocaleString() + "</em>원</span></p>");
+								$(this).parent().find(".od_calc .selling_price>em").text(Number(wms.tmtbDcAmt).toLocaleString());
+								$(this).parent().find(".od_calc .sale_price>del>em").text(Number(wms.currPrice).toLocaleString());
+								$(this).parent().find(".od_calc .sale_price").show();
 								$(this).parent().find("input[name=tmtbDcAmt]").val(wms.tmtbDcAmt);
 							}
 						}
@@ -895,11 +899,14 @@
 				}
 
 				// 자사 상품 배송비
-				if(order.wmsDelvFee == 0) {
-					$(".selfGoodsDelv").html("<span class='dlvr_fee'>배송비 무료</span>");
-				} else {
-					let html = "<span class='dlvr_fee'>배송비 <em>" + Number(order.wmsDelvFee).toLocaleString() + "</em> 원</span><a href='#' class='btn_popup_save'>배송비 SAVE 상품 보기</a>";
-					$(".selfGoodsDelv").html(html);
+				if(order.delvYn == "Y") {
+					if (order.wmsDelvFee == 0) {
+						$(".selfGoodsDelv").html("<span class='dlvr_fee delvFeeArea'>배송비 무료</span>");
+					} else {
+						let html = "<span class='dlvr_fee delvFeeArea'>배송비 <em>" + Number(order.wmsDelvFee).toLocaleString() + "</em> 원</span><span>STYLE24  배송</span>";
+						$(".selfGoodsDelv").parent().find(".goods_dlvr_save").show();
+						$(".selfGoodsDelv").html(html);
+					}
 				}
 
 				for(let i = 0 ; i < delvList.length ; i++) {
@@ -911,29 +918,25 @@
 							$(this).parent().find(".od_moresale .notApplyTmtbNm > ul").html("");
 
 							// 다다익선 적용 정보 생성성
-							if(delv.qtyTmtbSq > 0 && delv.applyQtySectionYn == "Y") {
+							if((delv.qtyTmtbSq > 0 && delv.applyQtySectionYn == "Y") || (delv.amtTmtbSq > 0 && delv.applyAmtSectionYn == "Y")) {
 								$(this).parent().find(".applyTmtb").show();
 							}
-							if(delv.amtTmtbSq > 0 && delv.applyAmtSectionYn == "Y") {
-								$(this).parent().find(".applyTmtb").show();
-							}
-							if(delv.qtyTmtbSq > 0 && delv.applyQtySectionYn == "N") {
+							if((delv.qtyTmtbSq > 0 && delv.applyQtySectionYn == "N") || (delv.amtTmtbSq > 0 && delv.applyAmtSectionYn == "N")) {
 								$(this).parent().find(".notApplyTmtb").show();
 							}
-							if(delv.amtTmtbSq > 0 && delv.applyAmtSectionYn == "N") {
-							}
 
 							// 다다익선 할인가 적용
 							if(delv.tmtbDcAmt < delv.currPrice) {
-								$(this).parent().find(".calc_box .price_sale").text(Number(delv.tmtbDcAmt).toLocaleString() + " 원");
-								$(this).parent().find(".calc_box").prepend("<p><span class='price_org'><em>" + Number(delv.currPrice).toLocaleString() + "</em>원</span></p>");
+								$(this).parent().find(".od_calc .selling_price>em").text(Number(delv.tmtbDcAmt).toLocaleString());
+								$(this).parent().find(".od_calc .sale_price>del>em").text(Number(delv.currPrice).toLocaleString());
 								$(this).parent().find("input[name=tmtbDcAmt]").val(delv.tmtbDcAmt);
 							}
 
 							if(delv.delvFee == 0) {
-								$(".delvList").find(".delv_" + delv.delvFeeCd).html("<span class='dlvr_fee'>배송비 무료</span><span class='dlvr_fee'><em>" + delv.supplyCompNm + "</em> 업체직배송</span>");
+								$(".delvList").find(".delv_" + delv.delvFeeCd).html("<span class='dlvr_fee delvFeeArea'>배송비 무료</span><span class='dlvr_fee'><em>" + delv.supplyCompNm + "</em> 업체직배송</span>");
 							} else {
-								let html = "<div className='order_delivery'><span class='dlvr_fee'>배송비 <em>" + Number(delv.delvFee).toLocaleString() + "</em>원</span><span class='dlvr_shop'><em>" + delv.supplyCompNm + "</em> 업체직배송</span><a href='#' className='btn_popup_save'>배송비 SAVE 상품 보기</a></div>";
+								let html = "<span class='dlvr_fee delvFeeArea'>배송비 <em>" + Number(delv.delvFee).toLocaleString() + "</em>원</span><span class='dlvr_shop'><em>" + delv.supplyCompNm + "</em> 업체직배송</span>";
+								$(".delvList").find(".delv_" + delv.delvFeeCd).parent().find(".goods_dlvr_save").show();
 								$(".delvList").find(".delv_" + delv.delvFeeCd).html(html);
 							}
 						}
@@ -1070,9 +1073,11 @@
 				let cartSqArr = [];
 				orderFlag = true;
 
-				if($("#cartListForm input[name=cartSqArr]:checked").length < 1) {
-					mcxDialog.alert("구매하실 상품을 선택해주세요.");
-					return false;
+				if(cartSq == 'all') {
+					if($("#cartListForm input[name=cartSqArr]:checked").length < 1) {
+						mcxDialog.alert("구매하실 상품을 선택해주세요.");
+						return false;
+					}
 				}
 
 				if(loginInfo == null || loginInfo.custNo == null || loginInfo.custNo == 0) {
@@ -1173,42 +1178,10 @@
 			$("#od_item_all").on("change", function() {
 				if($("#od_item_all").is(":checked")) {
 					$("input[name=cartSqArr]").prop("checked", true);
-					changeCartSqArr();
 				} else {
 					$("input[name=cartSqArr]").prop("checked", false);
-					// 하단 합계금액, 구매하기 수량 변경
-					$("#cartListForm .realOrderAmtText").text("0");
-					$("#cartListForm .realOrderQtyText").text("0");
-					$("#cartListForm .area_order .number").text("0");
-					$("#cartListForm .od_amount_box .sumListPrice").text("0");
-					$("#cartListForm .od_amount_box .totDelvFee").text("0");
-					$("#cartListForm .od_amount_box .totDcAmt").text("0");
-					$("#cartListForm .totalprice_box .sumRealPayAmt").text("0");
 				}
-			});
-
-			//수량조절 이벤트
-			$(document).on('click','.optModifyPop01 .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();
-				//수량1개 이하 감소버튼 비활성화
-				if ($input.val() == 1) {
-					$('.optModifyPop01 .number_count .minus').addClass('min_val');
-				}
-				return false;
-			}).on('click','.optModifyPop01 .number_count .plus',function(e){
-				var $input = $(this).parent().find('input');
-				$input.val(parseInt($input.val()) + 1);
-				$input.change();
-				//수량2개 이상부터 감소버튼 활성화
-				$('.optModifyPop01 .number_count .minus').removeClass('min_val');
-				return false;
-			}).on('keyup','.optModifyPop01 .number_count input[type=text]',function(e){
-				//텍스트, 0 입력금지
-				$(this).val($(this).val().replace(/[^1-9]/g,""));
+				changeCartSqArr();
 			});
 
 			/* 팝업 - 옵션변경 > 컬러선택 표기 */
@@ -1220,11 +1193,59 @@
 				return false;
 			});
 
-			/* 쿠폰정보 닫기 */
-			function cancelCartCpn() {
-				$("#cartListForm #sumRealPayAmt").text(Number(sumRealPayAmt).toLocaleString());
-				$("#cartListForm #totDcAmt").text(Number(totDcAmt).toLocaleString());
-				$("#cartListForm .area_salecoupon .coupon_box").hide();
+			function deleteCartAjax(cartArr, menu) {
+				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("삭제 되었습니다.");
+						let data = {shotDelvUseYn : $("input[name=shotDelvUseYn]:checked").val()};
+						getCartList(data);
+					}
+				});
+			}
+
+			function deleteCart(gbn, menu) {
+				let cartArr = [];
+				let confirmMessage = "";
+				if(gbn == "SELECT") {
+					$("#cartListForm input[name=cartSqArr]:checked").each(function () {
+						cartArr.push($(this).val());
+					});
+
+					if(cartArr.length < 1) {
+						mcxDialog.alert("선택된 상품이 없습니다.");
+						return false;
+					}
+
+					confirmMessage = "총 " + cartArr.length + "개의 상품을 삭제합니다.";
+				} else {
+					cartArr.push(gbn);
+					deleteCartAjax(cartArr, menu);
+					return false;
+				}
+
+				mcxDialog.confirm(confirmMessage, {
+					cancelBtnText: "취소/닫기",			//취소 또는 닫기 버튼명
+					sureBtnText  : "확인",				//처리문 버튼명
+					sureBtnClick : function () {
+						deleteCartAjax(cartArr, menu);
+					}
+				});
 			}
 		</script>
 	</form>

+ 24 - 0
src/main/webapp/WEB-INF/views/mob/cart/CartListFormMob.html

@@ -154,6 +154,30 @@
 			$("body").css({"overflow":"visible"});
 		});
 
+		//수량조절 이벤트
+		$(document).on('click','.optModifyPop01 .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();
+			//수량1개 이하 감소버튼 비활성화
+			if ($input.val() == 1) {
+				$('.optModifyPop01 .number_count .minus').addClass('min_val');
+			}
+			return false;
+		}).on('click','.optModifyPop01 .number_count .plus',function(e){
+			var $input = $(this).parent().find('input');
+			$input.val(parseInt($input.val()) + 1);
+			$input.change();
+			//수량2개 이상부터 감소버튼 활성화
+			$('.optModifyPop01 .number_count .minus').removeClass('min_val');
+			return false;
+		}).on('keyup','.optModifyPop01 .number_count input[type=text]',function(e){
+			//텍스트, 0 입력금지
+			$(this).val($(this).val().replace(/[^1-9]/g,""));
+		});
+
 		//팝업 - 쿠폰사용안내
 		$(document).on('click','#btn_couponInfo_pop',function(e){
 			//$("#couponInfoPop .modal-content").load("popup_couponInfo.html");

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/common/fragments/GnbSubMob.html

@@ -26,7 +26,7 @@
 					<i class="gl3"></i>
 				</span>
 			</button>
-			<h1 id="htopTitle">고객센터</h1>
+			<h1 id="htopTitle"></h1>
 		</section>
 	</header>
 	

+ 96 - 110
src/main/webapp/WEB-INF/views/web/cart/CartListAjaxFormWeb.html

@@ -140,10 +140,8 @@
 												</div>
 												<div class="gd_exinfo">
 													<p th:if="${!#strings.isEmpty(cart.delvResDt)}"><span class="tag primary_line">총알배송</span><span th:text="|${cart.delvResDt} 배송예정|"></span></p>
-													<p th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y'}" class="applyTmtb"><span class="tag primary">SALE</span>다다익선 할인 적용</p>
-													<p th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N'}" class="notApplyTmtb"><a href="" class="btn_moresale"><span class="tag primary">SALE</span>다다익선 상품보기</a></p>
-													<p th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y'}" class="applyTmtb"><span class="tag primary">SALE</span>다다익선 할인 적용</p>
-													<p th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N'}" class="notApplyTmtb"><a href="" class="btn_moresale"><span class="tag primary">SALE</span>다다익선 상품보기</a></p>
+													<p th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y')}" class="applyTmtb"><span class="tag primary">SALE</span>다다익선 할인 적용</p>
+													<p th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N')}" class="notApplyTmtb"><a href="" class="btn_moresale"><span class="tag primary">SALE</span>다다익선 상품보기</a></p>
 													<p th:if="${cart.soldoutYn.equals('Y') and cart.ordCanYn.equals('Y')}">품절된 상품입니다.</p>
 													<p th:if="${cart.ordCanYn.equals('N')}">해당 상품은 구매 불가능한 상품입니다.</p>
 													<p th:if="${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y') and cart.goodsQty < cart.minOrdQty}" th:text="|해당 상품은 최소 ${cart.minOrdQty}개부터 구매 가능합니다.|"></p>
@@ -249,10 +247,8 @@
 												<div class="gd_exinfo">
 													<div class="gd_exinfo">
 														<p th:if="${!#strings.isEmpty(cart.delvResDt)}" th:text="|${cart.delvResDt} 배송예정|"></p>
-														<p th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y'}" class="applyTmtb"><span class="tag primary">SALE</span>다다익선 할인 적용</p>
-														<p th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N'}" class="notApplyTmtb"><a href="" class="btn_moresale"><span class="tag primary">SALE</span>다다익선 상품보기</a></p>
-														<p th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y'}" class="applyTmtb"><span class="tag primary">SALE</span>다다익선 할인 적용</p>
-														<p th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N'}" class="notApplyTmtb"><a href="" class="btn_moresale"><span class="tag primary">SALE</span>다다익선 상품보기</a></p>
+														<p th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y')}" class="applyTmtb"><span class="tag primary">SALE</span>다다익선 할인 적용</p>
+														<p th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N')}" class="notApplyTmtb"><a href="" class="btn_moresale"><span class="tag primary">SALE</span>다다익선 상품보기</a></p>
 														<p th:if="${cart.soldoutYn.equals('Y') and cart.ordCanYn.equals('Y')}">품절된 상품입니다.</p>
 														<p th:if="${cart.ordCanYn.equals('N')}">해당 상품은 구매 불가능한 상품입니다.</p>
 														<p th:if="${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y') and cart.goodsQty < cart.minOrdQty}" th:text="|해당 상품은 최소 ${cart.minOrdQty}개부터 구매 가능합니다.|"></p>
@@ -369,10 +365,8 @@
 												</div>
 												<div class="gd_exinfo">
 													<p th:if="${!#strings.isEmpty(cart.delvResDt)}" th:text="|${cart.delvResDt} 배송예정|"></p>
-													<p th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y'}" class="applyTmtb"><span class="tag primary">SALE</span>다다익선 할인 적용</p>
-													<p th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N'}" class="notApplyTmtb"><a href="" class="btn_moresale"><span class="tag primary">SALE</span>다다익선 상품보기</a></p>
-													<p th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y'}" class="applyTmtb"><span class="tag primary">SALE</span>다다익선 할인 적용</p>
-													<p th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N'}" class="notApplyTmtb"><a href="" class="btn_moresale"><span class="tag primary">SALE</span>다다익선 상품보기</a></p>
+													<p th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y')}" class="applyTmtb"><span class="tag primary">SALE</span>다다익선 할인 적용</p>
+													<p th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N')}" class="notApplyTmtb"><a href="" class="btn_moresale"><span class="tag primary">SALE</span>다다익선 상품보기</a></p>
 													<p th:if="${cart.soldoutYn.equals('Y') and cart.ordCanYn.equals('Y')}">품절된 상품입니다.</p>
 													<p th:if="${cart.ordCanYn.equals('N')}">해당 상품은 구매 불가능한 상품입니다.</p>
 													<p th:if="${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y') and cart.goodsQty < cart.minOrdQty}" th:text="|해당 상품은 최소 ${cart.minOrdQty}개부터 구매 가능합니다.|"></p>
@@ -546,28 +540,36 @@
 	<script th:inline="javascript">
 		let sumRealPayAmt = [[${order.sumRealPayAmt + order.totDelvFee}]];
 		let totDcAmt = [[${order.totDcAmt}]];
-		let loginInfo = [[${loginInfo}]];
+		let loginInfo = new Object();
 		let orderFlag = true;
 
-		function NotApplyTmtbCartList() {
-			let tmtbSq = 0;
-			let tmtbNm = "";
-			let goodsList = {
-				brandNm : "",
-				goodsNm : "",
-				currPrice : 0,
-				imgPath : ""
-			}
-		}
+		function setLoginInfo() {
+			gagajf.ajaxJsonSubmit("/cart/login/info", null, function (result) {
+				loginInfo = result;
+
+				if (!loginInfo || loginInfo.custNo == null || loginInfo.custNo == 0) {
+					$("#cartListForm .area_salecoupon").hide();
+				}
+			});
+		};
 
 		$(document).ready(function() {
+			setLoginInfo();
+
+			if([[${!order.shotCanYn.equals('Y')}]]) {
+				$(".shotDelvSelect").hide();
+			}
+
+			$("#cartListForm .area_salecoupon .coupon_box").hide();
+
+			/* 딜 및 일반 상품 */
 			/*let compsList = [];
 			let temp 			= new Object;
 			temp.goodsCd 		= "AOW13QDM76";
 			temp.optCd 			= "13256848-2";
 			temp.goodsQty 		= 3;
 			temp.goodsType 		= "G056_N";
-			temp.cartGb 		= "O";
+			temp.cartGb 		= "G";
 			temp.afLinkCd 		= "afLinkCd";
 			temp.ithrCd 		= "G027_ZZZ";
 			temp.contentsLoc 	= "G028_YYY";
@@ -579,23 +581,14 @@
 			temp.optCd 			= "13256848-6";
 			temp.goodsQty 		= 3;
 			temp.goodsType 		= "G056_N";
-			temp.cartGb 		= "O";
+			temp.cartGb 		= "G";
 			temp.afLinkCd 		= "afLinkCd";
 			temp.ithrCd 		= "G027_ZZZ";
 			temp.contentsLoc 	= "G028_YYY";
 			temp.planDtlSq 		= "123";
 			compsList.push(temp);
-			cfnAddCart(compsList);*/
-
-			if([[${!order.shotCanYn.equals('Y')}]]) {
-				$(".shotDelvSelect").hide();
-			}
-
-			$("#cartListForm .area_salecoupon .coupon_box").hide();
 
-			if(!loginInfo || loginInfo.custNo == null || loginInfo.custNo == 0) {
-				$("#cartListForm .area_salecoupon").hide();
-			}
+			cfnAddCart(compsList);*/
 
 			/* 세트상품 장바구니 */
 			/*let goodsList = {
@@ -605,24 +598,36 @@
 
 			let compsList = [];
 			let temp = new Object;
-			temp.goodsCd = "STYS00000005";
-			temp.itemCd = "A83F-DP568S";
-			temp.optCd = "14019445-1";
+			temp.goodsCd = "STYS00000009";
+			temp.itemCd = "ELW23ZVE83";
+			temp.optCd = "13520522-3";
 			temp.goodsQty = 3;
 			temp.goodsType = "G056_S";
-			temp.cartGb = "C";
+			temp.cartGb = "G";
 			temp.afLinkCd = "aaaa";
 			temp.ithrCd = "12311";
 			temp.contentsLoc = "afasd";
 			temp.planDtlSq = "44";
 			compsList.push(temp);
 			temp = new Object;
-			temp.goodsCd = "STYS00000005";
-			temp.itemCd = "A83F-TS517S";
-			temp.optCd = "11867579-1";
+			temp.goodsCd = "STYS00000009";
+			temp.itemCd = "EMF11QPT46";
+			temp.optCd = "10195722-4";
 			temp.goodsQty = 3;
 			temp.goodsType = "G056_S";
-			temp.cartGb = "C";
+			temp.cartGb = "G";
+			temp.afLinkCd = "aaaa";
+			temp.ithrCd = "12311";
+			temp.contentsLoc = "afasd";
+			temp.planDtlSq = "44";
+			compsList.push(temp);
+			temp = new Object;
+			temp.goodsCd = "STYS00000009";
+			temp.itemCd = "EMF11QTS37";
+			temp.optCd = "10702803-2";
+			temp.goodsQty = 3;
+			temp.goodsType = "G056_S";
+			temp.cartGb = "G";
 			temp.afLinkCd = "aaaa";
 			temp.ithrCd = "12311";
 			temp.contentsLoc = "afasd";
@@ -637,24 +642,36 @@
 				cartCompsList : new Array()
 			}
 			temp = new Object;
-			temp.goodsCd = "STYS00000005";
-			temp.itemCd = "A83F-DP568S";
-			temp.optCd = "14019445-3";
-			temp.goodsQty = 3;
+			temp.goodsCd = "STYS00000009";
+			temp.itemCd = "ELW23ZVE83";
+			temp.optCd = "13520522-1";
+			temp.goodsQty = 2;
 			temp.goodsType = "G056_S";
-			temp.cartGb = "C";
+			temp.cartGb = "G";
 			temp.afLinkCd = "aaaa";
 			temp.ithrCd = "12311";
 			temp.contentsLoc = "afasd";
 			temp.planDtlSq = "44";
 			compsList2.push(temp);
 			temp = new Object;
-			temp.goodsCd = "STYS00000005";
-			temp.itemCd = "A83F-TS517S";
-			temp.optCd = "14024048-1";
-			temp.goodsQty = 3;
+			temp.goodsCd = "STYS00000009";
+			temp.itemCd = "EMF11QPT46";
+			temp.optCd = "10195722-2";
+			temp.goodsQty = 2;
+			temp.goodsType = "G056_S";
+			temp.cartGb = "G";
+			temp.afLinkCd = "aaaa";
+			temp.ithrCd = "12311";
+			temp.contentsLoc = "afasd";
+			temp.planDtlSq = "44";
+			compsList2.push(temp);
+			temp = new Object;
+			temp.goodsCd = "STYS00000009";
+			temp.itemCd = "EMF11QTS37";
+			temp.optCd = "10702803-1";
+			temp.goodsQty = 2;
 			temp.goodsType = "G056_S";
-			temp.cartGb = "C";
+			temp.cartGb = "G";
 			temp.afLinkCd = "aaaa";
 			temp.ithrCd = "12311";
 			temp.contentsLoc = "afasd";
@@ -797,8 +814,13 @@
 				cartArr.push($(this).val());
 			});
 
+			if(cartArr.length == 0) {
+				cartArr.push(0);
+				$("#cartListForm .goods_foot .btn_popup_save").hide();
+			}
+
 			// 선택된 장바구니 정보 가공
-			let data = {	cartSqArr : cartArr }
+			let data = {	cartSqArr : cartArr, shotDelvUseYn : $("input[name=shotDelvUseYn]:checked").val() }
 			let jsonData = JSON.stringify(data);
 
 			$.ajax( {
@@ -826,16 +848,6 @@
 			// 배송비 정보 0원으로 모두 변경 (체크 되지 않은 업체는 0원처리)
 			$("#cartListForm .goods_foot .delvFeeArea").text("배송비 0원");
 
-			/*$("#cartListForm .goods_foot").each(function() {
-				alert($(this).parent().find("input[name=supplyCompNm]").val());
-				let compNm = $(this).parent().find("input[name=supplyCompNm]").val();
-				let html = "<span class='dlvr_fee delvFeeArea'>배송비 <em>0</em>원</span>";
-				if(compNm != "WMS") {
-					html += "<span class='dlvr_shop'><em>" + compNm + "</em> 업체직배송</span>";
-				};
-				$(this).find(".order_delivery").html(html);
-			});*/
-
 			// 장바구니 각 상품 가격 정보 할인 전으로 변경
 			$("#cartListForm .cartInfo input[name=cartSq]").each(function() {
 				if($(this).parent().find(".calc_box .price_org").text() != "") {
@@ -846,7 +858,6 @@
 
 			// $("#cartListForm").find(".delvFeeArea").html("<div class='info_dlvr'><span class='dlvr_fee'>배송비 무료</span></div>");
 			for(let i = 0 ; i < shotList.length ; i++) {
-				cartList.push(shotList[i]);
 				$("#cartListForm .shotCartInfo input[name=cartSq]").each(function() {
 					if(shotList[i].cartSq == $(this).val()) {
 						let shot = shotList[i];
@@ -854,16 +865,10 @@
 						$(this).parent().find(".od_moresale .notApplyTmtbNm > ul").html("");
 
 						// 다다익선 적용 정보 생성성
-						if(shot.qtyTmtbSq > 0 && shot.applyQtySectionYn == "Y") {
+						if((shot.qtyTmtbSq > 0 && shot.applyQtySectionYn == "Y") || shot.amtTmtbSq > 0 && shot.applyAmtSectionYn == "Y") {
 							$(this).parent().find(".applyTmtb").show();
 						}
-						if(shot.amtTmtbSq > 0 && shot.applyAmtSectionYn == "Y") {
-							$(this).parent().find(".applyTmtb").show();
-						}
-						if(shot.qtyTmtbSq > 0 && shot.applyQtySectionYn == "N") {
-							$(this).parent().find(".notApplyTmtb").show();
-						}
-						if(shot.amtTmtbSq > 0 && shot.applyAmtSectionYn == "N") {
+						if((shot.qtyTmtbSq > 0 && shot.applyQtySectionYn == "N") || shot.amtTmtbSq > 0 && shot.applyAmtSectionYn == "N") {
 							$(this).parent().find(".notApplyTmtb").show();
 						}
 
@@ -878,17 +883,16 @@
 			}
 
 			// 자사 상품 배송비
-			if(order.delvYn == "N" || order.delvYn == null) {
-
-			} else if(order.wmsDelvFee == 0) {
-				$(".selfGoodsDelv").html("<span class='dlvr_fee'>배송비 무료</span>");
-			} else {
-				let html = "<span class='dlvr_fee'>배송비 <em>" + Number(order.wmsDelvFee).toLocaleString() + "</em> 원</span><a href='#' class='btn_popup_save'>배송비 SAVE 상품 보기</a>";
-				$(".selfGoodsDelv").html(html);
+			if(order.delvYn == "Y") {
+				if (order.wmsDelvFee == 0) {
+					$(".selfGoodsDelv").html("<span class='dlvr_fee delvFeeArea'>배송비 무료</span>");
+				} else {
+					let html = "<span class='dlvr_fee delvFeeArea'>배송비 <em>" + Number(order.wmsDelvFee).toLocaleString() + "</em> 원</span><a href='#' class='btn_popup_save'>배송비 SAVE 상품 보기</a>";
+					$(".selfGoodsDelv").html(html);
+				}
 			}
 
 			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];
@@ -896,16 +900,10 @@
 						$(this).parent().find(".od_moresale .notApplyTmtbNm > ul").html("");
 
 						// 다다익선 적용 정보 생성성
-						if(wms.qtyTmtbSq > 0 && wms.applyQtySectionYn == "Y") {
+						if((wms.qtyTmtbSq > 0 && wms.applyQtySectionYn == "Y") || (wms.amtTmtbSq > 0 && wms.applyAmtSectionYn == "Y")) {
 							$(this).parent().find(".applyTmtb").show();
 						}
-						if(wms.amtTmtbSq > 0 && wms.applyAmtSectionYn == "Y") {
-							$(this).parent().find(".applyTmtb").show();
-						}
-						if(wms.qtyTmtbSq > 0 && wms.applyQtySectionYn == "N") {
-							$(this).parent().find(".notApplyTmtb").show();
-						}
-						if(wms.amtTmtbSq > 0 && wms.applyAmtSectionYn == "N") {
+						if((wms.qtyTmtbSq > 0 && wms.applyQtySectionYn == "N") || (wms.amtTmtbSq > 0 && wms.applyAmtSectionYn == "N")) {
 							$(this).parent().find(".notApplyTmtb").show();
 						}
 
@@ -920,7 +918,6 @@
 			}
 
 			for(let i = 0 ; i < delvList.length ; i++) {
-				cartList.push(delvList[i]);
 				$("#cartListForm .delvList .delvCartInfo input[name=cartSq]").each(function() {
 					if(delvList[i].cartSq == $(this).val()) {
 						let delv = delvList[i];
@@ -928,17 +925,12 @@
 						$(this).parent().find(".od_moresale .notApplyTmtbNm > ul").html("");
 
 						// 다다익선 적용 정보 생성성
-						if(delv.qtyTmtbSq > 0 && delv.applyQtySectionYn == "Y") {
-							$(this).parent().find(".applyTmtb").show();
-						}
-						if(delv.amtTmtbSq > 0 && delv.applyAmtSectionYn == "Y") {
+						if((delv.qtyTmtbSq > 0 && delv.applyQtySectionYn == "Y") || (delv.amtTmtbSq > 0 && delv.applyAmtSectionYn == "Y")) {
 							$(this).parent().find(".applyTmtb").show();
 						}
-						if(delv.qtyTmtbSq > 0 && delv.applyQtySectionYn == "N") {
+						if((delv.qtyTmtbSq > 0 && delv.applyQtySectionYn == "N") || (delv.amtTmtbSq > 0 && delv.applyAmtSectionYn == "N")) {
 							$(this).parent().find(".notApplyTmtb").show();
 						}
-						if(delv.amtTmtbSq > 0 && delv.applyAmtSectionYn == "N") {
-						}
 
 						// 다다익선 할인가 적용
 						if(delv.tmtbDcAmt < delv.currPrice) {
@@ -951,7 +943,7 @@
 						if(delv.delvFee == 0) {
 							$(".delvList").find(".delv_" + delv.delvFeeCd).html("<span class='dlvr_fee delvFeeArea'>배송비 무료</span><span class='dlvr_fee'><em>" + delv.supplyCompNm + "</em> 업체직배송</span>");
 						} else {
-							let html = "<div className='order_delivery'><span class='dlvr_fee delvFeeArea'>배송비 <em>" + Number(delv.delvFee).toLocaleString() + "</em>원</span><span class='dlvr_shop'><em>" + delv.supplyCompNm + "</em> 업체직배송</span><a href='#' className='btn_popup_save'>배송비 SAVE 상품 보기</a></div>";
+							let html = "<span class='dlvr_fee delvFeeArea'>배송비 <em>" + Number(delv.delvFee).toLocaleString() + "</em>원</span><span class='dlvr_shop'><em>" + delv.supplyCompNm + "</em> 업체직배송</span><a href='#' class='btn_popup_save'>배송비 SAVE 상품 보기</a>";
 							$(".delvList").find(".delv_" + delv.delvFeeCd).html(html);
 						}
 					}
@@ -1103,9 +1095,11 @@
 			let cartSqArr = [];
 			orderFlag = true;
 
-			if($("#cartListForm input[name=cartSqArr]:checked").length < 1) {
-				mcxDialog.alert("구매하실 상품을 선택해주세요.");
-				return false;
+			if(cartSq == 'all') {
+				if ($("#cartListForm input[name=cartSqArr]:checked").length < 1) {
+					mcxDialog.alert("구매하실 상품을 선택해주세요.");
+					return false;
+				}
 			}
 
 			if(loginInfo == null || loginInfo.custNo == null || loginInfo.custNo == 0) {
@@ -1190,18 +1184,10 @@
 		$("#od_item_all").on("change", function() {
 			if($("#od_item_all").is(":checked")) {
 				$("input[name=cartSqArr]").prop("checked", true);
-				changeCartSqArr();
 			} else {
 				$("input[name=cartSqArr]").prop("checked", false);
-				// 하단 합계금액, 구매하기 수량 변경
-				$("#cartListForm .realOrderAmtText").text("0");
-				$("#cartListForm .realOrderQtyText").text("0");
-				$("#cartListForm .area_order .number").text("0");
-				$("#cartListForm .od_amount_box .sumListPrice").text("0");
-				$("#cartListForm .od_amount_box .totDelvFee").text("0");
-				$("#cartListForm .od_amount_box .totDcAmt").text("0");
-				$("#cartListForm .totalprice_box .sumRealPayAmt").text("0");
 			}
+			changeCartSqArr();
 		});
 	</script>
 </div>

+ 1 - 23
src/main/webapp/WEB-INF/views/web/common/fragments/FooterWeb.html

@@ -990,7 +990,7 @@
 				if(menu == "cart") {
 					let data = {shotDelvUseYn : $("input[name=shotDelvUseYn]:checked").val()};
 					getCartList(data);
-				} else if (menu = "quick") {
+				} else if (menu == "quick") {
 					fnGetCartGoodsList();
 				}
 			}
@@ -1011,24 +1011,6 @@
 			}
 
 			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, menu);
@@ -1044,10 +1026,6 @@
 		});
 	}
 
-	function quickCartOrder() {
-
-	}
-
 	// 장바구니
 	let fnGetCartGoodsList = function() {
 		$.getJSON('/cart/quick/cart/list', function(order, status) {

+ 12 - 1
src/main/webapp/ux/style24_link.js

@@ -281,8 +281,19 @@ function cfnAddCart(cartList) {
 					} else {
 						$("#directOrderForm").submit();
 					}
+				} else if (result.cartGb == "G") {
+					if(result.custNo == 0) {
+						location.href="/signin";
+					}
+					
+					let orderHtml = "";
+					for(let i = 0 ; i < result.cartSqList.length ; i++) {
+						orderHtml += '<input type="hidden" name="cartSqArr" value="' + result.cartSqList[i] + '" />';
+					}
+					$("#directOrderForm").html(orderHtml);
+					$("#directOrderForm").submit();
 				} else {
-					mcxDialog.alert("쇼핑백담기, 바로구매가 아닌 상태입니다. 해당 요청이 맞다면 새로고침 후 다시시도해주세요.");
+					mcxDialog.alert("해당 기능을 사용 할 수 없습니다. 새로고침 후 다시 시도해주세요.");
 				}
 			} else {
 				mcxDialog.alert(result.message);