Kaynağa Gözat

Merge remote-tracking branch 'origin/develop' into xodud1202

xodud lee 4 yıl önce
ebeveyn
işleme
21e0417157
29 değiştirilmiş dosya ile 387 ekleme ve 231 silme
  1. 1 1
      pom.xml
  2. 41 34
      src/main/java/com/style24/front/biz/dao/TsfPlanningDao.java
  3. 92 94
      src/main/java/com/style24/front/biz/service/TsfPlanningService.java
  4. 2 2
      src/main/java/com/style24/front/biz/web/TsfDisplayController.java
  5. 27 0
      src/main/java/com/style24/front/biz/web/TsfOrderController.java
  6. 15 0
      src/main/java/com/style24/persistence/mybatis/shop/TsfPlanning.xml
  7. 7 8
      src/main/resources/config/application.yml
  8. 0 0
      src/main/webapp/WEB-INF/lib/Istyle-1.3.jar
  9. 6 6
      src/main/webapp/WEB-INF/views/mob/common/fragments/GnbMob.html
  10. 4 0
      src/main/webapp/WEB-INF/views/mob/display/BrandLookbookMainFormMob.html
  11. 11 1
      src/main/webapp/WEB-INF/views/mob/display/LookbookMainFormMob.html
  12. 7 7
      src/main/webapp/WEB-INF/views/mob/order/OrderEntryInfoMob.html
  13. 55 23
      src/main/webapp/WEB-INF/views/mob/order/OrderFormMob.html
  14. 1 1
      src/main/webapp/WEB-INF/views/mob/order/OrderFreegiftInfoMob.html
  15. 1 1
      src/main/webapp/WEB-INF/views/mob/order/OrderMadeInfoMob.html
  16. 5 2
      src/main/webapp/WEB-INF/views/web/callcenter/FaqFormWeb.html
  17. 6 1
      src/main/webapp/WEB-INF/views/web/callcenter/GoodsQnaFormWeb.html
  18. 5 1
      src/main/webapp/WEB-INF/views/web/callcenter/NoticeFormWeb.html
  19. 6 1
      src/main/webapp/WEB-INF/views/web/callcenter/OneToOneQnaFormWeb.html
  20. 1 1
      src/main/webapp/WEB-INF/views/web/customer/PrivacyPolicyFormWeb.html
  21. 3 4
      src/main/webapp/WEB-INF/views/web/customer/SupplyCompanyLayerFormWeb.html
  22. 4 0
      src/main/webapp/WEB-INF/views/web/display/BrandLookbookMainFormWeb.html
  23. 7 0
      src/main/webapp/WEB-INF/views/web/display/LookbookMainFormWeb.html
  24. 1 1
      src/main/webapp/WEB-INF/views/web/order/OrderDeliveryAddrInfoWeb.html
  25. 37 15
      src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html
  26. 1 1
      src/main/webapp/WEB-INF/views/web/order/OrderFreegiftInfoWeb.html
  27. 6 3
      src/main/webapp/ux/mo/css/common_m.css
  28. 15 8
      src/main/webapp/ux/mo/css/layout_m.css
  29. 20 15
      src/main/webapp/ux/mo/css/style24_m.css

+ 1 - 1
pom.xml

@@ -180,7 +180,7 @@
 			<artifactId>istyle</artifactId>
 			<version>1.3</version>
 			<scope>system</scope>
-			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/Istyle.jar</systemPath>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/Istyle-1.3.jar</systemPath>
 		</dependency>
 		<dependency>
 			<groupId>com.diquest.ir</groupId>

+ 41 - 34
src/main/java/com/style24/front/biz/dao/TsfPlanningDao.java

@@ -1,7 +1,6 @@
 package com.style24.front.biz.dao;
 
 import java.util.Collection;
-import java.util.Map;
 
 import com.style24.core.support.annotation.ShopDs;
 import com.style24.persistence.domain.Coupon;
