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

Merge branch 'develop' of http://112.172.147.34:4936/style24/style24.front into develop

jsshin 5 лет назад
Родитель
Сommit
4e6a9a1d1b

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

@@ -48,6 +48,7 @@
 		INNER JOIN TB_GOODS_COMPOSE GC ON R.GOODS_CD  = GC.COMPS_GOODS_CD
 		</if>
 		WHERE 1 = 1
+		AND R.CONFIRM_YN = 'Y'  -- 승인된 상품평만 조회
 		<choose>
 		    <when test="goodsType != null and goodsType == 'G056_D'">
 		AND    R.GOODS_CD = GC.COMPS_GOODS_CD
@@ -214,6 +215,7 @@
 		INNER JOIN TB_CUSTOMER C ON R.REG_NO  = C.CUST_NO
 		WHERE 1 = 1
 		AND R.GOODS_CD = #{goodsCd}
+		AND R.CONFIRM_YN = 'Y'  -- 승인된 상품평만 조회
 		<if test="reviewSq != null and reviewSq != ''" >
 		AND R.REVIEW_SQ = #{reviewSq}
 		</if>

+ 90 - 36
src/main/webapp/WEB-INF/views/mob/display/CategoryGoodsListFormMob.html

@@ -102,22 +102,22 @@
 						</div>
 						<div class="filter_body">
 							<!-- 필터메뉴 -->
-							<ul>
-								<li class="brand" th:if="${filterBrandList != null and !filterBrandList.empty}" id="brandGroupFilterDiv">
+							<ul class="allFilter">
+								<li class="brand chkFilter" th:if="${filterBrandList != null and !filterBrandList.empty}" id="brandGroupFilterDiv">
 									<a href="javascript:void(0)" class="daps1">브랜드</a>
 									<ul class="daps2">
 										<li th:each="oneData, status : ${filterBrandList}">
 											<a href="javascript:void(0)">
 												<div class="form_field">
 													<div>
-														<input th:id="${'chkFilterBrand' + status.index}" name="brandGroup" type="checkbox" th:value="${oneData.filterCd}" th:data-id="${oneData.filterNm}" onclick="filterSel(this,'brandGroup','off','','Mob');"><label th:for="${'chkFilterBrand' + status.index}"><span th:text="${oneData.filterNm}"></span></label>
+														<input th:id="${'chkFilterBrand' + status.index}" name="brandGroup" type="checkbox" th:value="${oneData.filterCd}" th:data-id="${oneData.filterNm}" onclick="fnSelectFilerMob(this,'brandGroup','off','');"><label th:for="${'chkFilterBrand' + status.index}"><span th:text="${oneData.filterNm}"></span></label>
 													</div>
 												</div>
 											</a>
 										</li>
 									</ul>
 								</li>
-								<li calss="size" th:if="${filterSizeList != null and !filterSizeList.empty}" id="sizeFilterDiv">
+								<li class="size chkFilter" th:if="${filterSizeList != null and !filterSizeList.empty}" id="sizeFilterDiv">
 									<a href="javascript:void(0)" class="daps1">사이즈</a>
 									<div class="daps2">
 										<ul class="sizebox">
@@ -125,7 +125,7 @@
 												<strong>상의</strong>
 												<th:block th:each="oneData, status : ${filterSizeList}" th:if="${#strings.startsWith(oneData.filterCd,'T')}">
 													<label class="size_btn">
-														<input type="checkbox" group="filterValue" th:id="${'chkFilterTSize' + status.index}" name="size" th:vale="${oneData.filterNm}" th:data-id="${oneData.filterNm}" data-idx="1" onclick="filterSel(this,'size','off','1','Mob');"><span th:text="${oneData.filterNm}">80</span>
+														<input type="checkbox" group="filterValue" th:id="${'chkFilterTSize' + status.index}" name="size" th:vale="${oneData.filterNm}" th:data-id="${oneData.filterNm}" data-idx="1" onclick="fnSelectFilerMob(this,'size','off','1');"><span th:text="${oneData.filterNm}">80</span>
 													</label>
 												</th:block>
 											</li>
@@ -133,7 +133,7 @@
 												<strong>하의</strong>
 												<th:block th:each="oneData, status : ${filterSizeList}" th:if="${#strings.startsWith(oneData.filterCd,'B')}">
 													<label class="size_btn">
-														<input type="checkbox" group="filterValue" th:id="${'chkFilterBSize' + status.index}" name="size" th:vale="${oneData.filterNm}" th:data-id="${oneData.filterNm}" data-idx="2" onclick="filterSel(this,'size','off','2','Mob');"><span th:text="${oneData.filterNm}">44</span>
+														<input type="checkbox" group="filterValue" th:id="${'chkFilterBSize' + status.index}" name="size" th:vale="${oneData.filterNm}" th:data-id="${oneData.filterNm}" data-idx="2" onclick="fnSelectFilerMob(this,'size','off','2');"><span th:text="${oneData.filterNm}">44</span>
 													</label>
 												</th:block>
 											</li>
@@ -141,19 +141,19 @@
 												<strong>신발</strong>
 												<th:block th:each="oneData, status : ${filterSizeList}" th:if="${#strings.startsWith(oneData.filterCd,'S')}">
 													<label class="size_btn">
-														<input type="checkbox" group="filterValue" th:id="${'chkFilterSSize' + status.index}" name="size" th:vale="${oneData.filterNm}" th:data-id="${oneData.filterNm}" data-idx="3" onclick="filterSel(this,'size','off','3','Mob');"><span th:text="${oneData.filterNm}">120</span>
+														<input type="checkbox" group="filterValue" th:id="${'chkFilterSSize' + status.index}" name="size" th:vale="${oneData.filterNm}" th:data-id="${oneData.filterNm}" data-idx="3" onclick="fnSelectFilerMob(this,'size','off','3');"><span th:text="${oneData.filterNm}">120</span>
 													</label>
 												</th:block>
 											</li>
 										</ul>
 									</div>
 								</li>
