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

Merge branch 'develop' into bin2107

bin2107 5 лет назад
Родитель
Сommit
d1ad6188c5

+ 6 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfReview.xml

@@ -117,16 +117,22 @@
 		     , R.HEIGHT
 		     , R.WEIGHT
 		     , R.SCORE_SIZE
+		     -- , CAST(R.SCORE_SIZE AS UNSIGNED) AS SCORE_SIZE
 		     , FN_GET_CODE_NM('G040',R.SCORE_SIZE) AS SCORE_SIZE_NM
 		     , R.SCORE_COLOR
+		     -- , CAST(R.SCORE_COLOR AS UNSIGNED) AS SCORE_COLOR
 		     , FN_GET_CODE_NM('G039',R.SCORE_COLOR) AS SCORE_COLOR_NM
 		     , R.SCORE_FIT
+		     -- , CAST(IFNULL(NULLIF(R.SCORE_FIT,'') , 0) AS UNSIGNED) AS SCORE_FIT
 		     , FN_GET_CODE_NM('G042',R.SCORE_FIT) AS SCORE_FIT_NM
 		     , R.SCORE_THICK
+		     -- ,  CAST(IFNULL(NULLIF(R.SCORE_THICK,'') , 0) AS UNSIGNED) AS SCORE_THICK
 		     , FN_GET_CODE_NM('G079',R.SCORE_THICK) AS SCORE_THICK_NM
 		     , R.SCORE_WEIGHT
+		     -- ,  CAST(IFNULL(NULLIF(R.SCORE_WEIGHT,'') , 0) AS UNSIGNED) AS SCORE_WEIGHT
 		     , FN_GET_CODE_NM('G080',R.SCORE_WEIGHT) AS SCORE_WEIGHT_NM
 		     , R.SCORE_BALL
+		     -- ,  CAST(IFNULL(NULLIF(R.SCORE_BALL,'') , 0) AS UNSIGNED) AS SCORE_BALL
 		     , FN_GET_CODE_NM('G041',R.SCORE_BALL) AS SCORE_BALL_NM
 		     , R.GIVE_DUE_PNT
 		     , R.PNT_GIVE_STAT

+ 2 - 2
src/main/webapp/WEB-INF/views/mob/goods/GoodsIncludeFormMob.html

@@ -389,7 +389,7 @@
 	}
 	
 	// 상품선택시 상품상세내용 변경
