Просмотр исходного кода

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

card007 5 лет назад
Родитель
Сommit
c3990f7976

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

@@ -166,13 +166,14 @@ public class TsfOrderController extends TsfBaseController {
 				mav.setViewName("redirect:/cart/list/form");					// 장바구니화면이동
 				return mav;
 			}
+			
 			// 선물받기여부
 			giftPackYn = "Y";
 			
 			// 선물하기일때 PC 로 접근하면 
 			if ("P".equals(TsfSession.getFrontGb())) {
-				//mav.setViewName("redirect:/cart/list/form");					// 장바구니화면이동
-				//return mav;
+				mav.setViewName("redirect:/cart/list/form");					// 장바구니화면이동
+				return mav;
 			}
 		}
 

+ 26 - 15
src/main/webapp/WEB-INF/views/mob/common/layout/MypageLayoutMob.html

@@ -7,23 +7,34 @@
 
 <body>
 
-	<th:block th:replace="~{web/common/fragments/VariablesWeb :: variables}"></th:block>
-	
-	<div class="app">
-		<!-- GNB -->
-		<th:block th:replace="~{mob/common/fragments/GnbSubMob :: gnb}"></th:block>
-		<!--// GNB -->
+<th:block th:replace="~{web/common/fragments/VariablesWeb :: variables}"></th:block>
 
-		<!-- CONTENT AREA -->
-		<th:block layout:fragment="content"></th:block>
-		<!-- // CONTENT AREA -->
+<div class="app">
+	<!-- GNB -->
+	<th:block th:replace="~{mob/common/fragments/GnbSubMob :: gnb}"></th:block>
+	<!--// GNB -->
 
-		<!-- Footer -->
-		<th:block th:replace="~{mob/common/fragments/FooterMob :: footer}"></th:block>
+	<!-- CONTENT AREA -->
+	<th:block layout:fragment="content"></th:block>
+	<!-- // CONTENT AREA -->
 
-		<th:block th:replace="~{mob/common/fragments/ScriptsMob :: scripts}"></th:block>
-		
-		<script th:src="@{'/biz/mypage.js?v=' + ${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}}" src="/biz/mypage.js"></script>
+	<!-- Footer -->
+	<th:block th:replace="~{mob/common/fragments/FooterMob :: footer}"></th:block>
+	
+	<!--교환상품 옵션변경 팝업 -->
+	<div class="modal pop_full optionChangePop" id="exchangePop" tabindex="-1" role="dialog" aria-labelledby="optionChangeLabel" aria-hidden="true">
+		<div class="modal-dialog" role="document">
+			<div class="modal-content">
+				<!--교환상품 옵션변경 팝업 내용 -->
+			</div>
+		</div>
+		<a href="#close-modal" rel="modal:close" id="exchangePop_close" class="close-modal">Close</a>
+	</div>
+	<!-- //교환상품 옵션변경 팝업 -->
+
+	<th:block th:replace="~{mob/common/fragments/ScriptsMob :: scripts}"></th:block>
+	
+	<script th:src="@{'/biz/mypage.js?v=' + ${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}}" src="/biz/mypage.js"></script>
 
 <script th:inline="javascript">
 /*<![CDATA[*/
@@ -44,7 +55,7 @@
 /*]]>*/
 </script>
 
-	</div>
+</div>
 	
 </body>
 </html>

+ 149 - 0
src/main/webapp/WEB-INF/views/mob/mypage/ChangeOptionPopupFormMob.html

