Browse Source

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

xodud1202 5 years ago
parent
commit
0f7510fe90

+ 201 - 109
src/main/java/com/style24/front/biz/service/TsfCartService.java

@@ -60,7 +60,10 @@ public class TsfCartService {
 	 * 세트 : goodsCd,
 	 * @param params
 	 */
-	public void saveCartInfo(Collection<Cart> params) {
+	public GagaMap saveCartInfo(Collection<Cart> params) {
+		GagaMap result = new GagaMap();
+		List<Integer> cartSqList = new ArrayList<>();
+
 		// 로그인 유무 확인 (로그인이 되어 있지 않으면 regNo 를 0으로 장바구니에 저장한다.)
 		Login login = new Login();
 		if(TsfSession.isLogin()) {
@@ -69,68 +72,153 @@ public class TsfCartService {
 			login.setCustNo(0);
 		}
 
+		String goodsType = params.iterator().next().getGoodsType();
+		String cartGb = params.iterator().next().getCartGb();
+		if(StringUtils.isEmpty(goodsType)) {
+			goodsType = params.iterator().next().getCartCompsList().iterator().next().getGoodsType();
+			cartGb    = params.iterator().next().getCartCompsList().iterator().next().getCartGb();
+		}
+
+		log.info("CHECK GOODS_TYPE ::::: {}", goodsType);
+
 		// 장바구니 상품 및 재고 가능 여부 체크
-		for (Cart param : params) {
-			param.setCustNo(login.getCustNo());
-			// 상품 마스터 정보 확인
-			Goods goods = new Goods();
-			goods.setGoodsCd(param.getGoodsCd());
-			goods.setFrontGb(TsfSession.getFrontGb());
-			goods.setSiteCd(TscConstants.Site.STYLE24.value());
-
-			goods = goodsService.getGoodsInfo(goods);
-
-			if (goods == null) {
-				throw new IllegalArgumentException("상품 정보가 존재하지 않습니다.");
-			}
-			if (TscConstants.GoodsStat.SOLDOUT.value().equals(goods.getGoodsStat())) {
-				throw new IllegalArgumentException("품절입니다.");
-			} else if (!TscConstants.GoodsStat.SOLDOUT.value().equals(goods.getGoodsStat()) && !TscConstants.GoodsStat.APPR.value().equals(goods.getGoodsStat())) {
-				throw new IllegalArgumentException("판매중인 상품이 아닙니다.");
-			} else if (param.getGoodsQty() > goods.getMaxOrdQty()) {
-				throw new IllegalArgumentException(goods.getGoodsNm() + " 상품의 최대 구매 수량은 " + goods.getMaxOrdQty() + " 입니다.");
-			} else if (param.getGoodsQty() < goods.getMinOrdQty()) {
-				throw new IllegalArgumentException(goods.getGoodsNm() + " 상품의 최소 구매 수량은 " + goods.getMinOrdQty() + " 입니다.");
-			}
+		if(TscConstants.GoodsType.SET.value().equals(goodsType)) {
+			for (Cart goodsParams : params) {
+				for (Cart param : goodsParams.getCartCompsList()) {
+					param.setCustNo(login.getCustNo());
+					// 상품 마스터 정보 확인
+					Goods goods = new Goods();
+					goods.setGoodsCd(param.getGoodsCd());
+					goods.setFrontGb(TsfSession.getFrontGb());
+					goods.setSiteCd(TscConstants.Site.STYLE24.value());
+
+					goods = goodsService.getGoodsInfo(goods);
+
+					if (goods == null) {
+						result.put("message", "상품 정보가 존재하지 않습니다.");
+						return result;
+					} else if (TscConstants.GoodsStat.SOLDOUT.value().equals(goods.getGoodsStat())) {
+						result.put("message", "품절입니다.");
+						return result;
+					} else if (!TscConstants.GoodsStat.SOLDOUT.value().equals(goods.getGoodsStat()) && !TscConstants.GoodsStat.APPR.value().equals(goods.getGoodsStat())) {
+						result.put("message", "판매중인 상품이 아닙니다.");
+						return result;
+					} else if (param.getGoodsQty() > goods.getMaxOrdQty()) {
+						result.put("message", goods.getGoodsNm() + " 상품의 최대 구매 수량은 " + goods.getMaxOrdQty() + " 입니다.");
+						return result;
+					} else if (param.getGoodsQty() < goods.getMinOrdQty()) {
+						result.put("message", goods.getGoodsNm() + " 상품의 최소 구매 수량은 " + goods.getMinOrdQty() + " 입니다.");
+						return result;
+					}
 
-			// 상품 재고 확인
-			GoodsStock checkParam = new GoodsStock();
-			checkParam.setGoodsCd(param.getGoodsCd());
-			checkParam.setItemCd(param.getItemCd());
-			checkParam.setOptCd(param.getOptCd());
-			checkParam.setGoodsQty(param.getGoodsQty());
-			checkParam.setGoodsType(param.getGoodsType());
-			String stockResult = goodsService.getCheckStock(checkParam);
+					// 상품 재고 확인
+					GoodsStock checkParam = new GoodsStock();
+					checkParam.setGoodsCd(param.getGoodsCd());
+					checkParam.setItemCd(param.getItemCd());
+					checkParam.setOptCd(param.getOptCd());
+					checkParam.setGoodsQty(param.getGoodsQty());
+					checkParam.setGoodsType(param.getGoodsType());
+					String stockResult = goodsService.getCheckStock(checkParam);
+
+					if (!"SUCCESS".equals(stockResult)) {
+						result.put("message", stockResult);
+						return result;
+					}
 
-			if (!"SUCCESS".equals(stockResult)) {
-				throw new IllegalArgumentException(stockResult);
+					// 금일 주문 수량 체크
+					if (!StringUtils.isEmpty(param.getCartGb()) && "O".equals(param.getCartGb())) {
+						int goodsCartCnt = 0;
+						if(param.getCustNo() != 0) {
+							goodsCartCnt = cartDao.getGoodsTodayOrderCnt(param);
+						}
+
+						if (param.getGoodsQty() + goodsCartCnt > goods.getDayMaxOrdQty()) {
+							result.put("message", "1일 구매한도 수량이 초과되었습니다.");
+							return result;
+						}
+					}
+				}
+
+				saveSetTypeCartInfo(params, cartSqList);
 			}
+		} else {
+			for (Cart param : params) {
+				param.setCustNo(login.getCustNo());
+				// 상품 마스터 정보 확인
+				Goods goods = new Goods();
+				goods.setGoodsCd(param.getGoodsCd());
+				goods.setFrontGb(TsfSession.getFrontGb());
+				goods.setSiteCd(TscConstants.Site.STYLE24.value());
+
+				goods = goodsService.getGoodsInfo(goods);
 
-			// 금일 주문 수량 체크
-			if (!StringUtils.isEmpty(param.getCartGb()) && "O".equals(param.getCartGb())) {
-				int goodsCartCnt = 0;
-				if(param.getCustNo() != 0) {
-					goodsCartCnt = cartDao.getGoodsTodayOrderCnt(param);
+				log.info("CHECK :::::::::::::::: 0 ::::::::::::::::::::::");
+
+				if (goods == null) {
+					log.info("CHECK :::::::::::::::: 1 ::::::::::::::::::::::");
+					result.put("message", "상품 정보가 존재하지 않습니다.");
+					return result;
+				} else if (TscConstants.GoodsStat.SOLDOUT.value().equals(goods.getGoodsStat())) {
+					log.info("CHECK :::::::::::::::: 2 ::::::::::::::::::::::");
+					result.put("message", "품절입니다");
+					return result;
+				} else if (!TscConstants.GoodsStat.SOLDOUT.value().equals(goods.getGoodsStat()) && !TscConstants.GoodsStat.APPR.value().equals(goods.getGoodsStat())) {
+					log.info("CHECK :::::::::::::::: 3 ::::::::::::::::::::::");
+					result.put("message", "판매중인 상품이 아닙니다.");
+					return result;
+				} else if (param.getGoodsQty() > goods.getMaxOrdQty()) {
+					log.info("CHECK :::::::::::::::: 4 ::::::::::::::::::::::");
+					result.put("message", goods.getGoodsNm() + " 상품의 최대 구매 수량은 " + goods.getMaxOrdQty() + " 입니다.");
+					return result;
+				} else if (param.getGoodsQty() < goods.getMinOrdQty()) {
+					log.info("CHECK :::::::::::::::: 5 ::::::::::::::::::::::");
+					result.put("message", goods.getGoodsNm() + " 상품의 최소 구매 수량은 " + goods.getMinOrdQty() + " 입니다.");
+					return result;
 				}
 
-				if (param.getGoodsQty() + goodsCartCnt > goods.getDayMaxOrdQty()) {
-					throw new IllegalArgumentException("1일 구매한도 수량이 초과되었습니다.");
+				log.info("CHECK :::::::::::::::: 6 ::::::::::::::::::::::");
+
+				// 상품 재고 확인
+				GoodsStock checkParam = new GoodsStock();
+				checkParam.setGoodsCd(param.getGoodsCd());
+				checkParam.setItemCd(param.getItemCd());
+				checkParam.setOptCd(param.getOptCd());
+				checkParam.setGoodsQty(param.getGoodsQty());
+				checkParam.setGoodsType(param.getGoodsType());
+				String stockResult = goodsService.getCheckStock(checkParam);
+
+				if (!"SUCCESS".equals(stockResult)) {
+					result.put("message", stockResult);
+					return result;
+				}
+
+				// 금일 주문 수량 체크
+				if (!StringUtils.isEmpty(param.getCartGb()) && "O".equals(param.getCartGb())) {
+					int goodsCartCnt = 0;
+					if(param.getCustNo() != 0) {
+						goodsCartCnt = cartDao.getGoodsTodayOrderCnt(param);
+					}
+
+					if (param.getGoodsQty() + goodsCartCnt > goods.getDayMaxOrdQty()) {
+						result.put("message", "1일 구매한도 수량이 초과되었습니다.");
+						return result;
+					}
 				}
 			}
-		}
 
-		// 장바구니 정보 수정
-		if (TscConstants.GoodsType.SET.value().equals(params.iterator().next().getGoodsType())) {
-			// 세트상품일 경우
-			saveSetTypeCartInfo(params);
-		} else {
-			// 세트 상품이 아닐 경우
-			saveNormalDealCartInfo(params);
+			saveNormalDealCartInfo(params, cartSqList);
 		}
+
+		result.put("cartSqList", cartSqList);
+		result.put("goodsType", goodsType);
+		result.put("cartGb", cartGb);
+		result.put("message", "SUCCESS");
+
+		return result;
 	}
 
 	@Transactional("shopTxnManager")
-	public void saveSetTypeCartInfo(Collection<Cart> params) {
+	public void saveSetTypeCartInfo(Collection<Cart> params, List<Integer> cartSqs) {
 		Cart cart = new Cart();
 		StringBuilder sb = new StringBuilder();
 
@@ -149,80 +237,82 @@ public class TsfCartService {
 		cart.setJsessionId(TscSession.getSessionId());
 
 		// 장바구니 보유 CART_SQ 쿼리
-		int i = 1;
-		for (Cart param : params) {
-			sb.append("SELECT CD.CART_SQ \n FROM TB_CART_DETAIL CD \n INNER JOIN TB_CART C \n ON CD.CART_SQ = C.CART_SQ \n WHERE C.CUST_NO = ");
-
-			if (cart.getCustNo() == 0) {
-				sb.append(cart.getCustNo()).append("\n AND JSESSION_ID = '").append(cart.getJsessionId()).append("'");
-			} else {
-				sb.append(cart.getCustNo());
-			}
-			sb.append("\n AND CD.ITEM_CD = '").append(param.getItemCd()).append("' \n AND CD.OPT_CD = '").append(param.getOptCd()).append("'");
-			if (i < params.size()) {
-				i++;
-				sb.append("\n UNION ALL \n");
+		for (Cart carts : params) {
+			int i = 1;
+			Collection<Cart> cartInfos = carts.getCartCompsList();
+			sb = new StringBuilder();
+			for(Cart param : cartInfos) {
+				sb.append("SELECT CD.CART_SQ \n FROM TB_CART_DETAIL CD \n INNER JOIN TB_CART C \n ON CD.CART_SQ = C.CART_SQ \n WHERE C.CUST_NO = ");
+
+				if (cart.getCustNo() == 0) {
+					sb.append(cart.getCustNo()).append("\n AND JSESSION_ID = '").append(cart.getJsessionId()).append("'");
+				} else {
+					sb.append(cart.getCustNo());
+				}
+				sb.append("\n AND CD.ITEM_CD = '").append(param.getItemCd()).append("' \n AND CD.OPT_CD = '").append(param.getOptCd()).append("'");
+				if (i < cartInfos.size()) {
+					i++;
+					sb.append("\n UNION ALL \n");
+				}
 			}
-		}
-
-		// cart 정보 세팅
-		cart.setContentsLoc(params.iterator().next().getContentsLoc());
-		cart.setAfLinkCd(params.iterator().next().getAfLinkCd());
-		cart.setIthrCd(params.iterator().next().getIthrCd());
-		cart.setPlanDtlSq(params.iterator().next().getPlanDtlSq());
-		cart.setGoodsCd(params.iterator().next().getGoodsCd());
-		cart.setGoodsQty(params.iterator().next().getGoodsQty());
-		cart.setGoodsType(params.iterator().next().getGoodsType());
-		cart.setItemCdSql(sb.toString());
 
-		Collection<Cart> cartSqList = null;
-
-		if (!StringUtils.isEmpty(params.iterator().next().getCartGb()) && "C".equals(params.iterator().next().getCartGb())) {
-			cart.setCartGb(TscConstants.CartGb.CART.value());
-			// 같은 장바구니 상품 확인
-			cartSqList = cartDao.selectHasSetItemCartList(cart);
-		} else if (!StringUtils.isEmpty(params.iterator().next().getCartGb()) && "O".equals(params.iterator().next().getCartGb())) {
-			if ("P".equals(TsfSession.getFrontGb())) {
-				cart.setCartGb(TscConstants.CartGb.PC_ORDER.value());
+			// cart 정보 세팅
+			cart.setContentsLoc(cartInfos.iterator().next().getContentsLoc());
+			cart.setAfLinkCd(cartInfos.iterator().next().getAfLinkCd());
+			cart.setIthrCd(cartInfos.iterator().next().getIthrCd());
+			cart.setPlanDtlSq(cartInfos.iterator().next().getPlanDtlSq());
+			cart.setGoodsCd(cartInfos.iterator().next().getGoodsCd());
+			cart.setGoodsQty(cartInfos.iterator().next().getGoodsQty());
+			cart.setGoodsType(cartInfos.iterator().next().getGoodsType());
+			cart.setItemCdSql(sb.toString());
+
+			Collection<Cart> cartSqList = null;
+
+			if (!StringUtils.isEmpty(cartInfos.iterator().next().getCartGb()) && "C".equals(cartInfos.iterator().next().getCartGb())) {
+				cart.setCartGb(TscConstants.CartGb.CART.value());
+				// 같은 장바구니 상품 확인
+				cartSqList = cartDao.selectHasSetItemCartList(cart);
+			} else if (!StringUtils.isEmpty(cartInfos.iterator().next().getCartGb()) && "O".equals(cartInfos.iterator().next().getCartGb())) {
+				if ("P".equals(TsfSession.getFrontGb())) {
+					cart.setCartGb(TscConstants.CartGb.PC_ORDER.value());
+				} else {
+					cart.setCartGb(TscConstants.CartGb.MOB_ORDER.value());
+				}
 			} else {
-				cart.setCartGb(TscConstants.CartGb.MOB_ORDER.value());
+				cart.setCartGb(TscConstants.CartGb.CREATE_ORDER.value());
 			}
-		} else {
-			cart.setCartGb(TscConstants.CartGb.CREATE_ORDER.value());
-		}
 
-		if (cartSqList != null && cartSqList.size() > 0) {		// 장바구니 기존재
-			if (cartSqList.size() > 1) {						// 장바구니 조회 결과 이상시 insert or select 수정 필요
-				throw new IllegalArgumentException("장바구니 조회에 실패하였습니다. 관리자에게 문의해주세요.");
+			if (cartSqList != null && cartSqList.size() > 0) {		// 장바구니 기존재
+				if (cartSqList.size() > 1) {						// 장바구니 조회 결과 이상시 insert or select 수정 필요
+					throw new IllegalArgumentException("장바구니 조회에 실패하였습니다. 관리자에게 문의해주세요.");
+				} else {
+					cart.setCartSq(cartSqList.iterator().next().getCartSq());
+					cartSqs.add(cart.getCartSq());
+					cartDao.updateCartInfo(cart);               // 장바구니 정보 수정
+					cartDao.insertCartHst(cart);                // 장바구니 수정 이력 저장
+				}
 			} else {
-				cart.setCartSq(cartSqList.iterator().next().getCartSq());
-				cartDao.updateCartInfo(cart);               // 장바구니 정보 수정
-				cartDao.insertCartHst(cart);                // 장바구니 수정 이력 저장
-			}
+				cartDao.insertCartInfo(cart);					// 장바구니 마스터 정보 저장
+				cartDao.insertCartHst(cart);                    // 장바구니 이력 정보 저장
 
-			for (Cart param : params) {
-				param.setCartSq(cart.getCartSq());
-			}
-		} else {
-			cartDao.insertCartInfo(cart);					// 장바구니 마스터 정보 저장
-			cartDao.insertCartHst(cart);                    // 장바구니 이력 정보 저장
-
-			TsfSession.setAttribute("cartSqArr", cart.getCartSq()+"");
+				cartSqs.add(cart.getCartSq());
+				TsfSession.setAttribute("cartSqArr", cart.getCartSq()+"");
 
-			for (Cart param : params) {
-				param.setCartSq(cart.getCartSq());
-				param.setRegNo(cart.getRegNo());
-				param.setCustNo(cart.getCustNo());
-				param.setUpdNo(cart.getUpdNo());
+				for (Cart param : cartInfos) {
+					param.setCartSq(cart.getCartSq());
+					param.setRegNo(cart.getRegNo());
+					param.setCustNo(cart.getCustNo());
+					param.setUpdNo(cart.getUpdNo());
 
-				cartDao.insertCartDetailInfo(param);		// 장바구니 상세 저장
-				cartDao.insertCartDetailHst(param);         // 장바구니 상세 이력 저장
+					cartDao.insertCartDetailInfo(param);		// 장바구니 상세 저장
+					cartDao.insertCartDetailHst(param);         // 장바구니 상세 이력 저장
+				}
 			}
 		}
 	}
 
 	@Transactional("shopTxnManager")
-	public void saveNormalDealCartInfo(Collection<Cart> params) {
+	public void saveNormalDealCartInfo(Collection<Cart> params, List<Integer> cartSqs) {
 		Cart cart = new Cart();
 		// 로그인 정보
 		if(TsfSession.isLogin()) {
@@ -265,6 +355,7 @@ public class TsfCartService {
 					throw new IllegalArgumentException("장바구니 조회에 실패하였습니다. 관리자에게 문의해주세요.");
 				} else {
 					item.setCartSq(cartSqList.iterator().next());
+					cartSqs.add(item.getCartSq());
 					cartDao.updateCartInfo(item);
 					cartDao.insertCartHst(item);                // 장바구니 수정 이력 저장
 				}
@@ -274,6 +365,7 @@ public class TsfCartService {
 				cartDao.insertCartDetailInfo(item);				// 장바구니 상세 저장
 				cartDao.insertCartDetailHst(item);				// 장바구니 수정 이력 저장
 
+				cartSqs.add(item.getCartSq());
 				sendCartSqList.add(item.getCartSq() + "");
 			}
 		}

+ 4 - 3
src/main/java/com/style24/front/biz/web/TsfCartController.java

@@ -100,15 +100,16 @@ public class TsfCartController extends TsfBaseController {
 	 */
 	@ResponseBody
 	@PostMapping("/save")
-	public Collection<Cart> createCart(@RequestBody Collection<Cart> params) {
+	public GagaMap createCart(@RequestBody Collection<Cart> params) {
+		GagaMap result = new GagaMap();
 		try {
-			cartService.saveCartInfo(params);
+			result = cartService.saveCartInfo(params);
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw new IllegalArgumentException();
 		}
 
-		return params;
+		return result;
 	}
 
 	// @ResponseBody

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

@@ -141,9 +141,9 @@ public class TsfOrderController extends TsfBaseController {
 		}
 		
 		// TODO
-		int[] arr = {1,2,158,150,149,159,148,153,20,12};
+		/*int[] arr = {1,2,158,150,149,159,148,153,20,12};
 		order.setCartSqArr(arr);		// 장바구니시퀀스
-		order.setShotDelvUseYn("Y");	// 장바구니총알배송사용여부
+		order.setShotDelvUseYn("Y");	// 장바구니총알배송사용여부*/
 		
 		// 1.1 카트시퀀스가 정보가 없을때 처리 장바구니로 이동 
 		if (order.getCartSqArr() == null) {

+ 2 - 0
src/main/java/com/style24/persistence/domain/Cart.java

@@ -88,4 +88,6 @@ public class Cart extends TscBaseDomain {
 	private Integer updCartSq;	// 업데이트할 장바구니번호
 	private Integer delCartSq;	// 삭제할 장바구니번호(0이면 삭제할 장바구니번호 없음)
 
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private Cart[] cartGoodsList;		// 장바구니 단품코드
 }

+ 79 - 79
src/main/webapp/WEB-INF/views/mob/goods/GoodsOtherFormMob.html

@@ -1,80 +1,80 @@
-<!DOCTYPE html>
-<html lang="ko"
-	xmlns:th="http://www.thymeleaf.org">
-<!--
- *******************************************************************************
- * @source  : GoodsOtherFormMob.html
- * @desc    : 상품 안내
- *============================================================================
- * STYLE24
- * Copyright(C) 2020 TSIT, All rights reserved.
- *============================================================================
- * VER  DATE         AUTHOR      DESCRIPTION
- * ===  ===========  ==========  =============================================
- * 1.0  2021.04.05   eskim        최초 작성
- *******************************************************************************
- -->
-<th:block th:if="${goodsList != null and !goodsList.empty}" th:with="imgGoodsUrl=${@environment.getProperty('upload.goods.view')}, uxImgUrl=${@environment.getProperty('domain.uximage')}">
-	<h3 class="tit">
-	<th:block th:if="${params.goodsOtherGb =='tmtb'}" th:text="${'함께하면 할인되는 다다익선 상품'}"></th:block>
-	<th:block th:if="${params.goodsOtherGb =='together'}" th:text="${'이 상품과 함께 본 상품'}"></th:block>
-	<th:block th:if="${params.goodsOtherGb =='recommend'}" th:text="${params.brandGroupNm +' 추천상품'}"></th:block>
-	<th:block th:if="${params.goodsOtherGb =='like'}" th:text="${'이 상품과 비슷한 상품'}"></th:block>
-	</h3>
-	<div class="area_slider">
-		<div class="swiper-container swiper-container-initialized swiper-container-horizontal">
-			<div class="swiper-wrapper">
-				<div class="swiper-slide" th:each="goodsInfo, status : ${goodsList}">
-					<div class="item_prod">
-						<div class="item_state">
-							<button type="button" class="itemLike" th:classappend="${goodsInfo.wishYn == 'Y'}? 'active' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsInfo.goodsCd}, ithrCd=${params.ithrCd}, contentsLoc=${params.contentsLoc}, planDtlSq=''">관심상품 추가</button>
-							<a href="javascript:void(0);" onclick="cfnGoToGoodsDetail([[${goodsInfo.goodsCd}]], '',[[${params.ithrCd}]],'[[${params.contentsLoc}]]','','pc_detail');" class="itemLink" >
-								<div class="itemPic">
-									<img alt="" class="vLHTC pd_img" th:src="${imgGoodsUrl+'/'+goodsInfo.sysImgNm}" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
-								</div>
-								<p class="itemBrand" th:text="${goodsInfo.brandGroupNm}">BRAND NAME1</p>
-								<div class="itemName" th:text="${goodsInfo.goodsFullNm}">남성 로고 자카드 방풍 패딩</div>
-								<p class="itemPrice">
-									<span class="itemPrice_original" th:if="${goodsInfo.listPrice > goodsInfo.currPrice}"  th:text="${#numbers.formatInteger(goodsInfo.listPrice, 0,'COMMA')}">1,000,000</span>
-									<th:block th:text="${#numbers.formatInteger(goodsInfo.currPrice, 0,'COMMA')}"></th:block>
-									<span class="itemPercent" th:if="${goodsInfo.dcRate > 0}" th:text="|${#numbers.formatDecimal(goodsInfo.dcRate,0,0)}%|">30%</span>
-								</p>
-							</a>
-						</div>
-					</div>
-				</div>
-			</div>
-		</div>
-	</div>
-
-<script th:inline="javascript">
-/*<![CDATA[*/
-
-	//슬라이드 - 함께하면 할인되는 다다익선 상품
-	var togetherItemSwiper = new Swiper('.pd .pd_together .area_slider .swiper-container', {
-		slidesPerView: 3,
-		spaceBetween: 8,
-	});  
-
-	//슬라이드 - 이 상품과 함께 본 상품 
-	var otherItemSwiper = new Swiper('.pd .pd_clickother .area_slider .swiper-container', {
-		slidesPerView: 2,
-		spaceBetween: 8,
-	});	
-	//슬라이드 - 동일브랜드 상품 추천
-	var rcmdItemSwiper = new Swiper('.pd .pd_samebrand .area_slider .swiper-container', {
-		slidesPerView: 3,
-		spaceBetween: 8,
-	}); 
-
-	//슬라이드 - 이 상품과 비슷한 상품 
-	var relateItemSwiper = new Swiper('.pd .pd_relate .area_slider .swiper-container', {
-		slidesPerView: 3,
-		spaceBetween: 8,
-	});	 
-	
-/*]]>*/
-</script>	
-
-</th:block>
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : GoodsOtherFormMob.html
+ * @desc    : 상품 안내
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.04.05   eskim        최초 작성
+ *******************************************************************************
+ -->
+<th:block th:if="${goodsList != null and !goodsList.empty}" th:with="imgGoodsUrl=${@environment.getProperty('upload.goods.view')}, uxImgUrl=${@environment.getProperty('domain.uximage')}">
+	<h3 class="tit">
+	<th:block th:if="${params.goodsOtherGb =='tmtb'}" th:text="${'함께하면 할인되는 다다익선 상품'}"></th:block>
+	<th:block th:if="${params.goodsOtherGb =='together'}" th:text="${'이 상품과 함께 본 상품'}"></th:block>
+	<th:block th:if="${params.goodsOtherGb =='recommend'}" th:text="${params.brandGroupNm +' 추천상품'}"></th:block>
+	<th:block th:if="${params.goodsOtherGb =='like'}" th:text="${'이 상품과 비슷한 상품'}"></th:block>
+	</h3>
+	<div class="area_slider">
+		<div class="swiper-container swiper-container-initialized swiper-container-horizontal">
+			<div class="swiper-wrapper">
+				<div class="swiper-slide" th:each="goodsInfo, status : ${goodsList}">
+					<div class="item_prod">
+						<div class="item_state">
+							<button type="button" class="itemLike" th:classappend="${goodsInfo.wishYn == 'Y'}? 'active' : ''"  onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsInfo.goodsCd}, ithrCd=${params.ithrCd}, contentsLoc=${params.contentsLoc}, planDtlSq=''">관심상품 추가</button>
+							<a href="javascript:void(0);" onclick="cfnGoToGoodsDetail([[${goodsInfo.goodsCd}]], '',[[${params.ithrCd}]],'[[${params.contentsLoc}]]','','pc_detail');" class="itemLink" >
+								<div class="itemPic">
+									<img alt="" class="vLHTC pd_img" th:src="${imgGoodsUrl+'/'+goodsInfo.sysImgNm}" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
+								</div>
+								<p class="itemBrand" th:text="${goodsInfo.brandGroupNm}">BRAND NAME1</p>
+								<div class="itemName" th:text="${goodsInfo.goodsFullNm}">남성 로고 자카드 방풍 패딩</div>
+								<p class="itemPrice">
+									<span class="itemPrice_original" th:if="${goodsInfo.listPrice > goodsInfo.currPrice}"  th:text="${#numbers.formatInteger(goodsInfo.listPrice, 0,'COMMA')}">1,000,000</span>
+									<th:block th:text="${#numbers.formatInteger(goodsInfo.currPrice, 0,'COMMA')}"></th:block>
+									<span class="itemPercent" th:if="${goodsInfo.dcRate > 0}" th:text="|${#numbers.formatDecimal(goodsInfo.dcRate,0,0)}%|">30%</span>
+								</p>
+							</a>
+						</div>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+
+<script th:inline="javascript">
+/*<![CDATA[*/
+
+	//슬라이드 - 함께하면 할인되는 다다익선 상품
+	var togetherItemSwiper = new Swiper('.pd .pd_together .area_slider .swiper-container', {
+		slidesPerView: 3,
+		spaceBetween: 8,
+	});  
+
+	//슬라이드 - 이 상품과 함께 본 상품 
+	var otherItemSwiper = new Swiper('.pd .pd_clickother .area_slider .swiper-container', {
+		slidesPerView: 2,
+		spaceBetween: 8,
+	});	
+	//슬라이드 - 동일브랜드 상품 추천
+	var rcmdItemSwiper = new Swiper('.pd .pd_samebrand .area_slider .swiper-container', {
+		slidesPerView: 3,
+		spaceBetween: 8,
+	}); 
+
+	//슬라이드 - 이 상품과 비슷한 상품 
+	var relateItemSwiper = new Swiper('.pd .pd_relate .area_slider .swiper-container', {
+		slidesPerView: 3,
+		spaceBetween: 8,
+	});	 
+	
+/*]]>*/
+</script>	
+
+</th:block>
 </html>

+ 74 - 74
src/main/webapp/WEB-INF/views/mob/order/OrderCustemerInfoMob.html

@@ -1,74 +1,74 @@
-<!DOCTYPE html>
-<html lang="ko" xmlns:th="http://www.thymeleaf.org">
-<!--
- *******************************************************************************
- * @source  : OrderCustemerInfoMob.html
- * @desc    : 고객정보 Page
- *============================================================================
- * STYLE24
- * Copyright(C) 2020 TSIT, All rights reserved.
- *============================================================================
- * VER  DATE         AUTHOR      DESCRIPTION
- * ===  ===========  ==========  =============================================
- * 1.0  2021.04.05   jsh77b     최초 작성
- *******************************************************************************
- -->
-<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="foldGroup">
-	<ul>
-		<li class="fold_mbinfo">
-			<!-- 주문고객정보 -->
-			<div class="fold_head">
-				<a href="javascript:void(0)">
-					<div>
-						<div class="fold_tit">
-							<span>주문고객</span>
-						</div>
-						<div class="data">
-							<span th:text="${custemerInfo.custNm}"></span> 
-							<span th:text="${custemerInfo.cellPhnno}"></span>
-						</div>
-					</div>
-				</a>
-			</div>
-			<div class="fold_cont" style="display: none;">
-				<div class="area_mbinfo">
-					<dl>
-						<div>
-							<dt><span class="sr-only">주문자명</span></dt>
-							<dd th:text="${custemerInfo.custNm}"></dd>
-						</div>
-						<div>
-							<dt><span class="sr-only">이메일</span></dt>
-							<dd th:text="${custemerInfo.email}"></dd>
-						</div>
-						<div>
-							<dt><span class="sr-only">휴대폰 번호</span></dt>
-							<dd th:text="${custemerInfo.cellPhnno}"></dd>
-						</div>
-					</dl>
-				</div>
-			</div> <!-- //주문고객정보 -->
-		</li>
-	</ul>
-</div>
-<!-- //주문고객 -->
-
-<script th:inline="javascript">
-var dispYn = [[${order.dispYn}]]; // 노출여부
-
-//컨텐츠 호출
-$(document).ready( function() {
-	// 화면펼침
-	if (dispYn == "Y") {
-		$("#custemerInfo .fold_head").addClass("on");
-		$("#custemerInfo .fold_cont").css("display", "block");
-	}
-});
-</script>
-
-</html>
+<!DOCTYPE html>
+<html lang="ko" xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : OrderCustemerInfoMob.html
+ * @desc    : 고객정보 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.04.05   jsh77b     최초 작성
+ *******************************************************************************
+ -->
+<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="foldGroup">
+	<ul>
+		<li class="fold_mbinfo">
+			<!-- 주문고객정보 -->
+			<div class="fold_head">
+				<a href="javascript:void(0)">
+					<div>
+						<div class="fold_tit">
+							<span>주문고객</span>
+						</div>
+						<div class="data">
+							<span th:text="${custemerInfo.custNm}"></span> 
+							<span th:text="${custemerInfo.cellPhnno}"></span>
+						</div>
+					</div>
+				</a>
+			</div>
+			<div class="fold_cont" style="display: none;">
+				<div class="area_mbinfo">
+					<dl>
+						<div>
+							<dt><span class="sr-only">주문자명</span></dt>
+							<dd th:text="${custemerInfo.custNm}"></dd>
+						</div>
+						<div>
+							<dt><span class="sr-only">이메일</span></dt>
+							<dd th:text="${custemerInfo.email}"></dd>
+						</div>
+						<div>
+							<dt><span class="sr-only">휴대폰 번호</span></dt>
+							<dd th:text="${custemerInfo.cellPhnno}"></dd>
+						</div>
+					</dl>
+				</div>
+			</div> <!-- //주문고객정보 -->
+		</li>
+	</ul>
+</div>
+<!-- //주문고객 -->
+
+<script th:inline="javascript">
+var dispYn = [[${order.dispYn}]]; // 노출여부
+
+//컨텐츠 호출
+$(document).ready( function() {
+	// 화면펼침
+	if (dispYn == "Y") {
+		$("#custemerInfo .fold_head").addClass("on");
+		$("#custemerInfo .fold_cont").css("display", "block");
+	}
+});
+</script>
+
+</html>

+ 213 - 213
src/main/webapp/WEB-INF/views/mob/order/OrderDcAmtInfoMob.html

@@ -1,214 +1,214 @@
-<!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="foldGroup">
-	<ul>
-		<li>
-			<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>최대 할인혜택을 바로
-										적용하세요!</span><br>
-								<span class="maxdisc_amount">(<em>3,000</em>원 할인)
-								</span></label>
-							</div>
-						</div>
-					</div>
-				</a>
-			</div>
-			<div class="fold_cont">
-				<div class="area_seldiscount">
-					<dl>
-						<div>
-							<dt class="sr-only">할인혜택 바로 적용</dt>
-							<dd>
-								<div class="form_field">
-									<input id="chk-maxdisc01" type="checkbox" checked="">
-									<label for="chk-maxdisc01"><span>최대 할인혜택을 바로
-											적용하세요!</span>&nbsp;<span class="maxdisc_amount">(<em>3,000</em>원
-											할인)
-									</span></label>
-								</div>
-							</dd>
-						</div>
-						<div>
-							<dt>
-								할인쿠폰 <span class="maxdisc_amount">총&nbsp;<em>3,000</em>원
-									할인
-								</span>
-							</dt>
-							<dd>
-								<div class="sale_coupon_box">
-									<div>
-										<button type="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">
-											<!-- 비활성화시 disabled 추가 -->
-											<div class="combo">
-												<div class="select">
-													<div class="dlvr_coupon">
-														<p class="empty">선택</p>
-													</div>
-												</div>
-											</div>
-										</div>
-									</div>
-									<div class="form_field">
-										<div class="select_custom" disabled>
-											<div class="combo">
-												<div class="select">
-													<div class="dlvr_coupon">
-														<p class="empty">적용 가능한 쿠폰이 없습니다</p>
-													</div>
-												</div>
-												<ul class="list">
-													<!-- 선택처리 class="selected" / 선택불가 aria-disabled="true"추가  -->
-													<li class="selected">
-														<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>
-								STYLE24 포인트 <span>결제금액의 최대 40%까지 사용가능</span>
-							</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만원 이상 결제시에만 포인트 사용이 가능합니다."
-											readonly="readonly" onfocus="this.blur();">
-										<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>
-									</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>
-							</dd>
-						</div>
-					</dl>
-				</div>
-			</div>
-		</li>
-	</ul>
-</div>
-<!-- //할인/혜택 사용 -->
-
-<script th:inline="javascript">
-var dispYn = [[${order.dispYn}]]; // 노출여부
-
-//컨텐츠 호출
-$(document).ready( function() {
-	// 화면펼침
-	if (dispYn == "Y") {
-		$("#dcAmtInfo .fold_head").addClass("on");
-		$("#dcAmtInfo .fold_cont").show();
-	}
-	
-	//할인쿠폰(배송비) 선택
-    var od_dlvrfee_coupon_selecter = new sCombo('.od .odPayment .dlvr_fee_box .select_custom.coupon_list');
-});
-</script>
+<!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="foldGroup">
+	<ul>
+		<li>
+			<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>최대 할인혜택을 바로
+										적용하세요!</span><br>
+								<span class="maxdisc_amount">(<em>3,000</em>원 할인)
+								</span></label>
+							</div>
+						</div>
+					</div>
+				</a>
+			</div>
+			<div class="fold_cont">
+				<div class="area_seldiscount">
+					<dl>
+						<div>
+							<dt class="sr-only">할인혜택 바로 적용</dt>
+							<dd>
+								<div class="form_field">
+									<input id="chk-maxdisc01" type="checkbox" checked="">
+									<label for="chk-maxdisc01"><span>최대 할인혜택을 바로
+											적용하세요!</span>&nbsp;<span class="maxdisc_amount">(<em>3,000</em>원
+											할인)
+									</span></label>
+								</div>
+							</dd>
+						</div>
+						<div>
+							<dt>
+								할인쿠폰 <span class="maxdisc_amount">총&nbsp;<em>3,000</em>원
+									할인
+								</span>
+							</dt>
+							<dd>
+								<div class="sale_coupon_box">
+									<div>
+										<button type="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">
+											<!-- 비활성화시 disabled 추가 -->
+											<div class="combo">
+												<div class="select">
+													<div class="dlvr_coupon">
+														<p class="empty">선택</p>
+													</div>
+												</div>
+											</div>
+										</div>
+									</div>
+									<div class="form_field">
+										<div class="select_custom" disabled>
+											<div class="combo">
+												<div class="select">
+													<div class="dlvr_coupon">
+														<p class="empty">적용 가능한 쿠폰이 없습니다</p>
+													</div>
+												</div>
+												<ul class="list">
+													<!-- 선택처리 class="selected" / 선택불가 aria-disabled="true"추가  -->
+													<li class="selected">
+														<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>
+								STYLE24 포인트 <span>결제금액의 최대 40%까지 사용가능</span>
+							</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만원 이상 결제시에만 포인트 사용이 가능합니다."
+											readonly="readonly" onfocus="this.blur();">
+										<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>
+									</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>
+							</dd>
+						</div>
+					</dl>
+				</div>
+			</div>
+		</li>
+	</ul>
+</div>
+<!-- //할인/혜택 사용 -->
+
+<script th:inline="javascript">
+var dispYn = [[${order.dispYn}]]; // 노출여부
+
+//컨텐츠 호출
+$(document).ready( function() {
+	// 화면펼침
+	if (dispYn == "Y") {
+		$("#dcAmtInfo .fold_head").addClass("on");
+		$("#dcAmtInfo .fold_cont").show();
+	}
+	
+	//할인쿠폰(배송비) 선택
+    var od_dlvrfee_coupon_selecter = new sCombo('.od .odPayment .dlvr_fee_box .select_custom.coupon_list');
+});
+</script>
 </html>

+ 162 - 162
src/main/webapp/WEB-INF/views/mob/order/OrderDeliveryAddrInfoMob.html

@@ -1,163 +1,163 @@
-<!DOCTYPE html>
-<html lang="ko" xmlns:th="http://www.thymeleaf.org">
-<!--
- *******************************************************************************
- * @source  : OrderDeliveryAddrInfoMob.html
- * @desc    : 배송정보 Page
- *============================================================================
- * STYLE24
- * Copyright(C) 2020 TSIT, All rights reserved.
- *============================================================================
- * VER  DATE         AUTHOR      DESCRIPTION
- * ===  ===========  ==========  =============================================
- * 1.0  2021.04.05   jsh77b     최초 작성
- *******************************************************************************
- -->
-<!-- 배송지정보 -->
-<input type="hidden" name="recipNm" 		th:value="${deliveryAddrInfo.recipNm}"/>
-<input type="hidden" name="recipPhnno" 		th:value="${deliveryAddrInfo.recipPhnno}"/>
-<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}"/>
-<input type="hidden" name="delvMemo" 		th:value="${deliveryAddrInfo.delvMemo}"/>
-<input type="hidden" name="foreignBuyYn" 	th:value="${order.foreignBuyYn}"/>
-<input type="hidden" name="orderMadeYn" 	th:value="${order.orderMadeYn}"/>
-
-<div class="foldGroup shipfold">
-	<ul>
-		<li>
-			<div class="fold_head">
-				<a href="javascript:void(0)">
-					<div>
-						<div class="fold_tit"><span>배송지 정보</span></div>
-						<div class="data">
-							<span id="recipAddr" th:text="${deliveryAddrInfo.recipBaseAddr} + '   ' + ${deliveryAddrInfo.recipDtlAddr}"></span>
-						</div>
-					</div>
-				</a>
-			</div>
-			<div class="fold_cont">
-				<!-- 배송지 정보 변경가능 -->
-				<div class="ship_info ship_edit">
-					<button type="button" id="btn_adrsChange_pop" class="btn_popup">
-						<span>배송지 변경</span>
-					</button>
-					<dl>
-						<div class="company">
-							<dt><span class="sr-only">배송지명</span></dt>
-							<dd>
-								<th:block th:text="${deliveryAddrInfo.recipNm}"></th:block> 
-								<span class="icon_tag"> 
-									<th:block th:if="${deliveryAddrInfo.defaultYn} == 'Y'">
-										<em class="tag_stype1">기본배송지</em> 
-									</th:block>
-									<em class="tag_stype2 shotDelv">총알배송</em>
-								</span>
-							</dd>
-						</div>
-						<div class="phone">
-							<dt><span class="sr-only">휴대폰 번호</span></dt>
-							<dd th:text="${deliveryAddrInfo.recipPhnno}"></dd>
-						</div>
-						<div class="addr">
-							<dt><span class="sr-only">배송주소</span></dt>
-							<dd th:text="${deliveryAddrInfo.recipBaseAddr} + '    ' + ${deliveryAddrInfo.recipDtlAddr}"></dd>
-						</div>
-						
-						<div class="ship_request ship_select">
-							<span>배송요청 사항</span>
-							<div class="ship_option">
-								<div class="form_field">
-									<div class="select_custom delivery_list"> <!-- 비활성화시 disabled 추가 -->
-										<div class="combo">
-											<div class="select" th:text="${deliveryAddrInfo.delvMemo}">선택</div>
-											<ul class="list">
-												<!-- 선택처리 class="selected" / 선택불가 aria-disabled="true"추가  -->
-												<li>문 앞</li> 
-												<li>직접 받고 부재 시 문 앞</li>
-												<li>경비실</li> 
-												<li>택배함</li>
-												<li class="select_etc">기타사항</li>
-											</ul>
-										</div>
-									</div>
-								</div>
-							</div>
-							<div class="ship_etc">
-								<div class="form_text etc">
-									<input type="text" name="delvMemoText" placeholder="보관 장소만 입력 (필수)" maxlength="30" disabled>
-									<p class="desc_txt">보관 장소 외 다른 내용 입력시 통보 없이 삭제 될 수 있습니다.</p>
-								</div>
-							</div>
-						</div>
-					</dl>
-				</div>
-				<!-- //배송지 정보 변경가능 -->
-			</div>
-		</li>
-	</ul>
-</div>
-<!-- //배송지정보 -->
-
-<script th:inline="javascript">
-var dispYn = [[${order.dispYn}]]; // 노출여부
-var delvMemo = [[${deliveryAddrInfo.delvMemo}]]; // 노출여부
-
-//화면노출
-var deliveryAddrInfoDispYn = function(temp) {
-	if (temp == "Y") {
-		$("#deliveryAddrInfo .fold_head").addClass("on");
-		$("#deliveryAddrInfo .fold_cont").show();
-	} else {
-		$("#deliveryAddrInfo .fold_head").removeClass("on");
-		$("#deliveryAddrInfo .fold_cont").hide();
-	}
-}
-
-//컨텐츠 호출
-$(document).ready( function() {
-	var delvMemoArr = ["문 앞", "직접받고 부재시 문 앞", "경비실", "택배함"];
-	var tempMemo = true;
-	
-	$("#orderForm .ship_request .delivery_list li").removeClass("selected");
-	
-	// 배송요청사항설정
-	for (i=0 ; i<delvMemoArr.length ; i++) {
-		if (delvMemoArr[i] == delvMemo) {
-			tempMemo = false;
-		}
-	}
-
-	// 배송메모설정
-	$("#orderForm .ship_request .delivery_list li").each(function(){
-		if (delvMemo == $(this).text()) {
-			$(this).addClass("selected");
-		}
-	});
-	
-	if (tempMemo) {
-		$("#orderForm .ship_request .delivery_list .select").text("기타사항");
-		$("#orderForm input[name=delvMemoText]").attr("disabled", false);
-		$("#orderForm input[name=delvMemoText]").val(delvMemo);
-		$("#orderForm .delvMemo li").eq(4).addClass("selected");
-		$(".ship_etc").show();
-	}
-	
-	// 화면펼침
-	deliveryAddrInfoDispYn(dispYn);
-	
-	// 콤보박스 
-	var od_delivery_list = new sCombo('#orderForm .ship_select .select_custom.delivery_list');
-	
-	// 210405_배송요청 사항 기타사항 selected시 기타사항 input 구현
-	$("#orderForm .select_custom.delivery_list .combo .list > li").on("click", function(){
-		if ($("#orderForm .select_etc").hasClass("selected")){
-			$(".ship_etc").show();
-		} else {
-			$(".ship_etc").hide();
-		}
-	});
-});
-</script>
-
+<!DOCTYPE html>
+<html lang="ko" xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : OrderDeliveryAddrInfoMob.html
+ * @desc    : 배송정보 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.04.05   jsh77b     최초 작성
+ *******************************************************************************
+ -->
+<!-- 배송지정보 -->
+<input type="hidden" name="recipNm" 		th:value="${deliveryAddrInfo.recipNm}"/>
+<input type="hidden" name="recipPhnno" 		th:value="${deliveryAddrInfo.recipPhnno}"/>
+<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}"/>
+<input type="hidden" name="delvMemo" 		th:value="${deliveryAddrInfo.delvMemo}"/>
+<input type="hidden" name="foreignBuyYn" 	th:value="${order.foreignBuyYn}"/>
+<input type="hidden" name="orderMadeYn" 	th:value="${order.orderMadeYn}"/>
+
+<div class="foldGroup shipfold">
+	<ul>
+		<li>
+			<div class="fold_head">
+				<a href="javascript:void(0)">
+					<div>
+						<div class="fold_tit"><span>배송지 정보</span></div>
+						<div class="data">
+							<span id="recipAddr" th:text="${deliveryAddrInfo.recipBaseAddr} + '   ' + ${deliveryAddrInfo.recipDtlAddr}"></span>
+						</div>
+					</div>
+				</a>
+			</div>
+			<div class="fold_cont">
+				<!-- 배송지 정보 변경가능 -->
+				<div class="ship_info ship_edit">
+					<button type="button" id="btn_adrsChange_pop" class="btn_popup">
+						<span>배송지 변경</span>
+					</button>
+					<dl>
+						<div class="company">
+							<dt><span class="sr-only">배송지명</span></dt>
+							<dd>
+								<th:block th:text="${deliveryAddrInfo.recipNm}"></th:block> 
+								<span class="icon_tag"> 
+									<th:block th:if="${deliveryAddrInfo.defaultYn} == 'Y'">
+										<em class="tag_stype1">기본배송지</em> 
+									</th:block>
+									<em class="tag_stype2 shotDelv">총알배송</em>
+								</span>
+							</dd>
+						</div>
+						<div class="phone">
+							<dt><span class="sr-only">휴대폰 번호</span></dt>
+							<dd th:text="${deliveryAddrInfo.recipPhnno}"></dd>
+						</div>
+						<div class="addr">
+							<dt><span class="sr-only">배송주소</span></dt>
+							<dd th:text="${deliveryAddrInfo.recipBaseAddr} + '    ' + ${deliveryAddrInfo.recipDtlAddr}"></dd>
+						</div>
+						
+						<div class="ship_request ship_select">
+							<span>배송요청 사항</span>
+							<div class="ship_option">
+								<div class="form_field">
+									<div class="select_custom delivery_list"> <!-- 비활성화시 disabled 추가 -->
+										<div class="combo">
+											<div class="select" th:text="${deliveryAddrInfo.delvMemo}">선택</div>
+											<ul class="list">
+												<!-- 선택처리 class="selected" / 선택불가 aria-disabled="true"추가  -->
+												<li>문 앞</li> 
+												<li>직접 받고 부재 시 문 앞</li>
+												<li>경비실</li> 
+												<li>택배함</li>
+												<li class="select_etc">기타사항</li>
+											</ul>
+										</div>
+									</div>
+								</div>
+							</div>
+							<div class="ship_etc">
+								<div class="form_text etc">
+									<input type="text" name="delvMemoText" placeholder="보관 장소만 입력 (필수)" maxlength="30" disabled>
+									<p class="desc_txt">보관 장소 외 다른 내용 입력시 통보 없이 삭제 될 수 있습니다.</p>
+								</div>
+							</div>
+						</div>
+					</dl>
+				</div>
+				<!-- //배송지 정보 변경가능 -->
+			</div>
+		</li>
+	</ul>
+</div>
+<!-- //배송지정보 -->
+
+<script th:inline="javascript">
+var dispYn = [[${order.dispYn}]]; // 노출여부
+var delvMemo = [[${deliveryAddrInfo.delvMemo}]]; // 노출여부
+
+//화면노출
+var deliveryAddrInfoDispYn = function(temp) {
+	if (temp == "Y") {
+		$("#deliveryAddrInfo .fold_head").addClass("on");
+		$("#deliveryAddrInfo .fold_cont").show();
+	} else {
+		$("#deliveryAddrInfo .fold_head").removeClass("on");
+		$("#deliveryAddrInfo .fold_cont").hide();
+	}
+}
+
+//컨텐츠 호출
+$(document).ready( function() {
+	var delvMemoArr = ["문 앞", "직접받고 부재시 문 앞", "경비실", "택배함"];
+	var tempMemo = true;
+	
+	$("#orderForm .ship_request .delivery_list li").removeClass("selected");
+	
+	// 배송요청사항설정
+	for (i=0 ; i<delvMemoArr.length ; i++) {
+		if (delvMemoArr[i] == delvMemo) {
+			tempMemo = false;
+		}
+	}
+
+	// 배송메모설정
+	$("#orderForm .ship_request .delivery_list li").each(function(){
+		if (delvMemo == $(this).text()) {
+			$(this).addClass("selected");
+		}
+	});
+	
+	if (tempMemo) {
+		$("#orderForm .ship_request .delivery_list .select").text("기타사항");
+		$("#orderForm input[name=delvMemoText]").attr("disabled", false);
+		$("#orderForm input[name=delvMemoText]").val(delvMemo);
+		$("#orderForm .delvMemo li").eq(4).addClass("selected");
+		$(".ship_etc").show();
+	}
+	
+	// 화면펼침
+	deliveryAddrInfoDispYn(dispYn);
+	
+	// 콤보박스 
+	var od_delivery_list = new sCombo('#orderForm .ship_select .select_custom.delivery_list');
+	
+	// 210405_배송요청 사항 기타사항 selected시 기타사항 input 구현
+	$("#orderForm .select_custom.delivery_list .combo .list > li").on("click", function(){
+		if ($("#orderForm .select_etc").hasClass("selected")){
+			$(".ship_etc").show();
+		} else {
+			$(".ship_etc").hide();
+		}
+	});
+});
+</script>
+
 </html>

+ 98 - 98
src/main/webapp/WEB-INF/views/mob/order/OrderEntryInfoMob.html

@@ -1,98 +1,98 @@
-<!DOCTYPE html>
-<html lang="ko" xmlns:th="http://www.thymeleaf.org">
-<!--
- *******************************************************************************
- * @source  : OrderEntryInfoMob.html
- * @desc    : 개인통관부호 정보 Page
- *============================================================================
- * STYLE24
- * Copyright(C) 2020 TSIT, All rights reserved.
- *============================================================================
- * VER  DATE         AUTHOR      DESCRIPTION
- * ===  ===========  ==========  =============================================
- * 1.0  2021.04.05   jsh77b     최초 작성
- *******************************************************************************
- -->
- 
- <!-- 개인통관부호 정보 -->
-<div class="foldGroup">
-	<ul>
-		<li>
-			<div class="fold_head">
-				<a href="javascript:void(0)">
-					<div>
-						<div class="fold_tit">
-							<span>개인통관고유부호</span>
-						</div>
-						<div class="data">
-							<span>P123456789</span>
-						</div>
-					</div>
-				</a>
-			</div>
-			<div class="fold_cont">
-				<div class="area_overseas">
-					<div class="info_txt">
-						<ul>
-							<li>물품가액이 $150 초과할 경우 관/부가세가 발생 할 수 있으며, 물품 종류와 해외공급자
-								관계없이 같은 날 입항하게 되면 합산과세 대상이 됩니다.</li>
-						</ul>
-					</div>
-					<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 class="btn_group btn_group_flex">
-								<div>
-									<button type="button" class="btn btn_dark">입력완료</button>
-								</div>
-							</div>
-						</div>
-						<div class="info_box overs2" style="display: none;">
-							<div class="info_txt type2">
-								<ul>
-									<li>개인통관고유부호를 입력하지 않아도 관세사무소에서 개인정보 확인을 위해 별도 연락을 드릴
-										예정입니다.</li>
-								</ul>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>
-		</li>
-	</ul>
-</div>
-<!-- //개인통관부호 정보 -->
-
-<script th:inline="javascript">
-var dispYn = [[${order.dispYn}]]; // 노출여부
-
-//컨텐츠 호출
-$(document).ready( function() {
-	// 화면펼침
-	if (dispYn == "Y") {
-		$("#custemerInfo .fold_head").addClass("on");
-		$("#custemerInfo .fold_cont").css("display", "block");
-	}
-});
-</script>
-
-</html>
+<!DOCTYPE html>
+<html lang="ko" xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : OrderEntryInfoMob.html
+ * @desc    : 개인통관부호 정보 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.04.05   jsh77b     최초 작성
+ *******************************************************************************
+ -->
+ 
+ <!-- 개인통관부호 정보 -->
+<div class="foldGroup">
+	<ul>
+		<li>
+			<div class="fold_head">
+				<a href="javascript:void(0)">
+					<div>
+						<div class="fold_tit">
+							<span>개인통관고유부호</span>
+						</div>
+						<div class="data">
+							<span>P123456789</span>
+						</div>
+					</div>
+				</a>
+			</div>
+			<div class="fold_cont">
+				<div class="area_overseas">
+					<div class="info_txt">
+						<ul>
+							<li>물품가액이 $150 초과할 경우 관/부가세가 발생 할 수 있으며, 물품 종류와 해외공급자
+								관계없이 같은 날 입항하게 되면 합산과세 대상이 됩니다.</li>
+						</ul>
+					</div>
+					<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 class="btn_group btn_group_flex">
+								<div>
+									<button type="button" class="btn btn_dark">입력완료</button>
+								</div>
+							</div>
+						</div>
+						<div class="info_box overs2" style="display: none;">
+							<div class="info_txt type2">
+								<ul>
+									<li>개인통관고유부호를 입력하지 않아도 관세사무소에서 개인정보 확인을 위해 별도 연락을 드릴
+										예정입니다.</li>
+								</ul>
+							</div>
+						</div>
+					</div>
+				</div>
+			</div>
+		</li>
+	</ul>
+</div>
+<!-- //개인통관부호 정보 -->
+
+<script th:inline="javascript">
+var dispYn = [[${order.dispYn}]]; // 노출여부
+
+//컨텐츠 호출
+$(document).ready( function() {
+	// 화면펼침
+	if (dispYn == "Y") {
+		$("#custemerInfo .fold_head").addClass("on");
+		$("#custemerInfo .fold_cont").css("display", "block");
+	}
+});
+</script>
+
+</html>

+ 183 - 183
src/main/webapp/WEB-INF/views/mob/order/OrderFreegiftInfoMob.html

@@ -1,183 +1,183 @@
-<!DOCTYPE html>
-<html lang="ko" xmlns:th="http://www.thymeleaf.org">
-<!--
- *******************************************************************************
- * @source  : OrderFormWeb.html
- * @desc    : 주문/결제 Page
- *============================================================================
- * STYLE24
- * Copyright(C) 2020 TSIT, All rights reserved.
- *============================================================================
- * VER  DATE         AUTHOR      DESCRIPTION
- * ===  ===========  ==========  =============================================
- * 1.0  2021.02.01   jsh77b     최초 작성
- *******************************************************************************
- -->
-
-<th:block th:if="${freegiftList != null && #lists.size(freegiftList) > 0}">
-<div class="foldGroup">
-	<ul>
-		<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">0</em>개 선택</span> 
-							<span><em class="total_deduct">0</em>P 차감</span>
-						</div>
-					</div>
-				</a>
-			</div>
-			<div class="fold_cont">
-				<div class="area_selgift">
-					<th:block th:each="freegift, i : ${freegiftList}">
-						<th:block th:if="${freegift.allYn} == 'Y'">
-							<div class="gift_box necessary_gift_box">
-						</th:block>
-						<th:block th:if="${freegift.allYn} == 'N'">
-							<div class="gift_box">
-						</th:block>
-							<p class="txt">
-								<th:block th:if="${freegift.allYn} == 'Y'">
-									<span th:text="|사은품필수 ${i.count}|"></span>
-								</th:block>
-								<th:block th:if="${freegift.allYn} == 'N'">
-									<span th:text="|사은품선택 ${i.count}|"></span>
-								</th:block>
-								<th:block th:text="${freegift.freegiftNm}"></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="checkbox" 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" checked onclick="return(false);">
-												<label for="rdi-gift11"> 
-													<span class="thumb"><img src="/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: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 for="rdi-gift1">
-													<span class="thumb"><img src="/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="|${#numbers.formatInteger(freegiftGoods.usePoint, 1, 'COMMA')} P|"></span>
-												</label>
-											</div>
-										
-										</th:block>
-									</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 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>
-								</th:block>
-								<!-- //선택지급 사음품(선택) -->
-							</div>
-						</div>
-					</th:block>
-
-					<div class="form_field">
-						<div class="agree_gift">
-							<p>
-								<input id="chk-agree_gift" type="checkbox">
-								<labelfor="chk-agree_gift"><span>동의합니다</span></label>
-							</p>
-							<p class="txt">사은품 지금에 대한 내용을 확인하였으며, 이에 동의합니다.</p>
-							<button type="button" class="btn_link_popup" id="btn_infoGift_btn">
-								<span>보기</span>
-							</button>
-						</div>
-						<div class="agree_gift_con">
-							<p>제1장 총칙 제1조(목적) 본 약관은 정부24 (이하 "당 사이트")가 제공하는 모든 서비스(이하
-								"서비스")의 이용조건 및 절차, 이용자와 당 사이트의 권리, 의무, 책임사항과 기타 필요한 사항을 규정함을
-								제1장 총칙 제1조(목적) 본 약관은 정부24 (이하 "당 사이트")가 제공하는 모든 서비스(이하
-								"서비스")의 이용조건 및 절차, 이용자와 당 사이트의 권리, 의무, 책임사항과 기타 필요한 사항을 규정함을
-								제1장 총칙 제1조(목적) 본 약관은 정부24 (이하 "당 사이트")가 제공하는 모든 서비스(이하
-								"서비스")의 이용조건 및 절차, 이용자와 당 사이트의 권리, 의무, 책임사항과 기타 필요한 사항을 규정함을
-								제1장 총칙 제1조(목적) 본 약관은 정부24 (이하 "당 사이트")가 제공하는 모든 서비스(이하
-								"서비스")의 이용조건 및 절차, 이용자와 당 사이트의 권리, 의무, 책임사항과 기타 필요한 사항을 규정함을
-							</p>
-						</div>
-					</div>
-				</div>
-			</div>
-		</li>
-	</ul>
-</div>
-
-<script th:inline="javascript">
-//할인관련정보 변수선언
-var freegiftApplyAmtList	= [[${freegiftApplyAmtList}]];		// 사은품장바구니목록
-var freegiftList			= [[${freegiftList}]];				// 사은품 프로모션 목록
-var freegiftGoodsList		= [[${freegiftGoodsList}]];			// 사은품 프로모션 상품 목록
-var dispYn 					= [[${order.dispYn}]]; 				// 노출여부
-
-var freegiftInfoDispYn = function(temp) {
-	if (temp == "Y") {
-		$("#freegiftInfo .fold_head").addClass("on");
-		$("#freegiftInfo .fold_cont").show();
-	} else {
-		$("#freegiftInfo .fold_head").removeClass("on");
-		$("#freegiftInfo .fold_cont").hide();
-	}
-}
-
-//컨텐츠 호출
-$(document).ready( function() {
-	// 사은품 화면 노출여부 체크
-	if (freegiftList.length == null || freegiftList.length < 1) {
-		$("#freegiftInfo").css("display", "none");
-	} else {
-		$("#freegiftInfo").css("display", "block");
-	}
-	
-	//사은품노출여부
-	freegiftInfoDispYn(dispYn);
-	
-	// 사은품시퀀스배열, 
-	var freegiftSqArr 		= [];
-	var freegiftGoodsArr 	= [];
-	
-	// 사은품 장바구니 상품 뿌리기
-	for (i=0 ; i<freegiftApplyAmtList.length ; i++) {
-		var obj = freegiftApplyAmtList[i];
-		freegiftSqArr.push(obj.freegiftSq);
-		freegiftGoodsArr.push(obj.goodsCd);
-	}
-	
-	$(".freegiftSqArr").text(freegiftSqArr);
-	$(".freegiftGoodsArr").text(freegiftGoodsArr);
-	
-});
-</script>
-</th:block>
-
-
-
-
-
-
-
-
-
-
+<!DOCTYPE html>
+<html lang="ko" xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : OrderFormWeb.html
+ * @desc    : 주문/결제 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.02.01   jsh77b     최초 작성
+ *******************************************************************************
+ -->
+
+<th:block th:if="${freegiftList != null && #lists.size(freegiftList) > 0}">
+<div class="foldGroup">
+	<ul>
+		<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">0</em>개 선택</span> 
+							<span><em class="total_deduct">0</em>P 차감</span>
+						</div>
+					</div>
+				</a>
+			</div>
+			<div class="fold_cont">
+				<div class="area_selgift">
+					<th:block th:each="freegift, i : ${freegiftList}">
+						<th:block th:if="${freegift.allYn} == 'Y'">
+							<div class="gift_box necessary_gift_box">
+						</th:block>
+						<th:block th:if="${freegift.allYn} == 'N'">
+							<div class="gift_box">
+						</th:block>
+							<p class="txt">
+								<th:block th:if="${freegift.allYn} == 'Y'">
+									<span th:text="|사은품필수 ${i.count}|"></span>
+								</th:block>
+								<th:block th:if="${freegift.allYn} == 'N'">
+									<span th:text="|사은품선택 ${i.count}|"></span>
+								</th:block>
+								<th:block th:text="${freegift.freegiftNm}"></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="checkbox" 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" checked onclick="return(false);">
+												<label for="rdi-gift11"> 
+													<span class="thumb"><img src="/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: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 for="rdi-gift1">
+													<span class="thumb"><img src="/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="|${#numbers.formatInteger(freegiftGoods.usePoint, 1, 'COMMA')} P|"></span>
+												</label>
+											</div>
+										
+										</th:block>
+									</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 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>
+								</th:block>
+								<!-- //선택지급 사음품(선택) -->
+							</div>
+						</div>
+					</th:block>
+
+					<div class="form_field">
+						<div class="agree_gift">
+							<p>
+								<input id="chk-agree_gift" type="checkbox">
+								<labelfor="chk-agree_gift"><span>동의합니다</span></label>
+							</p>
+							<p class="txt">사은품 지금에 대한 내용을 확인하였으며, 이에 동의합니다.</p>
+							<button type="button" class="btn_link_popup" id="btn_infoGift_btn">
+								<span>보기</span>
+							</button>
+						</div>
+						<div class="agree_gift_con">
+							<p>제1장 총칙 제1조(목적) 본 약관은 정부24 (이하 "당 사이트")가 제공하는 모든 서비스(이하
+								"서비스")의 이용조건 및 절차, 이용자와 당 사이트의 권리, 의무, 책임사항과 기타 필요한 사항을 규정함을
+								제1장 총칙 제1조(목적) 본 약관은 정부24 (이하 "당 사이트")가 제공하는 모든 서비스(이하
+								"서비스")의 이용조건 및 절차, 이용자와 당 사이트의 권리, 의무, 책임사항과 기타 필요한 사항을 규정함을
+								제1장 총칙 제1조(목적) 본 약관은 정부24 (이하 "당 사이트")가 제공하는 모든 서비스(이하
+								"서비스")의 이용조건 및 절차, 이용자와 당 사이트의 권리, 의무, 책임사항과 기타 필요한 사항을 규정함을
+								제1장 총칙 제1조(목적) 본 약관은 정부24 (이하 "당 사이트")가 제공하는 모든 서비스(이하
+								"서비스")의 이용조건 및 절차, 이용자와 당 사이트의 권리, 의무, 책임사항과 기타 필요한 사항을 규정함을
+							</p>
+						</div>
+					</div>
+				</div>
+			</div>
+		</li>
+	</ul>
+</div>
+
+<script th:inline="javascript">
+//할인관련정보 변수선언
+var freegiftApplyAmtList	= [[${freegiftApplyAmtList}]];		// 사은품장바구니목록
+var freegiftList			= [[${freegiftList}]];				// 사은품 프로모션 목록
+var freegiftGoodsList		= [[${freegiftGoodsList}]];			// 사은품 프로모션 상품 목록
+var dispYn 					= [[${order.dispYn}]]; 				// 노출여부
+
+var freegiftInfoDispYn = function(temp) {
+	if (temp == "Y") {
+		$("#freegiftInfo .fold_head").addClass("on");
+		$("#freegiftInfo .fold_cont").show();
+	} else {
+		$("#freegiftInfo .fold_head").removeClass("on");
+		$("#freegiftInfo .fold_cont").hide();
+	}
+}
+
+//컨텐츠 호출
+$(document).ready( function() {
+	// 사은품 화면 노출여부 체크
+	if (freegiftList.length == null || freegiftList.length < 1) {
+		$("#freegiftInfo").css("display", "none");
+	} else {
+		$("#freegiftInfo").css("display", "block");
+	}
+	
+	//사은품노출여부
+	freegiftInfoDispYn(dispYn);
+	
+	// 사은품시퀀스배열, 
+	var freegiftSqArr 		= [];
+	var freegiftGoodsArr 	= [];
+	
+	// 사은품 장바구니 상품 뿌리기
+	for (i=0 ; i<freegiftApplyAmtList.length ; i++) {
+		var obj = freegiftApplyAmtList[i];
+		freegiftSqArr.push(obj.freegiftSq);
+		freegiftGoodsArr.push(obj.goodsCd);
+	}
+	
+	$(".freegiftSqArr").text(freegiftSqArr);
+	$(".freegiftGoodsArr").text(freegiftGoodsArr);
+	
+});
+</script>
+</th:block>
+
+
+
+
+
+
+
+
+
+

+ 176 - 176
src/main/webapp/WEB-INF/views/mob/order/OrderListInfoMob.html

@@ -1,176 +1,176 @@
-<!DOCTYPE html>
-<html lang="ko" xmlns:th="http://www.thymeleaf.org">
-<!--
- *******************************************************************************
- * @source  : OrderCustemerInfoWeb.html
- * @desc    : 고객정보 Page
- *============================================================================
- * STYLE24
- * Copyright(C) 2020 TSIT, All rights reserved.
- *============================================================================
- * VER  DATE         AUTHOR      DESCRIPTION
- * ===  ===========  ==========  =============================================
- * 1.0  2021.02.01   jsh77b     최초 작성
- *******************************************************************************
- -->
-<input type="hidden" name="delvFeeCdCnt" th:value="${delvFeeCdCnt}"/>
-<input type="hidden" name="shotCnt" th:value="${shotCnt}"/>
-<input type="hidden" name="wmsCnt" 	th:value="${wmsCnt}"/>
-
-<div class="foldGroup">
-	<ul>
-		<li class="fold_mbinfo">
-			<div class="fold_head">
-				<a href="javascript:void(0)">
-					<div>
-						<div class="fold_tit"><span>주문내역</span></div>
-						<div class="data"><em class="c_primary" th:text="${goodsTotCnt}"></em>개의 상품</div>
-					</div>
-				</a>
-			</div>
-			<div class="fold_cont" style="display: none;">
-				<div class="od_item_box">	
-					<th:block th:each="delvAllCart, i : ${delvAllCartList}">
-						<th:block th:if="${delvAllCart != null and #lists.size(delvAllCart) > 0}">
-							<div class="part_goods">
-								<th:block th:if="${i.index} == 0">
-									<th:block th:if="${delvAllCart != null and #lists.size(delvAllCart) > 0}">
-										<div class="goods_top">
-											<div class="goods_date">STYLE24 총알배송<span class="date">오늘 자정까지 도착</span></div>
-										</div>
-									</th:block>
-								</th:block>
-								<th:block th:if="${i.index} == 1">
-									<th:block th:if="${delvAllCart != null and #lists.size(delvAllCart) > 0}">
-										<div class="goods_top">
-											<div class="goods_date">STYLE24 일반배송</div>
-										</div>
-									</th:block>
-								</th:block>
-								<th:block th:if="${i.index} == 2">
-									<th:block th:if="${delvAllCart != null and #lists.size(delvAllCart) > 0}">
-										<div class="goods_top">
-											<div class="goods_date">업체직배송</div>
-										</div>
-									</th:block>
-								</th:block>
-								<th:block th:if="${i.index} == 3">
-									<th:block th:if="${delvAllCart != null and #lists.size(delvAllCart) > 0}">
-										<div class="goods_top">
-											<div class="goods_date">예약배송</div>
-										</div>
-									</th:block>
-								</th:block>
-								<!-- 주문 접수 -->
-								<th:block th:each="goods, i : ${delvAllCart}">
-									<div class="goods_section">
-										<div class="goods_detail">
-											<a href="">
-												<div class="thumb_box">
-													<img src="/images/mo/thumb/tmp_pdClickother1.jpg" alt="tmp_pdClickother1">
-												</div>
-												<div class="info_box">
-													<div class="od_name">
-														<div class="brand"><span th:text="${goods.brandEnm} + ' ' + ${goods.brandKnm}"></span></div>
-														<div class="name" th:text="${goods.goodsNm}"></div>
-													</div>
-													<div class="od_opt" >
-														<div class="option" th:each="colorNm, index : ${goods.colorNmArr}">
-															<em th:text="${colorNm}"></em>
-															<em th:text="${goods.optCd2Arr[index.index]}"></em>
-														</div>
-													</div>
-													<div class="od_point">
-														<p class="point"><span th:text="${#numbers.formatInteger(goods.savePntAmt, 1, 'COMMA')}"></span>P 적립예정</p>
-													</div>
-												</div>
-											</a>
-										</div>
-										<div class="od_calc">
-											<p class="count">수량 <em th:text="${goods.goodsQty}"></em>개</p>
-											<p class="price">
-												<!-- 다다익선할인금액없으면 즉시할인가 까지만 표현 -->
-												<th:block th:if="${goods.tmtbDcAmt} < 1">
-													<span class="selling_price"><em th:text="${#numbers.formatInteger((goods.currPrice + goods.optAddPrice) * goods.goodsQty, 1, 'COMMA')}"></em>원</span>
-												</th:block>
-												<!-- 다다익선할인금액있으면 즉시할인가, 다다익선할인가 표현 -->
-												<th:block th:if="${goods.tmtbDcAmt} > 0">
-													<span class="sale_price"><del><em th:text="${#numbers.formatInteger((goods.currPrice + goods.optAddPrice) * goods.goodsQty, 1, 'COMMA')}"></em>원</del></span>
-													<span class="selling_price"><em th:text="${#numbers.formatInteger(goods.tmtbDcAmt, 1, 'COMMA')}"></em>원</span>
-												</th:block>
-
-											</p>
-										</div>
-										<th:block th:if="${goods.delvResDt}">
-											<p class="info_reserv">
-												<i class="ico ico_calender"></i><span th:text="${goods.delvResDt}"></span> 배송예정상품
-											</p>
-										</th:block>
-									</div>
-								</th:block>
-							</div>
-						</div>
-					</th:block>
-				</th:block>
-				
-				<div class="od_amount_box">
-					<dl>
-						<div>
-							<dt>상품금액</dt>
-							<dd><em id="orgGoodsSumAmt"></em>원</dd>
-						</div>
-						<div>
-							<dt>배송비</dt>
-							<dd><em id="delvSumAmt"></em>원</dd>
-						</div>
-						<div>
-							<dt>상품할인(즉시할인)</dt>
-							<dd>
-								<span class="disc_amount"><em id="cpn1DcSumAmt"></em>원</span>
-							</dd>
-						</div>
-						<div>
-							<dt>다다익선할인</dt>
-							<dd>
-								<span class="disc_amount"><em id="tmtbDcSumAmt"></em>원</span>
-							</dd>
-						</div>
-						<div>
-							<dt>쿠폰할인</dt>
-							<dd>
-								<span class="disc_amount"><em id="couponDcSumAmt"></em>원</span>
-							</dd>
-						</div>
-						<div>
-							<dt>선포인트 사용</dt>
-							<dd>
-								<span class="disc_amount"><em id="prePntDcAmt"></em>P</span>
-							</dd>
-						</div>
-						<div>
-							<dt>포인트 사용</dt>
-							<dd>
-								<span class="disc_amount"><em id="pntDcAmt"></em>P</span>
-							</dd>
-						</div>
-						<div>
-							<dt>상품권 사용</dt>
-							<dd>
-								<span class="disc_amount"><em id="gfcdUseAmt"></em>원</span>
-							</dd>
-						</div>
-					</dl>
-				</div>
-				<div class="totalprice_box">
-					<dl>
-						<dt>총 결제 예정 금액</dt>
-						<dd data-weight="price" data-font="lato"><span id="savePntSumAmt"></span>원</dd>
-					</dl>
-					<p class="info_point"><span class="save_point" id="savePntSumAmt">P</span> 적립예정
-					</p>
-					<p class="info_delivery">총 <span id="delvFeeCdCnt" th:text="${delvFeeCdCnt}"></span>건으로 나뉘어 배송 예정</p>
-				</div>
-			</div> 
-		</li>
-	</ul>
-</div>
+<!DOCTYPE html>
+<html lang="ko" xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : OrderCustemerInfoWeb.html
+ * @desc    : 고객정보 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.02.01   jsh77b     최초 작성
+ *******************************************************************************
+ -->
+<input type="hidden" name="delvFeeCdCnt" th:value="${delvFeeCdCnt}"/>
+<input type="hidden" name="shotCnt" th:value="${shotCnt}"/>
+<input type="hidden" name="wmsCnt" 	th:value="${wmsCnt}"/>
+
+<div class="foldGroup">
+	<ul>
+		<li class="fold_mbinfo">
+			<div class="fold_head">
+				<a href="javascript:void(0)">
+					<div>
+						<div class="fold_tit"><span>주문내역</span></div>
+						<div class="data"><em class="c_primary" th:text="${goodsTotCnt}"></em>개의 상품</div>
+					</div>
+				</a>
+			</div>
+			<div class="fold_cont" style="display: none;">
+				<div class="od_item_box">	
+					<th:block th:each="delvAllCart, i : ${delvAllCartList}">
+						<th:block th:if="${delvAllCart != null and #lists.size(delvAllCart) > 0}">
+							<div class="part_goods">
+								<th:block th:if="${i.index} == 0">
+									<th:block th:if="${delvAllCart != null and #lists.size(delvAllCart) > 0}">
+										<div class="goods_top">
+											<div class="goods_date">STYLE24 총알배송<span class="date">오늘 자정까지 도착</span></div>
+										</div>
+									</th:block>
+								</th:block>
+								<th:block th:if="${i.index} == 1">
+									<th:block th:if="${delvAllCart != null and #lists.size(delvAllCart) > 0}">
+										<div class="goods_top">
+											<div class="goods_date">STYLE24 일반배송</div>
+										</div>
+									</th:block>
+								</th:block>
+								<th:block th:if="${i.index} == 2">
+									<th:block th:if="${delvAllCart != null and #lists.size(delvAllCart) > 0}">
+										<div class="goods_top">
+											<div class="goods_date">업체직배송</div>
+										</div>
+									</th:block>
+								</th:block>
+								<th:block th:if="${i.index} == 3">
+									<th:block th:if="${delvAllCart != null and #lists.size(delvAllCart) > 0}">
+										<div class="goods_top">
+											<div class="goods_date">예약배송</div>
+										</div>
+									</th:block>
+								</th:block>
+								<!-- 주문 접수 -->
+								<th:block th:each="goods, i : ${delvAllCart}">
+									<div class="goods_section">
+										<div class="goods_detail">
+											<a href="">
+												<div class="thumb_box">
+													<img src="/images/mo/thumb/tmp_pdClickother1.jpg" alt="tmp_pdClickother1">
+												</div>
+												<div class="info_box">
+													<div class="od_name">
+														<div class="brand"><span th:text="${goods.brandEnm} + ' ' + ${goods.brandKnm}"></span></div>
+														<div class="name" th:text="${goods.goodsNm}"></div>
+													</div>
+													<div class="od_opt" >
+														<div class="option" th:each="colorNm, index : ${goods.colorNmArr}">
+															<em th:text="${colorNm}"></em>
+															<em th:text="${goods.optCd2Arr[index.index]}"></em>
+														</div>
+													</div>
+													<div class="od_point">
+														<p class="point"><span th:text="${#numbers.formatInteger(goods.savePntAmt, 1, 'COMMA')}"></span>P 적립예정</p>
+													</div>
+												</div>
+											</a>
+										</div>
+										<div class="od_calc">
+											<p class="count">수량 <em th:text="${goods.goodsQty}"></em>개</p>
+											<p class="price">
+												<!-- 다다익선할인금액없으면 즉시할인가 까지만 표현 -->
+												<th:block th:if="${goods.tmtbDcAmt} < 1">
+													<span class="selling_price"><em th:text="${#numbers.formatInteger((goods.currPrice + goods.optAddPrice) * goods.goodsQty, 1, 'COMMA')}"></em>원</span>
+												</th:block>
+												<!-- 다다익선할인금액있으면 즉시할인가, 다다익선할인가 표현 -->
+												<th:block th:if="${goods.tmtbDcAmt} > 0">
+													<span class="sale_price"><del><em th:text="${#numbers.formatInteger((goods.currPrice + goods.optAddPrice) * goods.goodsQty, 1, 'COMMA')}"></em>원</del></span>
+													<span class="selling_price"><em th:text="${#numbers.formatInteger(goods.tmtbDcAmt, 1, 'COMMA')}"></em>원</span>
+												</th:block>
+
+											</p>
+										</div>
+										<th:block th:if="${goods.delvResDt}">
+											<p class="info_reserv">
+												<i class="ico ico_calender"></i><span th:text="${goods.delvResDt}"></span> 배송예정상품
+											</p>
+										</th:block>
+									</div>
+								</th:block>
+							</div>
+						</div>
+					</th:block>
+				</th:block>
+				
+				<div class="od_amount_box">
+					<dl>
+						<div>
+							<dt>상품금액</dt>
+							<dd><em id="orgGoodsSumAmt"></em>원</dd>
+						</div>
+						<div>
+							<dt>배송비</dt>
+							<dd><em id="delvSumAmt"></em>원</dd>
+						</div>
+						<div>
+							<dt>상품할인(즉시할인)</dt>
+							<dd>
+								<span class="disc_amount"><em id="cpn1DcSumAmt"></em>원</span>
+							</dd>
+						</div>
+						<div>
+							<dt>다다익선할인</dt>
+							<dd>
+								<span class="disc_amount"><em id="tmtbDcSumAmt"></em>원</span>
+							</dd>
+						</div>
+						<div>
+							<dt>쿠폰할인</dt>
+							<dd>
+								<span class="disc_amount"><em id="couponDcSumAmt"></em>원</span>
+							</dd>
+						</div>
+						<div>
+							<dt>선포인트 사용</dt>
+							<dd>
+								<span class="disc_amount"><em id="prePntDcAmt"></em>P</span>
+							</dd>
+						</div>
+						<div>
+							<dt>포인트 사용</dt>
+							<dd>
+								<span class="disc_amount"><em id="pntDcAmt"></em>P</span>
+							</dd>
+						</div>
+						<div>
+							<dt>상품권 사용</dt>
+							<dd>
+								<span class="disc_amount"><em id="gfcdUseAmt"></em>원</span>
+							</dd>
+						</div>
+					</dl>
+				</div>
+				<div class="totalprice_box">
+					<dl>
+						<dt>총 결제 예정 금액</dt>
+						<dd data-weight="price" data-font="lato"><span id="savePntSumAmt"></span>원</dd>
+					</dl>
+					<p class="info_point"><span class="save_point" id="savePntSumAmt">P</span> 적립예정
+					</p>
+					<p class="info_delivery">총 <span id="delvFeeCdCnt" th:text="${delvFeeCdCnt}"></span>건으로 나뉘어 배송 예정</p>
+				</div>
+			</div> 
+		</li>
+	</ul>
+</div>

+ 71 - 71
src/main/webapp/WEB-INF/views/mob/order/OrderMadeInfoMob.html

@@ -1,71 +1,71 @@
-<!DOCTYPE html>
-<html lang="ko" xmlns:th="http://www.thymeleaf.org">
-<!--
- *******************************************************************************
- * @source  : OrderMadeInfoMob.html
- * @desc    : 주문제작상품동의여부 Page
- *============================================================================
- * STYLE24
- * Copyright(C) 2020 TSIT, All rights reserved.
- *============================================================================
- * VER  DATE         AUTHOR      DESCRIPTION
- * ===  ===========  ==========  =============================================
- * 1.0  2021.04.05   jsh77b     최초 작성
- *******************************************************************************
- -->
-<!-- 주문제작상품동의여부 -->
-<div class="foldGroup">
-	<ul>
-		<li>
-			<div class="fold_head">
-				<a href="javascript:void(0)">
-					<div>
-						<div class="fold_tit">
-							<span>주문제작상품동의</span>
-						</div>
-						<div class="data custom_disc">
-							<div class="form_field">
-								<input id="chk-custom" type="checkbox" checked=""> <label
-									for="chk-custom"><span>동의합니다.</span></label>
-							</div>
-						</div>
-					</div>
-				</a>
-			</div>
-			<div class="fold_cont">
-				<div class="area_customitem">
-					<p>고객님께서 주문하신 상품에는 주문제작상품이 포함되어 있습니다.</p>
-					<div class="form_field">
-						<div class="agree_custom">
-							<input id="chk-custom-agr1" type="checkbox" checked="">
-							<label for="chk-custom-agr1"><span>주문제작상품에 대한
-									안내를 확인하였으며 배송에 동의합니다.</span></label>
-						</div>
-					</div>
-					<div class="info_txt">
-						<ul>
-							<li>주문 제작 상품은 주문 후 제작이 진행되며, 제작 완료 후 배송이 시작됩니다.</li>
-							<li>주문 제작 상품의 특성상 주문 완료 후 취소/교환이 불가능합니다. (상품 하자에 한해 가능)</li>
-						</ul>
-					</div>
-				</div>
-			</div>
-		</li>
-	</ul>
-</div>
-<!-- //주문제작상품동의여부 -->
-				
-<script th:inline="javascript">
-var dispYn = [[${order.dispYn}]]; // 노출여부
-
-//컨텐츠 호출
-$(document).ready( function() {
-	// 화면펼침
-	if (dispYn == "Y") {
-		$("#custemerInfo .fold_head").addClass("on");
-		$("#custemerInfo .fold_cont").css("display", "block");
-	}
-});
-</script>
-
-</html>
+<!DOCTYPE html>
+<html lang="ko" xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : OrderMadeInfoMob.html
+ * @desc    : 주문제작상품동의여부 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.04.05   jsh77b     최초 작성
+ *******************************************************************************
+ -->
+<!-- 주문제작상품동의여부 -->
+<div class="foldGroup">
+	<ul>
+		<li>
+			<div class="fold_head">
+				<a href="javascript:void(0)">
+					<div>
+						<div class="fold_tit">
+							<span>주문제작상품동의</span>
+						</div>
+						<div class="data custom_disc">
+							<div class="form_field">
+								<input id="chk-custom" type="checkbox" checked=""> <label
+									for="chk-custom"><span>동의합니다.</span></label>
+							</div>
+						</div>
+					</div>
+				</a>
+			</div>
+			<div class="fold_cont">
+				<div class="area_customitem">
+					<p>고객님께서 주문하신 상품에는 주문제작상품이 포함되어 있습니다.</p>
+					<div class="form_field">
+						<div class="agree_custom">
+							<input id="chk-custom-agr1" type="checkbox" checked="">
+							<label for="chk-custom-agr1"><span>주문제작상품에 대한
+									안내를 확인하였으며 배송에 동의합니다.</span></label>
+						</div>
+					</div>
+					<div class="info_txt">
+						<ul>
+							<li>주문 제작 상품은 주문 후 제작이 진행되며, 제작 완료 후 배송이 시작됩니다.</li>
+							<li>주문 제작 상품의 특성상 주문 완료 후 취소/교환이 불가능합니다. (상품 하자에 한해 가능)</li>
+						</ul>
+					</div>
+				</div>
+			</div>
+		</li>
+	</ul>
+</div>
+<!-- //주문제작상품동의여부 -->
+				
+<script th:inline="javascript">
+var dispYn = [[${order.dispYn}]]; // 노출여부
+
+//컨텐츠 호출
+$(document).ready( function() {
+	// 화면펼침
+	if (dispYn == "Y") {
+		$("#custemerInfo .fold_head").addClass("on");
+		$("#custemerInfo .fold_cont").css("display", "block");
+	}
+});
+</script>
+
+</html>

+ 107 - 107
src/main/webapp/WEB-INF/views/mob/order/OrderPaymentInfoMob.html

@@ -1,108 +1,108 @@
-<!DOCTYPE html>
-<html lang="ko" xmlns:th="http://www.thymeleaf.org">
-<!--
- *******************************************************************************
- * @source  : OrderPaymentInfoWeb.html
- * @desc    : 결제정보 Page
- *============================================================================
- * STYLE24
- * Copyright(C) 2020 TSIT, All rights reserved.
- *============================================================================
- * VER  DATE         AUTHOR      DESCRIPTION
- * ===  ===========  ==========  =============================================
- * 1.0  2021.02.01   jsh77b     최초 작성
- *******************************************************************************
- -->
-<!-- 결제수단 선택 -->
-<div class="foldGroup">
-	<ul>
-		<li>
-			<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">
-				<div class="area_paymethod">
-					<div class="paymethod_box">
-						<div class="form_field">
-							<ul class="sel_method">
-								<li><input type="radio" name="rdi-paynormal"
-									id="payCreditCard" value=""> <label
-									for="payCreditCard"><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="payRealBank" value=""> <label for="payRealBank"><span>실시간계좌이체</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="payVirtualBank" value=""> <label
-									for="payVirtualBank"><span>무통장입금</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="payCellphone" value=""> <label
-									for="payCellphone"><span>휴대폰 결제</span></label></li>
-							</ul>
-						</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>
-								</label>
-								<p>
-									‘전자상거래 등에서의 소비자보호에 관한 법률‘에 따라 현금 결제 시 서울보증보험㈜가 제공하는 소비자
-									피해보상보험을<br>신청할 수 있도록 해드리고 있습니다. (2013.11.28부터 시행)
-								</p>
-								<a href="" class="btn btn_default"><span>FAQ확인</span></a>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>
-		</li>
-	</ul>
-</div><!-- //결제수단 선택 -->
-
-
-<script th:inline="javascript">
-var dispYn = [[${order.dispYn}]]; // 노출여부
-
-//화면노출
-var paymentInfoDispYn = function(temp) {
-	if (temp == "Y") {
-		$("#paymentInfo .fold_head").addClass("on");
-		$("#paymentInfo .fold_cont").show();
-	} else {
-		$("#paymentInfo .fold_head").removeClass("on");
-		$("#paymentInfo .fold_cont").hide();
-	}
-}
-
-//컨텐츠 호출
-$(document).ready( function() {
-	// 화면펼침
-	paymentInfoDispYn(dispYn);
-});
-
-
-</script>
-
+<!DOCTYPE html>
+<html lang="ko" xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : OrderPaymentInfoWeb.html
+ * @desc    : 결제정보 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.02.01   jsh77b     최초 작성
+ *******************************************************************************
+ -->
+<!-- 결제수단 선택 -->
+<div class="foldGroup">
+	<ul>
+		<li>
+			<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">
+				<div class="area_paymethod">
+					<div class="paymethod_box">
+						<div class="form_field">
+							<ul class="sel_method">
+								<li><input type="radio" name="rdi-paynormal"
+									id="payCreditCard" value=""> <label
+									for="payCreditCard"><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="payRealBank" value=""> <label for="payRealBank"><span>실시간계좌이체</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="payVirtualBank" value=""> <label
+									for="payVirtualBank"><span>무통장입금</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="payCellphone" value=""> <label
+									for="payCellphone"><span>휴대폰 결제</span></label></li>
+							</ul>
+						</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>
+								</label>
+								<p>
+									‘전자상거래 등에서의 소비자보호에 관한 법률‘에 따라 현금 결제 시 서울보증보험㈜가 제공하는 소비자
+									피해보상보험을<br>신청할 수 있도록 해드리고 있습니다. (2013.11.28부터 시행)
+								</p>
+								<a href="" class="btn btn_default"><span>FAQ확인</span></a>
+							</div>
+						</div>
+					</div>
+				</div>
+			</div>
+		</li>
+	</ul>
+</div><!-- //결제수단 선택 -->
+
+
+<script th:inline="javascript">
+var dispYn = [[${order.dispYn}]]; // 노출여부
+
+//화면노출
+var paymentInfoDispYn = function(temp) {
+	if (temp == "Y") {
+		$("#paymentInfo .fold_head").addClass("on");
+		$("#paymentInfo .fold_cont").show();
+	} else {
+		$("#paymentInfo .fold_head").removeClass("on");
+		$("#paymentInfo .fold_cont").hide();
+	}
+}
+
+//컨텐츠 호출
+$(document).ready( function() {
+	// 화면펼침
+	paymentInfoDispYn(dispYn);
+});
+
+
+</script>
+
 </html>

+ 280 - 280
src/main/webapp/WEB-INF/views/mob/popup/DelvAddrAddPopMob.html

@@ -1,280 +1,280 @@
-<form class="form_wrap form_full" name="deliveryAddForm" id="deliveryAddForm">
-	<div class="modal-header htop">
-		<h5 class="modal-title" id="adrsAddLabel">배송지 추가</h5>
-	</div>
-	<div class="modal-body">
-		<div class="pop_cont">
-			<div class="inner wide">
-				<div class="tbl_wrap">
-					<div class="tbl tbl_dlvr">
-						<table>
-							<colgroup>
-								<col width="*">
-							</colgroup>   
-							<tbody>
-								<tr>
-									<td>
-										<span class="sr-only">받는분</span>
-										<input type="text" class="form_control" name="recipNm" placeholder="받는분">
-									</td>
-								</tr>
-								<tr>
-									<td>
-										<span class="sr-only">휴대폰 번호</span>
-										<input type="text" class="form_control" name="recipPhnno" placeholder="휴대폰 번호">
-									</td>
-								</tr>
-								<tr>
-									<td>
-										<span class="sr-only">배송 주소</span>
-										<div class="input_wrap">
-											<input type="hidden" class="form_control" name="recipZipcode" placeholder="우편번호" readonly="readonly">
-											<input type="hidden" class="form_control" name="recipBaseAddr" placeholder="기본주소" readonly="readonly">
-											<input type="text" class="form_control" name="recipAddr" placeholder="배송주소" readonly="readonly">
-											<input type="text" class="form_control" name="recipDtlAddr" placeholder="상세주소">
-											<button type="button" class="btn btn_sch" onclick="fnOpenDaumAddr();">
-												<span class="sr-only">우편번호 찾기</span>
-											</button>
-										</div>
-										<div class="default_addrs">
-											<div class="form_field">
-												<input id="chk-default-addrs" type="checkbox" name="defaultYn" checked="">
-												<label for="chk-default-addrs"><span>기본 배송지로 등록</span></label>
-											</div>
-										</div>
-									</td>
-								</tr>
-							</tbody>
-						</table>
-					</div>
-				</div>
-				<div class="tbl_wrap">
-					<div class="tbl_tit">
-						<h3>배송 요청사항</h3>
-					</div>
-					<div class="tbl tbl_request">
-						<table>
-							<colgroup>
-								<col width="*">
-							</colgroup>   
-							<tbody>
-								<tr>
-									<th class="sr-only">문 앞</th>
-									<td>
-										<div class="form_field">
-											<input type="radio" name="rdi-request1" id="rdi-11" value="문 앞">
-											<label for="rdi-11"><span>문 앞</span></label>
-										</div>
-									</td>
-								</tr>
-								<tr>
-									<th class="sr-only">직접 받고 부재 시 문 앞</th>
-									<td>
-										<div class="form_field">
-											<input type="radio" name="rdi-request1" id="rdi-21" value="직접 받고 부재 시 문 앞">
-											<label for="rdi-21"><span>직접 받고 부재 시 문 앞</span></label>
-										</div>
-									</td>
-								</tr>
-								<tr>
-									<th class="sr-only">경비실</th>
-									<td>
-										<div class="form_field">
-											<input type="radio" name="rdi-request1" id="rdi-31" value="경비실">
-											<label for="rdi-31"><span>경비실</span></label>
-										</div>
-									</td>
-								</tr>
-								<tr>
-									<th class="sr-only">택배함</th>
-									<td>
-										<div class="form_field">
-											<input type="radio" name="rdi-request1" id="rdi-41" value="택배함">
-											<label for="rdi-41"><span>택배함</span></label>
-										</div>
-									</td>
-								</tr>
-								<tr>
-									<th class="sr-only">기타사항</th>
-									<td>
-										<div class="form_field">
-											<input type="radio" name="rdi-request1" id="rdi-51" value="기타사항">
-											<label for="rdi-51"><span>기타사항</span></label>
-										</div>
-									</td>
-								</tr>
-								<tr>
-									<th class="sr-only">보관 장소만 입력(필수)</th>
-									<td>
-										<div class="form_text">
-											<input type="text" name="delvMemoText" placeholder="보관 장소만 입력 (필수)" maxlength="30" disabled>
-											<p class="desc_txt">보관 장소 외 다른 내용 입력시 통보 없이 삭제 될 수 있습니다.</p>
-										</div>
-									</td>
-								</tr>
-							</tbody>
-						</table>
-					</div>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="modal-footer">
-		<button type="button" class="btn btn_dark" id="btn_delivery_addr_save"><span>배송지 등록</span></button>
-	</div>
-</form>
-
-<script th:inline="javascript">
-var isLogin				= [[${isLogin}]];				// 로그인여부
-
-//컨텐츠 호출
-$(document).ready( function() {
-	// 배송요청사항 버튼기능
-	$("#deliveryAddForm input[name=rdi-request1]").each(function(){
-		// 기타기능 버튼기능
-		$(this).on("click", function(){
-			var temp = $(this).parent().find('span').text();
-			$("#deliveryAddForm input[name=delvMemoText]").val("");
-			if (temp == "기타사항") {
-				$("#deliveryAddForm input[name=delvMemoText]").attr("disabled", false);
-			} else {
-				$("#deliveryAddForm input[name=delvMemoText]").attr("disabled", true);
-			}
-		});
-	});
-});
-
-// 배송지등록버튼
-$("#btn_delivery_addr_save").on("click", function(){
-	
-	// 유효성체크
-	if (!deliveryAddFormCheck()){
-		return false;
-	}
-	
-	// 기본배송지여부
-	var defaultYn = "N";
-	if ($("#deliveryAddForm input[name=defaultYn]").is(":checked")) {
-		defaultYn = "Y";
-	}
-	
-	// 기타사항일때 텍스트 등록
-	var delvMemo = $("#deliveryAddForm input[name=rdi-request1]:checked").parent().find('span').text();
-	if ("기타사항" == delvMemo) {
-		delvMemo = $("#deliveryAddForm input[name=delvMemoText]").val();
-	}
-	
-	// custDelvAddrSq 부모창으로 전달
-	var delvObj = {
-		"custDelvAddrSq"	: 0
-		, "dispYn"			: "Y"
-		, "defaultYn"		: defaultYn
-		, "recipNm"			: $("#deliveryAddForm input[name=recipNm]").val()
-		, "recipPhnno"		: $("#deliveryAddForm input[name=recipPhnno]").val()
-		, "recipZipcode"	: $("#deliveryAddForm input[name=recipZipcode]").val()
-		, "recipBaseAddr"	: $("#deliveryAddForm input[name=recipBaseAddr]").val()
-		, "recipDtlAddr"	: $("#deliveryAddForm input[name=recipDtlAddr]").val()
-		, "delvMemo"		: delvMemo
-	}
-	
-	// 비회원
-	if (isLogin == false) {
-		// 부모장으로 값 전닫
-		delvAddrSet(delvObj);
-		// 팝업닫기
-		$(".close-modal").trigger("click");
-		return false;
-	}
-	
-	var jsonData = JSON.stringify(delvObj);
-	
-	$.ajax( {
-		type		: "POST",
-		url 		: '/common/createCustDeliveryAddr',
-		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);
-		},
-		success 	: function(result) {
-			if (result != null) {
-				delvObj.custDelvAddrSq = result;
-				
-				// 부모장으로 값 전닫
-				delvAddrSet(delvObj);
-			}
-			
-			// 팝업닫기
-			$(".close-modal").trigger("click");
-		}
-	});
-});
-
-// 유효성체크 함수
-var deliveryAddFormCheck = function() {
-	// TODO 유효성 체크 추가
-	if (gagajf.isNull($("#deliveryAddForm input[name=recipNm]").val())) {
-		mcxDialog.alert("이름을 입력해주세요.");
-		$('#deliveryAddForm input[name=custNm]').focus();
-		return false;
-	}
-	
-	if (gagajf.isNull($("#deliveryAddForm input[name=recipPhnno]").val())) {
-		mcxDialog.alert("휴대폰번호를 입력해주세요.");
-		$('#deliveryAddForm input[name=recipPhnno]').focus();
-		return false;
-	}
-	
-	if (gagajf.isNull($("#deliveryAddForm input[name=recipZipcode]").val())) {
-		mcxDialog.alert("배송주소를 입력해주세요.");
-		$('#deliveryAddForm input[name=recipAddr]').focus();
-		return false;
-	}
-	
-	if (gagajf.isNull($("#deliveryAddForm input[name=recipBaseAddr]").val())) {
-		mcxDialog.alert("배송주소를 입력해주세요.");
-		$('#deliveryAddForm input[name=recipAddr]').focus();
-		return false;
-	}
-	
-	if (gagajf.isNull($("#deliveryAddForm input[name=recipDtlAddr]").val())) {
-		mcxDialog.alert("상세주소를 입력해주세요.");
-		$('#deliveryAddForm input[name=recipDtlAddr]').focus();
-		return false;
-	}
-	
-	return true;
-}
-
-// 우편번호 DAUM을 이용한 우편번호 팝업 레이어
-var fnOpenDaumAddr = function() {
-	$("body").css("overflow", "hidden");
-	
-	let daumZip = new daum.Postcode({
-		oncomplete: function(data) {
-			$('#deliveryAddForm input[name=recipAddr]').val(data.zonecode + '    ' + cfnGetDaumRoadAddr(data));
-			$('#deliveryAddForm input[name=recipZipcode]').val(data.zonecode);
-			$('#deliveryAddForm input[name=recipBaseAddr]').val(cfnGetDaumRoadAddr(data));
-			$('#deliveryAddForm input[name=recipDtlAddr]').focus();
-			
-			cfnCloseDaumAddr();
-			
-			$("#adrsAddPop").modal("show");
-		},
-		width: '100%'
-	});
-	cfnOpenDaumAddr(daumZip);
-}
-</script>
-
-
-
-
-
-
-
-
-
+<form class="form_wrap form_full" name="deliveryAddForm" id="deliveryAddForm">
+	<div class="modal-header htop">
+		<h5 class="modal-title" id="adrsAddLabel">배송지 추가</h5>
+	</div>
+	<div class="modal-body">
+		<div class="pop_cont">
+			<div class="inner wide">
+				<div class="tbl_wrap">
+					<div class="tbl tbl_dlvr">
+						<table>
+							<colgroup>
+								<col width="*">
+							</colgroup>   
+							<tbody>
+								<tr>
+									<td>
+										<span class="sr-only">받는분</span>
+										<input type="text" class="form_control" name="recipNm" placeholder="받는분">
+									</td>
+								</tr>
+								<tr>
+									<td>
+										<span class="sr-only">휴대폰 번호</span>
+										<input type="text" class="form_control" name="recipPhnno" placeholder="휴대폰 번호">
+									</td>
+								</tr>
+								<tr>
+									<td>
+										<span class="sr-only">배송 주소</span>
+										<div class="input_wrap">
+											<input type="hidden" class="form_control" name="recipZipcode" placeholder="우편번호" readonly="readonly">
+											<input type="hidden" class="form_control" name="recipBaseAddr" placeholder="기본주소" readonly="readonly">
+											<input type="text" class="form_control" name="recipAddr" placeholder="배송주소" readonly="readonly">
+											<input type="text" class="form_control" name="recipDtlAddr" placeholder="상세주소">
+											<button type="button" class="btn btn_sch" onclick="fnOpenDaumAddr();">
+												<span class="sr-only">우편번호 찾기</span>
+											</button>
+										</div>
+										<div class="default_addrs">
+											<div class="form_field">
+												<input id="chk-default-addrs" type="checkbox" name="defaultYn" checked="">
+												<label for="chk-default-addrs"><span>기본 배송지로 등록</span></label>
+											</div>
+										</div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<div class="tbl_wrap">
+					<div class="tbl_tit">
+						<h3>배송 요청사항</h3>
+					</div>
+					<div class="tbl tbl_request">
+						<table>
+							<colgroup>
+								<col width="*">
+							</colgroup>   
+							<tbody>
+								<tr>
+									<th class="sr-only">문 앞</th>
+									<td>
+										<div class="form_field">
+											<input type="radio" name="rdi-request1" id="rdi-11" value="문 앞">
+											<label for="rdi-11"><span>문 앞</span></label>
+										</div>
+									</td>
+								</tr>
+								<tr>
+									<th class="sr-only">직접 받고 부재 시 문 앞</th>
+									<td>
+										<div class="form_field">
+											<input type="radio" name="rdi-request1" id="rdi-21" value="직접 받고 부재 시 문 앞">
+											<label for="rdi-21"><span>직접 받고 부재 시 문 앞</span></label>
+										</div>
+									</td>
+								</tr>
+								<tr>
+									<th class="sr-only">경비실</th>
+									<td>
+										<div class="form_field">
+											<input type="radio" name="rdi-request1" id="rdi-31" value="경비실">
+											<label for="rdi-31"><span>경비실</span></label>
+										</div>
+									</td>
+								</tr>
+								<tr>
+									<th class="sr-only">택배함</th>
+									<td>
+										<div class="form_field">
+											<input type="radio" name="rdi-request1" id="rdi-41" value="택배함">
+											<label for="rdi-41"><span>택배함</span></label>
+										</div>
+									</td>
+								</tr>
+								<tr>
+									<th class="sr-only">기타사항</th>
+									<td>
+										<div class="form_field">
+											<input type="radio" name="rdi-request1" id="rdi-51" value="기타사항">
+											<label for="rdi-51"><span>기타사항</span></label>
+										</div>
+									</td>
+								</tr>
+								<tr>
+									<th class="sr-only">보관 장소만 입력(필수)</th>
+									<td>
+										<div class="form_text">
+											<input type="text" name="delvMemoText" placeholder="보관 장소만 입력 (필수)" maxlength="30" disabled>
+											<p class="desc_txt">보관 장소 외 다른 내용 입력시 통보 없이 삭제 될 수 있습니다.</p>
+										</div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="modal-footer">
+		<button type="button" class="btn btn_dark" id="btn_delivery_addr_save"><span>배송지 등록</span></button>
+	</div>
+</form>
+
+<script th:inline="javascript">
+var isLogin				= [[${isLogin}]];				// 로그인여부
+
+//컨텐츠 호출
+$(document).ready( function() {
+	// 배송요청사항 버튼기능
+	$("#deliveryAddForm input[name=rdi-request1]").each(function(){
+		// 기타기능 버튼기능
+		$(this).on("click", function(){
+			var temp = $(this).parent().find('span').text();
+			$("#deliveryAddForm input[name=delvMemoText]").val("");
+			if (temp == "기타사항") {
+				$("#deliveryAddForm input[name=delvMemoText]").attr("disabled", false);
+			} else {
+				$("#deliveryAddForm input[name=delvMemoText]").attr("disabled", true);
+			}
+		});
+	});
+});
+
+// 배송지등록버튼
+$("#btn_delivery_addr_save").on("click", function(){
+	
+	// 유효성체크
+	if (!deliveryAddFormCheck()){
+		return false;
+	}
+	
+	// 기본배송지여부
+	var defaultYn = "N";
+	if ($("#deliveryAddForm input[name=defaultYn]").is(":checked")) {
+		defaultYn = "Y";
+	}
+	
+	// 기타사항일때 텍스트 등록
+	var delvMemo = $("#deliveryAddForm input[name=rdi-request1]:checked").parent().find('span').text();
+	if ("기타사항" == delvMemo) {
+		delvMemo = $("#deliveryAddForm input[name=delvMemoText]").val();
+	}
+	
+	// custDelvAddrSq 부모창으로 전달
+	var delvObj = {
+		"custDelvAddrSq"	: 0
+		, "dispYn"			: "Y"
+		, "defaultYn"		: defaultYn
+		, "recipNm"			: $("#deliveryAddForm input[name=recipNm]").val()
+		, "recipPhnno"		: $("#deliveryAddForm input[name=recipPhnno]").val()
+		, "recipZipcode"	: $("#deliveryAddForm input[name=recipZipcode]").val()
+		, "recipBaseAddr"	: $("#deliveryAddForm input[name=recipBaseAddr]").val()
+		, "recipDtlAddr"	: $("#deliveryAddForm input[name=recipDtlAddr]").val()
+		, "delvMemo"		: delvMemo
+	}
+	
+	// 비회원
+	if (isLogin == false) {
+		// 부모장으로 값 전닫
+		delvAddrSet(delvObj);
+		// 팝업닫기
+		$(".close-modal").trigger("click");
+		return false;
+	}
+	
+	var jsonData = JSON.stringify(delvObj);
+	
+	$.ajax( {
+		type		: "POST",
+		url 		: '/common/createCustDeliveryAddr',
+		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);
+		},
+		success 	: function(result) {
+			if (result != null) {
+				delvObj.custDelvAddrSq = result;
+				
+				// 부모장으로 값 전닫
+				delvAddrSet(delvObj);
+			}
+			
+			// 팝업닫기
+			$(".close-modal").trigger("click");
+		}
+	});
+});
+
+// 유효성체크 함수
+var deliveryAddFormCheck = function() {
+	// TODO 유효성 체크 추가
+	if (gagajf.isNull($("#deliveryAddForm input[name=recipNm]").val())) {
+		mcxDialog.alert("이름을 입력해주세요.");
+		$('#deliveryAddForm input[name=custNm]').focus();
+		return false;
+	}
+	
+	if (gagajf.isNull($("#deliveryAddForm input[name=recipPhnno]").val())) {
+		mcxDialog.alert("휴대폰번호를 입력해주세요.");
+		$('#deliveryAddForm input[name=recipPhnno]').focus();
+		return false;
+	}
+	
+	if (gagajf.isNull($("#deliveryAddForm input[name=recipZipcode]").val())) {
+		mcxDialog.alert("배송주소를 입력해주세요.");
+		$('#deliveryAddForm input[name=recipAddr]').focus();
+		return false;
+	}
+	
+	if (gagajf.isNull($("#deliveryAddForm input[name=recipBaseAddr]").val())) {
+		mcxDialog.alert("배송주소를 입력해주세요.");
+		$('#deliveryAddForm input[name=recipAddr]').focus();
+		return false;
+	}
+	
+	if (gagajf.isNull($("#deliveryAddForm input[name=recipDtlAddr]").val())) {
+		mcxDialog.alert("상세주소를 입력해주세요.");
+		$('#deliveryAddForm input[name=recipDtlAddr]').focus();
+		return false;
+	}
+	
+	return true;
+}
+
+// 우편번호 DAUM을 이용한 우편번호 팝업 레이어
+var fnOpenDaumAddr = function() {
+	$("body").css("overflow", "hidden");
+	
+	let daumZip = new daum.Postcode({
+		oncomplete: function(data) {
+			$('#deliveryAddForm input[name=recipAddr]').val(data.zonecode + '    ' + cfnGetDaumRoadAddr(data));
+			$('#deliveryAddForm input[name=recipZipcode]').val(data.zonecode);
+			$('#deliveryAddForm input[name=recipBaseAddr]').val(cfnGetDaumRoadAddr(data));
+			$('#deliveryAddForm input[name=recipDtlAddr]').focus();
+			
+			cfnCloseDaumAddr();
+			
+			$("#adrsAddPop").modal("show");
+		},
+		width: '100%'
+	});
+	cfnOpenDaumAddr(daumZip);
+}
+</script>
+
+
+
+
+
+
+
+
+

+ 146 - 146
src/main/webapp/WEB-INF/views/mob/popup/DelvAddrChangePopMob.html

@@ -1,146 +1,146 @@
-<!-- 배송지변경 팝업 -->
-<form name="delvAddrChangeForm" id="delvAddrChangeForm">
-	<div class="modal-header htop">
-		<h5 class="modal-title" id="adrsChangeLabel">배송지 관리</h5>
-	</div>
-	<div class="modal-body">
-		<div class="pop_cont">
-			<div class="inner wide">
-				<div class="delivery_list">
-					<!-- 배송지목록 -->
-					<th:block th:each="deliveryAddr, index : ${deliveryAddrList}">
-						<div class="ship_info">
-							<dl>
-								<div class="name">
-									<dt><span class="sr-only">배송지명</span></dt>
-									<dd>
-										<th:block th:text="${deliveryAddr.recipNm}"></th:block>
-										<div class="badge_wrap">
-											<th:block th:if="${deliveryAddr.defaultYn} == 'Y'">
-												<em class="order_badge">기본배송지</em> 
-											</th:block>
-											<th:block th:if="${deliveryAddr.shotDelvUseYn} == 'Y'">
-												<em class="order_badge order_bullet_badge">총알배송</em>
-											</th:block>
-										</div>
-									</dd>
-								</div>
-								<div class="phone">
-									<dt><span class="sr-only">휴대폰 번호</span></dt>
-									<dd th:text="${deliveryAddr.recipPhnno}"></dd>
-								</div>
-								<div class="addr">
-									<dt><span class="sr-only">배송주소</span></dt>
-									<dd th:text="${deliveryAddr.recipBaseAddr} + ' ' + ${deliveryAddr.recipDtlAddr}"></dd>
-								</div>
-								<div class="ship_request">
-									<dl>
-										<dt>배송요청 사항</dt>
-										<dd th:text="${deliveryAddr.delvMemo}"></dd>
-									</dl>
-								</div>
-							</dl>
-							<div class="btn_group btn_group_flex">
-								<div><button type="button" class="btn btn_gost btn_addrModify_pop" th:value="${deliveryAddr.custDelvAddrSq}" id="btn_addrModify_pop"><span>수정</span></button></div>
-								<div><button type="button" class="btn btn_dark btn_sel_delvAddr" th:value="${deliveryAddr.custDelvAddrSq}"><span>선택</span></button></div>
-							</div>
-							
-							<input type="hidden" name="recipNm" 			th:value="${deliveryAddr.recipNm}"/>
-							<input type="hidden" name="recipPhnno" 			th:value="${deliveryAddr.recipPhnno}"/>
-							<input type="hidden" name="recipZipcode" 		th:value="${deliveryAddr.recipZipcode}"/>
-							<input type="hidden" name="recipBaseAddr" 		th:value="${deliveryAddr.recipBaseAddr}"/>
-							<input type="hidden" name="recipDtlAddr" 		th:value="${deliveryAddr.recipDtlAddr}"/>
-							<input type="hidden" name="delvMemo" 			th:value="${deliveryAddr.delvMemo}"/>
-						</div>
-					</th:block>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="modal-footer">
-		<button type="button" class="btn btn_dark" id="btn_adrsAdd_pop">
-			<span>배송지 추가</span>
-		</button>
-	</div>
-</form>
-
-<script th:inline="javascript">
-//컨텐츠 호출
-$(document).ready( function() {
-});
-
-// 2. 버튼기능구현
-// 2.1 배송지선택버튼
-$(".btn_sel_delvAddr").on("click", function(){
-	
-	// custDelvAddrSq 부모창으로 전달
-	var delvObj = {
-		"custDelvAddrSq"	: $(this).attr("value")
-		, "dispYn"			: "Y"
-		, "recipNm"			: $(this).parent().find("input[name=recipNm]").val()
-		, "recipPhnno"		: $(this).parent().find("input[name=recipPhnno]").val()
-		, "recipZipcode"	: $(this).parent().find("input[name=recipZipcode]").val()
-		, "recipBaseAddr"	: $(this).parent().find("input[name=recipBaseAddr]").val()
-		, "recipDtlAddr"	: $(this).parent().find("input[name=recipDtlAddr]").val()
-		, "delvMemo"		: $(this).parent().find("input[name=delvMemo]").val()
-	}
-	
-	// 부모장으로 값 전닫
-	deliveryAddrInfoSet(delvObj);
-	
-	// 팝업닫기
-	$(".close-modal").trigger("click");
-});
-
-// 2.2 배송지수정버튼
-$(".btn_addrModify_pop").on("click", function(){
-		
-	var obj = {
-		"custDelvAddrSq" : $(this).attr("value")
-	} 
-	
-	$.ajax( {
-		type		: "POST",
-		url 		: '/common/delvAddrModifyPop',
-		data		: JSON.stringify(obj),
-		dataType 	: 'html',
-		beforeSend : function(xhr, settings) {
-			xhr.setRequestHeader("AJAX"			, "true");
-			xhr.setRequestHeader('Accept'		, 'application/json');
-			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
-		},
-		success 	: function(result) {
-			$("#adrsModifyPop .modal-dialog .modal-content").html(result);
-			$("#adrsModifyPop").modal("show");
-		}
-	});	
-});
-
-
-// 2.3 배송지추가 팝업열기
-$('#btn_adrsAdd_pop').on("click", function(){
-	$.ajax( {
-		type		: "POST",
-		url 		: '/common/delvAddrAddPop',
-		data		: JSON.stringify(jsonObj),
-		dataType 	: 'html',
-		beforeSend : function(xhr, settings) {
-			xhr.setRequestHeader("AJAX"			, "true");
-			xhr.setRequestHeader('Accept'		, 'application/json');
-			xhr.setRequestHeader('Content-Type'	, 'application/json');
-			gagajf.showProgressbar(true);
-		},
-		success 	: function(result) {
-			$("#adrsAddPop .modal-dialog .modal-content").html(result);
-			$("#adrsAddPop").modal("show");
-		}
-	});	
-});
-
-
-
-
-
-
-</script>
+<!-- 배송지변경 팝업 -->
+<form name="delvAddrChangeForm" id="delvAddrChangeForm">
+	<div class="modal-header htop">
+		<h5 class="modal-title" id="adrsChangeLabel">배송지 관리</h5>
+	</div>
+	<div class="modal-body">
+		<div class="pop_cont">
+			<div class="inner wide">
+				<div class="delivery_list">
+					<!-- 배송지목록 -->
+					<th:block th:each="deliveryAddr, index : ${deliveryAddrList}">
+						<div class="ship_info">
+							<dl>
+								<div class="name">
+									<dt><span class="sr-only">배송지명</span></dt>
+									<dd>
+										<th:block th:text="${deliveryAddr.recipNm}"></th:block>
+										<div class="badge_wrap">
+											<th:block th:if="${deliveryAddr.defaultYn} == 'Y'">
+												<em class="order_badge">기본배송지</em> 
+											</th:block>
+											<th:block th:if="${deliveryAddr.shotDelvUseYn} == 'Y'">
+												<em class="order_badge order_bullet_badge">총알배송</em>
+											</th:block>
+										</div>
+									</dd>
+								</div>
+								<div class="phone">
+									<dt><span class="sr-only">휴대폰 번호</span></dt>
+									<dd th:text="${deliveryAddr.recipPhnno}"></dd>
+								</div>
+								<div class="addr">
+									<dt><span class="sr-only">배송주소</span></dt>
+									<dd th:text="${deliveryAddr.recipBaseAddr} + ' ' + ${deliveryAddr.recipDtlAddr}"></dd>
+								</div>
+								<div class="ship_request">
+									<dl>
+										<dt>배송요청 사항</dt>
+										<dd th:text="${deliveryAddr.delvMemo}"></dd>
+									</dl>
+								</div>
+							</dl>
+							<div class="btn_group btn_group_flex">
+								<div><button type="button" class="btn btn_gost btn_addrModify_pop" th:value="${deliveryAddr.custDelvAddrSq}" id="btn_addrModify_pop"><span>수정</span></button></div>
+								<div><button type="button" class="btn btn_dark btn_sel_delvAddr" th:value="${deliveryAddr.custDelvAddrSq}"><span>선택</span></button></div>
+							</div>
+							
+							<input type="hidden" name="recipNm" 			th:value="${deliveryAddr.recipNm}"/>
+							<input type="hidden" name="recipPhnno" 			th:value="${deliveryAddr.recipPhnno}"/>
+							<input type="hidden" name="recipZipcode" 		th:value="${deliveryAddr.recipZipcode}"/>
+							<input type="hidden" name="recipBaseAddr" 		th:value="${deliveryAddr.recipBaseAddr}"/>
+							<input type="hidden" name="recipDtlAddr" 		th:value="${deliveryAddr.recipDtlAddr}"/>
+							<input type="hidden" name="delvMemo" 			th:value="${deliveryAddr.delvMemo}"/>
+						</div>
+					</th:block>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="modal-footer">
+		<button type="button" class="btn btn_dark" id="btn_adrsAdd_pop">
+			<span>배송지 추가</span>
+		</button>
+	</div>
+</form>
+
+<script th:inline="javascript">
+//컨텐츠 호출
+$(document).ready( function() {
+});
+
+// 2. 버튼기능구현
+// 2.1 배송지선택버튼
+$(".btn_sel_delvAddr").on("click", function(){
+	
+	// custDelvAddrSq 부모창으로 전달
+	var delvObj = {
+		"custDelvAddrSq"	: $(this).attr("value")
+		, "dispYn"			: "Y"
+		, "recipNm"			: $(this).parent().find("input[name=recipNm]").val()
+		, "recipPhnno"		: $(this).parent().find("input[name=recipPhnno]").val()
+		, "recipZipcode"	: $(this).parent().find("input[name=recipZipcode]").val()
+		, "recipBaseAddr"	: $(this).parent().find("input[name=recipBaseAddr]").val()
+		, "recipDtlAddr"	: $(this).parent().find("input[name=recipDtlAddr]").val()
+		, "delvMemo"		: $(this).parent().find("input[name=delvMemo]").val()
+	}
+	
+	// 부모장으로 값 전닫
+	deliveryAddrInfoSet(delvObj);
+	
+	// 팝업닫기
+	$(".close-modal").trigger("click");
+});
+
+// 2.2 배송지수정버튼
+$(".btn_addrModify_pop").on("click", function(){
+		
+	var obj = {
+		"custDelvAddrSq" : $(this).attr("value")
+	} 
+	
+	$.ajax( {
+		type		: "POST",
+		url 		: '/common/delvAddrModifyPop',
+		data		: JSON.stringify(obj),
+		dataType 	: 'html',
+		beforeSend : function(xhr, settings) {
+			xhr.setRequestHeader("AJAX"			, "true");
+			xhr.setRequestHeader('Accept'		, 'application/json');
+			xhr.setRequestHeader('Content-Type'	, 'application/json');
+			gagajf.showProgressbar(true);
+		},
+		success 	: function(result) {
+			$("#adrsModifyPop .modal-dialog .modal-content").html(result);
+			$("#adrsModifyPop").modal("show");
+		}
+	});	
+});
+
+
+// 2.3 배송지추가 팝업열기
+$('#btn_adrsAdd_pop').on("click", function(){
+	$.ajax( {
+		type		: "POST",
+		url 		: '/common/delvAddrAddPop',
+		data		: JSON.stringify(jsonObj),
+		dataType 	: 'html',
+		beforeSend : function(xhr, settings) {
+			xhr.setRequestHeader("AJAX"			, "true");
+			xhr.setRequestHeader('Accept'		, 'application/json');
+			xhr.setRequestHeader('Content-Type'	, 'application/json');
+			gagajf.showProgressbar(true);
+		},
+		success 	: function(result) {
+			$("#adrsAddPop .modal-dialog .modal-content").html(result);
+			$("#adrsAddPop").modal("show");
+		}
+	});	
+});
+
+
+
+
+
+
+</script>

+ 295 - 295
src/main/webapp/WEB-INF/views/mob/popup/DelvAddrModifyPopMob.html

@@ -1,295 +1,295 @@
-<form name="deliveryModifyForm" id="deliveryModifyForm">
-	<input type="hidden" class="form_control" name="custDelvAddrSq" th:value="${deliveryAddrInfo.custDelvAddrSq}">
-	
-	<div class="modal-header htop">
-		<h5 class="modal-title" id="adrsModifyLabel">배송지 수정</h5>
-	</div>
-	<div class="modal-body">
-		<div class="pop_cont">
-			<div class="inner wide">
-				<div class="tbl_wrap">
-					<div class="tbl tbl_dlvr">
-						<table>
-							<colgroup>
-								<col width="*">
-							</colgroup>
-							<tbody>
-								<tr>
-									<td>
-										<span class="sr-only">받는분</span>
-										<input type="text"class="form_control" name="recipNm" placeholder="받는분" th:value="${deliveryAddrInfo.recipNm}">
-									</td>
-								</tr>
-								<tr>
-									<td>
-										<span class="sr-only">휴대폰 번호</span>
-										<input type="text" class="form_control" name="recipPhnno" placeholder="휴대폰 번호" th:value="${deliveryAddrInfo.recipPhnno}">
-									</td>
-								</tr>
-								<tr>
-									<td>
-										<span class="sr-only">배송 주소</span>
-										<div class="input_wrap">
-											<input type="hidden" name="recipZipcode" placeholder="우편번호" th:value="${deliveryAddrInfo.recipZipcode}" readonly="readonly">
-											<input type="hidden" class="form_control" name="recipBaseAddr" placeholder="기본주소"th:value="${deliveryAddrInfo.recipBaseAddr}" readonly="readonly">
-							
-											<input type="text" class="form_control" placeholder="배송주소" name="recipAddr" th:value="${deliveryAddrInfo.recipZipcode} + '    '+ ${deliveryAddrInfo.recipBaseAddr}" readonly="readonly">
-											<input type="text" class="form_control" placeholder="상세주소" name="recipDtlAddr" th:value="${deliveryAddrInfo.recipDtlAddr}">
-											<button type="button" class="btn btn_sch" onclick="fnOpenDaumAddr();">
-												<span class="sr-only">우편번호 찾기</span>
-											</button>
-										</div>
-										<div class="default_addrs">
-											<div class="form_field">
-												<th:block th:if="${deliveryAddrInfo.defaultYn} == 'Y'">
-													<input id="chk-default-addrs" type="checkbox" name="defaultYn" checked>
-												</th:block>
-												<th:block th:if="${deliveryAddrInfo.defaultYn} == 'N'">
-													<input id="chk-default-addrs" type="checkbox" name="defaultYn">
-												</th:block>
-												<label for="chk-default-addrs"><span>기본배송지로 등록</span></label>
-											</div>
-										</div>
-									</td>
-								</tr>
-							</tbody>
-						</table>
-					</div>
-				</div>
-				<div class="tbl_wrap">
-					<div class="tbl_tit">
-						<h3>배송 요청사항</h3>
-					</div>
-					<div class="tbl tbl_request">
-						<table>
-							<colgroup>
-								<col width="*">
-							</colgroup>
-							<tbody>
-								<tr>
-									<th class="sr-only">문 앞</th>
-									<td>
-										<div class="form_field">
-											<input type="radio" name="rdi-request1" id="rdi-1" value="문 앞">
-											<label for="rdi-1"><span>문 앞</span></label>
-										</div>
-									</td>
-								</tr>
-								<tr>
-									<th class="sr-only">직접 받고 부재 시 문 앞</th>
-									<td>
-										<div class="form_field">
-											<input type="radio" name="rdi-request1" id="rdi-2" value="직접 받고 부재 시 문 앞">
-											<label for="rdi-2"><span>직접 받고 부재 시 문 앞</span></label>
-										</div>
-									</td>
-								</tr>
-								<tr>
-									<th class="sr-only">경비실</th>
-									<td>
-										<div class="form_field">
-											<input type="radio" name="rdi-request1" id="rdi-3" value="경비실"><label
-												for="rdi-3"><span>경비실</span></label>
-										</div>
-									</td>
-								</tr>
-								<tr>
-									<th class="sr-only">택배함</th>
-									<td>
-										<div class="form_field">
-											<input type="radio" name="rdi-request1" id="rdi-4" value="택배함">
-											<label for="rdi-4"><span>택배함</span></label>
-										</div>
-									</td>
-								</tr>
-								<tr>
-									<th class="sr-only">기타사항</th>
-									<td>
-										<div class="form_field">
-											<input type="radio" name="rdi-request1" id="rdi-5" value="5">
-											<label for="rdi-5"><span>기타사항</span></label>
-										</div>
-									</td>
-								</tr>
-								<tr>
-									<th class="sr-only">보관 장소만 입력(필수)</th>
-									<td>
-										<div class="form_text">
-											<input type="text" name="delvMemoText"  placeholder="보관 장소만 입력 (필수)" maxlength="30" disabled>
-											<p class="desc_txt">보관 장소 외 다른 내용 입력시 통보 없이 삭제 될 수 있습니다.</p>
-										</div>
-									</td>
-								</tr>
-							</tbody>
-						</table>
-					</div>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="modal-footer">
-		<button type="button" class="btn btn_dark" id="btn_delivery_modi_save"><span>배송지 등록</span></button>
-	</div>
-</form>
-
-<script th:inline="javascript">
-var delvMemo = [[${deliveryAddrInfo.delvMemo}]];
-//컨텐츠 호출
-$(document).ready( function() {
-	
-	var delvMemoArr = ["문 앞", "직접받고 부재시 문 앞", "경비실", "택배함"];
-	var tempMemo = true;
-	
-	// 배송요청사항설정
-	for (i=0 ; i<delvMemoArr.length ; i++) {
-		if (delvMemoArr[i] == delvMemo) {
-			tempMemo = false;
-		}
-	}
-	
-	if (tempMemo) {
-		$("#deliveryModifyForm input[name=rdi-request1]").eq(4).attr("checked", true);
-		$("#deliveryModifyForm input[name=delvMemoText]").attr("disabled", false);
-		$("#deliveryModifyForm input[name=delvMemoText]").val(delvMemo);
-	}
-	
-	$("#deliveryModifyForm input[name=rdi-request1]").each(function(){
-		var temp = $(this).parent().find('span').text();
-		if (delvMemo == temp) {
-			$(this).attr("checked", true);
-		}
-	});
-	
-	// 배송요청사항 버튼기능
-	$("#deliveryModifyForm input[name=rdi-request1]").each(function(){
-		// 버튼기능
-		$(this).on("click", function(){
-			var temp = $(this).parent().find('span').text();
-			$("#deliveryModifyForm input[name=delvMemoText]").val("");
-			if (temp == "기타사항") {
-				$("#deliveryModifyForm input[name=delvMemoText]").attr("disabled", false);
-			} else {
-				$("#deliveryModifyForm input[name=delvMemoText]").attr("disabled", true);
-			}
-		});
-	});
-});
-
-// 배송지등록버튼
-$("#btn_delivery_modi_save").on("click", function(){
-	
-	// 유효성체크
-	if (!deliveryModifyFormCheck()){
-		return false;
-	}
-	
-	// 기본배송지여부
-	var defaultYn = "N";
-	if ($("#deliveryModifyForm input[name=defaultYn]").is(":checked")) {
-		defaultYn = "Y";
-	}
-	
-	// 기타사항일때 텍스트 등록
-	var delvMemo = $("#deliveryModifyForm input[name=rdi-request1]:checked").parent().find('span').text();
-	if ("기타사항" == delvMemo) {
-		delvMemo = $("#deliveryModifyForm input[name=delvMemoText]").val();
-	}
-	
-	// 배송지정보설정
-	var jsonObj = {
-		"defaultYn"			: defaultYn
-		, "custDelvAddrSq"	: parseInt($("#deliveryModifyForm input[name=custDelvAddrSq]").val())
-		, "recipNm"			: $("#deliveryModifyForm input[name=recipNm]").val()
-		, "recipPhnno"		: $("#deliveryModifyForm input[name=recipPhnno]").val()
-		, "recipZipcode"	: $("#deliveryModifyForm input[name=recipZipcode]").val()
-		, "recipBaseAddr"	: $("#deliveryModifyForm input[name=recipBaseAddr]").val()
-		, "recipDtlAddr"	: $("#deliveryModifyForm input[name=recipDtlAddr]").val()
-		, "delvMemo"		: delvMemo
-	}
-	
-	var jsonData = JSON.stringify(jsonObj);
-	
-	$.ajax( {
-		type		: "POST",
-		url 		: '/common/updateCustDeliveryAddr',
-		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);
-		},
-		success 	: function(result) {
-			// custDelvAddrSq 부모창으로 전달
-			var delvObj = {
-				"custDelvAddrSq"	: parseInt($("#deliveryModifyForm input[name=custDelvAddrSq]").val())
-				, "dispYn"			: "Y"
-				, "recipNm"			: $("#deliveryModifyForm input[name=recipNm]").val()
-				, "recipPhnno"		: $("#deliveryModifyForm input[name=recipPhnno]").val()
-				, "recipZipcode"	: $("#deliveryModifyForm input[name=recipZipcode]").val()
-				, "recipBaseAddr"	: $("#deliveryModifyForm input[name=recipBaseAddr]").val()
-				, "recipDtlAddr"	: $("#deliveryModifyForm input[name=recipDtlAddr]").val()
-				, "delvMemo"		: delvMemo
-			}
-			
-			// 부모장으로 값 전닫
-			delvAddrSet(delvObj);
-			
-			// 팝업닫기
-			$(".close-modal").trigger("click");
-		}
-	});
-});
-
-// 유효성체크 함수
-var deliveryModifyFormCheck = function() {
-	// TODO 유효성 체크 추가
-	if (gagajf.isNull($("#deliveryModifyForm input[name=recipNm]").val())) {
-		mcxDialog.alert("이름을 입력해주세요.");
-		$('#deliveryModifyForm input[name=custNm]').focus();
-		return false;
-	}
-	
-	if (gagajf.isNull($("#deliveryModifyForm input[name=recipZipcode]").val())) {
-		mcxDialog.alert("배송주소를 입력해주세요.");
-		$('#deliveryModifyForm input[name=recipAddr]').focus();
-		return false;
-	}
-	
-	if (gagajf.isNull($("#deliveryModifyForm input[name=recipBaseAddr]").val())) {
-		mcxDialog.alert("배송주소를 입력해주세요.");
-		$('#deliveryModifyForm input[name=recipAddr]').focus();
-		return false;
-	}
-	
-	if (gagajf.isNull($("#deliveryModifyForm input[name=recipDtlAddr]").val())) {
-		mcxDialog.alert("상세주소를 입력해주세요.");
-		$('#deliveryModifyForm input[name=recipDtlAddr]').focus();
-		return false;
-	}
-	
-	return true;
-}
-
-// 우편번호 DAUM을 이용한 우편번호 팝업 레이어
-var fnOpenDaumAddr = function() {
-	$("body").css("overflow", "hidden");
-	
-	let daumZip = new daum.Postcode({
-		oncomplete: function(data) {
-			$('#deliveryModifyForm input[name=recipAddr]').val(data.zonecode + '    ' + cfnGetDaumRoadAddr(data));
-			$('#deliveryModifyForm input[name=recipZipcode]').val(data.zonecode);
-			$('#deliveryModifyForm input[name=recipBaseAddr]').val(cfnGetDaumRoadAddr(data));
-			$('#deliveryModifyForm input[name=recipDtlAddr]').focus();
-			
-			cfnCloseDaumAddr();
-			
-			$("#adrsModifyPop").modal("show");
-		},
-		width: '100%'
-	});
-	
-	cfnOpenDaumAddr(daumZip);
-}
-</script>
+<form name="deliveryModifyForm" id="deliveryModifyForm">
+	<input type="hidden" class="form_control" name="custDelvAddrSq" th:value="${deliveryAddrInfo.custDelvAddrSq}">
+	
+	<div class="modal-header htop">
+		<h5 class="modal-title" id="adrsModifyLabel">배송지 수정</h5>
+	</div>
+	<div class="modal-body">
+		<div class="pop_cont">
+			<div class="inner wide">
+				<div class="tbl_wrap">
+					<div class="tbl tbl_dlvr">
+						<table>
+							<colgroup>
+								<col width="*">
+							</colgroup>
+							<tbody>
+								<tr>
+									<td>
+										<span class="sr-only">받는분</span>
+										<input type="text"class="form_control" name="recipNm" placeholder="받는분" th:value="${deliveryAddrInfo.recipNm}">
+									</td>
+								</tr>
+								<tr>
+									<td>
+										<span class="sr-only">휴대폰 번호</span>
+										<input type="text" class="form_control" name="recipPhnno" placeholder="휴대폰 번호" th:value="${deliveryAddrInfo.recipPhnno}">
+									</td>
+								</tr>
+								<tr>
+									<td>
+										<span class="sr-only">배송 주소</span>
+										<div class="input_wrap">
+											<input type="hidden" name="recipZipcode" placeholder="우편번호" th:value="${deliveryAddrInfo.recipZipcode}" readonly="readonly">
+											<input type="hidden" class="form_control" name="recipBaseAddr" placeholder="기본주소"th:value="${deliveryAddrInfo.recipBaseAddr}" readonly="readonly">
+							
+											<input type="text" class="form_control" placeholder="배송주소" name="recipAddr" th:value="${deliveryAddrInfo.recipZipcode} + '    '+ ${deliveryAddrInfo.recipBaseAddr}" readonly="readonly">
+											<input type="text" class="form_control" placeholder="상세주소" name="recipDtlAddr" th:value="${deliveryAddrInfo.recipDtlAddr}">
+											<button type="button" class="btn btn_sch" onclick="fnOpenDaumAddr();">
+												<span class="sr-only">우편번호 찾기</span>
+											</button>
+										</div>
+										<div class="default_addrs">
+											<div class="form_field">
+												<th:block th:if="${deliveryAddrInfo.defaultYn} == 'Y'">
+													<input id="chk-default-addrs" type="checkbox" name="defaultYn" checked>
+												</th:block>
+												<th:block th:if="${deliveryAddrInfo.defaultYn} == 'N'">
+													<input id="chk-default-addrs" type="checkbox" name="defaultYn">
+												</th:block>
+												<label for="chk-default-addrs"><span>기본배송지로 등록</span></label>
+											</div>
+										</div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<div class="tbl_wrap">
+					<div class="tbl_tit">
+						<h3>배송 요청사항</h3>
+					</div>
+					<div class="tbl tbl_request">
+						<table>
+							<colgroup>
+								<col width="*">
+							</colgroup>
+							<tbody>
+								<tr>
+									<th class="sr-only">문 앞</th>
+									<td>
+										<div class="form_field">
+											<input type="radio" name="rdi-request1" id="rdi-1" value="문 앞">
+											<label for="rdi-1"><span>문 앞</span></label>
+										</div>
+									</td>
+								</tr>
+								<tr>
+									<th class="sr-only">직접 받고 부재 시 문 앞</th>
+									<td>
+										<div class="form_field">
+											<input type="radio" name="rdi-request1" id="rdi-2" value="직접 받고 부재 시 문 앞">
+											<label for="rdi-2"><span>직접 받고 부재 시 문 앞</span></label>
+										</div>
+									</td>
+								</tr>
+								<tr>
+									<th class="sr-only">경비실</th>
+									<td>
+										<div class="form_field">
+											<input type="radio" name="rdi-request1" id="rdi-3" value="경비실"><label
+												for="rdi-3"><span>경비실</span></label>
+										</div>
+									</td>
+								</tr>
+								<tr>
+									<th class="sr-only">택배함</th>
+									<td>
+										<div class="form_field">
+											<input type="radio" name="rdi-request1" id="rdi-4" value="택배함">
+											<label for="rdi-4"><span>택배함</span></label>
+										</div>
+									</td>
+								</tr>
+								<tr>
+									<th class="sr-only">기타사항</th>
+									<td>
+										<div class="form_field">
+											<input type="radio" name="rdi-request1" id="rdi-5" value="5">
+											<label for="rdi-5"><span>기타사항</span></label>
+										</div>
+									</td>
+								</tr>
+								<tr>
+									<th class="sr-only">보관 장소만 입력(필수)</th>
+									<td>
+										<div class="form_text">
+											<input type="text" name="delvMemoText"  placeholder="보관 장소만 입력 (필수)" maxlength="30" disabled>
+											<p class="desc_txt">보관 장소 외 다른 내용 입력시 통보 없이 삭제 될 수 있습니다.</p>
+										</div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="modal-footer">
+		<button type="button" class="btn btn_dark" id="btn_delivery_modi_save"><span>배송지 등록</span></button>
+	</div>
+</form>
+
+<script th:inline="javascript">
+var delvMemo = [[${deliveryAddrInfo.delvMemo}]];
+//컨텐츠 호출
+$(document).ready( function() {
+	
+	var delvMemoArr = ["문 앞", "직접받고 부재시 문 앞", "경비실", "택배함"];
+	var tempMemo = true;
+	
+	// 배송요청사항설정
+	for (i=0 ; i<delvMemoArr.length ; i++) {
+		if (delvMemoArr[i] == delvMemo) {
+			tempMemo = false;
+		}
+	}
+	
+	if (tempMemo) {
+		$("#deliveryModifyForm input[name=rdi-request1]").eq(4).attr("checked", true);
+		$("#deliveryModifyForm input[name=delvMemoText]").attr("disabled", false);
+		$("#deliveryModifyForm input[name=delvMemoText]").val(delvMemo);
+	}
+	
+	$("#deliveryModifyForm input[name=rdi-request1]").each(function(){
+		var temp = $(this).parent().find('span').text();
+		if (delvMemo == temp) {
+			$(this).attr("checked", true);
+		}
+	});
+	
+	// 배송요청사항 버튼기능
+	$("#deliveryModifyForm input[name=rdi-request1]").each(function(){
+		// 버튼기능
+		$(this).on("click", function(){
+			var temp = $(this).parent().find('span').text();
+			$("#deliveryModifyForm input[name=delvMemoText]").val("");
+			if (temp == "기타사항") {
+				$("#deliveryModifyForm input[name=delvMemoText]").attr("disabled", false);
+			} else {
+				$("#deliveryModifyForm input[name=delvMemoText]").attr("disabled", true);
+			}
+		});
+	});
+});
+
+// 배송지등록버튼
+$("#btn_delivery_modi_save").on("click", function(){
+	
+	// 유효성체크
+	if (!deliveryModifyFormCheck()){
+		return false;
+	}
+	
+	// 기본배송지여부
+	var defaultYn = "N";
+	if ($("#deliveryModifyForm input[name=defaultYn]").is(":checked")) {
+		defaultYn = "Y";
+	}
+	
+	// 기타사항일때 텍스트 등록
+	var delvMemo = $("#deliveryModifyForm input[name=rdi-request1]:checked").parent().find('span').text();
+	if ("기타사항" == delvMemo) {
+		delvMemo = $("#deliveryModifyForm input[name=delvMemoText]").val();
+	}
+	
+	// 배송지정보설정
+	var jsonObj = {
+		"defaultYn"			: defaultYn
+		, "custDelvAddrSq"	: parseInt($("#deliveryModifyForm input[name=custDelvAddrSq]").val())
+		, "recipNm"			: $("#deliveryModifyForm input[name=recipNm]").val()
+		, "recipPhnno"		: $("#deliveryModifyForm input[name=recipPhnno]").val()
+		, "recipZipcode"	: $("#deliveryModifyForm input[name=recipZipcode]").val()
+		, "recipBaseAddr"	: $("#deliveryModifyForm input[name=recipBaseAddr]").val()
+		, "recipDtlAddr"	: $("#deliveryModifyForm input[name=recipDtlAddr]").val()
+		, "delvMemo"		: delvMemo
+	}
+	
+	var jsonData = JSON.stringify(jsonObj);
+	
+	$.ajax( {
+		type		: "POST",
+		url 		: '/common/updateCustDeliveryAddr',
+		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);
+		},
+		success 	: function(result) {
+			// custDelvAddrSq 부모창으로 전달
+			var delvObj = {
+				"custDelvAddrSq"	: parseInt($("#deliveryModifyForm input[name=custDelvAddrSq]").val())
+				, "dispYn"			: "Y"
+				, "recipNm"			: $("#deliveryModifyForm input[name=recipNm]").val()
+				, "recipPhnno"		: $("#deliveryModifyForm input[name=recipPhnno]").val()
+				, "recipZipcode"	: $("#deliveryModifyForm input[name=recipZipcode]").val()
+				, "recipBaseAddr"	: $("#deliveryModifyForm input[name=recipBaseAddr]").val()
+				, "recipDtlAddr"	: $("#deliveryModifyForm input[name=recipDtlAddr]").val()
+				, "delvMemo"		: delvMemo
+			}
+			
+			// 부모장으로 값 전닫
+			delvAddrSet(delvObj);
+			
+			// 팝업닫기
+			$(".close-modal").trigger("click");
+		}
+	});
+});
+
+// 유효성체크 함수
+var deliveryModifyFormCheck = function() {
+	// TODO 유효성 체크 추가
+	if (gagajf.isNull($("#deliveryModifyForm input[name=recipNm]").val())) {
+		mcxDialog.alert("이름을 입력해주세요.");
+		$('#deliveryModifyForm input[name=custNm]').focus();
+		return false;
+	}
+	
+	if (gagajf.isNull($("#deliveryModifyForm input[name=recipZipcode]").val())) {
+		mcxDialog.alert("배송주소를 입력해주세요.");
+		$('#deliveryModifyForm input[name=recipAddr]').focus();
+		return false;
+	}
+	
+	if (gagajf.isNull($("#deliveryModifyForm input[name=recipBaseAddr]").val())) {
+		mcxDialog.alert("배송주소를 입력해주세요.");
+		$('#deliveryModifyForm input[name=recipAddr]').focus();
+		return false;
+	}
+	
+	if (gagajf.isNull($("#deliveryModifyForm input[name=recipDtlAddr]").val())) {
+		mcxDialog.alert("상세주소를 입력해주세요.");
+		$('#deliveryModifyForm input[name=recipDtlAddr]').focus();
+		return false;
+	}
+	
+	return true;
+}
+
+// 우편번호 DAUM을 이용한 우편번호 팝업 레이어
+var fnOpenDaumAddr = function() {
+	$("body").css("overflow", "hidden");
+	
+	let daumZip = new daum.Postcode({
+		oncomplete: function(data) {
+			$('#deliveryModifyForm input[name=recipAddr]').val(data.zonecode + '    ' + cfnGetDaumRoadAddr(data));
+			$('#deliveryModifyForm input[name=recipZipcode]').val(data.zonecode);
+			$('#deliveryModifyForm input[name=recipBaseAddr]').val(cfnGetDaumRoadAddr(data));
+			$('#deliveryModifyForm input[name=recipDtlAddr]').focus();
+			
+			cfnCloseDaumAddr();
+			
+			$("#adrsModifyPop").modal("show");
+		},
+		width: '100%'
+	});
+	
+	cfnOpenDaumAddr(daumZip);
+}
+</script>

+ 57 - 34
src/main/webapp/WEB-INF/views/web/cart/CartListAjaxFormWeb.html

@@ -571,10 +571,22 @@
 			/*let compsList = [];
 			let temp 			= new Object;
 			temp.goodsCd 		= "AOW13QDM76";
-			temp.optCd 			= "13256848-4";
-			temp.goodsQty 		= 1;
+			temp.optCd 			= "13256848-2";
+			temp.goodsQty 		= 3;
 			temp.goodsType 		= "G056_N";
-			temp.cartGb 		= "C";
+			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 		= "AOW13QDM76";
+			temp.optCd 			= "13256848-6";
+			temp.goodsQty 		= 3;
+			temp.goodsType 		= "G056_N";
+			temp.cartGb 		= "O";
 			temp.afLinkCd 		= "afLinkCd";
 			temp.ithrCd 		= "G027_ZZZ";
 			temp.contentsLoc 	= "G028_YYY";
@@ -593,12 +605,17 @@
 			}
 
 			/* 세트상품 장바구니 */
-			/*let compsList = [];
+			/*let goodsList = {
+				cartCompsList : new Array()
+			}
+			let cartGoodsList = [];
+
+			let compsList = [];
 			let temp = new Object;
 			temp.goodsCd = "STYS00000005";
 			temp.itemCd = "A83F-DP568S";
-			temp.optCd = "14019445-2";
-			temp.goodsQty = 1;
+			temp.optCd = "14019445-1";
+			temp.goodsQty = 3;
 			temp.goodsType = "G056_S";
 			temp.cartGb = "C";
 			temp.afLinkCd = "aaaa";
@@ -609,8 +626,8 @@
 			temp = new Object;
 			temp.goodsCd = "STYS00000005";
 			temp.itemCd = "A83F-TS517S";
-			temp.optCd = "11867579-2";
-			temp.goodsQty = 1;
+			temp.optCd = "11867579-1";
+			temp.goodsQty = 3;
 			temp.goodsType = "G056_S";
 			temp.cartGb = "C";
 			temp.afLinkCd = "aaaa";
@@ -619,36 +636,42 @@
 			temp.planDtlSq = "44";
 			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);
+			goodsList.cartCompsList = compsList;
+			cartGoodsList.push(goodsList);
 
+			let compsList2 = [];
+			let goodsList2 = {
+				cartCompsList : new Array()
+			}
+			temp = new Object;
+			temp.goodsCd = "STYS00000005";
+			temp.itemCd = "A83F-DP568S";
+			temp.optCd = "14019445-3";
+			temp.goodsQty = 3;
+			temp.goodsType = "G056_S";
+			temp.cartGb = "C";
+			temp.afLinkCd = "aaaa";
+			temp.ithrCd = "12311";
+			temp.contentsLoc = "afasd";
+			temp.planDtlSq = "44";
+			compsList2.push(temp);
 			temp = new Object;
-			temp.goodsCd = "14373710";
-			temp.optCd = "L핑크130";
+			temp.goodsCd = "STYS00000005";
+			temp.itemCd = "A83F-TS517S";
+			temp.optCd = "14024048-1";
 			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);
+			temp.goodsType = "G056_S";
+			temp.cartGb = "C";
+			temp.afLinkCd = "aaaa";
+			temp.ithrCd = "12311";
+			temp.contentsLoc = "afasd";
+			temp.planDtlSq = "44";
+			compsList2.push(temp);
 
-			cfnAddCart(compsList);*/
+			goodsList2.cartCompsList = compsList2;
+			cartGoodsList.push(goodsList2);
+
+			cfnAddCart(cartGoodsList);*/
 		});
 
 		function cancelCartCpn() {

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

@@ -274,8 +274,10 @@
 	<!-- //상품썸네일 크게보기 팝업 -->
 	
 	<!-- **************** 개별상품 상세정보 팝업 **************** -->
-	
- 
+
+
+	<!-- 바로구매 장바구니 등록 정보 저장을 위한 form -->
+	<form id="directOrderForm" method="POST" action="/order/noMember"></form>
 </div>
  
 <script th:inline="javascript">

+ 25 - 16
src/main/webapp/ux/style24_link.js

@@ -224,6 +224,7 @@ var cfnOpenIpinCertify = function (redirectUrl) {
  *				compsList.push(temp);
  *			}
  *			cfnAddCart(compsList);
+ *
  * </pre>
  * @since  : 2021/02/24
  * @author : xodud1202
@@ -238,25 +239,33 @@ function cfnAddCart(cartList) {
 		contentType: 'application/json',
 		dataType : 'json',
 		success : function(result) {
-			if(cartList[0].cartGb == "C") {
-				mcxDialog.confirm("<div class="+"dialog-title"+">"+"상품이 쇼핑백에 추가되었습니다.</div><p>쇼핑백으로 이동하시겠습니까?</p>", {
-					cancelBtnText: "계속 쇼핑하기",
-					sureBtnText: "쇼핑백 가기",
-					sureBtnClick: function(){
-						location.href='/cart/list/form'; 	//내 쇼핑백 이동url
+			alert(result.cartGb + " / " + result.message)
+			if(result.message == "SUCCESS") {
+				if(result.cartGb == "C") {
+					mcxDialog.confirm("<div class="+"dialog-title"+">"+"상품이 쇼핑백에 추가되었습니다.</div><p>쇼핑백으로 이동하시겠습니까?</p>", {
+						cancelBtnText: "계속 쇼핑하기",
+						sureBtnText: "쇼핑백 가기",
+						sureBtnClick: function(){
+							location.href='/cart/list/form'; 	//내 쇼핑백 이동url
+						}
+					});
+				} else if (result.cartGb == "O"){
+					let orderHtml = "";
+					for(let i = 0 ; i < result.cartSqList.length ; i++) {
+						orderHtml += '<input type="hidden" name="cartSqArr" value="' + result.cartSqList[i] + '" />';
 					}
-				});
-			} else if (cartList[0].cartGb == "O"){
-				let orderHtml = "";
-				for(let i = 0 ; i < result.length ; i++) {
-					orderHtml += '<input type="hidden" name="cartSqArr" value="' + result[i].cartSq + '" />';
+					$("#directOrderForm").html(orderHtml);
+					
+					alert("cartGb = O 영역 ::: " + orderHtml);
+					
+					$("#directOrderForm").submit();
+					
+					//location.href='/cart/list/form';
+				} else {
+					mcxDialog.alert("쇼핑백담기, 바로구매가 아닌 상태입니다. 해당 요청이 맞다면 새로고침 후 다시시도해주세요.");
 				}
-				$("#directOrderForm").html(orderHtml);
-				$("#directOrderForm").submit();
-				
-				//location.href='/cart/list/form';
 			} else {
-				mcxDialog.alert("쇼핑백담기, 바로구매가 아닌 상태입니다. 해당 요청이 맞다면 새로고침 후 다시시도해주세요.");
+				mcxDialog.alert(result.message);
 			}
 		}
 	});