Browse Source

이태영 - 20210407 MOBILE 쇼핑백 화면 개발 중

xodud1202 5 years ago
parent
commit
f693844d42

+ 634 - 0
src/main/webapp/WEB-INF/views/mob/cart/CartListAjaxFormMob.html

@@ -0,0 +1,634 @@
+<html lang="ko"
+	  xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : cartListFormMob
+ * @desc	: 장바구니
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE		 AUTHOR	  DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.04.07   xodud1202   최초 작성
+ *******************************************************************************
+ -->
+<body>
+<th:block layout:fragment="content">
+	<form id="cartListForm" method="post" action="/order/noMember">
+		<div class="inner shotDelvSelect">
+			<div class="od_method">
+				<div class="tbl_tit">
+					<h3>배송방법 선택</h3>
+				</div>
+				<div class="tbl tbl_radio">
+					<table>
+						<colgroup>
+							<col width="*">
+						</colgroup>
+						<tbody>
+						<tr>
+							<th class="sr-only">총알배송</th>
+							<td>
+								<div class="form_field">
+									<input type="radio" id="chk-1" name="shotDelvUseYn" value="Y" th:checked="${order.shotDelvUseYn != null and order.shotDelvUseYn.equals('Y')}">
+									<label for="chk-1">
+										<span th:text="|${order.shotDelvDt}일 24:00 까지 도착|"></span>
+										<span class="icon_tag">
+											<em class="tag_stype2">총알배송</em>
+										</span>
+									</label>
+								</div>
+							</td>
+						</tr>
+						<tr>
+							<th class="sr-only">총알배송 안함</th>
+							<td>
+								<div class="form_field">
+									<input id="chk-2" type="radio" name="shotDelvUseYn" value="N" th:checked="${order.shotDelvUseYn == null or !order.shotDelvUseYn.equals('Y')}">
+									<label for="chk-2">
+										<span>총알배송 안함</span>
+									</label>
+								</div>
+							</td>
+						</tr>
+						</tbody>
+					</table>
+				</div>
+			</div>
+		</div>
+		<div class="inner">
+			<div class="sec_select">
+				<div class="form_field">
+					<input id="od_item_all" type="checkbox" checked="checked"><label for="od_item_all"><span>전체선택</span></label>
+				</div>
+				<button type="button" class="btn btn_default btn_sm" onclick="deleteCart('SELECT', 'cart')"><span>선택삭제</span></button>
+			</div>
+		</div>
+		<div class="inner" th:if="${order.shotCartList.size() > 0 or order.wmsCartList.size() > 0}">
+			<!-- STYLE24 배송 -->
+			<div class="part_goods">
+				<div class="goods_top">
+					<div class="goods_date">STYLE24 배송</div>
+				</div>
+				<!-- 총알 배송 -->
+				<div class="goods_area goods_bullship shotList" th:if="${order.shotCartList != null and order.shotCartList.size() > 0}">
+					<h3>총알배송 <span>오늘 자정까지 도착</span></h3>
+					<div class="goods_section cartInfo shotCartInfo" th:each="cart, status : ${order.shotCartList}">
+						<input type="hidden" name="applyQtySectionYn" th:value="${cart.applyQtySectionYn}" />
+						<input type="hidden" name="applyAmtSectionYn" th:value="${cart.applyAmtSectionYn}" />
+						<input type="hidden" name="qtyTmtbSq" th:value="${cart.qtyTmtbSq}" />
+						<input type="hidden" name="qtyTmtbNm" th:value="${cart.qtyTmtbNm}" />
+						<input type="hidden" name="amtTmtbSq" th:value="${cart.amtTmtbSq}" />
+						<input type="hidden" name="amtTmtbNm" th:value="${cart.amtTmtbNm}" />
+						<input type="hidden" name="currPrice" th:value="${cart.currPrice}" />
+						<input type="hidden" name="tmtbDcAmt" th:value="${cart.tmtbDcAmt}" />
+						<input type="hidden" name="soldoutYn" th:value="${cart.soldoutYn}" />
+						<input type="hidden" name="ordCanYn" th:value="${cart.ordCanYn}" />
+						<input type="hidden" name="cartSq" th:value="${cart.cartSq}" />
+
+						<button type="button" class="btn_delete" th:onclick="|deleteCart(${cart.cartSq}, 'cart')|"><span><em class="sr-only">상품삭제</em></span></button>
+						<div class="goods_detail">
+							<div class="form_field">
+								<input th:id="|od_item_${cart.cartSq}|" name="cartSqArr" type="checkbox" th:value="${cart.cartSq}"
+									   th:checked=   "${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y') and cart.getGoodsQty() >= cart.getMinOrdQty() and cart.getGoodsQty() <= cart.getMaxOrdQty()}"
+									   th:disabled="${!(cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y') and cart.getGoodsQty() >= cart.getMinOrdQty() and cart.getGoodsQty() <= cart.getMaxOrdQty())}" />
+								<label th:for="|od_item_${cart.cartSq}|"><span class="sr-only">상품선택</span></label>
+							</div>
+							<div class="thumb_box">
+								<a th:href="|javascript:fnGoToGoodsDetail('${cart.goodsCd}')|">
+									<img th:src="${IMG_PATH} + '/' + ${cart.sysImgNm}" src="/" th:alt="${cart.sysImgNm}" alt="">
+								</a>
+							</div>
+							<div class="info_box">
+								<div class="od_name">
+									<div class="brand">
+										<span th:text="|${cart.brandEnm} ${cart.brandKnm}|"></span>
+									</div>
+									<div class="name"><a th:href="|javascript:fnGoToGoodsDetail('${cart.goodsCd}')|" th:text="${cart.goodsNm}"></a></div>
+								</div>
+								<div class="od_opt">
+									<th:block th:each="opt, index : ${cart.itemNmArr}">
+										<th:block th:if="${cart.goodsType.equals('G056_S')}">
+											<div class="option">
+												<em th:text="${cart.itemNmArr[index.index]}"></em><em th:text="${cart.colorNmArr[index.index]}"></em><em th:text="${cart.optCd2Arr[index.index]}"></em>
+											</div>
+										</th:block>
+										<th:block th:if="${!cart.goodsType.equals('G056_S')}">
+											<div class="option">
+												<em th:text="${cart.colorNmArr[index.index]}"></em><em th:text="${cart.optCd2Arr[index.index]}"></em>
+											</div>
+										</th:block>
+									</th:block>
+								</div>
+								<div class="od_point">
+									<p class="point"><span th:text="${#numbers.formatInteger(cart.savePntAmt, 1, 'COMMA')}"></span>P 적립예정</p>
+								</div>
+								<div class="od_exinfo">
+									<span th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y'}" class="btn_moresale order_badge order_bullet_badge">다다익선 할인 적용</span>
+									<span th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y'}" class="btn_moresale order_badge order_bullet_badge">다다익선 할인 적용</span>
+									<a th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N'}" href="javascript:;" id="btn_moresale_pop" class="btn_moresale btn_moresale_pop order_badge order_bullet_badge">다다익선 할인 대상</a>
+									<a th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N'}" href="javascript:;" id="btn_moresale_pop" class="btn_moresale btn_moresale_pop order_badge order_bullet_badge">다다익선 할인 대상</a>
+								</div>
+							</div>
+						</div>
+						<div class="od_calc">
+							<p class="count">수량 <em th:text="${cart.goodsQty}"></em>개</p>
+							<p class="price">
+								<th:block  th:if="${cart.tmtbDcAmt < cart.currPrice}">
+									<span class="sale_price"><del><em th:text="${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')}"></em>원</del></span>
+									<span class="selling_price"><em th:text="${#numbers.formatInteger(cart.tmtbDcAmt, 1, 'COMMA')}"></em>원</span>
+								</th:block>
+								<th:block th:if="${cart.tmtbDcAmt == cart.currPrice}">
+									<span class="selling_price"><em th:text="${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')}"></em>원</span>
+								</th:block>
+							</p>
+						</div>
+						<div class="goods_btn_wrap btn_group_flex">
+							<div><button type="button" class="btn btn_default btn_option_pop01" th:onclick="|fnChangeCartOptCd(${cart.cartSq})|" th:disabled="${cart.ordCanYn.equals('N')}"><span>옵션/수량변경</span></button></div> <!-- 옵션변경_팝업01 호출 -->
+							<div>
+								<button th:if="${cart.soldoutYn.equals('Y') or cart.ordCanYn.equals('N')}" type="button" id="btn_quick_purchase" class="btn btn_primary_line" disabled=""><span>구매 불가</span></button>
+								<button th:if="${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y')}" type="button" id="btn_quick_purchase" class="btn btn_primary_line"><span>바로주문</span></button>
+							</div> <!-- 210406_ID 추가 -->
+						</div>
+
+						<div class="goods_txt reserv" th:if="${!#strings.isEmpty(cart.delvResDt)}">
+							<span>예약배송 상품</span><span th:text="|${cart.delvResDt} 배송예정|"></span> 배송예정
+						</div>
+
+						<div class="goods_txt" th:if="${cart.ordCanYn.equals('N')}">
+							<span>해당 상품은 구매 불가능한 상품입니다.</span>
+						</div>
+						<div class="goods_txt" th:if="${cart.soldoutYn.equals('Y') and cart.ordCanYn.equals('Y')}">
+							<span>품절된 상품입니다.</span>
+						</div>
+						<div class="goods_txt" th:if="${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y') and cart.goodsQty < cart.minOrdQty}">
+							<span th:text="|해당 상품은 최소 ${cart.minOrdQty}개부터 구매 가능합니다.|"></span>
+						</div>
+						<div class="goods_txt" th:if="${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y') and cart.goodsQty > cart.maxOrdQty}">
+							<span th:text="|해당 상품은 최대 ${cart.maxOrdQty}개까지 구매 가능합니다.|"></span>
+						</div>
+					</div>
+				</div>
+				<!-- 총알 배송 -->
+				<!-- 일반 배송 -->
+				<div class="goods_area goods_basic wmsList" th:if="${order.wmsCartList != null and order.wmsCartList.size() > 0}">
+					<h3>일반배송</h3>
+					<div class="goods_section wmsCartInfo cartInfo" th:each="cart, status : ${order.wmsCartList}">
+						<input type="hidden" name="applyQtySectionYn" th:value="${cart.applyQtySectionYn}" />
+						<input type="hidden" name="applyAmtSectionYn" th:value="${cart.applyAmtSectionYn}" />
+						<input type="hidden" name="qtyTmtbSq" th:value="${cart.qtyTmtbSq}" />
+						<input type="hidden" name="qtyTmtbNm" th:value="${cart.qtyTmtbNm}" />
+						<input type="hidden" name="amtTmtbSq" th:value="${cart.amtTmtbSq}" />
+						<input type="hidden" name="amtTmtbNm" th:value="${cart.amtTmtbNm}" />
+						<input type="hidden" name="currPrice" th:value="${cart.currPrice}" />
+						<input type="hidden" name="tmtbDcAmt" th:value="${cart.tmtbDcAmt}" />
+						<input type="hidden" name="soldoutYn" th:value="${cart.soldoutYn}" />
+						<input type="hidden" name="ordCanYn" th:value="${cart.ordCanYn}" />
+						<input type="hidden" name="cartSq" th:value="${cart.cartSq}" />
+
+						<button type="button" class="btn_delete" th:onclick="|deleteCart(${cart.cartSq}, 'cart')|"><span><em class="sr-only">상품삭제</em></span></button>
+						<div class="goods_detail">
+							<div class="form_field">
+								<input th:id="|od_item_${cart.cartSq}|" name="cartSqArr" type="checkbox" th:value="${cart.cartSq}"
+									   th:checked=   "${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y') and cart.getGoodsQty() >= cart.getMinOrdQty() and cart.getGoodsQty() <= cart.getMaxOrdQty()}"
+									   th:disabled="${!(cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y') and cart.getGoodsQty() >= cart.getMinOrdQty() and cart.getGoodsQty() <= cart.getMaxOrdQty())}">
+								<label th:for="|od_item_${cart.cartSq}|"><span class="sr-only">상품선택</span></label>
+							</div>
+							<div class="thumb_box">
+								<a th:href="|javascript:fnGoToGoodsDetail('${cart.goodsCd}')|">
+									<img th:src="${IMG_PATH} + '/' + ${cart.sysImgNm}" src="/" th:alt="${cart.sysImgNm}" alt="">
+								</a>
+							</div>
+							<div class="info_box">
+								<div class="od_name">
+									<div class="brand">
+										<span th:text="|${cart.brandEnm} ${cart.brandKnm}|"></span>
+									</div>
+									<div class="name"><a th:href="|javascript:fnGoToGoodsDetail('${cart.goodsCd}')|" th:text="${cart.goodsNm}"></a></div>
+								</div>
+								<div class="od_opt">
+									<th:block th:each="opt, index : ${cart.itemNmArr}">
+										<th:block th:if="${cart.goodsType.equals('G056_S')}">
+											<div class="option">
+												<em th:text="${cart.itemNmArr[index.index]}"></em><em th:text="${cart.colorNmArr[index.index]}"></em><em th:text="${cart.optCd2Arr[index.index]}"></em>
+											</div>
+										</th:block>
+										<th:block th:if="${!cart.goodsType.equals('G056_S')}">
+											<div class="option">
+												<em th:text="${cart.colorNmArr[index.index]}"></em><em th:text="${cart.optCd2Arr[index.index]}"></em>
+											</div>
+										</th:block>
+									</th:block>
+								</div>
+								<div class="od_point">
+									<p class="point"><span th:text="${#numbers.formatInteger(cart.savePntAmt, 1, 'COMMA')}"></span>P 적립예정</p>
+								</div>
+								<div class="od_exinfo">
+									<span th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y'}" class="btn_moresale order_badge order_bullet_badge">다다익선 할인 적용</span>
+									<span th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y'}" class="btn_moresale order_badge order_bullet_badge">다다익선 할인 적용</span>
+									<a th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N'}" href="javascript:;" id="btn_moresale_pop" class="btn_moresale btn_moresale_pop order_badge order_bullet_badge">다다익선 할인 대상</a>
+									<a th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N'}" href="javascript:;" id="btn_moresale_pop" class="btn_moresale btn_moresale_pop order_badge order_bullet_badge">다다익선 할인 대상</a>
+								</div>
+							</div>
+						</div>
+						<div class="od_calc">
+							<p class="count">수량 <em th:text="${cart.goodsQty}"></em>개</p>
+							<p class="price">
+								<th:block  th:if="${cart.tmtbDcAmt < cart.currPrice}">
+									<span class="sale_price"><del><em th:text="${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')}"></em>원</del></span>
+									<span class="selling_price"><em th:text="${#numbers.formatInteger(cart.tmtbDcAmt, 1, 'COMMA')}"></em>원</span>
+								</th:block>
+								<th:block th:if="${cart.tmtbDcAmt == cart.currPrice}">
+									<span class="selling_price"><em th:text="${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')}"></em>원</span>
+								</th:block>
+							</p>
+						</div>
+						<div class="goods_btn_wrap btn_group_flex">
+							<div><button type="button" class="btn btn_default btn_option_pop01" th:onclick="|fnChangeCartOptCd(${cart.cartSq})|" th:disabled="${cart.ordCanYn.equals('N')}"><span>옵션/수량변경</span></button></div> <!-- 옵션변경_팝업01 호출 -->
+							<div>
+								<button th:if="${cart.soldoutYn.equals('Y') or cart.ordCanYn.equals('N')}" type="button" id="btn_quick_purchase" class="btn btn_primary_line" disabled=""><span>구매 불가</span></button>
+								<button th:if="${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y')}" type="button" id="btn_quick_purchase" class="btn btn_primary_line"><span>바로주문</span></button>
+							</div> <!-- 210406_ID 추가 -->
+						</div>
+
+						<div class="goods_txt reserv" th:if="${!#strings.isEmpty(cart.delvResDt)}">
+							<span>예약배송 상품</span><span th:text="|${cart.delvResDt} 배송예정|"></span> 배송예정
+						</div>
+
+						<div class="goods_txt" th:if="${cart.ordCanYn.equals('N')}">
+							<span>해당 상품은 구매 불가능한 상품입니다.</span>
+						</div>
+						<div class="goods_txt" th:if="${cart.soldoutYn.equals('Y') and cart.ordCanYn.equals('Y')}">
+							<span>품절된 상품입니다.</span>
+						</div>
+						<div class="goods_txt" th:if="${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y') and cart.goodsQty < cart.minOrdQty}">
+							<span th:text="|해당 상품은 최소 ${cart.minOrdQty}개부터 구매 가능합니다.|"></span>
+						</div>
+						<div class="goods_txt" th:if="${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y') and cart.goodsQty > cart.maxOrdQty}">
+							<span th:text="|해당 상품은 최대 ${cart.maxOrdQty}개까지 구매 가능합니다.|"></span>
+						</div>
+					</div>
+				</div>
+				<!-- 일반 배송 -->
+
+				<!-- 자사 배송비 -->
+				<div class="goods_txt selfGoodsDelv" th:classappend="|delv_${order.cartDelvFeeCd}|">
+					<span class="dlvr_fee" th:if="${order.wmsDelvFee == 0}">배송비 무료</span>
+					<span class="dlvr_fee" th:if="${order.wmsDelvFee > 0}">배송비&nbsp;<em th:text="${#numbers.formatInteger(order.wmsDelvFee, 1, 'COMMA')}"></em>원</span>
+					<span>STYLE24  배송</span>
+				</div>
+
+				<div class="goods_dlvr_save" th:if="${order.wmsDelvFee > 0}">
+					<a href="javascript:;" id="btn_dlvrSave_pop" class="btn_popup_save">배송비 SAVE 상품 보기</a>
+				</div>
+			</div>
+			<!-- //STYLE24 배송 -->
+		</div>
+
+		<div class="inner" th:if="${order.delvCartList != null and order.delvCartList.size() > 0}">
+			<!-- 업체직배송 -->
+			<div class="part_goods">
+				<div class="goods_top">
+					<div class="goods_date">업체직 배송</div>
+				</div>
+				<!-- 업체직배송 -->
+				<div class="goods_area">
+					<div class="goods_section delvCartInfo cartInfo" th:each="cart, status : ${order.delvCartList}">
+						<input type="hidden" name="applyQtySectionYn" th:value="${cart.applyQtySectionYn}" />
+						<input type="hidden" name="applyAmtSectionYn" th:value="${cart.applyAmtSectionYn}" />
+						<input type="hidden" name="qtyTmtbSq" th:value="${cart.qtyTmtbSq}" />
+						<input type="hidden" name="qtyTmtbNm" th:value="${cart.qtyTmtbNm}" />
+						<input type="hidden" name="amtTmtbSq" th:value="${cart.amtTmtbSq}" />
+						<input type="hidden" name="amtTmtbNm" th:value="${cart.amtTmtbNm}" />
+						<input type="hidden" name="currPrice" th:value="${cart.currPrice}" />
+						<input type="hidden" name="soldoutYn" th:value="${cart.soldoutYn}" />
+						<input type="hidden" name="ordCanYn" th:value="${cart.ordCanYn}" />
+						<input type="hidden" name="tmtbDcAmt" th:value="${cart.tmtbDcAmt}" />
+						<input type="hidden" name="cartSq" th:value="${cart.cartSq}" />
+
+						<button type="button" class="btn_delete"><span><em class="sr-only">상품삭제</em></span></button>
+						<div class="goods_detail">
+							<div class="form_field">
+								<input th:id="|od_item_${cart.cartSq}|" name="cartSqArr" type="checkbox" th:value="${cart.cartSq}"
+									   th:checked=   "${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y') and cart.getGoodsQty() >= cart.getMinOrdQty() and cart.getGoodsQty() <= cart.getMaxOrdQty()}"
+									   th:disabled="${!(cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y') and cart.getGoodsQty() >= cart.getMinOrdQty() and cart.getGoodsQty() <= cart.getMaxOrdQty())}">
+								<label th:for="|od_item_${cart.cartSq}|"><span class="sr-only">상품선택</span></label>
+							</div>
+							<div class="thumb_box">
+								<a th:href="|javascript:fnGoToGoodsDetail('${cart.goodsCd}')|">
+									<img th:src="${IMG_PATH} + '/' + ${cart.sysImgNm}" src="/" th:alt="${cart.sysImgNm}" alt="">
+								</a>
+							</div>
+							<div class="info_box">
+								<div class="od_name">
+									<div class="brand">
+										<span th:text="|${cart.brandEnm} ${cart.brandKnm}|"></span>
+									</div>
+									<div class="name"><a th:href="|javascript:fnGoToGoodsDetail('${cart.goodsCd}')|" th:text="${cart.goodsNm}"></a></div>
+								</div>
+								<div class="od_opt">
+									<th:block th:each="opt, index : ${cart.itemNmArr}">
+										<th:block th:if="${cart.goodsType.equals('G056_S')}">
+											<div class="option">
+												<em th:text="${cart.itemNmArr[index.index]}"></em><em th:text="${cart.colorNmArr[index.index]}"></em><em th:text="${cart.optCd2Arr[index.index]}"></em>
+											</div>
+										</th:block>
+										<th:block th:if="${!cart.goodsType.equals('G056_S')}">
+											<div class="option">
+												<em th:text="${cart.colorNmArr[index.index]}"></em><em th:text="${cart.optCd2Arr[index.index]}"></em>
+											</div>
+										</th:block>
+									</th:block>
+								</div>
+								<div class="od_point">
+									<p class="point"><span th:text="${#numbers.formatInteger(cart.savePntAmt, 1, 'COMMA')}"></span>P 적립예정</p>
+								</div>
+								<div class="od_exinfo">
+									<span th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'Y'}" class="btn_moresale order_badge order_bullet_badge">다다익선 할인 적용</span>
+									<span th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y'}" class="btn_moresale order_badge order_bullet_badge">다다익선 할인 적용</span>
+									<a th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N'}" href="javascript:;" id="btn_moresale_pop" class="btn_moresale btn_moresale_pop order_badge order_bullet_badge">다다익선 할인 대상</a>
+									<a th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N'}" href="javascript:;" id="btn_moresale_pop" class="btn_moresale btn_moresale_pop order_badge order_bullet_badge">다다익선 할인 대상</a>
+								</div>
+							</div>
+						</div>
+						<div class="od_calc">
+							<p class="count">수량 <em th:text="${cart.goodsQty}"></em>개</p>
+							<p class="price">
+								<th:block  th:if="${cart.tmtbDcAmt < cart.currPrice}">
+									<span class="sale_price"><del><em th:text="${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')}"></em>원</del></span>
+									<span class="selling_price"><em th:text="${#numbers.formatInteger(cart.tmtbDcAmt, 1, 'COMMA')}"></em>원</span>
+								</th:block>
+								<th:block th:if="${cart.tmtbDcAmt == cart.currPrice}">
+									<span class="selling_price"><em th:text="${#numbers.formatInteger(cart.currPrice, 1, 'COMMA')}"></em>원</span>
+								</th:block>
+							</p>
+						</div>
+						<div class="goods_btn_wrap btn_group_flex">
+							<div><button type="button" class="btn btn_default" th:onclick="|fnChangeCartOptCd(${cart.cartSq})|" th:disabled="${cart.ordCanYn.equals('N')}"><span>옵션/수량변경</span></button></div>
+							<div>
+								<button th:if="${cart.soldoutYn.equals('Y') or cart.ordCanYn.equals('N')}" type="button" id="btn_quick_purchase" class="btn btn_primary_line" disabled=""><span>구매 불가</span></button>
+								<button th:if="${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y')}" type="button" id="btn_quick_purchase" class="btn btn_primary_line"><span>바로주문</span></button>
+							</div>
+						</div>
+
+						<div class="goods_txt reserv" th:if="${!#strings.isEmpty(cart.delvResDt)}">
+							<span>예약배송 상품</span><span th:text="|${cart.delvResDt} 배송예정|"></span> 배송예정
+						</div>
+
+						<div class="goods_txt" th:if="${cart.ordCanYn.equals('N')}">
+							<span>해당 상품은 구매 불가능한 상품입니다.</span>
+						</div>
+						<div class="goods_txt" th:if="${cart.soldoutYn.equals('Y') and cart.ordCanYn.equals('Y')}">
+							<span>품절된 상품입니다.</span>
+						</div>
+						<div class="goods_txt" th:if="${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y') and cart.goodsQty < cart.minOrdQty}">
+							<span th:text="|해당 상품은 최소 ${cart.minOrdQty}개부터 구매 가능합니다.|"></span>
+						</div>
+						<div class="goods_txt" th:if="${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y') and cart.goodsQty > cart.maxOrdQty}">
+							<span th:text="|해당 상품은 최대 ${cart.maxOrdQty}개까지 구매 가능합니다.|"></span>
+						</div>
+
+						<!-- 입점업체 배송비 -->
+						<div class="goods_txt" th:if="${'Y'.equals(cart.addDelvFeeYn)}" th:classappend="|delv_${cart.delvFeeCd}|">
+							<span class="dlvr_fee" th:if="${order.wmsDelvFee == 0}">배송비 무료</span>
+							<span class="dlvr_fee" th:if="${order.wmsDelvFee > 0}">배송비&nbsp;<em th:text="${#numbers.formatInteger(order.wmsDelvFee, 1, 'COMMA')}"></em>원</span>
+							<span th:text="|${cart.supplyCompNm} 업체직배송|"></span>
+						</div>
+
+						<div class="goods_dlvr_save" th:if="${'Y'.equals(cart.addDelvFeeYn) and cart.delvFee > 0}">
+							<a href="javascript:;" id="btn_dlvrSave_pop" class="btn_popup_save">배송비 SAVE 상품 보기</a>
+						</div>
+					</div>
+				</div>
+				<!-- 업체직배송 -->
+			</div>
+			<!-- //업체직배송 -->
+		</div>
+		<div class="inner">
+			<div class="area_order">
+				<div class="tit_box">
+					<h3>결제 정보</h3>
+					<span>
+						<em class="number" th:text="${order.totCartCnt}"></em>개의 상품
+					</span>
+				</div>
+				<div class="od_amount_box">
+					<dl>
+						<div>
+							<dt>상품금액</dt>
+							<dd><em class="sumListPrice" th:text="${#numbers.formatInteger(order.sumListPrice, 1, 'COMMA')}"></em>원</dd>
+						</div>
+						<div>
+							<dt>배송비</dt>
+							<dd><em class="totDelvFee" th:text="${#numbers.formatInteger(order.totDelvFee, 1, 'COMMA')}"></em>원</dd>
+						</div>
+						<div>
+							<dt>할인금액</dt>
+							<dd><span class="disc_amount"><em class="totDcAmt" id="totDcAmt" th:text="${#numbers.formatInteger(order.totDcAmt, 1, 'COMMA')}"></em>원</span></dd>
+						</div>
+					</dl>
+				</div>
+				<div class="totalprice_box">
+					<dl>
+						<dt>총 결제 예정 금액</dt>
+						<dd><span class="sumRealPayAmt" id="sumRealPayAmt" th:text="${#numbers.formatInteger(order.sumRealPayAmt + order.totDelvFee, 1, 'COMMA')}"></span>원</dd>
+					</dl>
+				</div>
+			</div>
+		</div>
+		<div class="inner">
+			<div class="area_salecoupon">
+				<h4>할인코드 입력</h4>
+				<div class="form_field">
+					<div class="input_wrap form_full">
+						<label class="input_label sr-only">할인코드입력</label>
+						<input type="text" id="serialCpnNm" class="form_control" placeholder="할인코드를 입력해주세요.">
+					</div>
+					<button type="button" id="btn_salecode" class="btn btn_dark btn_sm" onclick="serialCpnApply()"><span>적용</span></button> <!-- 210406_ID 추가 -->
+				</div>
+				<div class="coupon_box">
+					<div class="coupon">
+						<button type="button" class="btn_delete"><span><em class="sr-only">쿠폰닫기</em></span></button>
+						<div>
+							<p class="cp_name"></p>
+							<p class="cp_cont">
+								<span class="cp_dc_val"></span>
+							</p>
+							<p class="cp_condition"></p>
+						</div>
+						<p class="cp_date">
+							<span>2021.01.01</span>&nbsp;~&nbsp;<span>2021.12.30</span>
+						</p>
+					</div>
+					<button type="button" class="btn_underline" id="btn_couponInfo_pop">
+						<span>사용안내</span>
+					</button>
+				</div>
+			</div>
+		</div>
+
+
+
+		<div class="inner wide">
+			<div class="od_recommend">
+				<h3>추천상품</h3>
+				<div class="swiper-container item_list">
+					<div class="swiper-wrapper">
+						<div class="swiper-slide">
+							<div class="item_prod"> <!-- item_prod ranker d_detail -->
+								<div class="item_state"> <!-- item_state AD soldout -->
+									<button type="button" class="itemLike">관심상품 추가</button>
+									<a href="#none" class="itemLink">
+										<div class="itemPic">
+											<img class="vLHTC pd_img" src="/images/mo/thumb/br_main03.png" alt="">
+										</div>
+										<p class="itemBrand">BRAND NAME</p>
+										<div class="itemName">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
+										<p class="itemPrice">
+											<span class="itemPrice_original">89,000</span>
+											80,100
+											<span class="itemPercent">10%</span>
+										</p>
+										<div class="itemcolorchip">
+											<span class="chip_color35" value="ABM">BEIGE</span>
+											<span class="chip_color54" value="BDS">BLACK</span>
+											<span class="chip_color40" value="YBR">WHITE</span>
+										</div>
+										<p class="itemBadge">
+											<span class="badge13">베스트 </span>
+										</p>
+										<div class="itemComment">#주문 폭주 상품</div>
+									</a>
+								</div>
+							</div>
+						</div>
+						<div class="swiper-slide">
+							<div class="item_prod"> <!-- item_prod ranker d_detail -->
+								<div class="item_state"> <!-- item_state AD soldout -->
+									<button type="button" class="itemLike">관심상품 추가</button>
+									<a href="#none" class="itemLink">
+										<div class="itemPic">
+											<img class="vLHTC pd_img" src="/images/mo/thumb/br_main03.png" alt="">
+										</div>
+										<p class="itemBrand">BRAND NAME</p>
+										<div class="itemName">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
+										<p class="itemPrice">
+											<span class="itemPrice_original">89,000</span>
+											80,100
+											<span class="itemPercent">10%</span>
+										</p>
+										<div class="itemcolorchip">
+											<span class="chip_color35" value="ABM">BEIGE</span>
+											<span class="chip_color54" value="BDS">BLACK</span>
+											<span class="chip_color40" value="YBR">WHITE</span>
+										</div>
+										<p class="itemBadge">
+											<span class="badge13">베스트 </span>
+										</p>
+										<div class="itemComment">#주문 폭주 상품</div>
+									</a>
+								</div>
+							</div>
+						</div>
+						<div class="swiper-slide">
+							<div class="item_prod"> <!-- item_prod ranker d_detail -->
+								<div class="item_state"> <!-- item_state AD soldout -->
+									<button type="button" class="itemLike">관심상품 추가</button>
+									<a href="#none" class="itemLink">
+										<div class="itemPic">
+											<img class="vLHTC pd_img" src="/images/mo/thumb/br_main03.png" alt="">
+										</div>
+										<p class="itemBrand">BRAND NAME</p>
+										<div class="itemName">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
+										<p class="itemPrice">
+											<span class="itemPrice_original">89,000</span>
+											80,100
+											<span class="itemPercent">10%</span>
+										</p>
+										<div class="itemcolorchip">
+											<span class="chip_color35" value="ABM">BEIGE</span>
+											<span class="chip_color54" value="BDS">BLACK</span>
+											<span class="chip_color40" value="YBR">WHITE</span>
+										</div>
+										<p class="itemBadge">
+											<span class="badge13">베스트 </span>
+										</p>
+										<div class="itemComment">#주문 폭주 상품</div>
+									</a>
+								</div>
+							</div>
+						</div>
+						<div class="swiper-slide">
+							<div class="item_prod"> <!-- item_prod ranker d_detail -->
+								<div class="item_state"> <!-- item_state AD soldout -->
+									<button type="button" class="itemLike">관심상품 추가</button>
+									<a href="#none" class="itemLink">
+										<div class="itemPic">
+											<img class="vLHTC pd_img" src="/images/mo/thumb/br_main03.png" alt="">
+										</div>
+										<p class="itemBrand">BRAND NAME</p>
+										<div class="itemName">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
+										<p class="itemPrice">
+											<span class="itemPrice_original">89,000</span>
+											80,100
+											<span class="itemPercent">10%</span>
+										</p>
+										<div class="itemcolorchip">
+											<span class="chip_color35" value="ABM">BEIGE</span>
+											<span class="chip_color54" value="BDS">BLACK</span>
+											<span class="chip_color40" value="YBR">WHITE</span>
+										</div>
+										<p class="itemBadge">
+											<span class="badge13">베스트 </span>
+										</p>
+										<div class="itemComment">#주문 폭주 상품</div>
+									</a>
+								</div>
+							</div>
+						</div>
+						<div class="swiper-slide">
+							<div class="item_prod"> <!-- item_prod ranker d_detail -->
+								<div class="item_state"> <!-- item_state AD soldout -->
+									<button type="button" class="itemLike">관심상품 추가</button>
+									<a href="#none" class="itemLink">
+										<div class="itemPic">
+											<img class="vLHTC pd_img" src="/images/mo/thumb/br_main03.png" alt="">
+										</div>
+										<p class="itemBrand">BRAND NAME</p>
+										<div class="itemName">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
+										<p class="itemPrice">
+											<span class="itemPrice_original">89,000</span>
+											80,100
+											<span class="itemPercent">10%</span>
+										</p>
+										<div class="itemcolorchip">
+											<span class="chip_color35" value="ABM">BEIGE</span>
+											<span class="chip_color54" value="BDS">BLACK</span>
+											<span class="chip_color40" value="YBR">WHITE</span>
+										</div>
+										<p class="itemBadge">
+											<span class="badge13">베스트 </span>
+										</p>
+										<div class="itemComment">#주문 폭주 상품</div>
+									</a>
+								</div>
+							</div>
+						</div>
+					</div>
+				</div>
+			</div>
+			<div class="od_calc_wrap">
+				<button type="button" class="btn btn_dark"><span>합계 <em th:text="${#numbers.formatInteger(order.sumRealPayAmt + order.totDelvFee, 1, 'COMMA')}">0</em>원</span></button>
+				<button type="button" id="btn_purchase" class="btn btn_primary"><span>구매하기 (<em th:text="${order.totCartCnt}"></em>개)</span></button> <!-- 210406_ID 추가 -->
+			</div>
+		</div>
+	</form>
+
+	<script>
+
+	</script>
+</th:block>
+
+</body>
+</html>