@@ -0,0 +1,149 @@
+<div class="modal-header htop">
+	<h5 class="modal-title" id="optionChangeLabel">교환 옵션 변경</h5>
+</div>
+<div class="modal-body">
+	<div class="pop_cont">
+		<th:block th:if="${exchangeOptionInfo}" th:each="oneData, status : ${exchangeOptionInfo}">
+			<div class="option_list">
+				<ul>
+					<input type="hidden" name="chgOptCd2" th:attr="ordDtlItemSq=${oneData.ordDtlItemSq}, itemNm=${oneData.itemNm}, colorNm=${oneData.colorNm}, orgOptCd2=${oneData.optCd2}, goodsType=${oneData.goodsType}" th:value="${oneData.optCd2}">
+					<!-- 자사일때 opt2 교환 -->
+					<th:block th:if="${oneData.selfGoodsYn == 'Y'}">
+						<li>
+							<div class="option_name">
+								<span>
+									<em th:text="${oneData.itemNm}"></em> / <em th:text="${oneData.colorNm}"></em> / <em th:text="${oneData.optCd2}"></em>
+								</span>
+							</div>
+							<div class="option_box">
+								<th:block th:if="${oneData.optCd2Arr.length > 0}" th:each="option, idx : ${oneData.optCd2Arr}">
+									<button type="button" class="btn btn_default" th:name="${oneData.ordDtlItemSq}" th:id="|${oneData.ordDtlItemSq}_${option}|" th:value="${option}" th:disabled="${#numbers.formatInteger(oneData.currStockQtyArr[idx.index], 0)} <= 0 or ${oneData.soldoutYnArr[idx.index] == 'Y'}" th:checked="${option == oneData.optCd2}" onclick="fnRadioOption(this);">
+										<span th:text="${option}"></span>
+									</button>
+								</th:block>
+							</div>
+						</li>
+					</th:block>
+					<!-- //자사일때 opt2 교환 -->
+					<!-- 입점일때 opt2 교환 -->
+					<th:block th:unless="${oneData.selfGoodsYn == 'Y'}">
+						<li>
+							<div class="option_name">
+								<span>
+									<em th:text="${oneData.itemNm}"></em> / <em th:text="${oneData.colorNm}"></em> / <em th:text="${oneData.optCd2}"></em>
+								</span>
+							</div>
+							<div class="option_select">
+								<div class="select_custom select_option">
+									<div class="combo">
+										<div class="select">선택</div>
+									</div>
+								</div>
+							</div>
+						</li>
+					</th:block>
+					<!-- //입점일때 opt2 교환 -->
+				</ul>
+				
+			</div>
+		</th:block>
+	</div>
+</div>
+<div class="modal-footer">
+	<div class="btn_group_flex">
+		<div><button type="button" class="btn btn_dark" onclick="fnSaveOption();"><span>옵션 저장</span></button></div>
+	</div>
+</div>
+
+<!-- 210408_ 추가 : 교환 옵션 선택 팝업 -->
+<div id="exchangeOptionPop" class="popup_box exchangeOptionPop">
+	<div class="lap">
+		<div class="popup_close">카테고리닫기</div>
+		<div class="popup_head sr-only">
+			<h2 class="">주문상태 선택 팝업</h2>
+		</div>
+		<div class="popup_con">
+			<div class="button_list">
+				<th:block th:each="option, idx : ${oneData.optCd2Arr}">
+					<button type="button" th:disabled="${oneData.optCd2Arr.length} > 0 and (${#numbers.formatInteger(oneData.currStockQtyArr[idx.index],0)} <= 0 or ${oneData.soldoutYnArr[idx.index]} == 'Y')" th:attr="optCd2=${option}" onclick="fnSelectOption(this);">
+						<span th:text="${option}"></span>
+					</button>
+					</th:block>
+				</th:block>
+			</div> 
+		</div>
+	</div>
+</div>
+<!-- //210408_ 추가 : 교환 옵션 선택 팝업 -->
+
+<script th:inline="javascript">
+var oneData1 	= [[${oneData}]];
+var chgQty1 	= [[${chgQty}]];
+
+$(document).ready( function() {
+	
+});
+
+// 라디오 클릭 이벤트
+var fnRadioOption = function(param) {
+	$(param).parent().parent().parent().find('input[name=chgOptCd2]').val($(param).val());
+}
+
+// 셀렉트박스 클릭 이벤트
+var fnSelectOption = function(param) {
+	$("#exchangePop .option_list .option_select .select_custom.select_option .select").text($(param).attr('optCd2'));
+	$(param).parent().parent().find('input[name=chgOptCd2]').val($(param).attr('optCd2'));
+}
+
+// 옵션 저장 버튼 클릭 이벤트
+var fnSaveOption = function() {
+	// 변경 옵션 처리
+	let dataArr = [];
+
+	$.each($('#exchangePop input[name=chgOptCd2]'), function(idx, item) {
+		let ordDtlItemSq 	= $(item).attr('ordDtlItemSq');
+		let colorNm 		= $(item).attr('colorNm');
+		let itemNm 			= $(item).attr('itemNm');
+		let goodsType 		= $(item).attr('goodsType');
+		let chgOptCd2 		= $(item).val();
+
+		let data 			= {};
+		data.ordDtlNo 		= oneData1.ordDtlNo;
+		data.ordDtlItemSq 	= ordDtlItemSq;
+		data.chgQty 		= chgQty1;
+		data.colorNm 		= colorNm;
+		data.itemNm 		= itemNm;
+		data.goodsType 		= goodsType;
+		data.chgOptCd2 		= chgOptCd2;
+		dataArr.push(data);
+	});
+	
+	fnChangeOptionCallback(dataArr);
+
+	$('.close-modal').trigger('click');
+}
+
+// 버튼 색
+$(document).on('click','.optionChangePop .option_box button',function(){
+	$('.optionChangePop .option_box button').removeClass('on');
+	$(this).addClass('on');
+});
+
+// 버튼 색
+$(document).on('click','.popup_box .button_list button',function(){
+	$('.popup_box .button_list button').removeClass('on');
+	$(this).addClass('on');
+});
+
+// 반품 사유 선택 팝업
+$(document).on("click",".select_custom.select_option",function(e){
+	$('#exchangeOptionPop').show().addClass("active");
+	$("body").css({"overflow":"hidden"});
+});
+
+//팝업_닫기 
+$('.exchangeOptionPop .popup_close').on("click",function(){
+	$('.exchangeOptionPop').hide().removeClass('active');
+});
+</script>
+

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/mypage/MypageCreListInfoMob.html

@@ -70,7 +70,7 @@
 									<th:block th:if="${cre.chgGb} == 'G680_40'">
 										<div class="od_exchange_opt">
 											<span>교환옵션</span>
-											<th:block th:each="exchange , index, ${creList.exchangeOptionList}">
+											<th:block th:each="exchange , index : ${creList.exchangeOptionList}">
 												<th:block th:if="${cre.chgOrdDtlNo} == ${exchange.ordDtlNo}">
 													<!-- 세트상품일때 -->
 													<th:block th:if="${cre.goodsType} == 'G056_S'">

+ 286 - 187
src/main/webapp/WEB-INF/views/mob/mypage/MypageExchangeFormMob.html

@@ -17,11 +17,10 @@
 
 <th:block layout:fragment="content">
 
-<main role="" id="" class="container my">
-	<section class="content my_exchange">
+<main class="container my">
+	<section class="content my_exchange my_return">
 		<form id="exchangeForm" class="form_wrap">
 			<input type="hidden" name="chgReason"/>
-			
 			<div class="inner wide bg_beige">
 				<div class="order_number">
 					<dl class="clear">
@@ -57,26 +56,48 @@
 											<div class="name" th:text="${exchange.goodsNm}"></div>
 										</div>
 										<div class="od_opt">
-											<div class="option">
-												<th:block th:if="${return.goodsType == 'G056_S'}" th:each="option, status : ${return.colorNmArr}">
-													<em th:text="${return.itemNmArr[status.index]}"></em>
-													<em th:text="${return.optCd2Arr[status.index]}"></em>
-												</th:block>
-												<th:block th:unless="${return.goodsType == 'G056_S'}">
-													<em th:text="${return.colorNm}"></em>
-													<em th:text="${return.optCd2}"></em>
-												</th:block>
-											</div>
+											<!-- 세트상풍일때 -->
+											<th:block th:if="${exchange.goodsType == 'G056_S'}" th:each="option, status : ${exchange.colorNmArr}">
+												<div class="option">
+													<em th:text="${exchange.itemNmArr[status.index]}"></em>
+													<em th:text="${exchange.optCd2Arr[status.index]}"></em>
+												</div>
+											</th:block>
+											<!-- //세트상풍일때 -->
+											<!-- 일반상풍일때 -->
+											<th:block th:unless="${exchange.goodsType == 'G056_S'}">
+												<div class="option">
+													<em th:text="${exchange.colorNm}"></em>
+													<em th:text="${exchange.optCd2}"></em>
+												</div>
+											</th:block>
+											<!-- //일반상풍일때 -->
+										</div>
+										<div class="od_exchange_opt exchangeOption" style="display:none" th:attr="ordDtlNo=${exchange.ordDtlNo}">
+											<th:block th:if="${exchange.goodsType == 'G056_S'}" th:each="option, status : ${exchange.colorNmArr}">
+												<span>교환옵션</span>
+												<div class="option">
+													<em th:text="${exchange.itemNmArr[status.index]}"></em>
+													<em th:text="${exchange.optCd2Arr[status.index]}"></em>
+												</div>
+											</th:block>
+											<th:block th:unless="${exchange.goodsType == 'G056_S'}">
+												<span>교환옵션</span>
+												<div class="option">
+													<em th:text="${exchange.colorNm}"></em>
+													<em th:text="${exchange.optCd2}"></em>
+												</div>
+											</th:block>
 										</div>
 										<div class="od_calc">