-								<li class="price" id="priceFilterDiv">
+								<li class="price chkFilter" id="priceFilterDiv">
 									<a href="javascript:void(0)" class="daps1">가격<!--<span class="pic">230,000원~487,000원, 700,000원~990,000원</span>--></a>
 									<ul class="daps2" id="priceArea">
 									</ul>
 								</li>
-								<li class="discount" id="dcRateFilterDiv">
+								<li class="discount chkFilter" id="dcRateFilterDiv">
 									<a href="javascript:void(0)" class="daps1">할인율</a>
 									<ul class="daps2">
 										<li>
@@ -248,35 +248,35 @@
 										</li>
 									</ul>
 								</li>
-								<li class="age" th:if="${filterAgeList != null and !filterAgeList.empty}" id="ageFilterDiv">
+								<li class="age chkFilter" th:if="${filterAgeList != null and !filterAgeList.empty}" id="ageFilterDiv">
 									<a href="javascript:void(0)" class="daps1">연령</a>
 									<ul class="daps2">
 										<li th:each="oneData, status : ${filterAgeList}">
 											<a href="javascript:void(0)">
 												<div class="form_field">
 													<div>
-														<input th:id="${'chkFilterAge' + status.index}" name="age" th:value="${oneData.filterCd}" th:data-id="${oneData.filterNm}" onclick="filterSel(this,'age','off','','Mob');" type="checkbox"><label th:for="${'chkFilterAge' + status.index}"> <span th:text="${oneData.filterNm}"></span> </label>
+														<input th:id="${'chkFilterAge' + status.index}" name="age" th:value="${oneData.filterCd}" th:data-id="${oneData.filterNm}" onclick="fnSelectFilerMob(this,'age','off','');" type="checkbox"><label th:for="${'chkFilterAge' + status.index}"> <span th:text="${oneData.filterNm}"></span> </label>
 													</div>
 												</div>
 											</a>
 										</li>
 									</ul>
 								</li>
-								<li class="season" th:if="${filterSeasonList != null and !filterSeasonList.empty}" id="seasonFilterDiv">
+								<li class="season chkFilter" th:if="${filterSeasonList != null and !filterSeasonList.empty}" id="seasonFilterDiv">
 									<a href="javascript:void(0)" class="daps1">시즌</a>
 									<ul class="daps2">
 										<li th:each="oneData, status : ${filterSeasonList}">
 											<a href="javascript:void(0)">
 												<div class="form_field">
 													<div>
-														<input th:id="${'chkFilterSeason' + status.index}" name="season" th:value="${oneData.filterCd}" th:data-id="${oneData.filterNm}" onclick="filterSel(this,'season','off','','Mob');" type="checkbox"><label th:for="${'chkFilterSeason' + status.index}"> <span th:text="${oneData.filterNm}">봄</span> </label>
+														<input th:id="${'chkFilterSeason' + status.index}" name="season" th:value="${oneData.filterCd}" th:data-id="${oneData.filterNm}" onclick="fnSelectFilerMob(this,'season','off','');" type="checkbox"><label th:for="${'chkFilterSeason' + status.index}"> <span th:text="${oneData.filterNm}">봄</span> </label>
 													</div>
 												</div>
 											</a>
 										</li>
 									</ul>
 								</li>
-								<li class="color" th:if="${filterColorList != null and !filterColorList.empty}" id="colorFilterDiv">
+								<li class="color chkFilter" th:if="${filterColorList != null and !filterColorList.empty}" id="colorFilterDiv">
 									<a href="javascript:void(0)" class="daps1">컬러
 										<span class="pic">
 <!--											<span class="pdColor-color01"></span><span class="pdColor-color02"></span>-->
@@ -286,7 +286,7 @@
 										<ul class="colorbox">
 											<li th:each="oneData, status : ${filterColorList}">
 												<label class="color-check">
-													<input type="checkbox" group="filterValue" th:id="${'chkFilterColor' + status.index}" name="color" th:value="${oneData.filterCd}" th:data-id="${oneData.filterNm.replace('#','')}" onclick="filterSel(this,'color','off','','Mob');">
+													<input type="checkbox" group="filterValue" th:id="${'chkFilterColor' + status.index}" name="color" th:value="${oneData.filterCd}" th:data-id="${oneData.filterNm.replace('#','')}" onclick="fnSelectFilerMob(this,'color','off','');">
 													<span class="pdColor-color" th:if="${oneData.filterNm=='#FFFFFF'}" th:style="${'background-color:'+oneData.filterNm+';'+' border:1px solid #aaa;'}" th:value="${oneData.filterCd}"></span>
 													<span class="pdColor-color" th:if="${oneData.filterNm!='#FFFFFF'}" th:style="${'background-color:'+oneData.filterNm}" th:value="${oneData.filterCd}"></span>
 												</label>
@@ -294,14 +294,14 @@
 										</ul>
 									</div>
 								</li>
-								<li class="benefit" th:if="${filterBenefitList != null and !filterBenefitList.empty}" id="benefitFilterDiv">
+								<li class="benefit chkFilter" th:if="${filterBenefitList != null and !filterBenefitList.empty}" id="benefitFilterDiv">
 									<a href="javascript:void(0)" class="daps1">혜택</a>
 									<ul class="daps2">
 										<li th:each="oneData, status : ${filterBenefitList}">
 											<a href="javascript:void(0)">
 												<div class="form_field">
 													<div>