+ 93 - 1
src/main/webapp/WEB-INF/views/mob/cart/CartListFormMob.html

@@ -18,13 +18,90 @@
  -->
 <body>
 <th:block layout:fragment="content">
+	<main role="" id="" class="container od">
+		<section class="content shopping_bag" id="cartAjaxList">
+			<!-- 장바구니 내용 -->
+		</section>
 
+		<!-- 쿠폰사용안내 팝업 -->
+		<div class="modal fade couponInfo_pop" id="couponInfoPop" tabindex="-1" role="dialog" aria-labelledby="couponInfoLabel" aria-hidden="true">
+			<div class="modal-dialog" role="document">
+				<div class="modal-content">
+					<!-- 쿠폰사용안내 팝업 내용 -->
+				</div>
+			</div>
+			<a href="#close-modal" rel="modal:close" id="couponInfoPop_close" class="close-modal">Close</a>
+		</div>
+		<!-- //쿠폰사용안내 팝업 -->
+		<!-- 옵션변경_팝업01 -->
+		<div id="optModifyPop01" class="popup_box optModifyPop optModifyPop01">
+			<div class="lap">
+				<div class="popup_close">카테고리닫기</div>
+				<div class="popup_head">
+					<h2>옵션변경</h2>
+				</div>
+				<div class="popup_con"></div>
+			</div>
+		</div>
+		<!-- //옵션변경_팝업01 -->
+		<!-- 옵션변경_팝업02 -->
+		<div id="optModifyPop02" class="popup_box optModifyPop optModifyPop02">
+			<div class="lap">
+				<div class="popup_close">카테고리닫기</div>
+				<div class="popup_head">
+					<h2>옵션변경</h2>
+				</div>
+				<div class="popup_con"></div>
+			</div>
+		</div>
+		<!-- //옵션변경_팝업02 -->
+		<!-- 다다익선 할인 대상_팝업 -->
+		<div id="moresalePop" class="popup_box moresalePop">
+			<div class="lap">
+				<div class="popup_close">카테고리닫기</div>
+				<div class="popup_head">
+					<h2>다다익선 할인 상품</h2>
+					<div class="area_benefit">
+						<span class="tag primary">SALE</span>
+						<p>
+							<span>10만원 이상 구매 시 1만원 할인</span>
+							<span>5개 이상 구매 시 1만원 할인</span>
+						</p>
+					</div>
+				</div>
+				<div class="popup_con">
+
+				</div>
+			</div>
+		</div>
+		<!-- //다다익선 할인 대상_팝업 -->
+
+		<!-- 배송비 SAVE_팝업 -->
+		<div id="dlvrSavePop" class="popup_box dlvrSavePop">
+			<div class="lap">
+				<div class="popup_close">카테고리닫기</div>
+				<div class="popup_head">
+					<h2>배송비 SAVE 상품</h2>
+				</div>
+				<div class="popup_con">
+
+				</div>
+			</div>
+		</div>
+		<!-- //배송비 SAVE_팝업 -->
+	</main>
+
+	<script src="/ux/mo/js/swiper.min.js"></script>
+	<link rel="stylesheet" type="text/css" href="/ux/mo/css/swiper.min.css" />
 
 <script th:inline="javascript">
 	$(document).ready(function(){
 		// 1. 타이틀설정
 		$("#htopTitle").text("쇼핑백");
 
+		// 장바구니 상품 정보 select
+		getCartList();
+
 		//추천상품_슬라이드
 		var od_recommend_slide = new Swiper('.od_recommend .swiper-container', {
 			slidesPerView: 2,
@@ -79,8 +156,23 @@
 		$("#couponInfoPop_close").click(function() {
 			$("#couponInfoPop").modal("hide");
 		});
+	});
 
-	})
+	function getCartList(parameter) {
+		// 장바구니 정보 조회
+		$.ajax( {
+			type: "POST",
+			url : '/cart/goods/list',
+			data : parameter,
+			dataType : 'html',
+			success : function(result) {
+				if (result != null) {
+					$("#cartListForm").remove();
+					$("#cartAjaxList").html(result);
+				}
+			}
+		});
+	}
 </script>
 
 </th:block>