-											<th:block th:if="${(return.ordAmt - return.cnclRtnAmt) > (return.realOrdAmt + return.pntDcAmt + return.gfcdUseAmt)}">
+											<th:block th:if="${(exchange.ordAmt - exchange.cnclRtnAmt) > (exchange.realOrdAmt + exchange.pntDcAmt + exchange.gfcdUseAmt)}">
 												<p class="sale_price">
-													<del><em th:text="${#numbers.formatInteger(return.ordAmt - return.cnclRtnAmt, 1, 'COMMA')}"></em>원</del>
+													<del><em th:text="${#numbers.formatInteger(exchange.ordAmt - exchange.cnclRtnAmt, 1, 'COMMA')}"></em>원</del>
 												</p>
 											</th:block>
 											<p class="price">
 												<span class="selling_price">
-													<em th:text="${#numbers.formatInteger(return.realOrdAmt + return.pntDcAmt + return.gfcdUseAmt, 1, 'COMMA')}"></em>원
+													<em th:text="${#numbers.formatInteger(exchange.realOrdAmt + exchange.pntDcAmt + exchange.gfcdUseAmt, 1, 'COMMA')}"></em>원
 												</span>
 											</p>
 										</div>
@@ -86,14 +107,15 @@
 							<div class="goods_select">
 								<div class="select_custom select_count">
 									<div class="combo">
-										<input type="hidden" name="chgQty" value="0" th:attr="ordDtlNo=${return.ordDtlNo}, ordCanChgQty=${return.ordCanChgQty}"/>
+										<input type="hidden" name="chgQty" value="0" th:attr="ordDtlNo=${exchange.ordDtlNo}, ordCanChgQty=${exchange.ordCanChgQty}"/>
+										<input type="hidden" name="chgOptionList" th:attr="ordDtlNo=${exchange.ordDtlNo}"/>
 										<div class="select">수량 0개</div>
 									</div>
 								</div>
 							</div>
 							<div class="goods_btn_wrap btn_group_flex">
 								<div>
-									<button type="button" class="btn btn_dark btn_opion_change">
+									<button type="button" class="btn btn_dark btn_opion_change" th:attr="ordNo=${exchange.ordNo}, ordDtlNo=${exchange.ordDtlNo}" onclick="fnChangeOption(this)">
 										<span>교환 옵션 변경</span>
 									</button>
 								</div>
@@ -107,6 +129,8 @@
 					</th:block>
 				</div>
 			</div>
+			
+			<!-- 교환사유 -->
 			<div class="inner">
 				<div class="tbl_wrap">
 					<div class="tbl_tit"> 
@@ -140,6 +164,9 @@
 					</div>
 				</div>
 			</div>
+			<!-- //교환사유 -->
+			
+			<!-- 반품방식 -->
 			<div class="inner wdGb">
 				<div class="tbl_wrap">
 					<div class="tbl_tit"> 
@@ -177,12 +204,14 @@
 					</div>
 				</div>
 			</div>
+			<!-- //반품방식 -->
+			
 			<div class="inner">
 				<div class="retrieve_box visit" style="display:block;" id="chgerLocation">
 					<div class="tbl_wrap">
 						<div class="tbl_tit"> 
 							<h3>반품 회수지 주소</h3>
-							<button type="button" id="btn_adrsChange_pop" class="btn_popup" onclick="fnChangeDeliveryAddr();"><span>회수지 변경</span></button>
+							<button type="button" id="btn_adrsChange_pop" class="btn_popup" onclick="fnChangeAddr('chger');"><span>회수지 변경</span></button>
 						</div>
 						<div class="tbl">
 							<div class="ship_info">
@@ -237,22 +266,22 @@
 				<div class="tbl_wrap">
 					<div class="tbl_tit"> 
 						<h3>교환 상품 배송지</h3>
-						<button type="button" class="btn_popup"><span>배송지 변경</span></button>
+						<button type="button" class="btn_popup" onclick="fnChangeAddr('recip')"><span>배송지 변경</span></button>
 					</div>
 					<div class="tbl">
 						<div class="ship_info">
 							<dl>
 								<div class="name">
 									<dt><span class="sr-only">배송지명</span></dt>
-									<dd th:text="${deliveryAddrInfo.recipNm}"></dd>
+									<dd id="recipNm" th:text="${deliveryAddrInfo.recipNm}"></dd>
 								</div>
 								<div class="addr">
 									<dt><span class="sr-only">배송주소</span></dt>
-									<dd id="chgerAddr" th:text="|${deliveryAddrInfo.recipBaseAddr}    ${deliveryAddrInfo.recipDtlAddr}|"></dd>
+									<dd id="recipAddr" th:text="|${deliveryAddrInfo.recipBaseAddr}    ${deliveryAddrInfo.recipDtlAddr}|"></dd>
 								</div>
 								<div class="phone">
 									<dt><span class="sr-only">휴대폰 번호</span></dt>
-									<dd th:text="${deliveryAddrInfo.recipPhnno}"></dd>
+									<dd id="recipPhnno" th:text="${deliveryAddrInfo.recipPhnno}"></dd>
 								</div>
 							</dl>
 							<input type="hidden" name="recipNm" 		th:value="${deliveryAddrInfo.recipNm}">
@@ -265,12 +294,12 @@
 					</div>
 				</div>
 				<!-- 교환 배송비결제 필요할 경우 -->
-				<div class="required_group">
-					<p>배송비 <span class="c_primary">5,000원</span> 추가 결제가 필요합니다.</p>
+				<div class="required_group" id="addDeliveryFee" style="display:none">
+					<p>배송비 <span class="c_primary" id="addPayCost">0원</span> 추가 결제가 필요합니다.</p>
 				</div>
 				<!-- //교환 배송비결제 필요할 경우 -->
 				<div class="btn_group btn_group_flex">
-					<div><button type="button" class="btn btn_default"><span>취소</span></button></div>
+					<div><button type="button" class="btn btn_default" onclick="cfnGoToPage(_PAGE_MYPAGE_CRE_LIST)"><span>취소</span></button></div>
 					<div><button type="button" id="btn_exchange_confirm" class="btn btn_dark" onclick="fnExchange()"><span>교환 신청</span></button></div>
 				</div>
 			</div>
@@ -280,7 +309,7 @@
 
 <!-- 210408_ 추가 : 교환 수량 선택 팝업 -->
 <th:block th:if="${exchangeList.returnList}" th:each="exchange, status : ${exchangeList.returnList}">