@@ -56,6 +55,15 @@ public interface TsfPlanningDao {
 	 */
 	Collection<Plan> getPlanningGoodsList(Plan plan);
 
+	/**
+	 * 유효한 기획전 여부 조회
+	 * @param plan - 기획전 정보
+	 * @return Y:유효한 기획전
+	 * @author gagamel
+	 * @since 2021. 7. 6
+	 */
+	String getAvailPlanningYn(Plan plan);
+
 	/**
 	 * 디바이스접근가능여부 조회
 	 * @param plan - 기획전 정보
@@ -170,7 +178,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 3. 22
 	 */
 	Collection<Plan> getPlanImageInfo(Plan plan);
-	
+
 	/**
 	 * 기획전 템플릿 유의사항
 	 *
@@ -190,7 +198,6 @@ public interface TsfPlanningDao {
 	 * @date 2021. 3. 23
 	 */
 	Collection<Plan> getPlanGoodsDisplayList(Plan plan);
-	
 
 	/**
 	 * 기획전 코너 리스트
@@ -201,7 +208,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 3. 30
 	 */
 	Collection<Plan> getPlanCornerList(Plan plan);
-	
+
 	/**
 	 * 기획전 코너 상품 리스트
 	 *
@@ -241,7 +248,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 3. 30
 	 */
 	Plan getShotDeliveryHtmlTop(Plan plan);
-	
+
 	/**
 	 * 총알배송 하단 html 소스 
 	 *
@@ -251,7 +258,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 3. 30
 	 */
 	Plan getShotDeliveryHtmlBtm(Plan plan);
-	
+
 	/**
 	 * 설문조사 정보
 	 *
@@ -261,7 +268,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 3
 	 */
 	Poll getPollQuestionInfo(Plan plan);
-	
+
 	/**
 	 * 설문조사 질문내용
 	 *
@@ -271,7 +278,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 3
 	 */
 	Collection<Poll> getPollQuestionList(Plan plan);
-	
+
 	/**
 	 * 설문조사 등록
 	 *
@@ -281,7 +288,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 3
 	 */
 	void savePollCustAnswer(Poll poll);
-	
+
 	/**
 	 * 설문조사 중복 인덱스
 	 *
@@ -291,7 +298,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 6. 18
 	 */
 	int getPollCustAnswerIndex();
-	
+
 	/**
 	 * 설문조사 중복카운트
 	 *
@@ -301,7 +308,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 4
 	 */
 	int getCustAnswerCount(Plan plan);
-	
+
 	/**
 	 * 설문조사 선착순 카운트
 	 *
@@ -311,7 +318,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 5
 	 */
 	int getCustAnswerPartiCount(Poll poll);
-	
+
 	/**
 	 * 총알배송 조회할 기본 주소
 	 *
@@ -321,7 +328,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 5
 	 */
 	CustDeliveryAddr getCustAddrInfo(CustDeliveryAddr addr);
-	
+
 	/**
 	 * 총알배송 가능여부
 	 *
@@ -331,7 +338,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 5
 	 */
 	CustDeliveryAddr getCustAddrShotConfirm(String recipZipcode);
-	
+
 	/**
 	 * 출석체크 달력
 	 *
@@ -341,7 +348,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 6
 	 */
 	Collection<Plan> getAttendMonth(Plan plan);
-	
+
 	/**
 	 * 출석체크 
 	 *
@@ -351,7 +358,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 7
 	 */
 	void saveAttendEntry(Plan plan);
-	
+
 	/**
 	 * 출석체크 확인
 	 *
@@ -361,7 +368,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 7
 	 */
 	int getAttendEntryCount(Plan plan);
-	
+
 	/**
 	 * 출석체크 혜택 리스트
 	 *
@@ -371,7 +378,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 14
 	 */
 	Collection<Plan> getAttendBenefitList(Plan plan);
-	
+
 	/**
 	 * 고객이 출석한 일 리스트
 	 *
@@ -381,7 +388,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 7
 	 */
 	Collection<Plan> getCustAttendEntryList(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 댓글
 	 *
@@ -391,7 +398,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 8
 	 */
 	Collection<Plan> getReplyList(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 댓글 저장
 	 *
@@ -401,7 +408,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 13
 	 */
 	void saveEntryReply(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 댓글 카운트
 	 *
@@ -411,7 +418,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 13
 	 */
 	int getEntryReplyCount(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 댓글 삭제
 	 *
@@ -421,7 +428,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 13
 	 */
 	void deleteEntryReply(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 댓글 이미지 저장
 	 *
@@ -431,7 +438,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 13
 	 */
 	void saveEntryReplyAttach(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 댓글 이미지 리스트
 	 *
@@ -441,7 +448,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 8
 	 */
 	Collection<Plan> getEntryReplyAttachList(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 댓글 이미지 삭제
 	 *
@@ -451,7 +458,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 13
 	 */
 	void deleteEntryReplyAttach(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 접근 고객 리스트
 	 *
@@ -461,7 +468,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 22
 	 */
 	Plan getCustomerGubunAccessibleList(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 접근 고객 리스트
 	 *
@@ -471,7 +478,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 22
 	 */
 	Collection<Plan> getCustomerGradeAccessibleList(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 비회원 접근 조회
 	 *
@@ -481,7 +488,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 5. 4
 	 */
 	int getNonmemberGradeAccessible(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 접근 프론트 구분
 	 *
@@ -491,7 +498,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 22
 	 */
 	String getFrontAccessibleList(Plan plan);
-	
+
 	/**
 	 * 총알배송 planSq 
 	 *
@@ -501,7 +508,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 5. 10
 	 */
 	Integer getShotPlanSq(Plan plan);
-	
+
 	/**
 	 * 기획전 컨텐츠 정보 
 	 *
@@ -511,7 +518,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 6. 3
 	 */
 	Collection<Plan> getPlanContentInfo(Plan plan);
-	
+
 	/**
 	 * 총알배송 브랜드 리스트 
 	 *
@@ -521,7 +528,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 6. 29
 	 */
 	Collection<Plan> getShotBrandList();
-	
+
 	/**
 	 * 총알배송 브랜드 리스트 
 	 *
@@ -531,5 +538,5 @@ public interface TsfPlanningDao {
 	 * @date 2021. 6. 29
 	 */
 	Collection<Plan> getShotDeliveryGoodsList(Plan plan);
-	
+
 }

+ 92 - 94
src/main/java/com/style24/front/biz/service/TsfPlanningService.java

@@ -3,7 +3,6 @@ package com.style24.front.biz.service;
 import java.io.File;
 import java.util.Collection;
 import java.util.Iterator;
-import java.util.Map;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -11,8 +10,6 @@ import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import com.gagaframework.web.util.GagaDateUtil;
-import com.gagaframework.web.util.GagaFileUtil;
 import com.style24.front.biz.dao.TsfCommonDao;
 import com.style24.front.biz.dao.TsfPlanningDao;
 import com.style24.front.support.security.session.TsfSession;
@@ -24,6 +21,9 @@ import com.style24.persistence.domain.Review;
 
 import lombok.extern.slf4j.Slf4j;
 
+import com.gagaframework.web.util.GagaDateUtil;
+import com.gagaframework.web.util.GagaFileUtil;
+
 /**
  * 기획전 Service
  *
@@ -42,7 +42,7 @@ public class TsfPlanningService {
 
 	@Autowired
 	private TsfCommonDao commonDao;
-	
+
 	@Autowired
 	private Environment env;
 
@@ -99,7 +99,7 @@ public class TsfPlanningService {
 	public Collection<Plan> getPlanningList(Plan plan) {
 		return planningDao.getPlanningList(plan);
 	}
-	
+
 	/**
 	 * 기획전 코너 상품 목록
 	 * @param plan - 기획전 정보
@@ -111,7 +111,6 @@ public class TsfPlanningService {
 		return planningDao.getPlanningCornerGoodsList(plan);
 	}
 
-
 	/**
 	 * 접근 불가능한 기획전 메시지 조회
 	 * @param planSq - 기획전번호
@@ -120,42 +119,45 @@ public class TsfPlanningService {
 	 * @since 2021. 3. 30
 	 */
 	public String getInaccessiblePlanningMessage(Integer planSq) {
-		String msg = "";
+//		String msg = "";
 
 		Plan plan = new Plan();
 		plan.setPlanSq(planSq);
 
+		// 유효한 기획전 여부 조회
+		if ("N".equals(planningDao.getAvailPlanningYn(plan))) {
+			return "진행중인 기획전/이벤트가 아닙니다.";
+		}
+
 		// 디바이스접근가능여부 조회
 		plan.setFrontGb(TsfSession.getFrontGb());
 		if ("N".equals(planningDao.getDeviceAccessibleYn(plan))) {
 			String frontGb = planningDao.getFrontAccessibleList(plan);
-			msg = frontGb + "에서만 접근이 가능합니다.";
 			if ("M".equals(TsfSession.getFrontGb())) {
-				msg =  frontGb + "에서만 접근이 가능합니다.";
+				return frontGb + "에서만 접근이 가능합니다.";
 			} else if ("A".equals(TsfSession.getFrontGb())) {
-				msg =  frontGb + "에서만 접근이 가능합니다.";
+				return frontGb + "에서만 접근이 가능합니다.";
 			}
 		}
 
 		if (!TsfSession.isLogin()) {
 			plan.setCustGrade("G110_60");
 			if ("N".equals(planningDao.getCustomerGradeAccessibleYn(plan))) {
-				msg = "로그인 후 이용 가능합니다.";
+				return "로그인 후 이용 가능합니다.";
 			}
 		}
-		
+
 		if (TsfSession.isLogin()) {
 			// 신규회원접근가능여부 조회
 			plan.setCustNo(TsfSession.getInfo().getCustNo());
 			if ("N".equals(planningDao.getNewCustomerAccessibleYn(plan))) {
-				msg = "신규회원만 접근 가능합니다.";
+				return "신규회원만 접근 가능합니다.";
 			}
-			
-			
+
 			// 고객구분접근가능여부 조회
 			plan.setCustGb(TsfSession.getCustGb());
 			if ("N".equals(planningDao.getCustomerGubunAccessibleYn(plan))) {
-				msg = planningDao.getCustomerGubunAccessibleList(plan).getCustGb() + "만 접근이 가능합니다.";
+				return planningDao.getCustomerGubunAccessibleList(plan).getCustGb() + "만 접근이 가능합니다.";
 			}
 
 			String custGrade = "";
@@ -165,12 +167,12 @@ public class TsfPlanningService {
 				Iterator<Plan> iter = planningDao.getCustomerGradeAccessibleList(plan).iterator();
 				while (iter.hasNext()) {
 					custGrade += iter.next().getCustGrade();
-					
+
 					if (iter.hasNext()) {
 						custGrade += ", ";
 					}
 				}
-				msg = custGrade+ " 회원만 접근 가능합니다.";
+				return custGrade + " 회원만 접근 가능합니다.";
 			}
 		}
 
@@ -178,15 +180,14 @@ public class TsfPlanningService {
 			// 웹제휴채널접근가능여부 조회
 			plan.setAfLinkCd(TsfSession.getAttribute("afLinkCd"));
 			if ("N".equals(planningDao.getAfLinkAccessibleYn(plan))) {
-				//msg = commonDao.getAfLinkName(TsfSession.getAttribute("afLinkCd")) + " 채널만 접근 가능합니다.";
-				msg = "제휴 채널을 통해서만 접근 가능합니다. ";
+//				return commonDao.getAfLinkName(TsfSession.getAttribute("afLinkCd")) + " 채널만 접근 가능합니다.";
+				return "제휴 채널을 통해서만 접근 가능합니다.";
 			}
 		}
 
-		return msg;
+		return "";
 	}
 
-
 	/**
 	 * 기획전 상세 정보
 	 *
@@ -247,7 +248,7 @@ public class TsfPlanningService {
 		if (TsfSession.isLogin()) {
 			coupon.setCustNo(TsfSession.getInfo().getCustNo());
 		}
-		
+
 		return planningDao.getPlanCouponInfo(coupon);
 	}
 
@@ -262,7 +263,7 @@ public class TsfPlanningService {
 	public Collection<Plan> getPlanImageInfo(Plan plan) {
 		return planningDao.getPlanImageInfo(plan);
 	}
-	
+
 	/**
 	 * 기획전 템플릿 유의사항
 	 *
@@ -286,7 +287,7 @@ public class TsfPlanningService {
 	public Collection<Plan> getPlanGoodsDisplayList(Plan plan) {
 		return planningDao.getPlanGoodsDisplayList(plan);
 	}
-	
+
 	/**
 	 * 기획전 코너 리스트
 	 *
@@ -295,7 +296,7 @@ public class TsfPlanningService {
 	 * @author sowon
 	 * @date 2021. 3. 30
 	 */
-	public Collection<Plan> getPlanCornerList(Plan plan){
+	public Collection<Plan> getPlanCornerList(Plan plan) {
 		return planningDao.getPlanCornerList(plan);
 	}
 
@@ -334,7 +335,7 @@ public class TsfPlanningService {
 	public Collection<Plan> getPlanEventList(Plan plan) {
 		return planningDao.getPlanEventList(plan);
 	}
-	
+
 	/**
 	 * 총알배송 상단 html 소스 
 	 *
@@ -346,7 +347,7 @@ public class TsfPlanningService {
 	public Plan getShotDeliveryHtmlTop(Plan plan) {
 		return planningDao.getShotDeliveryHtmlTop(plan);
 	}
-	
+
 	/**
 	 * 총알배송 하단 html 소스 
 	 *
@@ -358,8 +359,7 @@ public class TsfPlanningService {
 	public Plan getShotDeliveryHtmlBtm(Plan plan) {
 		return planningDao.getShotDeliveryHtmlBtm(plan);
 	}
-	
-	
+
 	/**
 	 * 설문조사 정보
 	 *
@@ -371,7 +371,7 @@ public class TsfPlanningService {
 	public Poll getPollQuestionInfo(Plan plan) {
 		return planningDao.getPollQuestionInfo(plan);
 	}
-	
+
 	/**
 	 * 설문조사 질문내용
 	 *
@@ -383,7 +383,7 @@ public class TsfPlanningService {
 	public Collection<Poll> getPollQuestionList(Plan plan) {
 		return planningDao.getPollQuestionList(plan);
 	}
-	
+
 	/**
 	 * 설문조사 등록
 	 *
@@ -397,67 +397,67 @@ public class TsfPlanningService {
 		poll.setCustNo(TsfSession.getInfo().getCustNo());
 		// 단수형
 		int ansIndex = planningDao.getPollCustAnswerIndex();
-		if(poll.getPollQsq_10()!=null && poll.getPollQsq_10()!="") {
-			String[] pollQsq_10 =poll.getPollQsq_10().split("/");
+		if (poll.getPollQsq_10() != null && poll.getPollQsq_10() != "") {
+			String[] pollQsq_10 = poll.getPollQsq_10().split("/");
 			for (int i = 0; i < pollQsq_10.length; i++) {
 				String[] temp = pollQsq_10[i].split("-");
 				for (int j = 0; j < temp.length; j++) {
-					String pollQsq=temp[j].toString();
-					poll.setPollQsq(Integer.parseInt(pollQsq)); 
-					String dummy = temp[j+1].toString();        
-					poll.setDummy(dummy);                      
+					String pollQsq = temp[j].toString();
+					poll.setPollQsq(Integer.parseInt(pollQsq));
+					String dummy = temp[j + 1].toString();
+					poll.setDummy(dummy);
 					poll.setAnsIndex(ansIndex);
 					planningDao.savePollCustAnswer(poll);
 					j++;
 				}
 			}
 		}
-		
+
 		//복수형
-		if(poll.getPollQsq_20()!=null && poll.getPollQsq_20()!="") {
-			String[] pollQsq_20 =poll.getPollQsq_20().split("/");
+		if (poll.getPollQsq_20() != null && poll.getPollQsq_20() != "") {
+			String[] pollQsq_20 = poll.getPollQsq_20().split("/");
 			for (int i = 0; i < pollQsq_20.length; i++) {
 				String[] temp = pollQsq_20[i].split("-");
 				for (int j = 0; j < temp.length; j++) {
-					String pollQsq=temp[j].toString();
+					String pollQsq = temp[j].toString();
 					poll.setPollQsq(Integer.parseInt(pollQsq));
-					String dummy = temp[j+1].toString().replaceAll("[,]", "|");        
-					poll.setDummy(dummy);           
+					String dummy = temp[j + 1].toString().replaceAll("[,]", "|");
+					poll.setDummy(dummy);
 					poll.setAnsIndex(ansIndex);
 					planningDao.savePollCustAnswer(poll);
-					
+
 					j++;
 				}
 			}
 		}
-		
+
 		//단답형
-		if(poll.getPollQsq_30()!=null && poll.getPollQsq_30()!="") {
-			String[] pollQsq_30 =poll.getPollQsq_30().split("/");
+		if (poll.getPollQsq_30() != null && poll.getPollQsq_30() != "") {
+			String[] pollQsq_30 = poll.getPollQsq_30().split("/");
 			for (int i = 0; i < pollQsq_30.length; i++) {
 				String[] temp = pollQsq_30[i].split("-");
 				for (int j = 0; j < temp.length; j++) {
-					String pollQsq=temp[j].toString();
-					poll.setPollQsq(Integer.parseInt(pollQsq)); 
-					String dummy = temp[j+1].toString();        
-					poll.setDummy(dummy);   
+					String pollQsq = temp[j].toString();
+					poll.setPollQsq(Integer.parseInt(pollQsq));
+					String dummy = temp[j + 1].toString();
+					poll.setDummy(dummy);
 					poll.setAnsIndex(ansIndex);
 					planningDao.savePollCustAnswer(poll);
 					j++;
 				}
 			}
 		}
-		
+
 		//서룰형
-		if(poll.getPollQsq_40()!=null && poll.getPollQsq_40()!="") {
-			String[] pollQsq_40 =poll.getPollQsq_40().split("/");
+		if (poll.getPollQsq_40() != null && poll.getPollQsq_40() != "") {
+			String[] pollQsq_40 = poll.getPollQsq_40().split("/");
 			for (int i = 0; i < pollQsq_40.length; i++) {
 				String[] temp = pollQsq_40[i].split("-");
 				for (int j = 0; j < temp.length; j++) {
-					String pollQsq=temp[j].toString();
-					poll.setPollQsq(Integer.parseInt(pollQsq)); 
-					String dummy = temp[j+1].toString();        
-					poll.setDummy(dummy);       
+					String pollQsq = temp[j].toString();
+					poll.setPollQsq(Integer.parseInt(pollQsq));
+					String dummy = temp[j + 1].toString();
+					poll.setDummy(dummy);
 					poll.setAnsIndex(ansIndex);
 					planningDao.savePollCustAnswer(poll);
 					j++;
@@ -465,7 +465,7 @@ public class TsfPlanningService {
 			}
 		}
 	}
-	
+
 	/**
 	 * 설문조사 중복카운트
 	 *
@@ -477,7 +477,7 @@ public class TsfPlanningService {
 	public int getCustAnswerCount(Plan plan) {
 		return planningDao.getCustAnswerCount(plan);
 	}
-	
+
 	/**
 	 * 설문조사 중복카운트
 	 *
@@ -501,7 +501,7 @@ public class TsfPlanningService {
 	public CustDeliveryAddr getCustAddrInfo(CustDeliveryAddr addr) {
 		return planningDao.getCustAddrInfo(addr);
 	}
-	
+
 	/**
 	 * 총알배송 가능여부
 	 *
@@ -513,7 +513,7 @@ public class TsfPlanningService {
 	public CustDeliveryAddr getCustAddrShotConfirm(String recipZipcode) {
 		return planningDao.getCustAddrShotConfirm(recipZipcode);
 	}
-	
+
 	/**
 	 * 출석체크 달력 출력
 	 *
@@ -525,7 +525,7 @@ public class TsfPlanningService {
 	public Collection<Plan> getAttendMonth(Plan plan) {
 		return planningDao.getAttendMonth(plan);
 	}
-	
+
 	/**
 	 * 출석체크 
 	 *
@@ -555,7 +555,7 @@ public class TsfPlanningService {
 		plan.setCustNo(TsfSession.getInfo().getCustNo());
 		return planningDao.getAttendEntryCount(plan);
 	}
-	
+
 	/**
 	 * 고객이 출석한 일 리스트
 	 *
@@ -564,11 +564,11 @@ public class TsfPlanningService {
 	 * @author sowon
 	 * @date 2021. 4. 7
 	 */
-	public Collection<Plan> getCustAttendEntryList(Plan plan){
+	public Collection<Plan> getCustAttendEntryList(Plan plan) {
 		plan.setCustNo(TsfSession.getInfo().getCustNo());
 		return planningDao.getCustAttendEntryList(plan);
 	}
-	
+
 	/**
 	 * 출석체크 혜택 리스트
 	 *
@@ -577,7 +577,7 @@ public class TsfPlanningService {
 	 * @author sowon
 	 * @date 2021. 4. 14
 	 */
-	public Collection<Plan> getAttendBenefitList(Plan plan){
+	public Collection<Plan> getAttendBenefitList(Plan plan) {
 		plan.setFrontGb(TsfSession.getFrontGb());
 		return planningDao.getAttendBenefitList(plan);
 	}
@@ -590,11 +590,10 @@ public class TsfPlanningService {
 	 * @author sowon
 	 * @date 2021. 4. 8
 	 */
-	public Collection<Plan> getReplyList(Plan plan){
+	public Collection<Plan> getReplyList(Plan plan) {
 		return planningDao.getReplyList(plan);
 	}
 
-
 	/**
 	 * 기획전/이벤트 댓글,이미지 저장
 	 *
@@ -608,10 +607,10 @@ public class TsfPlanningService {
 		int custNo = TsfSession.getInfo().getCustNo();
 		plan.setCustNo(custNo);
 		planningDao.saveEntryReply(plan);
-		
+
 		//이미지등록
 		Plan filePlan = new Plan();
-		if(!StringUtils.isAllEmpty(plan.getMultiReplySysFile())) {
+		if (!StringUtils.isAllEmpty(plan.getMultiReplySysFile())) {
 			filePlan.setRegNo(custNo);
 			filePlan.setPlanEntrySq(plan.getPlanEntrySq());
 			//파일아이템 등록
@@ -642,7 +641,7 @@ public class TsfPlanningService {
 			}
 		}
 	}
-	
+
 	/**
 	 * 기획전/이벤트 댓글 카운트
 	 *
@@ -654,7 +653,7 @@ public class TsfPlanningService {
 	public int getEntryReplyCount(Plan plan) {
 		return planningDao.getEntryReplyCount(plan);
 	}
-	
+
 	/**
 	 * 기획전/이벤트 댓글, 이미지 삭제
 	 *
@@ -668,7 +667,7 @@ public class TsfPlanningService {
 		planningDao.deleteEntryReply(plan);
 		planningDao.deleteEntryReplyAttach(plan);
 	}
-	
+
 	/**
 	 * 기획전/이벤트 댓글 이미지 리스트
 	 *
@@ -677,10 +676,9 @@ public class TsfPlanningService {
 	 * @author sowon
 	 * @date 2021. 4. 8
 	 */
-	public Collection<Plan> getEntryReplyAttachList(Plan plan){
+	public Collection<Plan> getEntryReplyAttachList(Plan plan) {
 		return planningDao.getEntryReplyAttachList(plan);
 	}
-	
 
 	/**
 	 * 총알배송 planSq 
@@ -693,7 +691,7 @@ public class TsfPlanningService {
 	public Integer getShotPlanSq(Plan plan) {
 		return planningDao.getShotPlanSq(plan);
 	}
-	
+
 	/**
 	 * 기획전 컨텐츠 정보 
 	 *
@@ -702,22 +700,22 @@ public class TsfPlanningService {
 	 * @author sowon
 	 * @date 2021. 6. 3
 	 */
-	 public Collection<Plan> getPlanContentInfo(Plan plan) {
-		 return planningDao.getPlanContentInfo(plan);
-	 }
-	 
-	 /**
-	 * 총알배송 브랜드 리스트 
-	 *
-	 * @param 
-	 * @return
-	 * @author sowon
-	 * @date 2021. 6. 29
-	 */
-	public Collection<Plan> getShotBrandList(){
+	public Collection<Plan> getPlanContentInfo(Plan plan) {
+		return planningDao.getPlanContentInfo(plan);
+	}
+
+	/**
+	* 총알배송 브랜드 리스트 
+	*
+	* @param 
+	* @return
+	* @author sowon
+	* @date 2021. 6. 29
+	*/
+	public Collection<Plan> getShotBrandList() {
 		return planningDao.getShotBrandList();
 	}
-	
+
 	/**
 	 * 총알배송 브랜드 상품 리스트 
 	 *
@@ -726,8 +724,8 @@ public class TsfPlanningService {
 	 * @author sowon
 	 * @date 2021. 6. 29
 	 */
-	public Collection<Plan> getShotDeliveryGoodsList(Plan plan){
+	public Collection<Plan> getShotDeliveryGoodsList(Plan plan) {
 		return planningDao.getShotDeliveryGoodsList(plan);
 	}
-	
+
 }

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

@@ -47,6 +47,7 @@ import com.style24.persistence.domain.Lookbook;
 import com.style24.persistence.domain.MainLayout;
 import com.style24.persistence.domain.Plan;
 import com.style24.persistence.domain.Popup;
+import com.style24.persistence.domain.SearchKeyword;
 import com.style24.persistence.domain.Social;
 import com.style24.persistence.domain.eigene.Eigeneai.Result;
 import com.style24.persistence.domain.searchengine.AutoCompleteResponse;
@@ -54,7 +55,6 @@ import com.style24.persistence.domain.searchengine.Filter;
 import com.style24.persistence.domain.searchengine.GoodsListResponse;
 import com.style24.persistence.domain.searchengine.PlanningResponse;
 import com.style24.persistence.domain.searchengine.SearchEngine;
-import com.style24.persistence.domain.SearchKeyword;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -933,7 +933,7 @@ public class TsfDisplayController extends TsfBaseController {
 		mav.addObject("preview", cate.getPreview());
 		mav.addObject("viewDt", cate.getViewDt());
 		mav.addObject("viewPage", "G037_32");
-		mav.addObject("popupCateNo", cate.getCate1No());
+		//mav.addObject("popupCateNo", cate.getCate1No());
 
 		mav.addObject("params", cate);
 

+ 27 - 0
src/main/java/com/style24/front/biz/web/TsfOrderController.java

@@ -433,7 +433,20 @@ public class TsfOrderController extends TsfBaseController {
 			}
 		}
 		
+		// 2021.07.06 회원일때 개인통관부호 정보 설정
+		String entryNo = "";
+		if (TsfSession.isLogin()) {
+			Order vo = new Order();
+			order.setCustNo(TsfSession.getInfo().getCustNo());
+			vo = coreOrderService.getEntryNo(order);
+			
+			if (vo != null && vo.getEntryNo() != null) {
+				entryNo = vo.getEntryNo();
+			}
+		}
+		
 		ModelAndView mav = new ModelAndView();
+		mav.addObject("entryNo"				, entryNo);									// 개인통관부호
 		mav.addObject("deliveryAddrInfo"	, deliveryAddrInfo);						// 배송지정보
 		mav.addObject("order"				, order);									// 파라미터
 		mav.addObject("isLogin"				, TsfSession.isLogin());					// 로그인여부
@@ -459,6 +472,20 @@ public class TsfOrderController extends TsfBaseController {
 	@PostMapping("/entryInfo")
 	public ModelAndView entryInfo(@RequestBody Order order) {
 		ModelAndView mav = new ModelAndView();
+		
+		// 2021.07.06 회원일때 개인통관부호 정보 설정
+		String entryNo = "";
+		if (TsfSession.isLogin()) {
+			order.setCustNo(TsfSession.getInfo().getCustNo());
+			Order vo = new Order();
+			vo = coreOrderService.getEntryNo(order);
+			
+			if (vo != null && vo.getEntryNo() != null) {
+				entryNo = vo.getEntryNo();
+			}
+		}
+		
+		mav.addObject("entryNo"				, entryNo);									// 개인통관부호
 		mav.addObject("order"				, order);									// 파라미터
 		mav.addObject("isLogin"				, TsfSession.isLogin());					// 로그인여부
 		mav.setViewName(super.getDeviceViewName("order/OrderEntryInfo"));

+ 15 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfPlanning.xml

@@ -353,6 +353,21 @@
 		</if>
 	</select>
 	
+	<!-- 유효한 기획전 여부 조회 -->
+	<select id="getAvailPlanningYn" parameterType="Plan" resultType="String">
+		/* TsfPlanning.getDeviceAccessibleYn */
+		SELECT CASE WHEN IFNULL((SELECT COUNT(*)
+		                         FROM   TB_PLAN
+		                         WHERE  PLAN_SQ = #{planSq}
+		                         AND    NOW() BETWEEN DISP_STDT AND DISP_EDDT
+		                         AND    DEL_YN = 'N'
+		                         AND    OPEN_YN = 'Y'
+		                        ),0) > 0 THEN 'Y'
+		            ELSE 'N'
+		       END
+		FROM   DUAL
+	</select>
+	
 	<!-- 디바이스접근가능여부 조회 -->
 	<select id="getDeviceAccessibleYn" parameterType="Plan" resultType="String">
 		/* TsfPlanning.getDeviceAccessibleYn */

+ 7 - 8
src/main/resources/config/application.yml

@@ -116,15 +116,14 @@ google :
     recaptchaVerifyUrl : https://www.google.com/recaptcha/api/siteverify
 
 
-# SPEEDY Image Upload
-speedy:
-    ftp:
-        host: fileupload.cdn.cloudn.co.kr
-        port: 21
-        username: speedy_image-wivismall
-        pwd: wZ31jS_!@
-
 # APP 다운로드 URL
 app.down.url: 
     ios: https://apps.apple.com/kr/app/WIVISMALL/id1517275108
     aos: https://play.google.com/store/apps/details?id=com.wivis.wivismal
+
+
+# 핑거푸시
+fingerPush:
+    appKey : 3S2C52DCXOO9
+    appSecret : wwRHOmOUvD21vL1t5yqiJh83oL558jV6
+    customerKey : sfG70S5UoMKe

+ 0 - 0
src/main/webapp/WEB-INF/lib/Istyle.jar → src/main/webapp/WEB-INF/lib/Istyle-1.3.jar


+ 6 - 6
src/main/webapp/WEB-INF/views/mob/common/fragments/GnbMob.html

@@ -130,10 +130,10 @@
 				if (status == 'success') {
 					if (result.length > 0) {
 						$.each(result, function(idx, item) {
-							if(item.linkUrl.indexOf('?') < -1){
-								gnbId = '?gnbId=';
-							}else{
+							if(item.linkUrl.indexOf('?') > -1){
 								gnbId = '&gnbId=';
+							}else{
+								gnbId = '?gnbId=';
 							}
 							if (item.contentsType == 'L') { // 컨텐츠유형:링크
 								tag += '<li id="gnbLi' + item.gtabSq + '"><a href="' + item.linkUrl + gnbId + item.gtabSq + '" >' + item.gtabNm + '</a></li>\n';
@@ -173,10 +173,10 @@
 							} else if (item.contentsType == 'O') { // 컨텐츠유형: 아울렛
 								tag += '<li id="gnbLi' + item.gtabSq + '"><a href="javascript:void(0);" onclick="cfnGoToOutletMain(\'G032_103\',' + item.gtabSq + ');">' + item.gtabNm + '</a></li>\n';
 							} else { // 컨텐츠유형: 링크
-								if(item.linkUrl.indexOf('?') < -1){
-									gnbId = '?gnbId=';
-								}else{
+								if(item.linkUrl.indexOf('?') > -1){
 									gnbId = '&gnbId=';
+								}else{
+									gnbId = '?gnbId=';
 								}
 								tag += '<li id="gnbLi' + item.gtabSq + '"><a href="' + item.linkUrl + gnbId + item.gtabSq + '">' + item.gtabNm + '</a></li>\n';
 							}

+ 4 - 0
src/main/webapp/WEB-INF/views/mob/display/BrandLookbookMainFormMob.html

@@ -97,6 +97,10 @@
 				}else{
 					$("#divLastPage").show();
 				}
+			}else{
+				if($("#lbMainForm input[name=pageNo]").val()==1){
+					$("#divLookbookNoData").show();
+				}
 			}
 
 			gagaInfiniteScroll.draw('not');

+ 11 - 1
src/main/webapp/WEB-INF/views/mob/display/LookbookMainFormMob.html

@@ -48,7 +48,7 @@
 						<div>
 							<p>등록된 룩북이 없습니다.</p>
 						</div>
-						<button type="button" class="btn btn_default" th:unless="${lbInfo.lookbookGb=='BL'}" onclick="cfnGoToPage(_PAGE_MAIN);"><span>메인으로 가기</span></button>
+						<button type="button" class="btn btn_default" th:unless="${lbInfo.lookbookGb=='BL'}" onclick="cfnGoToPage(_PAGE_MAIN);"><span>으로 가기</span></button>
 						<button type="button" class="btn btn_default" th:if="${lbInfo.lookbookGb=='BL'}" th:onclick="cfnGoToBrandMain([[${lbInfo.brandCd}]]);"><span th:text="${brandGroupInfo.brandGroupNm+' 홈으로 가기'}"><span>메인으로 가기</span></button>
 					</div>
 					<div class="lookbookGrp">
@@ -135,6 +135,8 @@
 	}
 
 	var fnDrawInfiniteScrollData = function (result){
+		$("#filterChkArea").show();
+		$("#filter").show();
 		totalCnt = result.paging.totalCount;
 		$("#lookbookTotCnt").text(totalCnt);
 		$("#lbMainForm").find("input[name=totalCnt]").val(totalCnt);
@@ -151,9 +153,17 @@
 			if(totalCnt > Number($("#lbMainForm").find("input[name=pageSize]").val())){
 				if($("#lbMainForm input[name=pageNo]").val()==1){
 					$("#divLookbookNoData").show();
+					$("#filterChkArea").hide();
+					$("#filter").hide();
 				}else{
 					$("#divLastPage").show();
 				}
+			}else{
+				if($("#lbMainForm input[name=pageNo]").val()==1){
+					$("#divLookbookNoData").show();
+					$("#filterChkArea").hide();
+					$("#filter").hide();
+				}
 			}
 
 			gagaInfiniteScroll.draw('not');

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

@@ -17,12 +17,12 @@
  <!-- 개인통관부호 정보 -->
 <div class="foldGroup">
 	<ul>
-		<li>
+		<li class="fold_overseas">
 			<div class="fold_head">
 				<a href="javascript:void(0)">
 					<div>
 						<div class="fold_tit"><span>개인통관고유부호</span></div>
-						<div class="data"><span></span></div>
+						<div class="data"><span class="entryNo" th:text="${entryNo}"></span></div>
 					</div>
 				</a>
 			</div>
@@ -33,16 +33,16 @@
 					</div>
 					<div class="form_field">
 						<div>
-							<input type="radio" name="rdi-overseas" id="rdi-overs1" value="Y"> 
+							<input type="radio" name="rdi-overseas" id="rdi-overs1" value="Y" checked> 
 							<label for="rdi-overs1"><span>받는사람 개인통관고유부호</span></label>
 						</div>
 						<div>
-							<input type="radio" name="rdi-overseas" id="rdi-overs2" value="N" checked> 
+							<input type="radio" name="rdi-overseas" id="rdi-overs2" value="N"> 
 							<label for="rdi-overs2"><span>입력 안 함</span></label>
 						</div>
-						<div class="info_box overs1" style="display:none;">
+						<div class="info_box overs1">
 							<div class="input_wrap">
-								<input type="text" name="entryNo" class="form_control" maxlength="13" placeholder="P로 시작하는 13자리">
+								<input type="text" name="entryNo" class="form_control" maxlength="13" placeholder="P로 시작하는 13자리" th:value="${entryNo}">
 								<!-- 유효하지 않은 개인통관고유부호 일때 class명 'err' 추가 -->
 							</div>
 							<div class="t_err" style="display:none;">개인통관고유부호가 유효하지 않습니다.</div>
@@ -54,7 +54,7 @@
 								</label>
 							</div>
 							<div class="btn_group btn_group_flex">
-								<div><button type="button" class="btn btn_dark">입력완료</button></div>
+								<div><button type="button" class="btn btn_dark btn_entryNo">입력완료</button></div>
 							</div>
 						</div>
 						<div class="info_box overs2" style="display: none;">

+ 55 - 23
src/main/webapp/WEB-INF/views/mob/order/OrderFormMob.html

@@ -164,8 +164,8 @@
 
 <!-- 주문고객정보 -->
 <form id="orderForm" name="orderForm">
-<main role="" id="" class="container od">
-	<section class="content odPayment od_gift">
+<main role="" id="" class="container od od_gift">
+	<section class="content odPayment">
 		<form action="" class="form_wrap">
 			<!-- 주문내역 -->
 			<div class="inner wide" id="orderListInfo"  style="display:none"></div>
@@ -452,6 +452,11 @@ $(document).ready( function() {
 	
 	// 1. AJAX 정보(회원정보로드)
 	custemerInfoSet();
+	
+	// 2021.07.06
+	if (giftPackYn == "N") {
+		$("#orderForm .container").removeClass("od_gift");
+	}
 });
 
 window.onpageshow = function(event){
@@ -525,6 +530,29 @@ var entryInfoSet = function() {
 		success 	: function(result) {
 			$("#entryInfo").css("display", "block");
 			$("#entryInfo").html(result);
+			
+			// 2021.07.06 값이 있으면 체크박스 활성화
+			if ($("#orderForm input[name=entryNo]").val() != "") {
+				if ($("#orderForm #chk-overs-agr").is(":checked") == false) {
+					$("#orderForm #chk-overs-agr").trigger("click");
+				}
+			}
+			
+			// 2021.07.06 개인통관부호 입력완료
+			$(".btn_entryNo").on("click", function(){
+				if ($("#orderForm input[name=entryNo]").val().length > 0 && $("#orderForm input[name=entryNo]").val().length < 13) {
+					$("#orderForm .t_err").show();
+					$("#orderForm input[name=entryNo]").addClass("err");
+					mcxDialog.alert("통관부호가 유효하지 않습니다. 다시 입력해주세요.");
+					return false;
+				} else {
+					$("#orderForm .entryNo").text($("#orderForm input[name=entryNo]").val());
+					$("#orderForm input[name=entryNo]").removeClass("err");
+					$("#orderForm .t_err").hide();
+					mcxDialog.alert("통관부호가 정상입력되었습니다.");
+					return false;
+				}
+			});
 		}
 	});
 }
@@ -544,12 +572,6 @@ var madeInfoSet = function() {
 		success 	: function(result) {
 			$("#madeInfo").css("display", "block");
 			$("#madeInfo").html(result);
-			
-			// 2021.07.05 체크박스 동작 일치
-			// 주문제작상품동의
-			$("#chk-custom").on("click", function(){
-				
-			});
 		}
 	});
 }
@@ -1415,10 +1437,20 @@ var dcAmtInfoSet = function() {
 						// 1.8.2 쿠폰적용초기화(할인율최고)(상품,장바구니)
 						custGoodsCpnInit();
 						
+						var custCpnCnt 		= parseInt($("#orderForm input[name=custCpnCnt]").val());
+						var custDelvCpnCnt 	= parseInt($("#orderForm input[name=custDelvCpnCnt]").val());
+						var applyCpnCnt 	= custCpnCnt + custDelvCpnCnt;
+						
+						// 2021.04.23 보유쿠폰이 없을때 적용
+						if (applyCpnCnt < 1) {
+							if ($("#orderForm #chk-maxdisc").is(":checked")) {
+								$("#orderForm #chk-maxdisc").trigger("click");
+							}
+						}
+						
 						// 상품쿠폰, 장바구니쿠폰 팝업 열기
 						$("#btn_couponModify_pop").on("click", function(){
 							// 2021.04.23 보유쿠폰이 없을때 적용
-							var custCpnCnt = parseInt($("#orderForm input[name=custCpnCnt]").val());
 							if (custCpnCnt < 1) {
 								mcxDialog.alert("적용 가능한 쿠폰이 없습니다.");
 								return false;
@@ -1464,12 +1496,9 @@ var dcAmtInfoSet = function() {
 						});
 						
 						// 1.8.5 쿠폰 최대할인금액 초기화 버튼 설정
-						$("#chk-maxdisc").on("click", function(){
+						$("#orderForm #chk-maxdisc").on("click", function(){
 							// 2021.04.23 보유쿠폰이 없을때 적용
-							var custCpnCnt 		= parseInt($("#orderForm input[name=custCpnCnt]").val());
-							var custDelvCpnCnt 	= parseInt($("#orderForm input[name=custDelvCpnCnt]").val());
-							
-							if ((custCpnCnt + custDelvCpnCnt) < 1) {
+							if (applyCpnCnt < 1) {
 								mcxDialog.alert("적용 가능한 쿠폰이 없습니다.");
 								return false;
 							}
@@ -1483,8 +1512,6 @@ var dcAmtInfoSet = function() {
 								
 								// 배송비쿠폰 초기환
 								custDelvCpnInit();
-							} else {
-								
 							}
 						});
 					}
@@ -1545,7 +1572,7 @@ var dcAmtInfoSet = function() {
 					
 					// 입력여부체크
 					if (pntDcAmt < 1) {
-						mcxDialog.alert("포인트를 입력하신 후 다시 시도해주세요.");
+						mcxDialog.alert("포인트를 입력 후 다시 시도해주세요.");
 						// 포인트리셋기능
 						pntDcAmtReset();
 						return false;
@@ -1561,7 +1588,7 @@ var dcAmtInfoSet = function() {
 					
 					// 결제금액을 초과 할 수 없습니다.
 					if (pntDcAmt > realOrdAmt) {
-						mcxDialog.alert("포인트를 입력하신 후 다시 시도해주세요.");
+						mcxDialog.alert("입력한 포인트가 결제 금액보다 많습니다.");
 						// 포인트리셋기능
 						pntDcAmtReset();
 						return false;
@@ -1569,7 +1596,7 @@ var dcAmtInfoSet = function() {
 					
 					// 보유포인트보다 초과 사용 불가
 					if (pntDcAmt > rmPntAmt) {
-						mcxDialog.alert("입력하신 포인트가 보유한 포인트보다 많습니다.");
+						mcxDialog.alert("입력 포인트가 보유한 포인트보다 많습니다.");
 						// 포인트리셋기능
 						pntDcAmtReset();
 						return false;
@@ -1609,14 +1636,14 @@ var dcAmtInfoSet = function() {
 					var realOrdAmt 		= parseInt($("#orderAmtForm .realOrdSumAmt").text());
 					
 					if (gagajf.isNull($("#orderForm input[name=gfcdUseAmtStr]").val())) {
-						mcxDialog.alert("금액을 입력하신 후 다시 시도해주세요.");
+						mcxDialog.alert("금액을 입력 후 다시 시도해주세요.");
 						$('#orderForm input[name=gfcdUseAmtStr]').focus();
 						return false;
 					}
 					
 					// 입력여부체크
 					if (gfcdUseAmt < 1 || $("#orderForm input[name='gfcdUseAmtStr']").val() == "") {
-						mcxDialog.alert("금액을 입력하신 후 다시 시도해주세요.");
+						mcxDialog.alert("금액을 입력 후 다시 시도해주세요.");
 						// 상품권리셋기능
 						gfcdUseAmtReset();
 						return false;
@@ -1624,7 +1651,7 @@ var dcAmtInfoSet = function() {
 					
 					// 결제금액을 초과 할 수 없습니다.
 					if (gfcdUseAmt > realOrdAmt) {
-						mcxDialog.alert("입력하신 금액이 결제할 금액보다 많습니다.");
+						mcxDialog.alert("입력 금액이 결제할 금액보다 많습니다.");
 						// 포인트리셋기능
 						gfcdUseAmtReset();
 						return false;
@@ -1785,6 +1812,11 @@ var custDelvCpnInit = function() {
 		$(this).on("click", function(){
 			// 쿠폰적용
 			custCpnApply($(this), index, "delvCpn");
+			
+			// 최대할인혜택적용 체크해제
+			if ($("#chk-maxdisc").is(":checked")) {
+				$("#chk-maxdisc").trigger("click");
+			}
 		});
 	});
 }
@@ -2246,7 +2278,7 @@ var custCpnSumAmtCal = function() {
 	
 	// 전체쿠폰 할인 금액 합계 적용
 	$(".maxdisc_amount .cpnDcAmt").text(getZeroMinusDelAmt(cpnDcSumAmt)); // 쿠폰할인금액합계
-	$("#couponDcSumAmt").text(getZeroMinusDelAmt(cpnDcSumAmt)); // 쿠폰할인금액합계
+	$("#couponDcSumAmt").text(getZeroMinusDelAmt(goodsCartCpnSumAmt)); // 쿠폰할인금액합계
 
 	$("#orderAmtForm .cpnDcSumAmt").text(cpnDcSumAmt);
 	

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/order/OrderFreegiftInfoMob.html

@@ -100,7 +100,7 @@
 								<input id="chk-agree_gift" type="checkbox">
 								<label for="chk-agree_gift"><span>동의합니다</span></label>
 							</p>
-							<p class="txt">사은품 지에 대한 내용을 확인하였으며, 이에 동의합니다.</p>
+							<p class="txt">사은품 지에 대한 내용을 확인하였으며, 이에 동의합니다.</p>
 							<button type="button" class="btn_link_popup" id="btn_infoGift_btn">
 								<span>보기</span>
 							</button>

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/order/OrderMadeInfoMob.html

@@ -16,7 +16,7 @@
 <!-- 주문제작상품동의여부 -->
 <div class="foldGroup">
 	<ul>
-		<li class="fold_sale">
+		<li class="fold_sale fold_customitem">
 			<div class="fold_head">
 				<a href="javascript:void(0)">
 					<div>

+ 5 - 2
src/main/webapp/WEB-INF/views/web/callcenter/FaqFormWeb.html

@@ -168,7 +168,7 @@
 		// Load data
 		gagaPaging.load(1);
 	}
-	
+	var idx = 1;
 	var fnGetListCallback = function(result) {
 		$('#ulFaq').html('');
 
@@ -195,12 +195,15 @@
 				$('#ulFaq').append(tag);
 			});
 			$('#divFaq').removeClass('nodata');
+			if(idx>1){
+				document.getElementById('faqForm').scrollIntoView();
+			}
+			idx++;
 		} else {
 			let tag = '<li>내역이 없습니다.</li>\n';
 			$('#ulFaq').append(tag);
 			$('#divFaq').addClass('nodata');
 		}
-
 		// Create pagination
 		gagaPaging.createPagination(result.paging.pageable);
 	}

+ 6 - 1
src/main/webapp/WEB-INF/views/web/callcenter/GoodsQnaFormWeb.html

@@ -125,7 +125,8 @@
         }
         return tag[0];
     }
-	
+
+	var idx = 1;
 	var fnGetListCallback = function(result) {
 		$('#ulQna').html('');
 
@@ -170,6 +171,10 @@
 				
 				$('#ulQna').append(tag);
 				$('#divQna').removeClass('nodata');
+				if(idx>1){
+					document.getElementById('callcenterLnb').scrollIntoView();
+				}
+				idx++;
 			});
 		} else {
 			let tag = '<li>내역이 없습니다.</li>\n';

+ 5 - 1
src/main/webapp/WEB-INF/views/web/callcenter/NoticeFormWeb.html

@@ -92,7 +92,7 @@
 
 
 
-	
+	var idx = 1;
 	var fnGetListCallback = function(result) {
 		$('#ulNotice').html('');
 
@@ -136,6 +136,10 @@
 			});
 			
 			$('#divNotice').removeClass('nodata');
+			if(idx>1){
+				document.getElementById('callcenterLnb').scrollIntoView();
+			}
+			idx++;
 		} else {
 // 			let tag = '<li>등록된 공지사항이 없습니다.</li>\n';
 // 			$('#ulNotice').html(tag);

+ 6 - 1
src/main/webapp/WEB-INF/views/web/callcenter/OneToOneQnaFormWeb.html

@@ -178,7 +178,8 @@
         }
         return tag;
     }
-	
+
+    var idx = 1;
 	var fnGetListCallback = function(result) {
 		$('#ulQna').html('');
 
@@ -244,6 +245,10 @@
 			});
 			
 			$('#divQna').removeClass('nodata');
+			if(idx>1){
+				document.getElementById('callcenterLnb').scrollIntoView();
+			}
+			idx++;
 		} else {
 			let tag = '<li>내역이 없습니다.</li>\n';
 			$('#ulQna').append(tag);

+ 1 - 1
src/main/webapp/WEB-INF/views/web/customer/PrivacyPolicyFormWeb.html

@@ -86,7 +86,7 @@
 	// 약관 내부 링크
 	$(function() {
 		$(".hook_list ul li a").on("click", function() {
-			var hookHeader = $("header").outerHeight() + 100;
+			var hookHeader = $(".gnb").outerHeight() + 50;
 			var hookHref = $(this).attr("href");
 			var hookPot = $(hookHref == "#" || hookHref == "" ? "body" : hookHref);
 			var hookPos = hookPot.offset().top - hookHeader;

+ 3 - 4
src/main/webapp/WEB-INF/views/web/customer/SupplyCompanyLayerFormWeb.html

@@ -37,7 +37,7 @@
 						<tbody id="supplyCompanyList">
 						</tbody>
 					</table>
-					<div class="paging_wrap">
+					<div class="pager">
 						<ul class="pageNav" id="paging">
 						</ul>
 					</div>
@@ -45,11 +45,10 @@
 				<!-- 컨텐츠 종료 -->
 			</div>
 		</div>
-		<div class="modal-footer">
-			<a href="#close-modal" rel="modal:close" className="close-modal" class="btn btn_default">닫기</a>
-		</div>
 	</div>
 </div>
+<a href="#close-modal" rel="modal:close" class="close-modal">Close</a>
+
 <form id="supplyCompanyForm" name="supplyCompanyForm" th:action="@{/customer/supply/company/list}" th:method="post">
 	<input type="hidden" name="pageNo" value="1" />
 	<input type="hidden" name="pageSize" value="5" />

+ 4 - 0
src/main/webapp/WEB-INF/views/web/display/BrandLookbookMainFormWeb.html

@@ -143,6 +143,10 @@
 				}else{
 					$("#divLastPage").show();
 				}
+			}else{
+				if($("#lbMainForm input[name=pageNo]").val()==1){
+					$("#divLookbookNoData").show();
+				}
 			}
 
 			gagaInfiniteScroll.draw('not');

+ 7 - 0
src/main/webapp/WEB-INF/views/web/display/LookbookMainFormWeb.html

@@ -124,6 +124,7 @@
 	}
 
 	var fnDrawInfiniteScrollData = function (result){
+		$("#brandBox").show();
 		totalCnt = result.paging.totalCount;
 		$("#lookbookTotCnt").text(totalCnt);
 		$("#lbMainForm").find("input[name=totalCnt]").val(totalCnt);
@@ -140,9 +141,15 @@
 			if(totalCnt > Number($("#lbMainForm").find("input[name=pageSize]").val())){
 				if($("#lbMainForm input[name=pageNo]").val()==1){
 					$("#divLookbookNoData").show();
+					$("#brandBox").hide();
 				}else{
 					$("#divLastPage").show();
 				}
+			}else{
+				if($("#lbMainForm input[name=pageNo]").val()==1){
+					$("#divLookbookNoData").show();
+					$("#brandBox").hide();
+				}
 			}
 
 			gagaInfiniteScroll.draw('not');

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

@@ -120,7 +120,7 @@
 							</div>
 							<div class="info_box overs1">
 								<div class="input_wrap">
-									<input type="text" name="entryNo" class="form_control" maxlength="13" placeholder="P로 시작하는 13자리">
+									<input type="text" name="entryNo" class="form_control" maxlength="13" placeholder="P로 시작하는 13자리" th:value=${entryNo}>
 									<!-- 유효하지 않은 개인통관고유부호 일때 class명 'err' 추가 -->
 								</div>
 								<div class="t_err" style="display:none;">개인통관고유부호가 유효하지 않습니다.</div>

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

@@ -666,6 +666,13 @@ var deliveryAddrInfoSet = function(delvObj, temp) {
 				
 				return false;
 			});
+			
+			// 2021.07.06 값이 있으면 체크박스 활성화
+			if ($("#orderForm input[name=entryNo]").val() != "") {
+				if ($("#orderForm #chk-overs-agr").is(":checked") == false) {
+					$("#orderForm #chk-overs-agr").trigger("click");
+				}
+			}
 
 			// 1.3 총알배송가능 지역, 총알배송 가능 시간 체크(초기로드정보)
 			fnGetDailyDeliveryCheck(temp);
@@ -931,8 +938,8 @@ var paymentInfoSet = function() {
 				
 				// 2021.07.05 결제타입초기값 체크
 				if ($(".payTypeNm").text() != "선택없음") {
-					if ($("#chk-agree_paymethod123").is(":checked") == false) {
-						$("#chk-agree_paymethod123").trigger("click");
+					if ($("#chk-agree_paymethod").is(":checked") == false) {
+						$("#chk-agree_paymethod").trigger("click");
 					}
 				}
 				
@@ -1360,6 +1367,17 @@ var dcAmtInfoSet = function() {
 						// 1.8.3 쿠폰적용초기화(할인율최고)(배송비)
 						custDelvCpnInit();
 						
+						var custCpnCnt 		= parseInt($("#orderForm input[name=custCpnCnt]").val());
+						var custDelvCpnCnt 	= parseInt($("#orderForm input[name=custDelvCpnCnt]").val());
+						var applyCpnCnt 	= custCpnCnt + custDelvCpnCnt;
+						
+						// 2021.04.23 보유쿠폰이 없을때 적용
+						if (applyCpnCnt < 1) {
+							if ($("#orderForm #chk-maxdisc").is(":checked")) {
+								$("#orderForm #chk-maxdisc").trigger("click");
+							}
+						}
+						
 						// 1.8.4 쿠폰적용버튼
 						$("#btn_coupon_apply").on("click", function(){
 							
@@ -1386,9 +1404,7 @@ var dcAmtInfoSet = function() {
 						// 1.8.5 쿠폰 최대할인금액 초기화 버튼 설정
 						$("#chk-maxdisc").on("click", function(){
 							// 2021.04.23 보유쿠폰이 없을때 적용
-							var custCpnCnt 		= parseInt($("#orderForm input[name=custCpnCnt]").val());
-							var custDelvCpnCnt 	= parseInt($("#orderForm input[name=custDelvCpnCnt]").val());
-							if ((custCpnCnt + custDelvCpnCnt) < 1) {
+							if (applyCpnCnt < 1) {
 								mcxDialog.alert("적용 가능한 쿠폰이 없습니다.");
 								return false;
 							}
@@ -1397,10 +1413,10 @@ var dcAmtInfoSet = function() {
 								// 2021.04.23 
 								mcxDialog.alert("선택한 쿠폰이 아닌 보유한 쿠폰을 통해 최대할인 혜택을 받을 수 있도록 쿠폰이 자동 적용됩니다.");
 								
-								// 상품&장바구니쿠폰 초기
+								// 상품&장바구니쿠폰 초기
 								custGoodsCpnInit();
 								
-								// 배송비쿠폰 초기
+								// 배송비쿠폰 초기
 								custDelvCpnInit();
 							}
 						});
@@ -1432,16 +1448,17 @@ var dcAmtInfoSet = function() {
 					var applyPntDcAmt 		= (realOrdAmt * pointUseMaxLimit) / 100;
 					
 					rmPntAmt				= rmPntAmt - freegiftUsePnt;
+
 					
 					if (gagajf.isNull($("#orderForm input[name=pntDcAmtStr]").val())) {
-						mcxDialog.alert("포인트를 입력하신 후 다시 시도해주세요.");
+						mcxDialog.alert("포인트를 입력 후 다시 시도해주세요.");
 						$('#orderForm input[name=pntDcAmtStr]').focus();
 						return false;
 					}
 					
 					// 입력여부체크
 					if (pntDcAmt < 1) {
-						mcxDialog.alert("포인트를 입력하신 후 다시 시도해주세요.");
+						mcxDialog.alert("포인트를 입력 후 다시 시도해주세요.");
 						// 포인트리셋기능
 						pntDcAmtReset();
 						return false;
@@ -1457,7 +1474,7 @@ var dcAmtInfoSet = function() {
 					
 					// 결제금액을 초과 할 수 없습니다.
 					if (pntDcAmt > realOrdAmt) {
-						mcxDialog.alert("포인트를 입력하신 후 다시 시도해주세요.");
+						mcxDialog.alert("입력한 포인트가 결제 금액보다 많습니다.");
 						// 포인트리셋기능
 						pntDcAmtReset();
 						return false;
@@ -1465,7 +1482,7 @@ var dcAmtInfoSet = function() {
 					
 					// 보유포인트보다 초과 사용 불가
 					if (pntDcAmt > rmPntAmt) {
-						mcxDialog.alert("입력하신 포인트가 보유한 포인트보다 많습니다.");
+						mcxDialog.alert("입력 포인트가 보유한 포인트보다 많습니다.");
 						// 포인트리셋기능
 						pntDcAmtReset();
 						return false;
@@ -1505,14 +1522,14 @@ var dcAmtInfoSet = function() {
 					var realOrdAmt 		= parseInt($("#orderAmtForm .realOrdSumAmt").text());
 					
 					if (gagajf.isNull($("#orderForm input[name=gfcdUseAmtStr]").val())) {
-						mcxDialog.alert("금액을 입력하신 후 다시 시도해주세요.");
+						mcxDialog.alert("금액을 입력 후 다시 시도해주세요.");
 						$('#orderForm input[name=gfcdUseAmtStr]').focus();
 						return false;
 					}
 					
 					// 입력여부체크
 					if (gfcdUseAmt < 1 || $("#orderForm input[name='gfcdUseAmtStr']").val() == "") {
-						mcxDialog.alert("금액을 입력하신 후 다시 시도해주세요.");
+						mcxDialog.alert("금액을 입력 후 다시 시도해주세요.");
 						// 상품권리셋기능
 						gfcdUseAmtReset();
 						return false;
@@ -1520,7 +1537,7 @@ var dcAmtInfoSet = function() {
 					
 					// 결제금액을 초과 할 수 없습니다.
 					if (gfcdUseAmt > realOrdAmt) {
-						mcxDialog.alert("입력하신 금액이 결제할 금액보다 많습니다.");
+						mcxDialog.alert("입력 금액이 결제할 금액보다 많습니다.");
 						// 포인트리셋기능
 						gfcdUseAmtReset();
 						return false;
@@ -1669,6 +1686,11 @@ var custDelvCpnInit = function() {
 		$(this).on("click", function(){
 			// 쿠폰적용
 			custCpnApply($(this));
+			
+			// 최대할인혜택적용 체크해제
+			if ($("#chk-maxdisc").is(":checked")) {
+				$("#chk-maxdisc").trigger("click");
+			}
 		});
 	});
 }
@@ -2121,7 +2143,7 @@ var custCpnSumAmtCal = function() {
 	
 	// 전체쿠폰 할인 금액 합계 적용
 	$(".maxdisc_amount .cpnDcAmt").text(getZeroMinusDelAmt(cpnDcSumAmt)); // 쿠폰할인금액합계
-	$("#couponDcSumAmt").text(getZeroMinusDelAmt(cpnDcSumAmt)+ " 원"); // 쿠폰할인금액합계
+	$("#couponDcSumAmt").text(getZeroMinusDelAmt(goodsCartCpnSumAmt)+ " 원"); // 쿠폰할인금액합계
 
 	$("#orderAmtForm .cpnDcSumAmt").text(cpnDcSumAmt);
 	

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

@@ -95,7 +95,7 @@
 					<input id="chk-agree_gift" type="checkbox"><label for="chk-agree_gift"><span>동의합니다</span></label>
 				</p>
 				<p class="txt">
-					사은품 지에 대한 내용을 확인하였으며, 이에 동의합니다.
+					사은품 지에 대한 내용을 확인하였으며, 이에 동의합니다.
 					<button type="button" class="btn_underline" id="btn_infoGift_pop">
 						<span>보기</span>
 					</button>

+ 6 - 3
src/main/webapp/ux/mo/css/common_m.css

@@ -624,6 +624,11 @@ top: 0.9rem;border-color: transparent transparent #888888 transparent;}
 .btn_primary:hover, .btn_primary:focus, 
 .btn_primary:active, .btn_primary.active, 
 .open > .tgl_dropdown.btn_primary {background-color: #dc4308;border-color: #dc4308;color:#ffffff;}
+.btn_primary_line:hover, .btn_primary_line:focus, 
+.btn_primary_line:active, .btn_primary_line.active, 
+.open > .tgl_dropdown.btn_primary_line {background-color: #fff;border-color: #fd4802;color:#fd4802;}
+
+/* 
 .btn_success:hover, .btn_success:focus, 
 .btn_success:active, .btn_success.active, 
 .open > .tgl_dropdown.btn_success {background-color: #89ad4d;border-color: #89ad4d;color:#ffffff;}
@@ -636,9 +641,7 @@ top: 0.9rem;border-color: transparent transparent #888888 transparent;}
 .btn_danger:hover, .btn_danger:focus, 
 .btn_danger:active, .btn_danger.active, 
 .open > .tgl_dropdown.btn_danger{background-color: #a43f3e;border-color: #a43f3e;color:#ffffff;}
-.btn_primary_line:hover, .btn_primary_line:focus, 
-.btn_primary_line:active, .btn_primary_line.active, 
-.open > .tgl_dropdown.btn_primary_line {background-color: #fff;border-color: #fd4802;color:#fd4802;}
+ */
 
 /* button flex */
 .btn_group_flex {display:flex; flex-wrap: wrap; width:100%; align-items:stretch; flex-direction:row; margin-top: 3rem;}

+ 15 - 8
src/main/webapp/ux/mo/css/layout_m.css

@@ -2310,8 +2310,8 @@
 /* br 공통*/
 .br .br_main .inner{padding-bottom:4rem;}
 .br .br_main .inner:last-child{padding-bottom:6rem;}
-.br .br_main .inner .swiper-container {margin-bottom: -2rem;}
-.br .br_subtitle{margin-bottom: 2.4rem; font-size: 2.1rem; font-weight: 500; text-align: center;}
+.br .br_main .inner .swiper-container {}
+.br .br_subtitle{margin-bottom: 2.4rem; padding-top: 2rem; font-size: 2.1rem; font-weight: 500; text-align: center;}
 .br .br_main .item_prod {width:100%;}
 .br .br_main .itemsGrp{font-size:0;}
 .br .br_main .itemsGrp .item_prod:nth-child(2n){margin-right: 0;}
@@ -2337,11 +2337,11 @@
 .br .br_main .submain_visual .txtWrap.w {color: #fff;}
 .br .br_main .submain_visual .txtWrap p {font-size: 3rem; font-weight: 500; line-height: 1.2; display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 2;-webkit-box-orient: vertical; overflow:hidden;}
 .br .br_main .submain_visual .txtWrap p.txt_xs {font-size: 1.4rem; margin-top: 1.6rem; font-weight: 300; -webkit-line-clamp: 1;}
-.br .br_main .br_top_info{position:relative; margin-top:-1rem; padding-top: 2rem;}
-.br .br_main .br_top_info .br_subtitle{text-align:left;}
+.br .br_main .br_top_info{position:relative; margin-top:-1rem; padding-top: 0;}
+.br .br_main .br_top_info .br_subtitle{text-align:left; padding-top: 0;}
 .br .br_main .br_top_info > p:nth-of-type(1){margin-bottom:1.6rem; font-weight:600;}
 .br .br_main .br_top_info > p:nth-of-type(2){margin-bottom:1.2rem; color:#222; font-weight:500; line-height:2rem;}
-.br .br_main .br_top_info > p:last-of-type {font-size: 1.2rem;}
+.br .br_main .br_top_info > p:last-of-type {font-size: 1.2rem; font-weight: 100;}
 .br .br_main .br_top_info .btn_group_flex > div > .btn > span{display:inline-block; background:url(/images/mo/br_site.png) no-repeat; width:1.1rem; height:1.2rem; margin-left:0.8rem}
 /* br_main - new_item */
 .br .br_main .new_item .swiper-slide{font-size:0;}
@@ -2375,7 +2375,7 @@
 .br .br_main .special_shop .swiper-slide .sp_item .sp_item .itemsGrp.rowtype .item_prod .itemLike {right:auto; left:13rem; z-index: 99;}
 .br .br_main .special_shop .swiper-slide .sp_item .sp_item .itemsGrp.rowtype .item_prod .itemPic {position: absolute; top: 0; left: 0; margin-bottom: 0; padding-top: 0; width:7rem; height:10.5rem;}
 /* br_main - 룩북 */
-.br .br_main .br_lookbook{margin-top:2rem; background-color:#fff;}
+.br .br_main .br_lookbook{background-color:#fff;}
 /* br_main - 유튜브 */
 .br .br_main .youtube{position:relative; padding:4rem 2rem; margin:0 auto; background-color:#444444; }
 .br .br_main .youtube .br_subtitle{color:#fff;}
@@ -2383,7 +2383,7 @@
 .br .br_main .br_youtube_slide .movbox iframe{position:absolute; top:0; left:0; width:100%; height:100%;}
 .br .br_main .br_youtube_slide .swiper-pagination{position:relative; margin-top:3rem;}
 /* br_main - brand_product */
-.br .br_main .brand_product{margin-top:2rem;}
+.br .br_main .brand_product{}
 .br .br_main .brand_product .swiper-container{overflow:visible;}
 .br .br_main .brand_product .btn:after{content: ''; display: inline-block; margin-left: 0.8rem; width: 1.1rem; height: 1.1rem; background-position: center center; background-repeat: no-repeat; background-size: contain; background-image: url(/images/mo/ico_more_lg.png);}
 /* 브랜드 - 룩북 */
@@ -2530,7 +2530,14 @@
 .sch .sch_result .recommand_product {margin-top: 1.1rem; padding-bottom: 4.7rem;}
 .sch .sch_result .recommand_product h3{padding:0 0 2rem; font-size:1.6rem; font-weight: 500;}
 .sch .sch_result .banner{margin:0 -2rem;}
-.sch .sch_result .banner > img{width:100%; margin-bottom:4rem;}
+.sch .sch_result .banner {margin-bottom:4rem;}
+
+.sch .sch_result .banner  .bnnbox{position: relative; /*height:11.3rem;*/ overflow:hidden; padding-top: 35%;}
+.sch .sch_result .banner  .txtWrap{width: 18.5rem; margin: 0 auto; position: absolute; top: 50%; left: 2rem; transform:translate(0%, -50%); z-index: 1;}
+.sch .sch_result .banner  .txtWrap p{display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden; font-size: 1.8rem;font-weight: 500;letter-spacing: -0.025em;text-align: left;line-height: 1.2;color: #222222;padding-bottom:1.0rem;}
+.sch .sch_result .banner  .txtWrap p:last-child {padding-bottom:0;}
+.sch .sch_result .banner img {position: absolute; top: 50%; left:50%; transform:translate(-58%, -50%); max-width:none; width:auto; height:100%;}
+
 .sch .sch_result .btPop_full{margin-top:59rem;}
 .sch .sch_result .btPop_full .btPop_body > ul{padding-top:1.6rem}
 .sch .sch_result .btPop_full .btPop_body > ul > li{}

+ 20 - 15
src/main/webapp/ux/mo/css/style24_m.css

@@ -319,7 +319,7 @@
 .main_stylereport img {width: 100%;height: auto;object-fit: cover;}
 .main_stylereport dl {padding:0 1.0rem;}
 .main_stylereport dt {font-size: 1.6rem;font-weight:400;margin: 1.4rem 0 0.4rem 0; display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 2;-webkit-box-orient: vertical; overflow:hidden; line-height: 1.2;}
-.main_stylereport dd {font-size: 1.3rem;font-weight:200;line-height: 2.0rem;display: inline-block; display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 1;-webkit-box-orient: vertical; overflow:hidden;}
+.main_stylereport dd {font-size: 1.3rem;font-weight:200;line-height: 2.0rem;display: inline-block; display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 2;-webkit-box-orient: vertical; overflow:hidden;}
 .post-stylereport {overflow: visible;display: block;height: auto;}
 .post-stylereport .swiper-pagination{bottom: -5.5rem;}
 
@@ -331,14 +331,14 @@
 .main_trendy .cont_body dd {font-size: 1.6rem;font-weight:200;padding:1rem 0 0;}
 .main_trendy .item_state {padding-bottom: 0;}
 .main_trendy .titWrap {padding:4rem 0 2rem;}
-.main_trendy .post-trendy {position: relative; display: block;padding: 0 0vw 4.8vw;}
-.main_trendy .post-trendy .swiper-slide {overflow: hidden;margin: 0 0vw;}
+.main_trendy .post-trendy {position: relative; display: block;padding: 0 0 4rem;}
+.main_trendy .post-trendy .swiper-slide {overflow: hidden;margin: 0 0;}
+.main_trendy .post-trendy .swiper-pagination {bottom: 2rem;}
 .main_trendy .item_prod {width: 49.4%;margin-bottom: 3.6rem;margin-right: 0rem;position: relative;padding: 0 0.7vw;box-sizing: border-box;vertical-align: top;display: inline-block;}
 .main_trendy .item_prod:nth-child(odd) {padding-left: 0;}
 .main_trendy .item_prod:nth-child(even) {padding-right: 0;}
 
 .main_it {position: relative;padding-bottom: 4rem;}
-.main_it .titWrap{padding: 6rem 0 0 0;}
 .main_it::after {content: '';display: block;clear: both;}
 .main_it .it_nav {display: flex;padding: 0 0.8rem; margin-bottom: 0.8rem; height: 5rem;line-height: 5rem;justify-content: center;}
 .main_it .swiper-scrollbar {margin: 0; background: #ddd !important; height: 0.2rem;}
@@ -419,14 +419,14 @@
 .main_pick .pick-post .item_prod .itemName{width: calc(100% - 9rem);top: 1.5rem;margin: 0 8rem 0.8rem;}
 .main_pick .pick-post .item_prod .itemPrice{margin: 0 8rem 0.8rem;top:1.5rem;}
 
-.main_1stage {padding: 2rem 0 0rem 0;}
+.main_1stage {padding: 2rem 0 0;}
 .main_1stage .bnnbox{position: relative; /*height:11.3rem;*/ overflow:hidden; padding-top: 35%;}
 .main_1stage .txtWrap{width: 18.5rem; margin: 0 auto; position: absolute; top: 50%; left: 2rem; transform:translate(0%, -50%); z-index: 1;}
 .main_1stage .txtWrap p{display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden; font-size: 1.8rem;font-weight: 500;letter-spacing: -0.025em;text-align: left;line-height: 1.2;color: #222222;padding-bottom:1.0rem;}
 .main_1stage .txtWrap p:last-child {padding-bottom:0;}
 .main_1stage img {position: absolute; top: 50%; left:50%; transform:translate(-60%, -50%); max-width:none; width:auto; height:100%;}
 
-.post-bnnWide {position: relative;top:0rem;display: block;margin: 0 0 3.4rem;}
+.post-bnnWide {position: relative;top:0rem;display: block;margin: 0 0;}
 .post-bnnWide .swiper-wrapper {width: 100%;height: 100%;height: auto;margin: 0 auto;padding: 0 0 2.5rem;}
 .post-bnnWide .swiper-pagination {bottom: 0rem !important;}
 
@@ -1310,7 +1310,7 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 
 .icon_tag {display:inline-block;}
 .icon_tag::after {content:''; clear:both; display:inline-block; font-weight:300;}
-.icon_tag [class*="tag_"] {float:left; display:inline-block; height:1.7rem; box-sizing:border-box; margin: 0 0 0.4rem; padding:0 0.5rem; border:0.1rem solid #ddd; background: #fff; color:#888888; font-size: 1.1rem; font-weight:300; vertical-align:middle; line-height:1.7rem;}
+.icon_tag [class*="tag_"] {float:left; display:inline-block; height:1.7rem; box-sizing:border-box; margin: 0 0.2rem 0.4rem; padding:0 0.5rem; border:0.1rem solid #ddd; background: #fff; color:#888888; font-size: 1.1rem; font-weight:300; vertical-align:middle; line-height:1.7rem;}
 .icon_tag .tag_stype1 {border-color:#f5f5f5; background:#f5f5f5}
 .icon_tag .tag_stype2 {border-color:#fd4802; background:#fff6f2; color:#fd4802;}
 
@@ -1907,12 +1907,17 @@ background-size:100%;}
 .od .fold_cont .area_selpoint input[type="text"]:disabled {background: #fff;}
 
 .od .fold_cont .area_customitem > p {font-size: 1.1rem; color: #888;}
-.od .fold_cont .area_customitem .agree_custom label {font-size: 1.3rem; color: #222; text-align: left;}
+.od .fold_cont .area_customitem .agree_custom label {font-size: 1.3rem; color: #222; text-align: left; padding-left: 2.6rem;}
 .od .fold_cont .area_customitem .form_field {margin:1.3rem 0 2rem;}
 .od .fold_cont .area_customitem .form_field input[type="checkbox"] + label:after,
 .od .fold_cont .area_customitem .form_field input[type="checkbox"] + label:before {top: 0; margin-top: 0;}
 .od .fold_cont .area_customitem .info_txt {margin-top:0; background: #f5f5f5;}
 
+.od .foldGroup .fold_customitem .fold_head.on .data {display: block; width:100%; overflow: visible;}
+.od .foldGroup .fold_customitem .fold_head.on .data .form_field input[type="checkbox"] {top: 3.4rem;left: -27.9rem;}
+.od .foldGroup .fold_customitem .fold_head.on .data .form_field input[type="checkbox"] + label {position: fixed; top: 7.5rem;left: 6.8rem;}
+.od .foldGroup .fold_customitem .fold_head.on .data .form_field input[type="checkbox"] + label span {display: none;}
+
 /* 주문결제_배송지변경 팝업 */
 .modal.adrsChange_Pop .modal-header {padding: 0; height: 5.5rem;}
 .modal.adrsChange_Pop .modal-body {margin-top: 5.2rem;}
@@ -2185,12 +2190,12 @@ background-size:100%;}
 .od .area_paybtn .btn {height:6rem; font-size:1.6rem; font-weight:500;}
 .od .area_paybtn .btn em {font-weight:500;}
 
-.odPayment .infotxt table {word-break:keep-all;margin-top: 1.0rem;margin-bottom: 1.0rem;width: 100%;border-top: 0.1rem solid #dddddd;}
-.odPayment .infotxt table th,
-.odPayment .infotxt table td {position:relative; padding:1.0rem 1.0rem; font-size:1.1rem;line-height: 1.4;color: #666;letter-spacing:-0.025em;}
-.odPayment .infotxt table td {border-bottom:0.1rem solid #ddd;border-right: 0.1rem solid #ddd;font-weight:200;}
-.odPayment .infotxt table td:last-child {border-right: 0.1rem solid transparent;}
-.odPayment .infotxt table th {border-top: 0;border-bottom:0.1rem solid #ddd;border-right:0.1rem solid #ddd;font-weight: 400;text-align: center;background: #fff; color:#666;}
+.od .infotxt table {word-break:keep-all;margin-top: 1.0rem;margin-bottom: 1.0rem;width: 100%;border-top: 0.1rem solid #dddddd;}
+.od .infotxt table th,
+.od .infotxt table td {position:relative; padding:1.0rem 1.0rem; font-size:1.1rem;line-height: 1.4;color: #666;letter-spacing:-0.025em;}
+.od .infotxt table td {border-bottom:0.1rem solid #ddd;border-right: 0.1rem solid #ddd;font-weight:200;}
+.od .infotxt table td:last-child {border-right: 0.1rem solid transparent;}
+.od .infotxt table th {border-top: 0;border-bottom:0.1rem solid #ddd;border-right:0.1rem solid #ddd;font-weight: 400;text-align: center;background: #fff; color:#666;}
 
 .od .extra_pay {padding:0 3rem 4rem; margin-bottom: 2rem; border-top:0.1rem solid #222; border-bottom:0.1rem solid #ddd;}
 .od .extra_pay .tit_pay {padding:3rem 0; line-height:1; font-size:2.4rem; font-weight:500;}
@@ -2220,7 +2225,7 @@ background-size:100%;}
 .od .completed .info_complete .report_box div dt,
 .od .completed .info_complete .report_box div dd {display:inline-block; font-weight:300;}
 .od .completed .info_complete .report_box div dt {color:#666; font-size:1.7rem;}
-.od .completed .info_complete .report_box div dd {position: relative; margin-left:108rem; color:#fd4802; font-size:1.7rem;}
+.od .completed .info_complete .report_box div dd {position: relative; margin-left:1.8rem; color:#fd4802; font-size:1.7rem;}
 .od .completed .info_complete .report_box div dd:before {content:''; position: absolute; top: 50%; left: -1.1rem; transform:translateY(-50%); width: 0.1rem; height: 1.5rem; background: #ddd;}
 .od .completed .info_complete .report_box div.closedate dt,
 .od .completed .info_complete .report_box div.closedate dd {margin:0; color:#888; font-size:1.6rem; font-weight:200;}