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

이태영 - 20210406 장바구니 PC 및 퀵메뉴 장바구니 임시커밋

xodud1202 5 лет назад
Родитель
Сommit
5de7fae351

+ 12 - 0
src/main/java/com/style24/front/biz/service/TsfCartService.java

@@ -15,6 +15,7 @@ import org.thymeleaf.util.StringUtils;
 import com.gagaframework.web.parameter.GagaMap;
 import com.style24.core.biz.dao.TscEnvsetDao;
 import com.style24.core.biz.service.TscOrderService;
+import com.style24.core.support.annotation.ShopDs;
 import com.style24.core.support.env.TscConstants;
 import com.style24.core.support.session.TscSession;
 import com.style24.front.biz.dao.TsfCartDao;
@@ -84,6 +85,12 @@ public class TsfCartService {
 			}
 			if (TscConstants.GoodsStat.SOLDOUT.value().equals(goods.getGoodsStat())) {
 				throw new IllegalArgumentException("품절입니다.");
+			} else if (!TscConstants.GoodsStat.SOLDOUT.value().equals(goods.getGoodsStat()) && !TscConstants.GoodsStat.APPR.value().equals(goods.getGoodsStat())) {
+				throw new IllegalArgumentException("판매중인 상품이 아닙니다.");
+			} else if (param.getGoodsQty() > goods.getMaxOrdQty()) {
+				throw new IllegalArgumentException(goods.getGoodsNm() + " 상품의 최대 구매 수량은 " + goods.getMaxOrdQty() + " 입니다.");
+			} else if (param.getGoodsQty() < goods.getMinOrdQty()) {
+				throw new IllegalArgumentException(goods.getGoodsNm() + " 상품의 최소 구매 수량은 " + goods.getMinOrdQty() + " 입니다.");
 			}
 
 			// 상품 재고 확인
@@ -192,6 +199,10 @@ public class TsfCartService {
 				cartDao.updateCartInfo(cart);               // 장바구니 정보 수정
 				cartDao.insertCartHst(cart);                // 장바구니 수정 이력 저장
 			}