-	<div id="exchangeCountPop" class="popup_box exchangeCountPop">
+	<div class="popup_box exchangeCountPop">
 		<div class="lap">
 			<div class="popup_close">카테고리닫기</div>
 			<div class="popup_head sr-only">
@@ -288,11 +317,15 @@
 			</div>
 			<div class="popup_con">
 				<div class="button_list clear">
-					<button type="button" qty=0 onclick="fnChangeExchangeQty(this);"><span>수량 0개</span></button>
+					<button type="button" qty=0 onclick="fnChangeExchangeQty(this);">
+						<span>수량 0개</span>
+					</button>
 					<th:block th:each="num : ${#numbers.sequence(1, exchange.ordCanChgQty)}">
-						<button type="button" th:qty="${num}" onclick="fnChangeExchangeQty(this);"><span th:text="|수량 ${num}개|"></span></button>
+						<button type="button" th:qty="${num}" onclick="fnChangeExchangeQty(this);">
+							<span th:text="|수량 ${num}개|"></span>
+						</button>
 					</th:block>
-					<input type="hidden" name="ordDtlNo" th:value="${return.ordDtlNo}">
+					<input type="hidden" name="ordDtlNo" th:value="${exchange.ordDtlNo}">
 				</div> 
 			</div>
 		</div>
@@ -327,15 +360,145 @@ let oneData 		= [[${oneData}]];
 let isCustomer 		= false;
 let addrGb 			= '';
 let jsonObj 		= {};
+let ordNo 			= [[${oneData.ordNo}]];
 
