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

+ 8 - 5
src/main/java/com/style24/front/biz/web/TsfOrderController.java

@@ -157,7 +157,7 @@ public class TsfOrderController extends TsfBaseController {
 		}
 		
 		// 선물받기여부
-		String orderGiftYn = "N";
+		String giftPackYn = "N";
 		
 		// 1.3. 선물하기주문 체크 후 비 로그인 상태면 장바구니로 강제 이동
 		if (coreOrderService.getGiftOrderCheck(order) > 0) {
@@ -167,7 +167,7 @@ public class TsfOrderController extends TsfBaseController {
 				return mav;
 			}
 			// 선물받기여부
-			orderGiftYn = "Y";
+			giftPackYn = "Y";
 			
 			// 선물하기일때 PC 로 접근하면 
 			if ("P".equals(TsfSession.getFrontGb())) {
@@ -206,12 +206,12 @@ public class TsfOrderController extends TsfBaseController {
 		} 
 		
 		// 2.2 선물받기 Y 이면 총알배송 불가
-		if ("Y".equals(orderGiftYn)) {
+		if ("Y".equals(giftPackYn)) {
 			order.setShotDelvUseYn("N");
 		}
 		
 		order.setShotDelvYn(order.getShotDelvUseYn());
-		order.setOrderGiftYn(orderGiftYn);
+		order.setGiftPackYn(giftPackYn);
 
 		// 3. 장바구니상품시퀀스 상품목록조회
 		// 3.1 즉시할인, 다다익선 할인금액 정보 적용 상품 정보
@@ -263,7 +263,7 @@ public class TsfOrderController extends TsfBaseController {
 		mav.addObject("isLogin"				, TsfSession.isLogin());					// 로그인여부
 		
 		// 4.6 선물받기여부
-		mav.addObject("orderGiftYn"			, orderGiftYn);								// 선물받기여부
+		mav.addObject("giftPackYn"			, giftPackYn);								// 선물받기여부
 
 		mav.setViewName(super.getDeviceViewName("order/OrderForm"));
 		
@@ -510,6 +510,8 @@ public class TsfOrderController extends TsfBaseController {
 		mav.addObject("tmtbDcSumAmt"		, goodsDcAmtMap.get("tmtbDcSumAmt"));		// 다다익선할인금액합계
 		mav.addObject("prePntDcAmt"			, goodsDcAmtMap.get("prePntDcAmt"));		// 선포인트사용가능금액
 		mav.addObject("savePntSumAmt"		, goodsDcAmtMap.get("savePntSumAmt"));		// 적립예정포인트합계
+		
+		mav.addObject("order"				, order);									// 파라미터
 		mav.setViewName(super.getDeviceViewName("order/OrderListInfo"));
 		
 		return mav;
@@ -730,6 +732,7 @@ public class TsfOrderController extends TsfBaseController {
 		log.info("order.getFreegiftSqArr()     ::: {}", order.getFreegiftSqArr());
 		log.info("order.getSexGb()             ::: {}", order.getSexGb());
 		log.info("order.getBirthYmd()          ::: {}", order.getBirthYmd());
+		log.info("order.getGiftMsg()           ::: {}", order.getGiftMsg());
 		
 		for(int i = 0 ; i < order.getFreegiftGoodsArr().length ; i++) {
 			log.info("order.getFreegiftGoodsArr()  ::: {}", order.getFreegiftGoodsArr()[i]);

+ 127 - 51
src/main/webapp/WEB-INF/views/mob/order/OrderCompleteMob.html

@@ -116,62 +116,129 @@
 			</div>
 			<!-- 폴딩리스트 -->
 		</div>
-		<div class="inner wide">
-			<!-- 폴딩리스트 -->
-			<div class="ui_row">
-				<div class="foldGroup shipfold">
-					<ul>
-						<li class="fold_delivery">
-							<div class="fold_head">
-								<a href="javascript:void(0)">
-									<div>
-										<div class="fold_tit">
-											<span>배송지 정보</span>
-										</div>
-										<div class="data">
-											<span class="recipAddr" th:text="${orderInfo.recipBaseAddr} + '    ' + ${orderInfo.recipDtlAddr}"></span>
+		<th:block th:if="${orderInfo.giftPackYn} == 'N'">
+			<div class="inner wide">
+				<!-- 폴딩리스트 -->
+				<div class="ui_row">
+					<div class="foldGroup shipfold">
+						<ul>
+							<li class="fold_delivery">
+								<div class="fold_head">
+									<a href="javascript:void(0)">
+										<div>
+											<div class="fold_tit">
+												<span>배송지 정보</span>
+											</div>
+											<div class="data">
+												<span class="recipAddr" th:text="${orderInfo.recipBaseAddr} + '    ' + ${orderInfo.recipDtlAddr}"></span>
+											</div>
 										</div>
+									</a>
+								</div>
+								<div class="fold_cont">
+									<!-- //배송지 정보 변경불가 -->
+									<div class="ship_info">
+										<button type="button" id="btn_adrsChange_pop" class="btn_popup"><span>배송지 변경</span></button>
+										<dl>
+											<div class="company">
+												<dt><span class="sr-only">배송지명</span></dt>
+												<dd id="recipNm" th:text="${orderInfo.recipNm}">
+													<!-- 
+													<span class="icon_tag">
+														<em class="tag_stype1">기본 배송지</em>
+														<em class="tag_stype2">총알배송</em>
+													</span>
+													 -->
+												</dd>
+											</div>
+											<div class="phone">
+												<dt><span class="sr-only">휴대폰 번호</span></dt>
+												<dd id="recipPhnno" th:text="${orderInfo.recipPhnno}"></dd>
+											</div>
+											<div class="addr">
+												<dt><span class="sr-only">배송주소</span></dt>
+												<dd id="recipAddr" th:text="${orderInfo.recipBaseAddr} + '    ' + ${orderInfo.recipDtlAddr}"></dd>
+											</div>
+											<div class="ship_request">
+												<dt>배송요청 사항</dt>
+												<dd id="delvMemo" th:text="${orderInfo.delvMemo}"></dd>
+											</div>
+										</dl>
 									</div>
-								</a>
-							</div>
-							<div class="fold_cont">
-								<!-- //배송지 정보 변경불가 -->
-								<div class="ship_info">
-									<button type="button" id="btn_adrsChange_pop" class="btn_popup"><span>배송지 변경</span></button>
-									<dl>
-										<div class="company">
-											<dt><span class="sr-only">배송지명</span></dt>
-											<dd id="recipNm" th:text="${orderInfo.recipNm}">
-												<!-- 
-												<span class="icon_tag">
-													<em class="tag_stype1">기본 배송지</em>
-													<em class="tag_stype2">총알배송</em>
-												</span>
-												 -->
-											</dd>
-										</div>
-										<div class="phone">
-											<dt><span class="sr-only">휴대폰 번호</span></dt>
-											<dd id="recipPhnno" th:text="${orderInfo.recipPhnno}"></dd>
-										</div>
-										<div class="addr">
-											<dt><span class="sr-only">배송주소</span></dt>
-											<dd id="recipAddr" th:text="${orderInfo.recipBaseAddr} + '    ' + ${orderInfo.recipDtlAddr}"></dd>
-										</div>
-										<div class="ship_request">
-											<dt>배송요청 사항</dt>
-											<dd id="delvMemo" th:text="${orderInfo.delvMemo}"></dd>
+									<!-- //배송지 정보 변경불가 -->
+								</div>
+							</li>
+						</ul>
+					</div>
+				</div>
+				<!-- 폴딩리스트 -->
+			</div>
+		</th:block>
+		<th:block th:if="${orderInfo.giftPackYn} == 'Y'">
+			<div class="inner">
+				<!-- 폴딩리스트 
+				<div class="ui_row" style="display:none;">
+					<div class="foldGroup shipfold">
+						<ul>
+							<li>
+								<div class="fold_head">
+									<a href="javascript:void(0)">
+										<div>
+											<div class="fold_tit">
+												<span>선물 받으실 분</span>
+											</div>
+											<div class="data">
+												<span>서울시 영등포구 은행로 11번길 3층</span>
+											</div>
 										</div>
-									</dl>
+									</a>
 								</div>
-								<!-- //배송지 정보 변경불가 -->
-							</div>
-						</li>
-					</ul>
+								<div class="fold_cont">
+									<div class="ship_info">
+										<button type="button" id="btn_adrsChange_pop" class="btn_popup"><span>배송지 변경</span></button>
+										<dl>
+											<div class="company">
+												<dt><span class="sr-only">배송지명</span></dt>
+												<dd>
+													홍길동
+												</dd>
+											</div>
+											<div class="phone">
+												<dt><span class="sr-only">휴대폰 번호</span></dt>
+												<dd>
+													010-1234-5647
+												</dd>
+											</div>
+											<div class="ship_request">
+												<dt>선물 메시지</dt>
+												<dd>
+													김홍길동씨 생일 축하합니다
+												</dd>
+											</div>
+										</dl>
+									</div>
+								</div>
+							</li>
+						</ul>
+					</div>
+				</div>
+				<!-- 폴딩리스트 -->
+				<div class="gift_wrap">
+					<h3>선물 받으실 분</h3>
+					<div class="gift_con">
+						<div class="gift_info">
+							<span th:text="${orderInfo.recipNm}"></span> / <span th:text="${orderInfo.recipPhnno}"></span>
+						</div>
+						<div class="message">
+							<p class="gift_tit">선물 메세지</p>
+							<div class="content">
+								<p th:text="${orderInfo.giftMsg}" id="giftMsg"></p>
+							</div> 
+						</div>
+					</div>
 				</div>
 			</div>
-			<!-- 폴딩리스트 -->
-		</div>
+		</th:block>
 		<div class="inner">
 			<div class="tbl_wrap pay_wrap">
 				<div class="tbl_tit"> 
@@ -280,7 +347,7 @@
 										<dt>적립예정 포인트</dt>
 										<dd>
 											<div>
-												<span th:text="${#numbers.formatInteger(savePntSumAmt, 1, 'COMMA')}">3000</span>P
+												<span th:text="${#numbers.formatInteger(savePntSumAmt, 1, 'COMMA')}"></span>P
 											</div>
 										</dd>
 									</div>
@@ -321,6 +388,15 @@
 var ordNo			= [[${orderInfo.ordNo}]]		// 배송목록
 var isLogin			= [[${isLogin}]];				// 로그인여부
 var delvAddrSq		= [[${delvAddrSq}]];			// 배송지번호
+var giftMsg			= [[${orderInfo.giftMsg}]];		// 선물메세지
+
+// item.questContent.replaceAll("\n", "</br>")
+
+//컨텐츠 호출
+$(document).ready( function() {
+	// 선물메시지
+	$("#giftMsg").html(giftMsg.replaceAll("\n", "</br>"));
+});
 
 // 2.1 회원 배송지변경 팝업열기
 $('#btn_adrsChange_pop').on("click", function(){

+ 76 - 57
src/main/webapp/WEB-INF/views/mob/order/OrderFormMob.html

@@ -44,7 +44,7 @@
 				<th>delvMemo</th>
 				<th>sexGb</th>
 				<th>birthYmd</th>
-				<th>orderGiftYn</th>
+				<th>giftPackYn</th>
 			</tr>
 			<tr style="height:30px;">
 				<td class="custNm"></td>
@@ -58,7 +58,7 @@
 				<td class="delvMemo"></td>
 				<td class="sexGb"></td>
 				<td class="birthYmd"></td>
-				<td class="orderGiftYn" th:text="${orderGiftYn}"></td>
+				<td class="giftPackYn" th:text="${giftPackYn}"></td>
 			</tr>
 		</tbody>
 	</table>
@@ -410,7 +410,7 @@ var foreignBuyYn		= [[${order.foreignBuyYn}]];	// 해외구매대행
 var foreignBuyYn		= [[${foreignBuyYn}]];			// 해외구매대행여부
 var orderMadeYn			= [[${orderMadeYn}]];			// 주문제작상품여부
 var isLogin				= [[${isLogin}]];				// 로그인여부
-var orderGiftYn			= [[${orderGiftYn}]];			// 선물받기여부
+var giftPackYn			= [[${giftPackYn}]];			// 선물받기여부
 
 var custCpnSq 			= 0;
 var cpnIndex			= 0;
@@ -462,7 +462,7 @@ $(document).ready( function() {
 		, "foreignBuyYn"	: foreignBuyYn
 		, "orderMadeYn"		: orderMadeYn
 		, "custDelvAddrSq"	: 0
-		, "orderGiftYn"		: "Y"
+		, "giftPackYn"		: "Y"
 	}
 	
 	jsonData = JSON.stringify(jsonObj);
@@ -511,7 +511,7 @@ var custemerInfoSet = function() {
 			}
 			
 			// 1.4 선물하기여부체크
-			if (orderGiftYn == "Y") {
+			if (giftPackYn == "Y") {
 				// 1.4.1 선물하기정보로드
 				orderGiftInfoSet(jsonObj, true);
 			} else {
@@ -579,6 +579,24 @@ var orderGiftInfoSet = function() {
 			$("#orderGiftInfo").css("display", "block");
 			$("#orderGiftInfo").html(result);
 			
+			// 직접입력 선택 버튼
+			$("#orderGiftInfo .gift_tab .fold_cont ul li").on("click", function(){
+				$(this).parent().find("li").removeClass("active");
+				$(this).addClass("active");
+				
+				$(this).parent().parent().find("input[name=recipNm]").val("");
+				$(this).parent().parent().find("input[name=recipPhnno]").val("");
+				
+				// 직접입력시 입력창 활성화
+				if ($(this).find("span").text() == "직접입력") {
+					$(this).parent().parent().find("input[name=recipNm]").attr("readOnly", false);
+					$(this).parent().parent().find("input[name=recipPhnno]").attr("readOnly", false);
+				} else {
+					$(this).parent().parent().find("input[name=recipNm]").attr("readOnly", true);
+					$(this).parent().parent().find("input[name=recipPhnno]").attr("readOnly", true);
+				}
+			});
+			
 			// 주문목록정보로드
 			orderListInfoSet(JSON.stringify(jsonObj), true);
 		}
@@ -773,6 +791,17 @@ var freegiftInfoSet = function() {
 					total_gift 		= 0;
 					total_deduct 	= 0;
 					
+					// 2021.04.14 사은품 사용 포인트가 보유포인트보다 작아야 한다.
+					var rmPntAmt 			= parseInt($("#orderForm input[name='rmPntAmt']").val());
+					var freegiftUsePnt 		= parseInt($("#orderAmtForm .freegiftUsePnt").text());
+					var usepoint			= parseInt($(this).attr("usepoint"));
+					rmPntAmt 				= rmPntAmt - freegiftUsePnt - usepoint;
+					
+					if (rmPntAmt > 0) {
+						mcxDialog.alert("보유포인트가 부족합니다.");
+						return false;
+					}
+					
 					$("#orderForm .freegiftRdo").each(function(){
 						// 라디오버튼 사은품 체크
 						if ($(this).is(":checked")) {
@@ -853,43 +882,38 @@ var paymentInfoSet = function() {
 					var goodsNm				= "";
 					var orgEntryNo 			= "";
 					var entryNo 			= "";
-					
-					// 주문데이타 생성
-					var orderData = {
-						"custNm"				: $("#orderAmtForm .custNm").text()
-						,"email"				: $("#orderAmtForm .email").text()
-						,"recipNm"				: $("#orderAmtForm .recipNm").text()
-						,"recipPhnno"			: $("#orderAmtForm .recipPhnno").text()
-						,"recipZipcode"			: $("#orderAmtForm .recipZipcode").text()
-						,"recipBaseAddr"		: $("#orderAmtForm .recipBaseAddr").text()
-						,"recipDtlAddr"			: $("#orderAmtForm .recipDtlAddr").text()
-						,"delvMemo"				: $("#orderAmtForm .delvMemo").text()
-						,"sexGb"				: $("#orderAmtForm .sexGb").text()
-						,"birthYmd"				: $("#orderAmtForm .birthYmd").text()
-						,"prePntDcAmtYn"		: prePntDcAmtYn
-						,"orderDetailList"		: orderDetailList
-						,"delvFeeCdList"		: delvFeeCdList
-						,"shotDelvYn"			: shotDelvYn
-						,"entryNo"				: entryNo
-						,"pgGb"					: pgGb
-						,"payMeans"				: payMeans // 네이버페이, 카카오페이
-						,"payAmt"				: $("#orderAmtForm .realOrdSumAmt").text()
-						,"ordNm"				: $("#orderAmtForm .custNm").text()
-						,"ordPhnno"				: $("#orderAmtForm .cellPhnno").text()
-						,"goodsNm"				: $("#orderAmtForm .goodsNm").eq(0).text()
-						,"ordGoodsQty"			: ordGoodsQty
-						,"freegiftValArr"		: $("#orderAmtForm .freegiftValArr").text().split(",")
-						,"freegiftSqArr"		: $("#orderAmtForm .freegiftSqArr").text().split(",")
-						,"freegiftGoodsArr"		: $("#orderAmtForm .freegiftGoodsArr").text().split(",")
-						,"freegiftUsePointArr"	: $("#orderAmtForm .freegiftUsePointArr").text().split(",")
-					};
+					var giftMsg				= "감사합니다.";
 					
 					// 선물받기일때 배송지주소 받지않음
-					if (orderGiftYn == "N") {
+					if (giftPackYn == "N") {
 						if ($("#orderAmtForm .recipZipcode").text() == "0000" || gagajf.isNull($("#orderAmtForm .recipZipcode").text())) {
-							mcxDialog.alert("배송지주소를를 입력해주세요.");
+							mcxDialog.alert("배송정보를 입력해주세요.");
+							return false;
+						}
+					} else {
+						if (gagajf.isNull($("#orderForm #orderGiftInfo input[name=recipNm]").val())) {
+							mcxDialog.alert("선물받을분 이름을 입력해주세요.");
+							$("#orderForm #orderGiftInfo input[name=recipNm]").focus();
+							
+							orderGiftInfoDispYn("Y");
 							return false;
 						}
+						if (gagajf.isNull($("#orderForm #orderGiftInfo input[name=recipPhnno]").val())) {
+							mcxDialog.alert("선물받을분 휴대폰번호를 입력해주세요.");
+							$("#orderForm #orderGiftInfo input[name=recipPhnno]").focus();
+							
+							orderGiftInfoDispYn("Y");
+							return false;
+						}
+						
+						$("#orderAmtForm .recipNm").text($("#orderForm #orderGiftInfo input[name=recipNm]").val());
+						$("#orderAmtForm .recipPhnno").text($("#orderForm #orderGiftInfo input[name=recipPhnno]").val());
+						
+						if (gagajf.isNull($("#orderForm #orderGiftInfo input[name=recipPhnno]").val())) {
+							giftMsg = "감사합니다.";
+						} else {
+							giftMsg = $("textarea#giftMsg").val();
+						}
 					}
 					
 					// TODO 개인통관번호 동의 체크시 통관번호 등록
@@ -1008,7 +1032,7 @@ var paymentInfoSet = function() {
 							,"itemQtyArr"		: $(this).parent().find(".itemQtyr").text().split(",")
 							,"goodsType"		: $(this).parent().find(".goodsType").text()
 							,"entryNo"			: entryNo
-							,"giftPackYn"		: orderGiftYn
+							,"giftPackYn"		: giftPackYn
 						}
 						
 						// 상품수
@@ -1058,6 +1082,7 @@ var paymentInfoSet = function() {
 						,"freegiftSqArr"		: $("#orderAmtForm .freegiftSqArr").text().split(",")
 						,"freegiftGoodsArr"		: $("#orderAmtForm .freegiftGoodsArr").text().split(",")
 						,"freegiftUsePointArr"	: $("#orderAmtForm .freegiftUsePointArr").text().split(",")
+						,"giftMsg"				: giftMsg
 					};
 					
 					$.ajax( {
@@ -1072,24 +1097,18 @@ var paymentInfoSet = function() {
 							gagajf.showProgressbar(true);
 						},
 						success 	: function(result) {
-							// 유효성체크 통과
-							if (result.message == "SUCCESS") {
-								// 결재정보로드
-								$("#order_info").html(result);
-								
-								var pgGb = $("#order_info input[name=pgGb]").val();
-								
-								if (pgGb == "NAVER") {
-									fnNaverPaymentReady();
-								} else if (pgGb == "KAKAO") {
-									fnKakaoPaymentReady();
-								} else if (pgGb == "KCP" || pgGb == "PAYCO") {
-									jsf__pay(document.order_info);
-								}
-								return;
-							} else {
-								alert(result.message);
-								return false;
+							
+							// 결재정보로드
+							$("#order_info").html(result);
+							
+							var pgGb = $("#order_info input[name=pgGb]").val();
+							
+							if (pgGb == "NAVER") {
+								fnNaverPaymentReady();
+							} else if (pgGb == "KAKAO") {
+								fnKakaoPaymentReady();
+							} else if (pgGb == "KCP" || pgGb == "PAYCO") {
+								jsf__pay(document.order_info);
 							}
 						}
 					});
@@ -2098,7 +2117,7 @@ var custCpnSumAmtCal = function() {
 		});
 	});
 	
-	$("#orderAmtForm .freegiftValArr").text(freegiftValArr);				// 사은품시퀀스배열
+	$("#orderAmtForm .freegiftValArr").text(freegiftValArr);			// 사은품시퀀스배열
 	$("#orderAmtForm .freegiftUsePointArr").text(freegiftUsePointArr);	// 사은품사용포인트배열
 };
 

+ 11 - 14
src/main/webapp/WEB-INF/views/mob/order/OrderGiftInfoMob.html

@@ -30,30 +30,22 @@
 				<div class="fold_cont" style="display: none;">
 					<div class="tabWrap">
 						<ul class="tabIndex">
-							<li class="active"><a href="javascript:;"><span>연락처 불러오기</span></a></li>
-							<li class=""><a href="javascript:;"><span>직접입력</span></a></li>
+							<li><a href="javascript:;"><span>연락처 불러오기</span></a></li>
+							<li class="active"><a href="javascript:;"><span>직접입력</span></a></li>
 						</ul>
 						<div class="tabContents">
 							<div class="tab_cont active">
 								<div class="form_field">
 									<div class="input_wrap">
-										<input type="text" class="form_control" value="" placeholder="받으실분 휴대폰번호">
-										<p class="desc_txt">선물이 타인에게 전송될수 있으니 전화번호를 받으실분 연락처를 정확하게 입력해주세요.</p>
+										<input type="text" name="recipNm" class="form_control" value="" maxlength="10" placeholder="받는분">
 									</div>
-									<div class="textarea_wrap">
-										<textarea class="doc_review" name="review" id="" placeholder="선물 메시지 입력&#13;&#10;(미 입력시 ‘감사합니다’로 발송됩니다.)"></textarea>
-										<p class="txt_cnt"><span id="review_cnt" class="c_primary">0</span>/200</p>
-									</div>
-								</div>
-							</div>
-							<div class="tab_cont">
-								<div class="form_field">
+									<br>
 									<div class="input_wrap">
-										<input type="text" class="form_control" value="" placeholder="받으실분 휴대폰번호">
+										<input type="text" name="recipPhnno" class="form_control" value="" minlength="10" maxlength="14" placeholder="받으실분 휴대폰번호">
 										<p class="desc_txt">선물이 타인에게 전송될수 있으니 전화번호를 받으실분 연락처를 정확하게 입력해주세요.</p>
 									</div>
 									<div class="textarea_wrap">
-										<textarea class="doc_review" name="review" id="" placeholder="선물 메시지 입력&#13;&#10;(미 입력시 ‘감사합니다’로 발송됩니다.)"></textarea>
+										<textarea class="doc_review" name="giftMsg" id="giftMsg" placeholder="선물 메시지 입력&#13;&#10;(미 입력시 ‘감사합니다’로 발송됩니다.)"></textarea>
 										<p class="txt_cnt"><span id="review_cnt" class="c_primary">0</span>/200</p>
 									</div>
 								</div>
@@ -86,5 +78,10 @@ var orderGiftInfoDispYn = function(temp) {
 $(document).ready( function() {
 	
 });
+
+//2021.04.09 하이픈처리
+$(document).on("keyup", "#orderGiftInfo input[name=recipPhnno]", function() { 
+	$(this).val( $(this).val().replace(/[^0-9]/g, "").replace(/(^02|^0505|^1[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{4})$/,"$1-$2-$3").replace("--", "-") ); 
+});
 </script>
 </html>

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

@@ -23,10 +23,10 @@
 			<div class="fold_head">
 				<a href="javascript:void(0)">
 					<div>
-						<th:block th:if="${order.orderGiftYn} == 'N'">
+						<th:block th:if="${order.giftPackYn} == 'N'">
 							<div class="fold_tit"><span>주문내역</span></div>
 						</th:block>
-						<th:block th:if="${order.orderGiftYn} == 'Y'">
+						<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>

+ 2 - 2
src/main/webapp/WEB-INF/views/mob/popup/DelvAddrAddPopMob.html

@@ -15,13 +15,13 @@
 								<tr>
 									<td>
 										<span class="sr-only">받는분</span>
-										<input type="text" class="form_control" name="recipNm" placeholder="받는분">
+										<input type="text" class="form_control" name="recipNm" maxlength="10" placeholder="받는분">
 									</td>
 								</tr>
 								<tr>
 									<td>
 										<span class="sr-only">휴대폰 번호</span>
-										<input type="text" class="form_control" name="recipPhnno" placeholder="휴대폰 번호">
+										<input type="text" class="form_control" name="recipPhnno" minlength="10" maxlength="14" placeholder="휴대폰 번호">
 									</td>
 								</tr>
 								<tr>

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

@@ -823,6 +823,17 @@ var freegiftInfoSet = function() {
 					total_gift 		= 0;
 					total_deduct 	= 0;
 					
+					// 2021.04.14 사은품 사용 포인트가 보유포인트보다 작아야 한다.
+					var rmPntAmt 			= parseInt($("#orderForm input[name='rmPntAmt']").val());
+					var freegiftUsePnt 		= parseInt($("#orderAmtForm .freegiftUsePnt").text());
+					var usepoint			= parseInt($(this).attr("usepoint"));
+					rmPntAmt 				= rmPntAmt - freegiftUsePnt - usepoint;
+					
+					if (rmPntAmt > 0) {
+						mcxDialog.alert("보유포인트가 부족합니다.");
+						return false;
+					}
+					
 					$("#orderForm .freegiftRdo").each(function(){
 						if ($(this).attr("allYn") == "Y" ) {
 							total_gift 		+= 1;
@@ -1020,6 +1031,7 @@ var paymentInfoSet = function() {
 							,"itemQtyArr"		: $(this).parent().find(".itemQtyr").text().split(",")
 							,"goodsType"		: $(this).parent().find(".goodsType").text()
 							,"entryNo"			: entryNo
+							,"giftPackYn"		: "N"
 						}
 						
 						// 상품수
@@ -1069,6 +1081,7 @@ var paymentInfoSet = function() {
 						,"freegiftSqArr"		: $("#orderAmtForm .freegiftSqArr").text().split(",")
 						,"freegiftGoodsArr"		: $("#orderAmtForm .freegiftGoodsArr").text().split(",")
 						,"freegiftUsePointArr"	: $("#orderAmtForm .freegiftUsePointArr").text().split(",")
+						,"giftMsg"				: ""
 					};
 					
 					$.ajax( {
@@ -1095,7 +1108,6 @@ var paymentInfoSet = function() {
 							} else if (pgGb == "KCP" || pgGb == "PAYCO") {
 								jsf__pay(document.order_info);
 							}
-							return;
 						}
 					});
 				});