+ 5 - 6
src/main/webapp/WEB-INF/views/web/cart/CartListAjaxFormWeb.html

@@ -143,7 +143,7 @@
 													<p th:if="${cart.qtyTmtbSq > 0 and cart.applyQtySectionYn == 'N'}" class="notApplyTmtb"><a href="" class="btn_moresale"><span class="tag primary">SALE</span>다다익선 상품보기</a></p>
 													<p th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'Y'}" class="applyTmtb"><span class="tag primary">SALE</span>다다익선 할인 적용</p>
 													<p th:if="${cart.amtTmtbSq > 0 and cart.applyAmtSectionYn == 'N'}" class="notApplyTmtb"><a href="" class="btn_moresale"><span class="tag primary">SALE</span>다다익선 상품보기</a></p>
-													<p th:if="${(cart.goodsQty < cart.ordCanQty or cart.soldoutYn.equals('Y')) and cart.ordCanYn.equals('Y')}">품절된 상품입니다.</p>
+													<p th:if="${cart.soldoutYn.equals('Y') and cart.ordCanYn.equals('Y')}">품절된 상품입니다.</p>
 													<p th:if="${cart.ordCanYn.equals('N')}">해당 상품은 구매 불가능한 상품입니다.</p>
 													<p th:if="${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y') and cart.goodsQty < cart.minOrdQty}" th:text="|해당 상품은 최소 ${cart.minOrdQty}개부터 구매 가능합니다.|"></p>
 													<p th:if="${cart.soldoutYn.equals('N') and cart.ordCanYn.equals('Y') and cart.goodsQty > cart.maxOrdQty}" th:text="|해당 상품은 최대 ${cart.maxOrdQty}개까지 구매 가능합니다.|"></p>
