jsh77b 5 лет назад
Родитель
Сommit
d25f0fc207

+ 8 - 2
src/main/webapp/WEB-INF/views/web/order/OrderCouponApplyPopWeb.html

@@ -79,12 +79,18 @@
 								<div class="cartCpn" th:value="${cartCpn.custCpnSq}">
 									<input type="hidden" name="dcWay" th:value="${cartCpn.dcWay}"/>
 									<input type="hidden" name="dcVal" th:value="${cartCpn.dcVal}"/>
+									<!-- 장바구니쿠폰 적용 장바구니 시퀀스 -->
 									<th:block th:each="cartCpnCartSq, kokok : ${cartCpn.cartCpnCartSqArr}"> 
 										<input type="hidden" name="cartCpnCartSq" th:value="${cartCpnCartSq}" />
 									</th:block>
 									
-									<input type="radio" name="rdi-cart-coupon" id="rdi-cart-coupon1" value="">
-									<label for="rdi-cart-coupon1">
+									<!-- 장바구니쿠폰 결제가능수단목록조회 -->
+									<th:block th:each="payType, kokok : ${cartCpn.payTypeArr}"> 
+										<input type="hidden" name="payTypeArr" th:value="${payType}" />
+									</th:block>
+									
+									<input type="radio" name="rdi-cart-coupon" th:id="|rdi-cart-coupon${k.index}|" value="">
+									<label th:for="|rdi-cart-coupon${k.index}|">
 										<div class="cart_coupon">
 											<p class="name" th:text="${cartCpn.cpnNm}"></p>
 											<p class="txt">

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

@@ -32,10 +32,10 @@
 					<label class="input_label sr-only">배송주소</label>
 					<div class="ui_col_12">
 						<div class="input_wrap"> 
-							<input type="hidden" class="form_control" name="recipZipcode" placeholder="배송주소" id="">
-							<input type="text" class="form_control" name="recipBaseAddr" placeholder="배송주소" id="">
+							<input type="hidden" class="form_control" name="recipZipcode" placeholder="우편번호" id="">
+							<input type="text" class="form_control" name="recipBaseAddr" placeholder="기본주소" id="" disabled>
 						</div>
-						<button type="button" class="btn btn_dark btn_sm">
+						<button type="button" class="btn btn_dark btn_sm" onclick="fnOpenDaumAddr();">
 							<span>우편번호 찾기</span>
 						</button>
 					</div>

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

@@ -39,8 +39,8 @@
 					<label class="input_label sr-only">배송주소</label>
 					<div class="ui_col_12">
 						<div class="input_wrap"> 
-							<input type="text" class="form_control" name="recipBaseAddr" placeholder="배송주소" id="" th:value="${deliveryAddrInfo.recipBaseAddr}">
 							<input type="hidden" name="recipZipcode" placeholder="우편번호" th:value="${deliveryAddrInfo.recipZipcode}">
+							<input type="text" class="form_control" name="recipBaseAddr" placeholder="기본주소" id="" th:value="${deliveryAddrInfo.recipBaseAddr}" disabled>
 						</div>
 						<button type="button" class="btn btn_dark btn_sm" onclick="fnOpenDaumAddr();">
 							<span>우편번호 찾기</span>

+ 5 - 6
src/main/webapp/WEB-INF/views/web/order/OrderDelvMemoChangePopWeb.html

@@ -5,7 +5,7 @@
 <div class="modal-body">
 	<div class="pop_cont">
 		<form class="form_wrap form_full" name="deliveryAddrMemoForm" id="deliveryAddrMemoForm">
-			<div class="area_request">        
+			<div class="area_request">
 				<div class="form_field">
 					<div>
 						<input type="radio" name="rdi-request3" id="rdi-request31">
