浏览代码

주문서개발중

jsh77b 5 年之前
父节点
当前提交
42ed67aa26
共有 1 个文件被更改,包括 217 次插入64 次删除
  1. 217 64
      src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html

+ 217 - 64
src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html

@@ -347,7 +347,7 @@
 														<div>
 															<dt>할인쿠폰</dt>
 															<dd>
-																<a href="" class="btn_coupon_toggle">할인쿠폰 <span>3장</span>적용</a>
+																<a href="javascript:void(0);" class="btn_coupon_toggle">할인쿠폰 <span id="cpnApplyCnt"></span>적용</a>
 																<div class="coupon_list">
 																	<ul>
 																		<!--  상품쿠폰 -->
@@ -376,6 +376,7 @@
 																						<div class="form_field">
 																							<div class="select_custom type1">
 																								<div class="combo">
+																									<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"/>
@@ -407,6 +408,7 @@
 																					<div class="form_field">
 																						<div class="select_custom type1">
 																							<div class="combo">
+																								<input type="hidden" name="cpnType" value="cartCpn"/>
 																								<input type="hidden" name="custCpnSq" value="0"/>
 																								<input type="hidden" name="cpnDcAmt" value="0"/>
 																								
@@ -416,8 +418,10 @@
 																									<th:block th:each="cartCpn, k : ${cartCpnList}">
 																										<li th:value="${cartCpn.custCpnSq}" th:data="${cartCpn.cpnDcAmt}">
 																											<th:block th:text="${cartCpn.cpnNm}"></th:block>
+																											<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="text" name="cartCpnCartSq" th:value="${cartCpnCartSq}" />
+																												<input type="hidden" name="cartCpnCartSq" th:value="${cartCpnCartSq}" />
 																											</th:block>
 																										</li>
 																									</th:block>
@@ -441,6 +445,7 @@
 																					<div class="form_field">
 																						<div class="select_custom type1">
 																							<div class="combo">
+																								<input type="hidden" name="cpnType" value="delvCpn"/>
 																								<input type="hidden" name="custCpnSq" value="0"/>
 																								<input type="hidden" name="cpnDcAmt" value="0"/>
 																								
@@ -836,32 +841,34 @@
 												<div class="gd_list">
 													<th:block th:each="goods, i : ${delvAllCart}">
 														<div class="item_gd">
-															<input type="text" name="cartSq" 			th:value="${goods.cartSq}"/>
-															<input type="text" name="cpn1CpnSq" 		th:value="${goods.cpn1CpnSq}"/>
-															<input type="text" name="cpn1DcAmt" 		th:value="${goods.orgCurrPrice} - ${goods.currPrice}"/>
+															<input type="hidden" name="cartSq" 			th:value="${goods.cartSq}"/>
+															<input type="hidden" name="currPrice"		th:value="${goods.currPrice}"/>
+															
+															<input type="hidden" name="cpn1CpnSq" 		th:value="${goods.cpn1CpnSq}"/>
+															<input type="hidden" name="cpn1DcAmt" 		th:value="${goods.orgCurrPrice} - ${goods.currPrice}"/>
 															
 															<th:block th:if="${goods.applyQtySectionYn} == 'Y' and ${goods.qtyTmtbSq} > 0">
-																<input type="text" name="tmtb1Sq" 		th:value="${goods.qtyTmtbSq}"/>
-																<input type="text" name="tmtb1DcAmt" 	th:value="${goods.tmtb1DcAmt}"/>
+																<input type="hidden" name="tmtb1Sq" 	th:value="${goods.qtyTmtbSq}"/>
+																<input type="hidden" name="tmtb1DcAmt" 	th:value="${goods.tmtb1DcAmt}"/>
 															</th:block>
 															<th:block th:if="${goods.applyQtySectionYn} != 'Y'">
-																<input type="text" name="tmtb1Sq" 		value="0"/>
-																<input type="text" name="tmtb1DcAmt" 	value="0"/>
+																<input type="hidden" name="tmtb1Sq" 	value="0"/>
+																<input type="hidden" name="tmtb1DcAmt" 	value="0"/>
 															</th:block>
 															
 															<th:block th:if="${goods.applyAmtSectionYn} == 'Y' and ${goods.amtTmtbSq} > 0">
-																<input type="text" name="tmtb2Sq" 		th:value="${goods.amtTmtbSq}"/>
-																<input type="text" name="tmtb2DcAmt" 	th:value="${goods.tmtb2DcAmt}"/>
+																<input type="hidden" name="tmtb2Sq" 	th:value="${goods.amtTmtbSq}"/>
+																<input type="hidden" name="tmtb2DcAmt" 	th:value="${goods.tmtb2DcAmt}"/>
 															</th:block>
 															<th:block th:if="${goods.applyAmtSectionYn} != 'Y'">