-	var fnOpenGoodsDealDetail = function(goodsCd, compsGoodsCd){debugger;
+	var fnOpenGoodsDealDetail = function(goodsCd, compsGoodsCd){
 		
 		// 탭별 선택시 기본 상품 설정
 		let selIdx = 0;
@@ -429,7 +429,7 @@
 	}
 	
 	// 레이어에서 상품선택시
-	var fnGoodsDealDesc = function(goodsCd){debugger;
+	var fnGoodsDealDesc = function(goodsCd){
 		var params = new Object();
 		params.goodsCd = goodsCd;
 		params.adminYn = "Y";

+ 83 - 38
src/main/webapp/WEB-INF/views/web/goods/GoodsDealDetailFormWeb.html

@@ -161,7 +161,7 @@
 																<div class="itemPic">
 																	<img alt="" class="vLHTC pd_img" th:src="${imgGoodsUrl+'/'+goodsInfo.sysImgNm+'?RS=285'}" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 																</div>
-																<div class="itemName">선택</div>
+																<div class="itemName">상품선택</div>
 															</a>
 														</div>
 													</div>
@@ -216,7 +216,7 @@
 								<div class="opt_result">
 								</div>
 							</div>
-							<div class="price_box">
+							<div class="price_box" style="display:none;">
 								<p class="number">
 									총&nbsp;<span id="goodsTotalQty">0</span>개
 								</p>
@@ -230,10 +230,10 @@
 								<div class="btn_group_block ui_row">
 								<th:block  th:if="${goodsInfo.stockQty > 0 and goodsInfo.goodsStat == 'G008_90'}">
 									<div class="ui_col_6">
-										<button type="button" class="btn btn_dark btn_block" id="btnGoodsWish" onclick="fnAddCart('C');"><span>쇼핑백</span></button>
+										<button type="button" class="btn btn_dark btn_block" id="btnGoodsWish" onclick="fnAddCart('C','Up');"><span>쇼핑백</span></button>
 									</div>
 									<div class="ui_col_6">
-										<button type="button" class="btn btn_primary btn_block" id="btnGoodsCart" onclick="fnAddCart('O');"><span>바로구매</span></button>
+										<button type="button" class="btn btn_primary btn_block" id="btnGoodsCart" onclick="fnAddCart('O','Up');"><span>바로구매</span></button>
 									</div>
 								</th:block>
 								<th:block  th:unless="${goodsInfo.stockQty > 0 and goodsInfo.goodsStat == 'G008_90'}">
@@ -297,9 +297,9 @@
 					};
 		let jsonData = JSON.stringify(data);
 		
-		$('.form_field .select_custom.deal_opt1').find('.combo .select').html('선택');
+		$('.form_field .select_custom.deal_opt1').find('.combo .select').html('옵션1');
 		$('.form_field .select_custom.deal_opt2').attr('disabled', true);
-		$('.form_field .select_custom.deal_opt2').find('.combo .select').html('선택');
+		$('.form_field .select_custom.deal_opt2').find('.combo .select').html('옵션2');
 		
 		gagajf.ajaxJsonSubmit('/goods/detail/option1/list', jsonData, function(result) {
 			
@@ -319,27 +319,28 @@
 						if (flag == "layer"){
 							$objUp = $('.pd_descrp_pop .opt_select .select_custom.deal_opt1');
 							$objUp.html('');
-						}else{
+						}else if (flag == "Up"){
 							$objUp = $('.pd_detail .opt_select .select_custom.deal_opt1');
 							$objUp.html('');
+						}else{
 							$objDown = $('.pd_desc_wrap .opt_select .select_custom.deal_opt1');
 							$objDown.html('');
-							
 						}
 						$('.form_field .select_custom.deal_opt1').attr('disabled', false);
 						//------
 						tag1 += '<div class="combo">\n';
-						tag1 += '<div class="select">선택</div>\n';
+						tag1 += '<div class="select">옵션1</div>\n';
 						tag1 += '<ul class="list">\n';
 						//------
-						tag1 += '<li class="selected" id="goodsOpt1">선택</li>\n';	
+						tag1 += '<li class="selected" id="goodsOpt1">옵션1</li>\n';	
 					}
 					let soldoutYn = ""; 
 					if (item.stockQty <= 0) soldoutYn = "true";
 					if (flag == "layer"){
 						tagUp = '<li aria-disabled="'+soldoutYn+'" data-soldout="'+soldoutYn +'" onclick="fnOption2(this, \'layer\')">\n';
-					}else{
+					}else if (flag == "Up"){
 						tagUp = '<li aria-disabled="'+soldoutYn+'" data-soldout="'+soldoutYn +'" onclick="fnOption2(this, \'Up\')">\n';
+					}else{ 
 						tagDown = '<li aria-disabled="'+soldoutYn+'" data-soldout="'+soldoutYn +'" onclick="fnOption2(this, \'Down\')">\n';	
 					}
 					tag2 += '<div>'+ item.optCd1Nm+'</div>\n';
@@ -351,6 +352,7 @@
 					
 					tagUpS += tag1+tagUp+tag2;
 					tagDownS += tag1+tagDown+tag2;
+					
 				});
 				
 				if (!gagajf.isNull(tagUpS)){
@@ -363,16 +365,17 @@
 				}
 				
 				if (flag == "layer"){
-					$objUp.append(tagUpS);
+					$objUp.prepend(tagUpS);
 					var pop_desc_option02 = new sCombo('.pd_descrp_pop .opt_select .select_custom.deal_opt1');
 					$('.pd_descrp_pop .opt_select .select_custom.deal_opt1').addClass('on');
 					$('.pd_descrp_pop .opt_select .select_custom.deal_opt1').find('.list').css('display','block');
-				}else{
-					$objUp.append(tagUpS);
-					$objDown.append(tagDownS);
+				}else if (flag == "Up"){
+					$objUp.prepend(tagUpS);
 					var detail_deal_option02 = new sCombo('.pd_detail .opt_select .select_custom.deal_opt1');
 					$('.pd_detail .opt_select .select_custom.deal_opt1').addClass('on');
 					$('.pd_detail .opt_select .select_custom.deal_opt1').find('.list').css('display','block');
+				}else{
+					$objDown.prepend(tagDownS);
 					var desc_option02 = new sCombo('.pd_desc_wrap .opt_select .select_custom.deal_opt1');
 					$('.pd_desc_wrap .opt_select .select_custom.deal_opt1').addClass('on');
 					$('.pd_desc_wrap .opt_select .select_custom.deal_opt1').find('.list').css('display','block');
@@ -380,7 +383,7 @@
 				
 			}
 			
-			if (flag != "layer"){
+/* 			if (flag != "layer"){
 				// 상품 선태값 적용
 				let $obj = null;
 				let $taget = null;
@@ -394,7 +397,7 @@
 				}
 				let goodsDealInfo = $obj.html();
 				$taget.html(goodsDealInfo);
-			}
+			} */
 			
 		});
 		
