Browse Source

룩북 상품 전체 쇼핑 담기 관련 수정

eskim 5 năm trước cách đây
mục cha
commit
ffb5ef0cb4

+ 6 - 0
src/main/java/com/style24/front/biz/web/TsfDisplayController.java

@@ -168,6 +168,12 @@ public class TsfDisplayController extends TsfBaseController {
 			mainLayoutList.add(mainLayout);
 		}
 
+		mav.addObject(paramMap.get("preview"));
+		mav.addObject(paramMap.get("viewDt"));
+		mav.addObject("viewPage", "G037_10");
+		//mav.addObject("popupCateNo", "");
+
+		
 		//log.info("mainLayoutList::{}", mainLayoutList);
 		mav.addObject("mainLayoutList", mainLayoutList);
 		mav.setViewName(super.getDeviceViewName("display/MallMainForm"));

+ 70 - 15
src/main/webapp/WEB-INF/views/web/goods/GoodsDetailFormWeb.html

@@ -791,8 +791,13 @@
 													<ul >
 														<li th:each="lookbookGoods, status : ${lookbook.lookbookGoodsList}">
 															<div class="item_prod" th:classappend="${(lookbookGoods.stockQty <= 0 or lookbookGoods.soldoutYn == 'Y')}? 'unable' : ''"
-																					th:attr="goodsCd=${lookbookGoods.goodsCd}, optCd=${lookbookGoods.optCd}, minOrdQty=${lookbookGoods.minOrdQty},  goodsType=${lookbookGoods.goodsType}, ithrCd=${ithrCd}, contentsLoc=${contentsLoc}"> <!-- 판매불가 상품에 unable 추가 -->
+																					th:attr="goodsCd=${lookbookGoods.goodsCd}, optCdInfo=${lookbookGoods.optCdInfo},
+																							minOrdQty=${lookbookGoods.minOrdQty},  goodsType=${lookbookGoods.goodsType}, 
+																							ithrCd=${ithrCd}, contentsLoc=${contentsLoc}"> <!-- 판매불가 상품에 unable 추가 -->
 																<div class="item_state">
+																	<th:block th:each="optCd : ${#strings.arraySplit(lookbookGoods.optCdInfo,',')}">
+																	<input type="hidden" name="lookbookGoodsOptCd" th:value="${optCd}"/>  
+																	</th:block>
 																	<th:block th:if="${(lookbookGoods.stockQty <= 0 or lookbookGoods.soldoutYn == 'Y')}">
 																	<a href="javascript:void(0);" class="itemLink" >
 																	</th:block>
@@ -1167,32 +1172,82 @@
 		
 		let $obj = $(obj);
 		let $target = $obj.parent().find('.li_item').find('.item_prod');
+		let goodsSize = $target.length;
 		let btnType = "C";
 		let params = [];
-		
+		let idx = 0;
 		$target.each(function(){
+			idx ++; 
 			if ($(this).hasClass('unable')) {
 				
 			}else{
 				
-				let obj = new Object();
-				obj.goodsCd = $(this).attr("goodsCd");
-				obj.optCd = $(this).attr("optCd");
-				obj.goodsQty = $(this).attr("minOrdQty");
-				obj.goodsType = $(this).attr("goodsType");
-				obj.cartGb = btnType;
-				obj.afLinkCd =$("#cartForm  input[name=afLinkCd]").val();
-				obj.ithrCd = $(this).attr("ithrCd");
-				obj.contentsLoc = $(this).attr("contentsLoc");
-				obj.planDtlSq = '';
-				params.push(obj);
+				// 옵션확인
+				let goodsCnt = $(this).find('input[name=lookbookGoodsOptCd]').length;
+				if (goodsCnt = 1){
+					let arrOpt = $(this).find('input[name=lookbookGoodsOptCd]').val();
+					let arrOptInfo = arrOpt.split(':');
+					
+					let obj = new Object();
+					obj.goodsCd = $(this).attr("goodsCd");
+					//obj.optCd = $(this).attr("optCd");
+					obj.optCd = arrOptInfo[1];
+					obj.goodsQty = $(this).attr("minOrdQty");
+					obj.goodsType = $(this).attr("goodsType");
+					obj.cartGb = btnType;
+					obj.afLinkCd = '';
+					obj.ithrCd = $(this).attr("ithrCd");
+					obj.contentsLoc = $(this).attr("contentsLoc");
+					obj.planDtlSq = '';
+					obj.multiGoodsGb = 'O'  // 단품, 세트 혼합쇼핑백처리일경우, 마지막이 아닌경우는 'O'아니고 NULL 아닌값
+					if (idx == goodsSize){
+						obj.multiGoodsGb = 'E'  // 단품, 세트 혼합쇼핑백처리일경우, 마지막이 아닌경우는 'O'아니고 NULL 아닌값
+					}
+					params.push(obj);
+					
+					// 장바구니담기
+					cfnAddCart(params);	
+				}else{
+					let cartGoodsList = [];
+					let compsList = [];
+					let goodsList = {
+						cartCompsList : new Array()
+					}
+					
+					let arrInfo = $(this).find('input[name=lookbookGoodsOptCd]').val().split(',');	// 상품코드단위
+					
+					arrInfo.each(function() {
+						let arrOptInfo = $(this).split(':');
+						
+						let obj = new Object();
+						obj.cartGb = btnType;
+						obj.goodsType = $(this).attr("goodsType");
+						obj.goodsCd = $(this).attr("goodsCd");
+						obj.itemCd =arrOptInfo[0];
+						obj.optCd = arrOptInfo[1];
+						obj.goodsQty = $(this).attr("minOrdQty");
+						obj.afLinkCd = '';
+						obj.ithrCd =  $(this).attr("ithrCd");
+						obj.contentsLoc = $(this).attr("contentsLoc");
+						obj.planDtlSq = ''
+						compsList.push(obj);
+						
+					});
+
+					goodsList.cartCompsList = compsList;
+					cartGoodsList.push(goodsList);
+					
+					// 장바구니담기
+					cfnAddCart(cartGoodsList);
+				}
+				
 			}
 		});
 		
 		// 장바구니담기
-		if (params.length > 0){
+		/* if (params.length > 0){
 			cfnAddCart(params);	
-		}
+		} */
 	}
 	
 	// 품절처리

+ 1 - 1
src/main/webapp/WEB-INF/views/web/goods/GoodsQnaDetailFormWeb.html

@@ -32,7 +32,7 @@
 				</div>
 				<div class="form_field">
 					<div class="input_box">
-						<textarea class="doc_itemqna" name="questContent" id="" cols="30" rows="10" placeholder="문의내용 입력(500자 이내)" style="resize: none;"></textarea>
+						<textarea class="doc_itemqna" name="questContent" id="" cols="30" rows="10" maxlength="500" placeholder="문의내용 입력(500자 이내)" style="resize: none;"></textarea>
 						<p class="txt_cnt">
 							<span id="itemqna_cnt" class="itemqna_cnt">(<em class="c_primary">0</em>/500자)</span>
 						</p>