-																<input type="text" name="tmtb2Sq" 		value="0"/>
-																<input type="text" name="tmtb2DcAmt" 	value="0"/>
+																<input type="hidden" name="tmtb2Sq" 	value="0"/>
+																<input type="hidden" name="tmtb2DcAmt" 	value="0"/>
 															</th:block>
 															
-															<input type="text" name="goodsCpnSq" 		value=""/>
-															<input type="text" name="goodsCpnDcAmt" 	value=""/>
-															<input type="text" name="cartCpnSq" 		value=""/>
-															<input type="text" name="cartCpnDcAmt" 		value=""/>
+															<input type="hidden" name="goodsCpnSq" 		value=""/>
+															<input type="hidden" name="goodsCpnDcAmt" 	value=""/>
+															<input type="hidden" name="cartCpnSq" 		value=""/>
+															<input type="hidden" name="cartCpnDcAmt" 	value=""/>
 															
 															<figure>
 																<span class="thumb"><img src="/images/pc/thumb/tmp_odSide1.jpg" alt=""></span>
@@ -1236,22 +1243,8 @@ $(document).ready( function() {
 				$(this).on("click", function(){
 					// 쿠폰 선택없음
 					if ($(this).prop("value") == 0) {
-						// select box 쿠폰 적용
-						var cpnCartSq = $(this).parent().parent().find("input[name='cpnCartSq']").val();
-						
-						// 장바구니시퀀스 체크
-						$("input[name='cartSq']").each(function(){
-							if (cpnCartSq == $(this).val()) {
-								$(this).parent().find("input[name='goodsCpnSq']").val("0");			// 상품쿠폰시퀀스
-								$(this).parent().find("input[name='goodsCpnDcAmt']").val("0");		// 상품쿠폰할인금액
-							}
-						});
-						
-						$(this).parent().parent().find("input[name='custCpnSq']").val("0");
-						$(this).parent().parent().find("input[name='cpnDcAmt']").val("0");
-						
-						$(this).parent().parent().find(".select").text("선택없음");
-						$(this).parent().parent().parent().parent().parent().find(".cp_discount").css("display", "none");
+						// 쿠폰 선택없음
+						cpnApplyDel($(this));
 					}
 					// 쿠폰선택
 					else {
@@ -1265,30 +1258,42 @@ $(document).ready( function() {
 							// 쿠폰적용불가
 							custCpnNotApply($(this));
 						}
+						
+						// 쿠폰할인금액 SUM
+						custCpnSumAmtCal();
+						
+						// 최대할인혜택적용 체크해제
+						if ($("#chk-maxdisc").is(":checked")) {
+							$("#chk-maxdisc").attr("checked", false);
+						}
 					}
-					
-					// 최대할인혜택적용 체크해제
-					if ($("#chk-maxdisc").is(":checked")) {
-						$("#chk-maxdisc").attr("checked", false);
-					}
-					
-					// 쿠폰할인금액 SUM
-					custCpnSumAmtCal();
 				});
 			});
 		});
 		
-		// 3. 쿠폰 최대할인금액 초기화 버튼 설정
-		$("#chk-maxdisc").on("click", function(){
-			if ($(this).is(":checked")) {
-				custCpnInit();
-			}
-		});
 		
-		// 3. 쿠폰적용초기화(할인율최고)
+		// 4 쿠폰적용초기화(할인율최고)
 		custCpnInit();
 	});
 	