@@ -433,9 +436,10 @@
 						if (flag == "layer"){
 							$objUp = $('.pd_descrp_pop .opt_select .select_custom.deal_opt2');
 							$objUp.html('');
-						}else{
+						}else if (flag == "Up"){
 							$objUp = $('.pd_detail .opt_select .select_custom.deal_opt2');
 							$objUp.html('');
+						}else{
 							$objDown = $('.pd_desc_wrap .opt_select .select_custom.deal_opt2');
 							$objDown.html('');
 							
@@ -443,17 +447,18 @@
 						$('.form_field .select_custom.deal_opt2').attr('disabled', false);	
 						//------
 						tag1 += '<div class="combo">\n';
-						tag1 += '<div class="select">선택</div>\n';
+						tag1 += '<div class="select">옵션2</div>\n';
 						tag1 += '<ul class="list">\n';
 						//------
-						tag1 += '<li class="selected" id="goodsOpt2">선택</li>\n';	
+						tag1 += '<li class="selected" id="goodsOpt2">옵션2</li>\n';	
 					}
 					let soldoutYn = ""; 
 					if ("Y" == item.soldoutYn || item.stockQty <= 0)soldoutYn = "true";
 					if (flag == "layer"){
 						tagUp = '<li aria-disabled="'+soldoutYn+'" data-soldout="'+soldoutYn +'" onclick="fnViewStock(this, \'layer\' )">\n';
-					}else{
+					}else if (flag == "Up"){
 						tagUp = '<li aria-disabled="'+soldoutYn+'" data-soldout="'+soldoutYn +'" onclick="fnViewStock(this, \'Up\' )">\n';
+					}else{
 						tagDown = '<li aria-disabled="'+soldoutYn+'" data-soldout="'+soldoutYn +'" onclick="fnViewStock(this, \'Down\' )">\n';	
 					}
 					tag2 += '<div>'+ item.optCd2+'</div>\n';
@@ -465,6 +470,7 @@
 					
 					tagUpS += tag1+tagUp+tag2;
 					tagDownS += tag1+tagDown+tag2;
+					
 				});
 				
 				if (!gagajf.isNull(tagUpS)){
@@ -477,16 +483,17 @@
 				}
 				
 				if (flag == "layer"){
-					$objUp.append(tagUpS);
+					$objUp.prepend(tagUpS);
 					var pop_desc_option02 = new sCombo('.pd_descrp_pop .opt_select .select_custom.deal_opt2');
 					$('.pd_descrp_pop .opt_select .select_custom.deal_opt2').addClass('on');
 					$('.pd_descrp_pop .opt_select .select_custom.deal_opt2').find('.list').css('display','block');
-				}else{
-					$objUp.append(tagUpS);
-					$objDown.append(tagDownS);
+				}else if (flag == "Up"){
+					$objUp.prepend(tagUpS);
 					var detail_deal_option03 = new sCombo('.pd_detail .opt_select .select_custom.deal_opt2');
 					$('.pd_detail .opt_select .select_custom.deal_opt2').addClass('on');
 					$('.pd_detail .opt_select .select_custom.deal_opt2').find('.list').css('display','block');
+				}else{
+					$objDown.prepend(tagDownS);
 					var desc_option03 = new sCombo('.pd_desc_wrap .opt_select .select_custom.deal_opt2');
 					$('.pd_desc_wrap .opt_select .select_custom.deal_opt2').addClass('on');
 					$('.pd_desc_wrap .opt_select .select_custom.deal_opt2').find('.list').css('display','block');
@@ -494,7 +501,7 @@
 				}
 			}
 			
