tsit14 5 лет назад
Родитель
Сommit
ddb6fcd1af

+ 6 - 1
src/main/java/com/style24/front/biz/web/TsfMypageController.java

@@ -2441,7 +2441,12 @@ public class TsfMypageController extends TsfBaseController {
 		// 주문목록조회
 		ModelAndView mav = new ModelAndView();
 
-		mav.addObject("orderList", orderService.getOrderListForMypage(order));
+		Collection<GagaMap> orderList = orderService.getOrderListForMypage(order);
+		
+		mav.addObject("orderList"		, 	orderList);
+		mav.addObject("orderListCnt"	, 	orderList.size());
+		mav.addObject("pageNo"			, 	order.getPageNo());
+		
 		mav.setViewName(super.getDeviceViewName("mypage/MypageOrderListInfo"));
 
 		return mav;

+ 48 - 96
src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderListFormMob.html

@@ -94,7 +94,14 @@
 		</th:block>
 		<!-- only 주문목록 -->
 		
-		<!-- common 주문목록 -->
+		<section id="infiniteContainer">
+			<div id="listBoxOuter">
+				<ul class="area_list" id="listBox">
+				</ul>
+			</div>
+		</section>
+		
+		<!-- common 주문목록
 		<div data-id="layer_infinite_item" >
 			<section id="infiniteContainer">
 				<div id="listBoxOuter">
@@ -170,9 +177,8 @@
 </div>
 <!-- //주문상태 선택 팝업 -->
 
-<!--<script src="/ux/plugins/jquery/jquery.history.min.js"></script> -->
-<!--<script src="/ux/plugins/gaga/gaga.infinite.scrollLayer.js"></script> -->
-<!--<script src="/ux/plugins/gaga/gaga.paging.js"></script> -->
+<script src="/ux/plugins/gaga/gaga.infinite.scrollSession.js"></script>
+<script src="/ux/plugins/jquery/jquery.history.min.js"></script>
 
 <script th:inline="javascript">
 // 변수설정
@@ -184,12 +190,13 @@ var jsonObj 		= {};
 var scrollTemp		= true;
 var mypageMainYn	= [[${mypageMainYn}]];
 let customerInfo 	= [[${customerInfo}]];
+var pageNo			= 0;
 
 // 초기설정
 $(document).ready(function() {
 	
 	// 인피니티스크롤 초기화
-	//fnGoodsReviewInfiniteScrollInit();
+	fnMypageOrderListInfiniteScrollInit();
 
 	// AJAX 로드를 위한 변수 설정
 	jsonObj = {
@@ -227,26 +234,6 @@ $(document).ready(function() {
 		if (remainList > 0) {
 			totalPage = totalPage + 1;
 		}
-		
-		fnSetSearchPeriod(3);
-		
-		var win = $(window);
-		 
-		// Each time the user scrolls
-		win.scroll(function() {
-			// End of the document reached?
-			if ($(document).height() - win.height() == win.scrollTop()) {
-				if (scrollTemp) {
-					var tempPage 	= parseInt($("#searchForm input[name=pageNo]").val());
-					tempPage 		= tempPage + 1;
-					
-					if (totalPage > tempPage) {
-						scrollTemp = false;
-						fnGetInfiniteScrollDataList(tempPage);
-					}
-				}
-			}
-		});
 	}
 	
 	// 주문상세상태코드 셀렉트박스 변경 이벤트
@@ -268,14 +255,9 @@ $(document).ready(function() {
 				$(".container .my_order .od_status_btn").text(ordDtlStatNm);
 			}
 		});
-
-		// 리헷
-		$("#listBox").html("");
 		
-		// 초기화설정
-		fnGetInfiniteScrollDataList(1);
-		//fnOrderListInfiniteScrollInit();
-		//fnOrderListSearch();
+		// 인피니티스크롤 초기화
+		fnMypageOrderListInfiniteScrollInit();
 
 		// 팝업닫기
 		$(".popup_close").trigger("click");
@@ -288,11 +270,13 @@ $(document).ready(function() {
 });
 
 // 주문 목록 조회
-var fnGetInfiniteScrollDataList = function(pageNo) {
-
-	// 페이지번호가 없으면 1페이지 설정
-	if (pageNo == null || pageNo == 0) {
-		pageNo = 1;
+var fnGetInfiniteScrollDataList = function() {
+	
+	// 2021.05.28 페이지 기능 수정
+	if (pageNo <= totalPage) {
+		pageNo++;
+	} else {
+		return false;
 	}
 
 	// 페이지설정
@@ -303,35 +287,13 @@ var fnGetInfiniteScrollDataList = function(pageNo) {
 	jsonObj.edDate = $("#searchForm input[name=edDate]").val();
 	jsonObj.ordDtlStat = $('#searchForm input[name=ordDtlStat]').val();
 	
-	//$.ajax( {
-	//	type		: "POST",
-	//	url 		: '/mypage/order/listInfo',
-	//	data		: JSON.stringify(jsonObj),
-	//	dataType 	: 'html',
-	//	beforeSend : function(xhr, settings) {
-	//		xhr.setRequestHeader("AJAX"			, "true");
-	//		xhr.setRequestHeader('Accept'		, 'application/json');
-	//		xhr.setRequestHeader('Content-Type'	, 'application/json');
-	//	},
-	//	success 	: function(result) {
-	//		if (result != null) {
-	//			$("#listBox").css("display", "block");
-	//			$("#listBox").append(result);
-	//			scrollTemp = true;
-	//			
-	//			// 인피니티 스크롤 기억기능
-	//			//gagaInfiniteScroll.draw(result);
-	//			//gagaInfiniteScroll.draw('not');
-	//
-	//		}
-	//	}
-	//});
-	
 	gagajf.ajaxJsonSubmit('/mypage/order/list/pre/info', JSON.stringify(jsonObj), function(result) {
-		let totalCount = result.paging.totalCount;
-		totalCnt = totalCount;
+		let totalCount 	= result.paging.totalCount;
+		totalCnt 		= totalCount;
+		
 		getTotalPage(totalCount);
-		//gagaInfiniteScroll.pageStatus.totalCount = totalCount;
+		
+		gagaInfiniteScroll.pageStatus.totalCount = totalCount;
 		
 		let ordNoList = []; 
 		$.each(result.ordNoList, function(idx, item) {
@@ -354,8 +316,22 @@ var fnGetInfiniteScrollDataList = function(pageNo) {
 				success: function (result) {
 					if (result != null) {
 						$("#listBox").css("display", "block");
-						$("#listBox").append(result);
-						scrollTemp = true;
+						//$("#listBox").append(result);
+						
+						// 2021.05.27 인피니티스크롤
+						var orderListCnt = 0;
+						$("#listBox input[name=pageNo]").each(function(){
+							if (pageNo == $(this).val()) {
+								orderListCnt = $(this).parent().find("input[name=orderListCnt]").val();
+							}
+						});
+						
+						// 인피니티 스크롤 기억기능
+						if (orderListCnt > 0) {
+							gagaInfiniteScroll.draw(result);
+						} else {
+							gagaInfiniteScroll.draw('not');
+						}
 					}
 				}
 			});
@@ -363,7 +339,7 @@ var fnGetInfiniteScrollDataList = function(pageNo) {
 	});
 }
 
-//검색기간 버튼 클릭 이벤트 처리
+// 검색기간 버튼 클릭 이벤트 처리
 var fnSetSearchPeriod = function(period) {
 	let date 		= new Date();
 	let edDate 		= date.getFullYear() + '-' + ('0' + (date.getMonth() + 1)).slice(-2) + '-' + ('0' + (date.getDate() + 1)).slice(-2);
@@ -376,10 +352,8 @@ var fnSetSearchPeriod = function(period) {
 	// 리헷
 	$("#listBox").html("");
 	
-	// 초기화설정
-	fnGetInfiniteScrollDataList(1);
-	//fnOrderListInfiniteScrollInit();
-	//fnOrderListSearch();
+	// 인피니티스크롤 초기화
+	fnMypageOrderListInfiniteScrollInit();
 	
 	$("#odDatePop .popup_con button").removeClass("on");
 	
@@ -400,36 +374,14 @@ var fnSetSearchPeriod = function(period) {
 }
 
 // 2021.04.21 인피니티 스크롤 기능 구현전 추후 수정
-// 인피니트 스크롤 초기화
-/*
-var fnGoodsReviewInfiniteScrollInit = function(){
-	// sessionStorage.removeItem(document.location.href);
-	History.replaceState(null, null);
-	gagaInfiniteScroll.pageStatus = {
-			  pageNum 			: []      // [0,1,2...] 로드된 페이지 (Array)
-			, loadPage 			: 0      // 로드할 페이지
-			, loadAlign 		: 'not' // 로드 상태(prev, next, not)
-			, historyScroll 	: 0 //
-			, nowPage 			: null    // 현재 페이지
-			, pageUrl 			: {       // page url
-				
-			}
-	}
+var fnMypageOrderListInfiniteScrollInit = function(){
+	sessionStorage.removeItem(document.location.href);
 	
-	//History 초기화
+	// History 초기화
 	$("#listBox").html("");
 }
 
-var fnDrawInfiniteScrollData = function (result){
-	let totalCnt 								= result.totalCnt;
-	gagaInfiniteScroll.pageStatus.totalCount 	= result.totalCnt;
-	
-	var htm = fnCreateGoodsList(result);
-	gagaInfiniteScroll.draw(htm);
-}
-
 $(function() { gagaInfiniteScroll.getHistory(); });
-*/
 </script>
 
 <script>

+ 16 - 0
src/main/webapp/biz/mypage.js

@@ -67,12 +67,20 @@ var fnGoToOrderDetail = function(param, noMember) {
 
 // 상품상세 페이지 이동 처리
 var fnGoToGoodsDetail = function(param) {
+	// 2021.05.27 인피니스크롤위치이동
+	let scrollpos = $(window).scrollTop();
+	localStorage.setItem('scrollpos', scrollpos);
+	
 	let goodsCd = $(param).attr('goodsCd');
 	cfnGoToPage(_PAGE_GOODS_DETAIL + goodsCd);
 }
 
 // 배송조회 버튼 클릭 이벤트
 var fnGoToDelivery = function(param, noMember) {
+	// 2021.05.27 인피니스크롤위치이동
+	let scrollpos = $(window).scrollTop();
+	localStorage.setItem('scrollpos', scrollpos);
+	
 	let url = '';
 	
 	if (noMember == 'noMember') {
@@ -126,6 +134,10 @@ var fnDecideOrder = function(param) {
 
 // 리뷰작성 버튼 클릭 이벤트
 var fnCreateReview = function(param) {
+	// 2021.05.27 인피니스크롤위치이동
+	let scrollpos = $(window).scrollTop();
+	localStorage.setItem('scrollpos', scrollpos);
+	
 	let ordNo = $(param).attr('ordNo');
 	let ordDtlNo = $(param).attr('ordDtlNo');
 	let goodsCd = $(param).attr('goodsCd');
@@ -181,6 +193,10 @@ var fnReSendSms = function(param) {
 
 // 반품/취소/교환 버튼 클릭 이벤트
 var fnCreateChange = function(param, gubun, noMember) {
+	// 2021.05.27 인피니스크롤위치이동
+	let scrollpos = $(window).scrollTop();
+	localStorage.setItem('scrollpos', scrollpos);
+	
 	let ordCanChgQty = $(param).attr('ordCanChgQty');
 	let str = '';
 	let url = '';