Explorar el Código

상품상세 var->let 처리, 상품평 포토 리스트 화면

eskim hace 5 años
padre
commit
18e267ad9f

+ 29 - 33
src/main/java/com/style24/front/biz/web/TsfGoodsController.java

@@ -75,13 +75,13 @@ public class TsfGoodsController extends TsfBaseController {
 
 	@Autowired
 	private TsfCouponService couponService;
-	
+
 	@Autowired
 	private TsfReviewService reviewService;
 
 	@Autowired
 	private TsfRendererService rendererService;
-	
+
 	@Value("${has-ssl}")
 	private String hasSsl;
 
@@ -130,7 +130,7 @@ public class TsfGoodsController extends TsfBaseController {
 			paramsGoods.setColorCd(goods.getMainColorCd());
 		}
 		paramsGoods.setSelfGoodsYn(goods.getSelfGoodsYn());
-				
+
 		// 상품 상세
 		goods = goodsService.getGoodsDesc(goods);
 
@@ -207,7 +207,7 @@ public class TsfGoodsController extends TsfBaseController {
 		review.setRownum(1);
 		review.setGoodsType(goods.getGoodsType());
 		mav.addObject("bestReviewList", reviewService.getReviewList(review));
-		
+
 		// 카드 혜택안내
 		CardPromotion cardPromotion = new CardPromotion();
 		cardPromotion.setRownum(1); // 혜택유형별로 1건씩
@@ -241,7 +241,7 @@ public class TsfGoodsController extends TsfBaseController {
 				mav.setViewName(super.getDeviceViewName("goods/GoodsDetailForm"));
 			}
 		}
-		log.info("||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||");
+
 		return mav;
 	}
 
