Procházet zdrojové kódy

주문서개발중

jsh77b před 5 roky
rodič
revize
3e0757f474

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

@@ -717,8 +717,6 @@ public class TsfOrderController extends TsfBaseController {
 			// 2.1 주문고객 배송지정보조회
 			Collection<Order> deliveryAddrList = coreOrderService.getDeliveryAddrInfo(order);
 			
-			log.info("order.getCustDelvAddrSq() ::: {} " ,order.getCustDelvAddrSq());
-			
 			for (Order deliveryAddr : deliveryAddrList) {
 				// 회원 배송지 번호가 존재하면 실행
 				if (order.getCustDelvAddrSq() > 0) {
@@ -735,6 +733,29 @@ public class TsfOrderController extends TsfBaseController {
 		return mav;
 	}
 	
+	/**
+	 * 배송지정보수정
+	 *
+	 * @param
+	 * @return
+	 * @author jsh77b
+	 * @since 2021. 02. 17
+	 */
+	@ResponseBody
+	@PostMapping(value = "/updateCustDeliveryAddr")
+	public String updateDeliveryAddr(@RequestBody Order order) {
+		// 1. 로그인체크 후 custNo 설정
+		if (TsfSession.isLogin()) {
+			order.setCustNo(TsfSession.getInfo().getCustNo()); // 고객번호등록
+		} else {
+			order.setCustNo(0);
+		}
+		
+		coreOrderService.updateCustDeliveryAddr(order);
+		
+		return message.getMessage("SUCC_0001");
+	}
+	
 	/**
 	 * 배송지정보추가팝업
 	 *
@@ -814,6 +835,68 @@ public class TsfOrderController extends TsfBaseController {
 		
 		return mav;
 	}
+	
+	/**
+	 * 쿠폰변경팝업
+	 *
+	 * @param
+	 * @return
+	 * @author jsh77b
+	 * @since 2021. 02. 17
+	 */
+	@SuppressWarnings({ "unused", "unchecked" })
+	@ResponseBody
+	@PostMapping(value = "/couponApplyPop")
+	public ModelAndView couponApplyPop(@RequestBody Order order) {
+		
+		ModelAndView mav = new ModelAndView();
+		
+		GagaMap goodsDcAmtMap = new GagaMap();
+		
+		Collection<Order> goodsApplyCpnList 	= new ArrayList<Order>();
+		Collection<Order> goodsCpnList			= new ArrayList<Order>();
+		Collection<Order> cartCpnList 			= new ArrayList<Order>();
+		
+		// 1. 로그인체크 후 custNo 설정
+		if (TsfSession.isLogin()) {
+			order.setCustNo(TsfSession.getInfo().getCustNo()); // 고객번호등록
+		} else {
+			order.setJsessionId(TsfSession.getSessionId());
+		}
+		
+		// 2. 로그인체크 후 정보 설정 (할인구간정보조회)
+		if (TsfSession.isLogin()) {
+			
+			// 2.1 배송단위별 상품 목록 조회 (장바구니)
+			Collection<Order> tmtbGoodsApplyList = cartService.getMoreBetterAmtList(order);
+			
+			// 2.2 상품금액, 선포인트, 다다익선할인금액
+			goodsDcAmtMap = coreOrderService.getGoodsDcAmt(tmtbGoodsApplyList);
+			
+			// 2.3 배송단위별 장바구니 상품 건수 조회 (장바구니상품)
+			GagaMap delvOrderMap = coreOrderService.getCartDelvGoodsCntList(tmtbGoodsApplyList, order);
+			
+			// 2.4 상품쿠폰, 장바구니쿠폰 목록 조회
+			GagaMap goodsCartCpnMap = coreOrderService.getGoodsCartCpnApplyGoodsList(order);
+			
+			goodsCpnList 	= (Collection<Order>) goodsCartCpnMap.get("goodsCpnList");
+			cartCpnList 	= (Collection<Order>) goodsCartCpnMap.get("cartCpnList");
+			
+			// 2.5 상품쿠폰 적용된 상품 목록(상품기준)
+			goodsApplyCpnList = coreOrderService.getGoodsCpnApplyList(tmtbGoodsApplyList, goodsCpnList);
+			
+			// 2.6 장바구니쿠폰(장바구니기준 상품목록)
+			cartCpnList = coreOrderService.getCartCpnApplyList(tmtbGoodsApplyList, cartCpnList);
+		} 
+
+		mav.addObject("goodsApplyCpnList"				, goodsApplyCpnList);						// 상품적용쿠폰
+		mav.addObject("cartCpnList"						, cartCpnList);								// 장바구니쿠폰목록
+		mav.addObject("order"							, order);									// 파라미터
+
+		mav.setViewName(super.getDeviceViewName("order/OrderCouponApplyPop"));
+		
+		return mav;
+	}
 
 	/**
 	 * 카카오페이 결제 요청 처리

+ 101 - 0
src/main/webapp/WEB-INF/views/web/order/OrderCouponApplyPopWeb.html

@@ -0,0 +1,101 @@
+<!DOCTYPE html>
+<html lang="ko" xmlns:th="http://www.thymeleaf.org">
+
+<div class="modal-dialog" role="document">
+	<div class="modal-content">
+		<div class="modal-header">
+			<h5 class="modal-title" id="couponModifyLabel">할인쿠폰 변겅</h5>
+		</div>
+		<div class="modal-body">
+			<div class="pop_cont">
+				<h6>상품쿠폰</h6>
+				<div class="area_item_coupon">
+					<th:block th:each="goods, i : ${goodsApplyCpnList}">
+						<th:block th:if="${goods.goodsCpnList.size() > 0}">
+							<div id="item1" class="apply_item">
+								<div class="item_gd">
+									<figure>
+										<span class="thumb"><img src="/images/pc/thumb/tmp_odSide1.jpg" alt=""></span>
+										<figcaption>
+											<div class="brand" th:text="${goods.brandEnm}+' '+${goods.brandKnm}"></div>
+											<div class="name" th:text="${goods.goodsNm}"></div>
+											<div class="option" th:each="opt, index : ${goods.itemNmArr}"></div>
+										</figcaption>
+									</figure>
+								</div>
+								<div class="form_field">
+									<div class="select_custom coupon_list">
+										<div class="combo">
+											<div class="select">
+												<div class="item_coupon"><p class="empty">선택</p></div>
+											</div>
+											<ul class="list">
+												<input type="hidden" name="cpnType" value="goodsCpn"/>
+												<input type="hidden" name="cpnCartSq" th:value="${goods.cartSq}"/>
+												<input type="hidden" name="custCpnSq" value="0"/>
+												<input type="hidden" name="cpnDcAmt" value="0"/>
+														
+												<!-- 선택처리 class="selected" / 선택불가 aria-disabled="true"추가  -->
+												<th:block th:each="goodsCpn, k : ${goods.goodsCpnList}">
+													<li class="selected">
+														<div class="item_coupon">
+															<p class="name" th:text="${goodsCpn.cpnNm}"></p>
+															<p class="txt">
+																<th:block th:if="${goodsCpn.buyLimitAmt} > 0">
+																	<span th:text="${#numbers.formatInteger(goodsCpn.buyLimitAmt, 1, 'COMMA')}"></span>원 이상 구매시
+																</th:block> 
+																최대 <span th:text="${#numbers.formatInteger(goodsCpn.maxDcAmt, 1, 'COMMA')}"></span>원 할인
+															</p>
+															<p class="discount">
+																<span th:text="${#numbers.formatInteger(goodsCpn.cpnDcAmt, 1, 'COMMA')}"></span>원 할인
+															</p>
+														</div>
+													</li>
+												</th:block>
+												<li>
+													<div class="item_coupon">
+														<p class="empty">적용 안함</p>
+													</div>
+												</li>
+											</ul>
+										</div>
+									</div>
+								</div>
+							</div>
+						</th:block>
+					</th:block>
+				</div>
+				
+				<h6>장바구니 쿠폰</h6>
+				<div class="area_cart_coupon">
+					<div class="form_field">
+						<div>
+							<input type="radio" name="rdi-cart-coupon" id="rdi-cart-coupon1"
+								value="" checked=""> <label for="rdi-cart-coupon1">
+								<div class="cart_coupon">
+									<p class="name">장바구니 쿠폰명1</p>
+									<p class="txt">
+										<span>30,000</span>원 이상 구매시 최대 <span>3,000</span>원 할인
+									</p>
+									<p class="discount">
+										<span>15,000</span>원 할인
+									</p>
+								</div>
+							</label>
+						</div>
+					</div>
+				</div>
+				
+			</div>
+		</div>
+		<div class="modal-footer">
+			<button type="button" id="" class="btn btn_primary">
+				<span>총 <em>99,999,999</em>원 쿠폰 적용
+				</span>
+			</button>
+		</div>
+	</div>
+</div>
+<a href="#close-modal" rel="modal:close" id="couponModifyPop_close" class="close-modal">Close</a>
+
+</html>

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

@@ -42,7 +42,7 @@
 					<div class="sale_coupon_box">
 						<div>
 							<span class="maxdisc_amount">총&nbsp;<em class="cpnDcAmt"></em>원 할인</span>
-							<button id="btn_couponModify_pop" class="btn btn_default btn_sm">
+							<button type="button" id="btn_couponModify_pop" class="btn btn_default btn_sm">
 								<span>쿠폰변경</span>
 							</button>
 						</div>

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

@@ -70,7 +70,7 @@
 			<div>
 				<dt>배송요청 사항</dt>
 				<dd>
-					<th:block th:text="${deliveryAddrInfo.delvMemo}" id="delvMemo"></th:block>
+					<span th:text="${deliveryAddrInfo.delvMemo}" id="delvMemo"></span>
 					<button type="button" class="btn_underline" id="btn_rqstModify_pop">
 						<span>변경하기</span>
 					</button>

+ 26 - 3
src/main/webapp/WEB-INF/views/web/order/OrderDelvAddrAddPopWeb.html

@@ -66,7 +66,7 @@
 								<label for="rdi-request11"><span>문앞</span></label>
 							</div>
 							<div>
-								<input type="radio" name="rdi-request1" id="rdi-request12" value="직접받고 부재시 문 앞" checked=""> 
+								<input type="radio" name="rdi-request1" id="rdi-request12" value="직접받고 부재시 문 앞"> 
 								<label for="rdi-request12"><span>직접받고 부재시 문 앞</span></label>
 							</div>
 							<div>
@@ -82,7 +82,7 @@
 								<label for="rdi-request15"><span>기타사항</span></label>
 								<div class="info_box">
 									<div class="input_wrap">
-										<input type="text" class="form_control" maxlength="30" placeholder="보관장소만 입력">
+										<input type="text" name="delvMemoText" class="form_control" maxlength="30" placeholder="보관장소만 입력" disabled>
 										<p>보관 장소 외 다른 내용 입력시 통보없이 삭제 될 수 있습니다.</p>
 									</div>
 								</div>
@@ -102,6 +102,23 @@
 <a href="#close-modal" rel="modal:close" id="adrsAddPop_close" class="close-modal">Close</a>
 
 <script th:inline="javascript">
+//컨텐츠 호출
+$(document).ready( function() {
+	// 배송요청사항 버튼기능
+	$("#deliveryAddrForm input[name=rdi-request1]").each(function(){
+		// 버튼기능
+		$(this).on("click", function(){
+			var temp = $(this).parent().find('span').text();
+			$("input[name=delvMemoText]").val("");
+			if (temp == "기타사항") {
+				$("input[name=delvMemoText]").attr("disabled", false);
+			} else {
+				$("input[name=delvMemoText]").attr("disabled", true);
+			}
+		});
+	});
+});
+
 // 우편번호 DAUM을 이용한 우편번호 팝업 레이어
 var fnOpenDaumAddr = function() {
 	let daumZip = new daum.Postcode({
@@ -125,6 +142,12 @@ $("#btn_delivery_addr_save").on("click", function(){
 		defaultYn = "Y";
 	}
 	
+	// 기타사항일때 텍스트 등록
+	var delvMemo = $("#deliveryAddrForm input[name=rdi-request1]:checked").parent().find('span').text();
+	if ("기타사항" == delvMemo) {
+		delvMemo = $("input[name=delvMemoText]").val();
+	}
+	
 	// 배송지정보설정
 	var jsonObj = {
 		"defaultYn"			: defaultYn
@@ -133,7 +156,7 @@ $("#btn_delivery_addr_save").on("click", function(){
 		, "recipZipcode"	: $("#deliveryAddrForm input[name=recipZipcode]").val()
 		, "recipBaseAddr"	: $("#deliveryAddrForm input[name=recipBaseAddr]").val()
 		, "recipDtlAddr"	: $("#deliveryAddrForm input[name=recipDtlAddr]").val()
-		, "delvMemo"		: $("#deliveryAddrForm input[name=rdi-request1]:checked").parent().find('span').text()
+		, "delvMemo"		: delvMemo
 	}
 	
 	var jsonData = JSON.stringify(jsonObj);jsonObj

+ 148 - 49
src/main/webapp/WEB-INF/views/web/order/OrderDelvAddrModifyPopWeb.html

@@ -1,24 +1,31 @@
-<!-- 배송지수정 팝업 -->
-<form name="delvAddrChangeForm" id="delvAddrChangeForm">
-<input type="hidden" name="delvMemo" 			th:value="${deliveryAddrInfo.delvMemo}"/>
-<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}"/>
-										
 <div class="modal-dialog" role="document">
 	<div class="modal-content">
 		<div class="modal-header">
-			<h5 class="modal-title" id="adrsModifyLabel">배송지 수정</h5>
+			<h5 class="modal-title" id="adrsAddLabel">배송지 수정</h5>
 		</div>
 		<div class="modal-body">
 			<div class="pop_cont">
-				<form class="form_wrap form_full">
+				<form class="form_wrap form_full" name="deliveryAddrForm" id="deliveryAddrForm">
+					<input type="hidden" name="custDelvAddrSq" th:value="${deliveryAddrInfo.custDelvAddrSq}">
+					
 					<div class="area_adrsinfo">
+						<h6>배송지 정보</h6>
+						<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>
 						<div class="form_field">
-							<label class="input_label sr-only">이름(주문자명)</label>
+							<label class="input_label sr-only">받는 분</label>
 							<div class="ui_col_12">
 								<div class="input_wrap">
-									<input type="text" name="recipNm" placeholder="이름(주문자명)" th:value="${deliveryAddrInfo.recipNm}">
+									<input type="text" name="recipNm" placeholder="받는 분" th:value="${deliveryAddrInfo.recipNm}">
 								</div>
 							</div>
 						</div>
@@ -34,53 +41,55 @@
 							<label class="input_label sr-only">배송주소</label>
 							<div class="ui_col_12">
 								<div class="input_wrap">
-									<input type="text" name="recipZipcode" placeholder="배송주소" th:value="${deliveryAddrInfo.recipZipcode}">
-									<button type="button" class="btn btn_dark btn_default btn_postcode" onclick="fnOpenDaumAddr();">
+									<input type="text" name="recipZipcode" placeholder="우편번호" th:value="${deliveryAddrInfo.recipZipcode}">
+									<button type="button" class="btn btn_dark btn_sm" onclick="fnOpenDaumAddr();">
 										<span>우편번호 찾기</span>
 									</button>
 								</div>
 							</div>
 						</div>
-						<!-- 주소 출력 -->
-						<div class="adress">
-							<dl>
-								<div>
-									<dt><span>도로명</span></dt>
-									<dd class="recipBaseAddr" th:text="${deliveryAddrInfo.recipBaseAddr}"></dd>
+						<div class="form_field">
+							<label class="input_label sr-only">기본주소</label>
+							<div class="ui_col_12">
+								<div class="input_wrap">
+									<input type="text" name="recipBaseAddr" placeholder="기본주소" th:value="${deliveryAddrInfo.recipBaseAddr}">
 								</div>
-								<div>
-									<dt><span>지번</span></dt>
-									<dd class="recipDtlAddr" th:text="${deliveryAddrInfo.recipDtlAddr}"></dd>
+							</div>
+						</div>
+						<div class="form_field">
+							<label class="input_label sr-only">상세주소</label>
+							<div class="ui_col_12">
+								<div class="input_wrap">
+									<input type="text" name="recipDtlAddr" placeholder="상세주소" th:value="${deliveryAddrInfo.recipDtlAddr}">
 								</div>
-							</dl>
+							</div>
 						</div>
-						<!-- //주소 출력 -->
 					</div>
 					<div class="area_request">
 						<h6>배송요청 사항</h6>
 						<div class="form_field">
 							<div>
-								<input type="radio" name="rdi-request2" id="rdi-request21"> 
-								<label for="rdi-request21"><span>문앞</span></label>
+								<input type="radio" name="rdi-request1" id="rdi-request11" value="문앞"> 
+								<label for="rdi-request11"><span>문앞</span></label>
 							</div>
 							<div>
-								<input type="radio" name="rdi-request2" id="rdi-request22">
-								<label for="rdi-request22"><span>직접받고 부재시 문 앞</span></label>
+								<input type="radio" name="rdi-request1" id="rdi-request12" value="직접받고 부재시 문 앞"> 
+								<label for="rdi-request12"><span>직접받고 부재시 문 앞</span></label>
 							</div>
 							<div>
-								<input type="radio" name="rdi-request2" id="rdi-request23"> 
-								<label for="rdi-request23"><span>경비실</span></label>
+								<input type="radio" name="rdi-request1" id="rdi-request13" value="경비실"> 
+								<label for="rdi-request13"><span>경비실</span></label>
 							</div>
 							<div>
-								<input type="radio" name="rdi-request2" id="rdi-request24"> 
-								<label for="rdi-request24"><span>택배함</span></label>
+								<input type="radio" name="rdi-request1" id="rdi-request14" value="택배함"> 
+								<label for="rdi-request14"><span>택배함</span></label>
 							</div>
 							<div>
-								<input type="radio" name="rdi-request2" id="rdi-request25"> 
-								<label for="rdi-request25"><span>기타사항</span></label>
+								<input type="radio" name="rdi-request1" id="rdi-request15" value="기타사항"> 
+								<label for="rdi-request15"><span>기타사항</span></label>
 								<div class="info_box">
 									<div class="input_wrap">
-										<input type="text" class="form_control" maxlength="30" placeholder="보관장소만 입력">
+										<input type="text" name="delvMemoText" class="form_control" maxlength="30" placeholder="보관장소만 입력" disabled>
 										<p>보관 장소 외 다른 내용 입력시 통보없이 삭제 될 수 있습니다.</p>
 									</div>
 								</div>
@@ -88,28 +97,67 @@
 						</div>
 					</div>
 					<div class="btn_group_block">
-						<button type="button" class="btn btn_dark btn_block"><span>배송지 수정완료</span></button>
+						<button type="button" class="btn btn_dark btn_block" id="btn_delivery_addr_save">
+							<span>배송지 수정</span>
+						</button>
 					</div>
 				</form>
 			</div>
 		</div>
 	</div>
 </div>
-<a href="#close-modal" rel="modal:close" id="adrsModifyPop_close" class="close-modal">Close</a>
-</form>
-<!-- //배송지수정 팝업 -->
+<a href="#close-modal" rel="modal:close" id="adrsAddPop_close" class="close-modal">Close</a>
 
 <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) {
+		$("#deliveryAddrForm input[name=rdi-request1]").eq(4).attr("checked", true);
+		$("input[name=delvMemoText]").attr("disabled", false);
+		$("input[name=delvMemoText]").val(delvMemo);
+	}
+	
+	$("#deliveryAddrForm input[name=rdi-request1]").each(function(){
+		var temp = $(this).parent().find('span').text();
+		if (delvMemo == temp) {
+			$(this).attr("checked", true);
+		}
+	});
+	
+	// 배송요청사항 버튼기능
+	$("#deliveryAddrForm input[name=rdi-request1]").each(function(){
+		// 버튼기능
+		$(this).on("click", function(){
+			var temp = $(this).parent().find('span').text();
+			$("input[name=delvMemoText]").val("");
+			if (temp == "기타사항") {
+				$("input[name=delvMemoText]").attr("disabled", false);
+			} else {
+				$("input[name=delvMemoText]").attr("disabled", true);
+			}
+		});
+	});
+});
 
-//우편번호 DAUM을 이용한 우편번호 팝업 레이어
+// 우편번호 DAUM을 이용한 우편번호 팝업 레이어
 var fnOpenDaumAddr = function() {
 	let daumZip = new daum.Postcode({
 		oncomplete: function(data) {
 			$('#deliveryAddrForm input[name=recipZipcode]').val(data.zonecode);
 			$('#deliveryAddrForm input[name=recipBaseAddr]').val(cfnGetDaumRoadAddr(data));
 			$('#deliveryAddrForm input[name=recipDtlAddr]').focus();
-			
-			$('#deliveryAddrForm .recipBaseAddr').text(cfnGetDaumRoadAddr(data));
 			cfnCloseDaumAddr();
 		},
 		width: '100%'
@@ -118,14 +166,65 @@ var fnOpenDaumAddr = function() {
 	cfnOpenDaumAddr(daumZip);
 }
 
-$(document).ready( function() {
-	var delvMemo = $("#delvAddrChangeForm input[name=delvMemo]").val();
+// 배송지등록버튼
+$("#btn_delivery_addr_save").on("click", function(){
+	// 기본배송지여부
+	var defaultYn = "N";
+	if ($("#deliveryAddrForm input[name=defaultYn]").is(":checked")) {
+		defaultYn = "Y";
+	}
 	
-	$("#delvAddrChangeForm input[name=rdi-request2]").each(function(){
-		if (delvMemo == $(this).parent().find("span").text()) {
-			$(this).attr("checked", true);
+	// 기타사항일때 텍스트 등록
+	var delvMemo = $("#deliveryAddrForm input[name=rdi-request1]:checked").parent().find('span').text();
+	if ("기타사항" == delvMemo) {
+		delvMemo = $("input[name=delvMemoText]").val();
+	}
+	
+	// 배송지정보설정
+	var jsonObj = {
+		"defaultYn"			: defaultYn
+		, "custDelvAddrSq"	: parseInt($("#deliveryAddrForm input[name=custDelvAddrSq]").val())
+		, "recipNm"			: $("#deliveryAddrForm input[name=recipNm]").val()
+		, "recipPhnno"		: $("#deliveryAddrForm input[name=recipPhnno]").val()
+		, "recipZipcode"	: $("#deliveryAddrForm input[name=recipZipcode]").val()
+		, "recipBaseAddr"	: $("#deliveryAddrForm input[name=recipBaseAddr]").val()
+		, "recipDtlAddr"	: $("#deliveryAddrForm input[name=recipDtlAddr]").val()
+		, "delvMemo"		: delvMemo
+	}
+	
+	var jsonData = JSON.stringify(jsonObj);jsonObj
+	
+	$.ajax( {
+		type		: "POST",
+		url 		: '/order/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) {
+			
+			// 배송지변경팝업호출
+			$.ajax( {
+				type		: "POST",
+				url 		: '/order/delvAddrChangePop',
+				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) {
+					$("#adrsAddPop").html(result);
+					$("#adrsAddPop").modal("show");
+				}
+			});	
 		}
 	});
 });
-</script>
-
+</script>

+ 84 - 70
src/main/webapp/WEB-INF/views/web/order/OrderDelvMemoChangePopWeb.html

@@ -1,93 +1,107 @@
 <!-- 배송요청사항수정 팝업 -->
 <div class="modal-dialog" role="document">
-	<div class="modal-content">
-		<div class="modal-header">
-			<h5 class="modal-title" id="rqstModifyLabel">배송요청 사항</h5>
-		</div>
-		<div class="modal-body">
-			<div class="pop_cont">
-				<div class="area_request">
-					<div class="form_field">
-						<div>
-							<input type="radio" name="rdi-request3" id="rdi-request31"> 
-							<label for="rdi-request31"><span>문앞</span></label>
-						</div>
-						<div>
-							<input type="radio" name="rdi-request3" id="rdi-request32"> 
-							<label for="rdi-request32"><span>직접받고 부재시 문 앞</span></label>
-						</div>
-						<div>
-							<input type="radio" name="rdi-request3" id="rdi-request33"> 
-							<label for="rdi-request33"><span>경비실</span></label>
-						</div>
-						<div>
-							<input type="radio" name="rdi-request3" id="rdi-request34"> 
-							<label for="rdi-request34"><span>택배함</span></label>
-						</div>
-						<div>
-							<input type="radio" name="rdi-request3" id="rdi-request35"> 
-							<label for="rdi-request35"><span>기타사항</span></label>
-							<div class="info_box">
-								<div class="input_wrap">
-									<input type="text" name="etcDelvMemo" class="form_control" maxlength="30" placeholder="보관장소만 입력">
-									<p>보관 장소 외 다른 내용 입력시 통보없이 삭제 될 수 있습니다.</p>
+	<form class="form_wrap form_full" name="deliveryAddrForm" id="deliveryAddrForm">
+		<div class="modal-content">
+			<div class="modal-header">
+				<h5 class="modal-title" id="rqstModifyLabel">배송요청 사항</h5>
+			</div>
+			<div class="modal-body">
+				<div class="pop_cont">
+					<div class="area_request">
+						<div class="form_field">
+							<div>
+								<input type="radio" name="rdi-request3" id="rdi-request31"> 
+								<label for="rdi-request31"><span>문앞</span></label>
+							</div>
+							<div>
+								<input type="radio" name="rdi-request3" id="rdi-request32"> 
+								<label for="rdi-request32"><span>직접받고 부재시 문 앞</span></label>
+							</div>
+							<div>
+								<input type="radio" name="rdi-request3" id="rdi-request33"> 
+								<label for="rdi-request33"><span>경비실</span></label>
+							</div>
+							<div>
+								<input type="radio" name="rdi-request3" id="rdi-request34"> 
+								<label for="rdi-request34"><span>택배함</span></label>
+							</div>
+							<div>
+								<input type="radio" name="rdi-request3" id="rdi-request35"> 
+								<label for="rdi-request35"><span>기타사항</span></label>
+								<div class="info_box">
+									<div class="input_wrap">
+										<input type="text" name="delvMemoText" class="form_control" maxlength="30" placeholder="보관장소만 입력" disabled>
+										<p>보관 장소 외 다른 내용 입력시 통보없이 삭제 될 수 있습니다.</p>
+									</div>
 								</div>
 							</div>
 						</div>
 					</div>
-				</div>
-				<div class="btn_group_block">
-					<button class="btn btn_dark btn_block" id="btn_delvMemoChange">
-						<span>등록</span>
-					</button>
+					<div class="btn_group_block">
+						<button type="button" class="btn btn_dark btn_block" id="btn_delvMemoChange">
+							<span>등록</span>
+						</button>
+					</div>
 				</div>
 			</div>
 		</div>
-	</div>
+	</form>
 </div>
 
 <script type="text/javascript">
-// 배송메모버튼클릭
-$("input[name='rdi-request3']").on("click", function(){
-	// 배송메모내용
-	var rtnTxt = $("input[name='rdi-request3']:checked").parent().find('span').text();
+// 초기배송메모설정
+$(document).ready( function() {
+	var delvMemo = $("input[name='delvMemo']").val();
+	var delvMemoArr = ["문앞", "직접받고 부재시 문 앞", "경비실", "택배함"];
+	var tempMemo = true;
 	
-	if (rtnTxt == "기타사항") {
-		$("input[name='etcDelvMemo'").removeAttr("disbled");
-	} else {
-		$("input[name='etcDelvMemo'").attr("disbled", true);
+	// 배송요청사항설정
+	for (i=0 ; i<delvMemoArr.length ; i++) {
+		if (delvMemoArr[i] == delvMemo) {
+			tempMemo = false;
+		}
 	}
-});
-
-// 배송메모등록버튼
-$("#btn_delvMemoChange").on("click", function(){
-	var rtnTxt = $("input[name='rdi-request3']:checked").parent().find('span').text();
-	if (rtnTxt == "기타사항") {
-		rtnTxt = $("input[name='etcDelvMemo'").val();
-	} 
 	
-	// 배송메모 부모창에 설정
-	$("input[name='delvMemo']").val(rtnTxt);		// input 값에 설정
-	$("#delvMemo").text(rtnTxt);					// 메모 text 설정
-	$(".close-modal").trigger("click");				// 팝업닫기
-});
-
-// 초기배송메모설정
-$(document).ready( function() {
+	if (tempMemo) {
+		$("#deliveryAddrForm input[name=rdi-request3]").eq(4).attr("checked", true);
+		$("input[name=delvMemoText]").attr("disabled", false);
+		$("input[name=delvMemoText]").val(delvMemo);
+	}
 	
-	// 배송메모 초기값설정
-	var delvMemo = $("input[name='delvMemo']").val();
-	$("input[name='rdi-request3'").each(function(i){
-		var rtnTxt = $(this).parent().find('span').text();
-		
-		if (rtnTxt == delvMemo) {
+	$("#deliveryAddrForm input[name=rdi-request3]").each(function(){
+		var temp = $(this).parent().find('span').text();
+		if (delvMemo == temp) {
 			$(this).attr("checked", true);
-		} else {
-			$(this).removeAttr("checked");
 		}
 	});
 	
-	$("input[name='rdi-request3']").trigger('change');
+	// 배송요청사항 버튼기능
+	$("#deliveryAddrForm input[name=rdi-request3]").each(function(){
+		// 버튼기능
+		$(this).on("click", function(){
+			var temp = $(this).parent().find('span').text();
+			alert
+			$("input[name=delvMemoText]").val("");
+			if (temp == "기타사항") {
+				$("input[name=delvMemoText]").attr("disabled", false);
+			} else {
+				$("input[name=delvMemoText]").attr("disabled", true);
+			}
+		});
+	});
+	
+	// 배송메모등록버튼
+	$("#btn_delvMemoChange").on("click", function(){
+		var rtnTxt = $("input[name='rdi-request3']:checked").parent().find('span').text();
+		if (rtnTxt == "기타사항") {
+			rtnTxt = $("input[name='delvMemoText'").val();
+		} 
+		
+		// 배송메모 부모창에 설정
+		$("input[name='delvMemo']").val(rtnTxt);		// input 값에 설정
+		$("#delvMemo").text(rtnTxt);					// 메모 text 설정
+		$(".close-modal").trigger("click");				// 팝업닫기
+	});
 });
 </script>
 <!-- //배송요청사항수정 팝업 -->

+ 56 - 4
src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html

@@ -422,15 +422,21 @@
 
 <!-- 배송지변경 -->
 <div class="modal fade od_pop adrsChange_pop" id="adrsChangePop" tabindex="-1" role="dialog" aria-labelledby="adrsChangeLabel" aria-hidden="true"></div>
-<!-- //배송지변경 -->
 
 <!-- 배송지추가 팝업 -->
 <div class="modal fade od_pop adrsAdd_pop" id="adrsAddPop" tabindex="-1" role="dialog" aria-labelledby="adrsAddLabel" aria-hidden="true"></div>
-<!-- //배송지추가 팝업 -->
 
 <!-- 배송지수정 팝업 -->
 <div class="modal fade od_pop adrsModify_pop" id="adrsModifyPop" tabindex="-1" role="dialog" aria-labelledby="adrsModifyLabel" aria-hidden="true"></div>
-<!-- //배송지수정 팝업 -->
+
+<!-- 배송요청사항수정 팝업 -->
+<div class="modal fade od_pop rqstModify_pop" id="rqstModifyPop" tabindex="-1" role="dialog" aria-labelledby="rqstModifyLabel" aria-hidden="true"></div>
+
+<!-- 사은품지급안내 팝업 -->
+<div class="modal fade od_pop infoGift_pop" id="infoGiftPop" tabindex="-1" role="dialog" aria-labelledby="infoGiftLabel" aria-hidden="true"></div>
+
+<!-- 할인쿠폰 변겅 팝업 -->
+<div class="modal fade od_pop couponModify_pop" id="couponModifyPop" tabindex="-1" role="dialog" aria-labelledby="couponModifyLabel" aria-hidden="true"></div>
 
 <script th:inline="javascript">
 // 배송관련정보 변수선언
@@ -590,6 +596,27 @@ var deliveryAddrInfoSet = function(temp) {
 					}
 				});	
 			});
+			
+			// 배송요청사항 팝업열기
+			$("#btn_rqstModify_pop").on("click", function(e){
+				var jsonObj = new Object();
+				jsonObj.delvMemo = $("input[name='delvMemo']").val();
+				
+				$.ajax({
+					type		: "POST",
+					url 		: "/order/delvMemoChangePop",
+					data		: jsonObj,
+					dataType 	: "html",
+					success 	: function(result) {
+						if (result != null) {
+							$("#rqstModifyPop").html(result);
+							$("#rqstModifyPop").modal("show");
+						}
+					}
+				});
+				
+				return false;
+			});
 
 			// 1.3 총알배송가능 지역, 총알배송 가능 시간 체크(초기로드정보)
 			fnGetDailyDeliveryCheck(temp);
@@ -943,6 +970,30 @@ var dcAmtInfoSet = function() {
 				$("#dcAmtInfo").css("display", "block");
 				$("#dcAmtInfo").html(result);
 				
+				// 쿠폰팝업정보로드
+				$.ajax( {
+					type		: "POST",
+					url 		: '/order/couponApplyPop',
+					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) {
+						$("#couponModifyPop").html(result);
+					}
+				});
+				
+				// 쿠폰변경팝업호출
+				$("#btn_couponModify_pop").on("click", function(){
+					$("#couponModifyPop").modal("show");
+				});
+				
+				
+				/*
 				// 1.8.2 쿠폰적용초기화(할인율최고)
 				custCpnInit();
 				
@@ -1002,6 +1053,7 @@ var dcAmtInfoSet = function() {
 					});
 				});
 				
+				
 				// 1.8.6 선포인트 적용 버튼 기능
 				$("input[name='rdi-beforpoint']").each(function(){
 					// 선포인트 초기 설정 사용함
@@ -1114,6 +1166,7 @@ var dcAmtInfoSet = function() {
 				
 				// 금액계산초기화
 				custCpnSumAmtCal();
+				*/
 			}
 		}
 	});
@@ -1663,7 +1716,6 @@ $('#btn_adrsChange_pop').on("click", function(){
 	$("#adrsChangePop").modal("show");
 });
 
-
 $(document).ready( function() {
 	//해외배송 입력
 	$(document).on('change','.odPayment .area_overseas #rdi-overs1',function(e){