+	// 쿠폰 최대할인금액 초기화 버튼 설정
+	$("#chk-maxdisc").on("click", function(){
+		if ($(this).is(":checked")) {
+			custCpnInit();
+		}
+	});
+	
+	// 쿠폰할인적용 삭제 버튼
+	$(".btn_del_coupon").on("click", function(){
+		//선택없음선택
+		$(this).parent().parent().find("ul li").each(function(i){
+			if (i == 0) {
+				// 쿠폰 선택없음
+				cpnApplyDel($(this));
+			}
+		});
+	});
+	
 	// 쿠폰 최대할인율 쿠폰적용
 	var custCpnInit = function() {
 		
@@ -1327,7 +1332,7 @@ $(document).ready( function() {
 						if (custCpnDuplicationCheck($(this).prop("value"), index)) {
 							// 쿠폰적용
 							custCpnApply($(this));
-							
+							// 쿠폰할인적용
 							cpnApplyTemp = true;
 						}
 					}
@@ -1366,25 +1371,118 @@ $(document).ready( function() {
 	
 	// 쿠폰중복체크 후 적용가능
 	var custCpnApply = function(obj) {
-		// 적용된 할인금액 text 설정 
-		var dcAmtStr = "- " + parseInt(obj.attr("data")).addComma() + " 원 할인적용";
-		obj.parent().parent().parent().parent().parent().find(".cp_amount").text(dcAmtStr);
-		
 		// select box 쿠폰 적용
-		var cpnCartSq = obj.parent().parent().find("input[name='cpnCartSq']").val();
+		var cpnType 	= obj.parent().parent().find("input[name='cpnType']").val();
 		
-		// 장바구니시퀀스 체크
-		$("input[name='cartSq']").each(function(){
-			if (cpnCartSq == $(this).val()) {
-				$(this).parent().find("input[name='goodsCpnSq']").val(obj.prop("value"));		// 상품쿠폰시퀀스
-				$(this).parent().find("input[name='goodsCpnDcAmt']").val(obj.attr("data"));		// 상품쿠폰할인금액
-			}
-		});
+		// 상품쿠폰적용
+		if (cpnType == "goodsCpn") {
+			// 적용된 할인금액 text 설정 
+			var dcAmtStr = "- " + parseInt(obj.attr("data")).addComma() + " 원 할인적용";
+			obj.parent().parent().parent().parent().parent().find(".cp_amount").text(dcAmtStr);
+			
+			var cpnCartSq 	= obj.parent().parent().find("input[name='cpnCartSq']").val();
+			
+			// 장바구니시퀀스 체크
+			$("input[name='cartSq']").each(function(){
+				if (cpnCartSq == $(this).val()) {
+					$(this).parent().find("input[name='goodsCpnSq']").val(obj.prop("value"));		// 상품쿠폰시퀀스
+					$(this).parent().find("input[name='goodsCpnDcAmt']").val(obj.attr("data"));		// 상품쿠폰할인금액
+				}
+			});
+			
+			obj.parent().parent().find("input[name='cpnDcAmt']").val(obj.attr("data"));
+		} 
+		// 장바구니쿠폰적용
+		else if (cpnType == "cartCpn") {
+			var dcWay 				= obj.parent().find("input[name='dcWay']").val();
+			var dcVal 				= obj.parent().find("input[name='dcVal']").val();
+			var cartCpnDcSumAmt		= 0;
+			var tempSumAmt			= 0;
+			var applyGoodsCnt		= 0;
+			var leftAmt				= 0;
+			var index				= 0;
+			
+			// 장바구니쿠폰 해당 장바구니상품들 할인가 적용
+			obj.find("input[name='cartCpnCartSq']").each(function(){
+				var cartCpnCartSq 		= $(this).val();
+				var cartCpnDcAmt		= 0;
+				
+				// 장바구니시퀀스 체크
+				$("input[name='cartSq']").each(function(){
+					if (cartCpnCartSq == $(this).val()) {
+						var currPrice 		= parseInt($(this).parent().find("input[name='currPrice']").val());
+						var tmtb1DcAmt 		= parseInt($(this).parent().find("input[name='tmtb1DcAmt']").val());
+						var tmtb2DcAmt 		= parseInt($(this).parent().find("input[name='tmtb2DcAmt']").val());
+						var goodsCpnDcAmt 	= parseInt($(this).parent().find("input[name='goodsCpnDcAmt']").val());
+						
+						var tempAmt 		= currPrice - tmtb1DcAmt - tmtb2DcAmt - goodsCpnDcAmt;
+						tempSumAmt			= tempSumAmt + tempAmt; 
+						
+						// 할인율일때 할인금액 
+						if (dcWay == "G240_20") {
+							cartCpnDcAmt = (tempAmt * dcVal) / 100;
+							cartCpnDcSumAmt = cartCpnDcSumAmt + cartCpnDcAmt;
+							
+							$(this).parent().find("input[name='cartCpnSq']").val(obj.prop("value"));
+							$(this).parent().find("input[name='cartCpnDcAmt']").val(cartCpnDcAmt);
+						}
+						
+						applyGoodsCnt++;
+					}
+				});
+			});
+			
+			// 금액일때 할인금액 적용
+			if (dcWay == "G240_10") {
+				cartCpnDcSumAmt = dcVal;
+				leftAmt			= dcVal;
+				index			= 0;
+				
+				// 장바구니쿠폰 해당 장바구니상품들 할인가 적용
+				obj.find("input[name='cartCpnCartSq']").each(function(){
+					var cartCpnCartSq 		= $(this).val();
+					var cartCpnDcAmt		= 0;
+										
+					// 장바구니시퀀스 체크
+					$("input[name='cartSq']").each(function(){
+						if (cartCpnCartSq == $(this).val()) {
+							index++;
+							
+							var currPrice 		= parseInt($(this).parent().find("input[name='currPrice']").val());
+							var tmtb1DcAmt 		= parseInt($(this).parent().find("input[name='tmtb1DcAmt']").val());
+							var tmtb2DcAmt 		= parseInt($(this).parent().find("input[name='tmtb2DcAmt']").val());
+							var goodsCpnDcAmt 	= parseInt($(this).parent().find("input[name='goodsCpnDcAmt']").val());
+							
+							var tempAmt 		= currPrice - tmtb1DcAmt - tmtb2DcAmt - goodsCpnDcAmt;
+							var tempDiv 		= parseInt((tempAmt / tempSumAmt) * 100);
+							var cartCpnDcAmt	= 0;
+					
+							if (index == applyGoodsCnt) {
+								cartCpnDcAmt 	= leftAmt;
+							} else {
+								cartCpnDcAmt	= parseInt((cartCpnDcSumAmt * tempDiv) / 100);
+								leftAmt 		= leftAmt - cartCpnDcAmt;
+							}
+							
+							$(this).parent().find("input[name='cartCpnSq']").val(obj.prop("value"));
+							$(this).parent().find("input[name='cartCpnDcAmt']").val(cartCpnDcAmt);
+						}
+					});
+				});
+			} 
+			
+			obj.parent().parent().find("input[name='cpnDcAmt']").val(cartCpnDcSumAmt);
+			
+			var dcAmtStr = "- " + cartCpnDcSumAmt.addComma() + " 원 할인적용";
+			obj.parent().parent().parent().parent().parent().find(".cp_amount").text(dcAmtStr);
+		}
+		// 배송비쿠폰적용
+		else if (cpnType == "delvCpn") {
+			
+		}
 		
-		// select box 쿠폰 적용
+		// select box 쿠폰 적용 (공통적용)
 		obj.parent().parent().find("input[name='custCpnSq']").val(obj.prop("value"));
-		obj.parent().parent().find("input[name='cpnDcAmt']").val(obj.attr("data"));
-		
 		obj.parent().parent().find(".select").text(obj.text());
 		
 		// 선택된 할인금액 노출
@@ -1413,12 +1511,67 @@ $(document).ready( function() {
 	// 쿠폰할인금액합계설정
 	var custCpnSumAmtCal = function() {
 		var cpnDcSumAmt = 0;
+		var cpnApplyCnt = 0;
+		
 		$("input[name='cpnDcAmt']").each(function(){
 			cpnDcSumAmt = cpnDcSumAmt + parseInt($(this).val());
+			
+			// 적용된 쿠폰 수량
+			if (parseInt($(this).val()) > 0) {
+				cpnApplyCnt++;
+			}
 		});
+		
 		$(".maxdisc_amount").text("(-" + cpnDcSumAmt.addComma() + "원)");
+		$("#cpnApplyCnt").text(cpnApplyCnt + "장");
 	};
 	
+	// 쿠폰 선택없음 기능 구현
+	var cpnApplyDel = function(obj) {
+		// 쿠폰타입(상품쿠폰, 장바구니쿠폰, 배송비쿠폰)
+		var cpnType = obj.parent().parent().find("input[name='cpnType']").val();
+		
+		// 상품쿠폰적용
+		if (cpnType == "goodsCpn") {
+			// select box 쿠폰 적용
+			var cpnCartSq = obj.parent().parent().find("input[name='cpnCartSq']").val();
+			
+			// 장바구니시퀀스 체크
+			$("input[name='cartSq']").each(function(){
+				if (cpnCartSq == $(this).val()) {
+					$(this).parent().find("input[name='goodsCpnSq']").val("0");			// 상품쿠폰시퀀스
+					$(this).parent().find("input[name='goodsCpnDcAmt']").val("0");		// 상품쿠폰할인금액
+				}
+			});
+		}
+		// 장바구니쿠폰적용
+		else if (cpnType == "cartCpn") {
+			// 장바구니쿠폰 시퀀스 0, 장바구니할인금액 0
+			$("input[name='cartSq']").each(function(){
+				$(this).parent().find("input[name='cartCpnSq']").val("0");
+				$(this).parent().find("input[name='cartCpnDcAmt']").val("0");
+			});
+		}
+		// 배송비쿠폰적용
+		else if (cpnType == "delvCpn") {
+			
+		}
+		
+		obj.parent().parent().find("input[name='custCpnSq']").val("0");
+		obj.parent().parent().find("input[name='cpnDcAmt']").val("0");
+
+		obj.parent().parent().find(".select").text("선택없음");
+		obj.parent().parent().parent().parent().parent().find(".cp_discount").css("display", "none");
+		
+		// 쿠폰할인금액 SUM
+		custCpnSumAmtCal();
+		
+		// 최대할인혜택적용 체크해제
+		if ($("#chk-maxdisc").is(":checked")) {
+			$("#chk-maxdisc").attr("checked", false);
+		}
+	}
+	
 	// 사은품선택 라디오 버튼 기능
 	$(".freegiftRdo").on("click", function() {
 		var total_gift 		= 0;