-			if (flag != "layer"){
+		/* 	if (flag != "layer"){
 				// 옵션 1 선태값 적용
 				let $obj2 = null;
 				let $taget2 = null;
@@ -509,8 +516,7 @@
 				
 				let goodsDealInfo = $obj2.html();
 				$taget2.html(goodsDealInfo);	
-			}
-			
+			} */
 			
 		});	
 	}
@@ -604,14 +610,14 @@
 				$objLayer = $('.pd_descrp_pop .opt_result'); 
 				$objUp = $('.pd_detail .opt_result'); 
 				$objDown = $('.pd_desc_wrap .opt_result');
-				$objLayer.append(tag);
+				$objLayer.prepend(tag);
 			}else{
 				$objUp = $('.pd_detail .opt_result'); 
 				$objDown = $('.pd_desc_wrap .opt_result');
 			}
 			
-			$objUp.append(tag);
-			$objDown.append(tag);
+			$objUp.prepend(tag);
+			$objDown.prepend(tag);
 			
 			if (flag  != "layer"){
 				// 옵션 2 선태값 적용
@@ -634,6 +640,28 @@
 			}
 			fnSetTotalPrice();	
 			
+			var dTag = '';
+			dTag += '';
+			dTag += '<div class="item_prod">\n';
+			dTag += '<div class="item_state">\n';
+			dTag += '	<a href="javascript:void(0);" class="itemLink">\n';
+			dTag += '		<div class="itemPic">\n';
+			dTag +='			<img class="vLHTC pd_img" src="'+_uploadGoodsUrl +'/'+[[${goodsInfo.sysImgNm}]]+'?RS=285" alt="" onerror="' + _uximgUrl + '/images/pc/thumb/bg_item_none.png"  />\n';
+			dTag += '		</div>\n';
+			dTag += '		<div class="itemName">상품선택</div>\n';
+			dTag += '	</a>\n';
+			dTag += '</div>\n';
+			dTag += '</div>\n';
+			
+			$('.pd_detail .opt_select .select_custom.deal_opt_item').find('.combo .select').html(dTag);
+			$('.pd_desc_wrap .opt_select .select_custom.deal_opt_item').find('.combo .select').html(dTag);
+			//$('.pd_descrp_pop .form_field .select_custom.deal_opt_item').find('.combo .select').html(dTag);
+
+			$('.form_field .select_custom.deal_opt1').attr('disabled', true);
+			$('.form_field .select_custom.deal_opt1').find('.combo .select').html('옵션1');
+			$('.form_field .select_custom.deal_opt2').attr('disabled', true);
+			$('.form_field .select_custom.deal_opt2').find('.combo .select').html('옵션2');
+			
 		}, "text");
 	}
 	
@@ -705,6 +733,8 @@
 	
 	//합계 계산
 	var fnSetTotalPrice = function() {
+		
+		$('.price_box').show();
 		//let f = document.cartForm;
 
 		let totalEa = 0;
@@ -728,17 +758,32 @@
 	}
 	
 	//장바구니담기