@@ -45,7 +45,7 @@
 <script type="text/javascript">
 // 초기배송메모설정
 $(document).ready( function() {
-	var delvMemo = $("input[name='delvMemo']").val();
+	var delvMemo = $("#orderForm input[name=delvMemo]").val();
 	var delvMemoArr = ["문앞", "직접받고 부재시 문 앞", "경비실", "택배함"];
 	var tempMemo = true;
 	
@@ -74,7 +74,6 @@ $(document).ready( function() {
 		// 버튼기능
 		$(this).on("click", function(){
 			var temp = $(this).parent().find('span').text();
-			alert
 			$("#deliveryAddrMemoForm input[name=delvMemoText]").val("");
 			if (temp == "기타사항") {
 				$("#deliveryAddrMemoForm input[name=delvMemoText]").attr("disabled", false);
@@ -96,9 +95,9 @@ $(document).ready( function() {
 			fnChangeDelvMemo(rtnTxt);
 		}
 
-		$("#deliveryAddrMemoForm input[name='delvMemo']").val(rtnTxt);		// input 값에 설정
-		$("#delvMemo").text(rtnTxt);					// 메모 text 설정
-		$(".close-modal").trigger("click");				// 팝업닫기
+		$("#orderForm input[name=delvMemo]").val(rtnTxt);		// input 값에 설정
+		$("#delvMemo").text(rtnTxt);							// 메모 text 설정
+		$(".close-modal").trigger("click");						// 팝업닫기
 	});
 });
 </script>

+ 130 - 7
src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html

@@ -599,7 +599,6 @@ var custemerInfoSet = function() {
 
 // 1.2 배송정보로드
 var deliveryAddrInfoSet = function(temp) {
-	
 	$.ajax( {
 		type		: "POST",
 		url 		: '/order/deliveryAddrInfo',
@@ -648,12 +647,12 @@ var deliveryAddrInfoSet = function(temp) {
 			// 배송요청사항 팝업열기
 			$("#btn_rqstModify_pop").on("click", function(e){
 				var jsonObj = new Object();
-				jsonObj.delvMemo = $("input[name='delvMemo']").val();
+				jsonObj.delvMemo = $("#orderForm input[name=delvMemo]").val();
 				
 				$.ajax({
 					type		: "POST",
 					url 		: "/order/delvMemoChangePop",
-					data		: jsonObj,
+					data		: JSON.stringify(jsonObj),
 					dataType 	: "html",
 					success 	: function(result) {
 						if (result != null) {
@@ -837,6 +836,14 @@ var paymentInfoSet = function() {
 				$("#paymentInfo").css("display", "block");
 				$("#paymentInfo").html(result);
 				
+				// 결제타입명칭 설정
+				$("#orderForm .area_paymethod .paymethod_box ul li").on("click", function(){
+					var payType = $(this).find(".payType").text();
+					if ($(this).find("input[name=rdi-paynormal]").is(":checked")) {
+						$(".payTypeNm").text(payType);
+					}
+				});
+				
 				// 결재하기
 				$("#btn_payment").on("click", function(){
 					// 사은품정보
@@ -974,7 +981,7 @@ var paymentInfoSet = function() {
 // 1.7 프로모션 쿠폰 적용 함수
 var serialCpnApply = function(){
 	let data = {
-		rdCpnNm : $("#payForm #serialCpnNm").val()
+		rdCpnNm : $("#serialCpnNm").val()
 	}
 
 	$.ajax( {
@@ -989,6 +996,7 @@ var serialCpnApply = function(){
 
 			// 성공일때는 쿠폰정보 및 포인트 정보 reset
 			if (result.serialCpnInfo.result == "SUCCESS") {
+				alert("쿠폰 등록이 되었습니다.");
 				// 1.8 할인영역 재로드
 				dcAmtInfoSet(jsonData);
 			} else {
@@ -1038,7 +1046,7 @@ var dcAmtInfoSet = function() {
 						// 1.8.3 쿠폰적용초기화(할인율최고)(배송비)
 						custDelvCpnInit();
 						
-						// 쿠폰적용버튼
+						// 1.8.4 쿠폰적용버튼
 						$("#btn_coupon_apply").on("click", function(){
 							
 							// 상품쿠폰적용
@@ -1048,14 +1056,29 @@ var dcAmtInfoSet = function() {
 							
 							// 장바구니쿠폰적용
 							$('.cartCpn').each(function(index){
-								if ($(this).find("rdi-cart-coupon").is(":checked")) {
-									alert("a");
+								if ($(this).find("input[name=rdi-cart-coupon]").is(":checked")) {
 									custCpnApply($(this));
 								}
 							});
 							
+							// 최대할인혜택적용 체크해제
+							if ($("#chk-maxdisc").is(":checked")) {
+								$("#chk-maxdisc").attr("checked", false);
+							}
+							
 							$(".close-modal").trigger("click");				// 팝업닫기
 						});
+						
+						// 1.8.5 쿠폰 최대할인금액 초기화 버튼 설정
+						$("#chk-maxdisc").on("click", function(){
+							if ($(this).is(":checked")) {
+								// 상품&장바구니쿠폰 초기환
+								custGoodsCpnInit();
+								
+								// 배송비쿠폰 초기환
+								custDelvCpnInit();
+							}
+						});
 					}
 				});
 				
@@ -1166,6 +1189,9 @@ var dcAmtInfoSet = function() {
 // 1.9.1 상품쿠폰초기화
 var custGoodsCpnInit = function() {
 	
+	// 쿠폰최대할인 적용
+	$("#chk-maxdisc").attr("checked", true);
+	
 	// 쿠폰초기화
 	$(".goodsCpn").each(function(index){
 		// select box 쿠폰 적용
@@ -1235,6 +1261,11 @@ var custCartCpnInit = function() {
 		// 쿠폰 select 버튼기능
 		$(this).on("click", function(){
 			custCpnApplyTemp($(this)); // 쿠폰적용
+			
+			// 최대할인혜택적용 체크해제
+			if ($("#chk-maxdisc").is(":checked")) {
+				$("#chk-maxdisc").attr("checked", false);
+			}
 		});
 	});
 	
@@ -1307,6 +1338,9 @@ var custCpnApplyTemp = function(obj) {
 				custCpnApplyTemp($(this)); // 쿠폰적용
 			}
 		});
+		
+		//상품쿠폰 선택불가 처리
+		custCpnSqLiDisabled();
 	}
 	// 장바구니쿠폰적용
 	else if (cpnType == "cartCpn") {
@@ -1403,6 +1437,9 @@ var custCpnApply = function(obj) {
 		
 		// 선택활성화
 		$(obj).addClass("selected");
+		
+		//상품쿠폰 선택불가 처리
+		custCpnSqLiDisabled();
 	} 
 	// 장바구니쿠폰적용
 	else if (cpnType == "cartCpn") {
@@ -1444,6 +1481,26 @@ var custCpnApply = function(obj) {
 			});
 		});
 		
+		// 장바구니쿠폰 결제가능수단목록조회
+		if (obj.find("input[name='payTypeArr']").length > 0) {
+			$("#orderForm input[name=rdi-paynormal]").attr("disabled", true);
+			$("#orderForm input[name=rdi-paynormal]").attr("checked", false);
+			
+			obj.find("input[name='payTypeArr']").each(function(i){
+				var payType = $(this).val();
+				$('#orderForm .'+payType).attr("disabled", false);
+				//$('#orderForm .'+payType).eq(0).attr("checked", true);
+				//if (i == 0) {
+					//$("#orderForm input[name=rdi-paynormal]").attr("checked", true);
+				//}
+			});
+		} else {
+			$("#orderForm input[name=rdi-paynormal]").attr("disabled", false);
+		}
+		
+		// 선택안함
+		$(".payTypeNm").text("선택없음");
+		
 		// 금액일때 할인금액 적용
 		if (dcWay == "G240_10") {
 			cartCpnDcSumAmt = dcVal;
@@ -1519,6 +1576,32 @@ var custCpnApply = function(obj) {
 	
 }
 
+// 1.11.1 상품쿠폰 선택불가 처리
+var custCpnSqLiDisabled = function() {
+	// 상품쿠폰 선택불가 처리
+	$(".goodsCpn ul li").each(function(){
+		var custCpnSq = $(this).attr("value");
+		var liObj = $(this);
+		
+		liObj.attr("aria-disabled", false);
+		
+		// 선택된 li 제외
+		if ($(this).hasClass("selected") == false) {
+			// 적용안함 제외
+			if (custCpnSq > 0) {
+				// 선택된 custCpnSq li와 같으면 선택불가처리
+				$(".area_item_coupon input[name=custCpnSq]").each(function(){
+					var inputCustCpSq = $(this).val();
+					if (custCpnSq == inputCustCpSq) {
+						// 선택불가처리
+						liObj.attr("aria-disabled", true);
+					}
+				});
+			}
+		}
+	});
+}
+
 // 1.12 쿠폰중복체크 후 적용불가
 var custCpnNotApply = function(obj) {
 	// 이전에 등록된 쿠폰시퀀스  
@@ -1910,6 +1993,46 @@ $(document).ready( function() {
 		$("#qPayidConfirm_pop").modal("show");
 		return false;
 	});
+	
+	// PG 카카오페이 결제준비 처리
+	var fnKakaoPaymentReady = function() {
+		let nextRedirectUrl = $('#order_info input[name=nextRedirectPcUrl]').val();
+		let option = 'width=420, height=520';
+		
+		window.open(nextRedirectUrl, 'kakaoPaymentPopup', option);
+	}
+
+	// PG 카카오페이 결제 승인 요청
+	var fnKakaoPaymentRequest = function(pgToken) {
+		// Token 값 설정
+		$('#order_info input[name=pgToken]').val(pgToken);
+		
+		// Form Submit
+		document.order_info.submit();
+		
+		return true;
+	}
+	
+	// PG 네이버페이 결제준비 처리
+	var fnNaverPaymentReady = function() {
+		let naverPayUrl = 'https://' + [[${@environment.getProperty('naverPay.payUrl.web')}]];
+		let reserveId = $('#order_info input[name=reserveId]').val();
+		let url = naverPayUrl + '/payments/' + reserveId;
+		let option = 'width=750, height=' + $(window).height();
+		
+		window.open(url, 'naverPaymentPopup', option);
+	}
+	
+	// PG 네이버페이 결제 승인 요청
+	var fnNaverPaymentRequest = function(paymentId) {
+		// TID 설정
+		$('#order_info input[name=pgTid]').val(paymentId);
+
+		// Form Submit
+		document.order_info.submit();
+
+		return true;
+	}
 
 });
 </script>

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

@@ -20,7 +20,7 @@
 			<div class="fold_tit">
 				<span>결제수단 선택</span>
 			</div>
-			<div class="data">
+			<div class="data payTypeNm">
 				<span>신용카드</span>
 			</div>
 		</div>
@@ -32,47 +32,47 @@
 			<div class="paymethod_box">
 				<ul class="sel_method">
 					<li>
-						<input type="radio" name="rdi-paynormal" id="payCreditCard" value="KCP|G014_30" checked="checked">
-						<label for="payCreditCard"><span>신용카드</span></label>
+						<input type="radio" name="rdi-paynormal" id="payCreditCard" class="KCP" value="KCP|G014_30">
+						<label for="payCreditCard"><span class="payType">신용카드</span></label>
 					</li>
 					<li>
-						<input type="radio" name="rdi-paynormal" id="payCellphone" value="KCP|G014_60"> 
-						<label for="payCellphone"><span>휴대폰 결제</span></label>
+						<input type="radio" name="rdi-paynormal" id="payCellphone" class="KCP" value="KCP|G014_60"> 
+						<label for="payCellphone"><span class="payType">휴대폰 결제</span></label>
 					</li>
 					<li>
-						<input type="radio" name="rdi-paynormal" id="payKakao" value="KAKAO|G014_99"> 
+						<input type="radio" name="rdi-paynormal" id="payKakao" class="KAKAO" value="KAKAO|G014_99"> 
 						<label for="payKakao">
 							<span>
-								<em class="sr-only">카카오페이 결제</em>
+								<em class="sr-only payType">카카오페이 결제</em>
 								<em class="payimg kakao"></em>
 							</span>
 						</label>
 					</li>
 					<li>
-						<input type="radio" name="rdi-paynormal" id="payNaver" value="NAVER|G014_99"> 
+						<input type="radio" name="rdi-paynormal" id="payNaver" class="NAVER" value="NAVER|G014_99"> 
 						<label for="payNaver">
 							<span>
-								<em class="sr-only">네이버페이 결제</em>
+								<em class="sr-only payType">네이버페이 결제</em>
 								<em class="payimg naver"></em>
 							</span>
 						</label>
 					</li>
 					<li>
-						<input type="radio" name="rdi-paynormal" id="payPayco" value="PAYCO|G014_30"> 
+						<input type="radio" name="rdi-paynormal" id="payPayco" class="PAYCO" value="PAYCO|G014_30"> 
 						<label for="payPayco">
 							<span>
-								<em class="sr-only">페이코 결제</em>
+								<em class="sr-only payType">페이코 결제</em>
 								<em class="payimg payco"></em>
 							</span>
 						</label>
 					</li>
 					<li>
-						<input type="radio" name="rdi-paynormal" id="payRealBank" value="KCP|G014_10"> 
-						<label for="payRealBank"><span>실시간계좌이체</span></label>
+						<input type="radio" name="rdi-paynormal" id="payRealBank" class="KCP" value="KCP|G014_10"> 
+						<label for="payRealBank"><span class="payType">실시간계좌이체</span></label>
 					</li>
 					<li>
-						<input type="radio" name="rdi-paynormal" id="payVirtualBank" value="KCP|G014_20"> 
-						<label for="payVirtualBank"><span>무통장입금</span></label>
+						<input type="radio" name="rdi-paynormal" id="payVirtualBank" class="KCP" value="KCP|G014_20"> 
+						<label for="payVirtualBank"><span class="payType">무통장입금</span></label>
 					</li>
 				</ul>
 			</div>