-$(document).ready(function() {
-	// 입점업체의 경우 회수방식 방문회수 처리
+$(document).ready(function() {	
+	// 입점업체의 경우 회수방식 직접배송 처리
 	if (oneData.selfGoodsYn != 'Y') {
 		$('#withdraw').click();
 		$('.wdGb').css('display','none');
 	}
 });
 
+// 교환수량버튼기능
+$(".select_custom.select_count").each(function(idx){
+	$(this).on("click", function(){
+		// 전체비활성화
+		$(".exchangeCountPop").hide();
+		
+		// 수량팝업활성화
+		$(".exchangeCountPop").eq(idx).show().addClass("active");
+		
+		$("body").css({"overflow":"hidden"});
+	});
+});
+
+// 반품 방식 변경 이벤트
+$('#exchangeForm input[name=wdGb]').on('change', function() {
+	let wdGb = $('#exchangeForm input[name=wdGb]:radio:checked').val();
+
+	if (wdGb == 'W') {
+		$('#chgerLocation').css('display', '');
+		$('#returnLocation').css('display', 'none');
+	} else {
+		$('#chgerLocation').css('display', 'none');
+		$('#returnLocation').css('display', '');
+	}
+
+	// 추가 배송비 계산
+	fnAddCost();
+});
+
+// 교환 처리
+var fnExchange = function() {
+	let url 			= '/mypage/exchange';
+	let delvFeeCd 		= oneData.delvFeeCd;
+	let ordDtlNo 		= oneData.ordDtlNo;
+	let supplyCompCd 	= oneData.supplyCompCd;
+	let excDelvFee 		= oneData.excDelvFee;
+	let rtnDelvFee 		= oneData.rtnDelvFee;
+	let chgReason 		= $('#exchangeForm input[name=chgReason]').val();
+	let addPayCost 		= $('#exchangeForm input[name=addPayCost]').val();
+	
+	// 교환 사유 체크
+	if (gagajf.isNull(chgReason)) {
+		mcxDialog.alert('교환 사유를 선택해주세요.');
+		return false;
+	}
+
+	// 교환 상품 설정
+	let chgOrdDtlNoArr = [];
+	$.each($('#exchangeForm input[name=chgQty]'), function(idx, item) {
+		if (Number($(item).val()) > 0) {
+			chgOrdDtlNoArr.push($(item).attr('ordDtlNo'));
+		}
+	});
+
+	// 교환옵션 설정
+	let cancelReqList = [];
+	$.each($('#exchangeForm input[name=chgOptionList]'), function(idx, item) {
+		if (chgOrdDtlNoArr.includes($(item).attr('ordDtlNo')) && !gagajf.isNull($(item).val())) {
+			let json 		= $(item).val();
+			let jsonData 	= JSON.parse(json);
+			let cancelReq 	= {};
+			$.each(jsonData, function (index, chgOpt) {
+				cancelReq.ordDtlNo 			= chgOpt.ordDtlNo;
+				cancelReq.ordDtlItemSq 		= chgOpt.ordDtlItemSq;
+				cancelReq.delvFeeCd 		= delvFeeCd;
+				cancelReq.supplyCompCd 		= supplyCompCd;
+				cancelReq.excDelvFee 		= excDelvFee;
+				cancelReq.rtnDelvFee 		= rtnDelvFee;
+				cancelReq.ordChgOpt 		= chgOpt.chgOptCd2;
+				cancelReq.chgQty 			= chgOpt.chgQty;
+				cancelReqList.push(cancelReq);
+			});
+		}
+	});
+
+	// 교환 수량 및 변경 옵션 체크
+	if (chgOrdDtlNoArr.length > cancelReqList.length) {
+		mcxDialog.alert('교환하실 상품의 변경 옵션을 선택해주세요.');
+		return false;
+	} else if (chgOrdDtlNoArr.length < cancelReqList.length || chgOrdDtlNoArr.length == 0) {
+		mcxDialog.alert('교환하실 상품의 수량을 선택해주세요.');
+		return false;
+	}
+
+	// 교환 필요 데이터 설정
+	let data 			= {};
+	data.ordNo 			= oneData.ordNo;
+	data.isCustomer 	= isCustomer;
+	data.wdGb 			= $('#exchangeForm input[name=wdGb]:radio:checked').val();
+	data.wdInvoiceNo 	= $('#exchangeForm input[name=wdInvoiceNo]').val();
+	data.recipNm 		= $('#exchangeForm input[name=recipNm]').val();
+	data.recipPhnno 	= $('#exchangeForm input[name=recipPhnno]').val();
+	data.recipTelno 	= $('#exchangeForm input[name=recipTelno]').val();
+	data.recipZipcode 	= $('#exchangeForm input[name=recipZipcode]').val();
+	data.recipBaseAddr 	= $('#exchangeForm input[name=recipBaseAddr]').val();
+	data.recipDtlAddr 	= $('#exchangeForm input[name=recipDtlAddr]').val();
+	data.delvMemo 		= $('#exchangeForm input[name=delvMemo]').val();
+	data.chgReason 		= $('#exchangeForm input[name=chgReason]').val();
+	data.chgMemo 		= $('#exchangeForm textarea[name=chgMemo]').val();
+	data.chgerNm 		= $('#exchangeForm input[name=chgerNm]').val();
+	data.chgerPhnno 	= $('#exchangeForm input[name=chgerPhnno]').val();
+	data.chgerTelno 	= $('#exchangeForm input[name=chgerTelno]').val();
+	data.chgerEmail 	= $('#exchangeForm input[name=chgerEmail]').val();
+	data.chgerZipcode 	= $('#exchangeForm input[name=chgerZipcode]').val();
+	data.chgerBaseAddr 	= $('#exchangeForm input[name=chgerBaseAddr]').val();
+	data.chgerDtlAddr 	= $('#exchangeForm input[name=chgerDtlAddr]').val();
+	data.chgerRtnMemo 	= $('#exchangeForm input[name=chgerRtnMemo]').val();
+	data.addPayCost 	= addPayCost;
+	data.addPayAmt 		= 0;
+	data.cancelReqList 	= cancelReqList;
+
+	let jsonData = JSON.stringify(data);
+
+	// 교환 처리
+	gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
+		if (addPayCost > 0) {
+			let ordChgSq = result.ordChgSq;
+			let ordNo = result.ordNo;
+
+			$('#addPaymentForm input[name=ordChgSq]').val(ordChgSq);
+			$('#addPaymentForm input[name=ordNo]').val(ordNo);
+
+			document.addPaymentForm.submit();
+		} else {
+			cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
+		}
+	}, true);
+}
+
 // 교환 옵션 변경 팝업
 var fnChangeOption = function(param) {
 	let ordNo 		= $(param).attr('ordNo');
@@ -380,28 +543,36 @@ var fnChangeOption = function(param) {
 // 교환 옵션 변경 팝업 콜백 처리
 var fnChangeOptionCallback = function(param) {
 	let ordDtlNo;
+	let html = '';
+	
+	html += '<span>교환옵션</span>';
 
 	// 교환옵션 HTML 처리
-	let html = '												<span class="title">교환 옵션</span>\n';
 	$.each(param, function(idx, item) {
-		ordDtlNo = item.ordDtlNo;
-		let colorNm = item.colorNm;
-		let itemNm = item.itemNm;
-		let goodsType = item.goodsType;
-		let optCd2 = item.chgOptCd2;
-		let qty = item.chgQty;
+		ordDtlNo 		= item.ordDtlNo;
+		let colorNm 	= item.colorNm;
+		let itemNm 		= item.itemNm;
+		let goodsType 	= item.goodsType;
+		let optCd2 		= item.chgOptCd2;
+		let qty 		= item.chgQty;
 
 		if (goodsType == 'G056_S') {
-			html += '												<span class="option">' + itemNm + ' / ' + colorNm + ' / ' + optCd2 + '</span>\n';
+			html += '<div class="option">';
+			html += '	<em>'+itemNm+'</em>';
+			html += '	<em>'+optCd2+'</em>';
+			html += '</div>';
 		} else {
-			html += '												<span class="option">' + colorNm + ' / ' + optCd2 + '</span>\n';
+			html += '<div class="option">';
+			html += '	<em>'+colorNm+'</em>';
+			html += '	<em>'+optCd2+'</em>';
+			html += '</div>';
 		}
 	});
 
-	$.each($('.exchangeOption'), function(idx, item) {
+	$.each($('#exchangeForm .exchangeOption'), function(idx, item) {
 		if (ordDtlNo == $(item).attr('ordDtlNo')) {
 			$(item).css('display', '');
-			$(item).find('.option_wrap').html(html);
+			$(item).html(html);
 		}
 	});
 
@@ -413,135 +584,26 @@ var fnChangeOptionCallback = function(param) {
 	});
 }
 
-// 교환 처리
-var fnExchange = function() {
-	let url = '/mypage/exchange';
-	let delvFeeCd = oneData.delvFeeCd;
-	let ordDtlNo = oneData.ordDtlNo;
-	let supplyCompCd = oneData.supplyCompCd;
-	let excDelvFee = oneData.excDelvFee;
-	let rtnDelvFee = oneData.rtnDelvFee;
-	let chgReason = $('#exchangeForm input[name=chgReason]').val();
-	let addPayCost = $('#exchangeForm input[name=addPayCost]').val();
-	
-	// 교환 사유 체크
-	if (gagajf.isNull(chgReason)) {
-		mcxDialog.alert('교환 사유를 선택해주세요.');
-		return false;
-	}
-
-	// 교환 상품 설정
-	let chgOrdDtlNoArr = [];
-	$.each($('#exchangeForm input[name=chgQty]'), function(idx, item) {
-		if (Number($(item).val()) > 0) {
-			chgOrdDtlNoArr.push($(item).attr('ordDtlNo'));
-		}
-	});
-
-	// 교환옵션 설정
-	let cancelReqList = [];
-	$.each($('#exchangeForm input[name=chgOptionList]'), function(idx, item) {
-		if (chgOrdDtlNoArr.includes($(item).attr('ordDtlNo')) && !gagajf.isNull($(item).val())) {
-			let json = $(item).val();
-			let jsonData = JSON.parse(json);
-			let cancelReq = {};
-			$.each(jsonData, function (index, chgOpt) {
-				cancelReq.ordDtlNo = chgOpt.ordDtlNo;
-				cancelReq.ordDtlItemSq = chgOpt.ordDtlItemSq;
-				cancelReq.delvFeeCd = delvFeeCd;
-				cancelReq.supplyCompCd = supplyCompCd;
-				cancelReq.excDelvFee = excDelvFee;
-				cancelReq.rtnDelvFee = rtnDelvFee;
-				cancelReq.ordChgOpt = chgOpt.chgOptCd2;
-				cancelReq.chgQty = chgOpt.chgQty;
-				cancelReqList.push(cancelReq);
-			});
-		}
-	});
-
-	// 교환 수량 및 변경 옵션 체크
-	if (chgOrdDtlNoArr.length > cancelReqList.length) {
-		mcxDialog.alert('교환하실 상품의 변경 옵션을 선택해주세요.');
-		return false;
-	} else if (chgOrdDtlNoArr.length < cancelReqList.length || chgOrdDtlNoArr.length == 0) {
-		mcxDialog.alert('교환하실 상품의 수량을 선택해주세요.');
-		return false;
-	}
-
-	// 교환 필요 데이터 설정
-	let data = {};
-	data.ordNo = oneData.ordNo;
-	data.isCustomer = isCustomer;
-	data.wdGb = $('#exchangeForm input[name=wdGb]:radio:checked').val();
-	data.wdInvoiceNo = $('#exchangeForm input[name=wdInvoiceNo]').val();
-	data.recipNm = $('#exchangeForm input[name=recipNm]').val();
-	data.recipPhnno = $('#exchangeForm input[name=recipPhnno]').val();
-	data.recipTelno = $('#exchangeForm input[name=recipTelno]').val();
-	data.recipZipcode = $('#exchangeForm input[name=recipZipcode]').val();
-	data.recipBaseAddr = $('#exchangeForm input[name=recipBaseAddr]').val();
-	data.recipDtlAddr = $('#exchangeForm input[name=recipDtlAddr]').val();
-	data.delvMemo = $('#exchangeForm input[name=delvMemo]').val();
-	data.chgReason = $('#exchangeForm input[name=chgReason]').val();
-	data.chgMemo = $('#exchangeForm textarea[name=chgMemo]').val();
-	data.chgerNm = $('#exchangeForm input[name=chgerNm]').val();
-	data.chgerPhnno = $('#exchangeForm input[name=chgerPhnno]').val();
-	data.chgerTelno = $('#exchangeForm input[name=chgerTelno]').val();
-	data.chgerEmail = $('#exchangeForm input[name=chgerEmail]').val();
-	data.chgerZipcode = $('#exchangeForm input[name=chgerZipcode]').val();
-	data.chgerBaseAddr = $('#exchangeForm input[name=chgerBaseAddr]').val();
-	data.chgerDtlAddr = $('#exchangeForm input[name=chgerDtlAddr]').val();
-	data.chgerRtnMemo = $('#exchangeForm input[name=chgerRtnMemo]').val();
-	data.addPayCost = addPayCost;
-	data.addPayAmt = 0;
-	data.cancelReqList = cancelReqList;
-
-	let jsonData = JSON.stringify(data);
-
-	// 교환 처리
-	gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
-		if (addPayCost > 0) {
-			let ordChgSq = result.ordChgSq;
-			let ordNo = result.ordNo;
-
-			$('#addPaymentForm input[name=ordChgSq]').val(ordChgSq);
-			$('#addPaymentForm input[name=ordNo]').val(ordNo);
-
-			document.addPaymentForm.submit();
-		} else {
-			cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
-		}
-	}, true);
-}
-
-// 반품 방식 변경 이벤트
-$('#exchangeForm input[name=wdGb]').on('change', function() {
-	let wdGb = $('#exchangeForm input[name=wdGb]:radio:checked').val();
-
-	if (wdGb == 'W') {
-		$('#chgerLocation').css('display', '');
-		$('#returnLocation').css('display', 'none');
-	} else {
-		$('#chgerLocation').css('display', 'none');
-		$('#returnLocation').css('display', '');
-	}
-
-	// 추가 배송비 계산
-	fnAddCost();
-});
-
 // 교환 수량 변경 이벤트
 var fnChangeExchangeQty = function(param) {
-	let ordDtlNo = $(param).attr('ordDtlNo');
-
+	var ordDtlNo = "";
+	
+	// 교환수량설정
 	if (param != null) {
-		$(param).parent().parent().find('input[name=chgQty]').val($(param).attr('qty'));
+		$("#exchangeForm input[name=chgQty]").each(function(idx){
+			ordDtlNo = $(this).attr("ordDtlNo");
+			if (ordDtlNo == $(param).parent().find("input[name=ordDtlNo]").val()) {
+				$(this).val($(param).attr("qty"));
+				$(this).parent().find(".select").text($(param).find("span").text());
+			}
+		});
 	}
-
+	
 	// 교환옵션 표기 초기화
-	$.each($('.exchangeOption'), function(idx, item) {
+	$.each($('#exchangeForm .exchangeOption'), function(idx, item) {
 		if (ordDtlNo == $(item).attr('ordDtlNo')) {
 			$(item).css('display', 'none');
-			$(item).find('.option_wrap').html('');
+			$(item).html('');
 		}
 	});
 
@@ -558,14 +620,15 @@ var fnChangeExchangeQty = function(param) {
 
 // 교환 사유 변경 이벤트
 var fnChangeExchangeReason = function(param) {
-	var customerReasonArr = ['G689_10', 'G689_30'];
-	let chgReason = $(param).attr('chgReason');
+	var customerReasonArr 	= ['G689_10', 'G689_30'];
+	let chgReason 			= $(param).attr('chgReason');
 
 	// 귀책사유체크(취소,반품,교환)
 	isCustomer = customerReasonArr.includes(chgReason);
-
-	// 교환 사유 설정
-	$(param).parent().parent().find('input[name=chgReason]').val(chgReason);
+	
+	// 반품 사유 설정
+	$('#exchangeForm input[name=chgReason]').val(chgReason);
+	$("#exchangeForm .select_custom.select_exchange .select").text($(param).find("span").text());
 
 	// 추가 배송비 계산
 	fnAddCost();
@@ -573,9 +636,9 @@ var fnChangeExchangeReason = function(param) {
 
 // 추가 배송비 계산
 var fnAddCost = function() {
-	let addPayCost = 0;
-	let delvFee = oneData.delvFee;
-	let rtnDelvFee = oneData.rtnDelvFee;
+	let addPayCost 		= 0;
+	let delvFee 		= oneData.delvFee;
+	let rtnDelvFee 		= oneData.rtnDelvFee;
 
 	// 교환 수량 체크
 	let qty = 0;
@@ -604,29 +667,27 @@ var fnAddCost = function() {
 
 // 배송지 정보 설정
 var delvAddrSet = function(delvObj) {
-	let recipNm = delvObj.recipNm;
-	let recipPhnno = delvObj.recipPhnno;
-	let recipZipcode = delvObj.recipZipcode;
-	let recipBaseAddr = delvObj.recipBaseAddr;
-	let recipDtlAddr = delvObj.recipDtlAddr;
-	let delvMemo = delvObj.delvMemo;
+	let recipNm 		= delvObj.recipNm;
+	let recipPhnno 		= delvObj.recipPhnno;
+	let recipZipcode 	= delvObj.recipZipcode;
+	let recipBaseAddr 	= delvObj.recipBaseAddr;
+	let recipDtlAddr 	= delvObj.recipDtlAddr;
+	let delvMemo 		= delvObj.delvMemo;
 
 	if (addrGb == 'recip') {
-		$('#recipNm').text(recipNm);
-		$('#recipPhnno').text(recipPhnno);
-		$('#recipAddr').text(recipBaseAddr + ' ' + recipDtlAddr);
-		$('#delvMemo').text(delvMemo);
-
 		$('#exchangeForm input[name=recipNm]').val(recipNm);
 		$('#exchangeForm input[name=recipPhnno]').val(recipPhnno);
 		$('#exchangeForm input[name=recipZipcode]').val(recipZipcode);
 		$('#exchangeForm input[name=recipBaseAddr]').val(recipBaseAddr);
 		$('#exchangeForm input[name=recipDtlAddr]').val(recipDtlAddr);
 		$('#exchangeForm input[name=delvMemo]').val(delvMemo);
+		
+		$('#recipNm').text(recipNm);
+		$('#recipPhnno').text(recipPhnno);
+		$('#recipAddr').text(recipBaseAddr + ' ' + recipDtlAddr);
+		$('#delvMemo').text(delvMemo);
 	} else if (addrGb == 'chger') {
-		let chgerAddr = recipBaseAddr + ' ' + recipDtlAddr + '\n';
-		chgerAddr += '<button type="button" class="btn btn_default btn_sm" onclick="fnChangeAddr(\'chger\');"><span>회수지 변경</span></button>';
-
+		let chgerAddr = recipBaseAddr + ' ' + recipDtlAddr;
 		$('#exchangeForm input[name=chgerNm]').val(recipNm);
 		$('#exchangeForm input[name=chgerPhnno]').val(recipPhnno);
 		$('#exchangeForm input[name=chgerZipcode]').val(recipZipcode);
@@ -654,6 +715,44 @@ var fnChangeAddr = function(param) {
 }
 </script>
 
+<script>
+// 세부 사유 글자 수 제한
+$('.doc_return').keyup(function(e){
+	var content = $(this).val();
+	$('#return_cnt').html(content.length);
+	if (content.length > 200){
+		mcxDialog.alert("최대 200자까지 입력 가능합니다."); //210420_수정 : 시스템 alert -> dialog 변경.
+		$(this).val(content.substring(0, 200));
+		$('#return_cnt').html("200");
+	}
+});
+
+// 반품 사유 선택 팝업
+$(document).on("click", ".select_custom.select_exchange",function(e){
+	$('#exchangeReasonPop').show().addClass("active");
+	$("body").css({"overflow":"hidden"});
+});
+
+// 팝업_닫기
+$('.popup_close').on("click",function(){
+	$('.popup_box').hide().removeClass('active');
+	$("body").css({"overflow":"visible"});
+});
+
+// 버튼 색
+$(document).on('click', '.popup_box .button_list button',function(){
+	$('.popup_box .button_list button').removeClass('on');
+	$(this).addClass('on');
+});
+
+function handleOnInput(el, maxlength) {
+	if(el.value.length > maxlength)  {
+		el.value = el.value.substr(0, maxlength);
+	}
+}
+</script>
+
+
 </th:block>
 
 </body>

+ 21 - 89
src/main/webapp/WEB-INF/views/mob/mypage/MypageReturnFormMob.html

@@ -318,7 +318,7 @@
 						 -->
 					</div>
 				</div>
-				<div class="required_group">
+				<div class="required_group" id="addDeliveryFee" style="display:none">
 					<p>배송비 <span class="c_primary" id="addPayCost">0원</span> 추가 결제가 필요합니다.</p>
 				</div>
 				<div class="btn_group btn_group_flex">
@@ -362,7 +362,9 @@
 		<div class="popup_con">
 			<div class="button_list">
 				<th:block th:if="${returnReason}" th:each="oneData, status : ${returnReason}">
-					<button type="button" th:attr="chgReason=${oneData.cd}" onclick="fnChangeReturnReason(this);"><span th:text="${oneData.cdNm}">단순 변심</span></button>
+					<button type="button" th:attr="chgReason=${oneData.cd}" onclick="fnChangeReturnReason(this);">
+						<span th:text="${oneData.cdNm}">단순 변심</span>
+					</button>
 				</th:block>
 			</div>
 		</div>
@@ -483,6 +485,22 @@ $(".select_custom.select_count").each(function(idx){
 	});
 });
 
+// 반품 방식 변경 이벤트
+$('#returnForm input[name=wdGb]').on('change', function() {
+	let wdGb = $('#returnForm input[name=wdGb]:radio:checked').val();
+
+	if (wdGb == 'W') {
+		$('#chgerLocation').css('display', '');
+		$('#returnLocation').css('display', 'none');
+	} else {
+		$('#chgerLocation').css('display', 'none');
+		$('#returnLocation').css('display', '');
+	}
+
+	// 환불금액 계산
+	fnChangeReturnQty();
+});
+
 // 은행목록 버튼 기능
 $("#refundBankPop .button_list button").each(function(){
 	$(this).on("click", function(){
@@ -655,7 +673,7 @@ var fnChangeReturnQty = function(param) {
 				spanTotDeliveryFee 	= 0;
 			}
 			
-			let goodsCancelAmt 	= spanCnclRtnAmt;										// 상품취소금액
+			let goodsCancelAmt 	= spanCnclRtnAmt;											// 상품취소금액
 			let addDelvFee 		= spanTotRtnDelvFee + spanTotDeliveryFee;					// 추가배송비
 			let deductDcAmt 	= spanCpnDcAmt + spanTmtbDcAmt + spanPrePntDcAmt;			// 할인금액 차감(쿠폰+다다익선+선포인트)
 			let refundPayAmt 	= spanRefundAmt - addDelvFee;								// 결제금액 환불
@@ -689,22 +707,6 @@ var fnChangeReturnQty = function(param) {
 	}
 }
 
-// 반품 방식 변경 이벤트
-$('#returnForm input[name=wdGb]').on('change', function() {
-	let wdGb = $('#returnForm input[name=wdGb]:radio:checked').val();
-
-	if (wdGb == 'W') {
-		$('#chgerLocation').css('display', '');
-		$('#returnLocation').css('display', 'none');
-	} else {
-		$('#chgerLocation').css('display', 'none');
-		$('#returnLocation').css('display', '');
-	}
-
-	// 환불금액 계산
-	fnChangeReturnQty();
-});
-
 // 반품 사유 변경 이벤트
 var fnChangeReturnReason = function(param) {
 	var customerReasonArr 	= ['G688_10'];
@@ -873,76 +875,6 @@ $('.refundAccountPop .popup_close').on("click",function(){
 $('.refundBankPop .popup_close').on("click",function(){
 	$('.refundBankPop').hide().removeClass('active');
 });
-
-/* 210409_추가 : alert 모음 
-$(document).on("click", "#btn_bank_certi", function(){
-	mcxDialog.alert("계좌인증에 성공했습니다.", {
-			//alert("계좌정보를 다시 확인해주세요.") : 계좌인증 실패/유효하지 않은 경우
-			//alert("은행을 선택해주세요.") : 은행을 선택하지 않은 경우
-			//alert("계좌번호를 입력해주세요.") : 계좌번호를 입력하지 않은 경우
-		sureBtnText: "확인",  // Confirmation button text
-	});
-});
-*/
-/*
-$(document).ready(function(){
-
-	//210408_추가 : 스크립트 추가.
-	//반품회수방법 선택 스크립트 추가
-	$(document).on('change','.my_return .retrieve_method #rdi_retrieve_visit',function(e){
-		$('.my_return .retrieve_box.direct').hide();
-		$('.my_return .retrieve_box.visit').show();
-		return false;
-	}).on('change','.my_return .retrieve_method #rdi_retrieve_direct',function(e){
-		$('.my_return .retrieve_box.visit').hide();
-		$('.my_return .retrieve_box.direct').show();
-		return false;
-	});
-
-	// 반품 수량 선택 팝업
-	//$(document).on("click",".select_custom.select_count",function(e){
-		//$('#returnCountPop').show().addClass("active");
-		//$("body").css({"overflow":"hidden"});
-	//});
-
-	//배송지추가_팝업
-	$(document).on('click','#btn_adrsAdd_pop',function(e){
-		$("#adrsAddPop").modal("show");
-		return false;
-	});      
-	$("#adrsAddPop_close").click(function() {
-		$("#adrsAddPop").modal("hide");
-	});
-
-	//배송지정보_팝업
-	$(document).on('click','#btn_adrsChange_pop',function(e){
-		$("#adrsChangePop").modal("show");
-		return false;
-	});
-	$("#adrsChangePop_close").click(function() {
-		$("#adrsChangePop").modal("hide");
-	});
-
-	//배송지수정_팝업
-	$(document).on('click','#btn_addrModify_pop',function(e){
-		$("#adrsModifyPop").modal("show");
-		return false;
-	});
-	$("#adrsModifyPop_close").click(function() {
-		$("#adrsModifyPop").modal("hide");
-	});
-
-	// //210408_추가 : 스크립트
-
-	$(document).on("click", "#btn_order_return", function(){
-		mcxDialog.alert("반품 신청이 접수되었습니다.", {
-				//alert("반품하실 상품의 수량을 선택해주세요.") : 클릭 시 반품 수량을 모두 0개로 선택한 경우
-				//alert("반품 사유를 선택해주세요.") : 반품 사유를 선택하지 않는 경우
-			sureBtnText: "확인",  // Confirmation button text
-		});
-	});
-});
-*/
 </script>
 
 </th:block>

+ 7 - 3
src/main/webapp/WEB-INF/views/mob/order/OrderFormMob.html

@@ -753,7 +753,12 @@ var fnGetDailyDeliveryCheck = function (temp) {
 				}
 
 				// json 값 설정
-				var orderListObj 		= {"cartSqArr":cartSqArr, "shotDelvYn":tempShotDelvYn};
+				var orderListObj 		= {
+					"cartSqArr"		: cartSqArr
+					, "shotDelvYn"	: tempShotDelvYn
+					, "giftPackYn"	: giftPackYn
+				};
+				
 				var orderListJsonData 	= JSON.stringify(orderListObj);
 				
 				if (temp) {
@@ -786,8 +791,6 @@ var orderListInfoSet = function(orderListJsonData, temp) {
 			if (result != null) {
 				$("#orderListInfo").css("display", "block");
 				$("#orderListInfo").html(result);
-				
-				alert(result);
 
 				$("#delvFeeCdCnt").text($("#orderForm input[name=delvFeeCdCnt]").val());
 				
@@ -1115,6 +1118,7 @@ var paymentInfoSet = function() {
 					var paynormalArr		= paynormal.split("|");
 					var pgGb				= paynormalArr[0];
 					var payMeans			= paynormalArr[1];
+					var custPayMeans		= "N";
 					
 					// 자주쓰는결제타입
 					if ($("#orderForm #chk-agree_paymethod").is(":checked") == true) {

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

@@ -1,38 +1,26 @@
-<!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">
+		<li class="fold_gift">
+			<!-- 선물하기주문내역 --> 
 			<div class="fold_head">
 				<a href="javascript:void(0)">
 					<div>
-						<th:block th:if="${order.giftPackYn} == 'N'">
-							<div class="fold_tit"><span>주문내역</span></div>
-						</th:block>
-						<th:block th:if="${order.giftPackYn} == 'Y'">
-							<div class="fold_tit"><span>선물하기 주문내역</span></div>
-						</th:block>
-						<div class="data"><em class="c_primary" th:text="${goodsTotCnt}"></em>개의 상품</div>
+						<div class="fold_tit">
+							<th:block th:unless="${order.giftPackYn} == 'N'" >
+								<span pan="">선물하기 주문내역</span>
+							</th:block>
+							<th:block th:if="${order.giftPackYn} == 'N'" >
+								<span>주문내역</span>
+							</th:block>
+						</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}">
@@ -132,7 +120,7 @@
 							<th:block th:if="${goodsDcSumAmt} > 0">
 								<dd><span class="disc_amount" th:text="|-${#numbers.formatInteger(goodsDcSumAmt, 1, 'COMMA')}원|"></span></dd>
 							</th:block>
-							<th:block th:if="${cpn1DcSumAmt} < 1">
+							<th:block th:if="${goodsDcSumAmt} < 1">
 								<dd><span class="disc_amount" th:text="|${#numbers.formatInteger(goodsDcSumAmt, 1, 'COMMA')}원|"></span></dd>
 							</th:block>
 						</div>
@@ -207,3 +195,7 @@
 		</li>
 	</ul>
 </div>
+<input type="hidden" name="delvFeeCdCnt" th:value="${delvFeeCdCnt}"/>
+<input type="hidden" name="shotCnt" th:value="${shotCnt}"/>
+<input type="hidden" name="wmsCnt" 	th:value="${wmsCnt}"/>
+

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

@@ -62,12 +62,14 @@
 										</span>
 									</label>
 								</li>
-								<li>
-									<input type="radio" name="rdi-paynormal" id="payVirtualBank" class="KCP" value="KCP|G014_20"> 
-									<label for="payVirtualBank">
-										<span class="payType">무통장입금</span>
-									</label>
-								</li>
+								<th:block th:if="${order.giftPackYn} == 'N'">
+									<li>
+										<input type="radio" name="rdi-paynormal" id="payVirtualBank" class="KCP" value="KCP|G014_20"> 
+										<label for="payVirtualBank">
+											<span class="payType">무통장입금</span>
+										</label>
+									</li>
+								</th:block>
 								<li>
 									<input type="radio" name="rdi-paynormal" id="payPayco" class="PAYCO" value="PAYCO|G014_30"> 
 									<label for="payPayco">