-	var fnAddCart = function(btnType){
+	var fnAddCart = function(btnType, flag){
 		let compsList = [];
 		
-		let target = $('#cartForm input[name=cea]');
-		let targetSize = target.length;	//선택성품 갯수
-		if (target.length <= 0){
-			mcxDialog.alert("구성상품들의 옵션을 선택하세요.");
-			return false;
+		let $target = $('#cartForm input[name=cea]');
+		let targetSize = $target.length;	//선택성품 갯수
+		if ($target.length <= 0){
+			let $selObj = null;
+			if (flag  == "layer"){
+				$selObj = $('.pd_descrp_pop .form_field .select_custom.deal_opt_item');
+			}else if (flag  == "Up"){
+				$selObj = $('.pd_detail .opt_select .select_custom.deal_opt_item');
+			}else{
+				$selObj = $('.pd_desc_wrap .opt_select .select_custom.deal_opt_item');
+			}
+			
+			let selGoodsCd = $selObj.find('.combo .select').find('input[name=selectGoods]').attr('goodscd');
+			if (gagajf.isNull(selGoodsCd) || typeof (selGoodsCd) == 'undefined'){
+				mcxDialog.alert("상품을 선택해 주세요.");
+				return false;
+			}else{
+				mcxDialog.alert("옵션을 선택해 주세요.");
+				return false;
+			}
 		}
 		
-		target.each(function() {
+		$target.each(function() {
 			
 			let ea = parseInt($(this).val());
 			let goodsCd = $(this).parent().find('input[name="coption"]').attr('goodscd');

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

@@ -442,7 +442,7 @@
 		</div>
 		<!-- 상품 대표설명 -->
 		<!-- 함께하면 할인되는 다다익선 상품 -->
-		<div class="content wide pd_together" id="goodsTmtbArea">
+		<div class="content pd_together" id="goodsTmtbArea">
 			
 		</div>
 		<!-- // 함께하면 할인되는 다다익선 상품 -->
@@ -899,7 +899,7 @@
 				$("#cartForm  input[name=cea]").attr("readonly",false);
 				$("#cartForm  input[name=stock]").val(itemCnt);
 	
-				$('.price_box').show();
+				
 				fnSetTotalPrice();
 			}); 
 		}
@@ -1009,6 +1009,8 @@
 	var fnSetTotalPrice = function() {
 		//let f = document.cartForm;
 
+		$('.price_box').show();
+		
 		let totalEa = 0;
 		let totalPrice = 0;
 		

+ 5 - 5
src/main/webapp/WEB-INF/views/web/goods/GoodsDetailQnaFormWeb.html

@@ -33,7 +33,7 @@
 		<div class="qna_list">
 			<!-- 나열조건결과 있을 때 노출 내용 -->
 			<div class="form_field">
-				<input id="except_secret" name="except_secret" type="checkbox"  onclick="fnGetList();"><label for="except_secret"><span>비밀글제외</span></label>
+				<input id="except_secret" name="except_secret" type="checkbox"  onclick="fnGoodsQnaList();"><label for="except_secret"><span>비밀글제외</span></label>
 				<input  type="hidden" name="secretYn" >
 			</div>
 			<div class="ui_row">
@@ -65,7 +65,7 @@
 <script th:inline="javascript">
 /*<![CDATA[*/
 	
-	var fnGetList = function() {
+	var fnGoodsQnaList = function() {
 		
 		// 상품문의창 닫기
 		//$("#layer_goods_qna_reg").modal("hide");
@@ -77,13 +77,13 @@
 			$('#goodsQnaForm  input[name="secretYn"]').val('N');
 		}
 		// Initialize a pagination
-		gagaPaging.init('goodsQnaForm', fnGetListCallback, 'pageNav', 20);
+		gagaPaging.init('goodsQnaForm', fnGoodsQnaListCallback, 'pageNav', 20);
 
 		// Load data
 		gagaPaging.load(1);
 	}
 	
-	var fnGetListCallback = function(result) {
+	var fnGoodsQnaListCallback = function(result) {
 		$('#ulGoodsQna').html('');
 		$('#goodsQnaForm').find('.nodata').hide();
 		// 목록
@@ -147,7 +147,7 @@
 	}
 	
 	$(document).ready(function() {
-		fnGetList();
+		fnGoodsQnaList();
 	});
 	
 /*]]>*/

+ 20 - 5
src/main/webapp/WEB-INF/views/web/goods/GoodsDetailReviewFormWeb.html

@@ -299,12 +299,12 @@
 					<div class="best_review">
 						<a href="javascript:void(0);" th:onclick="cfGoodsReviewDetail([[${goodsInfo.goodsCd}]], 'Y', '', [[${bestReview.reviewSq}]])" >
 							<div class="pic" th:if="${bestReview.reviewAttachList != null and !bestReview.reviewAttachList.empty}">
-								<th:block th:each="reviewAttach, attachStatus : ${bestReview.reviewAttachList}">
+								<th:block th:each="reviewAttach, attachStatus : ${bestReview.reviewAttachList}" th:if="${attachStatus.first}">
 								<span class="thumb" th:classAppend="${(reviewAttach.fileGb == 'M') ? 'mov' :''}" th:style="${'background-image:url('+imgUrl+ reviewAttach.sysFileNm+');'}"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
 								</th:block>
 							</div>
 							<div class="pic" th:unless="${bestReview.reviewAttachList != null and !bestReview.reviewAttachList.empty}">
-								<span class="thumb" th:style="${'background-image:url('+imgGoodsUrl+ '/'+goodsInfo.sysImgNm+'?RS=365);'}">
+								<span class="thumb" th:style="${'background-image:url('+imgGoodsUrl+ '/'+goodsInfo.sysImgNm+'?RS=162);'}">
 								</span>
 							</div>
 							<div class="star_score" th:with="starScore=${#numbers.formatDecimal((bestReview.iscore*100/5), 0,0)}">
@@ -347,7 +347,7 @@
 			</th:block>
 		</div>
 	</div>
-	<div class="area_rv_all">
+	<div class="area_rv_all"  style="display:none;">
 	<form id="goodsReviewForm" name="goodsReviewForm" action="#" th:action="@{'/goods/review/list'}">
 	<input type="hidden" name="pageNo" value ="1"/>
 	<input type="hidden" name="pageSize" value ="20"/>
@@ -474,6 +474,7 @@
 		// 목록
 		if (result.dataList != null && result.dataList.length > 0) {
 			
+			$('.area_rv_all').show();
 			$.each(result.dataList, function(idx, item) {
 				let tag = '<li>\n';
 				tag += '<div class="review">\n';
@@ -637,6 +638,21 @@
 	
 	$(document).ready( function() {
 
+		//슬라이드 - 베스트리뷰
+	    var bestReviewtSwiper = new Swiper('.area_rv_best .swiper-container', {
+	        slidesPerView: 2,
+	        spaceBetween: 20,
+	        navigation: {
+	            nextEl: '.area_rv_best .swiper-button-next',
+	            prevEl: '.area_rv_best .swiper-button-prev',
+	        },
+	        pagination: {
+	            el: '.area_rv_best .swiper-pagination',
+	            clickable: true,
+	        },
+	    });
+
+		
 		var sort_selecter01 = new sCombo('.area_rv_all .selection .select_custom.sort_opt1');
 		var sort_selecter02 = new sCombo('.area_rv_all .selection .select_custom.sort_opt2');
 		var sort_selecter03 = new sCombo('.area_rv_all .selection .select_custom.sort_opt3');
@@ -651,8 +667,7 @@
 				$(this).parents('div dl dd').find('.ratio .progbar').attr('style', 'width:' + reviewRatio);
 			}
 		});
-		
-		fnGetList();
+			fnGetList();	
 		
 	});
 	

+ 21 - 20
src/main/webapp/WEB-INF/views/web/goods/GoodsIncludeFormWeb.html

@@ -133,7 +133,7 @@
 													<div class="itemPic">
 														<img alt="" class="vLHTC pd_img" th:src="${imgGoodsUrl+'/'+goodsInfo.sysImgNm+'?RS=80'}" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 													</div>
-													<div class="itemName">선택</div>
+													<div class="itemName">상품선택</div>
 												</a>
 											</div>
 										</div>
@@ -149,7 +149,7 @@
 															<img alt="" class="vLHTC pd_img" th:src="${imgGoodsUrl+'/'+goodsInfo.sysImgNm+'?RS=80'}" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 														</div>
 														<p class="itemBrand" th:text="${goodsInfo.brandGroupNm}">BRAND NAME1</p>
-														<div class="itemName" th:text="${goodsInfo.goodsFullNm}">남성 </div>
+														<div class="itemName" ><span class="tit_option" th:text="${'[상품'+status.count+']'}">[상품1]</span><th:block th:text="${goodsInfo.goodsFullNm}"></th:block> </div>
 														 <div class="itemPostCount">
 															 (리뷰 <span><th:block  th:text="${(goodsInfo.reviewRegCnt <= 9999) ? #numbers.formatInteger(goodsInfo.reviewRegCnt, 0,'COMMA')  : '9,999+'}"></th:block></span>)
 														 </div>
@@ -183,7 +183,7 @@
 													<div class="itemPic">
 														<img alt="" class="vLHTC pd_img" th:src="${imgGoodsUrl+'/'+goodsInfo.sysImgNm+'?RS=80'}" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 													</div>
-													<div class="itemName">선택</div>
+													<div class="itemName">상품선택</div>
 												</a>
 											</div>
 										</div>
@@ -199,7 +199,7 @@
 															<img alt="" class="vLHTC pd_img" th:src="${imgGoodsUrl+'/'+goodsInfo.sysImgNm+'?RS=80'}" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 														</div>
 														<p class="itemBrand" th:text="${goodsInfo.brandGroupNm}">BRAND NAME1</p>
-														<div class="itemName" th:text="${goodsInfo.goodsFullNm}">남성 </div>
+														<div class="itemName" ><span class="tit_option" th:text="${'[상품'+status.count+']'}">[상품1]</span><th:block th:text="${goodsInfo.goodsFullNm}"></th:block> </div>
 														<div class="itemPostCount">
 															(문의 <span><th:block  th:text="${(goodsInfo.goodsQnaCnt <= 9999) ? #numbers.formatInteger(goodsInfo.goodsQnaCnt, 0,'COMMA')  : '9,999+'}"></th:block></span>)
 														</div>
@@ -233,7 +233,7 @@
 													<div class="itemPic">
 														<img alt="" class="vLHTC pd_img" th:src="${imgGoodsUrl+'/'+goodsInfo.sysImgNm+'?RS=80'}" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 													</div>
-													<div class="itemName">선택</div>
+													<div class="itemName">상품선택</div>
 												</a>
 											</div>
 										</div>
@@ -249,7 +249,7 @@
 															<img alt="" class="vLHTC pd_img" th:src="${imgGoodsUrl+'/'+goodsInfo.sysImgNm+'?RS=80'}" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 														</div>
 														<p class="itemBrand" th:text="${goodsInfo.brandGroupNm}">BRAND NAME1</p>
-														<div class="itemName" th:text="${goodsInfo.goodsFullNm}">남성 </div>
+														<div class="itemName" ><span class="tit_option" th:text="${'[상품'+status.count+']'}">[상품1]</span><th:block th:text="${goodsInfo.goodsFullNm}"></th:block> </div>
 													</a>
 													<input type="hidden" name="selectGoods" th:value="${goodsInfo.compsGoodsCd}" />
 												</div>
@@ -280,7 +280,7 @@
 															<div class="itemPic">
 																<img alt="" class="vLHTC pd_img" th:src="${imgGoodsUrl+'/'+goodsInfo.sysImgNm+'?RS=80'}" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 															</div>
-															<div class="itemName">선택</div>
+															<div class="itemName">상품선택</div>
 														</a>
 													</div>
 												</div>
@@ -314,7 +314,7 @@
 								<div class="form_field">
 									<div class="select_custom deal_opt1" disabled>
 										<div class="combo">
-											<div class="select">선택</div>
+											<div class="select">옵션1</div>
 											<ul class="list" id="goodsDealOptDown1">
 												<!--  옵션 1 -->
 											</ul>
@@ -324,7 +324,7 @@
 								<div class="form_field">
 									<div class="select_custom deal_opt2" disabled>
 										<div class="combo">
-											<div class="select">선택</div>
+											<div class="select">옵션2</div>
 											<ul class="list" id="goodsDealOptDown2">
 												<!--  옵션 2 -->
 											</ul>
@@ -335,7 +335,7 @@
 						<div class="opt_result">
 						</div>
 					</div>
-					<div class="price_box">
+					<div class="price_box" style="display:none;">
 						<p class="number">
 							총&nbsp;<span>0</span>개
 						</p>
@@ -349,10 +349,10 @@
 						<div class="btn_group_block ui_row">
 						<th:block  th:if="${goodsInfo.stockQty > 0 and goodsInfo.goodsStat == 'G008_90'}">
 							<div class="ui_col_6">
-								<button type="button" class="btn btn_dark btn_block" id="btnGoodsWish" onclick="fnAddCart('C');"><span>쇼핑백</span></button>
+								<button type="button" class="btn btn_dark btn_block" id="btnGoodsWish" onclick="fnAddCart('C','Down');"><span>쇼핑백</span></button>
 							</div>
 							<div class="ui_col_6">
-								<button type="button" class="btn btn_primary btn_block" id="btnGoodsCart" onclick="fnAddCart('O');"><span>바로구매</span></button>
+								<button type="button" class="btn btn_primary btn_block" id="btnGoodsCart" onclick="fnAddCart('O','Down');"><span>바로구매</span></button>
 							</div>
 						</th:block>
 						<th:block  th:unless="${goodsInfo.stockQty > 0 and goodsInfo.goodsStat == 'G008_90'}">
@@ -387,7 +387,7 @@
 												<div class="itemPic">
 													<img alt="" class="vLHTC pd_img" th:src="${imgGoodsUrl+'/'+goodsInfo.sysImgNm+'?RS=80'}" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 												</div>
-												<div class="itemName">선택</div>
+												<div class="itemName">상품선택</div>
 											</a>
 										</div>
 									</div>
@@ -426,7 +426,7 @@
 						<div class="form_field">
 							<div class="select_custom deal_opt1" disabled>
 								<div class="combo">
-									<div class="select">선택</div>
+									<div class="select">옵션1</div>
 									<ul class="list"  id="goodsDealOptLayer1">
 										<!--  옵션 1 -->
 									</ul>
@@ -436,7 +436,7 @@
 						<div class="form_field">
 							<div class="select_custom deal_opt2" disabled>
 								<div class="combo">
-									<div class="select">선택</div>
+									<div class="select">옵션2</div>
 									<ul class="list"  id="goodsDealOptLayer2">
 										<!--  옵션 2 -->
 									</ul>
@@ -447,7 +447,7 @@
 					<div class="opt_result">
 					</div>
 				</div>
-				<div class="price_box">
+				<div class="price_box" style="display:none;">
 					<p class="number">
 						총&nbsp;<span>0</span>개
 					</p>
@@ -461,10 +461,10 @@
 					<div class="btn_group_block ui_row">
 					<th:block  th:if="${goodsInfo.stockQty > 0}">
 						<div class="ui_col_6">
-							<button type="button" class="btn btn_dark btn_block" id="btnGoodsWish" onclick="fnAddCart('C');"><span>쇼핑백</span></button>
+							<button type="button" class="btn btn_dark btn_block" id="btnGoodsWish" onclick="fnAddCart('C','layer');"><span>쇼핑백</span></button>
 						</div>
 						<div class="ui_col_6">
-							<button type="button" class="btn btn_primary btn_block" id="btnGoodsCart" onclick="fnAddCart('O');"><span>바로구매</span></button>
+							<button type="button" class="btn btn_primary btn_block" id="btnGoodsCart" onclick="fnAddCart('O','layer');"><span>바로구매</span></button>
 						</div>
 					</th:block>
 					<th:block  th:unless="${goodsInfo.stockQty > 0}">
@@ -553,8 +553,9 @@
 		let $obj = $('.pd_detail .opt_result'); 
 		let $taget = $('.full_pop_fix_r .opt_result');
 		$taget.html($obj.html());
-		
-		fnSetTotalPrice();
+		if (!gagajf.isNull($obj.html())){
+			fnSetTotalPrice();	
+		}
 		
 		$('body').addClass('lock');
 		$("#layer_goods_deal_detail").show(); 

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

@@ -610,7 +610,7 @@ function cfGoodsReviewDetail(goodsCd, bestYn, photoYn, reviewSq) {
 	var params = '?goodsCd=' + goodsCd;
 	params += '&reviewSq=' + reviewSq;
 	params += '&bestYn=' + bestYn;
-	params += '&photoYn=' + photoYn;debugger;
+	params += '&photoYn=' + photoYn;
 	
 	cfOpenLayer(_PAGE_GOODS_REVIEW_DETAIL_LAYER+params, 'layer_review_best');
 }