فهرست منبع

[web]검색화면 가격,할인율 수정

bin2107 4 سال پیش
والد
کامیت
60f5dee924

+ 44 - 5
src/main/java/com/style24/front/biz/service/TsfDisplayService.java

@@ -691,19 +691,58 @@ public class TsfDisplayService {
 	 */
 	public Collection<Filter> getCategoryFilterList(Collection<Filter> filterList, String filterGb) {
 		Collection<Filter> resultList = new ArrayList<Filter>();
+		int idx = 0;
+		String maxPrice = null;
+		String minPrice = null;
 		for (Filter filter : filterList) {
 			if(!"".equals(filter.getFilterCd()) && !filter.getFilterCd().equals(null)){
-				if (filter.getFilterGb().equals(filterGb)) {
-					if ("BENEFIT".equals(filterGb)) {
-						if (!filter.getFilterCd().equals("40")) {
+				if(filter.getFilterGb().equals("PRICE")){
+					if(idx==0){
+						minPrice = filter.getFilterCd();
+					}else{
+						maxPrice = filter.getFilterCd();
+					}
+					idx++;
+				}else{
+					if (filter.getFilterGb().equals(filterGb)) {
+						if ("BENEFIT".equals(filterGb)) {
+							if (!filter.getFilterCd().equals("40")) {
+								resultList.add(filter);
+							}
+						} else {
 							resultList.add(filter);
 						}
-					} else {
-						resultList.add(filter);
 					}
 				}
 			}
 		}
+
+		if(filterGb.equals("PRICE")){
+			int sliceVal = (Integer.parseInt(maxPrice) - Integer.parseInt(minPrice)) / 5;
+			int tempPrice = 0 ;
+			Filter temp = new Filter();
+			Collection<Filter> priceList = new ArrayList<Filter>();
+			for(int i=0; i<6; i++){
+				tempPrice = 0;
+				temp = new Filter();
+				temp.setFilterGb("PRICE");
+				if(i==0){
+					tempPrice = (int)Math.floor((Integer.parseInt(minPrice)) / 1000) * 1000 ;
+					temp.setFilterCd(String.valueOf(tempPrice));
+					temp.setFilterNm(String.valueOf(tempPrice));
+				}else if(i==5){
+					tempPrice = (int)Math.floor((Integer.parseInt(maxPrice)) / 1000) * 1000 ;
+					temp.setFilterCd(String.valueOf(tempPrice));
+					temp.setFilterNm(String.valueOf(tempPrice));
+				}else{
+					tempPrice = (int)Math.floor((Integer.parseInt(minPrice) + sliceVal * i) / 1000) * 1000 ;
+					temp.setFilterCd(String.valueOf(tempPrice));
+					temp.setFilterNm(String.valueOf(tempPrice));
+				}
+				priceList.add(temp);
+			}
+			resultList.addAll(priceList);
+		}
 		return resultList;
 	}
 

+ 75 - 72
src/main/webapp/WEB-INF/views/web/display/SearchGoodsListFormWeb.html

@@ -581,6 +581,8 @@
 
 	<script th:inline="javascript">
 		// var filterPriceList = [[${filterPriceList}]];
+		var custom_values = [];
+
 		var fnSearchGoodsListSearch = function (){
 			gagaInfiniteScroll.getHistory();
 		}
@@ -773,63 +775,64 @@
 		}
 	
 		$(document).ready( function() {
-			// let priceLen;
-			// var filterPriceList = [[${filterPriceList}]];
-			// if(!gagajf.isNull(filterPriceList)){
-			// 	priceLen = filterPriceList.length-1;
-			// 	$.each(filterPriceList, function (priceIdx, priceItem){
-			// 		custom_values[priceIdx] = priceItem.filterNm;
-			// 		if(priceLen==0){
-			// 			custom_values[1] = priceItem.filterNm;
-			// 		}
-			// 	});
-			// 	let my_from;
-			// 	let my_to;
-			// 	if(filterPriceList.length > 1){
-			// 		my_from = custom_values.indexOf(custom_values[0]);
-			// 		my_to = custom_values.indexOf(custom_values[priceLen]);
-			// 	}else{
-			// 		my_from = 0;
-			// 		my_to = 1;
-			// 	}
-			//
-			// 	if(gagajf.isNull($("#filterForm input:hidden[name=priceFrom]").val())){
-			// 		my_from = $("#filterForm input:hidden[name=priceFrom]").val();
-			// 	}
-			// 	if(gagajf.isNull($("#filterForm input:hidden[name=priceTo]").val())){
-			// 		my_to = $("#filterForm input:hidden[name=priceTo]").val();
-			// 	}
-			// 	let minValue;
-			// 	let maxValue;
-			// 	if(filterPriceList.length > 1){
-			// 		minValue = custom_values[0];
-			// 		maxValue = custom_values[priceLen];
-			// 	}else{
-			// 		minValue = custom_values[0];
-			// 		maxValue = custom_values[1];
-			// 	}
-			//
-			// 	$(".dp .js-range-slider01, .sch_result .js-range-slider01").ionRangeSlider({
-			// 		type: "double",
-			// 		min: minValue,
-			// 		max: maxValue,
-			// 		from: my_from,
-			// 		to: my_to,
-			// 		grid: true,
-			// 		skin: "round",
-			// 		postfix: "원",
-			// 		prettify_separator: ",",
-			// 		values: custom_values,
-			// 		min_interval: 1,
-			// 		// onStart : function(data){
-			// 		//  	fnCheckPrice(data);
-			// 		// },
-			// 		// onChange : fnCheckPrice,
-			// 		onFinish : function(data,priceLen){
-			// 			fnCheckPrice(data,priceLen);
-			// 		}
-			// 	});
-			// }
+			let priceLen;
+			var filterPriceList = [[${filterPriceList}]];
+			console.log(filterPriceList);
+			if(!gagajf.isNull(filterPriceList)){
+				priceLen = filterPriceList.length-1;
+				$.each(filterPriceList, function (priceIdx, priceItem){
+					custom_values[priceIdx] = priceItem.filterNm;
+					if(priceLen==0){
+						custom_values[1] = priceItem.filterNm;
+					}
+				});
+				let my_from;
+				let my_to;
+				if(filterPriceList.length > 1){
+					my_from = custom_values.indexOf(custom_values[0]);
+					my_to = custom_values.indexOf(custom_values[priceLen]);
+				}else{
+					my_from = 0;
+					my_to = 1;
+				}
+
+				if(!gagajf.isNull($("#filterForm input:hidden[name=hPriceFrom]").val())){
+					my_from = $("#filterForm input:hidden[name=hPriceFrom]").val();
+				}
+				if(!gagajf.isNull($("#filterForm input:hidden[name=hPriceTo]").val())){
+					my_to = $("#filterForm input:hidden[name=hPriceTo]").val();
+				}
+				let minValue;
+				let maxValue;
+				if(filterPriceList.length > 1){
+					minValue = custom_values[0];
+					maxValue = custom_values[priceLen];
+				}else{
+					minValue = custom_values[0];
+					maxValue = custom_values[1];
+				}
+
+				$(".dp .js-range-slider01, .sch_result .js-range-slider01").ionRangeSlider({
+					type: "double",
+					min: minValue,
+					max: maxValue,
+					from: my_from,
+					to: my_to,
+					grid: true,
+					skin: "round",
+					postfix: "원",
+					prettify_separator: ",",
+					values: custom_values,
+					min_interval: 1,
+					// onStart : function(data){
+					//  	fnCheckPrice(data);
+					// },
+					// onChange : fnCheckPrice,
+					onFinish : function(data,priceLen){
+						fnCheckPrice(data,priceLen);
+					}
+				});
+			}
 
 			fnCreateSearchCategoryList();
 			// fnCreateSearchFilter();
@@ -849,21 +852,21 @@
 			});
 
 			//가격 슬라이드
-			var custom_values = ['9,000원', '230,000원', '487,000원', '700,000원', '1,360,000원', '1,799,000원'];
-			var my_from = custom_values.indexOf('9,000원');
-			var my_to = custom_values.indexOf('230,000원');
-			$(".dp .js-range-slider01, .sch_result .js-range-slider01").ionRangeSlider({
-				type: "double",
-				min: 9000,
-				max: 1799000,
-				from: my_from,
-				to: my_to,
-				grid: true,
-				skin: "round",
-				postfix: "원",
-				prettify_separator: ",",
-				values: custom_values
-			});
+			// var custom_values = ['9,000원', '230,000원', '487,000원', '700,000원', '1,360,000원', '1,799,000원'];
+			// var my_from = custom_values.indexOf('9,000원');
+			// var my_to = custom_values.indexOf('230,000원');
+			// $(".dp .js-range-slider01, .sch_result .js-range-slider01").ionRangeSlider({
+			// 	type: "double",
+			// 	min: 9000,
+			// 	max: 1799000,
+			// 	from: my_from,
+			// 	to: my_to,
+			// 	grid: true,
+			// 	skin: "round",
+			// 	postfix: "원",
+			// 	prettify_separator: ",",
+			// 	values: custom_values
+			// });
 
 			//할인율
 			/*var custom_values02 = ['0%', '10%', '20%', '30%', '40%', '50%', '60%', '70%', '80%', '90%', '100%'];

+ 57 - 10
src/main/webapp/biz/search.js

@@ -591,8 +591,9 @@ var fnSetCateFilter = function (cate1No, cate2No, cate3No, cate4No, cate5No){
 // 필터 가격 확인
 var fnCheckPrice = function (data,priceLen){
 	$("#priceSpan").remove();
-	$("#searchGoodsForm input:hidden[name=priceFrom]").remove();
-	$("#searchGoodsForm input:hidden[name=priceTo]").remove();
+	// $("#searchGoodsForm input:hidden[name=priceFrom]").remove();
+	// $("#searchGoodsForm input:hidden[name=priceTo]").remove();
+	$("#searchGoodsForm input:hidden[name=priceArr]").remove();
 	let min = data.from;
 	let max = data.to;
 	$("#price_input_from").val(custom_values[0]);
@@ -623,10 +624,12 @@ var fnFilterSlider = function (gubun, min, max){
 	filterHtml = '';
 	filterStatHtml = '';
 	filterStatHtml = $("#filterData").html();
-	$("#searchGoodsForm").find('input[name=priceFrom]').remove();
-	$("#searchGoodsForm").find('input[name=priceTo]').remove();
-	$("#searchGoodsForm").find('input[name=dcRateFrom]').remove();
-	$("#searchGoodsForm").find('input[name=dcRateTo]').remove();
+	// $("#searchGoodsForm").find('input[name=priceFrom]').remove();
+	// $("#searchGoodsForm").find('input[name=priceTo]').remove();
+	// $("#searchGoodsForm").find('input[name=dcRateFrom]').remove();
+	// $("#searchGoodsForm").find('input[name=dcRateTo]').remove();
+	$("#searchGoodsForm").find('input[name=priceArr]').remove();
+	$("#searchGoodsForm").find('input[name=dcRateArr]').remove();
 	if(gubun=='price'){
 		oriMin = $("#price_input_from").val();
 		oriMax = $("#price_input_to").val();
@@ -660,12 +663,10 @@ var fnFilterSlider = function (gubun, min, max){
 
 	var tag2 = '';
 	if(gubun=='price'){
-		tag2 += '<input type="hidden" name="priceFrom" value="'+min.replace(",", "")+'"/>\n';
-		tag2 += '<input type="hidden" name="priceTo" value="'+max.replace(",", "")+'"/>\n';
+		tag2 += '<input type="hidden" name="priceArr" value="'+min.replace(",", "")+','+max.replace(",", "")+'"/>\n';
 		$("#searchGoodsForm").append(tag2);
 	}else{
-		tag2 += '<input type="hidden" name="dcRateFrom" value="'+min+'"/>\n';
-		tag2 += '<input type="hidden" name="dcRateTo" value="'+max+'"/>\n';
+		tag2 += '<input type="hidden" name="dcRateArr" value="'+min+','+max+'"/>\n';
 		$("#searchGoodsForm").append(tag2);
 	}
 	gagaInfiniteScroll.pageStatus.filterStatHtml = filterStatHtml;
@@ -673,6 +674,52 @@ var fnFilterSlider = function (gubun, min, max){
 	fnSearchGoodsListSearch();
 }
 
+var fnDeleteFilterSlider = function (obj, gubun, minVal, maxVal){
+	filterStatHtml = '';
+	filterStatHtml = $("#filterData").html();
+	if(gubun=='price'){
+		$("#searchGoodsForm").find("input:hidden[name=priceArr]").remove();
+		var $range = $(".dp .js-range-slider01, .sch_result .js-range-slider01");
+		var $inputFrom = $("#price_input_from");
+		var $inputTo = $("#price_input_to");
+		var instance;
+
+		instance = $range.data("ionRangeSlider");
+		instance.update({
+			from: 0
+		});
+		$inputFrom.val(minVal);
+
+		instance.update({
+			to: 5
+		});
+		$inputTo.prop("value",maxVal);
+		$("#filterForm input:hidden[name=priceArr]").remove();
+	}else{
+		$("#searchGoodsForm").find("input:hidden[name=dcRateArr]").remove();
+		var $range = $(".dp .js-range-slider02, .sch_result .js-range-slider02");
+		var $inputFrom = $("#dcrate_input_from");
+		var $inputTo = $("#dcrate_input_to");
+		var instance;
+
+		instance = $range.data("ionRangeSlider");
+		instance.update({
+			from: 0
+		});
+		$inputFrom.prop("value",minVal);
+
+		instance.update({
+			to: 10
+		});
+		$inputTo.prop("value",maxVal);
+		$("#searchGoodsForm input:hidden[name=dcRateArr]").remove();
+	}
+	$(obj).closest("span").remove();
+	fnSetFilterHtml();
+	fnCategoryGoodsInfiniteScrollInit();
+	fnSearchGoodsListSearch();
+}
+
 // 상품상세 필터 조회
 var fnSelectFilerMob = function (obj, gubun, staus, sizeGb){
 	gagaInfiniteScroll.pageStatus.filterHtml = filterHtml;