@@ -433,7 +433,7 @@
 			<div class="area_order">
 				<div class="tit_box">
 					<h3>결제 정보</h3>
-					<span><em class="number" th:text="${order.totCartCnt}"></em>개의 상품</span>
+					<span><em class="number checkSelectCartListCnt" th:text="${order.totCartCnt}"></em>개의 상품</span>
 				</div>
 				<div class="od_amount_box">
 					<dl>
@@ -473,9 +473,7 @@
 				<div class="coupon_box">
 					<div class="coupon">
 						<div>
-							<p class="cp_name">
-								TBJ 시즌오프 20% 할인쿠폰
-							</p>
+							<p class="cp_name"></p>
 							<p class="cp_cont">
 								<!--<span><em>12,399,900</em>원</span>
 								<span><em>40</em>%</span>-->
@@ -595,7 +593,7 @@
 			cfnAddCart(compsList);*/
 
 			if([[${!order.shotCanYn.equals('Y')}]]) {
-				$(".shotDelvSelect").hide();
+				//$(".shotDelvSelect").hide();
 			}
 
 			$("#cartListForm .area_salecoupon .coupon_box").hide();
@@ -1006,6 +1004,7 @@
 			}
 
 			// 결제 총액 영역 수정
+			$("#cartListForm .checkSelectCartListCnt").text(Number(order.totCartCnt).toLocaleString());
 			$("#cartListForm .sumListPrice").text(Number(order.sumListPrice).toLocaleString());
 			$("#cartListForm .totDelvFee").text(Number(order.totDelvFee).toLocaleString());
 			sumRealPayAmt = order.sumRealPayAmt + order.totDelvFee;

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