+
+			for (Cart param : params) {
+				param.setCartSq(cart.getCartSq());
+			}
 		} else {
 			cartDao.insertCartInfo(cart);					// 장바구니 마스터 정보 저장
 			cartDao.insertCartHst(cart);                    // 장바구니 이력 정보 저장
@@ -1074,6 +1085,7 @@ public class TsfCartService {
 	 * @author xodud1202
 	 * @since 2021. 04. 02
 	 */
+	@Transactional("shopTxnManager")
 	public Order updateCartGoodsQty(Order param) {
 		if(TsfSession.isLogin()) {
 			param.setCustNo(TsfSession.getInfo().getCustNo());

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

@@ -100,15 +100,15 @@ public class TsfCartController extends TsfBaseController {
 	 */
 	@ResponseBody
 	@PostMapping("/save")
-	public String createCart(@RequestBody Collection<Cart> params) {
+	public Collection<Cart> createCart(@RequestBody Collection<Cart> params) {
 		try {
 			cartService.saveCartInfo(params);
 		} catch (Exception e) {
 			e.printStackTrace();
-			return e.getMessage();
+			throw new IllegalArgumentException();
 		}
 
-		return message.getMessage("SUCC_0001");
+		return params;
 	}
 
 	// @ResponseBody
@@ -259,7 +259,6 @@ public class TsfCartController extends TsfBaseController {
 	@ResponseBody
 	@PostMapping("/update/goodsQty")
 	public Order updateCartGoodsQty(@RequestBody Order param) {
-		Order result = new Order();
 		return cartService.updateCartGoodsQty(param);
 	}
 

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

@@ -511,6 +511,7 @@
 		     , Z.BRAND_KNM
 			 , Z.SUPPLY_COMP_NM
 			 , Z.GOODS_QTY
+		     , Z.DELV_RES_DT
 			 , Z.GOODS_TYPE
 			 , Z.SUPPLY_COMP_CD
 			 , Z.DELV_FEE_CD
@@ -556,6 +557,7 @@
 		             , DFP.DELV_FEE
 		             , (SELECT SUPPLY_COMP_NM FROM TB_SUPPLY_COMPANY WHERE SUPPLY_COMP_CD = G.SUPPLY_COMP_CD) AS SUPPLY_COMP_NM
 		             , (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = CD.ITEM_CD) AS ITEM_NM
+		             , (SELECT MIN(DATE_FORMAT(DELV_RES_DT,'%Y.%m.%d')) FROM TB_GOODS_RES_SELL WHERE GOODS_CD = G.GOODS_CD AND NOW() <![CDATA[ < ]]> DELV_RES_DT AND USE_YN = 'Y') AS DELV_RES_DT
 		             , CASE WHEN G.SELF_GOODS_YN = 'Y' THEN 'WMS'
 		                    ELSE DFP.DELV_FEE_CD END AS DELV_FEE_CD
 		             , CASE WHEN GQDS.GOODS_CD IS NULL AND G.SELF_GOODS_YN = 'Y' THEN 'SHOT'
@@ -689,6 +691,7 @@
 		     , Z.GOODS_STAT
 		     , Z.GOODS_CD
 		     , Z.GOODS_QTY
+		     , Z.DELV_RES_DT
 		     , Z.GOODS_TYPE
 		     , Z.SUPPLY_COMP_CD
 		     , Z.GOODS_NM

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

@@ -54,7 +54,7 @@
 						<div class="form_field">
 							<input id="od_item_all" type="checkbox" checked="checked"><label for="od_item_all"><span>전체선택</span></label>
 						</div>
-						<button type="button" class="btn btn_default btn_sm"><span>선택삭제</span></button>
+						<button type="button" class="btn btn_default btn_sm" onclick="deleteCart('SELECT', 'cart')"><span>선택삭제</span></button>
 					</div>
 				</div>
 
@@ -175,7 +175,7 @@
 														</button>
 													</span>
 													<span>
-														<button type="button" class="btn_delete" th:onclick="|deleteCart(${cart.cartSq})|">
+														<button type="button" class="btn_delete" th:onclick="|deleteCart(${cart.cartSq}, 'cart')|">
 															<span><i class="ico ico_trash"></i><em class="sr-only">상품삭제</em></span>
 														</button>
 													</span>
@@ -284,7 +284,7 @@
 														</button>
 													</span>
 													<span>
-														<button type="button" class="btn_delete" th:onclick="|deleteCart(${cart.cartSq})|">
+														<button type="button" class="btn_delete" th:onclick="|deleteCart(${cart.cartSq}, 'cart')|">
 															<span><i class="ico ico_trash"></i><em class="sr-only">상품삭제</em></span>
 														</button>
 													</span>
@@ -402,7 +402,7 @@
 														</button>
 													</span>
 													<span>
-														<button type="button" class="btn_delete" th:onclick="|deleteCart(${cart.cartSq})|">
+														<button type="button" class="btn_delete" th:onclick="|deleteCart(${cart.cartSq}, 'cart')|">
 															<span><i class="ico ico_trash"></i><em class="sr-only">상품삭제</em></span>
 														</button>
 													</span>
@@ -761,7 +761,7 @@
 			return false;
 		});
 
-		function deleteCartAjax(cartArr) {
+		/*function deleteCartAjax(cartArr) {
 			if(cartArr.length < 1) {
 				mcxDialog.alert("삭제하실 상품을 선택해 주세요.");
 				return false;
@@ -785,9 +785,9 @@
 					getCartList(data);
 				}
 			});
-		}
+		}*/
 
-		function deleteCart(gbn) {
+		/*function deleteCart(gbn) {
 			let cartArr = [];
 			let confirmMessage = "";
 			if(gbn == "WMS_SELECT") {
@@ -821,13 +821,13 @@
 			}
 
 			mcxDialog.confirm(confirmMessage, {
-				cancelBtnText: "취소/닫기",		//취소 또는 닫기 버튼명
+				cancelBtnText: "취소/닫기",			//취소 또는 닫기 버튼명
 				sureBtnText  : "확인",				//처리문 버튼명
 				sureBtnClick : function () {
 					deleteCartAjax(cartArr);
 				}
 			});
-		}
+		}*/
 
 		$("input[name=cartSqArr]").on("change", function(e) {
 			let cartArr = [];

+ 145 - 55
src/main/webapp/WEB-INF/views/web/common/fragments/FooterWeb.html

@@ -289,7 +289,7 @@
 					<h3><a href="">쇼핑백</a></h3>
 				</div>
 				<div class="quick_body nodata"> <!-- 쇼핑백 상품 없을 시 nodata 클래스 추가 -->
-					<div class="product_count"><span class='c_primary'>30</span>개의 상품</div>
+					<!--<div class="product_count"><span class='c_primary'>30</span>개의 상품</div>
 					<div class="itemsGrp existence">
 						<div class="item_prod">
 							<button type="button" class="delete_btn"><span class="sr-only">해당상품 삭제</span></button>
@@ -368,7 +368,7 @@
 							</div>
 						</div>
 					</div>
-					<!-- 쇼핑백 없을 시 -->
+					&lt;!&ndash; 쇼핑백 없을 시 &ndash;&gt;
 					<div class="itemsGrp empty">
 						<p class="desc">쇼핑백에 담긴 상품이 없습니다.</p>
 						<span class="subH3">지금 많이 보고있어요</span>
@@ -383,7 +383,7 @@
 									<p class="itemPrice">80,100
 										<span class="itemPrice_original">89,000</span>
 									</p>
-									<!-- 미사용 <button type="button" class="btn btn_sm cart_btn"><span>쇼핑백 담기</span></button> -->
+									&lt;!&ndash; 미사용 <button type="button" class="btn btn_sm cart_btn"><span>쇼핑백 담기</span></button> &ndash;&gt;
 									<div class="viewCount"><span>508</span>명 보는중</div>
 								</a>
 							</div>
@@ -399,7 +399,7 @@
 									<p class="itemPrice">80,100
 										<span class="itemPrice_original">89,000</span>
 									</p>
-									<!-- 미사용 <button type="button" class="btn btn_sm cart_btn on"><span>쇼핑백 담기</span></button> -->
+									&lt;!&ndash; 미사용 <button type="button" class="btn btn_sm cart_btn on"><span>쇼핑백 담기</span></button> &ndash;&gt;
 									<div class="viewCount"><span>58</span>명 보는중</div>
 								</a>
 							</div>
@@ -415,7 +415,7 @@
 									<p class="itemPrice">80,100
 										<span class="itemPrice_original">89,000</span>
 									</p>
-									<!-- 미사용 <button type="button" class="btn btn_sm cart_btn on"><span>쇼핑백 담기</span></button> -->
+									&lt;!&ndash; 미사용 <button type="button" class="btn btn_sm cart_btn on"><span>쇼핑백 담기</span></button> &ndash;&gt;
 									<div class="viewCount"><span>9</span>명 보는중</div>
 								</a>
 							</div>
@@ -431,14 +431,14 @@
 									<p class="itemPrice">80,100
 										<span class="itemPrice_original">89,000</span>
 									</p>
-									<!-- 미사용 <button type="button" class="btn btn_sm cart_btn"><span>쇼핑백 담기</span></button> -->
+									&lt;!&ndash; 미사용 <button type="button" class="btn btn_sm cart_btn"><span>쇼핑백 담기</span></button> &ndash;&gt;
 									<div class="viewCount"><span>452</span>명 보는중</div>
 								</a>
 							</div>
 						</div>
-					</div>
+					</div>-->
 					<!-- //쇼핑백 없을 시 -->
-					<button type="button" class="btn btn_default purchase_btn"><span>전체 상품 구매하기</span></button>
+					<!-- <button type="button" class="btn btn_default purchase_btn"><span>전체 상품 구매하기</span></button> -->
 				</div>
 			</div>
 			<div class="wishlist quick_con quick03"> <!-- 퀵메뉴_위시리스트 -->
@@ -967,73 +967,163 @@
 // 	});
 	}
 
+	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("삭제 되었습니다.");
+				if(menu == "cart") {
+					let data = {shotDelvUseYn : $("input[name=shotDelvUseYn]:checked").val()};
+					getCartList(data);
+				} else if (menu = "quick") {
+					fnGetCartGoodsList();
+				}
+			}
+		});
+	}
+
+	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 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);
+			return false;
+		}
+
+		mcxDialog.confirm(confirmMessage, {
+			cancelBtnText: "취소/닫기",			//취소 또는 닫기 버튼명
+			sureBtnText  : "확인",				//처리문 버튼명
+			sureBtnClick : function () {
+				deleteCartAjax(cartArr, menu);
+			}
+		});
+	}
+
+	function quickCartOrder() {
+
+	}
+
 	// 장바구니
 	let fnGetCartGoodsList = function() {
 		$.getJSON('/cart/quick/cart/list', function(order, status) {
-			$(".shopingbag.quick_con.quick02 .quick_head a").attr("href", _PAGE_CART);
+			$("#quick_menu .shopingbag.quick_con.quick02 .quick_head a").attr("href", _PAGE_CART);
 
 			if (status == 'success') {
 				let quickShoppingBagHtml = "";
-				$("#quick02 .count").text(order.totCartCnt);
+				$("#quick_menu #quick02 .count").text(order.totCartCnt);
 
-				//$(".shopingbag.quick_con.quick02 .quick_body").html("");
+				$("#quick_menu .shopingbag.quick_con.quick02 .quick_body").html("");
 				if(order.totCartCnt > 0) {
-					$(".shopingbag.quick_con.quick02 .quick_body").removeClass("nodata");
+					$("#quick_menu .shopingbag.quick_con.quick02 .quick_body").removeClass("nodata");
 
 					quickShoppingBagHtml += '<div class="product_count"><span class="c_primary">' + order.totCartCnt + '</span>개의 상품</div>';
 					quickShoppingBagHtml += '<div class="itemsGrp existence">';
-
-					for(let i = 0 ; i < order.delvAllCartList ; i++) {
+					let ordCanCnt = 0;
+					for(let i = 0 ; i < order.delvAllCartList.length ; i++) {
 						let info = order.delvAllCartList[i];
+						//alert(info.soldoutYn + " / " + info.ordCanYn + " / " + info.ordCanQty + " / " + info.goodsQty + " / " + info.minOrdQty + " / " + info.maxOrdQty);
+						if(info.soldoutYn == "N" && info.ordCanYn == "Y" && info.ordCanQty >= info.goodsQty && info.goodsQty >= info.minOrdQty && info.goodsQty <= info.maxOrdQty){
+							ordCanCnt++;		// 주문 가능 수량
+							quickShoppingBagHtml += '	<div class="item_prod">';
+							quickShoppingBagHtml += '		<input type="hidden" id="cartSq" value="' + info.cartSq + '">';
+							quickShoppingBagHtml += '		<button type="button" class="delete_btn" onclick="deleteCart(' + info.cartSq + ", 'quick'" + ')" style="z-index:99;"><span class="sr-only">해당상품 삭제</span></button>';
+							quickShoppingBagHtml += '		<div class="item_state">';
+							if(info.ordCanQty < 6 && info.ordCanQty > 0) {
+								quickShoppingBagHtml += '			<div class="shape"><span>곧 품절돼요!</span></div>';
+							}
+							quickShoppingBagHtml += "			<a href='javascript:fnGoToGoodsDetail(\"" + info.goodsCd + "\")' class='itemLink'>";
+							quickShoppingBagHtml += '				<div class="itemPic">';
+							quickShoppingBagHtml += '					<img alt="BLACK-a" class="vLHTC pd_img" src="' + order.imgPath1 + '/' + info.sysImgNm + '"/>';
+							quickShoppingBagHtml += '				</div>';
+							quickShoppingBagHtml += '				<p class="itemBrand">' + info.brandEnm + ' ' + info.brandKnm + '</p>';
+							quickShoppingBagHtml += '				<div class="itemName">' + info.goodsNm + '</div>';
+							for(let i = 0 ; i < info.itemNmArr.length ; i++) {
+								if(info.goodsType == "G056_S") {
+									quickShoppingBagHtml += '			<p class="itemSize">';
+									quickShoppingBagHtml += '				<span>' + info.itemNmArr[i] + '</span> / <span>' + info.colorNmArr[i] + '</span> / <span>' + info.optCd2 + '</span>';
+									quickShoppingBagHtml += '			</p>';
+								} else {
+									quickShoppingBagHtml += '			<p class="itemSize">';
+									quickShoppingBagHtml += '				<span>' + info.colorNmArr[i] + '</span> / <span>' + info.optCd2Arr[i] + '</span>';
+									quickShoppingBagHtml += '			</p>';
+								}
+							}
 
-						quickShoppingBagHtml += '	<div class="item_prod">';
-						quickShoppingBagHtml += '		<button type="button" class="quickCartDeleteBtn delete_btn"><span class="sr-only">해당상품 삭제</span></button>';
-						quickShoppingBagHtml += '		<div class="item_state">';
-						if(info.ordCanQty < 6) {
-							quickShoppingBagHtml += '			<div class="shape"><span>곧 품절돼요!</span></div>';
-						}
-						// <a th:href="|javascript:fnGoToGoodsDetail('${cart.goodsCd}')|">
-						quickShoppingBagHtml += "			<a href='javascript:fnGoToGoodsDetail(\"" + info.goodsCd + "\")' class='itemLink'>";
-						quickShoppingBagHtml += '				<div class="itemPic">';
-						// <img th:src="${IMG_PATH} + '/' + ${cart.sysImgNm}" src="/" width="100%" alt="">
-						quickShoppingBagHtml += '					<img alt="BLACK-a" class="vLHTC pd_img" src="' + order.imgPath1 + '/' + info.sysImgNm + '"/>';
-						quickShoppingBagHtml += '				</div>';
-						quickShoppingBagHtml += '				<p class="itemBrand">' + info.brandEnm + ' ' + info.brandKnm + '</p>';
-						quickShoppingBagHtml += '				<div class="itemName">' + info.goodsNm + '</div>';
-						for(let i = 0 ; i < info.itemNmArr.length ; i++) {
-							if(info.goodsType == "G056_S") {
-								/*quickShoppingBagHtml += '			<p class="itemSize">';
-								quickShoppingBagHtml += '				<span>' + info.itemNmArr[i] + '</span> / <span>' + info.colorNmArr[i] + '</span> / <span>' + info.optCd2 + '</span> / <span>1</span>';
-								quickShoppingBagHtml += '			</p>';*/
+							quickShoppingBagHtml += '			<p class="itemSize">';
+							quickShoppingBagHtml += '				<span>수량 ' + info.goodsQty + '개</span>';
+							quickShoppingBagHtml += '			</p>';
+
+							if(info.currPrice > info.tmtbDcAmt) {
+								quickShoppingBagHtml += '				<p class="itemPrice">' + Number(info.tmtbDcAmt).toLocaleString() + '<span class="itemPrice_original">' + Number(info.currPrice).toLocaleString() + '</span></p>';
 							} else {
-								/*quickShoppingBagHtml += '			<p class="itemSize">';
-								quickShoppingBagHtml += '				<span>' + info.colorNmArr[i] + '</span> / <span>' + info.optCd2Arr[i] + '</span> / <span>1</span>';
-								quickShoppingBagHtml += '			</p>';*/
+								quickShoppingBagHtml += '				<p class="itemPrice">' + Number(info.tmtbDcAmt).toLocaleString() + '</p>';
 							}
-						}
-
-						if(info.currPrice == info.tmtbDcAmt) {
-							quickShoppingBagHtml += '				<p class="itemPrice">' + info.tmtbDcAmt + '</p>';
-						} else {
-							quickShoppingBagHtml += '				<p class="itemPrice">' + info.tmtbDcAmt + '<span class="itemPrice_original">' + info.currPrice + '</span></p>';
-						}
 
-						if(info.qtyTmtbSq > 0 && info.applyQtySectionYn == "Y") {
-							quickShoppingBagHtml += '				<div class="itemComment">다다익선 할인 적용</div>';
-						}
-						if(info.amtTmtbSq > 0 && info.applyAmtSectionYn == "Y") {
-							quickShoppingBagHtml += '				<div class="itemComment">다다익선 할인 적용</div>';
-						}
+							if(info.qtyTmtbSq > 0 && info.applyQtySectionYn == "Y") {
+								quickShoppingBagHtml += '				<div class="itemComment">다다익선 할인 적용</div>';
+							}
+							if(info.amtTmtbSq > 0 && info.applyAmtSectionYn == "Y") {
+								quickShoppingBagHtml += '				<div class="itemComment">다다익선 할인 적용</div>';
+							}
 
 
-						quickShoppingBagHtml += '			</a>';
-						quickShoppingBagHtml += '		</div>';
-						quickShoppingBagHtml += '	</div>';
+							quickShoppingBagHtml += '			</a>';
+							quickShoppingBagHtml += '		</div>';
+							quickShoppingBagHtml += '	</div>';
+						}
 					}
 
 					quickShoppingBagHtml += '</div>';
+					quickShoppingBagHtml += '<button type="button" class="btn btn_default purchase_btn" onclick="quickCartOrder()"><span>전체 상품 구매하기</span></button>';
 				} else {
-					$(".shopingbag.quick_con.quick02 .quick_body").addClass("nodata");
+					if(!$("#quick_menu .shopingbag.quick_con.quick02 .quick_body").hasClass("nodata")) {
+						$("#quick_menu .shopingbag.quick_con.quick02 .quick_body").addClass("nodata");
+					}
 
 					quickShoppingBagHtml += '<div class="itemsGrp empty">';
 					quickShoppingBagHtml += '	<p class="desc">쇼핑백에 담긴 상품이 없습니다.</p>';
@@ -1058,7 +1148,7 @@
 					quickShoppingBagHtml += '</div>';
 				}
 
-				//$(".shopingbag.quick_con.quick02 .quick_body").html(quickShoppingBagHtml);
+				$("#quick_menu .shopingbag.quick_con.quick02 .quick_body").html(quickShoppingBagHtml);
 			}
 		});
 	}
@@ -1299,7 +1389,7 @@
 			e.preventDefault();
 			$('body').removeClass('lock');
 			$('#quick_menu').removeClass('active');
-			//$('#quick_menu .quick_con').hide();
+			$('#quick_menu .quick_con').hide();
 		});
 
 		//퀵메뉴 카테고리 메뉴 클릭시

+ 4 - 2
src/main/webapp/WEB-INF/views/web/goods/GoodsDetailFormWeb.html

@@ -760,8 +760,10 @@
 		  </div>
 		</div>
 	</div>	
-	<!-- //EP 제휴쿠폰 팝업 -->	
-	
+	<!-- //EP 제휴쿠폰 팝업 -->
+
+	<!-- 바로구매 장바구니 등록 정보 저장을 위한 form -->
+	<form id="directOrderForm" method="POST" action="/order/noMember"></form>
 <script th:inline="javascript">
 /*<![CDATA[*/
 	

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


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


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

@@ -465,7 +465,7 @@
 .main_recomm .tag_list::after {content:''; clear:both; display:block;}
 .main_recomm .tag_list button {float:left; margin-left:12px; transition:none;}
 .main_recomm .tag_list button:first-of-type {margin-left:0}
-.main_recomm .tag_list button.active {line-height:1; background:#222222; border-color:rgb(245 245 245); position:relative; border-left:1px solid #f5f5f5; border-bottom:1px solid #f5f5f5; border-right:1px solid #f5f5f5; border-top:1px solid #f5f5f5; color:#ffffff; position:relative; top:0; left:0; z-index:9;}
+.main_recomm .tag_list button.active {line-height:1; background:#222222; border-color:rgb(245 245 245); position:relative; border-left:1px solid #f5f5f5; border-bottom:1px solid #f5f5f5; border-right:1px solid #f5f5f5; border-top:1px solid #f5f5f5; color:#ffffff; border: 0; position:relative; top:0; left:0; z-index:9;}
 .main_recomm .tag_list button.active:after{content:""; bottom:0px; right:0px; position:absolute; height:0px; width:0; padding:0px 0px 0px 0px; background:#222222; border-left:0px solid #ffffff; border-top:10px solid #222222; border-right:10px solid #ffffff;}	
 .main_recomm .tagitem {display:none;}
 .main_recomm .tagitem.active {display:block;}

+ 4 - 43
src/main/webapp/ux/pc/js/common-ui.js

@@ -463,7 +463,7 @@ $(document).ready( function() {
 			var navOffsetTop = $('.sticky_nav_list').offset().top - miniGnbH;
 			var navOffsetBottom = navOffsetTop + $('.list_content').outerHeight();
 			var arr = [];
-
+			
 			if (windScroll > navOffsetTop){
 				$('.sticky_nav_list').css('padding-top',stickyTopNavH);
 				$(".sticky_nav").addClass("sticky");
@@ -471,7 +471,7 @@ $(document).ready( function() {
 				$('.sticky_nav_list').css('padding-top','0px');
 				$(".sticky_nav").removeClass("sticky");
 			}
-
+			
 			if(windScroll > navOffsetBottom) {
 				$('.sticky_nav_list').css('padding-top','0px');
 				$(".sticky_nav").removeClass("sticky");
@@ -493,45 +493,6 @@ $(document).ready( function() {
 				}
 			});
 		});
-		/* 스크롤시 효과 */
-		//$(window).scroll(function(){
-		//	var windScroll = $(window).scrollTop();
-		//	var miniGnbH = $('.common_header > .gnb').outerHeight();
-		//	var stickyTopNavH = $('.common_header > .gnb').outerHeight();
-		//	var navOffset = $('.sticky_nav_list').offset().top - miniGnbH;
-		//	if (windScroll > navOffset){
-		//		$('.sticky_nav_list').css('padding-top',stickyTopNavH);
-		//		$(".sticky_nav").addClass("sticky");
-		//	}
-		//	else {
-		//		$('.sticky_nav_list').css('padding-top','0px');
-		//		$(".sticky_nav").removeClass("sticky");
-		//	}
-
-		//	var contentOffset0 = $('.list_content > div').eq(0).offset().top;
-		//	var contentOffset1 = $('.list_content > div').eq(1).offset().top;
-		//	var contentOffset2 = $('.list_content > div').eq(2).offset().top;
-		//	var contentOffset3 = $('.list_content > div').eq(3).offset().top;
-
-		//	var selTab = 0;
-
-		//	$('.sticky_nav li').find('a').removeClass('active');
-
-		//	if (windScroll < contentOffset0) {
-		//		selTab = 0;
-		//	} else if (windScroll < contentOffset1) {
-		//		selTab = 1;
-		//	} else if (windScroll < contentOffset2) {
-		//		selTab = 2;
-		//	} else if (windScroll < contentOffset3) {
-		//		selTab = 3;
-		//	} else {
-		//		selTab = 3;
-		//	}
-
-		//	$('.sticky_nav li').eq(selTab).find('a').addClass('active');
-
-		//});
 
 		/* 상품리스트 sticky_nav_link */
 		$(".sticky_nav li a").on("click", function(){
@@ -547,8 +508,8 @@ $(document).ready( function() {
 	});
 
 
-
-
+	
+	
 	//상품 리스트_필터
 	$('.filter_list ul li').click(function(){ 
 		$(".filter_list ul li").removeClass('on');

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

@@ -228,13 +228,13 @@ var cfnOpenIpinCertify = function (redirectUrl) {
  */
 function cfnAddCart(cartList) {
 	let jsonData = JSON.stringify(cartList);
-
+	
 	$.ajax( {
 		type: "POST",
 		url : '/cart/save',
 		data : jsonData,
 		contentType: 'application/json',
-		dataType : 'text',
+		dataType : 'json',
 		success : function(result) {
 			if(cartList[0].cartGb == "C") {
 				mcxDialog.confirm("<div class="+"dialog-title"+">"+"상품이 쇼핑백에 추가되었습니다.</div><p>쇼핑백으로 이동하시겠습니까?</p>", {
@@ -244,8 +244,17 @@ function cfnAddCart(cartList) {
 						location.href='/cart/list/form'; 	//내 쇼핑백 이동url
 					}
 				});
-			}else{
-				location.href='/cart/list/form'; 
+			} else if (cartList[0].cartGb == "O"){
+				let orderHtml = "";
+				for(let i = 0 ; i < result.length ; i++) {
+					orderHtml += '<input type="hidden" name="cartSqArr" value="' + result[i].cartSq + '" />';
+				}
+				$("#directOrderForm").html(orderHtml);
+				$("#directOrderForm").submit();
+				
+				//location.href='/cart/list/form';
+			} else {
+				mcxDialog.alert("쇼핑백담기, 바로구매가 아닌 상태입니다. 해당 요청이 맞다면 새로고침 후 다시시도해주세요.");
 			}
 		}
 	});

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