Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/xodud1202' into order

card007 5 anni fa
parent
commit
22313a2460
40 ha cambiato i file con 4424 aggiunte e 3879 eliminazioni
  1. 9 1
      src/main/java/com/style24/front/biz/dao/TsfReviewDao.java
  2. 12 2
      src/main/java/com/style24/front/biz/service/TsfCartService.java
  3. 6 4
      src/main/java/com/style24/front/biz/service/TsfOrderService.java
  4. 12 1
      src/main/java/com/style24/front/biz/service/TsfReviewService.java
  5. 71 44
      src/main/java/com/style24/front/biz/web/TsfGoodsController.java
  6. 14 3
      src/main/java/com/style24/front/biz/web/TsfOrderController.java
  7. 1 0
      src/main/java/com/style24/front/biz/web/TsfPgController.java
  8. 10 0
      src/main/java/com/style24/persistence/domain/Review.java
  9. 3 1
      src/main/java/com/style24/persistence/mybatis/shop/TsfCart.xml
  10. 7 7
      src/main/java/com/style24/persistence/mybatis/shop/TsfCoupon.xml
  11. 26 32
      src/main/java/com/style24/persistence/mybatis/shop/TsfGiftcard.xml
  12. 2 1
      src/main/java/com/style24/persistence/mybatis/shop/TsfGoods.xml
  13. 137 17
      src/main/java/com/style24/persistence/mybatis/shop/TsfReview.xml
  14. 0 49
      src/main/webapp/WEB-INF/views/mob/cart/CartListFormMob.html
  15. 3 11
      src/main/webapp/WEB-INF/views/mob/pg/kcpOrderMob.html
  16. 269 0
      src/main/webapp/WEB-INF/views/web/cart/CartChangeOptionPopupWeb_20210319.html
  17. 520 321
      src/main/webapp/WEB-INF/views/web/cart/CartListAjaxFormWeb.html
  18. 1019 0
      src/main/webapp/WEB-INF/views/web/cart/CartListAjaxFormWeb_20210319.html
  19. 228 230
      src/main/webapp/WEB-INF/views/web/cart/CartListFormWeb.html
  20. 345 0
      src/main/webapp/WEB-INF/views/web/cart/CartListFormWeb_20210319.html
  21. 2 2
      src/main/webapp/WEB-INF/views/web/common/fragments/GnbWeb.html
  22. 3 1
      src/main/webapp/WEB-INF/views/web/common/fragments/HeadWeb.html
  23. 14 7
      src/main/webapp/WEB-INF/views/web/goods/GoodsDetailFormWeb.html
  24. 7 1
      src/main/webapp/WEB-INF/views/web/goods/GoodsReviewDetailFormWeb.html
  25. 134 85
      src/main/webapp/WEB-INF/views/web/goods/GoodsReviewFormWeb.html
  26. 0 994
      src/main/webapp/WEB-INF/views/web/goods/GoodsReviewPhotoDetailFormWeb.html
  27. 129 60
      src/main/webapp/WEB-INF/views/web/mypage/MypageCouponFormWeb.html
  28. 335 260
      src/main/webapp/WEB-INF/views/web/mypage/MypageGiftcardFormWeb.html
  29. 6 2
      src/main/webapp/WEB-INF/views/web/order/OrderCustemerInfoWeb.html
  30. 85 146
      src/main/webapp/WEB-INF/views/web/order/OrderDcAmtInfoWeb.html
  31. 286 0
      src/main/webapp/WEB-INF/views/web/order/OrderDcAmtInfoWeb_20210318.html
  32. 37 35
      src/main/webapp/WEB-INF/views/web/order/OrderDeliveryAddrInfoWeb.html
  33. 21 530
      src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html
  34. 1 126
      src/main/webapp/WEB-INF/views/web/order/OrderFormWeb_20210318.html
  35. 55 55
      src/main/webapp/WEB-INF/views/web/order/OrderFreegiftInfoWeb.html
  36. 70 233
      src/main/webapp/WEB-INF/views/web/order/OrderPaymentInfoWeb.html
  37. 5 0
      src/main/webapp/ux/pc/css/common.css
  38. 431 533
      src/main/webapp/ux/pc/css/layout.css
  39. 95 59
      src/main/webapp/ux/pc/js/common-ui.js
  40. 14 26
      src/main/webapp/ux/style24_link.js

+ 9 - 1
src/main/java/com/style24/front/biz/dao/TsfReviewDao.java

@@ -52,6 +52,14 @@ public interface TsfReviewDao {
 	 */
 	Collection<Goods> getReviewGoodsOptionList(Review review);
 	
-	
+	/**
+	 * 상품평 옵션 목록
+	 * @param review
+	 * @return 
+	 * @author eskim
+	 * @since 2021. 3. 19
+	 */
+	Collection<Goods> getReviewOptionList(String goodsCd);
+
 
 }

+ 12 - 2
src/main/java/com/style24/front/biz/service/TsfCartService.java

@@ -562,11 +562,21 @@ public class TsfCartService {
 				order.setItemNmArr(order.getItemNm().split("!@!"));
 				order.setOptCdArr(order.getOptCd().split(","));
 				order.setItemQtyArr(order.getItemQtyr().split(","));
+				order.setOptCd1Arr(order.getOptCd1().split(","));
+				order.setOptCd2Arr(order.getOptCd2().split(","));
+				order.setColorNmArr(order.getColorNm().split(","));
 			} else {
-				String[] arr = {order.getItemNm()}, arr2 = {order.getOptCd()}, arr3 = {order.getItemQtyr()};
+				/*String[] arr = {order.getItemNm()}, arr2 = {order.getOptCd()}, arr3 = {order.getItemQtyr()};
 				order.setItemNmArr(arr);
 				order.setOptCdArr(arr2);
-				order.setItemQtyArr(arr3);
+				order.setItemQtyArr(arr3);*/
+
+				String[] arr = {order.getItemNm()}, arr2 = {order.getOptCd1()}, arr3 = {order.getOptCd2()}, arr4 = {order.getItemQtyr()}, arr5 = {order.getColorNm()};
+				order.setItemNmArr(arr);
+				order.setOptCd1Arr(arr2);
+				order.setOptCd2Arr(arr3);
+				order.setItemQtyArr(arr4);
+				order.setColorNmArr(arr5);
 			}
 
 			// 1.3 배송정책별 상품 구분

+ 6 - 4
src/main/java/com/style24/front/biz/service/TsfOrderService.java

@@ -286,11 +286,15 @@ public class TsfOrderService {
 				result.setPayMeans(TscConstants.PayMeans.CREDIT_CARD.value());
 			}
 
+			// 모바일 주문의 경우 result에서 고객 번호 보유중.
+			if(TscConstants.FrontGb.PC.value().equals(TsfSession.getFrontGb())) {
+				result.setUpdNo(param.getCustNo());
+				result.setRegNo(param.getCustNo());
+			}
 			result.setPaySq(param.getPaySq());
-			result.setUpdNo(param.getCustNo());
-			result.setRegNo(param.getCustNo());
 			result.setPayGb("O");
 
+			// TB_PAYMENT 등록. 실패시 PG 환불.
 			if(coreOrderDao.insertPayment(result) < 1) {
 				if(TscConstants.PgGb.KCP.value().equals(param.getPgGb()) || TscConstants.PgGb.PAYCO.value().equals(param.getPgGb())) {
 					coreKcpService.kcpPayRollBack(result, request);
@@ -302,8 +306,6 @@ public class TsfOrderService {
 					throw new IllegalArgumentException("결제 정보 저장 실패. 새로고침 후 다시 시작해주세요.");
 				}
 			}
-
-			coreKcpService.kcpPayRollBack(result, request);
 		} catch(Exception e) {
 			e.printStackTrace();
 			throw new IllegalArgumentException(e.getMessage());

+ 12 - 1
src/main/java/com/style24/front/biz/service/TsfReviewService.java

@@ -6,6 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.style24.front.biz.dao.TsfReviewDao;
+import com.style24.persistence.domain.Goods;
 import com.style24.persistence.domain.Review;
 
 import lombok.extern.slf4j.Slf4j;
@@ -49,10 +50,20 @@ public class TsfReviewService {
 			loopReview.setReviewAttachList(reviewDao.getReviewAttachList(loopReview));
 			loopReview.setGoodsOptionList(reviewDao.getReviewGoodsOptionList(loopReview));
 		}
-		log.info("getReviewList {}", reviewList);
+		//log.info("getReviewList {}", reviewList);
 		
 		return reviewList;
 	}
 	
+	/**
+	 * 상품평 옵션 목록
+	 * @param review
+	 * @return 
+	 * @author eskim
+	 * @since 2021. 3. 19
+	 */
+	public Collection<Goods> getReviewOptionList(String goodsCd) {
+		 return reviewDao.getReviewOptionList(goodsCd);
+	}
 	
 }

+ 71 - 44
src/main/java/com/style24/front/biz/web/TsfGoodsController.java

@@ -1,6 +1,7 @@
 package com.style24.front.biz.web;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 
 import org.apache.commons.lang3.StringUtils;
@@ -22,12 +23,14 @@ import com.style24.core.support.message.TscMessageByLocale;
 import com.style24.front.biz.service.TsfCounselService;
 import com.style24.front.biz.service.TsfCouponService;
 import com.style24.front.biz.service.TsfGoodsService;
+import com.style24.front.biz.service.TsfRendererService;
 import com.style24.front.biz.service.TsfReviewService;
 import com.style24.front.support.controller.TsfBaseController;
 import com.style24.front.support.env.TsfConstants;
 import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.TscPageRequest;
 import com.style24.persistence.domain.CardPromotion;
+import com.style24.persistence.domain.CommonCode;
 import com.style24.persistence.domain.Counsel;
 import com.style24.persistence.domain.Goods;
 import com.style24.persistence.domain.GoodsStock;
@@ -76,6 +79,9 @@ public class TsfGoodsController extends TsfBaseController {
 	@Autowired
 	private TsfReviewService reviewService;
 
+	@Autowired
+	private TsfRendererService rendererService;
+	
 	@Value("${has-ssl}")
 	private String hasSsl;
 
@@ -235,6 +241,7 @@ public class TsfGoodsController extends TsfBaseController {
 				mav.setViewName(super.getDeviceViewName("goods/GoodsDetailForm"));
 			}
 		}
+		log.info("||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||");
 		return mav;
 	}
 
@@ -622,27 +629,57 @@ public class TsfGoodsController extends TsfBaseController {
 		
 		Review review = new Review();
 		review.setGoodsCd(goods.getGoodsCd());
+		mav.addObject("reviewCount", reviewService.getReviewTotalCount(review));	// 전체상품평 건수 
 		review.setRownum(1);
 		review.setGoodsType(goods.getGoodsType());
 		mav.addObject("reviewList", reviewService.getReviewList(review));	// 전체상품평 유무 확인
-		
-		
 		review.setBestYn("Y");
 		review.setRownum(0);	// 전체 조회
 		mav.addObject("bestReviewList", reviewService.getReviewList(review));	//베스트상품평
-		
 		review.setPhotoYn("Y");
 		review.setBestYn("");
 		review.setRownum(0);	// 전체 조회
 		mav.addObject("photoReviewList", reviewService.getReviewList(review));	//포토상품평
-
+		
+		// 상품평에 등록된 사이즈 정보
+		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));
+		
+		// 키전체 
+		Collection<CommonCode> reviewHeightList = new ArrayList<CommonCode>();
+		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 {
+			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 {
+			reviewWeightList = rendererService.getAvailCommonCodeList("G092");
+		}
+		
+		// 상품평 몸무게
+		mav.addObject("reviewWeightList", reviewWeightList);
+		
 		mav.setViewName(super.getDeviceViewName("goods/GoodsReviewForm"));
 		return mav;
 	}
 	
 	/**
 	 * 상품평 목록
-	 * @param counsel - 상담정보
+	 * @param review
 	 * @return
 	 * @author eskim
 	 * @since 2021. 3. 16
@@ -651,10 +688,26 @@ public class TsfGoodsController extends TsfBaseController {
 	@ResponseBody
 	public GagaMap getGoodsReviewList(@RequestBody Review review) {
 
-		log.info(" getGoodsReviewList =>{}", review);
+		//log.info(" getGoodsReviewList =>{}", review);
 
 		GagaMap result = new GagaMap();
 
+		review.setReviewHeightSt(0);
+		review.setReviewHeightEd(0);
+		if (StringUtils.isNotBlank(review.getReviewHeight())) {
+			String[] arrHeight = review.getReviewHeight().split("\\-");
+			review.setReviewHeightSt(Integer.parseInt(arrHeight[0]));
+			review.setReviewHeightEd(Integer.parseInt(arrHeight[1]));
+		}
+		
+		review.setReviewWeightSt(0);
+		review.setReviewWeightEd(0);
+		if (StringUtils.isNotBlank(review.getReviewWeight())) {
+			String[] arrWeight = review.getReviewWeight().split("\\-");
+			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);
@@ -664,42 +717,11 @@ public class TsfGoodsController extends TsfBaseController {
 		}
 		
 		result.set("paging", review);
-		log.info("-------------------------------------------------------------");
 		result.set("dataList", reviewService.getReviewList(review));
-		log.info("-------------------------------------------------------------");
 
 		return result;
 	}
 
-	/**
-	 * 상품상세 -  상품평 - 베스트 레이어
-	 * @return
-	 * @author eskim
-	 * @since 2021. 3. 8
-	 */
-	@PostMapping("/review/best/layer/{goodsCd}")
-	public ModelAndView goodsReviewBestForm(@PathVariable String goodsCd) {
-		ModelAndView mav = new ModelAndView();
-		// 상품관련 기본값 설정(회원 등급, 앱, PC/모바일 등)
-		Goods paramsGoods = new Goods();
-		paramsGoods.setGoodsCd(goodsCd);
-		setGoods(paramsGoods);
-//		Goods goods = goodsService.getGoodsInfo(paramsGoods);
-//
-//		// 상품 기본정보
-//		mav.addObject("goodsInfo", goods);
-		
-		Review review = new Review();
-		review.setGoodsCd(paramsGoods.getGoodsCd());
-		review.setBestYn("Y");
-		mav.addObject("reviewList", reviewService.getReviewList(review));
-
-		mav.addObject("params", paramsGoods);
-		
-		mav.setViewName(super.getDeviceViewName("goods/GoodsReviewBestForm"));
-		return mav;
-	}
-
 	/**
 	 * 상품상세 -  상품평 - 포토/영상 리스트 레이어
 	 * @return
@@ -723,24 +745,29 @@ public class TsfGoodsController extends TsfBaseController {
 	}
 
 	/**
-	 * 상품상세 -  상품평 - 포토/영상 상세 레이어
+	 * 상품상세 -  상품평 상세 레이어
 	 * @return
 	 * @author eskim
 	 * @since 2021. 3. 8
 	 */
-	@PostMapping("/review/photo/detail/layer/{goodsCd}")
-	public ModelAndView goodsReviewPhotoDetailForm(@PathVariable String goodsCd) {
+	@PostMapping("/review/detail/layer")
+	public ModelAndView goodsReviewDetailForm(Review review) { 
+		//log.info("goodsReviewDetailForm {}", review);
 		ModelAndView mav = new ModelAndView();
 		// 상품관련 기본값 설정(회원 등급, 앱, PC/모바일 등)
 		Goods paramsGoods = new Goods();
-		paramsGoods.setGoodsCd(goodsCd);
+		paramsGoods.setGoodsCd(review.getGoodsCd());
 		setGoods(paramsGoods);
-		Goods goods = goodsService.getGoodsInfo(paramsGoods);
+		// Goods goods = goodsService.getGoodsInfo(paramsGoods);
 
 		// 상품 기본정보
-		mav.addObject("goodsInfo", goods);
+		mav.addObject("params", paramsGoods);
+		
+		mav.addObject("review", review);
+		
+		mav.addObject("reviewList", reviewService.getReviewList(review));
 
-		mav.setViewName(super.getDeviceViewName("goods/GoodsReviewPhotoDetailForm"));
+		mav.setViewName(super.getDeviceViewName("goods/GoodsReviewDetailForm"));
 		return mav;
 	}
 

+ 14 - 3
src/main/java/com/style24/front/biz/web/TsfOrderController.java

@@ -249,12 +249,23 @@ public class TsfOrderController extends TsfBaseController {
 			// 2.1 주문고객 정보조회
 			deliveryAddrInfo = coreOrderService.getDeliveryAddrInfo(order);
 			
-			if (deliveryAddrInfo == null) {
-				deliveryAddrInfo = new Order();
+			if (deliveryAddrInfo.getDelvAddrNm() == null || "".equals(deliveryAddrInfo.getDelvAddrNm())) {
 				deliveryAddrInfo.setDelvAddrNm(deliveryAddrInfo.getCustNm());
+			}
+			
+			if (deliveryAddrInfo.getRecipZipcode() == null || "".equals(deliveryAddrInfo.getRecipZipcode())) {
 				deliveryAddrInfo.setRecipZipcode("00000");
+			}
+			
+			if (deliveryAddrInfo.getRecipBaseAddr() == null || "".equals(deliveryAddrInfo.getRecipBaseAddr())) {
 				deliveryAddrInfo.setRecipBaseAddr("기본주소정보없음");
-				deliveryAddrInfo.setRecipDtlAddr("상제주소정보없음");
+			}
+			
+			if (deliveryAddrInfo.getRecipDtlAddr() == null || "".equals(deliveryAddrInfo.getRecipDtlAddr())) {
+				deliveryAddrInfo.setRecipDtlAddr("상세주소정보없음");
+			}
+			
+			if (deliveryAddrInfo.getDelvMemo() == null || "".equals(deliveryAddrInfo.getDelvMemo())) {
 				deliveryAddrInfo.setDelvMemo("직접받고 부재시 문 앞");
 			}
 		} else {

+ 1 - 0
src/main/java/com/style24/front/biz/web/TsfPgController.java

@@ -154,6 +154,7 @@ public class TsfPgController extends TsfBaseController {
 		}
 
 		param.setUpdNo(param.getCustNo());
+		param.setFrontGb(TsfSession.getFrontGb());
 
 		// 2. 결재정보등록(TB_PAYMENT)
 		param = orderService.orderPgPayResult(param, request, response);

+ 10 - 0
src/main/java/com/style24/persistence/domain/Review.java

@@ -63,6 +63,15 @@ public class Review extends TscBaseDomain {
 	private String goodsType;		// 상품유형
 	private int rownum;
 	
+	private String reviewScore;		// 상품평 검색조건 평점
+	private String reviewOption;	// 상품평 검색조건 옵션
+	private String reviewHeight;	// 상품평 검색조건 키	0-150
+	private int reviewHeightSt;	// 상품평 검색조건 구간시작	0
+	private int reviewHeightEd;	// 상품평 검색조건 구간종료	150
+	private String reviewWeight;	// 상품평 검색조건 몸무게	0-50
+	private int reviewWeightSt;	// 상품평 검색조건 몸무게 구간시작	0
+	private int reviewWeightEd;	// 상품평 검색조건 몸무게 구간종료	50
+	
 	// Masking
 	public String getMaskingCustId() {
 		return (this.custId != null) ?  MaskingUtils.id(this.custId) : this.custId;
@@ -79,4 +88,5 @@ public class Review extends TscBaseDomain {
 	private int pageNo = 1;
 	private int pageSize = 10;
 	private int pageUnit = 10;
+	
 }

+ 3 - 1
src/main/java/com/style24/persistence/mybatis/shop/TsfCart.xml

@@ -497,6 +497,7 @@
 		SELECT GROUP_CONCAT(Z.ITEM_NM ORDER BY Z.CART_DTL_SQ SEPARATOR '!@!') AS ITEM_NM
 			 , GROUP_CONCAT(Z.ITEM_CD ORDER BY Z.CART_DTL_SQ) AS ITEM_CD
 			 , GROUP_CONCAT(Z.OPT_CD ORDER BY Z.CART_DTL_SQ) AS OPT_CD
+			 , GROUP_CONCAT(Z.COLOR_NM ORDER BY Z.CART_DTL_SQ) AS COLOR_NM
 			 , GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.CART_DTL_SQ) AS OPT_CD1
 			 , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.CART_DTL_SQ) AS OPT_CD2
 			 , GROUP_CONCAT(Z.ITEM_QTY ORDER BY Z.CART_DTL_SQ) AS ITEM_QTYR
@@ -523,7 +524,8 @@
 					 , CD.OPT_CD
 					 , CD.ITEM_QTY
 					 , CD.CART_DTL_SQ
-					 , O.OPT_CD1
+					 , (SELECT COLOR_KNM FROM TB_COLOR C WHERE COLOR_CD = IFNULL(NULLIF(O.OPT_CD1,'') , G.MAIN_COLOR_CD ) AND USE_YN  = 'Y') AS COLOR_NM
+		             , O.OPT_CD1
 					 , O.OPT_CD2
 					 , G.GOODS_TYPE
 					 , G.SUPPLY_COMP_CD

+ 7 - 7
src/main/java/com/style24/persistence/mybatis/shop/TsfCoupon.xml

@@ -375,7 +375,7 @@
 	</select>
 	
 	<select id="getMypageCouponList" resultType="Coupon" parameterType="Coupon">
-		/* TsfCoupon.getMypageCouponList -- custNo 변경 예정*/
+		/* TsfCoupon.getMypageCouponList */
 		SELECT T.*
 		FROM 
 		(
@@ -442,7 +442,7 @@
 											)A ON TC.CPN_ID = A.CPN_ID 
 				WHERE 1=1
 					AND TC.CPN_STAT = 'G232_11'  /*쿠폰 상태 - 진행*/
-					AND A.CUST_NO = 1000039
+					AND A.CUST_NO = #{custNo}
 					AND A.USED_DT IS NULL
 					AND NOW() BETWEEN A.AVAIL_STDT AND A.AVAIL_EDDT
 			)Z
@@ -510,7 +510,7 @@
 											)A ON TC.CPN_ID = A.CPN_ID 
 				WHERE 1=1
 					AND TC.CPN_STAT = 'G232_11'  /*쿠폰 상태 - 진행*/
-					AND A.CUST_NO = 1000039
+					AND A.CUST_NO = #{custNo}
 					AND A.USED_DT IS NULL
 					AND A.AVAIL_EDDT BETWEEN DATE_ADD(NOW(), INTERVAL -3 MONTH) AND A.AVAIL_EDDT
 			)F
@@ -519,27 +519,27 @@
 	</select>
 	
 	<select id="getMypageCouponInfo" resultType="Coupon" parameterType="Coupon">
-		/* TsfCoupon.getMypageCouponInfo -- custNo 변경 예정*/
+		/* TsfCoupon.getMypageCouponInfo*/
 		SELECT COUNT(*) AS ALL_COUPON_CNT
 			,(  SELECT COUNT(*) AS USE_COUPON
 				FROM tb_coupon A INNER JOIN tb_cust_coupon B ON A.CPN_ID = B.CPN_ID 
 				WHERE 1=1
 				  AND A.CPN_ID = B.CPN_ID 
-				  AND B.CUST_NO = 1000039
+				  AND B.CUST_NO = #{custNo}
 				  AND A.CPN_STAT = 'G232_11'
 				  AND NOW() BETWEEN A.AVAIL_STDT AND A.AVAIL_EDDT ) AS USE_COUPON_CNT
 		    ,(  SELECT COUNT(*) AS USE_COUPON
 				FROM tb_coupon A INNER JOIN tb_cust_coupon B ON A.CPN_ID = B.CPN_ID 
 				WHERE 1=1
 				  AND A.CPN_ID = B.CPN_ID 
-				  AND B.CUST_NO = 1000039
+				  AND B.CUST_NO = #{custNo}
 				  AND A.CPN_STAT = 'G232_11'
 				  AND NOW() BETWEEN A.AVAIL_STDT AND A.AVAIL_EDDT 
 				  AND NOW() BETWEEN DATE_ADD(A.AVAIL_EDDT , INTERVAL -7 DAY) AND A.AVAIL_EDDT ) AS EXPIRE_COUPON_CNT
 		FROM tb_coupon A INNER JOIN tb_cust_coupon B ON A.CPN_ID = B.CPN_ID 
 		WHERE 1=1
 		  AND A.CPN_ID = B.CPN_ID 
-		  AND B.CUST_NO = 1000039
+		  AND B.CUST_NO = #{custNo}
 		  AND A.CPN_STAT = 'G232_11'
 	</select>
 	

+ 26 - 32
src/main/java/com/style24/persistence/mybatis/shop/TsfGiftcard.xml

@@ -4,7 +4,7 @@
 
 	<!-- 상품권 기본정보  -->
 	<select id="getGiftcardInfo" parameterType="GiftCard" resultType="GiftCard">
-		<!-- TsfGiftcard.getGiftcardInfo -->
+		/*TsfGiftcard.getGiftcardInfo*/
 		SELECT SUM(CG.RM_GFCD_AMT) AS USE_GIFT/*사용가능한 보유 금액*/
 		      ,(SELECT COUNT(*) 
 		        FROM TB_CUST_GIFTCARD CG2 
@@ -12,7 +12,7 @@
 		          AND CUST_NO = #{custNo}
 		          AND CG2.RM_GFCD_AMT <![CDATA[>]]> 0
 		          AND NOW() BETWEEN CG2.USE_ST_DATE AND CG2.USE_EXP_DATE) AS TOTAL_COUNT /*총 상품권 수*/
-		      ,(SELECT COUNT(*)
+		      ,(SELECT SUM(CG3.RM_GFCD_AMT)
 				FROM TB_CUST_GIFTCARD CG3
 				WHERE NOW() BETWEEN CG3.USE_ST_DATE AND CG3.USE_EXP_DATE
 				  AND  NOW() BETWEEN DATE_ADD(CG3.USE_EXP_DATE, INTERVAL -1 MONTH) AND USE_EXP_DATE
@@ -26,33 +26,27 @@
 	</select>
 	
 	<select id="getGiftcardUseList" parameterType="GiftCard" resultType="GiftCard">
-		<!-- TsfGiftcard.getGiftcardUseList -->
-		SELECT A.* 
-		      ,(CASE A.OCCUR_GB WHEN 'G074_11'THEN '+' 
-		                        WHEN 'G074_12'THEN '-'
-		                        WHEN 'G074_13'THEN '+'
-		                        WHEN 'G074_14'THEN '-'
-		                        WHEN 'G074_15'THEN '-'
-		                        WHEN 'G074_16'THEN '-'
-		                        WHEN 'G074_17'THEN '+'
-		                        WHEN 'G074_18'THEN '+'
-		                        WHEN 'G074_19'THEN '-'
-		       END) AS BALANCE
-		      ,(CASE A.OCCUR_GB WHEN 'G074_11'THEN '상품권 등록'        
-                         WHEN 'G074_12'THEN '상품권 사용'       
-                         WHEN 'G074_13'THEN '상품권 사용취소'     
-                         WHEN 'G074_14'THEN '상품권 유효기간만료'   
-                         WHEN 'G074_15'THEN '상품권 파기'       
-                         WHEN 'G074_16'THEN '상품권 현금전환'     
-                         WHEN 'G074_17'THEN '결품으로 인한 기간 연장'
-                         WHEN 'G074_18'THEN '오환불로 인한 금액추가' 
-                         WHEN 'G074_19'THEN '오환불로 인한 금액차감' 
-               END) AS BALANCE_NAME
-		      ,B.GOODS_CD 
-		      ,D.GOODS_NM 
-		FROM TB_CUST_GIFTCARD_HST A LEFT JOIN TB_ORDER_DETAIL B ON A.ORD_DTL_NO = B.ORD_DTL_NO AND A.ORD_NO = B.ORD_NO
-									LEFT JOIN TB_CUST_GIFTCARD C ON A.CUST_GFCD_SQ =C.CUST_GFCD_SQ 
-									LEFT JOIN TB_GOODS D ON B.GOODS_CD = D.GOODS_CD 
+		/*TsfGiftcard.getGiftcardUseList*/
+		SELECT A.GFCD_HST_SQ
+		      , A.CUST_NO
+		      , A.OCCUR_GB
+		      , A.OCCUR_DTL_DESC
+		      , A.GFCD_AMT
+		      , A.CUST_GFCD_SQ
+		      , A.ORD_NO
+		      , A.ORD_DTL_NO
+		      , A.REG_NO
+		      , A.REG_DT
+		      , A.UPD_NO
+		      , A.UPD_DT
+		      , B.GOODS_CD 
+		      , D.GOODS_NM 
+		FROM TB_CUST_GIFTCARD_HST A INNER JOIN TB_ORDER_DETAIL B 
+													ON A.ORD_DTL_NO = B.ORD_DTL_NO AND A.ORD_NO = B.ORD_NO
+									INNER JOIN TB_CUST_GIFTCARD C 
+													ON A.CUST_GFCD_SQ =C.CUST_GFCD_SQ 
+									INNER JOIN TB_GOODS D 
+													ON B.GOODS_CD = D.GOODS_CD 
 		WHERE 1=1
 		 AND A.CUST_NO = #{custNo}
 		 <choose>
@@ -67,7 +61,7 @@
 	</select>
 	
 	<select id="getGiftcardOwnList" parameterType="GiftCard" resultType="GiftCard">
-		<!-- TsfGiftcard.getGiftcardOwnList -->
+		/*TsfGiftcard.getGiftcardOwnList*/
 		 SELECT  CUST_GFCD_SQ
 				 , CUST_NO
 				 , GFCD_NO
@@ -87,7 +81,7 @@
 	</select>
 	
 	<insert id="saveGiftcardApi" parameterType="GiftCard">
-		<!-- TsfGiftcard.saveGiftcardApi -->
+		/*TsfGiftcard.saveGiftcardApi*/
 		INSERT INTO TB_GIFTCARD_API_HST
 		(
 		   GFCD_NO
@@ -108,7 +102,7 @@
 	</insert>
 	
 	<insert id="getGiftcardUseConfirm" parameterType="GiftCard">
-		<!-- TsfGiftcard.getGiftcardUseConfirm -->
+		/*TsfGiftcard.getGiftcardUseConfirm*/
 		INSERT INTO TB_CUST_GIFTCARD
 		(
 			CUST_NO

+ 2 - 1
src/main/java/com/style24/persistence/mybatis/shop/TsfGoods.xml

@@ -181,7 +181,7 @@
 		                      AND B.USE_YN = 'Y'
 		INNER JOIN TB_BRAND_GROUP D ON B.BRAND_GROUP_NO = D.BRAND_GROUP_NO
 		                            AND D.USE_YN = 'Y'
-		LEFT OUTER JOIN TB_DELV_FEE_POLICY E ON G.SUPPLY_COMP_CD = E.SUPPLY_COMP_CD
+		INNER JOIN TB_DELV_FEE_POLICY E ON G.SUPPLY_COMP_CD = E.SUPPLY_COMP_CD
 		                                     AND G.DELV_FEE_CD =  E.DELV_FEE_CD
 		LEFT OUTER JOIN TB_WISHLIST W ON G.GOODS_CD = W.GOODS_CD
 		                              AND IFNULL(#{custNo}, 0) = W.CUST_NO
@@ -622,6 +622,7 @@
 		FROM TB_GOODS_RES_SELL
 		WHERE GOODS_CD = #{goodsCd}
 		AND DELV_RES_DT > NOW()
+		AND USE_YN = 'Y'
 		ORDER BY DELV_RES_DT
 		LIMIT 1
 	</select>

+ 137 - 17
src/main/java/com/style24/persistence/mybatis/shop/TsfReview.xml

@@ -30,20 +30,47 @@
 		INNER JOIN TB_ORDER_DETAIL OD ON R.ORD_NO = OD.ORD_NO 
 		                              AND R.ORD_DTL_NO  = OD.ORD_DTL_NO
 		                              AND R.GOODS_CD = OD.GOODS_CD
-		INNER JOIN TB_ORDER_DETAIL_ITEM ODI ON OD.ORD_NO = ODI.ORD_NO 
-		                                    AND OD.ORD_DTL_NO  = ODI.ORD_DTL_NO
-		<if test='goodsType != null and goodsType != "G056_S" '>
-		                              AND OD.GOODS_CD = ODI.ITEM_CD 
-		</if>
 		INNER JOIN TB_CUSTOMER C ON R.REG_NO  = C.CUST_NO
 		AND R.GOODS_CD = #{goodsCd}
 		<if test='bestYn != null and bestYn == "Y"'>
 		AND R.BEST_YN = 'Y'
 		</if>
 		<if test='photoYn != null and photoYn == "Y"'>
-		AND EXISTS (SELECT 1 FROM TB_REVIEW_ATTACH WHERE DEL_YN = 'N' AND REVIEW_SQ = R.REVIEW_SQ)
+		AND EXISTS (SELECT 1 
+		            FROM TB_REVIEW_ATTACH 
+		            WHERE DEL_YN = 'N' 
+		            AND REVIEW_SQ = R.REVIEW_SQ
+		            AND (FILE_GB  = 'I'
+		                 OR
+		                 FILE_GB = 'M' AND R.CONFIRM_YN = 'Y'
+		                )
+		            )
+		</if>
+		<if test="reviewScore != null and reviewScore != ''">
+		AND R.SCORE = #{reviewScore}
+		</if>
+		<if test="reviewOption != null and reviewOption != ''">
+		AND EXISTS (SELECT 1
+		            FROM TB_ORDER_DETAIL_ITEM ODI 
+		            WHERE ODI.ORD_NO = R.ORD_NO 
+		            AND ODI.ORD_DTL_NO  = R.ORD_DTL_NO
+		            AND ODI.OPT_CD2 = #{reviewOption}
+		           )
+		</if>
+		<if test="reviewHeight != null and reviewHeight != ''">
+		 <![CDATA[
+		AND R.HEIGHT >= #{reviewHeightSt}
+		AND R.HEIGHT < #{reviewHeightEd}
+		]]>
+		</if>
+		<if test="reviewWeight != null and reviewWeight != ''">
+		<![CDATA[
+		AND R.WEIGHT >= #{reviewWeightSt}
+		AND R.WEIGHT < #{reviewWeightEd}
+		]]>
 		</if>
 		AND R.DEL_YN = 'N'
+		AND R.DISP_YN = 'Y'
 	</select>
 		
 	<!-- 상품 리뷰 목록 -->
@@ -93,25 +120,98 @@
 		     , C.CUST_ID 
 		     , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') AS SYS_IMG_NM
 		     , (SELECT TI.SIZE_GB FROM TB_ITEMKIND TI WHERE TI.ITEMKIND_CD = G.ITEMKIND_CD) AS SIZE_GB
+		     
+		     , (SELECT MAX(REVIEW_SQ) 
+		        FROM TB_REVIEW R
+		        WHERE REVIEW_SQ <![CDATA[<]]> #{reviewSq} 
+		        AND GOODS_CD = R.GOODS_CD 
+		        AND DEL_YN = 'N'
+		        <if test='bestYn != null and bestYn == "Y"'>
+		        AND BEST_YN = 'Y'
+		        </if>
+		        <if test='photoYn != null and photoYn == "Y"'>
+		        AND EXISTS (SELECT 1 
+		                    FROM TB_REVIEW_ATTACH 
+		                    WHERE DEL_YN = 'N' 
+		                    AND REVIEW_SQ = R.REVIEW_SQ
+		                    AND (FILE_GB  = 'I'
+		                         OR
+		                         FILE_GB = 'M' AND R.CONFIRM_YN = 'Y'
+		                        )
+		                    )
+		        </if>
+		        ) AS PREV_REVIEW_SQ
+		     , (SELECT MIN(REVIEW_SQ) 
+		        FROM TB_REVIEW 
+		        WHERE REVIEW_SQ > #{reviewSq}
+		        AND GOODS_CD = R.GOODS_CD 
+		        AND DEL_YN = 'N'
+		        <if test='bestYn != null and bestYn == "Y"'>
+		        AND BEST_YN = 'Y'
+		        </if>
+		        <if test='photoYn != null and photoYn == "Y"'>
+		        AND EXISTS (SELECT 1 
+		                    FROM TB_REVIEW_ATTACH 
+		                    WHERE DEL_YN = 'N' 
+		                    AND REVIEW_SQ = R.REVIEW_SQ
+		                    AND (FILE_GB  = 'I'
+		                         OR
+		                         FILE_GB = 'M' AND R.CONFIRM_YN = 'Y'
+		                        )
+		                    )
+		        </if>
+		        ) AS NEXT_REVIEW_SQ
+		     
 		     , RANK() OVER(ORDER BY R.REVIEW_SQ DESC) AS RNUM
 		FROM TB_REVIEW R 
 		INNER JOIN TB_GOODS G ON R.GOODS_CD = G.GOODS_CD
 		INNER JOIN TB_ORDER_DETAIL OD ON R.ORD_NO = OD.ORD_NO 
-		                               AND R.ORD_DTL_NO  = OD.ORD_DTL_NO 
-		INNER JOIN TB_ORDER_DETAIL_ITEM ODI ON OD.ORD_NO = ODI.ORD_NO 
-		                                    AND OD.ORD_DTL_NO  = ODI.ORD_DTL_NO
-		<if test='goodsType != null and goodsType != "G056_S" '>
-		                              AND OD.GOODS_CD = ODI.ITEM_CD 
-		</if>
+		                              AND R.ORD_DTL_NO  = OD.ORD_DTL_NO 
+		                              AND R.GOODS_CD = OD.GOODS_CD
 		INNER JOIN TB_CUSTOMER C ON R.REG_NO  = C.CUST_NO
 		AND R.GOODS_CD = #{goodsCd}
+		<if test="reviewSq != null and reviewSq != ''" >
+		AND R.REVIEW_SQ = #{reviewSq}
+		</if>
 		<if test='bestYn != null and bestYn == "Y"'>
 		AND R.BEST_YN = 'Y'
 		</if>
 		<if test='photoYn != null and photoYn == "Y"'>
-		AND EXISTS (SELECT 1 FROM TB_REVIEW_ATTACH WHERE DEL_YN = 'N' AND REVIEW_SQ = R.REVIEW_SQ)
+		AND EXISTS (SELECT 1 
+		            FROM TB_REVIEW_ATTACH 
+		            WHERE DEL_YN = 'N' 
+		            AND REVIEW_SQ = R.REVIEW_SQ
+		            AND (FILE_GB  = 'I'
+		                 OR
+		                 FILE_GB = 'M' AND R.CONFIRM_YN = 'Y'
+		                )
+		            )
 		</if>
 		AND R.DEL_YN = 'N'
+		AND R.DISP_YN = 'Y'
+		<if test="reviewScore != null and reviewScore != ''">
+		AND R.SCORE = #{reviewScore}
+		</if>
+		<if test="reviewOption != null and reviewOption != ''">
+		AND EXISTS (SELECT 1
+		            FROM TB_ORDER_DETAIL_ITEM ODI 
+		            WHERE ODI.ORD_NO = R.ORD_NO 
+		            AND ODI.ORD_DTL_NO  = R.ORD_DTL_NO
+		            AND ODI.OPT_CD2 = #{reviewOption}
+		           )
+		</if>
+		<if test="reviewHeight != null and reviewHeight != ''">
+		 <![CDATA[
+		AND R.HEIGHT >= #{reviewHeightSt}
+		AND R.HEIGHT < #{reviewHeightEd}
+		]]>
+		</if>
+		<if test="reviewWeight != null and reviewWeight != ''">
+		<![CDATA[
+		AND R.WEIGHT >= #{reviewWeightSt}
+		AND R.WEIGHT < #{reviewWeightEd}
+		]]>
+		</if>
 		)Z
 		<if test="rownum != null and rownum > 0 ">
 		WHERE RNUM = 1
@@ -125,13 +225,19 @@
 		SELECT A.RV_ATC_SQ
 		     , A.REVIEW_SQ
 		     , A.FILE_GB
-		     , A.ORG_FILE_NM
 		     , A.SYS_FILE_NM
 		     , A.DEL_YN 
 		     , RANK() OVER(ORDER BY a.FILE_GB DESC) AS NUMB
-		FROM TB_REVIEW_ATTACH A 
-		WHERE A.DEL_YN = 'N'
-		AND A.REVIEW_SQ = #{reviewSq}
+		FROM  TB_REVIEW R
+		INNER JOIN TB_REVIEW_ATTACH A ON R.REVIEW_SQ = A.REVIEW_SQ
+		                              AND A.DEL_YN = 'N'
+		WHERE R.DISP_YN = 'Y'
+		AND R.DEL_YN = 'N'
+		AND R.REVIEW_SQ = #{reviewSq}
+		AND (A.FILE_GB  = 'I'
+		     OR
+		     A.FILE_GB = 'M' AND R.CONFIRM_YN = 'Y'
+		    )
 	</select>
 	
 	<!-- 상품평 상품 옵션 목록 -->
@@ -155,5 +261,19 @@
 		WHERE R.REVIEW_SQ = #{reviewSq} 
 		AND R.GOODS_CD = #{goodsCd}
 	</select>
+	
+	<!-- 상품평 옵션 목록 -->
+	<select id="getReviewOptionList" parameterType="String" resultType="Goods">
+		/* TsfReivew.getReviewOptionList */
+		SELECT DISTINCT ODI.OPT_CD2
+		FROM TB_REVIEW R 
+		INNER JOIN TB_ORDER_DETAIL OD ON R.ORD_NO = OD.ORD_NO 
+		                              AND R.ORD_DTL_NO  = OD.ORD_DTL_NO
+		                              AND R.GOODS_CD  = OD.GOODS_CD 
+		INNER JOIN TB_ORDER_DETAIL_ITEM ODI ON OD.ORD_NO = ODI.ORD_NO 
+		                                    AND OD.ORD_DTL_NO  = ODI.ORD_DTL_NO
+		INNER JOIN TB_GOODS G ON ODI.ITEM_CD = G.GOODS_CD
+		WHERE R.GOODS_CD = #{goodsCd}
+	</select>
 
 </mapper>

+ 0 - 49
src/main/webapp/WEB-INF/views/mob/cart/CartListFormMob.html

@@ -9,55 +9,6 @@
 
 <th:block layout:fragment="content">
 
-<script type="text/javascript" th:src="${@environment.getProperty('pg.kcp.js.url')}" src=""></script>
-<script type="text/javascript" src="/ux/mo/js/payment.js"></script>
-<script type="text/javascript">
-	$(document).on("click", "#buyBtn", function() {
-		let orderData = {
-			pgGb		: "KCP"
-			, payMeans	: "G014_10"
-			, ordNo		: "5"
-			, goodsNm	: "상품 테스트"
-			, payAmt	: "1233"
-			, ordNm		: "이태영"
-			, ordEmail	: "xodud1202@naver.com"
-			, ordTelno	: "02-0000-0000"
-			, ordPhnno	: "010-7111-0000"
-		};
-
-		let jsonData = JSON.stringify(orderData);
-
-		$.ajax( {
-			type		: "POST",
-			url			: '/order/create/preOrder',
-			data		: jsonData,
-			dataType	: 'html',
-			beforeSend : function(xhr, settings) {
-				xhr.setRequestHeader("AJAX"			, "true");
-				xhr.setRequestHeader('Accept'		, 'application/json');
-				xhr.setRequestHeader('Content-Type'	, 'application/json');
-				gagajf.showProgressbar(true);
-			},
-			error : function(e) {
-				alert(3);
-			},
-			success 	: function(result) {
-				// 결재정보로드
-				$("#orderInfo").html(result);
-				kcp_AJAX();
-				//jsf__pay(document.order_info);
-				//fnKakaoPaymentReady();
-				//fnNaverPaymentReady();
-			}
-		});
-	});
-</script>
-
-
-
-
-<div id="orderInfo" name="orderInfo"></div>
-<input type="button" id="buyBtn" value="KCP TEST" style="width:100px;height:200px;" />
 
 </th:block>
 

+ 3 - 11
src/main/webapp/WEB-INF/views/mob/pg/kcpOrderMob.html

@@ -16,7 +16,6 @@
 	<input type="hidden" name="payMeans"		th:value="${payment.payMeans}" />
 
 	<input type="hidden" name="encoding_trans"	value="UTF 8" />	<!-- 추가 인코딩 네임은 대문자 -->
-	<input type="hidden" name="PayUrl"			value="" />			<!-- 주문페이지 소스에 이미 PayUrl 이 input 값에 있다면 추가하지 않습니다 -->
 
 	<input type="hidden" name="req_tx"			th:value="${payment.reqTx}" />		<!-- 요청의 종류를 구분하는 변수 결제요청페이지의 경우 ‘pay’로 설정 -->
 	<input type="hidden" name="shop_name"		th:value="${payment.siteName}" />	<!-- 상점이름(영문으로 작성권장) -->
@@ -50,16 +49,12 @@
 	<input type="hidden" name="use_pay_method"	value=""/>
 	<input type="hidden" name="cash_yn"         value=""/>
 	<input type="hidden" name="cash_tr_code"	value=""/>
-
-
-
+	<input type="hidden" name="param_opt_1"		th:value="${payment.pgGb}" />		<!-- 모바일은 URL 로 변수 이동하므로 추가 변수로 KCP인지 PAYCO인지 송부 -->
+	<input type="hidden" name="param_opt_2"		th:value="${payment.shopUserId}" />	<!-- 모바일은 URL 로 변수 이동하므로 추가 변수로 custNo 송부 -->
 
 	<input type="hidden" name="shop_user_id"	th:value="${payment.shopUserId}" />	<!-- 필수, 쇼핑몰회원ID 기관에 따라 RM 조치를 위해 쇼핑몰 관리 ID를 필수로 요청 -->
 
 
-
-
-
 	<!-- 신용카드 정보 -->
 
 
@@ -70,7 +65,7 @@
 	<input type="hidden" name="tablet_size"     value="<%=tablet_size%>">
 
 	<!-- 무통장입금 정보 -->
-	<!-- <input type="hidden" name="vcnt_expire_term"	th:value="${payment.vcntExpireTerm}"/> -->	<!-- 무통장입금 유효기간 설정 (3 = 3일) -->
+	<input type="hidden" name="vcnt_expire_term"	th:value="${payment.vcntExpireTerm}"/>	<!-- 무통장입금 유효기간 설정 (ex. 3 = 3일) -->
 
 	<!-- 2012년 8월 18일 전자상거래법 개정 관련 설정 부분 -->
 	<!-- 제공 기간 설정 0:일회성 1:기간설정(ex 1:2012010120120131)  -->
@@ -84,12 +79,9 @@
 			필수 항목 : 표준웹에서 값을 설정하는 부분으로 반드시 포함되어야 합니다
 			값을 설정하지 마십시오
 	-->
-
-
 	<input type="hidden" name="ret_pay_method"  value=""/>
 	<input type="hidden" name="tran_cd"         value=""/>
 
-
 	<!-- 주문정보 검증 관련 정보 : 표준웹 에서 설정하는 정보입니다 -->
 	<input type="hidden" name="ordr_chk"        value=""/>
 

+ 269 - 0
src/main/webapp/WEB-INF/views/web/cart/CartChangeOptionPopupWeb_20210319.html

@@ -0,0 +1,269 @@
+<html lang="ko"
+	  xmlns:th="http://www.thymeleaf.org">
+<!-- 옵션변경 팝업 -->
+<div class="modal-dialog cartOptionModal" role="document">
+	<div class="modal-content">
+		<div class="modal-header">
+			<h5 class="modal-title" id="optModifyLabel">옵션변경</h5>
+			<div class="prod_title">
+				<span class="brand" th:text="|${cart.brandEnm + ' ' + cart.brandKnm}|"></span>
+				<span class="name" th:text="${cart.goodsNm}"></span>
+			</div>
+		</div>
+
+		<div class="modal-body">
+			<div class="pop_cont">
+				<div class="prod_info">
+					<div class="prod_preview">
+						<div class="area_pic">
+							<ul class="pic_list">
+								<th:block th:if="${setType.equals(cart.goodsType) or cart.selfGoodsYn.equals('N')}">
+									<li th:each="img, index : ${cart.cartImgList}">
+										<span class="thumb"><img th:src="${cart.imgPath + '/' + img.sysImgNm}" src="#" alt="" /></span>
+									</li>
+								</th:block>
+								<th:block th:if="${!setType.equals(cart.goodsType) and cart.selfGoodsYn.equals('Y')}">
+									<th:block th:each="comp, status : ${cart.cartCompsList}">
+										<th:block th:each="color, index : ${comp.cartColorList}">
+											<th:block th:if="${color.cartOptCd1 != null and color.cartOptCd1.equals(color.optCd1)}">
+												<li th:each="img, index : ${color.cartImgList}">
+													<span class="thumb"><img th:src="${cart.imgPath + '/' + img.sysImgNm}" src="#" alt="" /></span>
+												</li>
+											</th:block>
+										</th:block>
+									</th:block>
+								</th:block>
+							</ul>
+						</div>
+						<div class="area_order">
+							<th:block th:each="comp, status : ${cart.cartCompsList}">
+								<!-- 세트상품 옵션 -->
+								<th:block th:if="${setType.equals(cart.goodsType)}">
+									<div class="opt_select setOption">
+										<div class="opt_header">
+											<span class="title" th:text="${comp.goodsNm}"></span>
+										</div>
+
+										<!-- 컬러 변경시 만들어줄 size option -->
+										<th:block th:each="color, index : ${comp.cartColorList}">
+											<span style="display:none;">
+												<select th:classappend="|color_${color.goodsCd}_${color.optCd1}|">
+													<th:block th:each="size, i : ${color.cartSizeList}">
+														<th:block th:if="${color.optCd1.equals(size.optCd1)}">
+															<option th:value="${size.optCd}" th:text="${size.optCd2}"></option>
+														</th:block>
+													</th:block>
+												</select>
+											</span>
+										</th:block>
+
+										<div class="form_field">
+											<select class="setColorSelect">
+												<th:block th:each="color, index : ${comp.cartColorList}">
+													<option th:data="${comp.goodsCd}" th:value="${color.optCd1}" rel="icon-temperature" th:text="${color.colorNm}" th:selected="${color.cartColorNm != null}"></option>
+												</th:block>
+											</select>
+										</div>
+										<div class="form_field">
+											<th:block th:each="color, index : ${comp.cartColorList}">
+											<select th:data="${color.goodsCd}" th:class="|size_${comp.goodsCd} setSizeSelect|">
+												<th:block th:each="size, i : ${color.cartSizeList}">
+													<th:block th:if="${color.optCd1.equals(size.optCd1)}">
+														<option th:data="${comp.cartDtlSq}" th:value="${size.optCd}" th:text="${size.optCd2}" th:selected="${size.cartOptCd != null}"></option>
+													</th:block>
+												</th:block>
+											</select>
+											</th:block>
+										</div>
+									</div>
+								</th:block>
+
+								<!-- 자사 일반 상품 옵션 -->
+								<th:block th:if="${!setType.equals(cart.goodsType) and 'Y'.equals(cart.selfGoodsYn)}">
+									<div class="opt_color">
+										<div class="opt_header">
+											<span class="title">컬러</span>
+											<th:block th:each="color, index : ${comp.cartColorList}">
+												<th:block th:if="${color.cartColorNm != null}">
+													<span class="color" th:text="${color.cartColorNm}"></span>
+												</th:block>
+											</th:block>
+										</div>
+										<ul>
+											<li th:each="color, index : ${comp.cartColorList}" class="selfGoodsColor">
+												<a href="" th:cartDtlSq="${color.cartDtlSq}" th:classappend="${color.cartColorNm != null} ? 'on'" class="selfGoodsColorSelect" th:data="${color.optCd1}">
+													<img th:src="${cart.imgPath + '/' + color.sysImgNm}" src="#" th:alt="${color.colorNm}" alt="" />
+												</a>
+											</li>
+										</ul>
+									</div>
+
+									<div class="opt_size">
+										<div class="opt_header">
+											<span class="title">사이즈</span>
+										</div>
+										<div class="form_field selfGoodsSize">
+											<th:block th:each="color, index : ${comp.cartColorList}">
+												<th:block th:if="${color.cartColorNm != null}">
+													<th:block th:each="size, index : ${color.cartSizeList}">
+														<div>
+															<input type="radio" name="rdi-optsize" th:id="|${'rdi-optsize' + size.goodsCd + '-' + size.optCd}|" th:value="${size.optCd}" th:checked="${size.cartOptCd != null}" th:disabled="${size.soldoutYn == 'Y' or cart.goodsQty > size.currStockQty}">
+															<label th:for="|${'rdi-optsize' + size.goodsCd + '-' + size.optCd}|"><span th:text="${size.optCd2}"></span></label>
+														</div>
+													</th:block>
+												</th:block>
+											</th:block>
+										</div>
+									</div>
+								</th:block>
+
+								<!-- 입점업체 상품 옵션 -->
+								<th:block th:if="${!setType.equals(cart.goodsType) and !'Y'.equals(cart.selfGoodsYn)}">
+									<div class="opt_select">
+										<div class="opt_header">
+											<span class="title">옵션선택</span>
+										</div>
+										<div class="form_field">
+											<select class="selfGoodsColor">
+												<th:block th:each="color, index : ${comp.cartColorList}">
+												<option th:data="${color.cartDtlSq}" th:value="${color.optCd}" th:text="${color.optCd1 + '/' + color.optCd2}" th:selected="${color.cartOptCd != null}"></option>
+												</th:block>
+											</select>
+										</div>
+									</div>
+								</th:block>
+							</th:block>
+							<div class="opt_count">
+								<div class="opt_header">
+									<span class="title">수량</span>
+								</div>
+								<div class="number_count">
+									<span class="minus"><span class="sr-only">감소</span></span>
+									<input type="text" name="goodsQty" maxlength="3" style='ime-mode:disabled' th:value="${cart.goodsQty}" />
+									<!-- <input type="text" name="goodsQty" maxlength="3" style='ime-mode:disabled' th:value="2" /> -->
+									<span class="plus"><span class="sr-only">추가</span></span>
+								</div>
+							</div>
+							<div class="btn_group_block">
+								<button class="btn btn_dark btn_block" th:onclick="|fnChangeCartOption(${cart.cartSq})|"><span>옵션변경</span></button>
+							</div>
+						</div>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+<!-- //옵션변경 팝업 -->
+
+
+<script th:inline="javascript">
+	// 세트상품 컬러 변경시
+	$(".setColorSelect").on("change", function(e) {
+		let goodsCd = $(this).find("option:checked").attr("data");
+		$(".setOption .size_" + goodsCd).html("");
+		$(".setOption .size_" + goodsCd).html($(".color_" + goodsCd + "_" + $(this).val()).html());
+	});
+
+	// 자사 일반 상품 컬러 선택시
+	$(".selfGoodsColorSelect").on("click", function(e) {
+		let html = "";
+		let cart = [[${cart}]];
+		let color =  [[${cart.cartCompsList[0].cartColorList}]];
+		let optCd1 = $(this).attr("data");
+
+		for(let i = 0 ; i < color.length ; i++) {
+			let size = color[i].cartSizeList;
+			for(let j = 0 ; j < size.length ; j++) {
+				if(optCd1 == size[j].optCd1) {
+					html += "<div>";
+					html += "<input type='radio' name='rdi-optsize' id='" + size[j].goodsCd + "-" + size[j].optCd + "' value='" + size[j].optCd + "' ";
+					if(size[j].soldoutYn == "Y" || cart.goodsQty > size[j].currStockQty) {
+						html += "disabled = 'disabled'";
+					}
+					html += " />\n";
+					html += "<label for='" + size[j].goodsCd + "-" + size[j].optCd + "'><span>" + size[j].optCd2 + "</span></label>\n"
+					html += "</div>\n";
+				}
+			}
+		}
+
+		$(".selfGoodsSize").html(html);
+	});
+
+	function fnChangeCartOption(cartSq) {
+		let cart = [[${cart}]];
+		let cartDtlSqArr = [], itemCds = [], optCds = [];
+		let data;
+
+		if(cart.goodsType == "G056_S") {
+			$(".setSizeSelect").each(function() {
+				optCds.push($(this).val());
+				itemCds.push($(this).attr("data"));
+				cartDtlSqArr.push($(this).find("option:checked").attr("data"));
+			});
+
+			data = {
+				  cartSq : cart.cartSq
+				, goodsCd : cart.goodsCd
+				, goodsType : cart.goodsType
+				, cartDtlSqArr : cartDtlSqArr
+				, itemCds : itemCds
+				, optCds : optCds
+				, goodsQty : $("input[name=goodsQty]").val()
+			}
+		} else if(cart.goodsType != "G056_S" && cart.selfGoodsYn == "Y") {
+			optCds.push($(".selfGoodsSize").find("input[name=rdi-optsize]:checked").val());
+			itemCds.push(cart.goodsCd);
+			$(".selfGoodsColorSelect").each(function() {
+				if($(this).attr("cartDtlSq") > 0) {
+					cartDtlSqArr.push($(this).attr("cartDtlSq"));
+				}
+			});
+
+			data = {
+				  cartSq : cart.cartSq
+				, goodsCd : cart.goodsCd
+				, goodsType : cart.goodsType
+				, cartDtlSqArr : cartDtlSqArr
+				, itemCds : itemCds
+				, optCds : optCds
+				, goodsQty : $("input[name=goodsQty]").val()
+			}
+		} else {
+			optCds.push($(".selfGoodsColor").val());
+			itemCds.push(cart.goodsCd);
+			$(".selfGoodsColor option").each(function() {
+				if($(this).attr("data") > 0) {
+					cartDtlSqArr.push($(this).attr("data"));
+				}
+			});
+
+			data = {
+				cartSq : cart.cartSq
+				, goodsCd : cart.goodsCd
+				, goodsType : cart.goodsType
+				, cartDtlSqArr : cartDtlSqArr
+				, itemCds : itemCds
+				, optCds : optCds
+				, goodsQty : $("input[name=goodsQty]").val()
+			}
+		}
+
+		$.ajax( {
+			type: "POST",
+			url : '/cart/change/option',
+			contentType: 'application/json',
+			dataType : 'json',
+			data : JSON.stringify(data),
+			success : function(result) {
+				alert(result.message);
+				$(".closeCartOptionModal").trigger("click");
+				getCartList();
+			}
+		});
+	}
+</script>
+
+</div>
+<a href="#close-modal" rel="modal:close" class="close-modal closeCartOptionModal">Close</a>
+</html>

+ 520 - 321
src/main/webapp/WEB-INF/views/web/cart/CartListAjaxFormWeb.html

@@ -5,11 +5,11 @@
 
 	<!-- CONT-BODY -->
 	<div class="od_cont">
-		<div class="sec_head shotDelvSelect">
+		<div class="sec_head">
 			<div class="tbl type4">
 				<table>
 					<colgroup>
-						<col width="150">
+						<col width="170">
 						<col width="*">
 					</colgroup>
 					<tbody>
@@ -21,7 +21,7 @@
 							<div class="form_field">
 								<div>
 									<input type="radio" name="shotDelvUseYn" id="blt_ship1" value="Y" th:checked="${order.shotCanYn.equals('Y')}">
-									<label for="blt_ship1"><span><em class="tag">총알배송</em><span th:text="|${order.shotDelvDt}일 24:00 까지 도착|"></span></span></label>
+									<label for="blt_ship1"><span><em class="tag primary_line">총알배송</em><span th:text="|${order.shotDelvDt}일 24:00 까지 도착|"></span></span></label>
 								</div>
 								<div>
 									<input type="radio" name="shotDelvUseYn" id="blt_ship2" value="N" th:checked="${!order.shotCanYn.equals('Y')}">
@@ -35,277 +35,534 @@
 			</div>
 		</div>
 		<div class="sec_body">
-			<!-- 총알배송 -->
-			<div class="part_deliver wmsList" th:if="${wmsCartList != null and wmsCartList.size() > 0}">
-				<h3 class="subH2 mb20" th:if="${order.shotCanYn.equals('Y')}">
-					STYLE24 총알배송
-					<span class="ml10">오늘 자정까지 도착</span>
-				</h3>
-				<h3 class="subH2 mb20" th:if="${order.shotCanYn.equals('N')}">
-					STYLE24 일반배송
-				</h3>
-				<div class="tbl type2">
-					<table>
-						<colgroup>
-							<col width="900">
-							<col width="*">
-						</colgroup>
-						<tbody>
-						<th:block th:each="cart, status : ${wmsCartList}">
-							<tr class="cartInfo wmsCartInfo">
-								<input type="hidden" name="applyQtySectionYn" th:value="${cart.applyQtySectionYn}" />
-								<input type="hidden" name="applyAmtSectionYn" th:value="${cart.applyAmtSectionYn}" />
-								<input type="hidden" name="qtyTmtbSq" th:value="${cart.qtyTmtbSq}" />
-								<input type="hidden" name="qtyTmtbNm" th:value="${cart.qtyTmtbNm}" />
-								<input type="hidden" name="amtTmtbSq" th:value="${cart.amtTmtbSq}" />
-								<input type="hidden" name="amtTmtbNm" th:value="${cart.amtTmtbNm}" />
-								<input type="hidden" name="currPrice" th:value="${cart.currPrice}" />
-								<input type="hidden" name="soldoutYn" th:value="${cart.soldoutYn}" />
-								<input type="hidden" name="tmtbDcAmt" th:value="${cart.tmtbDcAmt}" />
-								<input type="hidden" name="cartSq" th:value="${cart.cartSq}" />
-
-								<td>
-									<!-- 주문가능 상품 -->
-									<div class="info_item" th:classappend="${cart.soldoutYn.equals('Y')} ? unable"> <!-- 주문불가시 class="unable" 추가 / 인풋, 버튼 disable 처리 -->
-										<div class="form_box">
-											<p class="form_field">
-												<input th:id="|od_item_${cart.cartSq}|" name="cartSqArr" type="checkbox" th:value="${cart.cartSq}" th:checked="${cart.soldoutYn.equals('N')}" th:disabled="${cart.soldoutYn.equals('Y')}"/>
-												<label th:for="|od_item_${cart.cartSq}|">
-													<span class="sr-only">상품선택</span>
-												</label>
-											</p>
+			<form class="form_wrap">
+				<div class="sec_select">
+					<div>
+						<div class="form_field">
+							<input id="od_item_all" type="checkbox"><label for="od_item_all"><span>전체선택</span></label>
+						</div>
+						<button type="button" class="btn btn_default btn_sm"><span>선택삭제</span></button>
+					</div>
+				</div>
+				<div class="sec_part">
+					<h3 class="subH2">
+						STYLE24 배송
+					</h3>
+					<div class="area_part">
+						<h4 class="subH2">
+							총알배송
+							<span class="tit_info">오늘 자정까지 도착</span>
+						</h4>
+						<div class="part_goods">
+							<div class="goods_cont">
+								<!-- 주문상품 -->
+								<th:block th:each="cart, status : ${wmsCartList}">
+									<div class="cartInfo goods_info wmsCartInfo">
+										<input type="hidden" name="applyQtySectionYn" th:value="${cart.applyQtySectionYn}" />
+										<input type="hidden" name="applyAmtSectionYn" th:value="${cart.applyAmtSectionYn}" />
+										<input type="hidden" name="qtyTmtbSq" th:value="${cart.qtyTmtbSq}" />
+										<input type="hidden" name="qtyTmtbNm" th:value="${cart.qtyTmtbNm}" />
+										<input type="hidden" name="amtTmtbSq" th:value="${cart.amtTmtbSq}" />
+										<input type="hidden" name="amtTmtbNm" th:value="${cart.amtTmtbNm}" />
+										<input type="hidden" name="currPrice" th:value="${cart.currPrice}" />
+										<input type="hidden" name="soldoutYn" th:value="${cart.soldoutYn}" />
+										<input type="hidden" name="tmtbDcAmt" th:value="${cart.tmtbDcAmt}" />
+										<input type="hidden" name="cartSq" th:value="${cart.cartSq}" />
+
+										<div class="order_desc">
+											<div class="form_box">
+												<div class="form_field">
+													<input th:id="|od_item_${cart.cartSq}|" name="cartSqArr" type="checkbox" th:value="${cart.cartSq}" th:checked="${cart.soldoutYn.equals('N')}" th:disabled="${cart.soldoutYn.equals('Y')}"/>
+													<label th:for="|od_item_${cart.cartSq}|">
+														<span class="sr-only">상품선택</span>
+													</label>
+												</div>
+											</div>
+											<div class="goods_box">
+												<div class="gd_item">
+													<a href="">
+														<span class="thumb">
+															<img th:src="${IMG_PATH} + '/' + ${cart.sysImgNm}" src="/" width="100%" alt="">
+														</span>
+														<p>
+															<span class="brand" th:text="|${cart.brandEnm} ${cart.brandKnm}|"></span>
+														</p>
+														<p>
+															<span class="name" th:text="${cart.goodsNm}"></span>
+														</p>
+													</a>
+												</div>
+												<div class="gd_opt">
+													<div class="option_wrap">
+														<span class="title sr-only">주문 옵션</span>
+														<th:block th:each="opt, index : ${cart.itemNmArr}">
+															<th:block th:if="${cart.goodsType.equals('G056_S')}">
+																<span class="option" th:text="${cart.itemNmArr[index.index]} + ' / ' + ${cart.colorNmArr[index.index]} + ' / ' + ${cart.optCd2Arr[index.index]}"></span>
+															</th:block>
+															<th:block th:if="${!cart.goodsType.equals('G056_S')}">
+																<span class="option" th:text="${cart.colorNmArr[index.index]} + ' / ' + ${cart.optCd2Arr[index.index]}"></span>
+															</th:block>
+														</th:block>
+													</div>
+												</div>
+												<div class="gd_calc">
+													<p>
+														<span class="count">수량&nbsp;<em th:text="${cart.goodsQty}"></em>개</span>
+													</p>
+												</div>
+												<div class="gd_exinfo">
+													<p th:if="${!#strings.isEmpty(cart.delvResDt)}"><span class="tag primary_line">총알배송</span><span th:text="|${cart.delvResDt} 배송예정|">2020.12.25 배송예정</span></p>
+													<p th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y')}"><span class="tag primary">SALE</span>다다익선 할인 적용</p>
+												</div>
+											</div>
+											<div class="calc_box">
+												<th:block  th:if="${cart.tmtbDcAmt < cart.currPrice}">
+													<p><span class="price_org"><em th:text="${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')}"></em>원</span></p>
+													<p><span class="price_sale"><em th:text="${#numbers.formatInteger(cart.tmtbDcAmt, 1, 'COMMA')}"></em>원</span></p>
+												</th:block>
+												<th:block th:if="${cart.tmtbDcAmt == cart.currPrice}">
+													<p><span class="price_sale"><em th:text="${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')}"></em>원</span></p>
+												</th:block>
+												<p>
+													<span class="point">
+														<em th:text="${#numbers.formatInteger(cart.savePntAmt, 1, 'COMMA')}"></em><stong>P</stong>&nbsp;적립예정
+													</span>
+												</p>
+											</div>
+											<div class="button_box">
+												<p th:if="${cart.soldoutYn.equals('Y')}"><button type="button" class="btn btn_dark btn_sm" disabled=""><span>구매 불가</span></button></p>
+												<p th:if="${cart.soldoutYn.equals('N')}"><button type="button" class="btn btn_primary btn_sm" th:onclick="|fnSubmitNoMember(${cart.cartSq})|"><span>바로 구매</span></button></p>
+
+												<p><button type="button" id="btn_opt_modify1" class="btn btn_default btn_sm" th:onclick="|fnChangeCartOptCd(${cart.cartSq})|"><span>옵션 / 수량 변경</span></button></p>
+												<div class="util">
+													<span>
+														<button type="button" class="btn_favorite" th:classappend="${cart.wishCnt > 0} ? active" onclick="cfnPutWishList(this)" th:goodsCd="${cart.goodsCd}" th:ithrCd="${cart.ithrCd}" th:contentsLoc="${cart.contentsLoc}">
+															<span><i class="ico ico_like2"></i><em class="sr-only">관심상품 추가</em></span>
+														</button>
+													</span>
+													<span>
+														<button type="button" class="btn_delete" th:onclick="|deleteCart(${cart.cartSq})|">
+															<span><i class="ico ico_trash"></i><em class="sr-only">상품삭제</em></span>
+														</button>
+													</span>
+												</div>
+											</div>
 										</div>
-										<div class="thumb_box">
-											<a href="">
-												<img th:src="${IMG_PATH} + '/' + ${cart.sysImgNm}" src="/" width="100%" alt="">
-											</a>
+									</div>
+								</th:block>
+								<!-- //주문상품 -->
+								<!-- 주문상품 -->
+								<div class="goods_info">
+									<div class="order_desc">
+										<div class="form_box">
+											<div class="form_field">
+												<input id="od_item_12" type="checkbox"><label for="od_item_12"><span class="sr-only">상품선택</span></label>
+											</div>
 										</div>
-										<div class="info_box">
-											<p class="od_name">
+										<div class="goods_box">
+											<div class="gd_item">
 												<a href="">
-													<span class="brand" th:text="|${cart.brandEnm} ${cart.brandKnm}|"></span>
-													<span th:if="${!#strings.isEmpty(cart.delvResDt)}" class="reserv_date" th:text="|${cart.delvResDt} 배송예정|"></span>
-													<span class="name" th:text="${cart.goodsNm}"></span>
+                                                                    <span class="thumb">
+                                                                        <img src="/images/pc/thumb/tmp_pdClickother1.jpg" width="100%" alt="">
+                                                                    </span>
+													<p>
+														<span class="brand">Mollimelli 몰리멜리</span>
+													</p>
+													<p>
+														<span class="name">남성 오버 소매배색 컬러가디건 (n205ap9829p)</span>
+													</p>
 												</a>
+											</div>
+											<div class="gd_opt">
+												<div class="option_wrap">
+													<span class="title sr-only">주문 옵션</span>
+													<span class="option">BLACK&nbsp;/&nbsp;XXL</span>
+												</div>
+											</div>
+											<div class="gd_calc">
+												<p>
+													<span class="count">수량&nbsp;<em>1</em>개</span>
+												</p>
+											</div>
+										</div>
+										<div class="calc_box">
+											<p>
+												<span class="price_org"><em>39,990</em>원</span>
 											</p>
-											<p class="od_opt" th:each="opt, index : ${cart.itemNmArr}">
-												<span class="option"><em th:text="${cart.itemNmArr[index.index]} + '_' + ${cart.optCdArr[index.index]}"></em></span>
-											</p>
-											<p class="od_opt">
-												<span class="count">수량:<em th:text="${cart.goodsQty}"></em>개</span>
-											</p>
-
-											<p class="od_modify">
-												<button type="button" class="btn_opt_pop" th:onclick="|changeCartOptCd(${cart.cartSq})|"><span>옵션/수량변경</span></button>
+											<p>
+												<span class="price_sale"><em>15,120</em>원</span>
+											<p>
+												<span class="point"><em>999,999</em><stong>P</stong>&nbsp;적립예정</span>
 											</p>
-											<!-- 다다익선 적용 -->
-											<div class="od_moresale applyTmtb" th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y')}">
-												<a href="" class="btn_moresale">
-													<i class="ico ico_saletag"></i><span>다다익선 할인적용!</span>
+										</div>
+										<div class="button_box">
+											<p><button type="button" class="btn btn_primary btn_sm"><span>바로 구매</span></button></p>
+											<p><button type="button" id="btn_opt_modify2" class="btn btn_default btn_sm"><span>옵션 / 수량 변경</span></button></p>
+											<div class="util">
+                                                                <span>
+                                                                    <button type="button" class="btn_favorite"><span><i class="ico ico_like2"></i><em class="sr-only">관심상품 추가</em></span></button>
+                                                                </span>
+												<span>
+                                                                    <button type="button" class="btn_delete"><span><i class="ico ico_trash"></i><em class="sr-only">상품삭제</em></span></button>
+                                                                </span>
+											</div>
+										</div>
+									</div>
+								</div>
+								<!-- //주문상품 -->
+							</div>
+						</div>
+					</div>
+					<div class="area_part">
+						<h4 class="subH2">
+							일반배송
+						</h4>
+						<div class="part_goods">
+							<div class="goods_cont">
+								<!-- 주문상품 -->
+								<div class="goods_info">
+									<div class="order_desc">
+										<div class="form_box">
+											<div class="form_field">
+												<input id="od_item_21" type="checkbox"><label for="od_item_21"><span class="sr-only">상품선택</span></label>
+											</div>
+										</div>
+										<div class="goods_box">
+											<div class="gd_item">
+												<a href="">
+                                                                    <span class="thumb">
+                                                                        <img src="/images/pc/thumb/tmp_pdClickother1.jpg" width="100%" alt="">
+                                                                    </span>
+													<p>
+														<span class="brand">Mollimelli 몰리멜리</span>
+													</p>
+													<p>
+														<span class="name">남성 오버 소매배색 싸이로 리얼 컬러 블록 세미오버핏 이중지 심플 기본 와이넥 원단추 캐시미어 굵은 꼬임 10종 컬러가디건 (n205ap9829p)</span>
+													</p>
 												</a>
-												<div class="li_moresale applyTmtbNm">
-													<ul>
-														<li th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y'}" th:text="${cart.qtyTmtbNm}"></li>
-														<li th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y'}" th:text="${cart.amtTmtbNm}"></li>
-													</ul>
+											</div>
+											<div class="gd_opt">
+												<div class="option_wrap">
+													<span class="title sr-only">주문 옵션</span>
+													<span class="option">슬림핏 마이크로 체크 네이비컬러 세미오버핏 이중 심플 기본 와이넥 원단추 캐시미어 굵은 스탠드카라 베이직 셋업수트 자켓&nbsp;/&nbsp;BLACK&nbsp;/&nbsp;XXL</span>
 												</div>
 											</div>
-											<!-- 다다익선 미적용 -->
-											<div class="od_moresale notApplyTmtb" th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N')}">
-												<a href="" class="btn_moresale">
-													<i class="ico ico_saletag"></i><span>다다익선 상품보기</span>
+											<div class="gd_calc">
+												<p>
+													<span class="count">수량&nbsp;<em>1</em>개</span>
+												</p>
+											</div>
+											<div class="gd_exinfo">
+												<p>2020.12.25 배송예정</p>
+												<p><a href="" class="btn_moresale"><span class="tag primary">SALE</span>다다익선 상품보기</a></p>
+											</div>
+										</div>
+										<div class="calc_box">
+											<p>
+												<span class="price_org"><em>39,990</em>원</span>
+											</p>
+											<p>
+												<span class="price_sale"><em>15,120</em>원</span>
+											<p>
+												<span class="point"><em>999,999</em><stong>P</stong>&nbsp;적립예정</span>
+											</p>
+										</div>
+										<div class="button_box">
+											<button type="button" class="btn btn_primary btn_sm"><span>바로 구매</span></button>
+											<p><button type="button" class="btn btn_default btn_sm"><span>옵션 / 수량 변경</span></button></p>
+											<div class="util">
+                                                                <span>
+                                                                    <button type="button" class="btn_favorite"><span><i class="ico ico_like2"></i><em class="sr-only">관심상품 추가</em></span></button>
+                                                                </span>
+												<span>
+                                                                    <button type="button" class="btn_delete"><span><i class="ico ico_trash"></i><em class="sr-only">상품삭제</em></span></button>
+                                                                </span>
+											</div>
+										</div>
+									</div>
+								</div>
+								<!-- //주문상품 -->
+								<!-- 주문상품 -->
+								<div class="goods_info">
+									<div class="order_desc">
+										<div class="form_box">
+											<div class="form_field">
+												<input id="od_item_22" type="checkbox"><label for="od_item_22"><span class="sr-only">상품선택</span></label>
+											</div>
+										</div>
+										<div class="goods_box">
+											<div class="gd_item">
+												<a href="">
+                                                                    <span class="thumb">
+                                                                        <img src="/images/pc/thumb/tmp_pdClickother1.jpg" width="100%" alt="">
+                                                                    </span>
+													<p>
+														<span class="brand">Mollimelli 몰리멜리</span>
+													</p>
+													<p>
+														<span class="name">남성 오버 소매배색 컬러가디건 (n205ap9829p)</span>
+													</p>
 												</a>
-												<div class="li_moresale notApplyTmtbNm">
-													<ul>
-														<li th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N'}" th:inline="text">[[${cart.qtyTmtbNm}]]<a href=''>대상 상품 보기</a></li>
-														<li th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N'}" th:inline="text">[[${cart.amtTmtbNm}]]<a href=''>대상 상품 보기</a></li>
-													</ul>
+											</div>
+											<div class="gd_opt">
+												<div class="option_wrap">
+													<span class="title sr-only">주문 옵션</span>
+													<span class="option">BLACK&nbsp;/&nbsp;XXL</span>
 												</div>
 											</div>
-											<!-- 주문불가시 안내추가 -->
-											<div class="info_unable" th:if="${cart.soldoutYn.equals('Y')}">
-												해당상품은 구매가 불가능한 상품입니다. / 상품이 품절되었습니다.
+											<div class="gd_calc">
+												<p>
+													<span class="count">수량&nbsp;<em>1</em>개</span>
+												</p>
 											</div>
-											<!-- //주문불가시 안내추가 -->
 										</div>
-										<div class="info_calc">
-											<p class="price" th:if="${cart.tmtbDcAmt < cart.currPrice}">
-												<span class="selling_price" th:text="|${#numbers.formatInteger(cart.tmtbDcAmt, 1, 'COMMA')} 원|"></span>
-												<del th:text="|${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')} 원|"></del>
-											</p>
-											<p class="price" th:if="${cart.tmtbDcAmt == cart.currPrice}">
-												<span class="selling_price" th:text="|${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')} 원|"></span>
+										<div class="calc_box">
+											<p>
+												<span class="price_org"><em>39,990</em>원</span>
 											</p>
-											<p class="point"><span th:text="${#numbers.formatInteger(cart.savePntAmt, 1, 'COMMA')}"></span>p 적립예정</p>
 											<p>
-												<button th:if="${cart.soldoutYn.equals('Y')}" type="button" class="btn btn_sm" disabled><span>구매불가</span></button>
-												<button th:if="${cart.soldoutYn.equals('N')}" type="button" class="btn btn_primary btn_sm" th:onclick="|submitNoMember(${cart.cartSq})|"><span>즉시구매</span></button>
+												<span class="price_sale"><em>15,120</em>원</span>
+											<p>
+												<span class="point"><em>999,999</em><stong>P</stong>&nbsp;적립예정</span>
 											</p>
-											<p class="util">
-										<span>
-											<button type="button" class="btn_favorite" th:classappend="${cart.wishCnt > 0} ? active" onclick="cfnPutWishList(this)" th:goodsCd="${cart.goodsCd}" th:ithrCd="${cart.ithrCd}" th:contentsLoc="${cart.contentsLoc}">
-												<span>
-													<i class="ico ico_like2"></i>
-													<em class="sr-only">관심상품 추가</em>
-												</span>
-											</button>
-										</span>
+										</div>
+										<div class="button_box">
+											<p><button type="button" class="btn btn_primary btn_sm"><span>바로 구매</span></button></p>
+											<p><button type="button" class="btn btn_default btn_sm"><span>옵션 / 수량 변경</span></button></p>
+											<div class="util">
+                                                                <span>
+                                                                    <button type="button" class="btn_favorite"><span><i class="ico ico_like2"></i><em class="sr-only">관심상품 추가</em></span></button>
+                                                                </span>
 												<span>
-											<button type="button" class="btn_delete" th:onclick="|deleteCart(${cart.cartSq})|"><span><i class="ico ico_trash"></i><em class="sr-only">상품삭제</em></span></button>
-										</span>
-											</p>
+                                                                    <button type="button" class="btn_delete"><span><i class="ico ico_trash"></i><em class="sr-only">상품삭제</em></span></button>
+                                                                </span>
+											</div>
 										</div>
 									</div>
-									<!-- //주문가능 상품 -->
-								</td>
-								<td class="merge_row delvFeeArea" th:classappend="|delv_${cart.delvFeeCd}|" th:if="${cart.firstCompYn == 'Y'}" th:rowspan="${wmsCartList.size()}"> <!-- 같은 데이터 노출시 동일 영역끼리 병합 : 클래스명 merge_row 추가 -->
-									<div class="info_dlvr">
-										<span class="dlvr_fee" th:if="${cart.delvFee == 0}">배송비 무료</span>
-										<span class="dlvr_fee" th:if="${cart.delvFee > 0}" th:text="|배송비 ${#numbers.formatInteger(cart.delvFee, 1, 'COMMA')} 원|"></span>
-										<a href="#" target="_blank" th:if="${cart.delvFee > 0}">배송비 SAVE 상품 보기</a>
-									</div>
-								</td>
-							</tr>
-						</th:block>
-						</tbody>
-					</table>
-				</div>
-				<div class="btn_area">
-					<button type="button" class="btn btn_default" onclick="deleteCart('WMS_SELECT')"><span>선택 삭제</span></button>
-					<button type="button" class="btn btn_default" onclick="deleteCart('WMS_ALL')"><span>전체 삭제</span></button>
+								</div>
+								<!-- //주문상품 -->
+							</div>
+							<div class="goods_foot"> <!-- 일반배송 테이블에만 .goods_foot -->
+								<div class="order_delivery">
+									<span class="dlvr_fee">배송비 무료</span>
+								</div>
+							</div>
+						</div>
+					</div>
 				</div>
-			</div>
-			<!-- //총알배송 -->
-
-			<!-- 업체직배송 -->
-			<div class="part_deliver delvList" th:if="${delvCartList != null and delvCartList.size() > 0}">
-				<h3 class="subH2 mb20">
-					업체직배송
-				</h3>
-				<div class="tbl type2">
-					<table>
-						<colgroup>
-							<col width="900">
-							<col width="*">
-						</colgroup>
-						<tbody>
-						<th:block th:each="cart, status : ${delvCartList}">
-							<tr class="cartInfo delvCartInfo">
-								<input type="hidden" name="applyQtySectionYn" th:value="${cart.applyQtySectionYn}" />
-								<input type="hidden" name="applyAmtSectionYn" th:value="${cart.applyAmtSectionYn}" />
-								<input type="hidden" name="qtyTmtbSq" th:value="${cart.qtyTmtbSq}" />
-								<input type="hidden" name="qtyTmtbNm" th:value="${cart.qtyTmtbNm}" />
-								<input type="hidden" name="amtTmtbSq" th:value="${cart.amtTmtbSq}" />
-								<input type="hidden" name="amtTmtbNm" th:value="${cart.amtTmtbNm}" />
-								<input type="hidden" name="currPrice" th:value="${cart.currPrice}" />
-								<input type="hidden" name="soldoutYn" th:value="${cart.soldoutYn}" />
-								<input type="hidden" name="tmtbDcAmt" th:value="${cart.tmtbDcAmt}" />
-								<input type="hidden" name="cartSq" th:value="${cart.cartSq}" />
-
-								<td>
-									<div class="info_item" th:classappend="${cart.soldoutYn.equals('Y')} ? unable">
+				<div class="sec_part">
+					<h3 class="subH2">업체직배송</h3>
+					<div class="area_part">
+						<div class="part_goods">
+							<div class="goods_cont">
+								<!-- 주문상품 -->
+								<div class="goods_info">
+									<div class="order_desc">
 										<div class="form_box">
-											<p class="form_field">
-												<input th:id="|od_item_${cart.cartSq}|" name="cartSqArr" type="checkbox" th:value="${cart.cartSq}" th:checked="${cart.soldoutYn.equals('N')}" th:disabled="${cart.soldoutYn.equals('Y')}"/>
-												<label th:for="|od_item_${cart.cartSq}|">
-													<span class="sr-only">상품선택</span>
-												</label>
-											</p>
-										</div>
-										<div class="thumb_box">
-											<a href="">
-												<img th:src="${IMG_PATH} + '/' + ${cart.sysImgNm}" src="/" width="100%" alt="">
-											</a>
+											<div class="form_field">
+												<input id="od_item_31" type="checkbox"><label for="od_item_31"><span class="sr-only">상품선택</span></label>
+											</div>
 										</div>
-										<div class="info_box">
-											<p class="od_name">
+										<div class="goods_box">
+											<div class="gd_item">
 												<a href="">
-													<span class="brand" th:text="|${cart.brandEnm} ${cart.brandKnm}|"></span>
-													<span class="name" th:text="${cart.goodsNm}"></span>
+                                                                    <span class="thumb">
+                                                                        <img src="/images/pc/thumb/tmp_pdClickother1.jpg" width="100%" alt="">
+                                                                    </span>
+													<p>
+														<span class="brand">Mollimelli 몰리멜리</span>
+													</p>
+													<p>
+														<span class="name">남성 오버 소매배색 싸이로 리얼 컬러 블록 세미오버핏 이중지 심플 기본 와이넥 원단추 캐시미어 굵은 꼬임 10종 컬러가디건 (n205ap9829p)</span>
+													</p>
 												</a>
+											</div>
+											<div class="gd_opt">
+												<div class="option_wrap">
+													<span class="title sr-only">주문 옵션</span>
+													<span class="option">슬림핏 마이크로 체크 네이비컬러 세미오버핏 이중 심플 기본 와이넥 원단추 캐시미어 굵은 스탠드카라 베이직 셋업수트 자켓&nbsp;/&nbsp;BLACK&nbsp;/&nbsp;XXL</span>
+												</div>
+											</div>
+											<div class="gd_calc">
+												<p>
+													<span class="count">수량&nbsp;<em>1</em>개</span>
+												</p>
+											</div>
+											<div class="gd_exinfo">
+												<p><a href="" class="btn_moresale"><span class="tag primary">SALE</span>다다익선 상품보기</a></p>
+												<p>2021.03.03 배송예정</p>
+											</div>
+										</div>
+										<div class="calc_box">
+											<p>
+												<span class="price_org"><em>39,990</em>원</span>
 											</p>
-											<p class="od_opt" th:each="opt, index : ${cart.itemNmArr}">
-												<span class="option"><em th:text="${cart.itemNmArr[index.index]} + '_' + ${cart.optCdArr[index.index]}"></em></span>
-											</p>
-											<p class="od_opt">
-												<span class="count">수량:<em th:text="${cart.goodsQty}"></em>개</span>
-											</p>
-											<p class="od_modify">
-												<button type="button" class="btn_opt_pop" th:onclick="|changeCartOptCd(${cart.cartSq})|"><span>옵션/수량변경</span></button>
+											<p>
+												<span class="price_sale"><em>15,120</em>원</span>
+											<p>
+												<span class="point"><em>999,999</em><stong>P</stong>&nbsp;적립예정</span>
 											</p>
-											<!-- 다다익선 적용 -->
-											<div class="od_moresale applyTmtb" th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y')}">
-												<a href="" class="btn_moresale">
-													<i class="ico ico_saletag"></i><span>다다익선 할인적용!</span>
+										</div>
+										<div class="button_box">
+											<p><button type="button" class="btn btn_primary btn_sm"><span>바로 구매</span></button></p>
+											<p><button type="button" class="btn btn_default btn_sm"><span>옵션 / 수량 변경</span></button></p>
+											<div class="util">
+                                                                <span>
+                                                                    <button type="button" class="btn_favorite"><span><i class="ico ico_like2"></i><em class="sr-only">관심상품 추가</em></span></button>
+                                                                </span>
+												<span>
+                                                                    <button type="button" class="btn_delete"><span><i class="ico ico_trash"></i><em class="sr-only">상품삭제</em></span></button>
+                                                                </span>
+											</div>
+										</div>
+									</div>
+								</div>
+								<!-- //주문상품 -->
+								<!-- 주문상품 -->
+								<div class="goods_info">
+									<div class="order_desc">
+										<div class="form_box">
+											<div class="form_field">
+												<input id="od_item_32" type="checkbox"><label for="od_item_32"><span class="sr-only">상품선택</span></label>
+											</div>
+										</div>
+										<div class="goods_box">
+											<div class="gd_item">
+												<a href="">
+                                                                    <span class="thumb">
+                                                                        <img src="/images/pc/thumb/tmp_pdClickother1.jpg" width="100%" alt="">
+                                                                    </span>
+													<p>
+														<span class="brand">Mollimelli 몰리멜리</span>
+													</p>
+													<p>
+														<span class="name">남성 오버 소매배색 컬러가디건 (n205ap9829p)</span>
+													</p>
 												</a>
-												<div class="li_moresale applyTmtbNm">
-													<ul>
-														<li th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y'}" th:text="${cart.qtyTmtbNm}"></li>
-														<li th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y'}" th:text="${cart.amtTmtbNm}"></li>
-													</ul>
+											</div>
+											<div class="gd_opt">
+												<div class="option_wrap">
+													<span class="title sr-only">주문 옵션</span>
+													<span class="option">BLACK&nbsp;/&nbsp;XXL</span>
 												</div>
 											</div>
-											<!-- 다다익선 미적용 -->
-											<div class="od_moresale notApplyTmtb" th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N')}">
-												<a href="" class="btn_moresale">
-													<i class="ico ico_saletag"></i><span>다다익선 상품보기</span>
+											<div class="gd_calc">
+												<p>
+													<span class="count">수량&nbsp;<em>1</em>개</span>
+												</p>
+											</div>
+											<div class="gd_exinfo">
+												<p>해당 상품은 구매 불가능한 상품입니다.</p>
+											</div>
+										</div>
+										<div class="calc_box">
+											<p>
+												<span class="price_org"><em>39,990</em>원</span>
+											</p>
+											<p>
+												<span class="price_sale"><em>15,120</em>원</span>
+											<p>
+												<span class="point"><em>999,999</em><stong>P</stong>&nbsp;적립예정</span>
+											</p>
+										</div>
+										<div class="button_box">
+											<p><button type="button" class="btn btn_dark btn_sm" disabled=""><span>구매 불가</span></button></p>
+											<p><button type="button" class="btn btn_default btn_sm"><span>옵션 / 수량 변경</span></button></p>
+											<div class="util">
+                                                                <span>
+                                                                    <button type="button" class="btn_favorite"><span><i class="ico ico_like2"></i><em class="sr-only">관심상품 추가</em></span></button>
+                                                                </span>
+												<span>
+                                                                    <button type="button" class="btn_delete"><span><i class="ico ico_trash"></i><em class="sr-only">상품삭제</em></span></button>
+                                                                </span>
+											</div>
+										</div>
+									</div>
+								</div>
+								<!-- //주문상품 -->
+							</div>
+							<div class="goods_foot">
+								<div class="order_delivery">
+									<span class="dlvr_fee">배송비&nbsp;<em>3,000</em>원</span>
+									<span class="dlvr_shop"><em>TBJ</em>&nbsp;업체직배송</span>
+									<a href="#" class="btn_popup_save">배송비 SAVE 상품 보기</a>
+								</div>
+							</div>
+						</div>
+						<div class="part_goods">
+							<div class="goods_cont">
+								<!-- 주문상품 -->
+								<div class="goods_info">
+									<div class="order_desc">
+										<div class="form_box">
+											<div class="form_field">
+												<input id="od_item_33" type="checkbox"><label for="od_item_33"><span class="sr-only">상품선택</span></label>
+											</div>
+										</div>
+										<div class="goods_box">
+											<div class="gd_item">
+												<a href="">
+                                                                    <span class="thumb">
+                                                                        <img src="/images/pc/thumb/tmp_pdClickother1.jpg" width="100%" alt="">
+                                                                    </span>
+													<p>
+														<span class="brand">Mollimelli 몰리멜리</span>
+													</p>
+													<p>
+														<span class="name">남성 오버 소매배색 싸이로 리얼 컬러 블록 세미오버핏 이중지 심플 기본 와이넥 원단추 캐시미어 굵은 꼬임 10종 컬러가디건 (n205ap9829p)</span>
+													</p>
 												</a>
-												<div class="li_moresale notApplyTmtbNm">
-													<ul>
-														<li th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N'}" th:text="${cart.qtyTmtbNm}"><a href="">대상 상품 보기</a></li>
-														<li th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N'}" th:text="${cart.amtTmtbNm}"><a href="">대상 상품 보기</a></li>
-													</ul>
+											</div>
+											<div class="gd_opt">
+												<div class="option_wrap">
+													<span class="title sr-only">주문 옵션</span>
+													<span class="option">슬림핏 마이크로 체크 네이비컬러 세미오버핏 이중 심플 기본 와이넥 원단추 캐시미어 굵은 스탠드카라 베이직 셋업수트 자켓&nbsp;/&nbsp;BLACK&nbsp;/&nbsp;XXL</span>
 												</div>
 											</div>
-											<!-- 주문불가시 안내추가 -->
-											<div class="info_unable" th:if="${cart.soldoutYn.equals('Y')}">
-												해당상품은 구매가 불가능한 상품입니다. / 상품이 품절되었습니다.
+											<div class="gd_calc">
+												<p>
+													<span class="count">수량&nbsp;<em>1</em>개</span>
+												</p>
+											</div>
+											<div class="gd_exinfo">
+												<p><a href="" class="btn_moresale"><span class="tag primary">SALE</span>다다익선 상품보기</a></p>
 											</div>
-											<!-- //주문불가시 안내추가 -->
 										</div>
-										<div class="info_calc">
-											<p class="price" th:if="${cart.tmtbDcAmt < cart.currPrice}">
-												<span class="selling_price" th:text="|${#numbers.formatInteger(cart.tmtbDcAmt, 1, 'COMMA')} 원|"></span>
-												<del th:text="|${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')} 원|"></del>
-											</p>
-											<p class="price" th:if="${cart.tmtbDcAmt == cart.currPrice}">
-												<span class="selling_price" th:text="|${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')} 원|"></span>
+										<div class="calc_box">
+											<p>
+												<span class="price_org"><em>39,990</em>원</span>
 											</p>
-											<p class="point"><span th:text="${#numbers.formatInteger(cart.savePntAmt, 1, 'COMMA')}"></span>p 적립예정</p>
 											<p>
-												<button th:if="${cart.soldoutYn.equals('Y')}" type="button" class="btn btn_sm" disabled><span>구매불가</span></button>
-												<button th:if="${cart.soldoutYn.equals('N')}" type="button" class="btn btn_primary btn_sm" th:onclick="|submitNoMember(${cart.cartSq})|"><span>즉시구매</span></button>
+												<span class="price_sale"><em>15,120</em>원</span>
+											<p>
+												<span class="point"><em>999,999</em><stong>P</stong>&nbsp;적립예정</span>
 											</p>
-											<p class="util">
-										<span>
-											<button type="button" class="btn_favorite" th:classappend="${cart.wishCnt > 0} ? active" onclick="cfnPutWishList(this)" th:goodsCd="${cart.goodsCd}" th:ithrCd="${cart.ithrCd}" th:contentsLoc="${cart.contentsLoc}"><span><i class="ico ico_like2"></i><em class="sr-only">관심상품 추가</em></span></button>
-										</span>
+										</div>
+										<div class="button_box">
+											<p><button type="button" class="btn btn_primary btn_sm"><span>바로 구매</span></button></p>
+											<p><button type="button" class="btn btn_default btn_sm"><span>옵션 / 수량 변경</span></button></p>
+											<div class="util">
+                                                                <span>
+                                                                    <button type="button" class="btn_favorite"><span><i class="ico ico_like2"></i><em class="sr-only">관심상품 추가</em></span></button>
+                                                                </span>
 												<span>
-											<button type="button" class="btn_delete" th:onclick="|deleteCart(${cart.cartSq})|"><span><i class="ico ico_trash"></i><em class="sr-only">상품삭제</em></span></button>
-										</span>
-											</p>
+                                                                    <button type="button" class="btn_delete"><span><i class="ico ico_trash"></i><em class="sr-only">상품삭제</em></span></button>
+                                                                </span>
+											</div>
 										</div>
 									</div>
-								</td>
-								<td class="merge_row delvFeeArea" th:classappend="|delv_${cart.delvFeeCd}|" th:if="${cart.firstCompYn == 'Y'}" th:rowspan="${cart.compCnt}"> <!-- 같은 데이터 노출시 동일 영역끼리 병합 : 클래스명 merge_row 추가 -->
-									<div class="info_dlvr">
-										<span class="dlvr_fee" th:if="${cart.delvFee == 0}">배송비 무료</span>
-										<span class="dlvr_fee" th:if="${cart.delvFee > 0}" th:text="|배송비 ${#numbers.formatInteger(cart.delvFee, 1, 'COMMA')} 원|"></span>
-										<span class="dlvr_shop" th:text="|${cart.supplyCompNm} 업체직배송|"></span>
-										<a href="#" target="_blank" th:if="${cart.delvFee > 0}">배송비 SAVE 상품 보기</a>
-									</div>
-								</td>
-							</tr>
-						</th:block>
-						</tbody>
-					</table>
-				</div>
-				<div class="btn_area">
-					<button type="button" class="btn btn_default" onclick="deleteCart('DELV_SELECT')"><span>선택 삭제</span></button>
-					<button type="button" class="btn btn_default" onclick="deleteCart('DELV_ALL')"><span>전체 삭제</span></button>
+								</div>
+								<!-- //주문상품 -->
+							</div>
+							<div class="goods_foot">
+								<div class="order_delivery">
+									<span class="dlvr_fee">배송비&nbsp;무료</span>
+								</div>
+							</div>
+						</div>
+					</div>
 				</div>
-			</div>
-			<!-- //업체직배송 -->
+			</form>
 		</div>
 	</div>
 	<div class="od_side">
@@ -313,33 +570,33 @@
 			<div class="tit_box">
 				<h3>결제 정보</h3>
 				<span>
-				<em class="number" th:text="${order.totCartCnt}"></em>개의 상품
-			</span>
+                                    <em class="number">14</em>개의 상품
+                                </span>
 			</div>
 			<div class="od_amount_box">
 				<dl>
 					<div>
 						<dt>상품금액</dt>
-						<dd><em class="sumCurrPrice" th:text="${#numbers.formatInteger(order.sumOrdAmt, 1, 'COMMA')}"></em> 원</dd>
+						<dd><em>1,746,500</em>원</dd>
 					</div>
 					<div>
 						<dt>배송비</dt>
-						<dd><em class="totDelvFee" th:text="${#numbers.formatInteger(order.totDelvFee, 1, 'COMMA')}"></em> 원</dd>
+						<dd><em>0</em>원</dd>
 					</div>
 					<div>
 						<dt>할인금액</dt>
-						<dd><span class="disc_amount"><em class="totDcAmt" id="totDcAmt" th:text="${#numbers.formatInteger(order.totDcAmt, 1, 'COMMA')}"></em> 원</span></dd>
+						<dd><span class="disc_amount"><em>-46,500</em>원</span></dd>
 					</div>
 				</dl>
 			</div>
 			<div class="totalprice_box">
 				<dl>
 					<dt>총 결제 예정 금액</dt>
-					<dd data-weight="price" data-font="lato"><span class="sumRealPayAmt" id="sumRealPayAmt" th:text="${#numbers.formatInteger(order.sumRealPayAmt + order.totDelvFee, 1, 'COMMA')}"></span> 원</dd>
+					<dd><span>1,700,000</span>원</dd>
 				</dl>
 			</div>
 			<div class="btn_box">
-				<button class="btn btn_primary btn_block btn_md"><span>주문하기</span></button>
+				<button class="btn btn_primary btn_block btn_md" onclick="fnSubmitNoMember('all')"><span>구매하기</span></button>
 			</div>
 		</div>
 		<div class="area_salecoupon">
@@ -347,44 +604,34 @@
 			<div class="form_field">
 				<div class="input_wrap form_full">
 					<label class="input_label sr-only">할인코드입력</label>
-					<input type="text" id="serialCpnNm" class="form_control" placeholder="할인코드를 입력해주세요.">
+					<input type="text" class="form_control" placeholder="할인코드를 입력해주세요.">
 				</div>
-				<button type="button" class="btn btn_dark btn_default" onclick="serialCpnApply()"><span>적용</span></button>
+				<button type="button" class="btn btn_dark btn_sm"><span>적용</span></button>
 			</div>
 			<div class="coupon_box">
 				<div class="coupon">
 					<div>
-						<p class="cp_name"></p>
+						<p class="cp_name">
+							TBJ 시즌오프 20% 할인쿠폰
+						</p>
 						<p class="cp_cont">
-							<!--<span><em>12,399,900</em>원</span>
-							<span><em>40%</em></span>-->
-							<span class="cp_dc_val"></span>
+							<span><em>12,399,900</em>원</span>
+							<span><em>40</em>%</span>
 						</p>
 						<p class="cp_condition">
-							<!--500,000원 이상 구매 시 최대 50,000원 할인
-							<span><em class="tag">99장 보유</em></span>-->
+							500,000원 이상 구매 시 최대 50,000원 할인
+							<span><em class="tag primary_line">99장 보유</em></span>
 						</p>
 					</div>
 					<p class="cp_date">
-						<span class="availStdt"></span>&nbsp;~&nbsp;<span class="availEddt"></span>
+						<span>2021.01.01</span>&nbsp;~&nbsp;<span>2021.12.30</span>
 					</p>
-					<button type="button" class="btn_close_code" onClick="cancelCartCpn()">
-					<span>
-						<i class="ico ico_close1"></i>
-						<em class="sr-only">닫기</em>
-					</span>
-					</button>
-				</div>
-				<div class="info_coupon">
-					<button type="button" id="btn_cpinfo_pop">
-						<span>쿠폰 사용안내</span>
-					</button>
 				</div>
+				<button type="button" class="btn_underline" id="btn_couponInfo_pop">
+					<span>사용안내</span>
+				</button>
 			</div>
 		</div>
-		<div class="area_saleitem">
-
-		</div>
 	</div>
 	<div class="clear"></div>
 	<!-- // CONT-BODY -->
@@ -413,10 +660,7 @@
 	}
 
 	$(document).ready(function() {
-		/*
-		alert("a");
-		
-		let compsList = [];
+		/*let compsList = [];
 		let temp 			= new Object;
 		temp.goodsCd 		= "10770353";
 		temp.optCd 			= "9383682-1";
@@ -428,10 +672,7 @@
 		temp.contentsLoc 	= "G028_YYY";
 		temp.planDtlSq 		= "123";
 		compsList.push(temp);
-		cfnAddCart(compsList);
-		
-		alert("b");
-		*/
+		cfnAddCart(compsList);*/
 		
 		
 		
@@ -990,7 +1231,7 @@
 	}
 
 	//옵션변경 팝업열기
-	function changeCartOptCd(cartSq) {
+	function fnChangeCartOptCd(cartSq) {
 		$.ajax( {
 			type: "POST",
 			url : '/cart/goods/info',
@@ -1004,7 +1245,14 @@
 		});
 	}
 
-	function submitNoMember(cartSq) {
+	// 상품상세 페이지 이동 처리
+	var fnGoToGoodsDetail = function(param) {
+		let goodsCd = $(param).attr('goodsCd');
+		cfnGoToPage(_PAGE_GOODS_DETAIL + goodsCd);
+	}
+
+	// 주문하기
+	function fnSubmitNoMember(cartSq) {
 		if(cartSq == "all") {
 			$("#cartListForm").submit();
 		} else {
@@ -1015,53 +1263,4 @@
 		}
 	}
 </script>
-
-
-
-
-
-<form id="order_info" name="order_info" method="post" action="/order/pay/result/response" ></form>
-<input type="button" id="buyBtn" value="KCP TEST" style="width:100px;height:200px;" />
-<script type="text/javascript">
-	$(document).on("click", "#buyBtn", function() {
-		let orderData = {
-			  pgGb		: "KCP"
-			, payMeans	: "G014_10"
-			, ordNo		: "1"
-			, goodsNm	: "상품 테스트"
-			, payAmt	: "1233"
-			, ordNm		: "이태영"
-			, ordEmail	: "xodud1202@naver.com"
-			, ordTelno	: "02-0000-0000"
-			, ordPhnno	: "010-7111-4489"
-		};
-
-		let jsonData = JSON.stringify(orderData);
-
-		$.ajax( {
-			type		: "POST",
-			url			: '/order/create/preOrder',
-			data		: jsonData,
-			dataType	: 'html',
-			beforeSend : function(xhr, settings) {
-				xhr.setRequestHeader("AJAX"			, "true");
-				xhr.setRequestHeader('Accept'		, 'application/json');
-				xhr.setRequestHeader('Content-Type'	, 'application/json');
-				gagajf.showProgressbar(true);
-			},
-			error : function(e) {
-				alert(3);
-			},
-			success 	: function(result) {
-				// 결재정보로드
-				$("#order_info").html(result);
-				//kcp_AJAX();
-				jsf__pay(document.order_info);
-				//fnKakaoPaymentReady();
-				//fnNaverPaymentReady();
-			}
-		});
-	});
-</script>
-
 </html>

+ 1019 - 0
src/main/webapp/WEB-INF/views/web/cart/CartListAjaxFormWeb_20210319.html

@@ -0,0 +1,1019 @@
+<html lang="ko"
+	  xmlns:th="http://www.thymeleaf.org">
+<form id="cartListForm" method="post" action="/order/noMember">
+	<!--<input type="hidden" name="cartCpnDcAmt" id="cartCpnDcAmt" th:value="${param.cartCpnDcAmt}" />-->
+
+	<!-- CONT-BODY -->
+	<div class="od_cont">
+		<div class="sec_head shotDelvSelect">
+			<div class="tbl type4">
+				<table>
+					<colgroup>
+						<col width="150">
+						<col width="*">
+					</colgroup>
+					<tbody>
+					<tr>
+						<th>
+							배송방법 선택
+						</th>
+						<td>
+							<div class="form_field">
+								<div>
+									<input type="radio" name="shotDelvUseYn" id="blt_ship1" value="Y" th:checked="${order.shotCanYn.equals('Y')}">
+									<label for="blt_ship1"><span><em class="tag">총알배송</em><span th:text="|${order.shotDelvDt}일 24:00 까지 도착|"></span></span></label>
+								</div>
+								<div>
+									<input type="radio" name="shotDelvUseYn" id="blt_ship2" value="N" th:checked="${!order.shotCanYn.equals('Y')}">
+									<label for="blt_ship2"><span>총알 배송 안함</span></label>
+								</div>
+							</div>
+						</td>
+					</tr>
+					</tbody>
+				</table>
+			</div>
+		</div>
+		<div class="sec_body">
+			<!-- 총알배송 -->
+			<div class="part_deliver wmsList" th:if="${wmsCartList != null and wmsCartList.size() > 0}">
+				<h3 class="subH2 mb20" th:if="${order.shotCanYn.equals('Y')}">
+					STYLE24 총알배송
+					<span class="ml10">오늘 자정까지 도착</span>
+				</h3>
+				<h3 class="subH2 mb20" th:if="${order.shotCanYn.equals('N')}">
+					STYLE24 일반배송
+				</h3>
+				<div class="tbl type2">
+					<table>
+						<colgroup>
+							<col width="900">
+							<col width="*">
+						</colgroup>
+						<tbody>
+						<th:block th:each="cart, status : ${wmsCartList}">
+							<tr class="cartInfo wmsCartInfo">
+								<input type="hidden" name="applyQtySectionYn" th:value="${cart.applyQtySectionYn}" />
+								<input type="hidden" name="applyAmtSectionYn" th:value="${cart.applyAmtSectionYn}" />
+								<input type="hidden" name="qtyTmtbSq" th:value="${cart.qtyTmtbSq}" />
+								<input type="hidden" name="qtyTmtbNm" th:value="${cart.qtyTmtbNm}" />
+								<input type="hidden" name="amtTmtbSq" th:value="${cart.amtTmtbSq}" />
+								<input type="hidden" name="amtTmtbNm" th:value="${cart.amtTmtbNm}" />
+								<input type="hidden" name="currPrice" th:value="${cart.currPrice}" />
+								<input type="hidden" name="soldoutYn" th:value="${cart.soldoutYn}" />
+								<input type="hidden" name="tmtbDcAmt" th:value="${cart.tmtbDcAmt}" />
+								<input type="hidden" name="cartSq" th:value="${cart.cartSq}" />
+
+								<td>
+									<!-- 주문가능 상품 -->
+									<div class="info_item" th:classappend="${cart.soldoutYn.equals('Y')} ? unable"> <!-- 주문불가시 class="unable" 추가 / 인풋, 버튼 disable 처리 -->
+										<div class="form_box">
+											<p class="form_field">
+												<input th:id="|od_item_${cart.cartSq}|" name="cartSqArr" type="checkbox" th:value="${cart.cartSq}" th:checked="${cart.soldoutYn.equals('N')}" th:disabled="${cart.soldoutYn.equals('Y')}"/>
+												<label th:for="|od_item_${cart.cartSq}|">
+													<span class="sr-only">상품선택</span>
+												</label>
+											</p>
+										</div>
+										<div class="thumb_box">
+											<a href="">
+												<img th:src="${IMG_PATH} + '/' + ${cart.sysImgNm}" src="/" width="100%" alt="">
+											</a>
+										</div>
+										<div class="info_box">
+											<p class="od_name">
+												<a href="">
+													<span class="brand" th:text="|${cart.brandEnm} ${cart.brandKnm}|"></span>
+													<span th:if="${!#strings.isEmpty(cart.delvResDt)}" class="reserv_date" th:text="|${cart.delvResDt} 배송예정|"></span>
+													<span class="name" th:text="${cart.goodsNm}"></span>
+												</a>
+											</p>
+											<p class="od_opt" th:each="opt, index : ${cart.itemNmArr}">
+												<span class="option"><em th:text="${cart.itemNmArr[index.index]} + '_' + ${cart.optCdArr[index.index]}"></em></span>
+											</p>
+											<p class="od_opt">
+												<span class="count">수량:<em th:text="${cart.goodsQty}"></em>개</span>
+											</p>
+
+											<p class="od_modify">
+												<button type="button" class="btn_opt_pop" th:onclick="|fnChangeCartOptCd(${cart.cartSq})|"><span>옵션/수량변경</span></button>
+											</p>
+											<!-- 다다익선 적용 -->
+											<div class="od_moresale applyTmtb" th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y')}">
+												<a href="" class="btn_moresale">
+													<i class="ico ico_saletag"></i><span>다다익선 할인적용!</span>
+												</a>
+												<div class="li_moresale applyTmtbNm">
+													<ul>
+														<li th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y'}" th:text="${cart.qtyTmtbNm}"></li>
+														<li th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y'}" th:text="${cart.amtTmtbNm}"></li>
+													</ul>
+												</div>
+											</div>
+											<!-- 다다익선 미적용 -->
+											<div class="od_moresale notApplyTmtb" th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N')}">
+												<a href="" class="btn_moresale">
+													<i class="ico ico_saletag"></i><span>다다익선 상품보기</span>
+												</a>
+												<div class="li_moresale notApplyTmtbNm">
+													<ul>
+														<li th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N'}" th:inline="text">[[${cart.qtyTmtbNm}]]<a href=''>대상 상품 보기</a></li>
+														<li th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N'}" th:inline="text">[[${cart.amtTmtbNm}]]<a href=''>대상 상품 보기</a></li>
+													</ul>
+												</div>
+											</div>
+											<!-- 주문불가시 안내추가 -->
+											<div class="info_unable" th:if="${cart.soldoutYn.equals('Y')}">
+												해당상품은 구매가 불가능한 상품입니다. / 상품이 품절되었습니다.
+											</div>
+											<!-- //주문불가시 안내추가 -->
+										</div>
+										<div class="info_calc">
+											<p class="price" th:if="${cart.tmtbDcAmt < cart.currPrice}">
+												<span class="selling_price" th:text="|${#numbers.formatInteger(cart.tmtbDcAmt, 1, 'COMMA')} 원|"></span>
+												<del th:text="|${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')} 원|"></del>
+											</p>
+											<p class="price" th:if="${cart.tmtbDcAmt == cart.currPrice}">
+												<span class="selling_price" th:text="|${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')} 원|"></span>
+											</p>
+											<p class="point"><span th:text="${#numbers.formatInteger(cart.savePntAmt, 1, 'COMMA')}"></span>p 적립예정</p>
+											<p>
+												<button th:if="${cart.soldoutYn.equals('Y')}" type="button" class="btn btn_sm" disabled><span>구매불가</span></button>
+												<button th:if="${cart.soldoutYn.equals('N')}" type="button" class="btn btn_primary btn_sm" th:onclick="|fnSubmitNoMember(${cart.cartSq})|"><span>즉시구매</span></button>
+											</p>
+											<p class="util">
+												<span>
+													<button type="button" class="btn_favorite" th:classappend="${cart.wishCnt > 0} ? active" onclick="cfnPutWishList(this)" th:goodsCd="${cart.goodsCd}" th:ithrCd="${cart.ithrCd}" th:contentsLoc="${cart.contentsLoc}">
+														<span>
+															<i class="ico ico_like2"></i>
+															<em class="sr-only">관심상품 추가</em>
+														</span>
+													</button>
+												</span>
+												<span>
+													<button type="button" class="btn_delete" th:onclick="|deleteCart(${cart.cartSq})|"><span><i class="ico ico_trash"></i><em class="sr-only">상품삭제</em></span></button>
+												</span>
+											</p>
+										</div>
+									</div>
+									<!-- //주문가능 상품 -->
+								</td>
+								<td class="merge_row delvFeeArea" th:classappend="|delv_${cart.delvFeeCd}|" th:if="${cart.firstCompYn == 'Y'}" th:rowspan="${wmsCartList.size()}"> <!-- 같은 데이터 노출시 동일 영역끼리 병합 : 클래스명 merge_row 추가 -->
+									<div class="info_dlvr">
+										<span class="dlvr_fee" th:if="${cart.delvFee == 0}">배송비 무료</span>
+										<span class="dlvr_fee" th:if="${cart.delvFee > 0}" th:text="|배송비 ${#numbers.formatInteger(cart.delvFee, 1, 'COMMA')} 원|"></span>
+										<a href="#" target="_blank" th:if="${cart.delvFee > 0}">배송비 SAVE 상품 보기</a>
+									</div>
+								</td>
+							</tr>
+						</th:block>
+						</tbody>
+					</table>
+				</div>
+				<div class="btn_area">
+					<button type="button" class="btn btn_default" onclick="deleteCart('WMS_SELECT')"><span>선택 삭제</span></button>
+					<button type="button" class="btn btn_default" onclick="deleteCart('WMS_ALL')"><span>전체 삭제</span></button>
+				</div>
+			</div>
+			<!-- //총알배송 -->
+
+			<!-- 업체직배송 -->
+			<div class="part_deliver delvList" th:if="${delvCartList != null and delvCartList.size() > 0}">
+				<h3 class="subH2 mb20">
+					업체직배송
+				</h3>
+				<div class="tbl type2">
+					<table>
+						<colgroup>
+							<col width="900">
+							<col width="*">
+						</colgroup>
+						<tbody>
+						<th:block th:each="cart, status : ${delvCartList}">
+							<tr class="cartInfo delvCartInfo">
+								<input type="hidden" name="applyQtySectionYn" th:value="${cart.applyQtySectionYn}" />
+								<input type="hidden" name="applyAmtSectionYn" th:value="${cart.applyAmtSectionYn}" />
+								<input type="hidden" name="qtyTmtbSq" th:value="${cart.qtyTmtbSq}" />
+								<input type="hidden" name="qtyTmtbNm" th:value="${cart.qtyTmtbNm}" />
+								<input type="hidden" name="amtTmtbSq" th:value="${cart.amtTmtbSq}" />
+								<input type="hidden" name="amtTmtbNm" th:value="${cart.amtTmtbNm}" />
+								<input type="hidden" name="currPrice" th:value="${cart.currPrice}" />
+								<input type="hidden" name="soldoutYn" th:value="${cart.soldoutYn}" />
+								<input type="hidden" name="tmtbDcAmt" th:value="${cart.tmtbDcAmt}" />
+								<input type="hidden" name="cartSq" th:value="${cart.cartSq}" />
+
+								<td>
+									<div class="info_item" th:classappend="${cart.soldoutYn.equals('Y')} ? unable">
+										<div class="form_box">
+											<p class="form_field">
+												<input th:id="|od_item_${cart.cartSq}|" name="cartSqArr" type="checkbox" th:value="${cart.cartSq}" th:checked="${cart.soldoutYn.equals('N')}" th:disabled="${cart.soldoutYn.equals('Y')}"/>
+												<label th:for="|od_item_${cart.cartSq}|">
+													<span class="sr-only">상품선택</span>
+												</label>
+											</p>
+										</div>
+										<div class="thumb_box">
+											<a href="">
+												<img th:src="${IMG_PATH} + '/' + ${cart.sysImgNm}" src="/" width="100%" alt="">
+											</a>
+										</div>
+										<div class="info_box">
+											<p class="od_name">
+												<a href="">
+													<span class="brand" th:text="|${cart.brandEnm} ${cart.brandKnm}|"></span>
+													<span class="name" th:text="${cart.goodsNm}"></span>
+												</a>
+											</p>
+											<p class="od_opt" th:each="opt, index : ${cart.itemNmArr}">
+												<span class="option"><em th:text="${cart.itemNmArr[index.index]} + '_' + ${cart.optCdArr[index.index]}"></em></span>
+											</p>
+											<p class="od_opt">
+												<span class="count">수량:<em th:text="${cart.goodsQty}"></em>개</span>
+											</p>
+											<p class="od_modify">
+												<button type="button" class="btn_opt_pop" th:onclick="|fnChangeCartOptCd(${cart.cartSq})|"><span>옵션/수량변경</span></button>
+											</p>
+											<!-- 다다익선 적용 -->
+											<div class="od_moresale applyTmtb" th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y')}">
+												<a href="" class="btn_moresale">
+													<i class="ico ico_saletag"></i><span>다다익선 할인적용!</span>
+												</a>
+												<div class="li_moresale applyTmtbNm">
+													<ul>
+														<li th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y'}" th:text="${cart.qtyTmtbNm}"></li>
+														<li th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y'}" th:text="${cart.amtTmtbNm}"></li>
+													</ul>
+												</div>
+											</div>
+											<!-- 다다익선 미적용 -->
+											<div class="od_moresale notApplyTmtb" th:if="${(cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N') or (cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N')}">
+												<a href="" class="btn_moresale">
+													<i class="ico ico_saletag"></i><span>다다익선 상품보기</span>
+												</a>
+												<div class="li_moresale notApplyTmtbNm">
+													<ul>
+														<li th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N'}" th:text="${cart.qtyTmtbNm}"><a href="">대상 상품 보기</a></li>
+														<li th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N'}" th:text="${cart.amtTmtbNm}"><a href="">대상 상품 보기</a></li>
+													</ul>
+												</div>
+											</div>
+											<!-- 주문불가시 안내추가 -->
+											<div class="info_unable" th:if="${cart.soldoutYn.equals('Y')}">
+												해당상품은 구매가 불가능한 상품입니다. / 상품이 품절되었습니다.
+											</div>
+											<!-- //주문불가시 안내추가 -->
+										</div>
+										<div class="info_calc">
+											<p class="price" th:if="${cart.tmtbDcAmt < cart.currPrice}">
+												<span class="selling_price" th:text="|${#numbers.formatInteger(cart.tmtbDcAmt, 1, 'COMMA')} 원|"></span>
+												<del th:text="|${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')} 원|"></del>
+											</p>
+											<p class="price" th:if="${cart.tmtbDcAmt == cart.currPrice}">
+												<span class="selling_price" th:text="|${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')} 원|"></span>
+											</p>
+											<p class="point"><span th:text="${#numbers.formatInteger(cart.savePntAmt, 1, 'COMMA')}"></span>p 적립예정</p>
+											<p>
+												<button th:if="${cart.soldoutYn.equals('Y')}" type="button" class="btn btn_sm" disabled><span>구매불가</span></button>
+												<button th:if="${cart.soldoutYn.equals('N')}" type="button" class="btn btn_primary btn_sm" th:onclick="|fnSubmitNoMember(${cart.cartSq})|"><span>즉시구매</span></button>
+											</p>
+											<p class="util">
+										<span>
+											<button type="button" class="btn_favorite" th:classappend="${cart.wishCnt > 0} ? active" onclick="cfnPutWishList(this)" th:goodsCd="${cart.goodsCd}" th:ithrCd="${cart.ithrCd}" th:contentsLoc="${cart.contentsLoc}"><span><i class="ico ico_like2"></i><em class="sr-only">관심상품 추가</em></span></button>
+										</span>
+												<span>
+											<button type="button" class="btn_delete" th:onclick="|deleteCart(${cart.cartSq})|"><span><i class="ico ico_trash"></i><em class="sr-only">상품삭제</em></span></button>
+										</span>
+											</p>
+										</div>
+									</div>
+								</td>
+								<td class="merge_row delvFeeArea" th:classappend="|delv_${cart.delvFeeCd}|" th:if="${cart.firstCompYn == 'Y'}" th:rowspan="${cart.compCnt}"> <!-- 같은 데이터 노출시 동일 영역끼리 병합 : 클래스명 merge_row 추가 -->
+									<div class="info_dlvr">
+										<span class="dlvr_fee" th:if="${cart.delvFee == 0}">배송비 무료</span>
+										<span class="dlvr_fee" th:if="${cart.delvFee > 0}" th:text="|배송비 ${#numbers.formatInteger(cart.delvFee, 1, 'COMMA')} 원|"></span>
+										<span class="dlvr_shop" th:text="|${cart.supplyCompNm} 업체직배송|"></span>
+										<a href="#" target="_blank" th:if="${cart.delvFee > 0}">배송비 SAVE 상품 보기</a>
+									</div>
+								</td>
+							</tr>
+						</th:block>
+						</tbody>
+					</table>
+				</div>
+				<div class="btn_area">
+					<button type="button" class="btn btn_default" onclick="deleteCart('DELV_SELECT')"><span>선택 삭제</span></button>
+					<button type="button" class="btn btn_default" onclick="deleteCart('DELV_ALL')"><span>전체 삭제</span></button>
+				</div>
+			</div>
+			<!-- //업체직배송 -->
+		</div>
+	</div>
+	<div class="od_side">
+		<div class="area_order">
+			<div class="tit_box">
+				<h3>결제 정보</h3>
+				<span>
+				<em class="number" th:text="${order.totCartCnt}"></em>개의 상품
+			</span>
+			</div>
+			<div class="od_amount_box">
+				<dl>
+					<div>
+						<dt>상품금액</dt>
+						<dd><em class="sumCurrPrice" th:text="${#numbers.formatInteger(order.sumOrdAmt, 1, 'COMMA')}"></em> 원</dd>
+					</div>
+					<div>
+						<dt>배송비</dt>
+						<dd><em class="totDelvFee" th:text="${#numbers.formatInteger(order.totDelvFee, 1, 'COMMA')}"></em> 원</dd>
+					</div>
+					<div>
+						<dt>할인금액</dt>
+						<dd><span class="disc_amount"><em class="totDcAmt" id="totDcAmt" th:text="${#numbers.formatInteger(order.totDcAmt, 1, 'COMMA')}"></em> 원</span></dd>
+					</div>
+				</dl>
+			</div>
+			<div class="totalprice_box">
+				<dl>
+					<dt>총 결제 예정 금액</dt>
+					<dd data-weight="price" data-font="lato"><span class="sumRealPayAmt" id="sumRealPayAmt" th:text="${#numbers.formatInteger(order.sumRealPayAmt + order.totDelvFee, 1, 'COMMA')}"></span> 원</dd>
+				</dl>
+			</div>
+			<div class="btn_box">
+				<button class="btn btn_primary btn_block btn_md"><span>주문하기</span></button>
+			</div>
+		</div>
+		<div class="area_salecoupon">
+			<h4>할인코드 입력</h4>
+			<div class="form_field">
+				<div class="input_wrap form_full">
+					<label class="input_label sr-only">할인코드입력</label>
+					<input type="text" id="serialCpnNm" class="form_control" placeholder="할인코드를 입력해주세요.">
+				</div>
+				<button type="button" class="btn btn_dark btn_default" onclick="serialCpnApply()"><span>적용</span></button>
+			</div>
+			<div class="coupon_box">
+				<div class="coupon">
+					<div>
+						<p class="cp_name"></p>
+						<p class="cp_cont">
+							<!--<span><em>12,399,900</em>원</span>
+							<span><em>40%</em></span>-->
+							<span class="cp_dc_val"></span>
+						</p>
+						<p class="cp_condition">
+							<!--500,000원 이상 구매 시 최대 50,000원 할인
+							<span><em class="tag">99장 보유</em></span>-->
+						</p>
+					</div>
+					<p class="cp_date">
+						<span class="availStdt"></span>&nbsp;~&nbsp;<span class="availEddt"></span>
+					</p>
+					<button type="button" class="btn_close_code" onClick="cancelCartCpn()">
+					<span>
+						<i class="ico ico_close1"></i>
+						<em class="sr-only">닫기</em>
+					</span>
+					</button>
+				</div>
+				<div class="info_coupon">
+					<button type="button" id="btn_cpinfo_pop">
+						<span>쿠폰 사용안내</span>
+					</button>
+				</div>
+			</div>
+		</div>
+		<div class="area_saleitem">
+
+		</div>
+	</div>
+	<div class="clear"></div>
+	<!-- // CONT-BODY -->
+</form>
+
+<!-- 옵션변경 팝업 -->
+<div class="modal fade od_pop opt_modify_pop" id="optModifyPop" tabindex="-1" role="dialog" aria-labelledby="optModifyLabel" aria-hidden="true"></div>
+<!-- //옵션변경 팝업 -->
+
+<!-- 즉시구매 form -->
+<form id="cartInfoForm" method="post" action="/order/noMember"></form>
+
+<script th:inline="javascript">
+	let sumRealPayAmt = [[${order.sumRealPayAmt + order.totDelvFee}]];
+	let totDcAmt = [[${order.totDcAmt}]];
+
+	function NotApplyTmtbCartList() {
+		let tmtbSq = 0;
+		let tmtbNm = "";
+		let goodsList = {
+			brandNm : "",
+			goodsNm : "",
+			currPrice : 0,
+			imgPath : ""
+		}
+	}
+
+	$(document).ready(function() {
+		/*let compsList = [];
+		let temp 			= new Object;
+		temp.goodsCd 		= "10770353";
+		temp.optCd 			= "9383682-1";
+		temp.goodsQty 		= 1;
+		temp.goodsType 		= "G056_N";
+		temp.cartGb 		= "C";
+		temp.afLinkCd 		= "afLinkCd";
+		temp.ithrCd 		= "G027_ZZZ";
+		temp.contentsLoc 	= "G028_YYY";
+		temp.planDtlSq 		= "123";
+		compsList.push(temp);
+		cfnAddCart(compsList);*/
+		
+		
+		
+		if([[${!order.shotCanYn.equals('Y')}]]) {
+			// $(".shotDelvSelect").hide();
+		}
+
+		$("#cartListForm .area_salecoupon .coupon_box").hide();
+
+		let loginInfo = [[${loginInfo}]];
+		if(!loginInfo || loginInfo.custNo == null || loginInfo.custNo == 0) {
+			$("#cartListForm .area_salecoupon").hide();
+		}
+
+		// 다다익선 할인 대상(미적용) 리스트
+		notApplyTmtbAreaList();
+
+		/* 세트상품 장바구니 */
+		/*let compsList = [];
+		let temp = new Object;
+		temp.goodsCd = "STYS00000042";
+		temp.itemCd = "14373746";
+		temp.optCd = "베이지110";
+		temp.goodsQty = 1;
+		temp.goodsType = "G056_S";
+		temp.cartGb = "O";
+		temp.afLinkCd = "afLinkCd";
+		temp.ithrCd = "G027_ZZZ";
+		temp.contentsLoc = "G028_YYY";
+		temp.planDtlSq = "123";
+		compsList.push(temp);
+		temp = new Object;
+		temp.goodsCd = "STYS00000042";
+		temp.itemCd = "14373769";
+		temp.optCd = "블루110";
+		temp.goodsQty = 1;
+		temp.goodsType = "G056_S";
+		temp.cartGb = "O";
+		temp.afLinkCd = "afLinkCd";
+		temp.ithrCd = "G027_ZZZ";
+		temp.contentsLoc = "G028_YYY";
+		temp.planDtlSq = "123";
+		compsList.push(temp);
+		temp = new Object;
+		temp.goodsCd = "STYS00000042";
+		temp.itemCd = "14373770";
+		temp.optCd = "아이보리110";
+		temp.goodsQty = 1;
+		temp.goodsType = "G056_S";
+		temp.cartGb = "O";
+		temp.afLinkCd = "afLinkCd";
+		temp.ithrCd = "G027_ZZZ";
+		temp.contentsLoc = "G028_YYY";
+		temp.planDtlSq = "123";
+		compsList.push(temp);
+
+		cfnAddCart(compsList);*/
+
+		/*let compsList = [];
+		let temp = new Object;
+		temp.goodsCd = "14373686";
+		temp.optCd = "챠콜그레이150";
+		temp.goodsQty = 2;
+		temp.goodsType = "G056_D";
+		temp.dealGoodsCd = "STYD000000025"
+		temp.cartGb = "O";
+		temp.afLinkCd = "afLinkCd";
+		temp.ithrCd = "G027_ZZZ";
+		temp.contentsLoc = "G028_YYY";
+		temp.planDtlSq = "123";
+		compsList.push(temp);
+
+		temp = new Object;
+		temp.goodsCd = "14373710";
+		temp.optCd = "L핑크130";
+		temp.goodsQty = 3;
+		temp.goodsType = "G056_D";
+		temp.dealGoodsCd = "STYD000000025"
+		temp.cartGb = "O";
+		temp.afLinkCd = "afLinkCd";
+		temp.ithrCd = "G027_ZZZ";
+		temp.contentsLoc = "G028_YYY";
+		temp.planDtlSq = "123";
+		compsList.push(temp);
+
+		cfnAddCart(compsList);*/
+	});
+
+	function notApplyTmtbAreaList() {
+		let notApplyQtyTmtbList = new Array();
+		let notApplyAmtTmtbList = new Array();
+
+		// 수량 다다익선 조회
+		$("#cartListForm input[name=qtyTmtbSq]").each(function (index) {
+			if($(this).val() != "0" && $(this).parent().find("input[name=applyQtySectionYn]").val() == "N") {
+				let obj = new Object();
+				obj.tmtbSq = $(this).val();
+				obj.tmtbNm = $(this).parent().find("input[name=qtyTmtbNm]").val();
+				obj.currPrice = $(this).parent().find("input[name=currPrice]").val();
+				obj.goodsNm = $(this).parent().find(".info_box").find(".name").text();
+				obj.brandNm = $(this).parent().find(".info_box").find(".brand").text();
+				obj.imgPath = $(this).parent().find(".info_item").find(".thumb_box img").attr("src");
+
+				notApplyQtyTmtbList.push(obj);
+			}
+
+			if($(this).parent().find("input[name=applyAmtSectionYn]").val() == "N") {	   // 다다익선 금액은 기본상품만 가져오면됨 (N은 기본상품에 걸려있음)
+				let obj = new Object();
+				obj.tmtbSq = $(this).parent().find("input[name=amtTmtbSq]").val();
+				obj.tmtbNm = $(this).parent().find("input[name=amtTmtbNm]").val();
+
+				notApplyAmtTmtbList.push(obj);
+			}
+		});
+
+		// 수량 다다익선 정렬
+		var t = new Object();
+		for (let i = 0; i < notApplyQtyTmtbList.length; i++) {
+			for (let j = 0; j < notApplyQtyTmtbList.length - i - 1; j++) {
+				if (notApplyQtyTmtbList[j].tmtbSq > notApplyQtyTmtbList[j + 1].tmtbSq) {
+					t = notApplyQtyTmtbList[j];
+					notApplyQtyTmtbList[j] = notApplyQtyTmtbList[j + 1];
+					notApplyQtyTmtbList[j + 1] = t;
+				}
+			}
+		}
+
+		fnCreateNotApplyTmtbAreaList(notApplyQtyTmtbList, notApplyAmtTmtbList);
+	}
+
+	function fnCreateNotApplyTmtbAreaList(notApplyQtyTmtbList, notApplyAmtTmtbList) {
+		// 정렬 후 같은 다다익선 상품은 한 배열로 묶음
+		let tmtbQtyList = new Array();
+
+		for (let i = 0; i < notApplyQtyTmtbList.length; i++) {
+			let goods = notApplyQtyTmtbList[i];
+			let tmtbInfo = new Object();
+			let chk = false;
+			for (let j = 0; j < tmtbQtyList.length; j++) {
+				let tmtb = tmtbQtyList[j];
+				if (goods.tmtbSq == tmtb.tmtbSq) {
+					tmtbInfo = tmtbQtyList[j];
+					chk = true;
+				}
+			}
+
+			// 현재 상품 정보
+			let goodsInfo = new Object();
+			goodsInfo.brandNm = goods.brandNm;
+			goodsInfo.goodsNm = goods.goodsNm;
+			goodsInfo.imgPath = goods.imgPath;
+			goodsInfo.currPrice = goods.currPrice;
+
+			// 현재 상품 정보 다다익선 정보에 세팅
+			if (chk) {
+				tmtbInfo.goodsList.push(goodsInfo);
+			} else {
+				let obj = new Object();
+				obj.tmtbSq = goods.tmtbSq;
+				obj.tmtbNm = goods.tmtbNm;
+				obj.goodsList = new Array();
+				obj.goodsList.push(goodsInfo);
+				tmtbQtyList.push(obj);
+			}
+		}
+
+		// 수량 다다익선 HTML 작성
+		let tmtbHtml = "";
+		for(let i = 0 ; i < tmtbQtyList.length ; i++) {
+			let tmtb = tmtbQtyList[i];
+			tmtbHtml += '<div class="more_sale qtyNotApplyTmtbList">';
+			for(let j = 0 ; j < tmtb.goodsList.length ; j++) {
+				let goods = tmtb.goodsList[j];
+				tmtbHtml += '<div class="item_gd">\n' +
+					'				<figure>\n' +
+					'					<a href="">\n' +
+					'						<span class="thumb"><img src="';
+				tmtbHtml += goods.imgPath;
+				tmtbHtml += '" alt=""></span>\n' +
+					'					</a>\n' +
+					'					<figcaption>\n' +
+					'						<a href="">\n' +
+					'							<div class="brand">';
+				tmtbHtml += goods.brandNm;
+				tmtbHtml += '</div>\n' +
+					'							<div class="name">';
+				tmtbHtml += goods.goodsNm;
+				tmtbHtml += '</div>\n' +
+					'							<div class="price">\n' +
+					'								<span class="selling_price">';
+				tmtbHtml += Number(goods.currPrice).toLocaleString();
+				tmtbHtml += '</span>\n' +
+					'							</div>\n' +
+					'						</a>\n' +
+					'					</figcaption>\n' +
+					'				</figure>\n' +
+					'			</div>';
+			}
+
+			tmtbHtml += '<div class="txt">\n' +
+				'				<a href="">\n' +
+				'					<i class="ico ico_saletag"></i>\n' +
+				'					<input type="hidden" name="tmtbSq" value="' + tmtb.tmtbSq + '" />' +
+				'					<span>\n';
+			tmtbHtml += tmtb.tmtbNm;
+			tmtbHtml += '</span>\n' +
+				'				</a>\n' +
+				'			</div>\n' +
+				'		</div>';
+		}
+
+		// 금액 다다익선 정보 HTML 작성
+		for(let i = 0 ; i < notApplyAmtTmtbList.length ; i++) {
+			if (notApplyAmtTmtbList[i].tmtbSq != 0) {
+				let tmtb = notApplyAmtTmtbList[i];
+				tmtbHtml += '<div class="more_sale amtNotApplyTmtbList">\n' +
+					'			<div class="txt">\n' +
+					'				<a href="">\n' +
+					'					<i class="ico ico_saletag"></i>\n' +
+					'					<input type="hidden" name="tmtbSq" value="' + tmtb.tmtbSq + '" />' +
+					'					<span>';
+				tmtbHtml += tmtb.tmtbNm;
+				tmtbHtml += '</span>\n' +
+					'				</a>\n' +
+					'			</div>\n' +
+					'		</div>';
+			}
+		}
+
+		if(tmtbHtml != "") {
+			tmtbHtml = "<h4>다다익선 할인 대상이 있습니다.</h4>" + tmtbHtml;
+		}
+
+		$(".area_saleitem").html(tmtbHtml);
+	}
+
+	function cancelCartCpn() {
+		$("#cartListForm #sumRealPayAmt").text(Number(sumRealPayAmt).toLocaleString());
+		$("#cartListForm #totDcAmt").text(Number(totDcAmt).toLocaleString());
+		$("#cartListForm .area_salecoupon .coupon_box").hide();
+	}
+
+	function serialCpnApply() {
+		let cartArr = [];
+		let currPrices = [];
+		$("#cartListForm input[name=cartSqArr]:checked").each(function(index, item) {
+			cartArr.push($(this).val());
+			currPrices.push($(this).parents(".cartInfo").find("input[name=tmtbDcAmt]").val());
+		});
+
+		let data = {
+			rdCpnNm : $("#cartListForm #serialCpnNm").val(),
+			cartSqArr : cartArr,
+			currPrices : currPrices
+		}
+
+		let jsonData = JSON.stringify(data);
+
+		$.ajax( {
+			type: "POST",
+			url : '/cart/list/serialCpnApply',
+			contentType: 'application/json',
+			dataType : 'json',
+			data : jsonData,
+			success : function(result) {
+				$("#cartListForm .area_salecoupon .coupon_box").show();
+
+				// 합계 금액
+				$("#cartListForm #sumRealPayAmt").text(Number(sumRealPayAmt - result.serialCpnInfo.dcAmt).toLocaleString());
+				$("#cartListForm #totDcAmt").text(Number(totDcAmt - result.serialCpnInfo.dcAmt).toLocaleString());
+
+				// 쿠폰 정보
+				$("#cartListForm .area_salecoupon .cp_name").text(result.serialCpnInfo.cpnNm);
+				$("#cartListForm .area_salecoupon .cp_condition").html(result.serialCpnInfo.cpnDesc + "<span><em class='tag'>1장 보유</em></span>");
+				$("#cartListForm .area_salecoupon .availStdt").text(result.serialCpnInfo.availStdt);
+				$("#cartListForm .area_salecoupon .availEddt").text(result.serialCpnInfo.availEddt);
+				if(result.serialCpnInfo.dcWay == "G240_10") {
+					$("#cartListForm .area_salecoupon .cp_dc_val").html( "<em>" + Number(result.serialCpnInfo.dcVal).toLocaleString() + "</em> 원");
+				} else if (result.serialCpnInfo.dcWay == "G240_11") {
+					$("#cartListForm .area_salecoupon .cp_dc_val").html( "<em>" + result.serialCpnInfo.dcVal + "%</em>");
+				}
+			}
+		});
+	}
+
+	//다다익선 적용내역 보기
+	$(document).on('click','.shopping_bag .part_deliver .btn_moresale',function(e){
+		$(this).toggleClass('active');
+		$(this).parents('.od_moresale').find('.li_moresale').toggle();
+		return false;
+	});
+
+	//관심상품 등록
+	$(document).on('click','.shopping_bag .part_deliver .btn_favorite',function(e){
+		$(this).toggleClass('active');
+		return false;
+	});
+
+	function deleteCartAjax(cartArr) {
+		if(cartArr.length < 1) {
+			mcxDialog.alert("삭제하실 상품을 선택해 주세요.");
+			return false;
+		}
+
+		let data = {
+			cartSqArr : cartArr
+		}
+
+		let jsonData = JSON.stringify(data);
+
+		$.ajax( {
+			type: "POST",
+			url : '/cart/deleteCart',
+			contentType: 'application/json',
+			dataType : 'json',
+			data : jsonData,
+			success : function(result) {
+				mcxDialog.alert("삭제 되었습니다.");
+				getCartList();
+			}
+		});
+	}
+
+	function deleteCart(gbn) {
+		let cartArr = [];
+		let confirmMessage = "";
+		if(gbn == "WMS_SELECT") {
+			$("#cartListForm .wmsList input[name=cartSqArr]:checked").each(function () {
+				cartArr.push($(this).val());
+			});
+
+			confirmMessage = "총 " + cartArr.length + "개의 상품을 삭제합니다.";
+		} else if(gbn == "DELV_SELECT") {
+			$("#cartListForm .delvList input[name=cartSqArr]:checked").each(function () {
+				cartArr.push($(this).val());
+			});
+
+			confirmMessage = "총 " + cartArr.length + "개의 상품을 삭제합니다.";
+		} else if(gbn == "WMS_ALL") {
+			$("#cartListForm .wmsList input[name=cartSqArr]").each(function() {
+				cartArr.push($(this).val());
+			});
+
+			confirmMessage = "총알배송상품을 전부 삭제하시겠습니까?";
+		} else if(gbn == "DELV_ALL") {
+			$("#cartListForm .delvList input[name=cartSqArr]").each(function() {
+				cartArr.push($(this).val());
+			});
+
+			confirmMessage = "업체직배송 상품을 전부 삭제하시겠습니까?";
+		} else {
+			cartArr.push(gbn);
+			deleteCartAjax(cartArr);
+			return false;
+		}
+
+		mcxDialog.confirm(confirmMessage, {
+			cancelBtnText: "취소/닫기",		//취소 또는 닫기 버튼명
+			sureBtnText  : "확인",				//처리문 버튼명
+			sureBtnClick : function () {
+				deleteCartAjax(cartArr);
+			}
+		});
+	}
+
+	//쿠폰사용안내 팝업열기
+	$(document).on('click','#btn_cpinfo_pop',function(e){
+		$("#cpinfoPop").modal("show");
+		return false;
+	});
+
+	$("input[name=cartSqArr]").on("change", function(e) {
+		let cartArr = [];
+
+		// 선택된 장바구니 번호
+		$("#cartListForm input[name=cartSqArr]:checked").each(function () {
+			cartArr.push($(this).val());
+		});
+
+		// 선택된 장바구니 정보 가공
+		let data = {	cartSqArr : cartArr }
+		let jsonData = JSON.stringify(data);
+
+		$.ajax( {
+			type: "POST",
+			url : '/cart/change/goods/list',
+			contentType: 'application/json',
+			dataType : 'json',
+			data : jsonData,
+			success : function(result) {
+				fnChangeCartListInfo(result);
+			}
+		});
+	});
+
+	function fnChangeCartListInfo(order) {
+		let wmsList = order.wmsCartList;
+		let delvList = order.delvCartList;
+		let cartList = new Array();
+
+		// 다다익선 정보 숨김
+		$("#cartListForm .applyTmtb").hide();
+		$("#cartListForm .notApplyTmtb").hide();
+
+		// 장바구니 각 상품 가격 정보 할인 전으로 변경
+		$("#cartListForm .cartInfo input[name=cartSq]").each(function() {
+			if($(this).parent().find(".info_calc .price > del").text() != "") {
+				$(this).parent().find(".info_calc .selling_price").text($(this).parent().find(".info_calc .price > del").text());
+				$(this).parent().find(".info_calc .price > del").remove();
+			}
+		});
+		$("#cartListForm").find(".delvFeeArea").html("<div class='info_dlvr'><span class='dlvr_fee'>배송비 무료</span></div>");
+
+		for(let i = 0 ; i < wmsList.length ; i++) {
+			cartList.push(wmsList[i]);
+			$("#cartListForm .wmsCartInfo input[name=cartSq]").each(function() {
+				if(wmsList[i].cartSq == $(this).val()) {
+					let wms = wmsList[i];
+					// $(this).parent().find(".thumb_box img").attr("src", result.imgPath1 + "/" + wms.sysImgNm);
+					$(this).parent().find(".od_moresale .applyTmtbNm > ul").html("");
+					$(this).parent().find(".od_moresale .notApplyTmtbNm > ul").html("");
+
+					// 다다익선 적용 정보 생성성
+					if(wms.qtyTmtbSq > 0 && wms.applyQtySectionYn == "Y") {
+						$(this).parent().find(".applyTmtb .applyTmtbNm > ul").append("<li>" + wms.qtyTmtbNm + "</li>");
+						$(this).parent().find(".applyTmtb").show();
+					}
+					if(wms.amtTmtbSq > 0 && wms.applyAmtSectionYn == "Y") {
+						$(this).parent().find(".applyTmtb .applyTmtbNm > ul").append("<li>" + wms.amtTmtbNm + "</li>");
+						$(this).parent().find(".applyTmtb").show();
+					}
+					if(wms.qtyTmtbSq > 0 && wms.applyQtySectionYn == "N") {
+						$(this).parent().find(".notApplyTmtb .notApplyTmtbNm > ul").append("<li>" + wms.qtyTmtbNm + "<a href=''>대상 상품 보기</a></li>");
+						$(this).parent().find(".notApplyTmtb").show();
+					}
+					if(wms.amtTmtbSq > 0 && wms.applyAmtSectionYn == "N") {
+						$(this).parent().find(".notApplyTmtb .notApplyTmtbNm > ul").append("<li>" + wms.amtTmtbNm + "<a href=''>대상 상품 보기</a></li>");
+						$(this).parent().find(".notApplyTmtb").show();
+					}
+
+					// 다다익선 할인가 적용
+					if(wms.tmtbDcAmt < wms.currPrice) {
+						$(this).parent().find(".info_calc .selling_price").text(Number(wms.tmtbDcAmt).toLocaleString() + " 원");
+						$(this).parent().find(".info_calc .price").append("<del>" + Number(wms.currPrice).toLocaleString() + " 원</del>");
+					}
+
+					if(wms.delvFee == 0) {
+						$(".wmsList").find(".delv_" + wms.delvFeeCd).html("<div class='info_dlvr'><span class='dlvr_fee'>배송비 무료</span></div>");
+					} else {
+						let html = "<div class='info_dlvr'><span class='dlvr_fee'>" + Number(wms.delvFee).toLocaleString() + " 원</span><a href='#' target='_black'>배송비 SAVE 상품 보기</a></div>";
+						$(".wmsList").find(".delv_" + wms.delvFeeCd).html(html);
+						// $(".wmsList").find(".delv_" + wms.delvFeeCd).append("<span class='dlvr_shop'>" + wms.supplyCompNm + " 업체직배송</span>");
+
+					}
+				}
+			});
+		}
+
+		for(let i = 0 ; i < delvList.length ; i++) {
+			cartList.push(delvList[i]);
+			$("#cartListForm .delvCartInfo input[name=cartSq]").each(function() {
+				if(delvList[i].cartSq == $(this).val()) {
+					let delv = delvList[i];
+					// $(this).parent().find(".thumb_box img").attr("src", result.imgPath1 + "/" + wms.sysImgNm);
+					$(this).parent().find(".od_moresale .applyTmtbNm > ul").html("");
+					$(this).parent().find(".od_moresale .notApplyTmtbNm > ul").html("");
+
+					// 다다익선 적용 정보 생성성
+					if(delv.qtyTmtbSq > 0 && delv.applyQtySectionYn == "Y") {
+						$(this).parent().find(".applyTmtb .applyTmtbNm > ul").append("<li>" + delv.qtyTmtbNm + "</li>");
+						$(this).parent().find(".applyTmtb").show();
+					}
+					if(delv.amtTmtbSq > 0 && delv.applyAmtSectionYn == "Y") {
+						$(this).parent().find(".applyTmtb .applyTmtbNm > ul").append("<li>" + delv.amtTmtbNm + "</li>");
+						$(this).parent().find(".applyTmtb").show();
+					}
+					if(delv.qtyTmtbSq > 0 && delv.applyQtySectionYn == "N") {
+						$(this).parent().find(".notApplyTmtb .notApplyTmtbNm > ul").append("<li>" + delv.qtyTmtbNm + "<a href=''>대상 상품 보기</a></li>");
+						$(this).parent().find(".notApplyTmtb").show();
+					}
+					if(delv.amtTmtbSq > 0 && delv.applyAmtSectionYn == "N") {
+						$(this).parent().find(".notApplyTmtb .notApplyTmtbNm > ul").append("<li>" + delv.amtTmtbNm + "<a href=''>대상 상품 보기</a></li>");
+						$(this).parent().find(".notApplyTmtb").show();
+					}
+
+					// 다다익선 할인가 적용
+					if(delv.tmtbDcAmt < delv.currPrice) {
+						$(this).parent().find(".info_calc .selling_price").text(Number(delv.tmtbDcAmt).toLocaleString() + " 원");
+						$(this).parent().find(".info_calc .price").append("<del>" + Number(delv.currPrice).toLocaleString() + " 원</del>");
+					}
+
+					if(delv.delvFee == 0) {
+						$(".delvList").find(".delv_" + delv.delvFeeCd).html("<div class='info_dlvr'><span class='dlvr_fee'>배송비 무료</span></div>");
+					} else {
+						let html = "<div class='info_dlvr'><span class='dlvr_fee'>" + Number(delv.delvFee).toLocaleString() + " 원</span><span class='dlvr_shop'>" + delv.supplyCompNm + " 업체직배송</span><a href='#' target='_black'>배송비 SAVE 상품 보기</a></div>";
+						$(".delvList").find(".delv_" + delv.delvFeeCd).html(html);
+					}
+				}
+			});
+		}
+
+		// 결제 총액 영역 수정
+		$("#cartListForm .sumCurrPrice").text(Number(order.sumOrdAmt).toLocaleString());
+		$("#cartListForm .totDelvFee").text(Number(order.totDelvFee).toLocaleString());
+		sumRealPayAmt = order.sumRealPayAmt + order.totDelvFee;
+		totDcAmt = order.totDcAmt;
+
+		// 할인코드 쿠폰 금액 재확인
+		if($("#cartListForm #serialCpnNm").val()) {
+			serialCpnApply();
+		} else {
+			$("#cartListForm .totDcAmt").text(Number(order.totDcAmt).toLocaleString());
+			$("#cartListForm .sumRealPayAmt").text(Number(order.sumRealPayAmt + order.totDelvFee).toLocaleString());
+			cancelCartCpn();
+		}
+
+		let notApplyQtyTmtbList = new Array();
+		let notApplyAmtTmtbList = new Array();
+		for(let i = 0 ; i < cartList.length ; i++) {
+			let cart = cartList[i];
+			if(cart.applyQtySectionYn == "N") {
+				let obj = new Object();
+				obj.tmtbSq = cart.qtyTmtbSq;
+				obj.tmtbNm = cart.qtyTmtbNm;
+				obj.currPrice = cart.currPrice;
+				obj.goodsNm = cart.goodsNm;
+				obj.brandNm = cart.brandEnm + " " + cart.brandKnm;
+				obj.imgPath = order.imgPath1 + "/" + cart.sysImgNm;
+
+				notApplyQtyTmtbList.push(obj);
+			}
+
+			if(cart.applyAmtSectionYn == "N") {
+				let obj = new Object();
+				obj.tmtbSq = cart.amtTmtbSq;
+				obj.tmtbNm = cart.amtTmtbNm;
+
+				notApplyAmtTmtbList.push(obj);
+			}
+		}
+
+		// 수량 다다익선 정렬
+		var t = new Object();
+		for (let i = 0; i < notApplyQtyTmtbList.length; i++) {
+			for (let j = 0; j < notApplyQtyTmtbList.length - i - 1; j++) {
+				if (notApplyQtyTmtbList[j].tmtbSq > notApplyQtyTmtbList[j + 1].tmtbSq) {
+					t = notApplyQtyTmtbList[j];
+					notApplyQtyTmtbList[j] = notApplyQtyTmtbList[j + 1];
+					notApplyQtyTmtbList[j + 1] = t;
+				}
+			}
+		}
+
+		// 다다익선 적용 대상 상품 노출
+		fnCreateNotApplyTmtbAreaList(notApplyQtyTmtbList, notApplyAmtTmtbList);
+	}
+
+	//옵션변경 팝업열기
+	function fnChangeCartOptCd(cartSq) {
+		$.ajax( {
+			type: "POST",
+			url : '/cart/goods/info',
+			dataType : 'html',
+			data : {cartSq : cartSq},
+			success : function(result) {
+				//fnChangeCartListInfo(result);
+				$("#optModifyPop").html(result);
+				$("#optModifyPop").modal("show");
+			}
+		});
+	}
+
+	// 상품상세 페이지 이동 처리
+	var fnGoToGoodsDetail = function(param) {
+		let goodsCd = $(param).attr('goodsCd');
+		cfnGoToPage(_PAGE_GOODS_DETAIL + goodsCd);
+	}
+
+	// 주문하기
+	function fnSubmitNoMember(cartSq) {
+		if(cartSq == "all") {
+			$("#cartListForm").submit();
+		} else {
+			let html	 = "<input type='hidden' name='cartSqArr' value='" + cartSq + "' />";
+			html		+= "<input type='hidden' name='shotDelvUseYn' value='" + $("input[name=shotDelvUseYn]:checked").val() + "' />";
+			$("#cartInfoForm").html(html);
+			$("#cartInfoForm").submit();
+		}
+	}
+</script>
+</html>

+ 228 - 230
src/main/webapp/WEB-INF/views/web/cart/CartListFormWeb.html

@@ -25,239 +25,237 @@
     <script type="text/javascript" th:src="${@environment.getProperty('pg.kcp.js.url')}" src=""></script>
     <script type="text/javascript" src="/ux/pc/js/payment.js"></script>
 
-    <!--  container -->
-    <div id="container" class="container od">
-        <div class="wrap">
-            <div class="content shopping_bag"> <!-- 페이지특정 클래스 = shop_bag -->
-                <div class="cont_head">
-                    <h2>쇼핑백</h2>
-                    <div class="oder_steps">
-                        <ul>
-                        <li class="on">01 쇼핑백</li>
-                        <li>02 주문/결제</li>
-                        <li>03 주문완료</li>
-                    </ul>
-                </div>
-            </div>
-            <div id="cartAjaxList" class="cont_body">
+	<!--  container -->
+	<div id="container" class="container od">
+		<div class="wrap">
+			<div class="content shopping_bag"> <!-- 페이지특정 클래스 = shop_bag -->
+				<div class="cont_head">
+					<h2>쇼핑백</h2>
+					<div class="oder_steps">
+						<ul>
+							<li class="on">01 쇼핑백</li>
+							<li>02 주문/결제</li>
+							<li>03 주문완료</li>
+						</ul>
+					</div>
+				</div>
+				<div id="cartAjaxList" class="cont_body">
 
-            </div>
-        </div>
-        <div class="content shopping_bag mt100">
-            <div class="cont_head">
-                <h4 class="subH1 t_c mb40">추천상품</h4>
-            </div>
-            <div class="cont_body">
-                <div class="od_recommend">
-                    <div class="swiper-container">
-                        <div class="swiper-wrapper">
-                            <div class="swiper-slide">
-                                <div class="item_prod">
-                                    <div class="item_state">
-                                        <a href="#none" class="itemLink">
-                                            <div class="itemPic">
-                                                <img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
-                                                <button type="button" class="itemLike">관심상품 추가</button>
-                                            </div>
-                                            <p class="itemBrand">BRAND NAME1</p>
-                                            <div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-                                            <p class="itemPrice">80,100
-                                                <span class="itemPrice_original">89,000</span>
-                                                <span class=" itemPercent">10%</span>
-                                            </p>
-                                            <div class="itemcolorchip">
-                                                <span class="chip_color35" value="ABM">BEIGE</span>
-                                                <span class="chip_color54" value="BDS">BLACK</span>
-                                                <span class="chip_color40" value="YBR">WHITE</span>
-                                            </div>
-                                            <div class="itemComment">#주문 폭주 상품</div>
-                                        </a>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="swiper-slide">
-                                <div class="item_prod">
-                                    <div class="item_state">
-                                        <a href="#none" class="itemLink">
-                                            <div class="itemPic">
-                                                <img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
-                                                <button type="button" class="itemLike">관심상품 추가</button>
-                                            </div>
-                                            <p class="itemBrand">BRAND NAME2</p>
-                                            <div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-                                            <p class="itemPrice">80,100
-                                                <span class="itemPrice_original">89,000</span>
-                                                <span class=" itemPercent">10%</span>
-                                            </p>
-                                            <div class="itemcolorchip">
-                                                <span class="chip_color35" value="ABM">BEIGE</span>
-                                                <span class="chip_color54" value="BDS">BLACK</span>
-                                                <span class="chip_color40" value="YBR">WHITE</span>
-                                            </div>
-                                            <div class="itemComment">#주문 폭주 상품</div>
-                                        </a>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="swiper-slide">
-                                <div class="item_prod">
-                                    <div class="item_state">
-                                        <a href="#none" class="itemLink">
-                                            <div class="itemPic">
-                                                <img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
-                                                <button type="button" class="itemLike">관심상품 추가</button>
-                                            </div>
-                                            <p class="itemBrand">BRAND NAME3</p>
-                                            <div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-                                            <p class="itemPrice">80,100
-                                                <span class="itemPrice_original">89,000</span>
-                                                <span class=" itemPercent">10%</span>
-                                            </p>
-                                            <div class="itemcolorchip">
-                                                <span class="chip_color35" value="ABM">BEIGE</span>
-                                                <span class="chip_color54" value="BDS">BLACK</span>
-                                                <span class="chip_color40" value="YBR">WHITE</span>
-                                            </div>
-                                            <div class="itemComment">#주문 폭주 상품</div>
-                                        </a>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="swiper-slide">
-                                <div class="item_prod">
-                                    <div class="item_state">
-                                        <a href="#none" class="itemLink">
-                                            <div class="itemPic">
-                                                <img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
-                                                <button type="button" class="itemLike">관심상품 추가</button>
-                                            </div>
-                                            <p class="itemBrand">BRAND NAME4</p>
-                                            <div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-                                            <p class="itemPrice">80,100
-                                                <span class="itemPrice_original">89,000</span>
-                                                <span class=" itemPercent">10%</span>
-                                            </p>
-                                            <div class="itemcolorchip">
-                                                <span class="chip_color35" value="ABM">BEIGE</span>
-                                                <span class="chip_color54" value="BDS">BLACK</span>
-                                                <span class="chip_color40" value="YBR">WHITE</span>
-                                            </div>
-                                            <div class="itemComment">#주문 폭주 상품</div>
-                                        </a>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="swiper-slide">
-                                <div class="item_prod">
-                                    <div class="item_state">
-                                        <a href="#none" class="itemLink">
-                                            <div class="itemPic">
-                                                <img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
-                                                <button type="button" class="itemLike">관심상품 추가</button>
-                                            </div>
-                                            <p class="itemBrand">BRAND NAME5</p>
-                                            <div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-                                            <p class="itemPrice">80,100
-                                                <span class="itemPrice_original">89,000</span>
-                                                <span class=" itemPercent">10%</span>
-                                            </p>
-                                            <div class="itemcolorchip">
-                                                <span class="chip_color35" value="ABM">BEIGE</span>
-                                                <span class="chip_color54" value="BDS">BLACK</span>
-                                                <span class="chip_color40" value="YBR">WHITE</span>
-                                            </div>
-                                            <div class="itemComment">#주문 폭주 상품</div>
-                                        </a>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="swiper-slide">
-                                <div class="item_prod">
-                                    <div class="item_state">
-                                        <a href="#none" class="itemLink">
-                                            <div class="itemPic">
-                                                <img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
-                                                <button type="button" class="itemLike">관심상품 추가</button>
-                                            </div>
-                                            <p class="itemBrand">BRAND NAME6</p>
+				</div>
+			</div>
+			<div class="content od_recommend">
+				<div class="cont_head">
+					<h4 class="subH1 t_c mb40">추천상품</h4>
+				</div>
+				<div class="cont_body">
+					<div class="swiper-container">
+						<div class="swiper-wrapper">
+							<div class="swiper-slide">
+								<div class="item_prod">
+									<div class="item_state">
+										<button type="button" class="itemLike">관심상품 추가</button>
+										<a href="#none" class="itemLink">
+											<div class="itemPic">
+												<img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
+											</div>
+											<p class="itemBrand">BRAND NAME1</p>
+											<div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+											<p class="itemPrice">80,100
+												<span class="itemPrice_original">89,000</span>
+												<span class=" itemPercent">10%</span>
+											</p>
+											<div class="itemcolorchip">
+												<span class="chip_color35" value="ABM">BEIGE</span>
+												<span class="chip_color54" value="BDS">BLACK</span>
+												<span class="chip_color40" value="YBR">WHITE</span>
+											</div>
+											<div class="itemComment">#주문 폭주 상품</div>
+										</a>
+									</div>
+								</div>
+							</div>
+							<div class="swiper-slide">
+								<div class="item_prod">
+									<div class="item_state">
+										<button type="button" class="itemLike">관심상품 추가</button>
+										<a href="#none" class="itemLink">
+											<div class="itemPic">
+												<img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
+											</div>
+											<p class="itemBrand">BRAND NAME2</p>
+											<div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+											<p class="itemPrice">80,100
+												<span class="itemPrice_original">89,000</span>
+												<span class=" itemPercent">10%</span>
+											</p>
+											<div class="itemcolorchip">
+												<span class="chip_color35" value="ABM">BEIGE</span>
+												<span class="chip_color54" value="BDS">BLACK</span>
+												<span class="chip_color40" value="YBR">WHITE</span>
+											</div>
+											<div class="itemComment">#주문 폭주 상품</div>
+										</a>
+									</div>
+								</div>
+							</div>
+							<div class="swiper-slide">
+								<div class="item_prod">
+									<div class="item_state">
+										<button type="button" class="itemLike">관심상품 추가</button>
+										<a href="#none" class="itemLink">
+											<div class="itemPic">
+												<img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
+											</div>
+											<p class="itemBrand">BRAND NAME3</p>
+											<div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+											<p class="itemPrice">80,100
+												<span class="itemPrice_original">89,000</span>
+												<span class=" itemPercent">10%</span>
+											</p>
+											<div class="itemcolorchip">
+												<span class="chip_color35" value="ABM">BEIGE</span>
+												<span class="chip_color54" value="BDS">BLACK</span>
+												<span class="chip_color40" value="YBR">WHITE</span>
+											</div>
+											<div class="itemComment">#주문 폭주 상품</div>
+										</a>
+									</div>
+								</div>
+							</div>
+							<div class="swiper-slide">
+								<div class="item_prod">
+									<div class="item_state">
+										<button type="button" class="itemLike">관심상품 추가</button>
+										<a href="#none" class="itemLink">
+											<div class="itemPic">
+												<img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
+											</div>
+											<p class="itemBrand">BRAND NAME4</p>
+											<div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+											<p class="itemPrice">80,100
+												<span class="itemPrice_original">89,000</span>
+												<span class=" itemPercent">10%</span>
+											</p>
+											<div class="itemcolorchip">
+												<span class="chip_color35" value="ABM">BEIGE</span>
+												<span class="chip_color54" value="BDS">BLACK</span>
+												<span class="chip_color40" value="YBR">WHITE</span>
+											</div>
+											<div class="itemComment">#주문 폭주 상품</div>
+										</a>
+									</div>
+								</div>
+							</div>
+							<div class="swiper-slide">
+								<div class="item_prod">
+									<div class="item_state">
+										<button type="button" class="itemLike">관심상품 추가</button>
+										<a href="#none" class="itemLink">
+											<div class="itemPic">
+												<img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
+											</div>
+											<p class="itemBrand">BRAND NAME5</p>
+											<div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+											<p class="itemPrice">80,100
+												<span class="itemPrice_original">89,000</span>
+												<span class=" itemPercent">10%</span>
+											</p>
+											<div class="itemcolorchip">
+												<span class="chip_color35" value="ABM">BEIGE</span>
+												<span class="chip_color54" value="BDS">BLACK</span>
+												<span class="chip_color40" value="YBR">WHITE</span>
+											</div>
+											<div class="itemComment">#주문 폭주 상품</div>
+										</a>
+									</div>
+								</div>
+							</div>
+							<div class="swiper-slide">
+								<div class="item_prod">
+									<div class="item_state">
+										<button type="button" class="itemLike">관심상품 추가</button>
+										<a href="#none" class="itemLink">
+											<div class="itemPic">
+												<img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
+											</div>
+											<p class="itemBrand">BRAND NAME6</p>
 
-                                            <div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-                                            <p class="itemPrice">80,100
-                                                <span class="itemPrice_original">89,000</span>
-                                                <span class=" itemPercent">10%</span>
-                                            </p>
-                                            <div class="itemcolorchip">
-                                                <span class="chip_color35" value="ABM">BEIGE</span>
-                                                <span class="chip_color54" value="BDS">BLACK</span>
-                                                <span class="chip_color40" value="YBR">WHITE</span>
-                                            </div>
-                                            <div class="itemComment">#주문 폭주 상품</div>
-                                        </a>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="swiper-slide">
-                                <div class="item_prod">
-                                    <div class="item_state">
-                                        <a href="#none" class="itemLink">
-                                            <div class="itemPic">
-                                                <img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
-                                                <button type="button" class="itemLike">관심상품 추가</button>
-                                            </div>
-                                            <p class="itemBrand">BRAND NAME7</p>
+											<div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+											<p class="itemPrice">80,100
+												<span class="itemPrice_original">89,000</span>
+												<span class=" itemPercent">10%</span>
+											</p>
+											<div class="itemcolorchip">
+												<span class="chip_color35" value="ABM">BEIGE</span>
+												<span class="chip_color54" value="BDS">BLACK</span>
+												<span class="chip_color40" value="YBR">WHITE</span>
+											</div>
+											<div class="itemComment">#주문 폭주 상품</div>
+										</a>
+									</div>
+								</div>
+							</div>
+							<div class="swiper-slide">
+								<div class="item_prod">
+									<div class="item_state">
+										<button type="button" class="itemLike">관심상품 추가</button>
+										<a href="#none" class="itemLink">
+											<div class="itemPic">
+												<img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
+											</div>
+											<p class="itemBrand">BRAND NAME7</p>
 
-                                            <div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-                                            <p class="itemPrice">80,100
-                                                <span class="itemPrice_original">89,000</span>
-                                                <span class=" itemPercent">10%</span>
-                                            </p>
-                                            <div class="itemcolorchip">
-                                                <span class="chip_color35" value="ABM">BEIGE</span>
-                                                <span class="chip_color54" value="BDS">BLACK</span>
-                                                <span class="chip_color40" value="YBR">WHITE</span>
-                                            </div>
-                                            <div class="itemComment">#주문 폭주 상품</div>
-                                        </a>
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="swiper-slide">
-                                <div class="item_prod">
-                                    <div class="item_state">
-                                        <a href="#none" class="itemLink">
-                                            <div class="itemPic">
-                                                <img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
-                                                <button type="button" class="itemLike">관심상품 추가</button>
-                                            </div>
-                                            <p class="itemBrand">BRAND NAME8</p>
-                                            <div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-                                            <p class="itemPrice">80,100
-                                                <span class="itemPrice_original">89,000</span>
-                                                <span class=" itemPercent">10%</span>
-                                            </p>
-                                            <div class="itemcolorchip">
-                                                <span class="chip_color35" value="ABM">BEIGE</span>
-                                                <span class="chip_color54" value="BDS">BLACK</span>
-                                                <span class="chip_color40" value="YBR">WHITE</span>
-                                            </div>
-                                            <div class="itemComment">#주문 폭주 상품</div>
-                                        </a>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
-                        <!-- Add Pagination -->
-                        <div class="swiper-pagination"></div>
-                    </div>
-                    <!-- Add Arrows -->
-                    <div class="swiper-button-next"></div>
-                    <div class="swiper-button-prev"></div>
-                </div>
-            </div>
-        </div>
-    </div>
-</div>
-<!-- // container -->
+											<div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+											<p class="itemPrice">80,100
+												<span class="itemPrice_original">89,000</span>
+												<span class=" itemPercent">10%</span>
+											</p>
+											<div class="itemcolorchip">
+												<span class="chip_color35" value="ABM">BEIGE</span>
+												<span class="chip_color54" value="BDS">BLACK</span>
+												<span class="chip_color40" value="YBR">WHITE</span>
+											</div>
+											<div class="itemComment">#주문 폭주 상품</div>
+										</a>
+									</div>
+								</div>
+							</div>
+							<div class="swiper-slide">
+								<div class="item_prod">
+									<div class="item_state">
+										<button type="button" class="itemLike">관심상품 추가</button>
+										<a href="#none" class="itemLink">
+											<div class="itemPic">
+												<img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
+											</div>
+											<p class="itemBrand">BRAND NAME8</p>
+											<div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+											<p class="itemPrice">80,100
+												<span class="itemPrice_original">89,000</span>
+												<span class=" itemPercent">10%</span>
+											</p>
+											<div class="itemcolorchip">
+												<span class="chip_color35" value="ABM">BEIGE</span>
+												<span class="chip_color54" value="BDS">BLACK</span>
+												<span class="chip_color40" value="YBR">WHITE</span>
+											</div>
+											<div class="itemComment">#주문 폭주 상품</div>
+										</a>
+									</div>
+								</div>
+							</div>
+						</div>
+						<!-- Add Pagination -->
+						<div class="swiper-pagination"></div>
+					</div>
+					<!-- Add Arrows -->
+					<div class="swiper-button-next"></div>
+					<div class="swiper-button-prev"></div>
+				</div>
+			</div>
+		</div>
+	</div>
+	<!-- // container -->
 
 <!-- 쿠폰사용안내 팝업 -->
 <div class="modal fade od_pop cpinfo_pop" id="cpinfoPop" tabindex="-1" role="dialog" aria-labelledby="cpinfoLabel" aria-hidden="true">

+ 345 - 0
src/main/webapp/WEB-INF/views/web/cart/CartListFormWeb_20210319.html

@@ -0,0 +1,345 @@
+<!DOCTYPE html>
+<html lang="ko"
+      xmlns:th="http://www.thymeleaf.org"
+      xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
+      layout:decorator="web/common/layout/DefaultLayoutWeb">
+
+<!--
+ *******************************************************************************
+ * @source  : cartListFormWeb
+ * @desc    : 장바구니
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.02.02   xodud1202   최초 작성
+ *******************************************************************************
+ -->
+<body>
+
+<th:block layout:fragment="content">
+
+    <!-- payment.js -->
+    <script type="text/javascript" th:src="${@environment.getProperty('pg.kcp.js.url')}" src=""></script>
+    <script type="text/javascript" src="/ux/pc/js/payment.js"></script>
+
+    <!--  container -->
+    <div id="container" class="container od">
+        <div class="wrap">
+            <div class="content shopping_bag"> <!-- 페이지특정 클래스 = shop_bag -->
+                <div class="cont_head">
+                    <h2>쇼핑백</h2>
+                    <div class="oder_steps">
+                        <ul>
+                        <li class="on">01 쇼핑백</li>
+                        <li>02 주문/결제</li>
+                        <li>03 주문완료</li>
+                    </ul>
+                </div>
+            </div>
+            <div id="cartAjaxList" class="cont_body">
+
+            </div>
+        </div>
+        <div class="content shopping_bag mt100">
+            <div class="cont_head">
+                <h4 class="subH1 t_c mb40">추천상품</h4>
+            </div>
+            <div class="cont_body">
+                <div class="od_recommend">
+                    <div class="swiper-container">
+                        <div class="swiper-wrapper">
+                            <div class="swiper-slide">
+                                <div class="item_prod">
+                                    <div class="item_state">
+                                        <a href="#none" class="itemLink">
+                                            <div class="itemPic">
+                                                <img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
+                                                <button type="button" class="itemLike">관심상품 추가</button>
+                                            </div>
+                                            <p class="itemBrand">BRAND NAME1</p>
+                                            <div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+                                            <p class="itemPrice">80,100
+                                                <span class="itemPrice_original">89,000</span>
+                                                <span class=" itemPercent">10%</span>
+                                            </p>
+                                            <div class="itemcolorchip">
+                                                <span class="chip_color35" value="ABM">BEIGE</span>
+                                                <span class="chip_color54" value="BDS">BLACK</span>
+                                                <span class="chip_color40" value="YBR">WHITE</span>
+                                            </div>
+                                            <div class="itemComment">#주문 폭주 상품</div>
+                                        </a>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="swiper-slide">
+                                <div class="item_prod">
+                                    <div class="item_state">
+                                        <a href="#none" class="itemLink">
+                                            <div class="itemPic">
+                                                <img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
+                                                <button type="button" class="itemLike">관심상품 추가</button>
+                                            </div>
+                                            <p class="itemBrand">BRAND NAME2</p>
+                                            <div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+                                            <p class="itemPrice">80,100
+                                                <span class="itemPrice_original">89,000</span>
+                                                <span class=" itemPercent">10%</span>
+                                            </p>
+                                            <div class="itemcolorchip">
+                                                <span class="chip_color35" value="ABM">BEIGE</span>
+                                                <span class="chip_color54" value="BDS">BLACK</span>
+                                                <span class="chip_color40" value="YBR">WHITE</span>
+                                            </div>
+                                            <div class="itemComment">#주문 폭주 상품</div>
+                                        </a>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="swiper-slide">
+                                <div class="item_prod">
+                                    <div class="item_state">
+                                        <a href="#none" class="itemLink">
+                                            <div class="itemPic">
+                                                <img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
+                                                <button type="button" class="itemLike">관심상품 추가</button>
+                                            </div>
+                                            <p class="itemBrand">BRAND NAME3</p>
+                                            <div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+                                            <p class="itemPrice">80,100
+                                                <span class="itemPrice_original">89,000</span>
+                                                <span class=" itemPercent">10%</span>
+                                            </p>
+                                            <div class="itemcolorchip">
+                                                <span class="chip_color35" value="ABM">BEIGE</span>
+                                                <span class="chip_color54" value="BDS">BLACK</span>
+                                                <span class="chip_color40" value="YBR">WHITE</span>
+                                            </div>
+                                            <div class="itemComment">#주문 폭주 상품</div>
+                                        </a>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="swiper-slide">
+                                <div class="item_prod">
+                                    <div class="item_state">
+                                        <a href="#none" class="itemLink">
+                                            <div class="itemPic">
+                                                <img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
+                                                <button type="button" class="itemLike">관심상품 추가</button>
+                                            </div>
+                                            <p class="itemBrand">BRAND NAME4</p>
+                                            <div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+                                            <p class="itemPrice">80,100
+                                                <span class="itemPrice_original">89,000</span>
+                                                <span class=" itemPercent">10%</span>
+                                            </p>
+                                            <div class="itemcolorchip">
+                                                <span class="chip_color35" value="ABM">BEIGE</span>
+                                                <span class="chip_color54" value="BDS">BLACK</span>
+                                                <span class="chip_color40" value="YBR">WHITE</span>
+                                            </div>
+                                            <div class="itemComment">#주문 폭주 상품</div>
+                                        </a>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="swiper-slide">
+                                <div class="item_prod">
+                                    <div class="item_state">
+                                        <a href="#none" class="itemLink">
+                                            <div class="itemPic">
+                                                <img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
+                                                <button type="button" class="itemLike">관심상품 추가</button>
+                                            </div>
+                                            <p class="itemBrand">BRAND NAME5</p>
+                                            <div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+                                            <p class="itemPrice">80,100
+                                                <span class="itemPrice_original">89,000</span>
+                                                <span class=" itemPercent">10%</span>
+                                            </p>
+                                            <div class="itemcolorchip">
+                                                <span class="chip_color35" value="ABM">BEIGE</span>
+                                                <span class="chip_color54" value="BDS">BLACK</span>
+                                                <span class="chip_color40" value="YBR">WHITE</span>
+                                            </div>
+                                            <div class="itemComment">#주문 폭주 상품</div>
+                                        </a>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="swiper-slide">
+                                <div class="item_prod">
+                                    <div class="item_state">
+                                        <a href="#none" class="itemLink">
+                                            <div class="itemPic">
+                                                <img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
+                                                <button type="button" class="itemLike">관심상품 추가</button>
+                                            </div>
+                                            <p class="itemBrand">BRAND NAME6</p>
+
+                                            <div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+                                            <p class="itemPrice">80,100
+                                                <span class="itemPrice_original">89,000</span>
+                                                <span class=" itemPercent">10%</span>
+                                            </p>
+                                            <div class="itemcolorchip">
+                                                <span class="chip_color35" value="ABM">BEIGE</span>
+                                                <span class="chip_color54" value="BDS">BLACK</span>
+                                                <span class="chip_color40" value="YBR">WHITE</span>
+                                            </div>
+                                            <div class="itemComment">#주문 폭주 상품</div>
+                                        </a>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="swiper-slide">
+                                <div class="item_prod">
+                                    <div class="item_state">
+                                        <a href="#none" class="itemLink">
+                                            <div class="itemPic">
+                                                <img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
+                                                <button type="button" class="itemLike">관심상품 추가</button>
+                                            </div>
+                                            <p class="itemBrand">BRAND NAME7</p>
+
+                                            <div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+                                            <p class="itemPrice">80,100
+                                                <span class="itemPrice_original">89,000</span>
+                                                <span class=" itemPercent">10%</span>
+                                            </p>
+                                            <div class="itemcolorchip">
+                                                <span class="chip_color35" value="ABM">BEIGE</span>
+                                                <span class="chip_color54" value="BDS">BLACK</span>
+                                                <span class="chip_color40" value="YBR">WHITE</span>
+                                            </div>
+                                            <div class="itemComment">#주문 폭주 상품</div>
+                                        </a>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="swiper-slide">
+                                <div class="item_prod">
+                                    <div class="item_state">
+                                        <a href="#none" class="itemLink">
+                                            <div class="itemPic">
+                                                <img alt="BLACK-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
+                                                <button type="button" class="itemLike">관심상품 추가</button>
+                                            </div>
+                                            <p class="itemBrand">BRAND NAME8</p>
+                                            <div class=" itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
+                                            <p class="itemPrice">80,100
+                                                <span class="itemPrice_original">89,000</span>
+                                                <span class=" itemPercent">10%</span>
+                                            </p>
+                                            <div class="itemcolorchip">
+                                                <span class="chip_color35" value="ABM">BEIGE</span>
+                                                <span class="chip_color54" value="BDS">BLACK</span>
+                                                <span class="chip_color40" value="YBR">WHITE</span>
+                                            </div>
+                                            <div class="itemComment">#주문 폭주 상품</div>
+                                        </a>
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                        <!-- Add Pagination -->
+                        <div class="swiper-pagination"></div>
+                    </div>
+                    <!-- Add Arrows -->
+                    <div class="swiper-button-next"></div>
+                    <div class="swiper-button-prev"></div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<!-- // container -->
+
+<!-- 쿠폰사용안내 팝업 -->
+<div class="modal fade od_pop cpinfo_pop" id="cpinfoPop" tabindex="-1" role="dialog" aria-labelledby="cpinfoLabel" aria-hidden="true">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title" id="cpinfoLabel">쿠폰사용안내</h5>
+            </div>
+            <div class="modal-body">
+                <div class="pop_cont">
+                    쿠폰사용안내 내용입니다.
+                </div>
+            </div>
+            <div class="modal-footer"></div>
+        </div>
+    </div>
+</div>
+<!-- //쿠폰사용안내 팝업 -->
+
+<script src="/ux/pc/js/swiper.min.js"></script>
+<link rel="stylesheet" type="text/css" href="/ux/pc/css/swiper.min.css" />
+
+<script type="text/javascript">
+    $(document).ready(function() {
+        // 장바구니 상품 정보 select
+        getCartList();
+    });
+
+    function getCartList() {
+        // 장바구니 정보 조회
+        $.ajax( {
+            type: "POST",
+            url : '/cart/goods/list',
+            dataType : 'html',
+            success : function(result) {
+                if (result != null) {
+                    $("#cartAjaxList").html(result);
+                }
+            }
+        });
+    }
+
+    //상품옵션변경 팝업 > 수량조절
+    $(document).on('click','.opt_modify_pop .number_count .minus',function(e){
+        var $input = $(this).parent().find('input');
+        var count = parseInt($input.val()) - 1;
+        count = count < 1 ? 1 : count;
+        $input.val(count);
+        $input.change();
+        return false;
+    }).on('click','.opt_modify_pop .number_count .plus',function(e){
+        var $input = $(this).parent().find('input');
+        $input.val(parseInt($input.val()) + 1);
+        $input.change();
+        return false;
+    });
+
+    //상품옵션변경 팝업 > 컬러선택 표기
+    $(document).on('click','.opt_modify_pop .opt_color ul li a',function(e){
+        $(this).parents('.opt_color').find('li a').removeClass('on');
+        $(this).addClass('on');
+        var optColor = $(this).find("img").attr('alt');
+        $(this).parent().parent().parent().find(".color").text(optColor);
+        return false;
+    });
+
+    $(function(){
+        //추천상품 슬라이드
+        var rcmdItemSwiper = new Swiper('.od_recommend .swiper-container', {
+            slidesPerView: 5,
+            spaceBetween: 0,
+            navigation: {
+                nextEl: '.od_recommend .swiper-button-next',
+                prevEl: '.od_recommend .swiper-button-prev',
+            },
+            pagination: {
+                el: '.od_recommend .swiper-pagination',
+                clickable: true,
+            },
+        });
+    });
+</script>
+</th:block>
+</body>
+</html>

+ 2 - 2
src/main/webapp/WEB-INF/views/web/common/fragments/GnbWeb.html

@@ -200,12 +200,12 @@
 					$.each(cate1.cate2List, function(idx2, cate2) {
 						tag += '					<li>\n';
 						tag += '						<a href="javascript:void(0);" onclick="cfnGoToCategoryMain(\'' + cate2.cateGb + '\',\'' + cate2.cate1No + '\',\'' + cate2.cate2No + '\');">' + cate2.cate2Nm + '</a>\n';
-						if (cate2.leafYn == 'N' && cate2.cate3List.length > 0) {
+						if (cate2.leafYn == 'N' && cate2.cate3List != null && cate2.cate3List.length > 0) {
 							tag += '						<ul class="box_depth2">\n';
 							$.each(cate2.cate3List, function(idx3, cate3) {
 								tag += '							<li>\n';
 								tag += '								<a href="javascript:void(0);" onclick="cfnGoToCategoryMain(\'' + cate3.cateGb + '\',\'' + cate3.cate1No + '\',\'' + cate3.cate2No + '\',\'' + cate3.cate3No + '\');">' + cate3.cate3Nm + '</a>\n';
-								if (cate3.leafYn == 'N' && cate3.cate4List.length > 0) {
+								if (cate3.leafYn == 'N' && cate3.cate4List != null && cate3.cate4List.length > 0) {
 									tag += '								<ul class="box_depth3">\n';
 									$.each(cate3.cate4List, function(idx4, cate4) {
 										tag += '									<li><a href="javascript:void(0);" onclick="cfnGoToCategoryMain(\'' + cate4.cateGb + '\',\'' + cate4.cate1No + '\',\'' + cate4.cate2No + '\',\'' + cate4.cate3No + '\',\'' + cate4.cate4No + '\');">' + cate4.cate4Nm + '</a></li>\n';

+ 3 - 1
src/main/webapp/WEB-INF/views/web/common/fragments/HeadWeb.html

@@ -19,6 +19,7 @@
 	<meta property="og:locale" content="ko_KR"/>
 	<meta property="og:site_name" th:content="${metaBrowserTitle}" content="한세공식몰 스타일24"/>
 	
+	<!-- 추천솔루션 meta -->
 	<meta property="eg:cuid" content="" />
 	<meta property="eg:itemId" content="" />
 	<meta property="eg:itemName" content="" />
@@ -40,6 +41,7 @@
 	<meta property="eg:extraImage" content="" />
 	<meta property="eg:locale" content="" />
 	<meta property="eg:etc1" content="" />
+	<!-- 추천솔루션 meta -->
 	
 	<title th:text="${metaBrowserTitle}">한세공식몰 스타일24</title>
 	<link rel="icon" th:href="@{/images/favicon.ico}" href="favicon.ico" type="image/x-icon"/>
@@ -100,7 +102,7 @@
 		}
 		var eglqueueCuid = '1252aed4-78dc-46e8-b784-94ac42e86dd4';
 		var hCustId = gCustId ? hex_sha512(gCustId).toString().hashCode() : '';
-		var hEmail = gCustId ? hex_sha512(gEmail).toString().hashCode() : '';
+		var hEmail = gEmail;
 		
 		/* Eiengine Script (Visit) */
 		window._eglqueue = window._eglqueue || [];

+ 14 - 7
src/main/webapp/WEB-INF/views/web/goods/GoodsDetailFormWeb.html

@@ -206,7 +206,7 @@
 												<ul class="list">
 													<li class="selected" id="selfNoGoodsOpt">선택</li> 
 													<th:block th:each="goodsOption, status : ${goodsOptionList}" >
-													<li th:attr="aria-disabled=${(goodsOption.soldoutYn == 'Y' or goodsOption.stockQty <= 0)? 'true':''}, data-soldout=${(goodsOption.soldoutYn == 'Y' or goodsOption.stockQty <= 0)? 'true':''}">
+													<li th:attr="aria-disabled=${(goodsOption.soldoutYn == 'Y' or goodsOption.stockQty <= 0)? 'true':''}, data-soldout=${(goodsOption.soldoutYn == 'Y' or goodsOption.stockQty <= 0)? 'true':''}" th:onclick="jfViewStock(this, [[${goodsInfo.goodsCd}]],[[${goodsOption.optCd1}]],[[${goodsOption.optCd}]],[[${goodsInfo.minOrdQty}]], [[${goodsInfo.maxOrdQty}]] )">
 														<div th:text="${goodsOption.optNm}">상품옵션</div>
 														<div th:if="${goodsOption.addPrice > 0}" th:text="|${#numbers.formatInteger(goodsOption.addPrice, 0,'COMMA')}원|">0원</div>
 														<input type="hidden" name="opt"  th:id="${goodsOption.optCd}" th:attr="addPrice=${goodsOption.addPrice}, optCd1=${goodsOption.optCd1},optCd2=${goodsOption.optCd2}, optCd=${goodsOption.optCd}"/>
@@ -284,7 +284,7 @@
 										<!-- 베스트 리뷰 등록시 노출 -->
 										<div class="best_review" th:if="${bestReviewList != null and !bestReviewList.empty}">
 											<th:block th:each="bestReview, status : ${bestReviewList}" th:if="${status.first}">
-											<a href="javascript:void(0);" id="btn_pdBestReview_pop"  th:onclick="cfGoodsBestReview([[${goodsInfo.goodsCd}]])" >
+											<a href="javascript:void(0);" id="btn_pdBestReview_pop"  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 클래스 추가 -->
@@ -703,19 +703,26 @@
 	//사이즈 클릭시
 	var jfViewStock = function(obj, goodsCd, optCd1, optCd2,  minOrdQty, maxOrdQty) {
 		var $obj = $(obj);
-
-		var $target = $obj.parent().parent().children('input[name="opt"]');
-		$target.prop("checked",true);
+		var selfGoodsYn = $("#cartForm  input[name=selfGoodsYn]").val();
+		var $target = null;
+		if (selfGoodsYn == "Y"){
+			$target = $obj.parent().parent().children('input[name="opt"]');
+			$target.prop("checked",true);
+			$("#selectOptCd1").html(optCd2);
+		}else{
+			$target = $obj.children('input[name="opt"]');
+			
+		}
 		var addPrice  = $target.attr("addPrice");
 		var optCd  = $target.attr("optCd");
-		$("#selectOptCd1").html(optCd2);
+		
 		if (Number(addPrice) > 0) $("#selectOptCd1addPrice").html("(+" + addPrice.addComma() + ")");
 		$("#cartForm  input[name=optCd]").val(optCd);
 		$("#cartForm  input[name=optCd1]").val(optCd1);
 		$("#cartForm  input[name=optCd2]").val(optCd2);
 		$("#cartForm  input[name=addPrice]").val(addPrice);
 		$("#cartForm  input[name=ordQty]").val("");
-		var selfGoodsYn = $("#cartForm  input[name=selfGoodsYn]").val();
+		
 
 		var maxCnt = maxOrdQty;
 		var params = new Object();

+ 7 - 1
src/main/webapp/WEB-INF/views/web/goods/GoodsReviewBestFormWeb.html → src/main/webapp/WEB-INF/views/web/goods/GoodsReviewDetailFormWeb.html

@@ -17,7 +17,13 @@
 <div class="modal-dialog" role="document" th:with="imgGoodsUrl=${@environment.getProperty('upload.goods.view')}, imgUrl=${@environment.getProperty('upload.image.view')}">
 	<div class="modal-content">
 		<div class="modal-header">
+			<th:block th:if="${review.bestYn == 'Y'}">
 			<h5 class="modal-title" id="pdBestReviewLabel">베스트 리뷰</h5>
+			</th:block>
+			<th:block th:unless="${review.bestYn == 'Y'}">
+			<h5 class="modal-title" id="pdPhotoReviewDetailLabel">포토/영상 리뷰</h5>
+			<button type="button" id="btn_pdPhotoReviewList_pop" th:onclick="cfGoodsReviewPhoto([[${params.goodsCd}]])"  class="btn_more"><span>전체보기</span></button>
+			</th:block>
 		</div>
 		<div class="modal-body" th:if="${reviewList != null and !reviewList.empty}">
 			<div class="pop_cont">
@@ -136,7 +142,7 @@
 								<div class="thumblist" th:if="${review.reviewAttachList != null and !review.reviewAttachList.empty and #lists.size(review.reviewAttachList) >= 2}">
 									<ul>
 										<li th:each="reviewAttach, attachStatus : ${review.reviewAttachList}">
-											<div class="pic" th:classAppend="${(attachStatus.first) ? 'active' :''}" >><!-- 활성화시 active 클래스 추가 -->
+											<div class="pic" th:classAppend="${(attachStatus.first) ? 'active' :''}" ><!-- 활성화시 active 클래스 추가 -->
 												<span class="thumb" th:classAppend="${(reviewAttach.fileGb == 'M') ? 'mov' :''}"  th:style="${'background-image:url('+imgUrl+ reviewAttach.sysFileNm+');'}" ></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
 											</div>
 										</li>

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

@@ -322,15 +322,14 @@
 					<div class="swiper-wrapper">
 						<div class="swiper-slide" th:each="bestReview, status : ${bestReviewList}" >
 							<div class="best_review">
-								<a href="javascript:void(0);" th:onclick="cfGoodsBestReview([[${goodsInfo.goodsCd}]])" >
+								<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}">
 										<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">
-										<img th:src="${imgGoodsUrl+'/'+goodsInfo.sysImgNm}" alt="">
+										<span class="thumb" th:style="${'background-image:url('+imgGoodsUrl+ '/'+goodsInfo.sysImgNm+');'}">
 										</span>
 									</div>
 									<div class="star_score" th:with="starScore=${#numbers.formatDecimal((bestReview.score*100/5), 0,0)}">
@@ -357,7 +356,7 @@
 							<th:block th:if="${photoReview.reviewAttachList != null and !photoReview.reviewAttachList.empty}">
 							<th:block th:each="reviewAttach, attachStatus : ${photoReview.reviewAttachList}" th:if="${attachStatus.first}">
 							
-							<a href="javascript:void(0);" th:onclick="cfGoodsReviewPhotoDetail([[${goodsInfo.goodsCd}]])">
+							<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 클래스 추가 -->
 								</div>
@@ -368,7 +367,7 @@
 						
 					</ul>
 					<!-- 포토영상 게시글 최대 7개 & 버튼노출 -->
-					<th:block th:if="${#lists.size(photoReviewList) >= 8}">
+					<th:block th:if="${#lists.size(photoReviewList) >= 1}"> <!-- 나중에 8로 수정 -->
 					<button type="button" id="btn_more_photoreview" th:onclick="cfGoodsReviewPhoto([[${goodsInfo.goodsCd}]])" ><span>더 보기</span></button>
 					<!-- //포토영상 게시글 최대 7개 & 버튼노출 -->
 					</th:block>
@@ -377,84 +376,81 @@
 			<div class="area_rv_all">
 			<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"/>
+			<input type="hidden" name="pageSize" value ="1"/>
 			<input type="hidden" name="goodsCd" th:value ="${goodsInfo.goodsCd}"/>
 			<input type="hidden" name="goodsType" th:value ="${goodsInfo.goodsType}"/>
-				<h6>전체리뷰<span>(9,999+)</span></h6>
+			<input type="hidden" name="reviewScore" />
+			<input type="hidden" name="reviewOption" />
+			<input type="hidden" name="reviewHeight" />
+			<input type="hidden" name="reviewWeight" />
+			
+				<h6>전체리뷰<span>(<span id="reviewCount" th:text="${(reviewCount <= 9999) ? #numbers.formatInteger(reviewCount, 0,'COMMA') : '9,999+'}">9,999+</span>)</span></h6>
 				<div class="selection">
-					<form class="form_wrap">
-						<div class="form_field">
-							<div class="select_custom sort_opt1">
-								<div class="combo">
-									<div class="select">평점 전체</div>
-									<ul class="list">
-										<!-- 선택처리 class="selected" -->
-										<li class="selected">평점 전체</li> 
-										<li>5점&nbsp;&starf;&starf;&starf;&starf;&starf;</li>
-										<li>4점&nbsp;&starf;&starf;&starf;&starf;</li>
-										<li>3점&nbsp;&starf;&starf;&starf;</li>
-										<li>2점&nbsp;&starf;&starf;</li>
-										<li>1점&nbsp;&starf;</li>
-									</ul>
-								</div>
+					<div class="form_field">
+						<div class="select_custom sort_opt1">
+							<div class="combo">
+								<div class="select">평점 전체<input type="hidden" name="selScore" value=""/></div>
+								<ul class="list" onclick="jfReviewSearch();" >
+									<!-- 선택처리 class="selected" -->
+									<li class="selected" >평점 전체<input type="hidden" name="selScore" value=""/></li> 
+									<li>5점&nbsp;&starf;&starf;&starf;&starf;&starf;<input type="hidden" name="selScore" value="5"/></li>
+									<li>4점&nbsp;&starf;&starf;&starf;&starf;<input type="hidden" name="selScore" value="4" scoreId="4"/></li>
+									<li>3점&nbsp;&starf;&starf;&starf;<input type="hidden" name="selScore" value="3"/></li>
+									<li>2점&nbsp;&starf;&starf;<input type="hidden" name="selScore" value="2"/></li>
+									<li>1점&nbsp;&starf;<input type="hidden" name="selScore" value="1"/></li>
+								</ul>
 							</div>
-							<div class="select_custom sort_opt2">
-								<div class="combo">
-									<div class="select" th:text="${(goodsInfo.selfGoodsYn == 'Y')? '사이즈 전체' :'옵션 전체'}">사이즈 전체</div>
-									<ul class="list">
-										<!-- 선택처리 class="selected" -->
-										<li class="selected" th:text="${(goodsInfo.selfGoodsYn == 'Y')? '사이즈 전체' :'옵션 전체'}">사이즈 전체</li> 
-										<li>90</li>
-										<li>95</li>
-										<li>100</li>
-										<li>105</li>
-										<li>110</li>
-									</ul>
-								</div>
+						</div>
+						<div class="select_custom sort_opt2" th:if="${reviewOptionList != null and !reviewOptionList.empty}">
+							<div class="combo">
+								<th:block th:if="${(goodsInfo.selfGoodsYn == 'Y')}">
+								<div class="select">사이즈 전체<input type="hidden" name="selOption" value=""/></div>
+								</th:block>
+								<th:block th:unless="${(goodsInfo.selfGoodsYn == 'Y')}">
+								<div class="select">옵션 전체<input type="hidden" name="selOption" value=""/></div>
+								</th:block>
+								<ul class="list" onclick="jfReviewSearch();">
+									<!-- 선택처리 class="selected" -->
+									<li class="selected" th:text="${(goodsInfo.selfGoodsYn == 'Y')? '사이즈 전체' :'옵션 전체'}">사이즈 전체</li> 
+									<li th:each="reviewOption, status : ${reviewOptionList}" >
+									<th:block th:text="${reviewOption.optCd2}"></th:block>
+									<input type="hidden" name="selOption" th:value="${reviewOption.optCd2}"/>
+									</li>
+								</ul>
 							</div>
-							<div class="select_custom sort_opt3">
-								<div class="combo">
-									<div class="select">키 전체</div>
-									<ul class="list">
-										<!-- 선택처리 class="selected" -->
-										<li class="selected">키 전체</li> 
-										<li>150cm 이하</li>
-										<li>150~155cm</li>
-										<li>155~160cm</li>
-										<li>160~165cm</li>
-										<li>165~170cm</li>
-										<li>175~180cm</li>
-										<li>185~190cm</li>
-										<li>190~200cm</li>
-									</ul>
-								</div>
+						</div>
+						<div class="select_custom sort_opt3" th:if="${reviewHeightList != null and !reviewHeightList.empty}">
+							<div class="combo">
+								<div class="select">키 전체<input type="hidden" name="selHeight" value=""/></div>
+								<ul class="list" onclick="jfReviewSearch();">
+									<!-- 선택처리 class="selected" -->
+									<li class="selected">키 전체<input type="hidden" name="selHeight" value=""/></li> 
+									<li th:each="reviewHeight, status : ${reviewHeightList}" >
+									<th:block th:text="${reviewHeight.cdNm}"></th:block>
+									<input type="hidden" name="selHeight" th:value="${reviewHeight.cd}"/>
+									</li>
+								</ul>
 							</div>
-							<div class="select_custom sort_opt4">
-								<div class="combo">
-									<div class="select">몸무게 전체</div>
-									<ul class="list">
-										<!-- 선택처리 class="selected" -->
-										<li class="selected">몸무게 전체</li> 
-										<li>40kg 이하</li>
-										<li>40~45kg</li>
-										<li>45~50kg</li>
-										<li>50~55kg</li>
-										<li>55~60kg</li>
-										<li>60~65kg</li>
-										<li>65~70kg</li>
-										<li>75~80kg</li>
-										<li>85~85kg</li>
-										<li>90~95kg</li>
-									</ul>
-								</div>
+						</div>
+						<div class="select_custom sort_opt4" th:if="${reviewWeightList != null and !reviewWeightList.empty}">
+							<div class="combo">
+								<div class="select">몸무게 전체<input type="hidden" name="selWeight" value=""/></div>
+								<ul class="list" onclick="jfReviewSearch();">
+									<!-- 선택처리 class="selected" -->
+									<li class="selected">몸무게 전체<input type="hidden" name="selWeight" value=""/></li> 
+									<li th:each="reviewWeight, status : ${reviewWeightList}" >
+									<th:block th:text="${reviewWeight.cdNm}"></th:block>
+									<input type="hidden" name="selWeight" th:value="${reviewWeight.cd}"/>
+									</li>
+									
+								</ul>
 							</div>
-						</div>				
-					</form>
+						</div>
+					</div>
 				</div>
 				<!-- 나열조건결과 있을 때 노출 내용 -->
 				<div class="review_list">
 					<ul  id="ulGoodsReviewQna">
-						
 					</ul>
 				</div>
 				<div class="ui_row">
@@ -471,7 +467,7 @@
 						</p>
 					</div>
 					<div class="btn_box">
-						<button class="btn btn_default"><span>선택한 조건 초기화</span></button>
+						<button type="button" class="btn btn_default" onclick="jfReviewSearchInit();"><span>선택한 조건 초기화</span></button>
 					</div>
 				</div>
 				<!-- //나열조건결과 없을 때 노출 내용 -->
@@ -492,7 +488,7 @@
 			$('#goodsReviewForm  input[name="secretYn"]').val('N');
 		} */
 		// Initialize a pagination
-		gagaPaging.init('goodsReviewForm', fnGetListCallback, 'pageNav', 20);
+		gagaPaging.init('goodsReviewForm', fnGetListCallback, 'pageNav', 1);
 
 		// Load data
 		gagaPaging.load(1);
@@ -501,6 +497,7 @@
 	var fnGetListCallback = function(result) {
 		$('#ulGoodsReviewQna').html('');
 		$('.nodata').hide();
+		$('.ui_row').show();
 		// 목록
 		if (result.dataList != null && result.dataList.length > 0) {
 			
@@ -510,7 +507,7 @@
 				tag += '	<div class="info_box">\n';
 				tag += '		<div class="star_score">\n';
 				tag += '			<span class="star">\n';
-				tag += '				<em class="progbar" style="width:70%;"></em>\n'; //<!-- 평점 style로 표기 -->
+				tag += '				<em class="progbar" style="width:'+(item.score*20)+'%;"></em>\n'; //<!-- 평점 style로 표기 -->
 				tag += '			</span>\n';
 				tag += '		</div>\n';
 				tag += '		<div class="writer">\n';
@@ -523,7 +520,11 @@
 				tag += '			<dl>\n';
 				tag += '				<div>\n';
 				tag += '					<dt>구매옵션</dt>\n';
-				tag += '					<dd>'+ item.optCd1 +' / '+ item.optCd2 +'</dd>\n';
+				if (item.goodsOptionList != null && item.goodsOptionList.length > 0){
+					$.each(item.goodsOptionList, function(gIdx, goodsOption){
+				tag += '					<dd>'+ goodsOption.optCd1 +' / '+ goodsOption.optCd2 +'</dd>\n';		
+					});
+				}
 				tag += '				</div>\n';
 				tag += '			</dl>\n';
 				tag += '		</div>\n';
@@ -533,7 +534,7 @@
 				tag += '					<dt>키/몸무게</dt>\n';
 				tag += '					<dd>'+ item.height +'cm/'+ item.weight +'kg</dd>\n';
 				tag += '				</div>\n';
-				if (!gagajf.isNuil(item.sizeGb) ){	// 사이즈구분값이 있을경우 노출
+				if (!gagajf.isNull(item.sizeGb) ){	// 사이즈구분값이 있을경우 노출
 					tag += '				<div>\n';
 					tag += '					<dt>사이즈</dt>\n';
 					tag += '					<dd>'+ item.scoreSizeNm +'</dd>\n';
@@ -570,19 +571,24 @@
 				tag += '		<div class="photo_list">\n';
 				tag += '			<ul>\n';
 				if (item.reviewAttachList != null && item.reviewAttachList.length > 0){
-					tag += '				<li>\n';
-					tag += '					<a href="">\n';
-					tag += '						<div class="pic">\n';
-					tag += '							<span class="thumb mov" style="background-image:url(\'/images/pc/thumb/tmp_pdLookbook3.jpg\');"></span>\n'; //<!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
-					tag += '						</div>\n';
-					tag += '					</a>\n';
-					tag += '				</li>\n';
+					var fileGbClass = '';
+					$.each(item.reviewAttachList, function(aIdx, reviewAttach){
+						fileGbClass = '';
+						if (reviewAttach == "M") fileGbClass = "mov";
+				tag += '				<li>\n';
+				tag += '					<a href="javascript:void();" onclick="cfGoodsBestReview(\''+item.goodsCd+'\');">\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';		
+					});	
 				}
 				tag += '			</ul>\n';
 				tag += '		</div>\n';
 				tag += '	</div>\n';
 				tag += '	<div class="txt_review_box">\n';
-				tag += '		<p>' + item.reviewContent '+</p>\n';
+				tag += '		<p>' + item.reviewContent +'</p>\n';
 				tag += '	</div>\n';
 				if (!gagajf.isNull(item.admRpl)){
 					tag += '	<div class="reply_box">\n';
@@ -611,6 +617,49 @@
 		gagaPaging.createPagination(result.paging.pageable);
 	}
 	
+	// 상품평 검색조건 클릭시
+	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();
+		
+		var changFlag = false;
+		if ($('#goodsReviewForm input[name=reviewScore]').val() != reviewScore){
+			changFlag = true;
+		}else if ($('#goodsReviewForm input[name=reviewOption]').val() != reviewOption){
+			changFlag = true;
+		}else if ($('#goodsReviewForm input[name=reviewHeight]').val() != reviewHeight){
+			changFlag = true;
+		}else if ($('#goodsReviewForm input[name=reviewWeight]').val() != reviewWeight){
+			changFlag = true;
+		}
+		
+		$('#goodsReviewForm input[name=reviewScore]').val(reviewScore);
+		$('#goodsReviewForm input[name=reviewOption]').val(reviewOption);
+		$('#goodsReviewForm input[name=reviewHeight]').val(reviewHeight);
+		$('#goodsReviewForm input[name=reviewWeight]').val(reviewWeight);
+		
+		if (changFlag) fnGetList();
+		
+	}
+	
+	// 상품평 초기화
+	var jfReviewSearchInit = function(){
+		
+		$('#goodsReviewForm').find('.select_custom.sort_opt1').find('.list li').eq(0).trigger('click')
+		$('#goodsReviewForm').find('.select_custom.sort_opt2').find('.list li').eq(0).trigger('click')
+		$('#goodsReviewForm').find('.select_custom.sort_opt3').find('.list li').eq(0).trigger('click')
+		$('#goodsReviewForm').find('.select_custom.sort_opt4').find('.list li').eq(0).trigger('click')
+		
+		$('#goodsReviewForm input[name=reviewScore]').val('');
+		$('#goodsReviewForm input[name=reviewOption]').val('');
+		$('#goodsReviewForm input[name=reviewHeight]').val('');
+		$('#goodsReviewForm input[name=reviewWeight]').val('');
+		
+		fnGetList();
+	}
+	
 	$(document).ready( function() {
 
 		var sort_selecter01 = new sCombo('.area_rv_all .selection .select_custom.sort_opt1');

+ 0 - 994
src/main/webapp/WEB-INF/views/web/goods/GoodsReviewPhotoDetailFormWeb.html

@@ -1,994 +0,0 @@
-<!DOCTYPE html>
-<html lang="ko"
-	xmlns:th="http://www.thymeleaf.org">
-<!--
- *******************************************************************************
- * @source  : GoodsReviewPhotoDetailFormWeb.html
- * @desc	: 상품평- 포토/영상 리뷰 상세 팝업
- *============================================================================
- * STYLE24
- * Copyright(C) 2020 TSIT, All rights reserved.
- *============================================================================
- * VER  DATE		 AUTHOR	  DESCRIPTION
- * ===  ===========  ==========  =============================================
- * 1.0  2021.03.09   eskim		최초 작성
- *******************************************************************************
- -->
-<div class="modal-dialog" role="document">
-	<div class="modal-content">
-		<div class="modal-header">
-			<h5 class="modal-title" id="pdPhotoReviewDetailLabel">포토/영상 리뷰</h5>
-			<button type="button" id="btn_pdPhotoReviewList_pop" class="btn_more"><span>전체보기</span></button>
-		</div>
-		<div class="modal-body">
-			<div class="pop_cont">
-				<div class="swiper-container detail">
-					<div class="swiper-wrapper">
-						<div class="swiper-slide">
-							<!-- 리뷰내용 -->
-							<div class="review">
-								<div class="pic">
-									<span class="thumb mov"><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
-										<video poster="http://cdn.011st.com/11dims/resize/1999x1999/quality/75/11src/review/60101202/3121440803/5ce466b90b46400f860fe083437140ac.jpg" muted="muted" preload="metadata" controls="controls">
-											<source src="http://snsvideo.11st.co.kr/movie/item/www/662/66238860_06_1_C1.mp4" type="video/mp4">
-										</video>
-									</span>
-								</div>
-								<div class="review_cont">
-									<div class="box_wrap">
-										<div class="star_box">
-											<div class="star_score">
-												<span class="star">
-													<em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-												</span>
-											</div>
-										</div>
-										<div class="response_box">
-											<div class="full">
-												<dl>
-													<div>
-														<dt>구매옵션</dt>
-														<dd>베이지 / 100</dd>
-													</div>
-												</dl>
-											</div>
-											<div class="full">
-												<dl>
-													<div>
-														<dt>키/몸무게</dt>
-														<dd>178cm/71kg</dd>
-													</div>
-												</dl>									
-											</div>
-											<div>
-												<dl>
-													<div>
-														<dt>사이즈</dt>
-														<dd>작음</dd>
-													</div>
-													<div>
-														<dt>컬러</dt>
-														<dd>밝음</dd>
-													</div>
-													<div>
-														<dt>핏</dt>
-														<dd>레귤러</dd>
-													</div>
-													<div>
-														<dt>두께감</dt>
-														<dd>적당함</dd>
-													</div>
-												</dl>
-											</div>
-										</div>
-										<div class="txt_review_box">
-											<p>
-												슬림하게 나와서 핏이 더 이쁩니다. 팔 기장도 수선 안해도 될 것 같고 살짝 접어서 코디해도 멋스러울것 같네요. 편하게 간절기 여기저기 코디하기도 좋을것 같고 추천할 만한 아이템 입니다. 광택이 있는데 심하지않고 너무 고급스러워 보여요. 코트안 이너로 입기도 좋고 니트에 걸치면 겨울 잘지낼 수 있을 것 같아요. 편하게 간절기 여기저기 코디하기도 좋고 추천할 만한 아이템입니다.
-											</p>
-										</div>
-										<div class="writer_box">
-											<div class="writer">
-												<span class="wr_id">ab2****</span>
-												<span class="wr_date">2020.07.15</span>
-											</div>
-										</div>
-										<div class="reply_box">
-											<div class="reply">
-												<div class="reply_writer">
-													<span class="wr_name">관리자</span>
-													<span class="wr_date">2020.07.15</span>
-												</div>
-												<div class="reply_txt">
-													<p>
-														안녕하세요, 스타일24 관리자입니다.<br>
-														최대한 검수작업을 하고 있으나, 상품 출고량이 많은 경우 간혹 검수가 누락되는 경우가 있습니다.<br>
-														만약, 받아보시고 문제가 있을 경우 텍 제거하지마시고 고객센터로 접수 해주시면 처리 도와드리겠습니다.<br>
-														구매해주셔서 감사합니다.												 
-													</p>
-												</div>
-											</div>
-										</div>
-									</div>
-								</div>
-							</div>
-							<!-- //리뷰내용 -->
-						</div>
-						<div class="swiper-slide">
-							<!-- 리뷰내용 -->
-							<div class="review">
-								<div class="pic">
-									<span class="thumb">
-										<img src="/images/pc/thumb/tmp_pdLookbook2.jpg" alt="">
-									</span>
-								</div>
-								<div class="review_cont">
-									<div class="box_wrap">
-										<div class="star_box">
-											<div class="star_score">
-												<span class="star">
-													<em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-												</span>
-											</div>
-										</div>
-										<div class="response_box">
-											<div class="full">
-												<dl>
-													<div>
-														<dt>구매옵션</dt>
-														<dd>베이지 / 100</dd>
-													</div>
-												</dl>
-											</div>
-											<div class="full">
-												<dl>
-													<div>
-														<dt>키/몸무게</dt>
-														<dd>178cm/71kg</dd>
-													</div>
-												</dl>									
-											</div>
-											<div>
-												<dl>
-													<div>
-														<dt>사이즈</dt>
-														<dd>작음</dd>
-													</div>
-													<div>
-														<dt>컬러</dt>
-														<dd>밝음</dd>
-													</div>
-													<div>
-														<dt>핏</dt>
-														<dd>레귤러</dd>
-													</div>
-													<div>
-														<dt>두께감</dt>
-														<dd>적당함</dd>
-													</div>
-												</dl>
-											</div>
-										</div>
-										<div class="txt_review_box">
-											<p>
-												슬림하게 나와서 핏이 더 이쁩니다. 팔 기장도 수선 안해도 될 것 같고 살짝 접어서 코디해도 멋스러울것 같네요. 편하게 간절기 여기저기 코디하기도 좋을것 같고 추천할 만한 아이템 입니다. 광택이 있는데 심하지않고 너무 고급스러워 보여요. 코트안 이너로 입기도 좋고 니트에 걸치면 겨울 잘지낼 수 있을 것 같아요. 편하게 간절기 여기저기 코디하기도 좋고 추천할 만한 아이템입니다.
-											</p>
-										</div>
-										<div class="writer_box">
-											<div class="writer">
-												<span class="wr_id">ab2****</span>
-												<span class="wr_date">2020.07.15</span>
-											</div>
-										</div>
-										<div class="reply_box">
-											<div class="reply">
-												<div class="reply_writer">
-													<span class="wr_name">관리자</span>
-													<span class="wr_date">2020.07.15</span>
-												</div>
-												<div class="reply_txt">
-													<p>
-														안녕하세요, 스타일24 관리자입니다.<br>
-														최대한 검수작업을 하고 있으나, 상품 출고량이 많은 경우 간혹 검수가 누락되는 경우가 있습니다.<br>
-														만약, 받아보시고 문제가 있을 경우 텍 제거하지마시고 고객센터로 접수 해주시면 처리 도와드리겠습니다.<br>
-														구매해주셔서 감사합니다.												 
-													</p>
-												</div>
-											</div>
-										</div>
-									</div>
-								</div>
-							</div>
-							<!-- //리뷰내용 -->
-						</div>
-						<div class="swiper-slide">
-							<!-- 리뷰내용 -->
-							<div class="review">
-								<div class="pic">
-									<span class="thumb">
-										<img src="/images/pc/thumb/tmp_pdLookbook1.jpg" alt="">
-									</span>
-								</div>
-								<div class="review_cont">
-									<div class="box_wrap">
-										<div class="star_box">
-											<div class="star_score">
-												<span class="star">
-													<em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-												</span>
-											</div>
-										</div>
-										<div class="response_box">
-											<div class="full">
-												<dl>
-													<div>
-														<dt>구매옵션</dt>
-														<dd>베이지 / 100</dd>
-													</div>
-												</dl>
-											</div>
-											<div class="full">
-												<dl>
-													<div>
-														<dt>키/몸무게</dt>
-														<dd>178cm/71kg</dd>
-													</div>
-												</dl>									
-											</div>
-											<div>
-												<dl>
-													<div>
-														<dt>사이즈</dt>
-														<dd>작음</dd>
-													</div>
-													<div>
-														<dt>컬러</dt>
-														<dd>밝음</dd>
-													</div>
-													<div>
-														<dt>핏</dt>
-														<dd>레귤러</dd>
-													</div>
-													<div>
-														<dt>두께감</dt>
-														<dd>적당함</dd>
-													</div>
-												</dl>
-											</div>
-										</div>
-										<div class="txt_review_box">
-											<p>
-												슬림하게 나와서 핏이 더 이쁩니다. 팔 기장도 수선 안해도 될 것 같고 살짝 접어서 코디해도 멋스러울것 같네요. 편하게 간절기 여기저기 코디하기도 좋을것 같고 추천할 만한 아이템 입니다. 광택이 있는데 심하지않고 너무 고급스러워 보여요. 코트안 이너로 입기도 좋고 니트에 걸치면 겨울 잘지낼 수 있을 것 같아요. 편하게 간절기 여기저기 코디하기도 좋고 추천할 만한 아이템입니다.
-											</p>
-										</div>
-										<div class="writer_box">
-											<div class="writer">
-												<span class="wr_id">ab2****</span>
-												<span class="wr_date">2020.07.15</span>
-											</div>
-										</div>
-										<div class="reply_box">
-											<div class="reply">
-												<div class="reply_writer">
-													<span class="wr_name">관리자</span>
-													<span class="wr_date">2020.07.15</span>
-												</div>
-												<div class="reply_txt">
-													<p>
-														안녕하세요, 스타일24 관리자입니다.<br>
-														최대한 검수작업을 하고 있으나, 상품 출고량이 많은 경우 간혹 검수가 누락되는 경우가 있습니다.<br>
-														만약, 받아보시고 문제가 있을 경우 텍 제거하지마시고 고객센터로 접수 해주시면 처리 도와드리겠습니다.<br>
-														구매해주셔서 감사합니다.												 
-													</p>
-												</div>
-											</div>
-										</div>
-									</div>
-								</div>
-							</div>
-							<!-- //리뷰내용 -->
-						</div>
-						<div class="swiper-slide">
-							<!-- 리뷰내용 -->
-							<div class="review">
-								<div class="pic">
-									<span class="thumb">
-										<img src="/images/pc/thumb/tmp_pdLookbook3.jpg" alt="">
-									</span>
-								</div>
-								<div class="review_cont">
-									<div class="box_wrap">
-										<div class="star_box">
-											<div class="star_score">
-												<span class="star">
-													<em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-												</span>
-											</div>
-										</div>
-										<div class="response_box">
-											<div class="full">
-												<dl>
-													<div>
-														<dt>구매옵션</dt>
-														<dd>베이지 / 100</dd>
-													</div>
-												</dl>
-											</div>
-											<div class="full">
-												<dl>
-													<div>
-														<dt>키/몸무게</dt>
-														<dd>178cm/71kg</dd>
-													</div>
-												</dl>									
-											</div>
-											<div>
-												<dl>
-													<div>
-														<dt>사이즈</dt>
-														<dd>작음</dd>
-													</div>
-													<div>
-														<dt>컬러</dt>
-														<dd>밝음</dd>
-													</div>
-													<div>
-														<dt>핏</dt>
-														<dd>레귤러</dd>
-													</div>
-													<div>
-														<dt>두께감</dt>
-														<dd>적당함</dd>
-													</div>
-												</dl>
-											</div>
-										</div>
-										<div class="txt_review_box">
-											<p>
-												슬림하게 나와서 핏이 더 이쁩니다. 팔 기장도 수선 안해도 될 것 같고 살짝 접어서 코디해도 멋스러울것 같네요. 편하게 간절기 여기저기 코디하기도 좋을것 같고 추천할 만한 아이템 입니다. 광택이 있는데 심하지않고 너무 고급스러워 보여요. 코트안 이너로 입기도 좋고 니트에 걸치면 겨울 잘지낼 수 있을 것 같아요. 편하게 간절기 여기저기 코디하기도 좋고 추천할 만한 아이템입니다.
-											</p>
-										</div>
-										<div class="writer_box">
-											<div class="writer">
-												<span class="wr_id">ab2****</span>
-												<span class="wr_date">2020.07.15</span>
-											</div>
-										</div>
-										<div class="reply_box">
-											<div class="reply">
-												<div class="reply_writer">
-													<span class="wr_name">관리자</span>
-													<span class="wr_date">2020.07.15</span>
-												</div>
-												<div class="reply_txt">
-													<p>
-														안녕하세요, 스타일24 관리자입니다.<br>
-														최대한 검수작업을 하고 있으나, 상품 출고량이 많은 경우 간혹 검수가 누락되는 경우가 있습니다.<br>
-														만약, 받아보시고 문제가 있을 경우 텍 제거하지마시고 고객센터로 접수 해주시면 처리 도와드리겠습니다.<br>
-														구매해주셔서 감사합니다.												 
-													</p>
-												</div>
-											</div>
-										</div>
-									</div>
-								</div>
-							</div>
-							<!-- //리뷰내용 -->
-						</div>
-						<div class="swiper-slide">
-							<!-- 리뷰내용 -->
-							<div class="review">
-								<div class="pic">
-									<span class="thumb">
-										<img src="/images/pc/thumb/tmp_pdLookbook2.jpg" alt="">
-									</span>
-								</div>
-								<div class="review_cont">
-									<div class="box_wrap">
-										<div class="star_box">
-											<div class="star_score">
-												<span class="star">
-													<em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-												</span>
-											</div>
-										</div>
-										<div class="response_box">
-											<div class="full">
-												<dl>
-													<div>
-														<dt>구매옵션</dt>
-														<dd>베이지 / 100</dd>
-													</div>
-												</dl>
-											</div>
-											<div class="full">
-												<dl>
-													<div>
-														<dt>키/몸무게</dt>
-														<dd>178cm/71kg</dd>
-													</div>
-												</dl>									
-											</div>
-											<div>
-												<dl>
-													<div>
-														<dt>사이즈</dt>
-														<dd>작음</dd>
-													</div>
-													<div>
-														<dt>컬러</dt>
-														<dd>밝음</dd>
-													</div>
-													<div>
-														<dt>핏</dt>
-														<dd>레귤러</dd>
-													</div>
-													<div>
-														<dt>두께감</dt>
-														<dd>적당함</dd>
-													</div>
-												</dl>
-											</div>
-										</div>
-										<div class="txt_review_box">
-											<p>
-												슬림하게 나와서 핏이 더 이쁩니다. 팔 기장도 수선 안해도 될 것 같고 살짝 접어서 코디해도 멋스러울것 같네요. 편하게 간절기 여기저기 코디하기도 좋을것 같고 추천할 만한 아이템 입니다. 광택이 있는데 심하지않고 너무 고급스러워 보여요. 코트안 이너로 입기도 좋고 니트에 걸치면 겨울 잘지낼 수 있을 것 같아요. 편하게 간절기 여기저기 코디하기도 좋고 추천할 만한 아이템입니다.
-											</p>
-										</div>
-										<div class="writer_box">
-											<div class="writer">
-												<span class="wr_id">ab2****</span>
-												<span class="wr_date">2020.07.15</span>
-											</div>
-										</div>
-										<div class="reply_box">
-											<div class="reply">
-												<div class="reply_writer">
-													<span class="wr_name">관리자</span>
-													<span class="wr_date">2020.07.15</span>
-												</div>
-												<div class="reply_txt">
-													<p>
-														안녕하세요, 스타일24 관리자입니다.<br>
-														최대한 검수작업을 하고 있으나, 상품 출고량이 많은 경우 간혹 검수가 누락되는 경우가 있습니다.<br>
-														만약, 받아보시고 문제가 있을 경우 텍 제거하지마시고 고객센터로 접수 해주시면 처리 도와드리겠습니다.<br>
-														구매해주셔서 감사합니다.												 
-													</p>
-												</div>
-											</div>
-										</div>
-									</div>
-								</div>
-							</div>
-							<!-- //리뷰내용 -->
-						</div>
-						<div class="swiper-slide">
-							<!-- 리뷰내용 -->
-							<div class="review">
-								<div class="pic">
-									<span class="thumb mov">
-										<img src="/images/pc/thumb/tmp_pdLookbook3.jpg" alt="">
-									</span>
-								</div>
-								<div class="review_cont">
-									<div class="box_wrap">
-										<div class="star_box">
-											<div class="star_score">
-												<span class="star">
-													<em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-												</span>
-											</div>
-										</div>
-										<div class="response_box">
-											<div class="full">
-												<dl>
-													<div>
-														<dt>구매옵션</dt>
-														<dd>베이지 / 100</dd>
-													</div>
-												</dl>
-											</div>
-											<div class="full">
-												<dl>
-													<div>
-														<dt>키/몸무게</dt>
-														<dd>178cm/71kg</dd>
-													</div>
-												</dl>									
-											</div>
-											<div>
-												<dl>
-													<div>
-														<dt>사이즈</dt>
-														<dd>작음</dd>
-													</div>
-													<div>
-														<dt>컬러</dt>
-														<dd>밝음</dd>
-													</div>
-													<div>
-														<dt>핏</dt>
-														<dd>레귤러</dd>
-													</div>
-													<div>
-														<dt>두께감</dt>
-														<dd>적당함</dd>
-													</div>
-												</dl>
-											</div>
-										</div>
-										<div class="txt_review_box">
-											<p>
-												슬림하게 나와서 핏이 더 이쁩니다. 팔 기장도 수선 안해도 될 것 같고 살짝 접어서 코디해도 멋스러울것 같네요. 편하게 간절기 여기저기 코디하기도 좋을것 같고 추천할 만한 아이템 입니다. 광택이 있는데 심하지않고 너무 고급스러워 보여요. 코트안 이너로 입기도 좋고 니트에 걸치면 겨울 잘지낼 수 있을 것 같아요. 편하게 간절기 여기저기 코디하기도 좋고 추천할 만한 아이템입니다.
-											</p>
-										</div>
-										<div class="writer_box">
-											<div class="writer">
-												<span class="wr_id">ab2****</span>
-												<span class="wr_date">2020.07.15</span>
-											</div>
-										</div>
-										<div class="reply_box">
-											<div class="reply">
-												<div class="reply_writer">
-													<span class="wr_name">관리자</span>
-													<span class="wr_date">2020.07.15</span>
-												</div>
-												<div class="reply_txt">
-													<p>
-														안녕하세요, 스타일24 관리자입니다.<br>
-														최대한 검수작업을 하고 있으나, 상품 출고량이 많은 경우 간혹 검수가 누락되는 경우가 있습니다.<br>
-														만약, 받아보시고 문제가 있을 경우 텍 제거하지마시고 고객센터로 접수 해주시면 처리 도와드리겠습니다.<br>
-														구매해주셔서 감사합니다.												 
-													</p>
-												</div>
-											</div>
-										</div>
-									</div>
-								</div>
-							</div>
-							<!-- //리뷰내용 -->
-						</div>
-						<div class="swiper-slide">
-							<!-- 리뷰내용 -->
-							<div class="review">
-								<div class="pic">
-									<span class="thumb">
-										<img src="/images/pc/thumb/tmp_pdLookbook2.jpg" alt="">
-									</span>
-								</div>
-								<div class="review_cont">
-									<div class="box_wrap">
-										<div class="star_box">
-											<div class="star_score">
-												<span class="star">
-													<em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-												</span>
-											</div>
-										</div>
-										<div class="response_box">
-											<div class="full">
-												<dl>
-													<div>
-														<dt>구매옵션</dt>
-														<dd>베이지 / 100</dd>
-													</div>
-												</dl>
-											</div>
-											<div class="full">
-												<dl>
-													<div>
-														<dt>키/몸무게</dt>
-														<dd>178cm/71kg</dd>
-													</div>
-												</dl>									
-											</div>
-											<div>
-												<dl>
-													<div>
-														<dt>사이즈</dt>
-														<dd>작음</dd>
-													</div>
-													<div>
-														<dt>컬러</dt>
-														<dd>밝음</dd>
-													</div>
-													<div>
-														<dt>핏</dt>
-														<dd>레귤러</dd>
-													</div>
-													<div>
-														<dt>두께감</dt>
-														<dd>적당함</dd>
-													</div>
-												</dl>
-											</div>
-										</div>
-										<div class="txt_review_box">
-											<p>
-												슬림하게 나와서 핏이 더 이쁩니다. 팔 기장도 수선 안해도 될 것 같고 살짝 접어서 코디해도 멋스러울것 같네요. 편하게 간절기 여기저기 코디하기도 좋을것 같고 추천할 만한 아이템 입니다. 광택이 있는데 심하지않고 너무 고급스러워 보여요. 코트안 이너로 입기도 좋고 니트에 걸치면 겨울 잘지낼 수 있을 것 같아요. 편하게 간절기 여기저기 코디하기도 좋고 추천할 만한 아이템입니다.
-											</p>
-										</div>
-										<div class="writer_box">
-											<div class="writer">
-												<span class="wr_id">ab2****</span>
-												<span class="wr_date">2020.07.15</span>
-											</div>
-										</div>
-										<div class="reply_box">
-											<div class="reply">
-												<div class="reply_writer">
-													<span class="wr_name">관리자</span>
-													<span class="wr_date">2020.07.15</span>
-												</div>
-												<div class="reply_txt">
-													<p>
-														안녕하세요, 스타일24 관리자입니다.<br>
-														최대한 검수작업을 하고 있으나, 상품 출고량이 많은 경우 간혹 검수가 누락되는 경우가 있습니다.<br>
-														만약, 받아보시고 문제가 있을 경우 텍 제거하지마시고 고객센터로 접수 해주시면 처리 도와드리겠습니다.<br>
-														구매해주셔서 감사합니다.												 
-													</p>
-												</div>
-											</div>
-										</div>
-									</div>
-								</div>
-							</div>
-							<!-- //리뷰내용 -->
-						</div>
-						<div class="swiper-slide">
-							<!-- 리뷰내용 -->
-							<div class="review">
-								<div class="pic">
-									<span class="thumb">
-										<img src="/images/pc/thumb/tmp_pdLookbook1.jpg" alt="">
-									</span>
-								</div>
-								<div class="review_cont">
-									<div class="box_wrap">
-										<div class="star_box">
-											<div class="star_score">
-												<span class="star">
-													<em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-												</span>
-											</div>
-										</div>
-										<div class="response_box">
-											<div class="full">
-												<dl>
-													<div>
-														<dt>구매옵션</dt>
-														<dd>베이지 / 100</dd>
-													</div>
-												</dl>
-											</div>
-											<div class="full">
-												<dl>
-													<div>
-														<dt>키/몸무게</dt>
-														<dd>178cm/71kg</dd>
-													</div>
-												</dl>									
-											</div>
-											<div>
-												<dl>
-													<div>
-														<dt>사이즈</dt>
-														<dd>작음</dd>
-													</div>
-													<div>
-														<dt>컬러</dt>
-														<dd>밝음</dd>
-													</div>
-													<div>
-														<dt>핏</dt>
-														<dd>레귤러</dd>
-													</div>
-													<div>
-														<dt>두께감</dt>
-														<dd>적당함</dd>
-													</div>
-												</dl>
-											</div>
-										</div>
-										<div class="txt_review_box">
-											<p>
-												슬림하게 나와서 핏이 더 이쁩니다. 팔 기장도 수선 안해도 될 것 같고 살짝 접어서 코디해도 멋스러울것 같네요. 편하게 간절기 여기저기 코디하기도 좋을것 같고 추천할 만한 아이템 입니다. 광택이 있는데 심하지않고 너무 고급스러워 보여요. 코트안 이너로 입기도 좋고 니트에 걸치면 겨울 잘지낼 수 있을 것 같아요. 편하게 간절기 여기저기 코디하기도 좋고 추천할 만한 아이템입니다.
-											</p>
-										</div>
-										<div class="writer_box">
-											<div class="writer">
-												<span class="wr_id">ab2****</span>
-												<span class="wr_date">2020.07.15</span>
-											</div>
-										</div>
-										<div class="reply_box">
-											<div class="reply">
-												<div class="reply_writer">
-													<span class="wr_name">관리자</span>
-													<span class="wr_date">2020.07.15</span>
-												</div>
-												<div class="reply_txt">
-													<p>
-														안녕하세요, 스타일24 관리자입니다.<br>
-														최대한 검수작업을 하고 있으나, 상품 출고량이 많은 경우 간혹 검수가 누락되는 경우가 있습니다.<br>
-														만약, 받아보시고 문제가 있을 경우 텍 제거하지마시고 고객센터로 접수 해주시면 처리 도와드리겠습니다.<br>
-														구매해주셔서 감사합니다.												 
-													</p>
-												</div>
-											</div>
-										</div>
-									</div>
-								</div>
-							</div>
-							<!-- //리뷰내용 -->
-						</div>
-						<div class="swiper-slide">
-							<!-- 리뷰내용 -->
-							<div class="review">
-								<div class="pic">
-									<span class="thumb">
-										<img src="/images/pc/thumb/tmp_pdLookbook3.jpg" alt="">
-									</span>
-								</div>
-								<div class="review_cont">
-									<div class="box_wrap">
-										<div class="star_box">
-											<div class="star_score">
-												<span class="star">
-													<em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-												</span>
-											</div>
-										</div>
-										<div class="response_box">
-											<div class="full">
-												<dl>
-													<div>
-														<dt>구매옵션</dt>
-														<dd>베이지 / 100</dd>
-													</div>
-												</dl>
-											</div>
-											<div class="full">
-												<dl>
-													<div>
-														<dt>키/몸무게</dt>
-														<dd>178cm/71kg</dd>
-													</div>
-												</dl>									
-											</div>
-											<div>
-												<dl>
-													<div>
-														<dt>사이즈</dt>
-														<dd>작음</dd>
-													</div>
-													<div>
-														<dt>컬러</dt>
-														<dd>밝음</dd>
-													</div>
-													<div>
-														<dt>핏</dt>
-														<dd>레귤러</dd>
-													</div>
-													<div>
-														<dt>두께감</dt>
-														<dd>적당함</dd>
-													</div>
-												</dl>
-											</div>
-										</div>
-										<div class="txt_review_box">
-											<p>
-												슬림하게 나와서 핏이 더 이쁩니다. 팔 기장도 수선 안해도 될 것 같고 살짝 접어서 코디해도 멋스러울것 같네요. 편하게 간절기 여기저기 코디하기도 좋을것 같고 추천할 만한 아이템 입니다. 광택이 있는데 심하지않고 너무 고급스러워 보여요. 코트안 이너로 입기도 좋고 니트에 걸치면 겨울 잘지낼 수 있을 것 같아요. 편하게 간절기 여기저기 코디하기도 좋고 추천할 만한 아이템입니다.
-											</p>
-										</div>
-										<div class="writer_box">
-											<div class="writer">
-												<span class="wr_id">ab2****</span>
-												<span class="wr_date">2020.07.15</span>
-											</div>
-										</div>
-										<div class="reply_box">
-											<div class="reply">
-												<div class="reply_writer">
-													<span class="wr_name">관리자</span>
-													<span class="wr_date">2020.07.15</span>
-												</div>
-												<div class="reply_txt">
-													<p>
-														안녕하세요, 스타일24 관리자입니다.<br>
-														최대한 검수작업을 하고 있으나, 상품 출고량이 많은 경우 간혹 검수가 누락되는 경우가 있습니다.<br>
-														만약, 받아보시고 문제가 있을 경우 텍 제거하지마시고 고객센터로 접수 해주시면 처리 도와드리겠습니다.<br>
-														구매해주셔서 감사합니다.												 
-													</p>
-												</div>
-											</div>
-										</div>
-									</div>
-								</div>
-							</div>
-							<!-- //리뷰내용 -->
-						</div>
-						<div class="swiper-slide">
-							<!-- 리뷰내용 -->
-							<div class="review">
-								<div class="pic">
-									<span class="thumb">
-										<img src="/images/pc/thumb/tmp_pdLookbook2.jpg" alt="">
-									</span>
-								</div>
-								<div class="review_cont">
-									<div class="box_wrap">
-										<div class="star_box">
-											<div class="star_score">
-												<span class="star">
-													<em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-												</span>
-											</div>
-										</div>
-										<div class="response_box">
-											<div class="full">
-												<dl>
-													<div>
-														<dt>구매옵션</dt>
-														<dd>베이지 / 100</dd>
-													</div>
-												</dl>
-											</div>
-											<div class="full">
-												<dl>
-													<div>
-														<dt>키/몸무게</dt>
-														<dd>178cm/71kg</dd>
-													</div>
-												</dl>									
-											</div>
-											<div>
-												<dl>
-													<div>
-														<dt>사이즈</dt>
-														<dd>작음</dd>
-													</div>
-													<div>
-														<dt>컬러</dt>
-														<dd>밝음</dd>
-													</div>
-													<div>
-														<dt>핏</dt>
-														<dd>레귤러</dd>
-													</div>
-													<div>
-														<dt>두께감</dt>
-														<dd>적당함</dd>
-													</div>
-												</dl>
-											</div>
-										</div>
-										<div class="txt_review_box">
-											<p>
-												슬림하게 나와서 핏이 더 이쁩니다. 팔 기장도 수선 안해도 될 것 같고 살짝 접어서 코디해도 멋스러울것 같네요. 편하게 간절기 여기저기 코디하기도 좋을것 같고 추천할 만한 아이템 입니다. 광택이 있는데 심하지않고 너무 고급스러워 보여요. 코트안 이너로 입기도 좋고 니트에 걸치면 겨울 잘지낼 수 있을 것 같아요. 편하게 간절기 여기저기 코디하기도 좋고 추천할 만한 아이템입니다.
-											</p>
-										</div>
-										<div class="writer_box">
-											<div class="writer">
-												<span class="wr_id">ab2****</span>
-												<span class="wr_date">2020.07.15</span>
-											</div>
-										</div>
-										<div class="reply_box">
-											<div class="reply">
-												<div class="reply_writer">
-													<span class="wr_name">관리자</span>
-													<span class="wr_date">2020.07.15</span>
-												</div>
-												<div class="reply_txt">
-													<p>
-														안녕하세요, 스타일24 관리자입니다.<br>
-														최대한 검수작업을 하고 있으나, 상품 출고량이 많은 경우 간혹 검수가 누락되는 경우가 있습니다.<br>
-														만약, 받아보시고 문제가 있을 경우 텍 제거하지마시고 고객센터로 접수 해주시면 처리 도와드리겠습니다.<br>
-														구매해주셔서 감사합니다.												 
-													</p>
-												</div>
-											</div>
-										</div>
-									</div>
-								</div>
-							</div>
-							<!-- //리뷰내용 -->
-						</div>				
-					</div>
-				</div>
-				<div class="swiper-button-next"></div>
-				<div class="swiper-button-prev"></div>
-				<!-- 리뷰 썸네일 리스트 -->
-				<div class="swiper-container thumblist">
-					<div class="swiper-wrapper">
-						<div class="swiper-slide">
-							<div class="pic">
-								<span class="thumb mov" style="background-image:url('http://cdn.011st.com/11dims/resize/1999x1999/quality/75/11src/review/60101202/3121440803/5ce466b90b46400f860fe083437140ac.jpg');"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
-							</div>
-						</div>
-						<div class="swiper-slide">
-							<div class="pic">
-								<span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook2.jpg');"></span>
-							</div>
-						</div>
-						<div class="swiper-slide">
-							<div class="pic">
-								<span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook1.jpg');"></span>
-							</div>
-						</div>
-						<div class="swiper-slide">
-							<div class="pic">
-								<span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook3.jpg');"></span>
-							</div>
-						</div>
-						<div class="swiper-slide">
-							<div class="pic">
-								<span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook2.jpg');"></span>
-							</div>
-						</div>
-						<div class="swiper-slide">
-							<div class="pic">
-								<span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook3.jpg');"></span>
-							</div>
-						</div>
-						<div class="swiper-slide">
-							<div class="pic">
-								<span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook2.jpg');"></span>
-							</div>
-						</div>
-						<div class="swiper-slide">
-							<div class="pic">
-								<span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook1.jpg');"></span>
-							</div>
-						</div>
-						<div class="swiper-slide">
-							<div class="pic">
-								<span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook3.jpg');"></span>
-							</div>
-						</div>
-						<div class="swiper-slide">
-							<div class="pic">
-								<span class="thumb" style="background-image:url('/images/pc/thumb/tmp_pdLookbook2.jpg');"></span>
-							</div>
-						</div>						  
-					</div>
-					<div class="swiper-scrollbar"></div>
-				</div>
-				<!-- //리뷰 썸네일 리스트 -->
-			</div>
-		</div>
-	</div>
-</div>
-<a href="javascript:void(0);" rel="modal:close" onclick="cfCloseLayer('layer_review_photo_detail')" class="close-modal">Close</a>
-<script th:inline="javascript">
-/*<![CDATA[*/
-	 //슬라이드 - 상품 포토/영상 리뷰 썸네일리스트 영역 
-    var photoReviewListSwiper = new Swiper('.pd_photoreviewdetail_pop .swiper-container.thumblist', {
-        slidesPerView: 'auto',
-        spaceBetween: 8,
-        freeMode: true,
-        grabCursor: true,
-        watchSlidesVisibility: true,
-        watchSlidesProgress: true,
-        scrollbar: {el: '.pd_photoreviewdetail_pop .swiper-container.thumblist .swiper-scrollbar'},
-    }); 
-
-    //슬라이드 - 상품 포토/영상 리뷰 자세히보기 영역 
-    var photoReviewDetailSwiper = new Swiper('.pd_photoreviewdetail_pop .swiper-container.detail', {
-        effect :'fade',
-        slidesPerView: 1,
-        spaceBetween: 0,
-        simulateTouch:false,
-        navigation: {
-            nextEl: '.pd_photoreviewdetail_pop .swiper-button-next',
-            prevEl: '.pd_photoreviewdetail_pop .swiper-button-prev',
-        },
-        thumbs: {
-            swiper: photoReviewListSwiper
-        }
-    });
-/*]]>*/
-</script>	
- </html>

+ 129 - 60
src/main/webapp/WEB-INF/views/web/mypage/MypageCouponFormWeb.html

@@ -1,6 +1,5 @@
 <!DOCTYPE html>
-<html lang="ko"
-	xmlns:th="http://www.thymeleaf.org"
+<html lang="ko" xmlns:th="http://www.thymeleaf.org"
 	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
 	layout:decorator="web/common/layout/MypageLayoutWeb">
 <!--
@@ -17,68 +16,123 @@
  *******************************************************************************
  -->
 <body>
-
-<th:block layout:fragment="content">
-<!--  container -->
-	<div class="my_cont">
-		<div class="sec_head">
-			<h3>나의 쿠폰</h3>
-		</div>
-		<div class="sec_body">
-			<div class="save_area mypage_coupon">
-				<p>내가 보유한 할인 쿠폰<strong th:text="${#numbers.formatInteger(couponInfo.allCouponCnt,0,'COMMA')}"></strong>장</p>
-				<ul>
-					<li>사용 가능 할인 쿠폰 <span th:text="${#numbers.formatInteger(couponInfo.useCouponCnt,0,'COMMA')} + '장'"></span></li>
-					<li>7일 이내 마감 쿠폰 <span th:text="${#numbers.formatInteger(couponInfo.expireCouponCnt,0,'COMMA')} + '장'"></span></li>
-				</ul>
-			</div>
-			<div class="coupon_list">
-				<ul class="clear">
-					<th:block th:each="CouponData, CouponStat : ${couponList}">
-					<li th:class="${CouponData.userYn == 'Y' ? '' : 'off'}">
-						<div class="cp_top">
-							<div class="cp_detail">
-								<p class="tit" th:text="${CouponData.cpnNm}"></p>
-								<th:block th:if="${CouponData.dcWay == '할인율'}">
-								<strong class="sale_t won_t"><span th:text="${CouponData.dcPval}"></span>%</strong>
-								</th:block>
-								<th:block th:unless="${CouponData.dcWay == '할인율'}">
-								<strong class="sale_t won_t"><span th:text="${#numbers.formatInteger(CouponData.dcPval,0,'COMMA')}"></span>원</strong>
-								</th:block>
-								
-								<p class="cp_cont"><span th:text="${#numbers.formatInteger(CouponData.buyLimitAmt,0,'COMMA')}"></span>원 이상 구매시 최대 <span th:text="${#numbers.formatInteger(CouponData.maxDcAmt,0,'COMMA')}"></span>원 할인</p>
-								<span class="cp_cnt"><span th:text="${CouponData.cnt}"></span>장 보유</span>
+	<th:block layout:fragment="content">
+		<!--  container -->
+		<!-- CONT-BODY -->
+		<div class="content myCoupon">
+			<!-- 페이지특정 클래스 = myCoupon -->
+			<div class="cont_body">
+				<div class="lnb">
+					<!-- 마이페이지 lnb 영역 -->
+				</div>
+				<div class="cont">
+					<div class="sec_head">
+						<h3 class="subH1">쿠폰</h3>
+					</div>
+					<div class="sec_body">
+						<div class="highlight_area">
+							<div class="have_amount">
+								<div class="total_amount">
+									나의 보유 쿠폰&nbsp;<span><em
+										th:text="${#numbers.formatInteger(couponInfo.allCouponCnt,0,'COMMA')}"></em>장</span>
+								</div>
+								<dl>
+									<div>
+										<dt>
+											<span class="tag primary_line">D-<em>7</em></span>7일 이내 소멸 예정
+										</dt>
+										<dd>
+											<em
+												th:text="${#numbers.formatInteger(couponInfo.expireCouponCnt,0,'COMMA')}"></em>장
+										</dd>
+									</div>
+								</dl>
 							</div>
-							<span class="cp_shape"></span>
 						</div>
-					
-						<th:block th:if="${CouponData.userYn == 'Y'}">
-						<div class="cp_date">
-							<span th:text="${CouponData.availStdt}"></span> ~ <span th:text="${CouponData.availEddt}"></span>
-						</div>
-						</th:block>
-						
-						<th:block th:unless="${CouponData.userYn == 'Y'}">
-						<div class="cp_date">
-							<span class="cp_off">사용완료</span>
-						</div>
-						</th:block>
-						
-						<div class="cp_info">
-							<button type="button" th:onclick="useInfoCoupon([[${CouponData.cpnId}]])" class="coupon_pop_btn"><span>사용안내</span></button>
+						<div class="content_area">
+							<!-- 데이터 있을 시 -->
+							<div class="list_box">
+								<div class="coupon_list">
+									<ul>
+										<th:block th:if="${couponList != null and !couponList.empty}"
+											th:each="CouponData, CouponStat : ${couponList}">
+											<li>
+												<!-- 쿠폰사용 기한 -->
+												<div
+													th:class="${CouponData.userYn == 'coupon' ? '' : 'coupon disabled'}">
+													<div>
+														<p class="cp_name" th:text="${CouponData.cpnNm}"></p>
+														<p class="cp_cont">
+															<th:block th:if="${CouponData.dcWay == '할인율'}">
+																<span><em th:text="${CouponData.dcPval}"></em>%</span>
+															</th:block>
+															<th:block th:unless="${CouponData.dcWay == '할인율'}">
+																<span><em
+																	th:text="${#numbers.formatInteger(CouponData.dcPval,0,'COMMA')}"></em>원</span>
+															</th:block>
+
+														</p>
+														<p class="cp_condition">
+															[[${#numbers.formatInteger(CouponData.buyLimitAmt,0,'COMMA')}]]원
+															이상 구매 시 최대
+															[[${#numbers.formatInteger(CouponData.maxDcAmt,0,'COMMA')}]]원
+															할인 <span><em class="tag primary_line"
+																th:text="${CouponData.cnt}+' 장 보유'"></em></span>
+														</p>
+													</div>
+													<th:block th:if="${CouponData.userYn == 'Y'}">
+														<p class="cp_date">
+															<span th:text="${CouponData.availStdt}"></span>&nbsp;~&nbsp;<span
+																th:text="${CouponData.availEddt}"></span>
+														</p>
+													</th:block>
+													<th:block th:unless="${CouponData.userYn == 'Y'}">
+														<p class="cp_date">사용완료</p>
+													</th:block>
+
+												</div> <!-- 쿠폰사용 기한-->
+												<button type="button" id="btn_couponInfo_pop"
+													class="btn_underline"
+													th:onclick="useInfoCoupon([[${CouponData.cpnId}]])">
+													<span>사용안내</span>
+												</button>
+											</li>
+									</ul>
+								</div>
+							</div>
+							<!-- //데이터 있을 시 -->
+							<!-- 데이터 없을 시 -->
+							<div class="nodata" style="display: none;">
+								<div class="txt_box">
+									<p>
+										현재 노출 할 수 있는 쿠폰이 없습니다.<br>
+									</p>
+								</div>
+								<!-- 버튼 필요시 -->
+								<!-- <div class="btn_box">
+										<button class="btn btn_default"><span>행동하기</span></button>
+									</div> -->
+								<!-- //버튼 필요시 -->
+							</div>
+							<!-- 데이터 없을 시 -->
 						</div>
-					</li>
-					</th:block>
-				</ul>
+					</div>
+				</div>
 			</div>
 		</div>
-	</div>
-	
-	<!-- 쿠폰 사용 내역 팝업 -->
-	<div class="modal coupon_popup" tabindex="-1" role="dialog" aria-labelledby="PopupBasicLabel" aria-hidden="true" id="couponDetailPop"></div>
+		<!-- // CONT-BODY -->
+
+		<!-- 쿠폰 사용 내역 팝업 -->
+		<div class="modal coupon_popup" tabindex="-1" role="dialog"
+			aria-labelledby="PopupBasicLabel" aria-hidden="true"
+			id="couponDetailPop"></div>
 
-	<!-- // container -->	
-<script th:inline="javascript">
+		<!-- // container -->
+		<script th:inline="javascript">
+
+let couponList = ([[${couponList}]]);	
+
+console.log(couponList);
 // 사용안내 모달
 var useInfoCoupon = function (id) {
 	 $.ajax( {
@@ -96,8 +150,23 @@ var useInfoCoupon = function (id) {
 	return false; 
 }
 
-$(document).ready(function() {
+if(couponList.length>0){
+	$(".nodata").hide();
+}else{
+	$(".nodata").show();
+}
+
 
+
+
+$(document).ready(function() {
+	
+	if(couponList.length>0){
+		$(".nodata").hide();
+	}else{
+		$(".nodata").show();
+	}
+	
 	// 마이페이지 LNB 설정
 	fnSetMypageLnbList(4);
 	
@@ -107,7 +176,7 @@ $(document).ready(function() {
 
 });
 </script>
-</th:block>
+	</th:block>
 
 </body>
 </html>

+ 335 - 260
src/main/webapp/WEB-INF/views/web/mypage/MypageGiftcardFormWeb.html

@@ -1,6 +1,5 @@
 <!DOCTYPE html>
-<html lang="ko"
-	xmlns:th="http://www.thymeleaf.org"
+<html lang="ko" xmlns:th="http://www.thymeleaf.org"
 	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
 	layout:decorator="web/common/layout/MypageLayoutWeb">
 <!--
@@ -18,283 +17,359 @@
  -->
 <body>
 
-<th:block layout:fragment="content">
-<!--  container -->
-	<div class="my_cont">
-		<div class="sec_head">
-			<h3>STYLE24 상품권</h3>
-		</div>
-		<div class="sec_body">
-			<div class="save_area mypage_coupon">
-				<p>사용 가능한 보유 금액<strong th:text="${#numbers.formatInteger(giftcardInfo.useGift,0,'COMMA')}"></strong>원</p>
-				<ul>
-					<li>보유 상품권 <span th:text="${#numbers.formatInteger(giftcardInfo.totalCount,0,'COMMA')} + '장'"></span></li>
-					<li>한달 이내 소멸 예정 <span th:text="${#numbers.formatInteger(giftcardInfo.expireCount,0,'COMMA')} + '장'"></span></li>
-				</ul>
-			</div>
-			<div class="gift_search">
-				<div class="gift_sea_wrap clear">
-					<label for="gift_input">상품권 등록</label>
-					<input type="text" id="gift_input" placeholder="상품권 번호를 입력해주세요.">
-					<button type="button" class="btn btn_dark" onclick="giftcardSave()">등록</button>
-				</div>
-			</div>
-			<div class="com_info_txt">
-				<p class="tit">상품권 등록 안내</p>
-				<ul>
-					<li>상품권은 상품 구매시 현금과 동일하게 사용됩니다.</li>
-					<li>상품권은 등록한 해당 몰에서만 사용이 가능합니다.</li>
-					<li>사용 후 남은 잔액은 상품권 잔액으로 환불되며,유효기간 내에 사용 가능합니다.</li>
-					<li>유효기간이 지난 상품권의 잔액은 자동 소멸됩니다.</li>
-					<li>상품권은 현금성 결제 수단에 포함되어 주문시 포인트 적립이 가능합니다.</li>
-					<li>상품권으로 결제한 금액은 마이페이지>주문상세페이지에서 현금영수증을 발급 받으실 수 있습니다.</li>
-				</ul>
-			</div>
-			<div class="my_tab coupon_tab">
-				<ul>
-					<li><a href="javascript:void(0);" id="SearchUseGiftcard">사용내역</a></li>
-					<li><a href="javascript:void(0);" id="SearchOwnGiftcard">보유 상품권</a></li>
-				</ul>
-				<!-- <div class="form_field" id="dateField">
-					<select id="searchDt" onchange="fnChangeDate(this)">
-						
-					</select> 
-				</div> -->
-					<div class="form_field" id="dateField">
-						<div class="select_custom type1">
-							<div class="combo">
-								<div class="select"></div> <!-- 셀렉박스 -->
-									<ul id="searchDt" class="list" style="width:200px; margin:0 auto">
+	<th:block layout:fragment="content">
+		<!--  container -->
+		<div class="content myVoucher">
+			<!-- 페이지특정 클래스 = myVoucher -->
+			<div class="cont_body">
+			<div class="lnb">
+						<!-- 마이페이지 lnb 영역 -->
+					</div>
+				<div class="cont">
+					<div class="sec_head">
+						<h3 class="subH1">상품권</h3>
+					</div>
+					<div class="sec_body">
+						<div class="highlight_area">
+							<div class="have_amount">
+								<div class="total_amount">
+									나의 보유 금액&nbsp;<span><em
+										th:text="${#numbers.formatInteger(giftcardInfo.useGift,0,'COMMA')}"></em>원</span>
+								</div>
+								<dl>
+									<div>
+										<dt>보유 상품권</dt>
+										<dd>
+											<em
+												th:text="${#numbers.formatInteger(giftcardInfo.totalCount,0,'COMMA')}"></em>장
+										</dd>
+									</div>
+									<div>
+										<dt>
+											<span class="tag primary_line">D-<em>30</em></span>한 달 이내 소멸
+											예정
+										</dt>
+										<dd>
+											<em
+												th:text="${#numbers.formatInteger(giftcardInfo.expireCount,0,'COMMA')}"></em>원
+										</dd>
+									</div>
+								</dl>
+							</div>
+						</div>
+						<div class="input_area">
+							<form class="form_wrap">
+								<div class="form_field">
+									<label class="input_label"><span>상품권 등록</span></label>
+									<div class="input_wrap">
+										<input type="text" class="form_control" id="gift_input"
+											placeholder="상품권 번호를 입력해주세요">
+									</div>
+									<button type="button" class="btn btn_dark"
+										onclick="giftcardSave()">
+										<span>등록</span>
+									</button>
+								</div>
+							</form>
+						</div>
+						<div class="com_info_txt">
+							<p class="tit">상품권 등록 안내</p>
+							<ul>
+								<li>상품권은 상품 구매시 현금과 동일하게 사용됩니다.</li>
+								<li>상품권은 등록한 해당 몰에서만 사용이 가능합니다.(YES24와 중복 사용불가)</li>
+								<li>사용 후 남은 잔액은 상품권 잔액으로 환불되며, 유효기간 내에 사용 가능합니다.</li>
+								<li>유효기간이 지난 상품권의 잔액은 자동 소멸됩니다.</li>
+								<li>상품권은 현금성 결제 수단에 포함되어 주문시 포인트 적립이 가능합니다.</li>
+								<li>상품권으로 결제한 금액은 마이페이지 > 주문상세페이지에서 현금영수증을 발급 받으실 수 있습니다.</li>
+							</ul>
+						</div>
+						<div class="content_area">
+							<div class="taps">
+								<div>
+									<ul>
+										<li id="SearchUseGiftcard"><a href="javascript:void(0);" >사용내역</a></li>
+										<li id="SearchOwnGiftcard"><a href="javascript:void(0);" >보유
+												상품권</a></li>
 									</ul>
+								</div>
+							</div>
+							<div class="select_box" id="dateField">
+								<div class="form_field">
+									<div class="select_custom month">
+										<div class="combo">
+											<div class="select"></div>
+											<ul class="list" id="searchDt">
+											</ul>
+										</div>
+									</div>
+								</div>
 							</div>
+							<!-- 데이터 있을 시 -->
+							<div class="list_box" id="giftcardList"></div>
+							<!-- //데이터 있을 시 -->
 						</div>
 					</div>
 				</div>
 			</div>
-			<div id="giftcardList">
-			</div>
 		</div>
-	</div>
-<!-- // CONT-BODY -->					
+		<!-- // CONT-BODY -->
 <script th:inline="javascript">
-var date = new Date();
-var year = date.getFullYear();
-var month = date.getMonth()+1;
-
-//동적으로 날짜 년도 append
-function appendYear(){
- 
-    for(var i=year; i<=year; i++){
-       	for (var j= 1; j <=month; j++) {
-       		$("#searchDt").prepend("<li onclick='fnChangeDate(this.value)' value='"+year+""+j+"'>"+i+"년"+j +"월 </li>");
-		}
-    }
-    $(".select").append("<li class='selected' value='"+year+""+month+"'>"+year+"년"+ month +"월 </li>"); // 현재년도 선택 */
-}
- 
-appendYear($("#searchDt"));
-
-// 사용내역 조회
-$("#SearchUseGiftcard").click(function(){
-	// class제거 추가
-	$("#SearchOwnGiftcard").removeClass("on");
-	$("#SearchUseGiftcard").addClass("on");
-	$("#giftcardList").attr("class","order_list");
-	
-	// 날짜 필드 
-	$("#dateField").css("display","block");
-	
-	let data = {searchDt : year+""+month,
-				month : month};
-
-	var jsonData = JSON.stringify(data);
-	
-	$.ajax(
-			{
-				type 	 : "POST",
-				data	 : jsonData,
-				url 	 : '/mypage/gift/use/list',
-				contentType: 'application/json',
-					dataType : 'json',
-				success  : function(result){
-					useGiftcard(result);
-				}
+	var date = new Date();
+	var year = date.getFullYear();
+	var month = date.getMonth() + 1;
+
+	//동적으로 날짜 년도 append
+	function appendYear() {
+
+		for (var i = year; i <= year; i++) {
+			for (var j = 1; j <= month; j++) {
+				$("#searchDt").prepend(
+						"<li onclick='fnChangeDate(this.value)' value='"
+								+ year + "" + j + "'>" + i
+								+ "년" + j + "월 </li>");
 			}
-	)
-});
-
-function useGiftcard(result) {
-	
-	let giftcardUseList = result.giftcardUseList;
-	
-	let tmtbHtml = "";
-	
-	tmtbHtml += '<section class="order_row mt30">';
-	tmtbHtml += '<div class="tbl track_tbl type2">';
-	tmtbHtml += '<table>';
-	tmtbHtml += '<colgroup>';
-	tmtbHtml += '<col width="750px">';
-	tmtbHtml += '<col width="150px">';
-	tmtbHtml += '<col width="*">';
-	tmtbHtml += '</colgroup>';
-	tmtbHtml += '<thead>';
-	tmtbHtml += '<tr>';
-	tmtbHtml +=	'<th>내용</th>';
-	tmtbHtml += '<th>증감/차감</th>';
-	tmtbHtml += '<th>일자</th>';
-	tmtbHtml += '</tr>';
-	tmtbHtml += '</thead>';
-	tmtbHtml += '<tbody>';
-	
-	
-	for(let i=0; i<giftcardUseList.length; i++){
-		let useGiftcard = giftcardUseList[i];
-		tmtbHtml +='<tr>';
-		if(useGiftcard.goodsNm != null){
-			tmtbHtml +='<td class="t_l pl40">'+ useGiftcard.goodsNm + '</td>';	
-		}else{
-			tmtbHtml +='<td class="t_l pl40">'+ useGiftcard.balanceName + '</td>';	
 		}
-		tmtbHtml += '<td class="c_primary">'+ useGiftcard.balance + ' ' + useGiftcard.gfcdAmt.addComma() + '</td>';
-		tmtbHtml += '<td>'+ useGiftcard.regDt + '</td>';
+		$(".select").append(
+				"<li class='selected' value='"+year+""+month+"'>"
+						+ year + "년" + month + "월 </li>"); // 현재년도 선택 */
+	}
+
+	appendYear($("#searchDt"));
+
+	// 사용내역 조회
+	$("#SearchUseGiftcard").click(function() {
+		// class제거 추가
+		$("#SearchOwnGiftcard").removeClass("active");
+		$("#SearchUseGiftcard").addClass("active");
+		$("#giftcardList").attr("class", "order_list");
+
+		// 날짜 필드 
+		$("#dateField").css("display", "block");
+
+		let data = {
+			searchDt : year + "" + month,
+			month : month
+		};
+
+		var jsonData = JSON.stringify(data);
+
+		$.ajax({
+			type : "POST",
+			data : jsonData,
+			url : '/mypage/gift/use/list',
+			contentType : 'application/json',
+			dataType : 'json',
+			success : function(result) {
+				useGiftcard(result);
+			}
+		})
+	});
+
+	function useGiftcard(result) {
+
+		let giftcardUseList = result.giftcardUseList;
+
+		let tmtbHtml = "";
+		tmtbHtml += '<div class="tbl type5">';
+		tmtbHtml += '<table>';
+		tmtbHtml += '<colgroup>';
+		tmtbHtml += '<col width="10%">';
+		tmtbHtml += '<col width="*">';
+		tmtbHtml += '<col width="18%">';
+		tmtbHtml += '<col width="18%">';
+		tmtbHtml += '</colgroup>';
+		tmtbHtml += '<thead>';
+		tmtbHtml += '<tr>';
+		tmtbHtml += '<th scope="col"><span class="sr-only">차감</span></th>';
+		tmtbHtml += '<th scope="col">내용</th>';
+		tmtbHtml += '<th scope="col">사용금액</th>';
+		tmtbHtml += '<th scope="col">일자</th>';
 		tmtbHtml += '</tr>';
+		tmtbHtml += '</thead>';
+
+		if (giftcardUseList.length <= 0) {
+			tmtbHtml += '<tbody>';
+			tmtbHtml += '</tbody>';
+			tmtbHtml += '</table>';
+			tmtbHtml += '</div>';
+			tmtbHtml += '<div class="nodata">';
+			tmtbHtml += '<div class="txt_box">';
+			tmtbHtml += '<p>현재 노출 할 수 있는 이용내역이 없습니다.<br></p>';
+			tmtbHtml += '</div>';
+			tmtbHtml += '</div>';
+
+		} else {
+			tmtbHtml += '<tbody>';
+
+			for (let i = 0; i < giftcardUseList.length; i++) {
+				let useGiftcard = giftcardUseList[i];
+				tmtbHtml += '<tr>';
+				tmtbHtml += '<td><span class="tag deepgray">차감</span></td>';
+				tmtbHtml += '<td>';
+				tmtbHtml += '<div class="txt_content">'	+ useGiftcard.goodsNm + '</div>';
+				tmtbHtml += '</td>';
+				tmtbHtml += '<td><span class="amount_minus"> <em>'
+						+ '-'
+						+ ' '
+						+ useGiftcard.gfcdAmt.addComma()
+						+ '</em>원';
+				tmtbHtml += '</span></td>';
+				tmtbHtml += '<td>' + useGiftcard.regDt
+						+ '</td>';
+				tmtbHtml += '</tr>';
+			}
+			tmtbHtml += '</tbody>';
+			tmtbHtml += '</table>';
+			tmtbHtml += '</div>';
+
+		}
+
+		$("#giftcardList").html(tmtbHtml);
 	}
-	
-	tmtbHtml += '</tbody>';
-	tmtbHtml += '</table>';
-	tmtbHtml += '</div>';
-	tmtbHtml += '</section>';
-	
-	$("#giftcardList").html(tmtbHtml);
-}
-
-// 보유상품권 조회
-$("#SearchOwnGiftcard").click(function(){
-	$("#SearchUseGiftcard").removeClass("on");
-	$("#SearchOwnGiftcard").addClass("on");
-	$("#giftcardList").attr("class","gift_list");
-	
-	// 날짜 필드 
-	$("#dateField").css("display","none");
-	let data = {};
-	
-	var jsonData = JSON.stringify(data);
-	
-	$.ajax(
-			{
-				type 	 : "POST",
-				data	 : jsonData,
-				url 	 : '/mypage/gift/own/list',
-				contentType: 'application/json',
-					dataType : 'json',
-				success  : function(result){
-					ownGiftcard(result);
+
+	// 보유상품권 조회
+	$("#SearchOwnGiftcard").click(function() {
+		$("#SearchUseGiftcard").removeClass("active");
+		$("#SearchOwnGiftcard").addClass("active");
+		$("#giftcardList").attr("class", "gift_list");
+
+		// 날짜 필드 
+		$("#dateField").css("display", "none");
+		let data = {};
+
+		var jsonData = JSON.stringify(data);
+
+		$.ajax({
+			type : "POST",
+			data : jsonData,
+			url : '/mypage/gift/own/list',
+			contentType : 'application/json',
+			dataType : 'json',
+			success : function(result) {
+				ownGiftcard(result);
+			}
+		})
+	});
+
+	function ownGiftcard(result) {
+
+		let giftcardOwnList = result.giftcardOwnList;
+
+		let tmtbHtml2 = "";
+
+		if (giftcardOwnList == null) {
+			tmtbHtml2 += '<div class="nodata">';
+			tmtbHtml2 += '<div class="txt_box">';
+			tmtbHtml2 += '<p>현재 노출 할 수 있는 상품권이 없습니다.<br></p>';
+			tmtbHtml2 += '</div>';
+			tmtbHtml2 += '</div>';
+		} else {
+
+			tmtbHtml2 += '<div class="voucher_list">';
+			tmtbHtml2 += '<ul>';
+				for (let i = 0; i < giftcardOwnList.length; i++) {
+				let ownGiftcard = giftcardOwnList[i];
+
+				tmtbHtml2 += '<li>';
+				if (ownGiftcard.rmGfcdAmt == 0) {
+					tmtbHtml2 += '<div class="voucher disable">';
+				} else {
+					tmtbHtml2 += '<div class="voucher">';
 				}
+
+				tmtbHtml2 += '<div>';
+				tmtbHtml2 += '<p class="vch_name">'	+ ownGiftcard.gfcdNm + '</p>';
+				tmtbHtml2 += '<p class="vch_price"><span class="tag primary_line"><em>'	+ ownGiftcard.chgGfcdAmt.addComma()	+ '</em>원권</span></p>';
+				if (ownGiftcard.rmGfcdAmt > 0) {
+					tmtbHtml2 += '<p class="vch_remain">'+ ownGiftcard.rmGfcdAmt.addComma()+ '원</p>';
+				} else {
+					tmtbHtml2 += '<p class="vch_remain">전액소진</p>';
+				}
+
+				tmtbHtml2 += '<p class="vch_code">'	+ ownGiftcard.gfcdNo + '</p>';
+				tmtbHtml2 += '</div>';
+				tmtbHtml2 += '<div class="vch_date">~&nbsp;<span>'	+ ownGiftcard.useExpDate	+ '</span></div>';
+				tmtbHtml2 += '</div>';
+				tmtbHtml2 += '</li>';
 			}
-	)
-});
-
-function ownGiftcard(result) {
-	
-	let giftcardOwnList = result.giftcardOwnList;
-	
-	let tmtbHtml2 = "";
-	
-
-	tmtbHtml2 += '<ul class="clear">';
-
-	for(let i=0; i<giftcardOwnList.length; i++){
-		let ownGiftcard = giftcardOwnList[i];
-
-		if(ownGiftcard.rmGfcdAmt > 0){
-			tmtbHtml2 += '<li>';
-		}else{
-			tmtbHtml2 += '<li class="off">';
-		}	
-		tmtbHtml2 += '<div class="gift_shape">';
-		tmtbHtml2 += '<strong>' + ownGiftcard.gfcdNm + '</strong>';
-		tmtbHtml2 += '<div class="gift_price01">' +ownGiftcard.chgGfcdAmt.addComma() + ' 원권' +'</div>';
-		tmtbHtml2 += '<div class="gift_price02">';
-		tmtbHtml2 += '<span class="pr_t">잔액</span><span class="pr_num">'+ownGiftcard.rmGfcdAmt.addComma()+'</span>원'
-		tmtbHtml2 += '<div>';
-		tmtbHtml2 += '<div class="gift_price03">' +ownGiftcard.gfcdNo + '</div>';
-		tmtbHtml2 += '</div>';
-		tmtbHtml2 += '<div class="gift_date">';
-		tmtbHtml2 += '~ <span>' +ownGiftcard.useExpDate + '</span>';
-		tmtbHtml2 += '</div>';
-		tmtbHtml2 += '</li>';
+			tmtbHtml2 += '</ul>';
+			tmtbHtml2 += '</div>';
+
+		}
+
+		$("#giftcardList").html(tmtbHtml2);
+
 	}
-	
-	tmtbHtml2 += '</ul>';		
-		
-	$("#giftcardList").html(tmtbHtml2);
-
-}
-
-function fnChangeDate(obj) {
-
-	var seletedDate = obj.toString();
-	var splitMonth = seletedDate.substr(4);
-	
-	data = {month : splitMonth,
-			searchDt : seletedDate};
-
- 	var jsonData = JSON.stringify(data);
-	
-	$.ajax(
-			{
-				type 	 : "POST",
-				data	 : jsonData,
-				url 	 : '/mypage/gift/use/list',
-				contentType: 'application/json',
-					dataType : 'json',
-				success  : function(result){
-					useGiftcard(result);
-				}
+
+	function fnChangeDate(obj) {
+
+		var seletedDate = obj.toString();
+		var splitMonth = seletedDate.substr(4);
+
+		data = {
+			month : splitMonth,
+			searchDt : seletedDate
+		};
+
+		var jsonData = JSON.stringify(data);
+
+		$.ajax({
+			type : "POST",
+			data : jsonData,
+			url : '/mypage/gift/use/list',
+			contentType : 'application/json',
+			dataType : 'json',
+			success : function(result) {
+				useGiftcard(result);
 			}
-		)  
-}
-
-// 상품권 등록 버튼 누를 시 
-function giftcardSave() {
-	if($("#gift_input").val() == "" || $("#gift_input").val() == null){
-		mcxDialog.alert("상품권 번호를 입력해주세요.");
-		return;
+		})
 	}
-	
- 	data = {gfcdNo : $("#gift_input").val()};
-
- 	var jsonData = JSON.stringify(data);
- 	
- 	mcxDialog.confirm("상품권을 등록 하시겠습니까?", {
-		cancelBtnText: "취소",
-		sureBtnText: "확인",
-		sureBtnClick: function() {
-			
-			gagajf.ajaxJsonSubmit('/mypage/gift/use/confirm', jsonData, function() {
-				cfnGoToPage(_PAGE_MYPAGE_GIFTCARD);
-			});
+
+	// 상품권 등록 버튼 누를 시 
+	function giftcardSave() {
+		if ($("#gift_input").val() == ""
+				|| $("#gift_input").val() == null) {
+			mcxDialog.alert("상품권 번호를 입력해주세요.");
+			return;
 		}
+
+		data = {
+			gfcdNo : $("#gift_input").val()
+		};
+
+		var jsonData = JSON.stringify(data);
+
+		mcxDialog.confirm("상품권을 등록 하시겠습니까?", {
+			cancelBtnText : "취소",
+			sureBtnText : "확인",
+			sureBtnClick : function() {
+
+				gagajf.ajaxJsonSubmit(
+						'/mypage/gift/use/confirm', jsonData,
+						function() {
+							cfnGoToPage(_PAGE_MYPAGE_GIFTCARD);
+						});
+			}
+		});
+
+	}
+
+	$(document).ready(function() {
+
+		// 마이페이지 LNB 설정
+		fnSetMypageLnbList(6);
+
+		// 마이페이지 location 설정
+		fnSetMypageLocation('상품권', '_PAGE_MYPAGE_GIFTCARD');
+
+		// 전체내역 표시
+		$("#SearchUseGiftcard").trigger('click');
+
+		// 셀렉트박스 활성화
+		$('.select_custom.month').each(function(index) {
+			var selecter01 = new sCombo($(this));
+		});
 	});
-	
-}
-
-$(document).ready(function() {
-
-	// 마이페이지 LNB 설정
-	fnSetMypageLnbList(6);
-	
-	// 마이페이지 location 설정
-	fnSetMypageLocation('상품권', '_PAGE_MYPAGE_GIFTCARD');
-	
-	// 전체내역 표시
-	$("#SearchUseGiftcard").trigger('click');
-
-	// 셀렉트박스 활성화
-	$('.select_custom.type1').each(function(index) {
-		var selecter01 = new sCombo($(this));
-	});
-});
 </script>
 </th:block>
 

+ 6 - 2
src/main/webapp/WEB-INF/views/web/order/OrderCustemerInfoWeb.html

@@ -21,7 +21,7 @@
 				<span>주문고객</span>
 			</div>
 			<div class="data">
-				<span th:text="${custemerInfo.ordNm}"></span> 
+				<span th:text="${custemerInfo.custNm}"></span> 
 				<span th:text="${custemerInfo.email}"></span> 
 				<span th:text="${custemerInfo.cellPhnno}"></span>
 			</div>
@@ -29,13 +29,17 @@
 	</a>
 </div>
 <div class="fold_cont" style="display: none;">
+	<input type="hidden" name="custNm" 		th:value="${custemerInfo.custNm}"/>
+	<input type="hidden" name="email" 		th:value="${custemerInfo.email}"/>
+	<input type="hidden" name="cellPhnno" 	th:value="${custemerInfo.cellPhnno}"/>
+	
 	<div class="area_mbinfo">
 		<dl>
 			<div>
 				<dt>
 					<span class="sr-only">주문자명</span>
 				</dt>
-				<dd th:text="${custemerInfo.ordNm}"></dd>
+				<dd th:text="${custemerInfo.custNm}"></dd>
 			</div>
 			<div>
 				<dt>

+ 85 - 146
src/main/webapp/WEB-INF/views/web/order/OrderDcAmtInfoWeb.html

@@ -13,8 +13,9 @@
  * 1.0  2021.02.01   jsh77b     최초 작성
  *******************************************************************************
  -->
+
 <!-- 할인/혜택 사용 -->
-<div class="fold_head">
+<div class="fold_head on">
 	<a href="javascript:void(0)">
 		<div>
 			<div class="fold_tit">
@@ -24,155 +25,81 @@
 				<div class="form_field">
 					<input id="chk-maxdisc" type="checkbox" checked="">
 					<label for="chk-maxdisc">
-						<span>최대 할인혜택을 바로 적용하세요 <em class="maxdisc_amount"></em></span>
+						<span>최대 할인혜택을 바로 적용하세요!</span>&nbsp;
+						<span class="maxdisc_amount">(<em class="cpnDcAmt"></em>원 할인)</span>
 					</label>
 				</div>
 			</div>
 		</div>
 	</a>
 </div>
-<div class="fold_cont" style="display: none;">
+<div class="fold_cont" style="display: block;">
 	<div class="area_seldiscount">
 		<dl>
 			<div>
-				<dt><span class="mid">할인코드</span></dt>
+				<dt>할인쿠폰</dt>
 				<dd>
-					<div class="form_field">
-						<div class="input_wrap">
-							<input type="text" id="serialCpnNm" class="form_control" maxlength="13" placeholder="할인코드를 입력해주세요.">
-							<button type="button" class="btn btn_dark" onclick="serialCpnApply()">적용</button>
+					<div class="sale_coupon_box">
+						<div>
+							<span class="maxdisc_amount">총&nbsp;<em class="cpnDcAmt"></em>원 할인</span>
+							<button id="btn_couponModify_pop" class="btn btn_default btn_sm">
+								<span>쿠폰변경</span>
+							</button>
+						</div>
+						<div class="form_field">
+							<div class="input_wrap">
+								<input type="text" id="serialCpnNm" class="form_control" maxlength="13" placeholder="할인코드를 입력해주세요.">
+								<button type="button" class="btn btn_dark btn_sm" onclick="serialCpnApply()">
+									<span>적용</span>
+								</button>
+							</div>
 						</div>
 					</div>
 				</dd>
 			</div>
-			<div id="custCpnInfo" style="display:none">
-				<dt>할인쿠폰</dt>
-				<dd>
-					<a href="javascript:void(0);" class="btn_coupon_toggle">할인쿠폰 <span id="cpnApplyCnt"></span>적용</a>
-					<div class="coupon_list">
-						<ul>
-							<!--  상품쿠폰 -->
-							<th:block th:each="goods, i : ${goodsApplyCpnList}">
-								<th:block th:if="${goods.goodsCpnList.size() > 0}">
-									<li>
-										<div class="coupon">
-											<div class="item_gd">
-												<figure>
-													<span class="thumb"><img src="/images/pc/thumb/tmp_odSide1.jpg" alt=""></span>
-													<figcaption>
-														<div class="brand" th:text="${goods.brandEnm}+' '+${goods.brandKnm}"></div>
-														<div class="name" th:text="${goods.goodsNm}"></div>
-														<div class="price">
-															<th:block th:if="${goods.tmtbDcAmt} > 0">
-																<span class="selling_price"  th:text="${#numbers.formatInteger(goods.tmtbDcAmt, 1, 'COMMA')}"></span>
-															</th:block>
-															<th:block th:if="${goods.tmtbDcAmt} < 1">
-																<span class="selling_price"  th:text="${#numbers.formatInteger(goods.currPrice, 1, 'COMMA')}"></span>
-															</th:block>
-														</div>
-													</figcaption>
-												</figure>
-											</div>
-											 
-											<div class="form_field">
-												<div class="select_custom type1">
-													<div class="combo">
-														<input type="hidden" name="cpnType" value="goodsCpn"/>
-														<input type="hidden" name="cpnCartSq" th:value="${goods.cartSq}"/>
-														<input type="hidden" name="custCpnSq" value="0"/>
-														<input type="hidden" name="cpnDcAmt" value="0"/>
+			
+			<th:block th:if="${delvCpnList.size() > 0}">
+				<div>
+					<dt>배송비 쿠폰</dt>
+					<dd>
+						<div class="dlvr_fee_box">
+							<div class="form_field">
+								<div class="select_custom coupon_list">
+									<div class="combo">
+										<input type="hidden" name="cpnType" value="delvCpn"/>
+										<input type="hidden" name="custCpnSq" value="0"/>
+										<input type="hidden" name="cpnDcAmt" value="0"/>
+										<input type="hidden" name="delvFeeCd" value="0"/>
 														
-														<div class="select">선택없음</div>
-														<ul class="list">
-															<li value="0">선택없음</li>
-															<th:block th:each="goodsCpn, k : ${goods.goodsCpnList}">
-																<li th:value="${goodsCpn.custCpnSq}" th:data="${goodsCpn.cpnDcAmt}" th:text="${goodsCpn.cpnNm}"></li>
-															</th:block>
-														</ul>
-													</div>
-												</div>
-											</div>
-											<div class="cp_discount" style="display:none;">
-												<span class="cp_amount"></span>
-												<button type="button" class="btn_del_coupon"><span>쿠폰적용해제</span></button>
-											</div>
-										</div>
-									</li>
-								</th:block>
-							</th:block>
-							<!--  상품쿠폰 -->
-
-							<!--  장바구니쿠폰 -->
-							<th:block th:if="${cartCpnList.size() > 0}">
-								<li>
-									<div class="coupon">
-										<div class="form_field">
-											<div class="select_custom type1">
-												<div class="combo">
-													<input type="hidden" name="cpnType" value="cartCpn"/>
-													<input type="hidden" name="custCpnSq" value="0"/>
-													<input type="hidden" name="cpnDcAmt" value="0"/>
-													
-													<div class="select">선택없음</div>
-													<ul class="list">
-														<li value="0">선택없음</li>
-														<th:block th:each="cartCpn, k : ${cartCpnList}">
-															<li th:value="${cartCpn.custCpnSq}" th:data="${cartCpn.cpnDcAmt}">
-																<th:block th:text="${cartCpn.cpnNm}"></th:block>
-																<input type="hidden" name="dcWay" th:value="${cartCpn.dcWay}"/>
-																<input type="hidden" name="dcVal" th:value="${cartCpn.dcVal}"/>
-																<th:block th:each="cartCpnCartSq, kokok : ${cartCpn.cartCpnCartSqArr}"> 
-																	<input type="hidden" name="cartCpnCartSq" th:value="${cartCpnCartSq}" />
-																</th:block>
-															</li>
-														</th:block>
-													</ul>
-												</div>
-											</div>
-										</div>
-										<div class="cp_discount">
-											<span class="cp_amount"></span>
-											<button type="button" class="btn_del_coupon"><span>쿠폰적용해제</span></button>
-										</div>
-									</div>
-								</li>
-							</th:block>
-							<!--  장바구니쿠폰 -->
-							
-							<!--  배송비쿠폰 -->
-							<th:block th:if="${delvCpnList.size() > 0}">
-								<li>
-									<div class="coupon">
-										<div class="form_field">
-											<div class="select_custom type1">
-												<div class="combo">
-													<input type="hidden" name="cpnType" value="delvCpn"/>
-													<input type="hidden" name="custCpnSq" value="0"/>
-													<input type="hidden" name="cpnDcAmt" value="0"/>
-													<input type="hidden" name="delvFeeCd" value="0"/>
-													
-													<div class="select" value="0">선택없음</div>
-													<ul class="list">
-														<li value="0">선택없음</li>
-														<th:block th:each="delvCpn, k : ${delvCpnList}">
-															<li th:value="${delvCpn.custCpnSq}" th:data="${delvCpn.dcVal}" th:delvfeecd="${delvCpn.delvFeeCd}" th:delvfee="${delvCpn.delvFee}" th:text="${delvCpn.cpnNm}"></li>
-														</th:block>
-													</ul>
-												</div>
-											</div>
-										</div>
-										<div class="cp_discount">
-											<span class="cp_amount"></span>
-											<button type="button" class="btn_del_coupon"><span>쿠폰적용해제</span></button>
+										<div class="select">
+											<div class="dlvr_coupon"><p class="empty">선택</p></div>
 										</div>
+										<ul class="list" style="display: none;">
+											<th:block th:each="delvCpn, k : ${delvCpnList}">
+												<!-- <li class="selected"> -->
+												<li th:value="${delvCpn.custCpnSq}" th:data="${delvCpn.dcVal}" th:delvfeecd="${delvCpn.delvFeeCd}" th:delvfee="${delvCpn.delvFee}">
+													<div class="dlvr_coupon">
+														<input type="hidden" name="dcWay" th:value="${cartCpn.dcWay}"/>
+														<input type="hidden" name="dcVal" th:value="${cartCpn.dcVal}"/>
+														<p class="name" th:text="${delvCpn.cpnNm}"></p>
+														<!-- 
+														<p class="txt"><span th:text="${cartCpn.buyLimitAmt}">30,000</span>원 이상 구매시 최대 <span th:text="${cartCpn.maxDcAmt}">3,000</span>원 할인</p>
+														 -->
+														<p class="discount"><span th:text="${delvCpn.dcVal}"></span>원 할인</p>
+													</div>
+												</li>
+											</th:block>
+											<li>
+												<div class="dlvr_coupon"><p class="empty">적용 안함</p></div>
+											</li>
+										</ul>
 									</div>
-								</li>
-							</th:block>
-							<!--  배송비쿠폰 -->
-						</ul>
-					</div>
-				</dd>
-			</div>
+								</div>
+							</div>
+						</div>
+					</dd>
+				</div>
+			</th:block>
 		</dl>
 	</div>
 	
@@ -180,6 +107,7 @@
 	<th:block th:if="${prePntDcAmt} > 0 or ${rmPntAmt} > 0 or ${rmGfcdAmt} > 0">
 		<div class="area_selpoint">
 			<dl>
+				<!-- 선포인트금액, 포인트금액, 상품권금액 0보다 클때 적용 -->
 				<th:block th:if="${prePntDcAmt} > 0">
 					<div>
 						<dt>선 포인트 사용</dt>
@@ -187,23 +115,22 @@
 							<div class="form_field">
 								<input type="hidden" name="rmPrePntAmt" th:value="${prePntDcAmt}"/>
 								<div>
-									<input type="radio" name="rdi-beforpoint" id="rdi-beforpoint1" value="N"> 
+									<input type="radio" name="rdi-beforpoint" id="rdi-beforpoint1"value="N" checked=""> 
 									<label for="rdi-beforpoint1"><span>사용 안함</span></label>
 								</div>
 								<div>
 									<input type="radio" name="rdi-beforpoint" id="rdi-beforpoint2" value="Y"> 
 									<label for="rdi-beforpoint2"><span>사용함</span></label> 
-									<span class="remain_point" th:text="|사용가능 포인트 : ${#numbers.formatInteger(prePntDcAmt, 1, 'COMMA')} P|"></span>
+									<span class="useable_point">(<em th:text="${#numbers.formatInteger(prePntDcAmt, 1, 'COMMA')"></em>&nbsp;사용 가능)</span>
 								</div>
 							</div>
 						</dd>
 					</div>
 				</th:block>
+				
 				<th:block th:if="${rmPntAmt} > 0">
 					<div>
-						<dt>
-							<span class="mid">스타일 포인트</span>
-						</dt>
+						<dt>스타일 포인트</dt>
 						<dd>
 							<div class="form_field">
 								<input type="hidden" name="rmPntAmt" th:value="${rmPntAmt}"/>
@@ -211,35 +138,47 @@
 								<th:block th:if="${orgGoodsSumAmt} >= 30000">
 									<div class="input_wrap">
 										<input type="text" name="pntDcAmtStr" class="form_control" maxlength="" placeholder="사용할 포인트를 입력해주세요.">
-										<button type="button" class="btn btn_dark" id="btn_point_apply">적용</button>
+										<button type="button" class="btn btn_dark btn_sm">
+											<span>적용</span>
+										</button>
 									</div>
-									<p><span class="remain_point rmPntAmt" th:text="|보유 : ${#numbers.formatInteger(rmPntAmt, 1, 'COMMA')} P|"></span>(결제금액의 최대 40%까지 사용가능)</p>
 								</th:block>
 								<!-- 스타일 포인트 3만원 이상 결제시 노출 -->
 								
 								<!-- 스타일 포인트 3만원 미만 결제시 노출 -->
 								<th:block th:if="${orgGoodsSumAmt} < 30000">
 									<div class="input_wrap">
-										<input type="text" class="form_control" maxlength="" placeholder="3만원 이상 결제시에만 포인트 사용이 가능합니다." disabled>
+										<input type="text" class="form_control" maxlength="" placeholder="3만원 이상 결제시에만 포인트 사용이 가능합니다." disabled="">
 									</div>
 								</th:block>
+								<!-- //스타일 포인트 3만원 미만 결제시 노출 -->
+								
+								<p>
+									<span class="remain_point">보유:&nbsp;
+										<em class="rmPntAmt" th:text="${#numbers.formatInteger(rmPntAmt, 1, 'COMMA')"></em>P
+									</span>(결제금액의 최대 40%까지 사용가능)
+								</p>
 							</div>
 						</dd>
 					</div>
 				</th:block>
+				
 				<th:block th:if="${rmGfcdAmt} > 0">
 					<div>
-						<dt>
-							<span class="mid">상품권</span>
-						</dt>
+						<dt>상품권</dt>
 						<dd>
 							<div class="form_field">
 								<input type="hidden" name="rmGfcdAmt" th:value="${rmGfcdAmt}"/>
 								<div class="input_wrap">
 									<input type="text" name="gfcdUseAmtStr" class="form_control" maxlength="" placeholder="사용할 금액을 입력해주세요.">
-									<button type="button" class="btn btn_dark" id="btn_gfcd_apply">적용</button>
+									<button type="button" class="btn btn_dark btn_sm">
+										<span>적용</span>
+									</button>
 								</div>
-								<p><span class="remain_point" th:text="|보유 : ${#numbers.formatInteger(rmGfcdAmt, 1, 'COMMA')} 원|"></span></p>
+								<p>
+									<span class="remain_point">보유:&nbsp;<em th:text="${#numbers.formatInteger(rmGfcdAmt, 1, 'COMMA')}"></em>원
+									</span>
+								</p>
 								<div class="agree_receipt">
 									<input id="chk-receipt" type="checkbox"> 
 									<label for="chk-receipt"><span>상품권 현금영수증 신청</span></label>

+ 286 - 0
src/main/webapp/WEB-INF/views/web/order/OrderDcAmtInfoWeb_20210318.html

@@ -0,0 +1,286 @@
+<!DOCTYPE html>
+<html lang="ko" xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : OrderDcAmtInfoWeb.html
+ * @desc    : 할인혜택 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.02.01   jsh77b     최초 작성
+ *******************************************************************************
+ -->
+<div class="fold_head">
+	<a href="javascript:void(0)">
+		<div>
+			<div class="fold_tit">
+				<span>할인/혜택 사용</span>
+			</div>
+			<div class="data maxdisc">
+				<div class="form_field">
+					<input id="chk-maxdisc" type="checkbox" checked="">
+					<label for="chk-maxdisc">
+						<span>최대 할인혜택을 바로 적용하세요 <em class="maxdisc_amount"></em></span>
+					</label>
+				</div>
+			</div>
+		</div>
+	</a>
+</div>
+<div class="fold_cont" style="display: none;">
+	<div class="area_seldiscount">
+		<dl>
+			<div>
+				<dt><span class="mid">할인코드</span></dt>
+				<dd>
+					<div class="form_field">
+						<div class="input_wrap">
+							<input type="text" id="serialCpnNm" class="form_control" maxlength="13" placeholder="할인코드를 입력해주세요.">
+							<button type="button" class="btn btn_dark" onclick="serialCpnApply()">적용</button>
+						</div>
+					</div>
+				</dd>
+			</div>
+			<div id="custCpnInfo" style="display:none">
+				<dt>할인쿠폰</dt>
+				<dd>
+					<a href="javascript:void(0);" class="btn_coupon_toggle">할인쿠폰 <span id="cpnApplyCnt"></span>적용</a>
+					<div class="coupon_list">
+						<ul>
+							<!--  상품쿠폰 -->
+							<th:block th:each="goods, i : ${goodsApplyCpnList}">
+								<th:block th:if="${goods.goodsCpnList.size() > 0}">
+									<li>
+										<div class="coupon">
+											<div class="item_gd">
+												<figure>
+													<span class="thumb"><img src="/images/pc/thumb/tmp_odSide1.jpg" alt=""></span>
+													<figcaption>
+														<div class="brand" th:text="${goods.brandEnm}+' '+${goods.brandKnm}"></div>
+														<div class="name" th:text="${goods.goodsNm}"></div>
+														<div class="price">
+															<th:block th:if="${goods.tmtbDcAmt} > 0">
+																<span class="selling_price"  th:text="${#numbers.formatInteger(goods.tmtbDcAmt, 1, 'COMMA')}"></span>
+															</th:block>
+															<th:block th:if="${goods.tmtbDcAmt} < 1">
+																<span class="selling_price"  th:text="${#numbers.formatInteger(goods.currPrice, 1, 'COMMA')}"></span>
+															</th:block>
+														</div>
+													</figcaption>
+												</figure>
+											</div>
+											 
+											<div class="form_field">
+												<div class="select_custom type1">
+													<div class="combo">
+														<input type="hidden" name="cpnType" value="goodsCpn"/>
+														<input type="hidden" name="cpnCartSq" th:value="${goods.cartSq}"/>
+														<input type="hidden" name="custCpnSq" value="0"/>
+														<input type="hidden" name="cpnDcAmt" value="0"/>
+														
+														<div class="select">선택없음</div>
+														<ul class="list">
+															<li value="0">선택없음</li>
+															<th:block th:each="goodsCpn, k : ${goods.goodsCpnList}">
+																<li th:value="${goodsCpn.custCpnSq}" th:data="${goodsCpn.cpnDcAmt}" th:text="${goodsCpn.cpnNm}"></li>
+															</th:block>
+														</ul>
+													</div>
+												</div>
+											</div>
+											<div class="cp_discount" style="display:none;">
+												<span class="cp_amount"></span>
+												<button type="button" class="btn_del_coupon"><span>쿠폰적용해제</span></button>
+											</div>
+										</div>
+									</li>
+								</th:block>
+							</th:block>
+							<!--  상품쿠폰 -->
+
+							<!--  장바구니쿠폰 -->
+							<th:block th:if="${cartCpnList.size() > 0}">
+								<li>
+									<div class="coupon">
+										<div class="form_field">
+											<div class="select_custom type1">
+												<div class="combo">
+													<input type="hidden" name="cpnType" value="cartCpn"/>
+													<input type="hidden" name="custCpnSq" value="0"/>
+													<input type="hidden" name="cpnDcAmt" value="0"/>
+													
+													<div class="select">선택없음</div>
+													<ul class="list">
+														<li value="0">선택없음</li>
+														<th:block th:each="cartCpn, k : ${cartCpnList}">
+															<li th:value="${cartCpn.custCpnSq}" th:data="${cartCpn.cpnDcAmt}">
+																<th:block th:text="${cartCpn.cpnNm}"></th:block>
+																<input type="hidden" name="dcWay" th:value="${cartCpn.dcWay}"/>
+																<input type="hidden" name="dcVal" th:value="${cartCpn.dcVal}"/>
+																<th:block th:each="cartCpnCartSq, kokok : ${cartCpn.cartCpnCartSqArr}"> 
+																	<input type="hidden" name="cartCpnCartSq" th:value="${cartCpnCartSq}" />
+																</th:block>
+															</li>
+														</th:block>
+													</ul>
+												</div>
+											</div>
+										</div>
+										<div class="cp_discount">
+											<span class="cp_amount"></span>
+											<button type="button" class="btn_del_coupon"><span>쿠폰적용해제</span></button>
+										</div>
+									</div>
+								</li>
+							</th:block>
+							<!--  장바구니쿠폰 -->
+							
+							<!--  배송비쿠폰 -->
+							<th:block th:if="${delvCpnList.size() > 0}">
+								<li>
+									<div class="coupon">
+										<div class="form_field">
+											<div class="select_custom type1">
+												<div class="combo">
+													<input type="hidden" name="cpnType" value="delvCpn"/>
+													<input type="hidden" name="custCpnSq" value="0"/>
+													<input type="hidden" name="cpnDcAmt" value="0"/>
+													<input type="hidden" name="delvFeeCd" value="0"/>
+													
+													<div class="select" value="0">선택없음</div>
+													<ul class="list">
+														<li value="0">선택없음</li>
+														<th:block th:each="delvCpn, k : ${delvCpnList}">
+															<li th:value="${delvCpn.custCpnSq}" th:data="${delvCpn.dcVal}" th:delvfeecd="${delvCpn.delvFeeCd}" th:delvfee="${delvCpn.delvFee}" th:text="${delvCpn.cpnNm}"></li>
+														</th:block>
+													</ul>
+												</div>
+											</div>
+										</div>
+										<div class="cp_discount">
+											<span class="cp_amount"></span>
+											<button type="button" class="btn_del_coupon"><span>쿠폰적용해제</span></button>
+										</div>
+									</div>
+								</li>
+							</th:block>
+							<!--  배송비쿠폰 -->
+						</ul>
+					</div>
+				</dd>
+			</div>
+		</dl>
+	</div>
+	
+	<!-- 선포인트금액, 포인트금액, 상품권금액 0보다 클때 적용 -->
+	<th:block th:if="${prePntDcAmt} > 0 or ${rmPntAmt} > 0 or ${rmGfcdAmt} > 0">
+		<div class="area_selpoint">
+			<dl>
+				<th:block th:if="${prePntDcAmt} > 0">
+					<div>
+						<dt>선 포인트 사용</dt>
+						<dd>
+							<div class="form_field">
+								<input type="hidden" name="rmPrePntAmt" th:value="${prePntDcAmt}"/>
+								<div>
+									<input type="radio" name="rdi-beforpoint" id="rdi-beforpoint1" value="N"> 
+									<label for="rdi-beforpoint1"><span>사용 안함</span></label>
+								</div>
+								<div>
+									<input type="radio" name="rdi-beforpoint" id="rdi-beforpoint2" value="Y"> 
+									<label for="rdi-beforpoint2"><span>사용함</span></label> 
+									<span class="remain_point" th:text="|사용가능 포인트 : ${#numbers.formatInteger(prePntDcAmt, 1, 'COMMA')} P|"></span>
+								</div>
+							</div>
+						</dd>
+					</div>
+				</th:block>
+				<th:block th:if="${rmPntAmt} > 0">
+					<div>
+						<dt>
+							<span class="mid">스타일 포인트</span>
+						</dt>
+						<dd>
+							<div class="form_field">
+								<input type="hidden" name="rmPntAmt" th:value="${rmPntAmt}"/>
+								<!-- 스타일 포인트 3만원 이상 결제시 노출 -->
+								<th:block th:if="${orgGoodsSumAmt} >= 30000">
+									<div class="input_wrap">
+										<input type="text" name="pntDcAmtStr" class="form_control" maxlength="" placeholder="사용할 포인트를 입력해주세요.">
+										<button type="button" class="btn btn_dark" id="btn_point_apply">적용</button>
+									</div>
+									<p><span class="remain_point rmPntAmt" th:text="|보유 : ${#numbers.formatInteger(rmPntAmt, 1, 'COMMA')} P|"></span>(결제금액의 최대 40%까지 사용가능)</p>
+								</th:block>
+								<!-- 스타일 포인트 3만원 이상 결제시 노출 -->
+								
+								<!-- 스타일 포인트 3만원 미만 결제시 노출 -->
+								<th:block th:if="${orgGoodsSumAmt} < 30000">
+									<div class="input_wrap">
+										<input type="text" class="form_control" maxlength="" placeholder="3만원 이상 결제시에만 포인트 사용이 가능합니다." disabled>
+									</div>
+								</th:block>
+							</div>
+						</dd>
+					</div>
+				</th:block>
+				<th:block th:if="${rmGfcdAmt} > 0">
+					<div>
+						<dt>
+							<span class="mid">상품권</span>
+						</dt>
+						<dd>
+							<div class="form_field">
+								<input type="hidden" name="rmGfcdAmt" th:value="${rmGfcdAmt}"/>
+								<div class="input_wrap">
+									<input type="text" name="gfcdUseAmtStr" class="form_control" maxlength="" placeholder="사용할 금액을 입력해주세요.">
+									<button type="button" class="btn btn_dark" id="btn_gfcd_apply">적용</button>
+								</div>
+								<p><span class="remain_point" th:text="|보유 : ${#numbers.formatInteger(rmGfcdAmt, 1, 'COMMA')} 원|"></span></p>
+								<div class="agree_receipt">
+									<input id="chk-receipt" type="checkbox"> 
+									<label for="chk-receipt"><span>상품권 현금영수증 신청</span></label>
+									<div class="info_box">
+										<div class="input_wrap">
+											<input type="text" class="form_control" maxlength="11" placeholder="">
+										</div>
+									</div>
+								</div>
+							</div>
+						</dd>
+					</div>
+				</th:block>
+			</dl>
+		</div>
+	</th:block>
+</div> <!-- //할인/혜택 사용 -->
+
+<script th:inline="javascript">
+var dispYn = [[${order.dispYn}]]; // 노출여부
+
+//컨텐츠 호출
+$(document).ready( function() {
+	// 화면펼침
+	if (dispYn == "Y") {
+		$("#dcAmtInfo .fold_head").addClass("on");
+		$("#dcAmtInfo .fold_cont").css("display", "block");
+
+		$("#dcAmtInfo .fold_cont .btn_coupon_toggle").addClass("on");
+		$("#dcAmtInfo .fold_cont .coupon_list").css("display", "block");
+		
+		// 2021.03.15 보유쿠폰존재하면 할인쿠폰 영역 노출
+		var custCpnCnt  = 0;
+		$("#custCpnInfo .coupon").each(function(){
+			custCpnCnt++;
+		});
+		
+		if (custCpnCnt > 0) {
+			$("#custCpnInfo").show();
+		}
+		
+	}
+});
+</script>
+</html>

+ 37 - 35
src/main/webapp/WEB-INF/views/web/order/OrderDeliveryAddrInfoWeb.html

@@ -21,13 +21,12 @@
 			<div class="fold_tit">
 				<span>배송지 정보</span>
 			</div>
-			<div class="data" th:text="${deliveryAddrInfo.recipBaseAddr} + ' ' + ${deliveryAddrInfo.recipDtlAddr}"></div>
+			<div class="data" th:text="${deliveryAddrInfo.recipBaseAddr} + '   ' + ${deliveryAddrInfo.recipDtlAddr}"></div>
 		</div>
 	</a>
 </div>
-
 <div class="fold_cont" style="display: none;">
-	<div class="area_mbinfo">
+	<div class="area_receiveinfo">
 		<input type="hidden" name="recipZipcode" 	th:value="${deliveryAddrInfo.recipZipcode}"/>
 		<input type="hidden" name="recipBaseAddr" 	th:value="${deliveryAddrInfo.recipBaseAddr}"/>
 		<input type="hidden" name="recipDtlAddr" 	th:value="${deliveryAddrInfo.recipDtlAddr}"/>
@@ -37,13 +36,15 @@
 		
 		<dl>
 			<div>
-				<dt><span class="sr-only">배송지명</span></dt>
+				<dt>
+					<span class="sr-only">배송지명</span>
+				</dt>
 				<dd>
-					<span th:text="${deliveryAddrInfo.delvAddrNm}"></span>
-					<span class="icon_tag">
-						<em class="tag_stype1">기본 배송지</em>
+					<th:block th:text="${deliveryAddrInfo.delvAddrNm}"></th:block>
+					<span class="icon_tag"> 
+						<em class="tag gray">기본 배송지</em> 
 						<th:block th:if="${order.shotDelvUseYn} == 'Y'"> 
-							<em class="tag_stype2">총알배송</em>
+							<em class="tag primary_line">총알배송</em>
 						</th:block>
 					</span>
 				</dd>
@@ -53,9 +54,9 @@
 					<span class="sr-only">배송주소</span>
 				</dt>
 				<dd>
-					<span th:text="${deliveryAddrInfo.recipBaseAddr} + ${deliveryAddrInfo.recipDtlAddr}"></span>
-					<button type="button" class="btn_popup" id="btn_adrsChange_pop">
-						<span>배송지 선택</span>
+					<th:block th:text="${deliveryAddrInfo.recipBaseAddr} + '    ' + ${deliveryAddrInfo.recipDtlAddr}"></th:block>
+					<button type="button" class="btn btn_default btn_sm" id="btn_adrsChange_pop">
+						<span>배송지 변경</span>
 					</button>
 				</dd>
 			</div>
@@ -68,53 +69,53 @@
 			<div>
 				<dt>배송요청 사항</dt>
 				<dd>
-					<span th:text="${deliveryAddrInfo.delvMemo}" id="delvMemo"></span>
-					<button type="button" class="btn_popup" id="btn_rqstModify_pop">
+					<th:block th:text="${deliveryAddrInfo.delvMemo}" id="delvMemo"></th:block>
+					<button type="button" class="btn_underline" id="btn_rqstModify_pop">
 						<span>변경하기</span>
 					</button>
 				</dd>
 			</div>
 		</dl>
 	</div>
-	<!-- /배송지정보 -->
 	
 	<!-- 해외배송상품일 경우 노출 -->
 	<th:block th:if="${order.foreignBuyYn} == 'Y'">
 		<div class="area_overseas">
 			<dl>
 				<div>
-					<input type="hidden" name="entryNo" value=""/>
-					
 					<dt>개인통관고유부호</dt>
 					<dd>
 						<div class="form_field">
 							<div>
-								<input type="radio" name="rdi-overseas" id="rdi-overs1" checked> 
-								<label for="rdi-overs1"><span>받는사람 개인통관고유부호</span></label>
+								<input type="radio" name="rdi-overseas"
+									id="rdi-overs1" value="" checked=""> <label
+									for="rdi-overs1"><span>받는사람 개인통관고유부호</span></label>
 							</div>
 							<div>
-								<input type="radio" name="rdi-overseas" id="rdi-overs2">
-								<label for="rdi-overs2"><span>입력 안 함</span></label>
+								<input type="radio" name="rdi-overseas"
+									id="rdi-overs2" value=""> <label
+									for="rdi-overs2"><span>입력 안 함</span></label>
 							</div>
 							<div class="info_box overs1">
 								<div class="input_wrap">
-									<input type="text" name="entryNo" class="form_control err" maxlength="13" placeholder="P로 시작하는 13자리" value="abcde12345qwe">
+									<input type="text" class="form_control err"
+										maxlength="13" placeholder="P로 시작하는 13자리">
 									<!-- 유효하지 않은 개인통관고유부호 일때 class명 'err' 추가 -->
 								</div>
 								<div class="t_err">개인통관고유부호가 유효하지 않습니다.</div>
 								<!-- 유효하지 않은 개인통관고유부호 일때 노출 -->
 								<div class="agree_overs">
 									<input id="chk-overs-agr" type="checkbox" checked="">
-									<label for="chk-overs-agr">
-										<span>
-											위 정보는 원활한 통관을 위해 수집 및 판매자에게 제공하며,계속 사용하도록 안전하게 STYLE24에서 저장 &#47; 관리 합니다.&nbsp;&nbsp;
-											<em class="tmark_required">(필수)</em>
-										</span>
-									</label>
+									<label for="chk-overs-agr"><span>위
+											정보는 원활한 통관을 위해 수집 및 판매자에게 제공하며,계속 사용하도록 안전하게
+											STYLE24에서 저장 / 관리 합니다.&nbsp;&nbsp;<em
+											class="tmark_required">(필수)</em>
+									</span></label>
 								</div>
 							</div>
 							<div class="info_box overs2" style="display: none;">
-								<p>개인통관고유부호를 입력하지 않아도 관세사무소에서 개인정보 확인을 위해 별도 연락을 드릴 예정입니다.</p>
+								<p>개인통관고유부호를 입력하지 않아도 관세사무소에서 개인정보 확인을 위해 별도 연락을
+									드릴 예정입니다.</p>
 							</div>
 						</div>
 						<div class="info_txt">
@@ -136,23 +137,24 @@
 			<div class="form_field">
 				<div class="agree_custom">
 					<input id="chk-custom-agr1" type="checkbox" checked="">
-					<label for="chk-custom-agr1">
-						<span>고객님께서 주문하신 상품에는 주문제작상품이 포함되어 있습니다.<br>주문제작상품에 대한 안내를 확인하였으며 배송에 동의합니다.&nbsp;&nbsp;
-							<em class="tmark_required">(필수)</em>
-						</span>
-					</label>
+					<label for="chk-custom-agr1"><span>고객님께서
+							주문하신 상품에는 주문제작상품이 포함되어 있습니다.<br>주문제작상품에 대한 안내를
+							확인하였으며 배송에 동의합니다.&nbsp;&nbsp;<em
+							class="tmark_required">(필수)</em>
+					</span></label>
 				</div>
 			</div>
 			<div class="info_txt">
 				<ul>
 					<li>주문 제작 상품은 주문 후 제작이 진행되며, 제작 완료 후 배송이 시작됩니다.</li>
-					<li>주문 제작 상품의 특성상 주문 완료 후 취소/교환이 불가능합니다. (상품 하자에 한해 가능)</li>
+					<li>주문 제작 상품의 특성상 주문 완료 후 취소/교환이 불가능합니다. (상품 하자에 한해
+						가능)</li>
 				</ul>
 			</div>
 		</div>
 	</th:block>
 	<!-- //주문제작상품일 경우 노출 -->
-</div>
+</div> <!-- //배송지정보 -->
 
 <script th:inline="javascript">
 var dispYn = [[${order.dispYn}]]; // 노출여부

+ 21 - 530
src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html

@@ -271,531 +271,24 @@
 									<li class="fold_mbinfo" id="custemerInfo" style="display:none"></li>
 									<!-- //주문고객정보 -->
 									
-									<!-- 주문고객정보 
-									<li class="fold_mbinfo" id="custemerInfo" style="display:none"></li>-->
-									<!-- 주문고객정보 -->
+									<!-- 배송지정보 -->
+									<li class="fold_mbinfo" id="deliveryAddrInfo" style="display:none"></li>
+									<!-- //배송지정보 -->
 									
-									<li class="fold_mbinfo">
-										<!-- 배송지정보 -->
-										<div class="fold_head">
-											<a href="javascript:void(0)">
-												<div>
-													<div class="fold_tit">
-														<span>배송지 정보</span>
-													</div>
-													<div class="data">서울시 영등포구 은행로 11,8층(여의도동,일신빌딩)</div>
-												</div>
-											</a>
-										</div>
-										<div class="fold_cont" style="display: none;">
-											<div class="area_receiveinfo">
-												<dl>
-													<div>
-														<dt>
-															<span class="sr-only">배송지명</span>
-														</dt>
-														<dd>
-															홍길동 <span class="icon_tag"> <em class="tag gray">기본
-																	배송지</em> <em class="tag primary_line">총알배송</em>
-															</span>
-														</dd>
-													</div>
-													<div>
-														<dt>
-															<span class="sr-only">배송주소</span>
-														</dt>
-														<dd>
-															서울시 영등포구 은행로 11,8층(여의도동,일신빌딩)
-															<button type="button" class="btn btn_default btn_sm"
-																id="btn_adrsChange_pop">
-																<span>배송지 변경</span>
-															</button>
-														</dd>
-													</div>
-													<div>
-														<dt>
-															<span class="sr-only">휴대폰 번호</span>
-														</dt>
-														<dd>010-1234-5647</dd>
-													</div>
-													<div>
-														<dt>배송요청 사항</dt>
-														<dd>
-															직접받고 부재 시 문앞
-															<button type="button" class="btn_underline"
-																id="btn_rqstModify_pop">
-																<span>변경하기</span>
-															</button>
-														</dd>
-													</div>
-												</dl>
-											</div>
-											<!-- 해외배송상품일 경우 노출 -->
-											<div class="area_overseas">
-												<dl>
-													<div>
-														<dt>개인통관고유부호</dt>
-														<dd>
-															<div class="form_field">
-																<div>
-																	<input type="radio" name="rdi-overseas"
-																		id="rdi-overs1" value="" checked=""> <label
-																		for="rdi-overs1"><span>받는사람 개인통관고유부호</span></label>
-																</div>
-																<div>
-																	<input type="radio" name="rdi-overseas"
-																		id="rdi-overs2" value=""> <label
-																		for="rdi-overs2"><span>입력 안 함</span></label>
-																</div>
-																<div class="info_box overs1">
-																	<div class="input_wrap">
-																		<input type="text" class="form_control err"
-																			maxlength="13" placeholder="P로 시작하는 13자리">
-																		<!-- 유효하지 않은 개인통관고유부호 일때 class명 'err' 추가 -->
-																	</div>
-																	<div class="t_err">개인통관고유부호가 유효하지 않습니다.</div>
-																	<!-- 유효하지 않은 개인통관고유부호 일때 노출 -->
-																	<div class="agree_overs">
-																		<input id="chk-overs-agr" type="checkbox" checked="">
-																		<label for="chk-overs-agr"><span>위
-																				정보는 원활한 통관을 위해 수집 및 판매자에게 제공하며,계속 사용하도록 안전하게
-																				STYLE24에서 저장 / 관리 합니다.&nbsp;&nbsp;<em
-																				class="tmark_required">(필수)</em>
-																		</span></label>
-																	</div>
-																</div>
-																<div class="info_box overs2" style="display: none;">
-																	<p>개인통관고유부호를 입력하지 않아도 관세사무소에서 개인정보 확인을 위해 별도 연락을
-																		드릴 예정입니다.</p>
-																</div>
-															</div>
-															<div class="info_txt">
-																<ul>
-																	<li>물품가액이 $150초과할 경우 관/부과세가 발생 할 수 있습니다.</li>
-																	<li>물품 종류와 해외공급자 관계없이 같은 날 입항하게 되면 합산과세 대상이 됩니다.</li>
-																</ul>
-															</div>
-														</dd>
-													</div>
-												</dl>
-											</div>
-											<!-- //해외배송상품일 경우 노출 -->
-											<!-- 주문제작상품일 경우 노출 -->
-											<div class="area_customitem">
-												<div class="form_field">
-													<div class="agree_custom">
-														<input id="chk-custom-agr1" type="checkbox" checked="">
-														<label for="chk-custom-agr1"><span>고객님께서
-																주문하신 상품에는 주문제작상품이 포함되어 있습니다.<br>주문제작상품에 대한 안내를
-																확인하였으며 배송에 동의합니다.&nbsp;&nbsp;<em
-																class="tmark_required">(필수)</em>
-														</span></label>
-													</div>
-												</div>
-												<div class="info_txt">
-													<ul>
-														<li>주문 제작 상품은 주문 후 제작이 진행되며, 제작 완료 후 배송이 시작됩니다.</li>
-														<li>주문 제작 상품의 특성상 주문 완료 후 취소/교환이 불가능합니다. (상품 하자에 한해
-															가능)</li>
-													</ul>
-												</div>
-											</div>
-											<!-- //주문제작상품일 경우 노출 -->
-										</div> <!-- //배송지정보 -->
-									</li>
-									<li>
-										<!-- 사은품선택 -->
-										<div class="fold_head">
-											<a href="javascript:void(0)">
-												<div>
-													<div class="fold_tit">
-														<span>사은품 선택</span>
-													</div>
-													<div class="data">
-														<span>사은품 총 <em class="total_gift">2</em>개 선택
-														</span> <span><em class="total_deduct">0</em>P 차감</span>
-													</div>
-												</div>
-											</a>
-										</div>
-										<div class="fold_cont" style="display: none;">
-											<div class="area_selgift">
-												<div class="gift_box">
-													<p class="txt">
-														<span>사은품선택1</span> TBJ 남성 제기장 스웨이드 트러커 자켓 에서 주는 사은품
-													</p>
-													<div class="form_field">
-														<div class="gift">
-															<input type="radio" name="rdi-gift1" id="rdi-gift1"
-																class="chk_img" value=""> <label
-																for="rdi-gift1"> <span class="thumb"><img
-																	src="/images/pc/thumb/tmp_gift1.jpg" width="" alt=""></span>
-																<span class="name">유니 NBA 팀로고 양말 (N215AO225P)</span> <span
-																class="deduct">무료</span>
-															</label>
-														</div>
-														<div class="gift">
-															<input type="radio" name="rdi-gift1" id="rdi-gift2"
-																class="chk_img" value=""> <label
-																for="rdi-gift2"> <span class="thumb"><img
-																	src="/images/pc/thumb/tmp_gift1.jpg" width="" alt=""></span>
-																<span class="name">사은품이름</span> <span class="deduct">-4,000P</span>
-															</label>
-														</div>
-														<div class="gift">
-															<input type="radio" name="rdi-gift1" id="rdi-gift3"
-																class="chk_img" value=""> <label
-																for="rdi-gift3"> <span class="thumb"><img
-																	src="/images/pc/thumb/tmp_gift1.jpg" width="" alt=""></span>
-																<span class="name">사은품이름</span> <span class="deduct">-4,000P</span>
-															</label>
-														</div>
-														<div class="gift">
-															<input type="radio" name="rdi-gift1" id="rdi-gift4"
-																class="chk_img" value=""> <label
-																for="rdi-gift4"> <span class="thumb"><img
-																	src="/images/pc/thumb/tmp_gift_empty.jpg" width=""
-																	alt=""></span> <span class="name">사은품 수령안함</span> <span
-																class="deduct">수령거부</span>
-															</label>
-														</div>
-													</div>
-												</div>
-												<div class="gift_box">
-													<p class="txt">
-														<span>사은품선택2</span> 10만원 이상 구매시 사은품
-													</p>
-													<div class="form_field">
-														<div class="gift">
-															<input type="radio" name="rdi-gift2" id="rdi-gift11"
-																class="chk_img" value=""> <label
-																for="rdi-gift11"> <span class="thumb"><img
-																	src="/images/pc/thumb/tmp_gift1.jpg" width="" alt=""></span>
-																<span class="name">유니 NBA 팀로고 양말 (N215AO225P)</span> <span
-																class="deduct">무료</span>
-															</label>
-														</div>
-														<div class="gift">
-															<input type="radio" name="rdi-gift2" id="rdi-gift12"
-																class="chk_img" value=""> <label
-																for="rdi-gift12"> <span class="thumb"><img
-																	src="/images/pc/thumb/tmp_gift1.jpg" width="" alt=""></span>
-																<span class="name">사은품이름</span> <span class="deduct">-4,000P</span>
-															</label>
-														</div>
-														<div class="gift">
-															<input type="radio" name="rdi-gift2" id="rdi-gift13"
-																class="chk_img" value=""> <label
-																for="rdi-gift13"> <span class="thumb"><img
-																	src="/images/pc/thumb/tmp_gift_empty.jpg" width=""
-																	alt=""></span> <span class="name">사은품 수령안함</span> <span
-																class="deduct">수령거부</span>
-															</label>
-														</div>
-													</div>
-												</div>
-												<div class="form_field">
-													<div class="agree_gift">
-														<p>
-															<input id="chk-agree_gift" type="checkbox"><label
-																for="chk-agree_gift"><span>동의합니다</span></label>
-														</p>
-														<p class="txt">
-															사은품 지금에 대한 내용을 확인하였으며, 이에 동의합니다.
-															<button type="button" class="btn_underline"
-																id="btn_infoGift_pop">
-																<span>보기</span>
-															</button>
-														</p>
-													</div>
-												</div>
-											</div>
-										</div> <!-- //사은품선택 -->
-									</li>
-									<li>
-										<!-- 할인/혜택 사용 -->
-										<div class="fold_head on">
-											<a href="javascript:void(0)">
-												<div>
-													<div class="fold_tit">
-														<span>할인/혜택 사용</span>
-													</div>
-													<div class="data maxdisc">
-														<div class="form_field">
-															<input id="chk-maxdisc" type="checkbox" checked="">
-															<label for="chk-maxdisc"><span>최대 할인혜택을
-																	바로 적용하세요!</span>&nbsp;<span class="maxdisc_amount">(<em>-3,000</em>원
-																	할인)
-															</span></label>
-														</div>
-													</div>
-												</div>
-											</a>
-										</div>
-										<div class="fold_cont" style="display: block;">
-											<div class="area_seldiscount">
-												<dl>
-													<div>
-														<dt>할인쿠폰</dt>
-														<dd>
-															<div class="sale_coupon_box">
-																<div>
-																	<span class="maxdisc_amount">총&nbsp;<em>-3,000</em>원
-																		할인
-																	</span>
-																	<button id="btn_couponModify_pop"
-																		class="btn btn_default btn_sm">
-																		<span>쿠폰변경</span>
-																	</button>
-																</div>
-																<div class="form_field">
-																	<div class="input_wrap">
-																		<input type="text" class="form_control"
-																			maxlength="13" placeholder="할인코드를 입력해주세요.">
-																		<button type="button" class="btn btn_dark btn_sm">
-																			<span>적용</span>
-																		</button>
-																	</div>
-																</div>
-															</div>
-														</dd>
-													</div>
-													<div>
-														<dt>배송비 쿠폰</dt>
-														<dd>
-															<div class="dlvr_fee_box">
-
-																<div class="form_field">
-																	<div class="select_custom coupon_list">
-																		<div class="combo">
-																			<div class="select">
-																				<div class="dlvr_coupon">
-																					<p class="empty">선택</p>
-																				</div>
-																			</div>
-																			<ul class="list" style="display: none;">
-																				<!-- 선택처리 class="selected" / 선택불가 aria-disabled="true"추가  -->
-																				<li class="selected">
-																					<div class="dlvr_coupon">
-																						<p class="name">TBJ 배송비 무료쿠폰</p>
-																						<p class="txt">
-																							<span>30,000</span>원 이상 구매시 최대 <span>3,000</span>원
-																							할인
-																						</p>
-																						<p class="discount">
-																							<span>15,000</span>원 할인
-																						</p>
-																					</div>
-																				</li>
-																				<li>
-																					<div class="dlvr_coupon">
-																						<p class="name">TBJ 배송비 무료쿠폰</p>
-																						<p class="txt">
-																							<span>30,000</span>원 이상 구매시 최대 <span>3,000</span>원
-																							할인
-																						</p>
-																						<p class="discount">
-																							<span>15,000</span>원 할인
-																						</p>
-																					</div>
-																				</li>
-																				<li>
-																					<div class="dlvr_coupon">
-																						<p class="name">TBJ 배송비 무료쿠폰</p>
-																						<p class="txt">
-																							<span>30,000</span>원 이상 구매시 최대 <span>3,000</span>원
-																							할인
-																						</p>
-																						<p class="discount">
-																							<span>15,000</span>원 할인
-																						</p>
-																					</div>
-																				</li>
-																				<li aria-disabled="true">
-																					<div class="dlvr_coupon">
-																						<p class="name">TBJ 배송비 무료쿠폰</p>
-																						<p class="txt">
-																							<span>30,000</span>원 이상 구매시 최대 <span>3,000</span>원
-																							할인
-																						</p>
-																						<p class="discount">
-																							<span>15,000</span>원 할인
-																						</p>
-																					</div>
-																				</li>
-																				<li>
-																					<div class="dlvr_coupon">
-																						<p class="empty">적용 안함</p>
-																					</div>
-																				</li>
-																			</ul>
-																		</div>
-																	</div>
-																</div>
-
-															</div>
-														</dd>
-													</div>
-												</dl>
-											</div>
-											<div class="area_selpoint">
-												<dl>
-													<div>
-														<dt>선 포인트 사용</dt>
-														<dd>
-															<div class="form_field">
-																<div>
-																	<input type="radio" name="rdi-beforpoint"
-																		id="rdi-beforpoint1" value="" checked=""> <label
-																		for="rdi-beforpoint1"><span>사용 안함</span></label>
-																</div>
-																<div>
-																	<input type="radio" name="rdi-beforpoint"
-																		id="rdi-beforpoint2" value=""> <label
-																		for="rdi-beforpoint2"><span>사용함</span></label> <span
-																		class="useable_point">(<em>1,500P</em>&nbsp;사용
-																		가능)
-																	</span>
-																</div>
-															</div>
-														</dd>
-													</div>
-													<div>
-														<dt>스타일 포인트</dt>
-														<dd>
-															<div class="form_field">
-																<!-- 스타일 포인트 3만원 이상 결제시 노출 -->
-																<div class="input_wrap">
-																	<input type="text" class="form_control" maxlength=""
-																		placeholder="사용할 포인트를 입력해주세요.">
-																	<button type="button" class="btn btn_dark btn_sm">
-																		<span>적용</span>
-																	</button>
-																</div>
-																<!-- 스타일 포인트 3만원 이상 결제시 노출 -->
-																<!-- 스타일 포인트 3만원 미만 결제시 노출 -->
-																<div class="input_wrap">
-																	<input type="text" class="form_control" maxlength=""
-																		placeholder="3만원 이상 결제시에만 포인트 사용이 가능합니다."
-																		disabled="">
-																	<button type="button" class="btn btn_dark btn_sm">
-																		<span>적용</span>
-																	</button>
-																</div>
-																<!-- //스타일 포인트 3만원 미만 결제시 노출 -->
-																<p>
-																	<span class="remain_point">보유:&nbsp;<em>25,500</em>P
-																	</span>(결제금액의 최대 40%까지 사용가능)
-																</p>
-															</div>
-														</dd>
-													</div>
-													<div>
-														<dt>상품권</dt>
-														<dd>
-															<div class="form_field">
-																<div class="input_wrap">
-																	<input type="text" class="form_control" maxlength=""
-																		placeholder="사용할 금액을 입력해주세요.">
-																	<button type="button" class="btn btn_dark btn_sm">
-																		<span>적용</span>
-																	</button>
-																</div>
-																<p>
-																	<span class="remain_point">보유:&nbsp;<em>25,500</em>원
-																	</span>
-																</p>
-																<div class="agree_receipt">
-																	<input id="chk-receipt" type="checkbox"> <label
-																		for="chk-receipt"><span>상품권 현금영수증 신청</span></label>
-																	<div class="info_box">
-																		<div class="input_wrap">
-																			<input type="text" class="form_control"
-																				maxlength="11" placeholder="">
-																		</div>
-																	</div>
-																</div>
-															</div>
-														</dd>
-													</div>
-												</dl>
-											</div>
-										</div> <!-- //할인/혜택 사용 -->
-									</li>
-									<li class="fold_paymethod">
-										<!-- 결제수단 선택 -->
-										<div class="fold_head">
-											<a href="javascript:void(0)">
-												<div>
-													<div class="fold_tit">
-														<span>결제수단 선택</span>
-													</div>
-													<div class="data">
-														<span>신용카드</span>
-													</div>
-												</div>
-											</a>
-										</div>
-										<div class="fold_cont" style="display: none;">
-											<div class="area_paymethod">
-												<div class="form_field">
-													<div class="paymethod_box">
-														<ul class="sel_method">
-															<li><input type="radio" name="rdi-paynormal"
-																id="payCreditCard" value="" checked="checked">
-																<label for="payCreditCard"><span>신용카드</span></label></li>
-															<li><input type="radio" name="rdi-paynormal"
-																id="payCellphone" value=""> <label
-																for="payCellphone"><span>휴대폰 결제</span></label></li>
-															<li><input type="radio" name="rdi-paynormal"
-																id="payKakao" value=""> <label for="payKakao"><span><em
-																		class="sr-only">카카오페이 결제</em><em
-																		class="payimg kakao"></em></span></label></li>
-															<li><input type="radio" name="rdi-paynormal"
-																id="payNaver" value=""> <label for="payNaver"><span><em
-																		class="sr-only">네이버페이 결제</em><em
-																		class="payimg naver"></em></span></label></li>
-															<li><input type="radio" name="rdi-paynormal"
-																id="payPayco" value=""> <label for="payPayco"><span><em
-																		class="sr-only">페이코 결제</em><em class="payimg payco"></em></span></label>
-															</li>
-															<li><input type="radio" name="rdi-paynormal"
-																id="payRealBank" value=""> <label
-																for="payRealBank"><span>실시간계좌이체</span></label></li>
-															<li><input type="radio" name="rdi-paynormal"
-																id="payVirtualBank" value=""> <label
-																for="payVirtualBank"><span>무통장입금</span></label></li>
-														</ul>
-													</div>
-												</div>
-												<div class="form_field">
-													<div class="agree_paymethod">
-														<input id="chk-agree_paymethod" type="checkbox">
-														<label for="chk-agree_paymethod"> <span>선택한
-																결제수단으로 향후 결제 이용에 동의합니다.&nbsp;&nbsp;<em
-																class="tmark_optional">(선택)</em>
-														</span>
-														</label>
-													</div>
-												</div>
-												<div class="form_field">
-													<div class="agree_insurance">
-														<input id="chk-insurance" type="checkbox"> <label
-															for="chk-insurance"> <span>소비자 피해 보상보험
-																신청&nbsp;&nbsp;<em class="tmark_optional">(선택)</em>
-														</span> <a href="" class="btn_underline"><span>FAQ확인</span></a>
-														</label>
-														<p>
-															‘전자상거래 등에서의 소비자보호에 관한 법률‘에 따라 현금 결제 시 서울보증보험㈜가 제공하는 소비자
-															피해보상보험을<br>신청할 수 있도록 해드리고 있습니다. (2013.11.28부터 시행)
-														</p>
-													</div>
-												</div>
-											</div>
-										</div> <!-- //결제수단 선택 -->
-									</li>
+									<!-- //사은품정보 -->
+									<li id="freegiftInfo" style="display:none"></li>
+									<!-- //사은품정보 -->
+									
+									<!-- 할인/혜택 사용 -->
+									<li id="dcAmtInfo" style="display:none"></li>
+									<!-- //할인/혜택 사용 -->
+									
+									<!-- 결제수단 선택 -->
+									<li class="fold_paymethod" id="paymentInfo" style="display:none"></li>
+									<!-- //결제수단 선택 -->
 								</ul>
 							</div>
+							
 							<div class="area_paymentinfo">
 								<div class="paymentinfo">
 									<div class="payinfo_blk">
@@ -833,23 +326,21 @@
 											내용입니다.결제대행서비스 약관 동의 내용입니다.</div>
 									</div>
 								</div>
-
-								<div class="agree_payment">위 주문내역을 확인 하였으며, 회원 본인은 결제에
-									동의합니다.</div>
+								<div class="agree_payment">위 주문내역을 확인 하였으며, 회원 본인은 결제에 동의합니다.</div>
 							</div>
+							
 							<div class="area_paybtn">
 								<div class="form_field">
 									<button type="button" class="btn btn_primary btn_block">
-										<span>동의 후 <em>123,456,789원</em> 결제하기
-										</span>
+										<span>동의 후 <em>123,456,789원</em> 결제하기</span>
 									</button>
 								</div>
 							</div>
 						</div>
 					</form>
-
-
 				</div>
+				
+				
 				<div class="od_side">
 					<div class="area_order">
 						<div class="tit_box">
@@ -1215,7 +706,7 @@ var custemerInfoSet = function(jsonData) {
 				$(".cellPhnno").text($("input[name='cellPhnno']").val());
 			}
 			// 1.2 배송정보로드
-			//deliveryAddrInfoSet(jsonData);
+			deliveryAddrInfoSet(jsonData);
 		}
 	});
 }

+ 1 - 126
src/main/webapp/WEB-INF/views/web/order/OrderFormWeb_20210318.html

@@ -307,132 +307,7 @@
 										</div> <!-- //주문고객정보 -->
 									</li>
 									<li class="fold_mbinfo">
-										<!-- 배송지정보 -->
-										<div class="fold_head">
-											<a href="javascript:void(0)">
-												<div>
-													<div class="fold_tit">
-														<span>배송지 정보</span>
-													</div>
-													<div class="data">서울시 영등포구 은행로 11,8층(여의도동,일신빌딩)</div>
-												</div>
-											</a>
-										</div>
-										<div class="fold_cont" style="display: none;">
-											<div class="area_receiveinfo">
-												<dl>
-													<div>
-														<dt>
-															<span class="sr-only">배송지명</span>
-														</dt>
-														<dd>
-															홍길동 <span class="icon_tag"> <em class="tag gray">기본
-																	배송지</em> <em class="tag primary_line">총알배송</em>
-															</span>
-														</dd>
-													</div>
-													<div>
-														<dt>
-															<span class="sr-only">배송주소</span>
-														</dt>
-														<dd>
-															서울시 영등포구 은행로 11,8층(여의도동,일신빌딩)
-															<button type="button" class="btn btn_default btn_sm"
-																id="btn_adrsChange_pop">
-																<span>배송지 변경</span>
-															</button>
-														</dd>
-													</div>
-													<div>
-														<dt>
-															<span class="sr-only">휴대폰 번호</span>
-														</dt>
-														<dd>010-1234-5647</dd>
-													</div>
-													<div>
-														<dt>배송요청 사항</dt>
-														<dd>
-															직접받고 부재 시 문앞
-															<button type="button" class="btn_underline"
-																id="btn_rqstModify_pop">
-																<span>변경하기</span>
-															</button>
-														</dd>
-													</div>
-												</dl>
-											</div>
-											<!-- 해외배송상품일 경우 노출 -->
-											<div class="area_overseas">
-												<dl>
-													<div>
-														<dt>개인통관고유부호</dt>
-														<dd>
-															<div class="form_field">
-																<div>
-																	<input type="radio" name="rdi-overseas"
-																		id="rdi-overs1" value="" checked=""> <label
-																		for="rdi-overs1"><span>받는사람 개인통관고유부호</span></label>
-																</div>
-																<div>
-																	<input type="radio" name="rdi-overseas"
-																		id="rdi-overs2" value=""> <label
-																		for="rdi-overs2"><span>입력 안 함</span></label>
-																</div>
-																<div class="info_box overs1">
-																	<div class="input_wrap">
-																		<input type="text" class="form_control err"
-																			maxlength="13" placeholder="P로 시작하는 13자리">
-																		<!-- 유효하지 않은 개인통관고유부호 일때 class명 'err' 추가 -->
-																	</div>
-																	<div class="t_err">개인통관고유부호가 유효하지 않습니다.</div>
-																	<!-- 유효하지 않은 개인통관고유부호 일때 노출 -->
-																	<div class="agree_overs">
-																		<input id="chk-overs-agr" type="checkbox" checked="">
-																		<label for="chk-overs-agr"><span>위
-																				정보는 원활한 통관을 위해 수집 및 판매자에게 제공하며,계속 사용하도록 안전하게
-																				STYLE24에서 저장 / 관리 합니다.&nbsp;&nbsp;<em
-																				class="tmark_required">(필수)</em>
-																		</span></label>
-																	</div>
-																</div>
-																<div class="info_box overs2" style="display: none;">
-																	<p>개인통관고유부호를 입력하지 않아도 관세사무소에서 개인정보 확인을 위해 별도 연락을
-																		드릴 예정입니다.</p>
-																</div>
-															</div>
-															<div class="info_txt">
-																<ul>
-																	<li>물품가액이 $150초과할 경우 관/부과세가 발생 할 수 있습니다.</li>
-																	<li>물품 종류와 해외공급자 관계없이 같은 날 입항하게 되면 합산과세 대상이 됩니다.</li>
-																</ul>
-															</div>
-														</dd>
-													</div>
-												</dl>
-											</div>
-											<!-- //해외배송상품일 경우 노출 -->
-											<!-- 주문제작상품일 경우 노출 -->
-											<div class="area_customitem">
-												<div class="form_field">
-													<div class="agree_custom">
-														<input id="chk-custom-agr1" type="checkbox" checked="">
-														<label for="chk-custom-agr1"><span>고객님께서
-																주문하신 상품에는 주문제작상품이 포함되어 있습니다.<br>주문제작상품에 대한 안내를
-																확인하였으며 배송에 동의합니다.&nbsp;&nbsp;<em
-																class="tmark_required">(필수)</em>
-														</span></label>
-													</div>
-												</div>
-												<div class="info_txt">
-													<ul>
-														<li>주문 제작 상품은 주문 후 제작이 진행되며, 제작 완료 후 배송이 시작됩니다.</li>
-														<li>주문 제작 상품의 특성상 주문 완료 후 취소/교환이 불가능합니다. (상품 하자에 한해
-															가능)</li>
-													</ul>
-												</div>
-											</div>
-											<!-- //주문제작상품일 경우 노출 -->
-										</div> <!-- //배송지정보 -->
+										
 									</li>
 									<li>
 										<!-- 사은품선택 -->

+ 55 - 55
src/main/webapp/WEB-INF/views/web/order/OrderFreegiftInfoWeb.html

@@ -15,7 +15,7 @@
  -->
 
 <th:block th:if="${freegiftList != null && #lists.size(freegiftList) > 0}">
-
+<!-- 사은품선택 -->
 <div class="fold_head">
 	<a href="javascript:void(0)">
 		<div>
@@ -23,83 +23,83 @@
 				<span>사은품 선택</span>
 			</div>
 			<div class="data">
-				<span>사은품 총 <em class="total_gift">0</em>&nbsp;개 선택</span> 
-				<span><em class="total_deduct">0</em>&nbsp;P 차감</span>
+				<span>사은품 총 <em class="total_gift">0</em>개 선택</span> 
+				<span><em class="total_deduct">0</em>P 차감</span>
 			</div>
 		</div>
 	</a>
 </div>
 <div class="fold_cont" style="display: none;">
 	<div class="area_selgift">
-		<th:block th:each="freegift, i : ${freegiftList}">
-			<div class="gift_box">
-				<p class="txt">
-					<th:block th:if="${freegift.allYn} == 'Y'">
-						<span th:text="'사은품필수' + ${i.count} + ' ' + ${freegift.freegiftNm}"></span>
-					</th:block>
-					<th:block th:if="${freegift.allYn} == 'N'">
-						<span th:text="'사은품선택' + ${i.count} + ' ' + ${freegift.freegiftNm}"></span>
-					</th:block>
-				</p>
-				<div class="form_field">
-					<!-- 전체지급 사음품(필수) -->
-					<th:block th:if="${freegift.allYn} == 'Y'">
-						<th:block th:each="freegiftGoods, k : ${freegiftGoodsList}">
-							<th:block th:if="${freegift.freegiftSq} == ${freegiftGoods.freegiftSq}">
-								<div class="gift">
-									<input type="hidden" th:name="'rdi-gift'+${i.count}" th:id="'rdi-gift'+${i.count}+${k.count}" class="chk_img freegiftRdo" th:value="${freegiftGoods.freegiftValSq}" usepoint="0" allYn="Y">
-									<label th:for="'rdi-gift'+${i.count}+${k.count}"> 
-										<span class="thumb"><img src="http://ts5000.ipdisk.co.kr:89/images/pc/thumb/tmp_gift1.jpg" width="" alt=""></span>
-										<span class="name" th:text="${freegiftGoods.goodsNm}"></span> 
-										<span class="deduct">무료</span>
-									</label>
-								</div>
-							</th:block>
+		<div class="gift_box">
+			<p class="txt">
+				<th:block th:if="${freegift.allYn} == 'Y'">
+					<span th:text="'사은품필수' + ${i.count} + ' ' + ${freegift.freegiftNm}"></span>
+				</th:block>
+				<th:block th:if="${freegift.allYn} == 'N'">
+					<span th:text="'사은품선택' + ${i.count} + ' ' + ${freegift.freegiftNm}"></span>
+				</th:block>
+			</p>
+			<div class="form_field">
+				<!-- 전체지급 사음품(필수) -->
+				<th:block th:if="${freegift.allYn} == 'Y'">
+					<th:block th:each="freegiftGoods, k : ${freegiftGoodsList}">
+						<th:block th:if="${freegift.freegiftSq} == ${freegiftGoods.freegiftSq}">
+							<div class="gift">
+								<input type="hidden" th:name="'rdi-gift'+${i.count}" th:id="'rdi-gift'+${i.count}+${k.count}" class="chk_img freegiftRdo" th:value="${freegiftGoods.freegiftValSq}" usepoint="0" allYn="Y">
+								<label th:for="'rdi-gift'+${i.count}+${k.count}"> 
+									<span class="thumb"><img src="http://ts5000.ipdisk.co.kr:89/images/pc/thumb/tmp_gift1.jpg" width="" alt=""></span>
+									<span class="name" th:text="${freegiftGoods.goodsNm}"></span> 
+									<span class="deduct">무료</span>
+								</label>
+							</div>
 						</th:block>
 					</th:block>
-					<!-- 선택지급 사음품(선택) -->
-					<th:block th:if="${freegift.allYn} == 'N'">
-						<th:block th:each="freegiftGoods, k : ${freegiftGoodsList}">
-							<th:block th:if="${freegift.freegiftSq} == ${freegiftGoods.freegiftSq}">
-								<div class="gift">
-									<input type="radio" th:name="'rdi-gift'+${i.count}" th:id="'rdi-gift'+${i.count}+${k.count}" class="chk_img freegiftRdo" th:value="${freegiftGoods.freegiftValSq}" th:usepoint="${freegiftGoods.usePoint}"  allYn="N"> 
-									<label th:for="'rdi-gift'+${i.count}+${k.count}"> 
-										<span class="thumb"><img src="http://ts5000.ipdisk.co.kr:89/images/pc/thumb/tmp_gift1.jpg" width="" alt=""></span>
-										<span class="name" th:text="${freegiftGoods.goodsNm}"></span> 
-										<span th:if="${freegiftGoods.usePoint} < 1" class="deduct" th:text="무료"></span>
-										<span th:if="${freegiftGoods.usePoint} > 0" class="deduct" th:text="|- ${freegiftGoods.usePoint} P|"></span>
-									</label>
-								</div>
-							</th:block>
+				</th:block>
+				
+				<!-- 선택지급 사음품(선택) -->
+				<th:block th:if="${freegift.allYn} == 'N'">
+					<th:block th:each="freegiftGoods, k : ${freegiftGoodsList}">
+						<th:block th:if="${freegift.freegiftSq} == ${freegiftGoods.freegiftSq}">
+							<div class="gift">
+								<input type="radio" th:name="'rdi-gift'+${i.count}" th:id="'rdi-gift'+${i.count}+${k.count}" class="chk_img freegiftRdo" th:value="${freegiftGoods.freegiftValSq}" th:usepoint="${freegiftGoods.usePoint}"  allYn="N"> 
+								<label th:for="'rdi-gift'+${i.count}+${k.count}"> 
+									<span class="thumb"><img src="http://ts5000.ipdisk.co.kr:89/images/pc/thumb/tmp_gift1.jpg" width="" alt=""></span>
+									<span class="name" th:text="${freegiftGoods.goodsNm}"></span> 
+									<span th:if="${freegiftGoods.usePoint} < 1" class="deduct" th:text="무료"></span>
+									<span th:if="${freegiftGoods.usePoint} > 0" class="deduct" th:text="|- ${freegiftGoods.usePoint} P|"></span>
+								</label>
+							</div>
 						</th:block>
-						<div class="gift">
-							<input type="radio" th:name="'rdi-gift'+${i.count}" th:id="${i.count}+'0'" class="chk_img freegiftRdo" value="noSel" usepoint="0" allYn="N"> 
-							<label th:for="${i.count}+'0'">
-								<span class="thumb"><img src="/images/pc/thumb/tmp_gift_empty.jpg" width=""alt=""></span> 
-								<span class="name">사은품 수령안함</span>
-								<span class="deduct">수령거부</span>
-							</label>
-						</div>
 					</th:block>
-				</div>
+					<div class="gift">
+						<input type="radio" th:name="'rdi-gift'+${i.count}" th:id="${i.count}+'0'" class="chk_img freegiftRdo" value="noSel" usepoint="0" allYn="N"> 
+						<label th:for="${i.count}+'0'">
+							<span class="thumb"><img src="/images/pc/thumb/tmp_gift_empty.jpg" width=""alt=""></span> 
+							<span class="name">사은품 수령안함</span>
+							<span class="deduct">수령거부</span>
+						</label>
+					</div>
+				</th:block>
 			</div>
-		</th:block>
+		</div>
+		
 		<div class="form_field">
 			<div class="agree_gift">
 				<p>
-					<input id="chk-agree_gift" type="checkbox">
-					<label for="chk-agree_gift"><span>동의합니다</span></label>
+					<input id="chk-agree_gift" type="checkbox"><label for="chk-agree_gift"><span>동의합니다</span></label>
 				</p>
 				<p class="txt">
 					사은품 지금에 대한 내용을 확인하였으며, 이에 동의합니다.
-					<button type="button" class="btn_link_popup" id="btn_infoGift_pop">
+					<button type="button" class="btn_underline"
+						id="btn_infoGift_pop">
 						<span>보기</span>
 					</button>
 				</p>
 			</div>
 		</div>
 	</div>
-</div> 
+</div> <!-- //사은품선택 -->
 
 <script th:inline="javascript">
 //할인관련정보 변수선언

+ 70 - 233
src/main/webapp/WEB-INF/views/web/order/OrderPaymentInfoWeb.html

@@ -13,257 +13,96 @@
  * 1.0  2021.02.01   jsh77b     최초 작성
  *******************************************************************************
  -->
+ <!-- 결제수단 선택 -->
 <div class="fold_head">
 	<a href="javascript:void(0)">
 		<div>
-			<div class="fold_tit"><span>결제수단 선택</span></div>
-			<div class="data"><span>STYLE24 간편결제</span></div>
+			<div class="fold_tit">
+				<span>결제수단 선택</span>
+			</div>
+			<div class="data">
+				<span>신용카드</span>
+			</div>
 		</div>
 	</a>
 </div>
 <div class="fold_cont" style="display: none;">
 	<div class="area_paymethod">
 		<div class="form_field">
-			<div class="radio_blk">
-				<div class="paymethod_radio">
-					<input type="radio" name="rdi-paymethod" id="rdi-paymethod-quick" value=""> 
-					<label for="rdi-paymethod-quick"><span>STYLE24 간편결제</span></label>
-					<div class="quickpay_bnr">
-						<span>3초면 결제 끝! 추가 혜택 할인과 함께 만나는 STYLE24 간편결제! 지금 바로 등록하세요!</span>
-						<button type="button" class="btn_close_bnr">
-							<span class="sr-only">닫기</span>
-						</button>
-					</div>
-				</div>
-				<div class="paymethod_box" style="display: none;">
-					<div class="card_quickpay">
-						<!-- 등록카드 없을때 -->
-						<div class="empty">
-							<button type="button" class="btn_addcard">
-								<span>결제수단 등록</span>
-							</button>
-						</div>
-						<!-- //등록카드 없을때 -->
-						
-						<!-- 등록카드 있을때 -->
-						<div class="list_card swiper-container">
-							<div class="swiper-wrapper">
-								<div class="swiper-slide">
-									<!-- 등록된 카드 -->
-									<div class="card">
-										<span class="logo_samsung">삼성카드</span>
-										<p class="number">
-											<span>9410</span> <span>09**</span> <span>****</span>
-											<span>1287</span>
-										</p>
-										<p class="name">삼성개인특별카드</p>
-										<select name="" id="" class="select_month">
-											<option value="">일시불</option>
-											<option value="">2개월 무이자</option>
-											<option value="">3개월 무이자</option>
-											<option value="">4개월 무이자</option>
-											<option value="">5개월 무이자</option>
-											<option value="">6개월 무이자</option>
-											<option value="">7개월</option>
-											<option value="">8개월</option>
-											<option value="">9개월</option>
-											<option value="">10개월</option>
-											<option value="">11개월</option>
-											<option value="">12개월</option>
-										</select>
-										<div class="etc">
-											<button type="button" class="btn_favorcard">
-												<span><i class="ico ico_star"></i><em class="sr-only">즐겨찾기</em></span>
-											</button>
-											<button type="button" class="btn_delcard">
-												<span><i class="ico ico_trash_wh"></i><em class="sr-only">카드삭제</em></span>
-											</button>
-										</div>
-									</div>
-									<!-- //등록된 카드 -->
-								</div>
-								<div class="swiper-slide">
-									<!-- 등록된 카드 -->
-									<div class="card">
-										<span class="logo_hyundai">현대카드</span>
-										<p class="number">
-											<span>9410</span> <span>09**</span> <span>****</span>
-											<span>1287</span>
-										</p>
-										<p class="name">현대 M3 카드</p>
-										<select name="" id="" class="select_month">
-											<option value="">일시불</option>
-											<option value="">2개월 무이자</option>
-											<option value="">3개월 무이자</option>
-											<option value="">4개월 무이자</option>
-											<option value="">5개월 무이자</option>
-											<option value="">6개월 무이자</option>
-											<option value="">7개월</option>
-											<option value="">8개월</option>
-											<option value="">9개월</option>
-											<option value="">10개월</option>
-											<option value="">11개월</option>
-											<option value="">12개월</option>
-										</select>
-										<div class="etc">
-											<button type="button" class="btn_favorcard active">
-												<span><i class="ico ico_star"></i><em class="sr-only">즐겨찾기</em></span>
-											</button>
-											<button type="button" class="btn_delcard">
-												<span><i class="ico ico_trash_wh"></i><em class="sr-only">카드삭제</em></span>
-											</button>
-										</div>
-									</div>
-									<!-- //등록된 카드 -->
-								</div>
-								<div class="swiper-slide">
-									<!-- 카드추가버튼 -->
-									<button type="button" class="btn_addcard">
-										<span>결제수단 등록</span>
-									</button>
-									<!-- //카드추가버튼 -->
-								</div>
-							</div>
-							<div class="swiper-button-next"></div>
-							<div class="swiper-button-prev"></div>
-						</div>
-						<!-- //등록카드 있을때 -->
-					</div>
-					<ul class="info_quick">
-						<li>결제수단 등록 한번으로 간편하게 결제하실 수 있습니다.</li>
-						<li>국내 8개 카드에 대해 이용 가능합니다. (법인카드,기프트카드,해외카드 제외)</li>
-						<li>일반 신용카드의 할인혜택은 적용되지 않습니다.</li>
-					</ul>
-				</div>
-			</div>
-			<div class="radio_blk">
-				<div class="paymethod_radio">
-					<input type="radio" name="rdi-paymethod" id="rdi-paymethod-normal" value=""> 
-					<label for="rdi-paymethod-normal"><span>일반 결제</span></label>
-				</div>
-				<div class="paymethod_box" style="display: none;">
-					<ul class="sel_method">
-						<li>
-							<input type="radio" name="rdi-paynormal" id="rdi-paynormal1" value="KCP|G014_30"> 
-							<label for="rdi-paynormal1"><span>신용카드</span></label>
-						</li>
-						<li>
-							<input type="radio" name="rdi-paynormal" id="rdi-paynormal2" value="KCP|G014_10"> 
-							<label for="rdi-paynormal2"><span>실시간계좌이체</span></label>
-						</li>
-						<li>
-							<input type="radio" name="rdi-paynormal" id="rdi-paynormal3" value="KCP|G014_20"> 
-							<label for="rdi-paynormal3"><span>무통장입금</span></label>
-						</li>
-						<li>
-							<input type="radio" name="rdi-paynormal" id="rdi-paynormal4" value="KCP|G014_60"> 
-							<label for="rdi-paynormal4"><span>휴대폰 결제</span></label>
-						</li>
-						<li>
-							<input type="radio" name="rdi-paynormal" id="rdi-paynormal5" value="KAKAO|G014_99"> 
-							<label for="rdi-paynormal5">
-								<span>
-									<em class="sr-only">카카오페이 결제</em>
-									<em class="payimg kakao"></em>
-								</span>
-							</label>
-						</li>
-						<li>
-							<input type="radio" name="rdi-paynormal" id="rdi-paynormal6" value="NAVER|G014_99"> 
-							<label for="rdi-paynormal6">
-								<span>
-									<em class="sr-only">네이버페이 결제</em>
-									<em class="payimg naver"></em>
-								</span>
-							</label>
-						</li>
-						<li>
-							<input type="radio" name="rdi-paynormal" id="rdi-paynormal7" value="PAYCO|G014_30"> 
-							<label for="rdi-paynormal7">
-								<span>
-									<em class="sr-only">페이코 결제</em>
-									<em class="payimg payco"></em>
-								</span>
-							</label>
-						</li>
-					</ul>
-					<div class="agree_insurance">
-						<input id="chk-insurance" type="checkbox"> 
-						<label for="chk-insurance"> 
-							<span>소비자 피해 보상보험 신청&nbsp;&nbsp;<em class="tmark_optional">(선택)</em></span>
-							<button type="button" class="btn_link_popup" id="">
-								<span>FAQ확인</span>
-							</button>
+			<div class="paymethod_box">
+				<ul class="sel_method">
+					<li>
+						<input type="radio" name="rdi-paynormal" id="payCreditCard" value="KCP|G014_30" checked="checked">
+						<label for="payCreditCard"><span>신용카드</span></label>
+					</li>
+					<li>
+						<input type="radio" name="rdi-paynormal" id="payCellphone" value="KCP|G014_60"> 
+						<label for="payCellphone"><span>휴대폰 결제</span></label>
+					</li>
+					<li>
+						<input type="radio" name="rdi-paynormal" id="payKakao" value="KAKAO|G014_99"> 
+						<label for="payKakao">
+							<span>
+								<em class="sr-only">카카오페이 결제</em>
+								<em class="payimg kakao"></em>
+							</span>
+						</label>
+					</li>
+					<li>
+						<input type="radio" name="rdi-paynormal" id="payNaver" value="NAVER|G014_99"> 
+						<label for="payNaver">
+							<span>
+								<em class="sr-only">네이버페이 결제</em>
+								<em class="payimg naver"></em>
+							</span>
 						</label>
-						<p>
-							‘전자상거래 등에서의 소비자보호에 관한 법률‘에 따라 현금 결제 시 서울보증보험㈜가 제공하는
-							소비자 피해보상보험을<br>신청할 수 있도록 해드리고 있습니다.
-							(2013.11.28부터 시행)
-						</p>
-					</div>
-				</div>
+					</li>
+					<li>
+						<input type="radio" name="rdi-paynormal" id="payPayco" value="PAYCO|G014_30"> 
+						<label for="payPayco">
+							<span>
+								<em class="sr-only">페이코 결제</em>
+								<em class="payimg payco"></em>
+							</span>
+						</label>
+					</li>
+					<li>
+						<input type="radio" name="rdi-paynormal" id="payRealBank" value="KCP|G014_10"> 
+						<label for="payRealBank"><span>실시간계좌이체</span></label>
+					</li>
+					<li>
+						<input type="radio" name="rdi-paynormal" id="payVirtualBank" value="KCP|G014_20"> 
+						<label for="payVirtualBank"><span>무통장입금</span></label>
+					</li>
+				</ul>
 			</div>
 		</div>
 		<div class="form_field">
 			<div class="agree_paymethod">
 				<input id="chk-agree_paymethod" type="checkbox">
-				<label for="chk-agree_paymethod"> 
-					<span>선택한 결제수단으로 향후 결제 이용에 동의합니다.&nbsp;&nbsp;<em class="tmark_optional">(선택)</em>
-				</span>
+				<label for="chk-agree_paymethod">
+					 <span>선택한 결제수단으로 향후 결제 이용에 동의합니다.&nbsp;&nbsp;
+						<em class="tmark_optional">(선택)</em>
+					</span>
 				</label>
 			</div>
 		</div>
-	</div>
-	<div class="area_paymentinfo">
-		<div class="paymentinfo">
-			<div class="payinfo_blk on">
-				<a href=""> 개인정보 제공에 대한 동의 <span>닫기</span>
-				</a>
-				<div class="infotxt">개인정보제공에 대한 동의 내용입니다.개인정보제공에
-					대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의
-					내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에
-					대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의
-					내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에
-					대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의
-					내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에
-					대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의
-					내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에
-					대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의
-					내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에
-					대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의
-					내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에
-					대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의
-					내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.</div>
-			</div>
-			<div class="payinfo_blk">
-				<a href=""> 결제대행 서비스 약관 동의 <span>보기</span>
-				</a>
-				<div class="infotxt">결제대행서비스 약관 동의 내용입니다.결제대행서비스
-					약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의
-					내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스
-					약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의
-					내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스
-					약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의
-					내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스
-					약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의
-					내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스
-					약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의
-					내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스
-					약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의
-					내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스
-					약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의
-					내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.</div>
-			</div>
-		</div>
-
-		<div class="agree_payment">위 주문내역을 확인 하였으며, 회원 본인은 결제에 동의합니다.</div>
-	</div>
-	<div class="area_paybtn">
 		<div class="form_field">
-			<button type="button" class="btn btn_primary btn_block" id="btn_payment">동의 후 123,456,789원 결제하기</button>
+			<div class="agree_insurance">
+				<input id="chk-insurance" type="checkbox"> 
+					<label for="chk-insurance"> 
+						<span>소비자 피해 보상보험 신청&nbsp;&nbsp;<em class="tmark_optional">(선택)</em></span> 
+						<a href="" class="btn_underline"><span>FAQ확인</span></a>
+				</label>
+				<p>
+					‘전자상거래 등에서의 소비자보호에 관한 법률‘에 따라 현금 결제 시 서울보증보험㈜가 제공하는 소비자
+					피해보상보험을<br>신청할 수 있도록 해드리고 있습니다. (2013.11.28부터 시행)
+				</p>
+			</div>
 		</div>
 	</div>
-</div> 
+</div> <!-- //결제수단 선택 -->
+
 
 <script th:inline="javascript">
 var dispYn = [[${order.dispYn}]]; // 노출여부
@@ -275,10 +114,8 @@ $(document).ready( function() {
 	// 화면펼침
 	if (dispYn == "Y") {
 		$("#paymentInfo .fold_head").addClass("on");
-		$("#paymentInfo .fold_cont").css("display", "block");
+		//$("#paymentInfo .fold_cont").css("display", "block");
 		$("#rdi-paymethod-normal").attr("checked", "checked");
-		$(".radio_blk").eq(1).addClass("on");
-		$(".radio_blk").eq(1).find(".paymethod_box").show();
 	}
 });
 </script>

+ 5 - 0
src/main/webapp/ux/pc/css/common.css

@@ -806,6 +806,7 @@ content: "〉";font-size: 12px;padding-left: 8px;
 .itemPrice_original {position: relative;margin-left: 5px;line-height: 16px;font-size: 14px;font-weight: 300;color: rgb(204, 204, 204);}
 .itemPrice_original::after{content: '';display: inline-block;width: 100%;height: 1px;background: rgb(204, 204, 204);position: absolute;top: 50%;left: 0;bottom:auto;right:auto;transform: translateY(-50%);}
 .itemPercent {position: absolute;top: 0px;right: 0px;bottom: auto;left: auto;margin-left: 15px;line-height: 16px;font-size: 16px;font-weight: 300;color: #fd4802;}
+.itemViewCount {display:inline-block; height:30px; margin-top:20px; padding:7px 14px; border:2px solid #fd4802; color:#fd4802; font-size:14px; font-weight:300; line-height:1; border-radius:15px;}
 
 /* items Ellipsis */
 .itemBrand {position: relative;overflow: hidden;white-space: normal;overflow-wrap: break-word;display: block; max-width:95%;}
@@ -1171,6 +1172,10 @@ input[type="file"] {
   color: #bbb;
   background-color: #f5f5f5 !important;
 } 
+.select_custom[disabled] .combo .select > div {
+  position:relative;
+  z-index:1;
+}
 .select_custom .combo .list>li[aria-disabled="true"] {
 	text-decoration: line-through;
   /*background: #f5f5f5;*/

File diff suppressed because it is too large
+ 431 - 533
src/main/webapp/ux/pc/css/layout.css


+ 95 - 59
src/main/webapp/ux/pc/js/common-ui.js

@@ -31,20 +31,30 @@
 * * * * * * * * * * * * * * * * * * * * * */
 $(document).ready(function(){
 
+
+	// history back
+	$(".back").on("click", function () {
+		history.back()
+	});
+
 	// header minify
 	$(function(){
 		$(window).scroll(function(){
 			//var scroll = $(this).scrollTop();
-			var headerH =  $('#header').outerHeight();
+			var headerH =  $('#header .hd_top_banner').outerHeight() + $('#header .area').outerHeight();
+			var miniGnbH = $('#header.minify .gnb').outerHeight();
 			if ($(window).scrollTop() > headerH){
 				//header minify
 				$("#header").addClass("minify");
 				$("#header .hd_top_banner,#header .common_header > .area").hide();
+				$("#container").css("padding-top",headerH + miniGnbH);
+				
 			}
 			else {
 				//header minify
 				$("#header").removeClass("minify");
 				$("#header .hd_top_banner,#header .common_header > .area").show();
+				$("#container").css("padding-top","0px");
 			}
 		});
 	});
@@ -57,65 +67,25 @@ $(document).ready(function(){
 			if ($(window).scrollTop() > brheaderH){
 				//header minify
 				$("#br_header").addClass("minify");
-				$("#br_header .hd_top_banner,#br_header .common_header.br_header .util_group").hide();
+				$("#br_header .hd_top_banner,#br_header .common_header.br_header .area").hide();
+				$(".common_header.br_header .gnb .nav #brd_nav .home").show();
 			}
 			else {
 				//header minify
 				$("#br_header").removeClass("minify");
-				$("#br_header .hd_top_banner,#br_header .common_header.br_header .util_group").show();
+				$("#br_header .hd_top_banner,#br_header .common_header.br_header .area").show();
+				$(".common_header.br_header .gnb .nav #brd_nav .home").hide();
 			}
 		});
 	});
 
-	// history back
-	$(".back").on("click", function () {
-		history.back()
-	});
-
-	//통합검색 - 레이어 열고닫기
-	$(document).on('click','.common_header .search .promotion_search, .common_header .search .btn_open_search',function(e){
-		$('body').addClass('lock');
-		$("#header .common_search").addClass('active'); 
-		return false;
-	}).on('click','.common_search .btn_close_search',function(e){
-		$("#header .common_search").removeClass('active'); 
-		$('body').removeClass('lock');
-		return false;
-	});		
-
-	//브랜드 통합검색 - 레이어 열고닫기
-	$(document).on('click','.common_header.br_header .search .promotion_search, .common_header.br_header .search .btn_open_search',function(e){
-		$('body').addClass('lock');
-		$("#br_header .common_search.schBrand").addClass('active'); 
-		return false;
-	}).on('click','.common_search .btn_close_search',function(e){
-		$("#br_header .common_search.schBrand").removeClass('active'); 
-		$('body').removeClass('lock');
-		return false;
-	});
-
-	//통합검색 - 검색어 입력 시 
-	$(document).on('keyup','.common_search .area_input input',function(e){
-		var searchValue = $(this).val();
-		if(searchValue.length > 0) {
-			$('.common_search .area_result .default_box').hide();	
-			$('.common_search .area_result .searching_box').show();	
-		} else if (searchValue.length == 0) {
-			$('.common_search .area_result .searching_box').hide();	
-			$('.common_search .area_result .default_box').show();	
-		}
+	// items like on/off
+	$(function(){ 
+		$(".itemLike").click(function () {
+		  $(this).toggleClass("likeit");
+		});
 	});
 
-	//통합검색 - 슬라이드 컨트롤러 > 지금 고객님들이 많이 보고 있어요 
-	$(document).on('click','.common_search .realtime_slider .btn_pause',function(e){
-		realtimeItemSwiper.autoplay.stop();
-		$(this).hide();
-		$('.common_search .realtime_slider .btn_play').show();
-	}).on('click','.common_search .realtime_slider .btn_play',function(e){
-		realtimeItemSwiper.autoplay.start();
-		$(this).hide();
-		$('.common_search .realtime_slider .btn_pause').show();
-	});
 
 });
 /* * * * * * * * * * * * * * * * * * * * * * * 
@@ -302,7 +272,6 @@ function sCombo(selector){
 };
 
 
-
 // selectBrand on/off
 $( document ).ready( function() {
 	$("#selectBrand .brandbox input").on("click", function() {
@@ -312,7 +281,12 @@ $( document ).ready( function() {
 });
 
 
-
+// dropDownMenu
+$(document).on('click','.tgl_dropdown',function(e){
+	$(this).next('.dropdown_menu').slideToggle(300);
+	$(this).toggleClass('on');
+	return false;
+});
 
 
 /* alert */
@@ -353,6 +327,57 @@ $.datepicker.setDefaults($.datepicker.regional['kr']);
 
 $(document).ready( function() {
 
+	$(function(){
+		if($(".content").hasClass("dp_hotdeal") || $(".content").hasClass("dp_Bulletship")){
+			$('.container').closest('div').addClass('omitt');
+		}
+	});
+
+	//통합검색 - 레이어 열고닫기
+	$(document).on('click','.common_header .search .promotion_search, .common_header .search .btn_open_search',function(e){
+		$('body').addClass('lock');
+		$("#header .common_search").addClass('active'); 
+		return false;
+	}).on('click','.common_search .btn_close_search',function(e){
+		$("#header .common_search").removeClass('active'); 
+		$('body').removeClass('lock');
+		return false;
+	});		
+
+	//브랜드 통합검색 - 레이어 열고닫기
+	$(document).on('click','.common_header.br_header .search .promotion_search, .common_header.br_header .search .btn_open_search',function(e){
+		$('body').addClass('lock');
+		$("#br_header .common_search.schBrand").addClass('active'); 
+		return false;
+	}).on('click','.common_search .btn_close_search',function(e){
+		$("#br_header .common_search.schBrand").removeClass('active'); 
+		$('body').removeClass('lock');
+		return false;
+	});
+
+	//통합검색 - 검색어 입력 시 
+	$(document).on('keyup','.common_search .area_input input',function(e){
+		var searchValue = $(this).val();
+		if(searchValue.length > 0) {
+			$('.common_search .area_result .default_box').hide();	
+			$('.common_search .area_result .searching_box').show();	
+		} else if (searchValue.length == 0) {
+			$('.common_search .area_result .searching_box').hide();	
+			$('.common_search .area_result .default_box').show();	
+		}
+	});
+
+	//통합검색 - 슬라이드 컨트롤러 > 지금 고객님들이 많이 보고 있어요 
+	$(document).on('click','.common_search .realtime_slider .btn_pause',function(e){
+		realtimeItemSwiper.autoplay.stop();
+		$(this).hide();
+		$('.common_search .realtime_slider .btn_play').show();
+	}).on('click','.common_search .realtime_slider .btn_play',function(e){
+		realtimeItemSwiper.autoplay.start();
+		$(this).hide();
+		$('.common_search .realtime_slider .btn_pause').show();
+	});
+
 	/* 고객센터_accordion */
 	$(document).on('click','.cs .foldGroup .fold_head',function(e){
 		$(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
@@ -405,13 +430,6 @@ $(document).ready( function() {
 		return false;
 	});
 
-	/* dropDownMenu */
-	$(document).on('click','.tgl_dropdown',function(e){
-		$(this).next('.dropdown_menu').slideToggle(300);
-		$(this).toggleClass('on');
-		return false;
-	});
-
 	/* 전시 팝업 샘플팝업1 : 수정예정 */
 	$(document).on('click','#coupon_pop',function(e){
 		$("#coupon_modal_01").modal("show");
@@ -455,6 +473,24 @@ $(document).ready( function() {
 	$("body").mouseup(function(e){down = false;});
 	/* //드래그 스크롤 : 수정 예정 */
 	
+	//상품 리스트_필터
+	$('.filter_list ul li').click(function(){ 
+		$(".filter_list ul li").removeClass('on');
+		$(".dp_list .sort, .sch_result .sort").removeClass('on');
+		$(this).addClass('on');
+		$("."+$(this).data('id')).addClass('on');
+		$('.sort ul li').removeClass('on');
+		$('.sort ul li div').hide();
+		$('.container .dp_list .fillter, .container .sch_result .fillter').show();
+	});
+
+	// 카테고리
+	$('.tap_close').click(function(){ 
+		$(this).parent().removeClass('on');
+		$('.filter_content .sort ul li div').hide();
+		$('.filter_content .sort ul li, .container .filter_list ul li').removeClass('on');
+		$('.container .dp_list .sort, .container .sch_result .sort').removeClass('on');
+	});
 });
 
 

+ 14 - 26
src/main/webapp/ux/style24_link.js

@@ -35,9 +35,8 @@ const _PAGE_GOODS_QNA_LAYER = _frontUrl + "/goods/qna/layer/";										// 상
 const _PAGE_GOODS_QNA_CREATE_LAYER = _frontUrl + "/goods/qna/create/layer/";						// 상품문의레이어
 const _PAGE_GOODS_DELIVERY_LAYER = _frontUrl + "/goods/delivery/layer/";							// 배송/교환/반품 레이어
 const _PAGE_GOODS_REVIEW_LAYER = _frontUrl + "/goods/review/layer/";								// 상품평 레이어
-const _PAGE_GOODS_REVIEW_BEST_LAYER = _frontUrl + "/goods/review/best/layer/";						// 상품평- 베스트 리뷰 (list)
-const _PAGE_GOODS_REVIEW_PHOTO_LAYER = _frontUrl + "/goods/review/photo/layer/";					// 상품평- 포토/영상 리뷰 (list)
-const _PAGE_GOODS_REVIEW_PHOTO_DETAIL_LAYER = _frontUrl + "/goods/review/photo/detail/layer/";		// 상품평- 포토/영상 리뷰 (detail)
+const _PAGE_GOODS_REVIEW_DETAIL_LAYER = _frontUrl + "/goods/review/detail/layer";					// 상품평- 상세(베스트, 포토)
+const _PAGE_GOODS_REVIEW_PHTO_LIST_LAYER = _frontUrl + "/goods/review/photo/layer/";				// 상품평- 포토/영상 리뷰 (list)
 const _PAGE_GOODS_CPN_DOWNLOAD = "/goods/coupon/download";											// 상품쿠폰다운로드
 
 //== 장바구니 ==/
@@ -230,6 +229,8 @@ function cfnAddCart(cartList) {
 						location.href='/cart/list/form'; 	//내 쇼핑백 이동url
 					}
 				});
+			}else{
+				location.href='/cart/list/form'; 
 			}
 		}
 	});
@@ -511,14 +512,19 @@ function cfGoodsInstockAlarmInfo(goodsCd, colorCd) {
 *		cfGoodsBestReviewInfo(goodsCd);
 * </pre>
 */
-function cfGoodsBestReview(goodsCd) {
-	var str = '<div class="modal fade pd_pop pd_bestreviewdetail_pop" id="layer_review_best" tabindex="-1" role="dialog" aria-labelledby="pdBestReviewLabel" aria-hidden="true"></div>';
+function cfGoodsReviewDetail(goodsCd, bestYn, photoYn, reviewSq) {
+	var str = '<div class="modal fade pd_pop pd_photoreviewdetail_pop" id="layer_review_best" tabindex="-1" role="dialog" aria-labelledby="pdBestReviewLabel" aria-hidden="true"></div>';
 
 	if ($('#layer_review_best').length == 0) {
 		$('body').append(str);
 	}
-
-	cfOpenLayer(_PAGE_GOODS_REVIEW_BEST_LAYER+goodsCd, 'layer_review_best');
+	
+	var params = new Object();
+	params.goodsCd = goodsCd;
+	params.bestYn = bestYn;
+	params.photoYn = photoYn;
+	params.reviewSq = reviewSq;
+	cfOpenLayer(_PAGE_GOODS_REVIEW_DETAIL_LAYER, 'layer_review_best' ,params );
 }
 
 /**
@@ -536,25 +542,7 @@ function cfGoodsReviewPhoto(goodsCd) {
 		$('body').append(str);
 	}
 
-	cfOpenLayer(_PAGE_GOODS_REVIEW_PHOTO_LAYER+goodsCd, 'layer_review_photo');
-}
-
-/**
-* @type   : function
-* @access : public
-* @desc   : 상품평- 포토/영상 리뷰 상세 보기
-* <pre>
-*		cfGoodsPhotoReviewDetail(goodsCd);
-* </pre>
-*/
-function cfGoodsReviewPhotoDetail(goodsCd) {
-	var str = '<div class="modal fade pd_pop pd_photoreviewdetail_pop" id="layer_review_photo_detail" tabindex="-1" role="dialog" aria-labelledby="pdPhotoReviewDetailLabel" aria-hidden="true"></div>';
-
-	if ($('#layer_review_photo_detail').length == 0) {
-		$('body').append(str);
-	}
-
-	cfOpenLayer(_PAGE_GOODS_REVIEW_PHOTO_DETAIL_LAYER+goodsCd, 'layer_review_photo_detail');
+	cfOpenLayer(_PAGE_GOODS_REVIEW_PHTO_LIST_LAYER+goodsCd, 'layer_review_photo');
 }
 
 /**

Some files were not shown because too many files changed in this diff