@@ -40,7 +40,7 @@
 					</div>
 				</div>
 				<div id="cartAjaxList" class="cont_body">
-
+					<!-- 장바구니 내용 -->
 				</div>
 			</div>
 			<div class="content od_recommend">

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

@@ -46,7 +46,7 @@
 			<!-- search -->
 			<div class="search">
 				<button type="button" class="btn_open_search"><i class="ico ico_search"><em>통합검색 열기</em></i></button>
-				<a href="#" class="btn_ico btn_cart" title="장바구니 바로가기"><i class="ico ico_bag"></i><span class="circle_count">99+</span></a>
+				<a href="#" class="btn_ico btn_cart" title="장바구니 바로가기"><i class="ico ico_bag"></i><span class="circle_count"></span></a>
 			</div>
 			<!-- //search -->
 		</div>

+ 5 - 1
src/main/webapp/WEB-INF/views/web/common/fragments/FooterWeb.html

@@ -1051,11 +1051,15 @@
 	// 장바구니
 	let fnGetCartGoodsList = function() {
 		$.getJSON('/cart/quick/cart/list', function(order, status) {
+			let cartCnt;
+			if(order.totCartCnt > 99) {cartCnt = "99+";} else {cartCnt = order.totCartCnt;}
 			$("#quick_menu .shopingbag.quick_con.quick02 .quick_head a").attr("href", _PAGE_CART);
+			$("#header .gnb .btn_cart").attr("href", _PAGE_CART);
+			$("#header .gnb .btn_cart .circle_count").text(cartCnt);
 
 			if (status == 'success') {
 				let quickShoppingBagHtml = "";
-				$("#quick_menu #quick02 .count").text(order.totCartCnt);
+				$("#quick_menu #quick02 .count").text(cartCnt);
 
 				$("#quick_menu .shopingbag.quick_con.quick02 .quick_body").html("");
 				if(order.totCartCnt > 0) {

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

@@ -158,7 +158,7 @@
 					</form>
 				</div>
 
-				<a href="#" class="btn_ico btn_cart" title="장바구니 바로가기"><i class="ico ico_bag"></i><span class="circle_count">99+</span></a>
+				<a href="#" class="btn_ico btn_cart" title="장바구니 바로가기"><i class="ico ico_bag"></i><span class="circle_count"></span></a>
 
 			</div>
 			<!-- // search -->