@@ -615,18 +615,14 @@ public class TsfGoodsController extends TsfBaseController {
 
 		// 상품 기본정보
 		mav.addObject("goodsInfo", goods);
-		
-		// 사이즈 정보
-		// 입점은 옵션1 노출
-		// 자사는 옵션2 노출
-		
+
 		// 상품평 포인트
 		GagaMap reviewPoint = new GagaMap();
 		reviewPoint.set("textReviewPoint", envsetService.getTextReviewPoint(TscConstants.Site.STYLE24.value()));	//텍스트상품평포인트
 		reviewPoint.set("photoReviewPoint", envsetService.getPhotoReviewPoint(TscConstants.Site.STYLE24.value()));	//포토상품평포인트
 		reviewPoint.set("bestReviewPoint", envsetService.getBestReviewPoint(TscConstants.Site.STYLE24.value()));	//베스트상품평포인트
 		mav.addObject("reviewPoint", reviewPoint);
-		
+
 		Review review = new Review();
 		review.setGoodsCd(goods.getGoodsCd());
 		mav.addObject("reviewCount", reviewService.getReviewTotalCount(review));	// 전체상품평 건수 
@@ -640,43 +636,43 @@ public class TsfGoodsController extends TsfBaseController {
 		review.setBestYn("");
 		review.setRownum(0);	// 전체 조회
 		mav.addObject("photoReviewList", reviewService.getReviewList(review));	//포토상품평
-		
+
 		// 상품평에 등록된 사이즈 정보
-		mav.addObject("reviewOptionList", reviewService.getReviewOptionList(goods.getGoodsCd()));	
-		
+		mav.addObject("reviewOptionList", reviewService.getReviewOptionList(goods.getGoodsCd()));
+
 		// 유야동: 베이비(07), 키즈여아(08), 키즈남아(09), 키즈공통(10), 주니어여야(11), 주니어남아(12), 주니어공통(13), 성인G: 유아동 제외 전체
 		// 유야동 키 공통코드 G091, 성인 키 공통코드 G090
-		String[] arrItem = {"07","08","09","10","11","12","13"}; 
-		ArrayList<String>  itemList = new ArrayList<>(Arrays.asList(arrItem));
-		
+		String[] arrItem = {"07", "08", "09", "10", "11", "12", "13"};
+		ArrayList<String> itemList = new ArrayList<>(Arrays.asList(arrItem));
+
 		// 키전체 
 		Collection<CommonCode> reviewHeightList = new ArrayList<CommonCode>();
-		log.info("goods.getItemkindCd().substring(0, 2) => {} ",goods.getItemkindCd().substring(0, 2) );
+		log.info("goods.getItemkindCd().substring(0, 2) => {} ", goods.getItemkindCd().substring(0, 2));
 		if (itemList.contains(goods.getItemkindCd().substring(0, 2))) {
 			reviewHeightList = rendererService.getAvailCommonCodeList("G091");
-		}else {
+		} else {
 			reviewHeightList = rendererService.getAvailCommonCodeList("G090");
 		}
-		
+
 		// 상품평 키
 		mav.addObject("reviewHeightList", reviewHeightList);
-		
+
 		// 유야동 몸무게 공통코드 G093, 성인 몸무게 공통코드 G092
 		// 몸무게
 		Collection<CommonCode> reviewWeightList = new ArrayList<CommonCode>();
 		if (itemList.contains(goods.getItemkindCd().substring(0, 2))) {
 			reviewWeightList = rendererService.getAvailCommonCodeList("G093");
-		}else {
+		} else {
 			reviewWeightList = rendererService.getAvailCommonCodeList("G092");
 		}
-		
+
 		// 상품평 몸무게
 		mav.addObject("reviewWeightList", reviewWeightList);
-		
+
 		mav.setViewName(super.getDeviceViewName("goods/GoodsReviewForm"));
 		return mav;
 	}
-	
+
 	/**
 	 * 상품평 목록
 	 * @param review
@@ -699,7 +695,7 @@ public class TsfGoodsController extends TsfBaseController {
 			review.setReviewHeightSt(Integer.parseInt(arrHeight[0]));
 			review.setReviewHeightEd(Integer.parseInt(arrHeight[1]));
 		}
-		
+
 		review.setReviewWeightSt(0);
 		review.setReviewWeightEd(0);
 		if (StringUtils.isNotBlank(review.getReviewWeight())) {
@@ -707,7 +703,7 @@ public class TsfGoodsController extends TsfBaseController {
 			review.setReviewWeightSt(Integer.parseInt(arrWeight[0]));
 			review.setReviewWeightEd(Integer.parseInt(arrWeight[1]));
 		}
-		
+
 		TscPageRequest pageable = new TscPageRequest((review.getPageNo() > 0 ? review.getPageNo() - 1 : 0), review.getPageSize(), review.getPageUnit());
 		pageable.setTotalCount(reviewService.getReviewTotalCount(review));
 		review.setPageable(pageable);
@@ -715,7 +711,7 @@ public class TsfGoodsController extends TsfBaseController {
 		if (TsfSession.isLogin()) {
 			review.setCustNo(TsfSession.getInfo().getCustNo());
 		}
-		
+
 		result.set("paging", review);
 		result.set("dataList", reviewService.getReviewList(review));
 
@@ -735,10 +731,10 @@ public class TsfGoodsController extends TsfBaseController {
 		Goods paramsGoods = new Goods();
 		paramsGoods.setGoodsCd(goodsCd);
 		setGoods(paramsGoods);
-		Goods goods = goodsService.getGoodsInfo(paramsGoods);
+		//Goods goods = goodsService.getGoodsInfo(paramsGoods);
 
 		// 상품 기본정보
-		mav.addObject("goodsInfo", goods);
+		mav.addObject("params", paramsGoods);
 
 		mav.setViewName(super.getDeviceViewName("goods/GoodsReviewPhotoForm"));
 		return mav;
@@ -751,7 +747,7 @@ public class TsfGoodsController extends TsfBaseController {
 	 * @since 2021. 3. 8
 	 */
 	@PostMapping("/review/detail/layer")
-	public ModelAndView goodsReviewDetailForm(Review review) { 
+	public ModelAndView goodsReviewDetailForm(Review review) {
 		//log.info("goodsReviewDetailForm {}", review);
 		ModelAndView mav = new ModelAndView();
 		// 상품관련 기본값 설정(회원 등급, 앱, PC/모바일 등)
@@ -762,9 +758,9 @@ public class TsfGoodsController extends TsfBaseController {
 
 		// 상품 기본정보
 		mav.addObject("params", paramsGoods);
-		
+
 		mav.addObject("review", review);
-		
+
 		mav.addObject("reviewList", reviewService.getReviewList(review));
 
 		mav.setViewName(super.getDeviceViewName("goods/GoodsReviewDetailForm"));

+ 19 - 19
src/main/webapp/WEB-INF/views/web/goods/GoodsCouponFormWeb.html

@@ -43,7 +43,7 @@
 							<button type="button" class="btn btn_dark btn_block btn_coupon_down"   disabled="disabled"><span>받기완료</span></button>
 							</th:block>
 							<th:block th:unless="${goodsCoupon.custPubLimitQty > 0 and goodsCoupon.custPubLimitQty <= goodsCoupon.custCouponCnt}">
-							<button type="button" class="btn btn_dark btn_block btn_coupon_down" th:attr="cpnId=${goodsCoupon.cpnId}" th:id="${'coupon_'+goodsCoupon.cpnId}" onclick="jfGoodsCouponDown(this);"><span>쿠폰받기</span></button>
+							<button type="button" class="btn btn_dark btn_block btn_coupon_down" th:attr="cpnId=${goodsCoupon.cpnId}" th:id="${'coupon_'+goodsCoupon.cpnId}" onclick="fnGoodsCouponDown(this);"><span>쿠폰받기</span></button>
 							</th:block>
 						</div>
 					</li>
@@ -52,7 +52,7 @@
 		</form>	
 		</div>
 		<div class="modal-footer">
-			<button type="button" class="btn btn_primary btn_all_cpdown" onclick="jfGoodsCouponDownAll();"><span>쿠폰 모두 받기</span></button>
+			<button type="button" class="btn btn_primary btn_all_cpdown" onclick="fnGoodsCouponDownAll();"><span>쿠폰 모두 받기</span></button>
 		</div>
 	</div>
 </div>
@@ -61,18 +61,18 @@
 /*<![CDATA[*/
 
 	// 쿠폰 다운로드
-	var jfGoodsCouponDown = function(obj){
+	var fnGoodsCouponDown = function(obj){
 	
 		if (!cfCheckLogin()) {
 			cfnGoToPage(_PAGE_LOGIN);
 			return false;
 		}
 		
-		var $obj = $(obj);
-		var cpnId = $obj.attr('cpnId');
-		var goodsCd = $('#goodsCouponForm input[name=goodsCd]').val();
+		let $obj = $(obj);
+		let cpnId = $obj.attr('cpnId');
+		let goodsCd = $('#goodsCouponForm input[name=goodsCd]').val();
 		
-		 gagajf.ajaxJsonSubmit(_PAGE_GOODS_CPN_DOWNLOAD, JSON.stringify({goodsCd: goodsCd, cpnId: cpnId}), jfGoodsCouponCallBack);
+		 gagajf.ajaxJsonSubmit(_PAGE_GOODS_CPN_DOWNLOAD, JSON.stringify({goodsCd: goodsCd, cpnId: cpnId}), fnGoodsCouponCallBack);
 		 
 	//쿠폰이 발급되었습니다
 	//죄송합니다. 쿠폰이 모두 소진되었습니다
@@ -80,11 +80,11 @@
 	}
 	
 	// 쿠폰다운로드 콜백
-	var jfGoodsCouponCallBack = function(result){
+	var fnGoodsCouponCallBack = function(result){
 		if (result.status == "200"){
-			var cpnId = result.params.cpnId;
+			let cpnId = result.params.cpnId;
 			if (result.goodsCouponList == null) return;
-			var list = result.goodsCouponList;
+			let list = result.goodsCouponList;
 
 			list.forEach(function(coupon){
 				if (coupon.cpnId == cpnId){
@@ -108,10 +108,10 @@
 	
 	
 	// 쿠폰 전체 다운로드
-	var jfGoodsCouponDownAll = function(){
+	var fnGoodsCouponDownAll = function(){
 		//00개 쿠폰이 발급되었습니다.
-		var couponDownAbleYn = "N";
-		var arrCpnId = [];
+		let couponDownAbleYn = "N";
+		let arrCpnId = [];
 		$('.btn_coupon_down').each(function(){
 			if (!$(this).attr('disabled')){
 				couponDownAbleYn = "Y";
@@ -123,21 +123,21 @@
 			mcxDialog.alert("다운 받을 쿠폰이 없습니다.");
 			return false;
 		}
-		var goodsCd = $('#goodsCouponForm input[name=goodsCd]').val();
-		gagajf.ajaxJsonSubmit(_PAGE_GOODS_CPN_DOWNLOAD, JSON.stringify({goodsCd: goodsCd, arrCpnId: arrCpnId}), jfGoodsCouponDownAllBack);
+		let goodsCd = $('#goodsCouponForm input[name=goodsCd]').val();
+		gagajf.ajaxJsonSubmit(_PAGE_GOODS_CPN_DOWNLOAD, JSON.stringify({goodsCd: goodsCd, arrCpnId: arrCpnId}), fnGoodsCouponDownAllBack);
 		
 	}
 	
 	// 쿠폰 전체 다운로드 콜백
-	var jfGoodsCouponDownAllBack = function(result){
+	var fnGoodsCouponDownAllBack = function(result){
 		if (result.status == "200"){
 			if (result.goodsCouponList == null) return;
-			var list = result.goodsCouponList;
+			let list = result.goodsCouponList;
 
 			list.forEach(function(coupon){
 				$('.btn_coupon_down').each(function(){
 					if (!$(this).attr('disabled')){
-						var cpnId = $(this).attr('cpnId');
+						let cpnId = $(this).attr('cpnId');
 						if (coupon.cpnId == cpnId){
 							if (Number(coupon.custPubLimitQty) > 0){
 								if (Number(coupon.custPubLimitQty) <= Number(coupon.custCouponCnt)){
@@ -161,7 +161,7 @@
 	
 	
 	var jfCouponCheck = function(){
-		var couponDownAbleYn = "N";
+		let couponDownAbleYn = "N";
 		$('.btn_coupon_down').each(function(){
 			if (!$(this).attr('disabled')){
 				couponDownAbleYn = "Y";

+ 7 - 11
src/main/webapp/WEB-INF/views/web/goods/GoodsDeliveryFormWeb.html

@@ -75,7 +75,7 @@
 									배송업체
 								</th>
 								<td>
-									<th:block th:text="${deliveryInfo.shipCompNm}" ></th:block>
+									<th:block th:if="${deliveryInfo != null}" th:text="${deliveryInfo.shipCompNm}" ></th:block>
 								</td>
 							</tr>
 							<tr>
@@ -106,7 +106,7 @@
 									반품/교환 배송업체
 								</th>
 								<td>
-									<th:block th:text="${deliveryInfo.shipCompNm}" ></th:block>
+									<th:block  th:if="${deliveryInfo != null}" th:text="${deliveryInfo.shipCompNm}" ></th:block>
 								</td>
 							</tr>
 							<tr>
@@ -114,7 +114,7 @@
 									반품배송비
 								</th>
 								<td>
-									<th:block th:text="${#numbers.formatInteger(deliveryInfo.rtnDelvFee, 0,'COMMA')}" ></th:block>원(최소 배송비가 무료인 경우 왕복 배송비 <th:block th:text="${#numbers.formatInteger((deliveryInfo.rtnDelvFee+deliveryInfo.delvFee), 0,'COMMA')}" ></th:block>원 부과)
+									<th:block  th:if="${deliveryInfo != null and deliveryInfo.delvFeeCd != null}" th:text="${#numbers.formatInteger(deliveryInfo.rtnDelvFee, 0,'COMMA')}" ></th:block>원(최소 배송비가 무료인 경우 왕복 배송비 <th:block th:if="${deliveryInfo != null and deliveryInfo.delvFeeCd != null}" th:text="${#numbers.formatInteger((deliveryInfo.rtnDelvFee+deliveryInfo.delvFee), 0,'COMMA')}" ></th:block>원 부과)
 								</td>
 							</tr>
 							<tr>
@@ -122,7 +122,7 @@
 									교환배송비
 								</th>
 								<td>
-									<th:block th:text="${#numbers.formatInteger((deliveryInfo.rtnDelvFee+deliveryInfo.delvFee), 0,'COMMA')}" ></th:block>원
+									<th:block  th:if="${deliveryInfo != null and deliveryInfo.delvFeeCd != null}" th:text="${#numbers.formatInteger((deliveryInfo.rtnDelvFee+deliveryInfo.delvFee), 0,'COMMA')}" ></th:block>원
 								</td>
 							</tr>
 							<tr>
@@ -130,7 +130,7 @@
 									반품/교환 주소
 								</th>
 								<td>
-									<th:block th:text="${deliveryInfo.rtnLocZipcode +' '+ deliveryInfo.rtnLocBaseAddr +' '+ deliveryInfo.rtnLocDtlAddr }"></th:block>
+									<th:block th:if="${deliveryInfo != null and deliveryInfo.delvFeeCd != null}" th:text="${deliveryInfo.rtnLocZipcode +' '+ deliveryInfo.rtnLocBaseAddr +' '+ deliveryInfo.rtnLocDtlAddr }"></th:block>
 								</td>
 							</tr>
 							<tr>
@@ -166,11 +166,11 @@
 									신발, 그릇류의 박스포장을 포함, 상품이 판매할 수 없게 훼손 된 경우(신발박스 등의 파손, 박스포장 위 송장 부착, 박스 훼손/파손/찢어짐, 택 분실 등)
 								</td>
 							</tr>
-							<tr th:if="${not #strings.isEmpty(deliveryInfo.note)}">
+							<tr th:if="${deliveryInfo != null and deliveryInfo.delvFeeCd != null}">
 								<th>
 									기타사항
 								</th>
-								<td th:utext="${#strings.unescapeJava(#strings.escapeJava(deliveryInfo.note))}">
+								<td  th:if="${not #strings.isEmpty(deliveryInfo.note)}" th:utext="${#strings.unescapeJava(#strings.escapeJava(deliveryInfo.note))}">
 									상품에 따라 반송주소/방법이 각각 다를 수 있습니다.<br>
 								</td>
 							</tr>
@@ -181,13 +181,9 @@
 		</div>	
 	</div>
 </div>
-<script src="/ux/plugins/gaga/gaga.paging.js"></script>
 <script th:inline="javascript">
 /*<![CDATA[*/
 	
-	
-	
 /*]]>*/
 </script>
-
  </html>

+ 46 - 42
src/main/webapp/WEB-INF/views/web/goods/GoodsDetailFormWeb.html

@@ -702,9 +702,9 @@
 	
 	//사이즈 클릭시
 	var jfViewStock = function(obj, goodsCd, optCd1, optCd2,  minOrdQty, maxOrdQty) {
-		var $obj = $(obj);
-		var selfGoodsYn = $("#cartForm  input[name=selfGoodsYn]").val();
-		var $target = null;
+		let $obj = $(obj);
+		let selfGoodsYn = $("#cartForm  input[name=selfGoodsYn]").val();
+		let $target = null;
 		if (selfGoodsYn == "Y"){
 			$target = $obj.parent().parent().children('input[name="opt"]');
 			$target.prop("checked",true);
@@ -713,8 +713,8 @@
 			$target = $obj.children('input[name="opt"]');
 			
 		}
-		var addPrice  = $target.attr("addPrice");
-		var optCd  = $target.attr("optCd");
+		let addPrice  = $target.attr("addPrice");
+		let optCd  = $target.attr("optCd");
 		
 		if (Number(addPrice) > 0) $("#selectOptCd1addPrice").html("(+" + addPrice.addComma() + ")");
 		$("#cartForm  input[name=optCd]").val(optCd);
@@ -724,8 +724,8 @@
 		$("#cartForm  input[name=ordQty]").val("");
 		
 
-		var maxCnt = maxOrdQty;
-		var params = new Object();
+		let maxCnt = maxOrdQty;
+		let params = new Object();
 		params.goodsCd = goodsCd;
 		params.optCd = optCd;
 		params.optCd1 = optCd1;
@@ -733,7 +733,7 @@
 		params.selfGoodsYn = selfGoodsYn;
 
 		$.get("/goods/detail/ajaxGoodsStockQty", $.param(params), function(result) {
-			var itemCnt = eval(result); //해당 아이템에 선택되어진 사이즈의 수량
+			let itemCnt = eval(result); //해당 아이템에 선택되어진 사이즈의 수량
 
 			if (maxCnt > itemCnt) {
 				maxCnt = itemCnt;
@@ -773,10 +773,10 @@
 			} */
 		}
 
-		var $obj = $(obj);
-		var $target = $obj.parent().children('input[name="cea"]');
-		var minOrdQty = parseInt($("#cartForm  input[name=minOrdQty]").val());
-		var ea =parseInt($target.val());
+		let $obj = $(obj);
+		let $target = $obj.parent().children('input[name="cea"]');
+		let minOrdQty = parseInt($("#cartForm  input[name=minOrdQty]").val());
+		let ea =parseInt($target.val());
 
 		if ($obj.attr('adjust') == '-') --ea;
 		else ++ea;
@@ -810,11 +810,11 @@
 			} */
 		}
 
-		var f = document.cartForm;
-		var ea = parseInt($("#cartForm  input[name=cea]").val());
-		var buymin = parseInt($("#cartForm  input[name=minOrdQty]").val());
-		var buymax = parseInt($("#cartForm  input[name=maxOrdQty]").val());
-		var alertMsg = '';
+		//let f = document.cartForm;
+		let ea = parseInt($("#cartForm  input[name=cea]").val());
+		let buymin = parseInt($("#cartForm  input[name=minOrdQty]").val());
+		let buymax = parseInt($("#cartForm  input[name=maxOrdQty]").val());
+		let alertMsg = '';
 		if (ea < buymin) {
 			alertMsg ="최소 주문 가능 수량은 "+buymin+"개 입니다.";
 			ea = buymin;
@@ -838,15 +838,15 @@
 	
 	//합계 계산
 	var jfSetTotalPrice = function() {
-		var f = document.cartForm;
+		//let f = document.cartForm;
 
-		var totalEa = 0;
-		var totalPrice = 0;
+		let totalEa = 0;
+		let totalPrice = 0;
 
 		$('input[name="cea"]').each(function() {
-			var ea = parseInt($(this).val());
-			var addPrice = parseInt($("#cartForm  input[name=addPrice]").val());
-			var goodsPrice = parseInt($(this).parent().find('input[name="coption"]').attr('price'));
+			let ea = parseInt($(this).val());
+			let addPrice = parseInt($("#cartForm  input[name=addPrice]").val());
+			let goodsPrice = parseInt($(this).parent().find('input[name="coption"]').attr('price'));
 
 			totalEa += ea;
 			if (goodsPrice > 0) {
@@ -865,7 +865,7 @@
 		// 바로구매는 로그인여부 확인
 		if (btnType == "O" && !cfCheckLogin()) {
 			
-			var btn = ["비회원 구매", "로그인후 구매"]; //버튼명[좌,우]
+			let btn = ["비회원 구매", "로그인후 구매"]; //버튼명[좌,우]
 			mcxDialog.confirmC("로그인 후 구매 시 다양한 혜택을 받으실 수 있습니다.", { //내용
 				btn: btn,
 				btnClick: function(index){
@@ -880,8 +880,8 @@
 			return false;
 		}
 		
-		var params = [];
-		var goodsType = $("#cartForm  input[name=goodsType]").val();
+		let params = [];
+		let goodsType = $("#cartForm  input[name=goodsType]").val();
 
 		if (goodsType == 'G056_N'){
 			if (gagajf.isNull($("#cartForm  input[name=optCd2]").val())) {
@@ -889,7 +889,7 @@
 				return;
 			}
 		
-			var obj = new Object();
+			let obj = new Object();
 			obj.goodsCd = $("#cartForm  input[name=goodsCd]").val();
 			obj.optCd = $("#cartForm  input[name=optCd]").val();
 			obj.goodsQty = $("#cartForm  input[name=ordQty]").val();
@@ -937,17 +937,17 @@
 	// 룩북속 상품 쇼핑백 담기
 	var jfAddCartLookBookGoods = function(obj){
 		
-		var $obj = $(obj);
-		var $target = $obj.parent().find('.li_item').find('.item_prod');
-		var btnType = "C";
-		var params = [];
+		let $obj = $(obj);
+		let $target = $obj.parent().find('.li_item').find('.item_prod');
+		let btnType = "C";
+		let params = [];
 		
 		$target.each(function(){
 			if ($(this).hasClass('unable')) {
 				
 			}else{
 				
-				var obj = new Object();
+				let obj = new Object();
 				obj.goodsCd = $(this).attr("goodsCd");
 				obj.optCd = $(this).attr("optCd");
 				obj.goodsQty = $(this).attr("minOrdQty");
@@ -971,8 +971,8 @@
 	}
 	
 	var jfOptionSoldout = function(){
-		var $target=$("#cartForm").find('.form_field');
-		var soldout = false;
+		let $target=$("#cartForm").find('.form_field');
+		let soldout = false;
 		for(var i=0;i<$target.find('input[name="opt"]').length;i++){
 			
 			if($target.find('input[name="opt"]').eq(i).attr('disabled')) {
@@ -980,7 +980,7 @@
 			}
 		}
 
-		var goodsType = [[${goodsInfo.goodsType}]];
+		let goodsType = [[${goodsInfo.goodsType}]];
 		if (soldout && goodsType == 'G056_N') {
 			$(".info_restock").show();
 		}
@@ -991,7 +991,7 @@
 		
 		$('.timer_box').css('display', 'none');
 		
-		var params = new Object();
+		let params = new Object();
 		params.goodsCd = [[${params.goodsCd}]];
 		params.viewDt = [[${params.viewDt}]];
 		params.preview = [[${params.preview}]];
@@ -1197,13 +1197,17 @@
 		
 		// 광고 스크립트용
 		var goodsNavigation = [[${goodsNavigation}]];
-		
+		var cate1Nm = "";
+		var cate2Nm = "";
+		var cate3Nm = "";
+		var cate4Nm = "";
+		var cate5Nm = "";
 		if (!gagajf.isNull(goodsNavigation)) {
-			var cate1Nm = goodsNavigation.cate1Nm;
-			var cate2Nm = goodsNavigation.cate2Nm;
-			var cate3Nm = goodsNavigation.cate3Nm;
-			var cate4Nm = goodsNavigation.cate4Nm;
-			var cate5Nm = goodsNavigation.cate3Nm;
+			cate1Nm = goodsNavigation.cate1Nm;
+			cate2Nm = goodsNavigation.cate2Nm;
+			cate3Nm = goodsNavigation.cate3Nm;
+			cate4Nm = goodsNavigation.cate4Nm;
+			cate5Nm = goodsNavigation.cate3Nm;
 			
 			if (!gagajf.isNull(cate1Nm)) {
 				cateNm += cate1Nm;

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

@@ -130,8 +130,8 @@
 	
 	var jfInstockAlarm = function(){
 	
-		var optCd2 = "";
-		var optCd = "";
+		let optCd2 = "";
+		let optCd = "";
 		$("#goodsInstockAlarmForm input:radio[name=opt]").each(function(){
 			if ($(this).is(':checked')){
 				optCd2 = $(this).val();

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

@@ -74,7 +74,7 @@
 
 	// 상품문의 작성 > 글자수 체크
 	$('.pd_qnawrite_pop .doc_itemqna').keyup(function (e){
-		var contentQna = $(this).val();
+		let contentQna = $(this).val();
 		$('#itemqna_cnt').html("(<em class='c_primary'>"+contentQna.length+"</em>/500자)");  
 		if (contentQna.length > 500){
 			alert("최대 500자까지 입력 가능합니다.");
@@ -114,8 +114,6 @@
 		});
 	
 	});
-	
-
 
 /*]]>*/
 </script>

+ 9 - 9
src/main/webapp/WEB-INF/views/web/goods/GoodsReviewFormWeb.html

@@ -450,7 +450,7 @@
 				</div>
 				<!-- 나열조건결과 있을 때 노출 내용 -->
 				<div class="review_list">
-					<ul  id="ulGoodsReviewQna">
+					<ul  id="ulGoodsReview">
 					</ul>
 				</div>
 				<div class="ui_row">
@@ -495,7 +495,7 @@
 	}
 	
 	var fnGetListCallback = function(result) {
-		$('#ulGoodsReviewQna').html('');
+		$('#ulGoodsReview').html('');
 		$('.nodata').hide();
 		$('.ui_row').show();
 		// 목록
@@ -576,7 +576,7 @@
 						fileGbClass = '';
 						if (reviewAttach == "M") fileGbClass = "mov";
 				tag += '				<li>\n';
-				tag += '					<a href="javascript:void();" onclick="cfGoodsBestReview(\''+item.goodsCd+'\');">\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 클래스 추가 -->
 				tag += '						</div>\n';
@@ -606,7 +606,7 @@
 				tag += '</div>\n';
 				tag += '</li>\n';
 				
-				$('#ulGoodsReviewQna').append(tag);
+				$('#ulGoodsReview').append(tag);
 			});
 		} else {
 			$('.nodata').show();
@@ -619,12 +619,12 @@
 	
 	// 상품평 검색조건 클릭시
 	var jfReviewSearch = function(){
-		var reviewScore = $('#goodsReviewForm').find('.select_custom.sort_opt1').find('.select input[name=selScore]').val();
-		var reviewOption = $('#goodsReviewForm').find('.select_custom.sort_opt2').find('.select input[name=selOption]').val();
-		var reviewHeight = $('#goodsReviewForm').find('.select_custom.sort_opt3').find('.select input[name=selHeight]').val();
-		var reviewWeight = $('#goodsReviewForm').find('.select_custom.sort_opt4').find('.select input[name=selWeight]').val();
+		let reviewScore = $('#goodsReviewForm').find('.select_custom.sort_opt1').find('.select input[name=selScore]').val();
+		let reviewOption = $('#goodsReviewForm').find('.select_custom.sort_opt2').find('.select input[name=selOption]').val();
+		let reviewHeight = $('#goodsReviewForm').find('.select_custom.sort_opt3').find('.select input[name=selHeight]').val();
+		let reviewWeight = $('#goodsReviewForm').find('.select_custom.sort_opt4').find('.select input[name=selWeight]').val();
 		
-		var changFlag = false;
+		let changFlag = false;
 		if ($('#goodsReviewForm input[name=reviewScore]').val() != reviewScore){
 			changFlag = true;
 		}else if ($('#goodsReviewForm input[name=reviewOption]').val() != reviewOption){

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

@@ -22,7 +22,7 @@
 		<div class="modal-body">
 			<div class="pop_cont">
 				<div class="photo_list">
-					<ul>
+					<ul id="ulGoodsReviewPhoto">
 						<li>
 							<a href="">
 								<div class="pic">
@@ -30,100 +30,80 @@
 								</div>
 							</a>
 						</li>
-						<li>
-							<a href="">
-								<div class="pic">
-									<span class="thumb mov" style="background-image:url('/images/pc/thumb/tmp_pdLookbook2.jpg');"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
-								</div>
-							</a>
-						</li>
-						<li>
-							<a href="">
-								<div class="pic">
-									<span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdDetail4.jpg');"></span>
-								</div>
-							</a>
-						</li>
-						<li>
-							<a href="">
-								<div class="pic">
-									<span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdDetail4.jpg');"></span>
-								</div>
-							</a>
-						</li>
-						<li>
-							<a href="">
-								<div class="pic">
-									<span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdDetail4.jpg');"></span>
-								</div>
-							</a>
-						</li>
-						<li>
-							<a href="">
-								<div class="pic">
-									<span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdDetail4.jpg');"></span>
-								</div>
-							</a>
-						</li>
-						<li>
-							<a href="">
-								<div class="pic">
-									<span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdDetail4.jpg');"></span>
-								</div>
-							</a>
-						</li>
-						<li>
-							<a href="">
-								<div class="pic">
-									<span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdDetail4.jpg');"></span>
-								</div>
-							</a>
-						</li>
-						<li>
-							<a href="">
-								<div class="pic">
-									<span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdDetail4.jpg');"></span>
-								</div>
-							</a>
-						</li>
-						<li>
-							<a href="">
-								<div class="pic">
-									<span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdDetail4.jpg');"></span>
-								</div>
-							</a>
-						</li>
 					</ul>
 				</div>
 				<div class="ui_row">
-					<ul class="pageNav">
-						<li class="disabled"><a href="#">«</a></li>
-						<li class="prev disabled"><a href="#">‹</a></li>
-						<li><a href="#">1</a></li>
-						<li class="active"><a href="#">2</a></li>
-						<li><a href="#">3</a></li>
-						<li><a href="#">4</a></li>
-						<li><a href="#">5</a></li>
-						<li><a href="#">6</a></li>
-						<li><a href="#">7</a></li>
-						<li><a href="#">8</a></li>
-						<li><a href="#">9</a></li>
-						<li><a href="#">10</a></li>
-						<li class="next"><a href="#">›</a></li>
-						<li><a href="#">»</a></li>
+					<ul class="pageNav"  id="reviewPhtoPageNav">
 					</ul>
 				</div>
 			</div>
 		</div>
 	<!-- 포토영상 리뷰 자세히보기 팝업 내용 -->
 	</div>
+	<form id="goodsReviewPhotoForm" name="goodsReviewPhotoForm" action="#" th:action="@{'/goods/review/list'}">
+		<input type="hidden" name="pageNo" value ="1"/>
+		<input type="hidden" name="pageSize" value ="1"/>
+		<input type="hidden" name="photoYn" value ="Y"/>
+		<input type="hidden" name="goodsCd" th:value ="${params.goodsCd}"/>
+	</form>
 </div>
 <script src="/ux/plugins/gaga/gaga.paging.js"></script>
 <a href="javascript:void(0);" rel="modal:close" onclick="cfCloseLayer('layer_review_photo')" class="close-modal">Close</a>
 <script th:inline="javascript">
 /*<![CDATA[*/
 	
+	var fnReviewPhotoGetList = function() {
+
+	// Initialize a pagination
+		gagaPaging.init('goodsReviewPhotoForm', fnReviewPhotoGetListCallback, 'reviewPhtoPageNav', 1);
+
+		// Load data
+		gagaPaging.load(1);
+	}
+	
+	var fnReviewPhotoGetListCallback = function(result) {
+		$('#ulGoodsReviewPhoto').html('');
+	
+		// 목록
+		if (result.dataList != null && result.dataList.length > 0) {
+			
+			$.each(result.dataList, function(idx, item) {
+				let tag = '';
+				if (item.reviewAttachList != null && item.reviewAttachList.length > 0){
+					var fileGbClass = '';
+					$.each(item.reviewAttachList, function(aIdx, reviewAttach){
+						fileGbClass = '';
+						if (reviewAttach == "M") fileGbClass = "mov";
+				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 클래스 추가 -->
+				tag += '						</div>\n';
+				tag += '					</a>\n';
+				tag += '				</li>\n';		
+					});	
+				}
+				
+				$('#ulGoodsReviewPhoto').append(tag);
+			});
+		
+		}
+
+		// Create pagination
+		gagaPaging.createPagination(result.paging.pageable);
+	}
+	
+	// 상세보기
+	var fnGoodsReviewDetail = function(reviewSq){
+		cfGoodsReviewDetail([[${params.goodsCd}]],'', 'Y', reviewSq);
+		cfCloseLayer('layer_review_photo');
+	}
 	
+	$(document).ready( function() {
+		
+		fnReviewPhotoGetList();
+		
+	});
 /*]]>*/
 </script>	
  </html>

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

@@ -509,7 +509,7 @@ function cfGoodsInstockAlarmInfo(goodsCd, colorCd) {
 * @access : public
 * @desc   : 상품평- 베스트 리뷰 보기
 * <pre>
-*		cfGoodsBestReviewInfo(goodsCd);
+*		cfGoodsReviewDetail(goodsCd, bestYn, photoYn, reviewSq);
 * </pre>
 */
 function cfGoodsReviewDetail(goodsCd, bestYn, photoYn, reviewSq) {