-														<input th:id="${'chkFilterBenefits' + status.index}" name="benefit" th:value="${oneData.filterCd}" th:data-id="${oneData.filterNm}" onclick="filterSel(this,'benefit','off','','Mob');" type="checkbox"><label th:for="${'chkFilterBenefits' + status.index}"> <span th:text="${oneData.filterNm}"></span> </label>
+														<input th:id="${'chkFilterBenefits' + status.index}" name="benefit" th:value="${oneData.filterCd}" th:data-id="${oneData.filterNm}" onclick="fnSelectFilerMob(this,'benefit','off','');" type="checkbox"><label th:for="${'chkFilterBenefits' + status.index}"> <span th:text="${oneData.filterNm}"></span> </label>
 													</div>
 												</div>
 											</a>
@@ -744,7 +744,7 @@
 				if($("#searchGoodsForm input[name=pageNo]").val()==1){
 					// 필터 값으로 조회 데이터 없을때
 					$('.list_content .list_defult').show();
-					$('.list_content .count_wrap').hide();
+					//$('.list_content .count_wrap').hide();
 				}else{
 					// 마지막 페이지 일때
 					$('#endPage').show();
@@ -804,13 +804,10 @@
 			$('#filterForm input[name=benefit]:checked').each(function(){
 				$(this).attr('checked', true);
 			});
-			$('#filterForm input[name=price]:checked').each(function(){
-				$(this).attr('checked', true);
-			});
 			if ( (event.originalEvent && event.originalEvent.persisted) || (window.performance && window.performance.navigation.type == 2)) {
 				var historyData = sessionStorage.getItem(document.location.href);
 				if(historyData!=null){
-					console.log('M historyData>>'+historyData);
+					//console.log('M historyData>>'+historyData);
 					historyData = JSON.parse(historyData);
 				}else{
 					historyData = {};
@@ -818,36 +815,93 @@
 				if(typeof historyData.filterHtml!='undefined' && historyData.filterHtml!=''){
 					$("#searchGoodsForm").append(historyData.filterHtml);
 					filterHtml = historyData.filterHtml;
+					fnReCheckFilterList();
 				}
 				if(typeof historyData.filterStatHtml!='undefined' && historyData.filterStatHtml!=''){
-					$(".filterstate .filter_div").append(historyData.filterStatHtml);
+					//TODO 작업해야함
+					console.log('M filterStatHtml>>'+historyData.filterStatHtml);
+					$("#filterForm").append(historyData.filterStatHtml);
 					filterStatHtml = historyData.filterStatHtml;
 				}
 				if(typeof historyData.totalCount!='undefined' && historyData.totalCount!=''){
 					$("#totCntId").text(historyData.totalCount);
 				}
-				if(typeof historyData.sortGb!='undefined' && historyData.sortGb!=''){
-					$("#sortSelect").val(historyData.sortGb);
-					$("#searchGoodsForm input:hidden[name=sortGb]").val(historyData.sortGb);
+				if(filterPriceList.length > 0){
+					let min = 0;
+					let max = 0;
+					var val = '';
+					if(!gagajf.isNull($("#searchGoodsForm").find("input:hidden[name=priceFrom]").val())){
+						min = $("#searchGoodsForm").find("input:hidden[name=priceFrom]").val();
+					}
+					if(!gagajf.isNull($("#searchGoodsForm").find("input:hidden[name=priceTo]").val())){
+						max = $("#searchGoodsForm").find("input:hidden[name=priceTo]").val();
+					}
+					val = min+','+max;
+
+					$('#filterForm input[name=price]').each(function (){
+						if(val == $(this).val()){
+							$(this).prop("checked",true);
+						}
+					});
+				}
+				if(typeof historyData.sortingType!='undefined' && historyData.sortingType!=''){
+					$("#searchGoodsForm input:hidden[name=sortingType]").val(historyData.sortingType);
+					fnSortingChange(this,historyData.sortingType,'back','Mob');
+				}else{
+					fnCategoryGoodsInfiniteScrollInit();
+					fnGoodsListSearch();
 				}
-				fnGoodsListSearch();
 			}else{
 				fnCategoryGoodsInfiniteScrollInit();
-				// var sortGb = [[${sortGb}]];
-				// if(sortGb=='new' || sortGb=='best'){
-				// 	$("#sortSelect").val(sortGb);
-				// 	$("#sortSelect").parent('div').children('span').text($("#sortSelect option:selected").text())
-				// 	fnSortChange(sortGb);
-				// }else{
-				// 	fnGoodsListSearch();
-				// }
-				fnGoodsListSearch();
+				var sortingType = $("#searchGoodsForm input:hidden[name=sortingType]").val();
+				if(sortingType=='BEST' || sortingType=='REVIEW'){
+					console.log('2222');
+					fnSortingChange(this,sortingType,'','Mob');
+				}else{
+					fnGoodsListSearch();
+				}
 			}
 
 		});
 
+		// var iframe= document.createElement('iframe');
+		// iframe.setAttribute('allowFullScreen', '');
+		// iframe.setAttribute('allow', 'fullscreen');
+		// var controller;
+		// var player = document.getElementById('player');
+		//
+		// player.onload = function() {
+		// 	try {
+		// 		var controller = new VgControllerClient({
+		// 			target_window: document.getElementById('pdThumbVideo').contentWindow
+		// 			// target_window: document.getElementsByClassName('pd_mov').contentWindow
+		// 		});
+		// 		var playMov;
+		//
+		// 		controller.on('ready', function(){
+		// 			//플레이어 준비 완료
+		// 			controller.set_ratio('fill');
+		// 			//  contain : 비율에 맞게 채웁니다.
+		// 			//fill : 화면에 꽉 차게 채웁니다.
+		// 			//enlargement : 세로 높이를 꽉 차게 맞춥니다. 좌우로 스크롤이 가능합니다
+		// 			controller.play();
+		// 		});
+		// 		controller.on('done', function(){
+		// 			//플레이어 재생 완료
+		// 			controller.play();
+		// 		});
+		//
+		// 	} catch(e) {
+		// 		// Videogateweay Controller Library는 window.postMessage API를 이용하기 때문에
+		// 		// 해당 기능을 지원하지 않는 웹브라우져에서는 동작하지 않습니다.
+		// 		// 이 부분에 적절한 fail-over 코드를 추가하여 주십시요.
+		// 	}
+		//
+		// }
+
 	</script>
 
+
 </th:block>
 </body>
 </html>

+ 7 - 8
src/main/webapp/WEB-INF/views/mob/goods/GoodsCouponFormMob.html

@@ -41,7 +41,7 @@
 							</div>
 							<div class="btn_group_flex">
 								<div>
-									<button type="button" class="btn btn_dark" id="btn_result_coupon" 
+									<button type="button" class="btn btn_dark btn_coupon_down" id="btn_result_coupon" 
 											th:disabled="${goodsCoupon.custPubLimitQty > 0 and goodsCoupon.custPubLimitQty <= goodsCoupon.custCouponCnt}"
 											th:attr="cpnId=${goodsCoupon.cpnId}" th:id="${'coupon_'+goodsCoupon.cpnId}" onclick="fnGoodsCouponDown(this);">
 										<span>쿠폰받기</span>
@@ -62,7 +62,8 @@
 		</form>	
 		</div>
 		<div class="modal-footer">
-			<button type="button" class="btn btn_primary btn_all_cpdown" onclick="fnGoodsCouponDownAll();"><span>쿠폰 모두 받기</span></button>
+			<button type="button" id="btn_all_coupon" class="btn btn_primary" onclick="fnGoodsCouponDownAll();">
+			<span>쿠폰 모두 받기</span><span>쿠폰 모두 받기 완료</span></button>
 		</div>
 	</div>
 </div>
@@ -118,11 +119,11 @@
 	
 	
 	// 쿠폰 전체 다운로드
-	var fnGoodsCouponDownAll = function(){
+	var fnGoodsCouponDownAll = function(){debugger;
 		//00개 쿠폰이 발급되었습니다.
 		let couponDownAbleYn = "N";
 		let arrCpnId = [];
-		$('.btn_coupon_down').each(function(){
+		$('.btn_coupon_down').each(function(){debugger;
 			if (!$(this).attr('disabled')){
 				couponDownAbleYn = "Y";
 				arrCpnId.push($(this).attr('cpnId'));
@@ -151,13 +152,13 @@
 						if (coupon.cpnId == cpnId){
 							if (Number(coupon.custPubLimitQty) > 0){
 								if (Number(coupon.custPubLimitQty) <= Number(coupon.custCouponCnt)){
-									$('#coupon_'+ coupon.cpnId).html('<span>받기완료</span>');
+								//	$('#coupon_'+ coupon.cpnId).html('<span>받기완료</span>');
 									$('#coupon_'+ coupon.cpnId).attr('disabled', true);
 								}
 							}
 							if (Number(coupon.TotPubLimitQty) > 0){
 								if (Number(coupon.TotPubLimitQty) <= Number(coupon.CustCouponCnt)){
-									$('#coupon_'+ coupon.cpnId).html('<span>받기완료</span>');
+								//	$('#coupon_'+ coupon.cpnId).html('<span>받기완료</span>');
 									$('#coupon_'+ coupon.cpnId).attr('disabled', true);
 								}
 							}
@@ -179,9 +180,7 @@
 		});	
 		
 		if(couponDownAbleYn == "N"){
-			$('.btn_all_cpdown').addClass('btn_coupon_done');
 			$('.btn_all_cpdown').attr('disabled', true);
-			$('.btn_all_cpdown').find('span').text('쿠폰 모두 받기 완료');
 		}
 	}	
 	

+ 14 - 12
src/main/webapp/WEB-INF/views/mob/goods/GoodsDetailFormMob.html

@@ -18,8 +18,6 @@
  -->
 <body>
 <th:block layout:fragment="content">
-<main role="" id="" class="container pd" th:with="imgGoodsUrl=${@environment.getProperty('upload.goods.view')}, uxImgUrl=${@environment.getProperty('domain.uximage')}, imgUrl=${@environment.getProperty('upload.image.view')}">
-	<!-- ★ 컨텐츠 시작 -->
 	<form name="cartForm" id="cartForm" method="post">
 		<input type="hidden" name="mode">
 		<input type="hidden" name="goodsCd" th:value="${params.goodsCd}" />
@@ -38,6 +36,9 @@
 		<input type="hidden" name="currPrice" th:value="${goodsInfo.currPrice}"/>
 		<input type="hidden" name="goodsType" th:value="${goodsInfo.goodsType}"/>
 		<input type="hidden" name="selfGoodsYn" th:value="${goodsInfo.selfGoodsYn}"/>
+<main role="" id="" class="container pd" th:with="imgGoodsUrl=${@environment.getProperty('upload.goods.view')}, uxImgUrl=${@environment.getProperty('domain.uximage')}, imgUrl=${@environment.getProperty('upload.image.view')}">
+	<!-- ★ 컨텐츠 시작 -->
+
 	<section class="pd_detail">
 		<!-- 210409_ 구조변경 : .pd_info, .pd_info1 추가  -->
 		<div class="pd_info">
@@ -278,14 +279,13 @@
 					</th:block>
 					</th:block>
 					</th:block>
+					<th:block  th:if="${goodsInfo.goodsTopDesc != null  and !goodsInfo.goodsTopDesc.empty }" th:utext="${#strings.unescapeJava(#strings.escapeJava(goodsInfo.goodsTopDesc))}"></th:block >
 					
 				</div>
 					
-				<div class="view_outfit_box" >
+				<div class="view_outfit_box" th:if="${goodsInfo.tobeFormYn == 'N' and goodsInfo.goodsDesc != null  and !goodsInfo.goodsDesc.empty}">
 				<!-- 관리자 에디터입력 내용 노출  상단 html -->
-					<th:block  th:if="${goodsInfo.goodsTopDesc != null  and !goodsInfo.goodsTopDesc.empty }" th:utext="${#strings.unescapeJava(#strings.escapeJava(goodsInfo.goodsTopDesc))}"></th:block >
-					
-					<th:block th:if="${goodsInfo.tobeFormYn == 'N' and goodsInfo.goodsDesc != null  and !goodsInfo.goodsDesc.empty}" th:utext="${#strings.unescapeJava(#strings.escapeJava(goodsInfo.goodsDesc))}"></th:block>
+					<th:block  th:utext="${#strings.unescapeJava(#strings.escapeJava(goodsInfo.goodsDesc))}"></th:block>
 				</div>
 				<th:block th:if="${goodsInfo.tobeFormYn == 'Y'}">	
 				<!-- 착용컷 노출 -->
@@ -583,7 +583,7 @@
 				</div>
 				<!-- //상품필수정보 노출 -->
 			</div>
-			<div class="btn_more_box">
+			<div class="btn_more_box covered">
 				<div class="btn_group_flex">
 					<div>
 						<button type="button" class="btn btn_default">
@@ -1003,7 +1003,7 @@
 		<!-- 구매하기팝업 -->
 	</section>
 	<!-- ★ 컨텐츠 종료 -->	
-</form>
+
 	<!-- 바닥메뉴 -->	
 	<div class="product_floormenu"><!--  ☞☞ 제품이 품절되면 soldout클래스 추가 -->
 		<div class="share_like">
@@ -1050,9 +1050,9 @@
 			</div>
 		</div>
 	</div>
-		
-</main>
 
+</main>
+</form>
 <!-- 바로구매 및 선물하기 장바구니 등록 정보 저장을 위한 form -->
 <form id="directOrderForm" method="POST" action="/order/noMember"></form>
 <script th:src="@{'/biz/goods.js?v=' + ${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}}" src="/biz/goods.js"></script>
@@ -1961,6 +1961,8 @@
 			return false;
 		}); 
 		
+
+		
 		//슬라이드 - 함께하면 할인되는 다다익선 상품
 		var togetherItemSwiper = new Swiper('.pd .pd_together .area_slider .swiper-container', {
 			slidesPerView: 3,
@@ -2164,12 +2166,12 @@
 		fnEpCouponDown([[${afLinkCd}]], [[${params.goodsCd}]], 1);
 		
 		
-		/*  $('.Purchase_pop .btPop_close').click(function(){
+		$('.Purchase_pop .btPop_close').click(function(){
 			$('html, body').css({'overflow': 'visible', 'height': '100%'});
 			$('.container').removeClass('btPop_open');
 			autome.style.top  = 100 + "%";
 			return false;
-		}); */
+		}); 
 		 
 	});
 	

+ 19 - 5
src/main/webapp/WEB-INF/views/mob/goods/GoodsDetailReviewFormMob.html

@@ -426,7 +426,12 @@
 									<div class="lap">
 										<div class="pic" th:if="${bestReview.reviewAttachList != null and !bestReview.reviewAttachList.empty}">
 											<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 th:if="${reviewAttach.fileGb == 'M'}">
+											<span class="thumb mov" th:style="${'background-image:url('+kollusMediaUrl+'/poster/'+reviewAttach.kmcKey+');'}"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
+												</th:block>
+												<th:block th:unless="${reviewAttach.fileGb == 'M'}">
+											<span class="thumb" th:style="${'background-image:url('+imgUrl+ reviewAttach.sysFileNm+');'}"></span>
+												</th:block>
 											</th:block>
 										</div>
 										<div class="txt_best_review">
@@ -452,7 +457,12 @@
 					<th:block th:each="reviewAttach, attachStatus : ${photoReview.reviewAttachList}" th:if="${attachStatus.first}">
 					<a href="javascript:void(0);" th:onclick="cfGoodsReviewDetail([[${goodsInfo.goodsCd}]], '', 'Y', [[${photoReview.reviewSq}]])">
 						<div class="pic">
-							<span class="thumb" th:classAppend="${(reviewAttach.fileGb == 'M') ? 'mov' :''}" th:style="${'background-image:url('+imgUrl+ reviewAttach.sysFileNm+');'}"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
+							<th:block th:if="${reviewAttach.fileGb == 'M'}">
+							<span class="thumb mov" th:style="${'background-image:url('+kollusMediaUrl+'/poster/'+reviewAttach.kmcKey+');'}"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
+							</th:block>
+							<th:block th:unless="${reviewAttach.fileGb == 'M'}">
+							<span class="thumb" th:style="${'background-image:url('+imgUrl+ reviewAttach.sysFileNm+');'}"></span>
+							</th:block>
 						</div>
 					</a>
 					</th:block>
@@ -679,12 +689,16 @@
 			if (item.reviewAttachList != null && item.reviewAttachList.length > 0){
 				var fileGbClass = '';
 				$.each(item.reviewAttachList, function(aIdx, reviewAttach){
-					fileGbClass = '';
-					if (reviewAttach == "M") fileGbClass = "mov";
+//					fileGbClass = '';
+//					if (reviewAttach == "M") fileGbClass = "mov";
 			tag += '				<li>\n';
 			tag += '					<a href="javascript:void();" onclick="cfGoodsReviewDetail(\''+item.goodsCd+'\',\'\', \'Y\',\''+item.reviewSq+'\');">\n';
 			tag += '						<div class="pic">\n';
-			tag += '							<span class="thumb '+ fileGbClass +'" style="background-image:url('+ _imgUrl + reviewAttach.sysFileNm +');"></span>\n'; //<!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
+			if (reviewAttach.fileGb == "M") {
+			tag +='								<span class="thumb mov" style="background-image:url('+_kollusMediaUrl +'/poster/'+reviewAttach.kmcKey +');\" ></span>\n';
+				}else{
+			tag +='								<span class="thumb" style="background-image:url('+ _imgUrl + reviewAttach.sysFileNm +');\" ></span>\n';
+				}
 			tag += '						</div>\n';
 			tag += '					</a>\n';
 			tag += '				</li>\n';		

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

@@ -38,14 +38,13 @@
 								<div class="swiper-slide">
 									<div class="thumb " th:classAppend="${(reviewAttach.fileGb == 'M') ? 'mov' :''}">
 										<th:block th:if="${reviewAttach.fileGb == 'M'}">
-											<video poster="http://cdn.011st.com/11dims/resize/1999x1999/quality/75/11src/review/10201202/3121412332/2e66698576d64c5c9977a6fe6606008d.jpg" muted="muted" preload="metadata" controls="controls">
-												<source src="http://snsvideo.11st.co.kr/movie/item/www/675/67518524_06_1_C1.mp4" type="video/mp4">
-											</video>
+											<iframe class="pd_mov" width="100%" height="100%" th:src="${kollusMediaUrl+'/'+reviewAttach.kmcKey +'?enable_initialize_focus=false&autoplay&mute&controls_activation=none'}" frameborder="0" allowfullscreen></iframe>
 										</th:block>
 										<th:block th:unless="${reviewAttach.fileGb == 'M'}">
 											<img th:src="${imgUrl+'/'+reviewAttach.sysFileNm}" alt="">
 										</th:block>
 									</div>
+									
 								</div>
 								</th:block>
 								</th:block>

+ 5 - 1
src/main/webapp/WEB-INF/views/mob/goods/GoodsReviewPhotoFormMob.html

@@ -70,7 +70,11 @@
 				tag += '				<li>\n';
 				tag += '					<a href="javascript:void();" onclick="fnGoodsReviewDetail(\''+item.reviewSq+'\');">\n';
 				tag += '						<div class="pic">\n';
-				tag += '							<span class="thumb '+ fileGbClass +'" style="background-image:url('+ _imgUrl + reviewAttach.sysFileNm +');"></span>\n'; //<!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
+				if ("I" ==reviewAttach.fileGb){
+				tag += '							<span class="thumb" style="background-image:url('+ _imgUrl + reviewAttach.sysFileNm +');"></span>\n'; //<!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->	
+				}else{
+				tag += '							<span class="thumb mov" style="background-image:url('+_kollusMediaUrl+'/poster/'+reviewAttach.kmcKey+');"></span>\n';
+				}
 				tag += '						</div>\n';
 				tag += '					</a>\n';
 				tag += '				</li>\n';		

+ 16 - 6
src/main/webapp/WEB-INF/views/web/goods/GoodsDetailReviewFormWeb.html

@@ -302,7 +302,12 @@
 						<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:if="${attachStatus.first}">
-								<span class="thumb" th:classAppend="${(reviewAttach.fileGb == 'M') ? 'mov' :''}" th:style="${'background-image:url('+imgUrl+ reviewAttach.sysFileNm+');'}"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
+									<th:block th:if="${reviewAttach.fileGb == 'M'}">
+									<span class="thumb mov" th:style="${'background-image:url('+kollusMediaUrl+'/poster/'+reviewAttach.kmcKey+');'}"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
+									</th:block>
+									<th:block th:unless="${reviewAttach.fileGb == 'M'}">
+									<span class="thumb" th:style="${'background-image:url('+imgUrl+ reviewAttach.sysFileNm+');'}"></span>
+									</th:block>
 								</th:block>
 							</div>
 							<div class="star_score" th:with="starScore=${#numbers.formatDecimal((bestReview.iscore*100/5), 0,0)}">
@@ -330,7 +335,12 @@
 					<th:block th:each="reviewAttach, attachStatus : ${photoReview.reviewAttachList}" th:if="${attachStatus.first}">
 					<a href="javascript:void(0);" th:onclick="cfGoodsReviewDetail([[${goodsInfo.goodsCd}]], '', 'Y', [[${photoReview.reviewSq}]])">
 						<div class="pic">
-							<span class="thumb" th:classAppend="${(reviewAttach.fileGb == 'M') ? 'mov' :''}" th:style="${'background-image:url('+imgUrl+ reviewAttach.sysFileNm+');'}"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
+							<th:block th:if="${reviewAttach.fileGb == 'M'}">
+							<span class="thumb mov" th:style="${'background-image:url('+kollusMediaUrl+'/poster/'+reviewAttach.kmcKey+');'}"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
+							</th:block>
+							<th:block th:unless="${reviewAttach.fileGb == 'M'}">
+							<span class="thumb" th:style="${'background-image:url('+imgUrl+ reviewAttach.sysFileNm+');'}"></span>
+							</th:block>
 						</div>
 					</a>
 					</th:block>
@@ -549,15 +559,15 @@
 				if (item.reviewAttachList != null && item.reviewAttachList.length > 0){
 					var fileGbClass = '';
 					$.each(item.reviewAttachList, function(aIdx, reviewAttach){
-						fileGbClass = '';
-						if (reviewAttach.fileGb == "M") fileGbClass = "mov";
+//						fileGbClass = '';
+//						if (reviewAttach.fileGb == "M") fileGbClass = "mov";
 				tag += '				<li>\n';
 				tag += '					<a href="javascript:void();" onclick="cfGoodsReviewDetail(\''+item.goodsCd+'\',\'\', \'Y\',\''+item.reviewSq+'\','+aIdx+');">\n';
 				tag += '						<div class="pic">\n';
 					if (reviewAttach.fileGb == "M") {
-				tag +='					<span class="thumb '+fileGbClass+'"><iframe width="100%" height="100%" src="'+_kollusMediaUrl +'/'+reviewAttach.kmcKey +'?player_version=html5" frameborder="0" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></span>\n';
+				tag +='					<span class="thumb mov" style="background-image:url('+_kollusMediaUrl +'/poster/'+reviewAttach.kmcKey +');\" ></span>\n';
 					}else{
-				tag +='					<span class="thumb" style="background-image:url('+ _imgUrl + reviewAttach.sysFileNm +');\" >\n';
+				tag +='					<span class="thumb" style="background-image:url('+ _imgUrl + reviewAttach.sysFileNm +');\" ></span>\n';
 					}
 				tag += '						</div>\n';
 				tag += '					</a>\n';

+ 3 - 3
src/main/webapp/WEB-INF/views/web/goods/GoodsReviewPhotoFormWeb.html

@@ -65,15 +65,15 @@
 				if (item.reviewAttachList != null && item.reviewAttachList.length > 0){
 					var fileGbClass = '';
 					$.each(item.reviewAttachList, function(aIdx, reviewAttach){
-						fileGbClass = '';
-						if (reviewAttach == "M") fileGbClass = "mov";
+					//	fileGbClass = '';
+					//	if (reviewAttach == "M") fileGbClass = "mov";
 				tag += '				<li>\n';
 				tag += '					<a href="javascript:void();" onclick="fnGoodsReviewDetail(\''+item.reviewSq+'\');">\n';
 				tag += '						<div class="pic">\n';
 				if ("I" ==reviewAttach.fileGb){
 					tag += '							<span class="thumb" style="background-image:url('+ _imgUrl + reviewAttach.sysFileNm +');"></span>\n'; //<!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->	
 				}else{
-					tag += '							<span class="thumb '+ fileGbClass +'"><iframe width="100%" height="100%" src="'+_kollusMediaUrl +'/'+reviewAttach.kmcKey +'?player_version=html5" frameborder="0" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></span>\n';	
+					tag += '							<span class="thumb mov" style="background-image:url('+_kollusMediaUrl+'/poster/'+reviewAttach.kmcKey+');"></span>\n';
 				}
 				tag += '						</div>\n';
 				tag += '					</a>\n';

+ 99 - 11
src/main/webapp/biz/goods.js

@@ -354,7 +354,7 @@ var filterHtml = '';
 var filterStatHtml = '';
 
 // 상품상세 필터 조회
-var filterSel = function (obj, gubun, staus, sizeGb, appGb){
+var filterSel = function (obj, gubun, staus, sizeGb){
 	filterHtml = '';
 	filterStatHtml = '';
 	gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
@@ -362,9 +362,9 @@ var filterSel = function (obj, gubun, staus, sizeGb, appGb){
 	let $obj = $(obj);
 	if(staus=='on'){
 		if(gubun=='size'){
-			$(obj).attr('onclick','filterSel(this,\''+gubun+'\',\'off\',\''+sizeGb+'\',\''+appGb+'\');');
+			$(obj).attr('onclick','filterSel(this,\''+gubun+'\',\'off\',\''+sizeGb+'\');');
 		}else{
-			$(obj).attr('onclick','filterSel(this,\''+gubun+'\',\'off\',\'\',\''+appGb+'\');');
+			$(obj).attr('onclick','filterSel(this,\''+gubun+'\',\'off\',\'\');');
 		}
 
 		$("#filterData").find('span').each(function(idx,item) {
@@ -380,9 +380,9 @@ var filterSel = function (obj, gubun, staus, sizeGb, appGb){
 		});
 	}else{
 		if(gubun=='size'){
-			$(obj).attr('onclick','filterSel(this,\''+gubun+'\',\'on\',\''+sizeGb+'\',\''+appGb+'\');');
+			$(obj).attr('onclick','filterSel(this,\''+gubun+'\',\'on\',\''+sizeGb+'\');');
 		}else{
-			$(obj).attr('onclick','filterSel(this,\''+gubun+'\',\'on\',\'\',\''+appGb+'\');');
+			$(obj).attr('onclick','filterSel(this,\''+gubun+'\',\'on\',\'\');');
 		}
 
 		let tag = '';
@@ -405,15 +405,13 @@ var filterSel = function (obj, gubun, staus, sizeGb, appGb){
 			tag += '</span>';
 		}
 
-		if(appGb != 'Mob'){
-			$("#filterData").append(tag);
-		}
+		$("#filterData").append(tag);
 
 		filterStatHtml += tag;
 	}
 
 	gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
-	fnFilterSet(gubun, sizeGb, appGb);
+	fnFilterSet(gubun, sizeGb);
 }
 
 var fnFilterSet = function (searchId, sizeGb, appGb){
@@ -437,6 +435,8 @@ var fnFilterSet = function (searchId, sizeGb, appGb){
 
 	if(appGb == 'Mob'){
 		var data = '';
+		var tag = '';
+		var filterSet = '';
 		$('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
 		$('#filterForm input[name='+searchId+']:checked').each(function(idx){
 			if(searchId=='color'){
@@ -458,10 +458,11 @@ var fnFilterSet = function (searchId, sizeGb, appGb){
 				data += $(this).attr('data-id');
 				$("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
 			}
-
 		});
+
 	}
 	gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
+	gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
 	fnGoodsListSearch();
 }
 
@@ -612,12 +613,15 @@ var fnSortingChange = function (obj, sortingType, stat, appGb){
 		}
 	}
 
-	console.log('appGb:::'+appGb);
 	if(appGb != 'Mob'){
 		$("#sortArea").find('li').each(function (){
 			$(this).find('a').attr('class','off');
 		});
 	}else{
+		$("#sortArea").find('button').each(function (){
+			$(this).removeClass("on");
+		});
+		$("#sorting"+sortingType).addClass("on");
 		$("#filter").text($("#sorting"+sortingType).find('span').text());
 	}
 	
@@ -726,4 +730,88 @@ var filterDcRateMob = function (obj, gubun, staus, idx){
 
 }
 
+// 상품상세 필터 조회
+var fnSelectFilerMob = function (obj, gubun, staus, sizeGb){
+	filterHtml = '';
+	filterStatHtml = '';
+	gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;
+	gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
+	let $obj = $(obj);
+	if(staus=='on'){
+		if(gubun=='size'){
+			$(obj).attr('onclick','fnSelectFilerMob(this,\''+gubun+'\',\'off\',\''+sizeGb+'\');');
+		}else{
+			$(obj).attr('onclick','fnSelectFilerMob(this,\''+gubun+'\',\'off\',\'\');');
+		}
+
+		$("#filterData").find('span').each(function(idx,item) {
+			if(gubun=='color'){
+				if($obj.attr('data-id').replace('#','').trim() == $(this).closest("span").attr('id')) {
+					$(this).closest("span").remove();
+				}
+			}else{
+				if($obj.attr('data-id') == $(this).closest("span").text()) {
+					$(this).closest("span").remove();
+				}
+			}
+		});
+	}else{
+		if(gubun=='size'){
+			$(obj).attr('onclick','fnSelectFilerMob(this,\''+gubun+'\',\'on\',\''+sizeGb+'\');');
+		}else{
+			$(obj).attr('onclick','fnSelectFilerMob(this,\''+gubun+'\',\'on\',\'\');');
+		}
+	}
+	fnFilterSet(gubun, sizeGb, 'Mob');
+}
+
+var fnReCheckFilterList = function (){
+	var data = '';
+	var searchId = '';
+	$('#filterForm').find('.allFilter').find('.chkFilter').each(function() {
+		console.log('name?'+$(this).attr('id'));
+
+		if(!gagajf.isNull($(this).attr('id'))){
+			if($(this).attr('id') == 'sizeFilterDiv'){
+				searchId = 'size';
+			}else{
+				searchId = $(this).attr('id').replace('FilterDiv','');
+			}
+		}
+
+		if(!gagajf.isNull(searchId)){
+			$('#filterForm input[name='+searchId+']:checked').each(function(idx){
+				if(searchId=='color'){
+					$('#'+searchId+'FilterDiv').find('.daps1').find('.pic').find('span').html('');
+					var mobTag = '';
+					var color = $(this).attr('data-id');
+					console.log('color::'+$(this).attr('data-id'));
+					if(color=='FFFFFF'){
+						mobTag += '<span class="pdColor-color" style="background-color:#'+color+';border:1px solid #aaa;"></span>';
+					}else{
+						mobTag += '<span class="pdColor-color" style="background-color:#'+color+'"></span>';
+					}
+					$("#"+searchId+"FilterDiv").find('.daps1').find('.pic').append(mobTag);
+				}else if(searchId=='price'){
+					$('#filterForm input[name=price]:checked').each(function(index){
+						$("#priceFilterDiv").find('.daps1').append('<span class="pic">'+$("#pricdSpan"+idx).text()+'</span>');
+					});
+				}else if(searchId=='dcRate'){
+					$('#filterForm input[name=dcRate]:checked').each(function(index){
+						$("#dcRateFilterDiv").find('.daps1').append('<span class="pic">'+$("#dcRateText"+idx).text()+'</span>');
+					});
+				}else{
+					$('#'+searchId+'FilterDiv').find('.daps1').find('span').html('');
+					if(idx>0){
+						data += ',';
+					}
+					data += $(this).attr('data-id');
+					$("#"+searchId+"FilterDiv").find('.daps1').append('<span class="pic">'+data+'</span>');
+				}
+			});
+		}
+
+	});
+}
+
 //****************상품리스트  end **********************************

+ 1 - 1
src/main/webapp/ux/plugins/gaga/gaga.infinite.scrollLayer.js

@@ -63,7 +63,7 @@ var gagaInfiniteScroll = {
 	},
 	scrollCheck : function() {
 		var obj = this.obj, stat = this.pageStatus;
-		alert("aaaaa");
+		
 		if ($('[data-id="layer_infinite"]').scrollTop() + $('[data-id="layer_infinite"]').height() >= $('[data-id="layer_infinite_item"]').height() ) { // 더보기
 			if (stat.loadAlign == 'not') {
 				var pageLen = this.pageStatus.pageNum.length - 1;