Przeglądaj źródła

Merge branch 'develop' of http://112.172.147.34:4936/style24/style24.front.git into develop

eskim 4 lat temu
rodzic
commit
a2f0f88d32
33 zmienionych plików z 485 dodań i 658 usunięć
  1. 1 0
      src/main/java/com/style24/front/biz/web/TsfDisplayController.java
  2. 13 10
      src/main/java/com/style24/front/biz/web/TsfOrderController.java
  3. 3 0
      src/main/java/com/style24/persistence/domain/MainLayout.java
  4. 108 23
      src/main/java/com/style24/persistence/mybatis/shop/TsfCoupon.xml
  5. 40 12
      src/main/java/com/style24/persistence/mybatis/shop/TsfDisplay.xml
  6. 98 87
      src/main/java/com/style24/persistence/mybatis/shop/TsfPlanning.xml
  7. BIN
      src/main/webapp/WEB-INF/lib/Istyle-1.3.jar
  8. 20 2
      src/main/webapp/WEB-INF/views/mob/app/NoticeFormMob.html
  9. 27 23
      src/main/webapp/WEB-INF/views/mob/display/BrandMainFormMob.html
  10. 8 2
      src/main/webapp/WEB-INF/views/mob/display/SearchLayerMob.html
  11. 1 1
      src/main/webapp/WEB-INF/views/mob/order/OrderCompleteMob.html
  12. 1 1
      src/main/webapp/WEB-INF/views/mob/order/OrderDeliveryAddrInfoMob.html
  13. 14 3
      src/main/webapp/WEB-INF/views/mob/order/OrderFormMob.html
  14. 2 2
      src/main/webapp/WEB-INF/views/mob/order/OrderFreegiftInfoMob.html
  15. 3 3
      src/main/webapp/WEB-INF/views/mob/order/OrderNoMemberMob.html
  16. 8 2
      src/main/webapp/WEB-INF/views/mob/planning/PlanningShotGuideFormMob.html
  17. 3 0
      src/main/webapp/WEB-INF/views/web/common/fragments/GnbWeb.html
  18. 0 1
      src/main/webapp/WEB-INF/views/web/common/fragments/HeadWeb.html
  19. 34 29
      src/main/webapp/WEB-INF/views/web/display/BrandMainFormWeb.html
  20. 39 42
      src/main/webapp/WEB-INF/views/web/display/MallMainFormWeb.html
  21. 22 5
      src/main/webapp/WEB-INF/views/web/display/SearchLayerWeb.html
  22. 9 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageCreListFormWeb.html
  23. 9 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageOrderListFormWeb.html
  24. 4 1
      src/main/webapp/WEB-INF/views/web/order/OrderDeliveryAddrInfoWeb.html
  25. 0 1
      src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html
  26. 0 1
      src/main/webapp/WEB-INF/views/web/order/OrderFormWeb_2021031801.html
  27. 1 1
      src/main/webapp/WEB-INF/views/web/order/OrderFreegiftInfoWeb.html
  28. 4 4
      src/main/webapp/WEB-INF/views/web/order/OrderNoMemberWeb.html
  29. 8 2
      src/main/webapp/WEB-INF/views/web/planning/PlanningShotGuideFormWeb.html
  30. 0 397
      src/main/webapp/ux/pc/js/common-ui_back210202.js
  31. 0 1
      src/main/webapp/ux/pc/js/jquery-3.5.1.min.js
  32. 5 0
      src/main/webapp/ux/pc/js/jquery-ui.min.js
  33. 0 0
      src/main/webapp/ux/pc/js/slick.min.js

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

@@ -153,6 +153,7 @@ public class TsfDisplayController extends TsfBaseController {
 //		}
 
 		mallMainLayout.setCateNo(Integer.parseInt(mainCateNo));
+		mallMainLayout.setPreview(paramMap.get("preview"));
 		Collection<MainLayout> mainLayoutCollection = displayService.getMainLayout(mallMainLayout);
 
 		Collection<MainLayout> mainLayoutList = new ArrayList<MainLayout>();

+ 13 - 10
src/main/java/com/style24/front/biz/web/TsfOrderController.java

@@ -108,13 +108,13 @@ public class TsfOrderController extends TsfBaseController {
 		// @ WEB 의 경우에는 입력한 고객정보와 인증받은 고객정보가 다른경우 고객정보 업데이트
 		// @ MOBILE 인 경우에는 본인인증 후 주문서 이동
 		
-		// 1. 카트시퀀스가 정보가 없을때 처리 장바구니로 이동
+		// 1. 장바구니 시퀀스가 정보가 없을때 처리 장바구니로 이동
 		if (order.getCartSqArr() == null) {
 			mav.setViewName("redirect:/cart/list/form");						// 장바구니화면이동
 			return mav;
 		}
 		
-		// 2. 선물하기주문 체크 후 비 로그인 상태면 장바구니로 강제 이동
+		// 2. 선물하기주문 체크 후 비로그인 상태면 장바구니로 강제 이동
 		if (coreOrderService.getGiftOrderCheck(order) > 0) {
 			if (TsfSession.isLogin() == false) {
 				mav.setViewName("redirect:/cart/list/form");					// 장바구니화면이동
@@ -172,7 +172,7 @@ public class TsfOrderController extends TsfBaseController {
 			return mav;
 		}
 
-		// 1.2 카트시퀀스가 정보가 없을때 처리 장바구니로 이동
+		// 1.2 장바구니 시퀀스가 정보가 없을때 처리 장바구니로 이동
 		if (order.getCartSqArr() == null) {
 			mav.setViewName("redirect:/cart/list/form");		// 장바구니화면이동
 			return mav;
@@ -297,6 +297,7 @@ public class TsfOrderController extends TsfBaseController {
 				devTempYn = true;
 			}
 		}
+		
 		mav.addObject("devTempYn"			, devTempYn);								// 개발자모드가능여부
 		mav.addObject("frontGb"				, TsfSession.getFrontGb());					// 프론트구분
 		mav.setViewName(super.getDeviceViewName("order/OrderForm"));
@@ -435,13 +436,15 @@ 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();
+		if ("Y".equals(order.getForeignBuyYn())) {
+			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();
+				}
 			}
 		}
 		

+ 3 - 0
src/main/java/com/style24/persistence/domain/MainLayout.java

@@ -26,6 +26,9 @@ public class MainLayout extends TscBaseDomain {
     private String sysFileNm;
     private String contentsTitle;
 
+    private String preview;         // 브랜드메인에서 사용
+    private String contentsCnt;     // 브랜드메인에서 사용
+
     private Cate4Srch cate4Srch;
     private Collection<Contents> contentsList;
     private Collection<Goods> goodsList;

+ 108 - 23
src/main/java/com/style24/persistence/mybatis/shop/TsfCoupon.xml

@@ -1321,29 +1321,114 @@
 
 	<select id="getPlanCouponDetailInfo" parameterType="Coupon" resultType="Coupon">
 		/*TsfCoupon.getPlanCouponDetailInfo*/
-		SELECT C.CPN_ID                          /*쿠폰ID*/
-		     , C.CPN_NM                           /*쿠폰명*/
-		     , C.BUY_LIMIT_AMT                    /*구매제한금액*/
-		     , C.MAX_DC_AMT                       /*최대할인금액*/
-		     , CASE WHEN #{frontGb} = 'P' THEN C.DC_PVAL
-		    		WHEN #{frontGb} = 'M' THEN C.DC_MVAL
-		    		WHEN #{frontGb} = 'A' THEN C.DC_AVAL  END             AS DC_VAL          /*할인값*/
-		     , CASE WHEN C.DC_WAY = 'G240_10' THEN '원'
-		       ELSE '%'  END             AS DC_WAY          /*할인방법*/
-		     , CONCAT(CASE WHEN C.BUY_LIMIT_AMT = 0 THEN ''
-		                  ELSE CONCAT(FORMAT(C.BUY_LIMIT_AMT , 0),'원 이상 구매 시 ') END
-		     , CASE WHEN C.MAX_DC_AMT = 0 THEN ''
-		       ELSE CONCAT('최대 ',FORMAT(C.MAX_DC_AMT , 0),'원 할인') END)     AS USE_CONDITION   /*사용조건*/
-		     , CASE WHEN C.CUST_PUB_LIMIT_QTY = 0 THEN '' ELSE CONCAT('1인당 최대',C.CUST_PUB_LIMIT_QTY,'매')  END   AS ISSUE_CONDITION /*발급조건*/
-		     , C.AVAIL_STDT                      /*유효시작일자*/
-		     , C.AVAIL_EDDT                      /*유효종료일자*/
-		FROM   (
-		   SELECT *
-		   FROM TB_COUPON
-		   WHERE 1=1
-		   AND   CPN_STAT = 'G232_11' /*진행중인쿠폰*/
-		   AND   CPN_ID   = #{cpnId}
-		) C
+		SELECT Z.CPN_ID                                /*쿠폰ID*/
+		     , Z.CPN_NM                                /*쿠폰명*/
+		     , Z.BUY_LIMIT_AMT                         /*구매제한금액*/
+		     , Z.MAX_DC_AMT                            /*최대할인금액*/
+		     , Z.DC_VAL                                /*할인값*/
+		     , Z.DC_WAY                                /*할인방법*/
+		     , Z.USE_CONDITION                         /*사용조건*/
+		     , Z.ISSUE_CONDITION                       /*발급조건*/
+		     , Z.AVAIL_STDT                            /*유효시작일자*/
+		     , Z.AVAIL_EDDT                            /*유효종료일자*/
+		     , GROUP_CONCAT(Z.TGT_CONDITION) AS TGT_CONDITION
+		FROM
+		    (
+		        WITH TAB_COUPON AS (
+		            SELECT  C.CPN_ID                          /*쿠폰ID*/
+		                 , C.CPN_NM                           /*쿠폰명*/
+		                 , C.BUY_LIMIT_AMT                    /*구매제한금액*/
+		                 , C.MAX_DC_AMT                       /*최대할인금액*/
+		                 , CASE WHEN #{frontGb} = 'P' THEN C.DC_PVAL
+		                        WHEN #{frontGb} = 'M' THEN C.DC_MVAL
+		                        WHEN #{frontGb} = 'A' THEN C.DC_AVAL
+		                END             AS DC_VAL          /*할인값*/
+		                 , CASE WHEN C.DC_WAY = 'G240_10' THEN '원'
+		                        ELSE '%'
+		                END             AS DC_WAY          /*할인방법*/
+		                 , CONCAT(CASE WHEN C.BUY_LIMIT_AMT = 0 THEN ''
+		                               ELSE CONCAT(FORMAT(C.BUY_LIMIT_AMT , 0),'원 이상 구매 시 ')
+		                              END
+		                ,CASE WHEN C.MAX_DC_AMT = 0 THEN ''
+		                      ELSE CONCAT('최대 ',FORMAT(C.MAX_DC_AMT , 0),'원 할인')
+		                              END)     AS USE_CONDITION   /*사용조건*/
+		                 , CASE WHEN C.CUST_PUB_LIMIT_QTY = 0 THEN ''
+		                        ELSE CONCAT('1인당 최대',C.CUST_PUB_LIMIT_QTY,'매')
+		                END             AS ISSUE_CONDITION /*발급조건*/
+		                 , C.AVAIL_STDT                      /*유효시작일자*/
+		                 , C.AVAIL_EDDT                      /*유효종료일자*/
+		            FROM   TB_COUPON C
+		            WHERE  1=1
+		              AND    C.CPN_STAT = 'G232_11' /*진행중인쿠폰*/
+		              AND    C.CPN_ID   = #{cpnId}
+		        )
+		           , TAB_COUPON_REFVAL1 AS (
+		            SELECT CR.CPN_ID
+		                 , CR.CPN_TARGET
+		                 , CASE WHEN CR.CPN_TARGET = 'G260_10' /*상품*/ THEN (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = CR.REF_VAL AND GOODS_STAT = 'G008_90')
+		                        WHEN CR.CPN_TARGET = 'G260_11' /*카테고리*/ THEN
+		                            CASE WHEN IFNULL((SELECT COUNT(1) FROM TB_CATE_4SRCH WHERE CATE1_NO = CR.REF_VAL),0) > 0 THEN (SELECT CATE1_NM FROM TB_CATE_4SRCH WHERE CATE1_NO = CR.REF_VAL LIMIT 1)
+		                                WHEN IFNULL((SELECT COUNT(1) FROM TB_CATE_4SRCH WHERE CATE2_NO = CR.REF_VAL),0) > 0 THEN (SELECT CONCAT(CATE1_NM,' > ',CATE2_NM) FROM TB_CATE_4SRCH WHERE CATE2_NO = CR.REF_VAL LIMIT 1)
+		                                WHEN IFNULL((SELECT COUNT(1) FROM TB_CATE_4SRCH WHERE CATE3_NO = CR.REF_VAL),0) > 0 THEN (SELECT CONCAT(CATE1_NM,' > ',CATE2_NM) FROM TB_CATE_4SRCH WHERE CATE3_NO = CR.REF_VAL LIMIT 1)
+		                                WHEN IFNULL((SELECT COUNT(1) FROM TB_CATE_4SRCH WHERE CATE4_NO = CR.REF_VAL),0) > 0 THEN (SELECT CONCAT(CATE1_NM,' > ',CATE2_NM) FROM TB_CATE_4SRCH WHERE CATE4_NO = CR.REF_VAL LIMIT 1)
+		                               END
+		                        WHEN CR.CPN_TARGET = 'G260_12' /*브랜드*/ THEN (SELECT BRAND_KNM FROM TB_BRAND WHERE BRAND_CD = CR.REF_VAL AND USE_YN = 'Y')
+		                        WHEN CR.CPN_TARGET = 'G260_13' /*업체*/ THEN (SELECT SUPPLY_COMP_NM FROM TB_SUPPLY_COMPANY WHERE SUPPLY_COMP_CD = CR.REF_VAL AND USE_YN = 'Y' AND SUPPLY_STAT = 'G010_30')
+		                END AS REF_VAL
+		                 , RANK() OVER(PARTITION BY CR.CPN_ID, CR.CPN_TARGET ORDER BY CR.REF_VAL) AS RK
+		            FROM     TB_COUPON_REFVAL CR
+		            WHERE    CR.CPN_TARGET != 'G260_14' /*제외상품아닌넘*/
+		              AND      CR.CPN_ID = #{cpnId}
+		        )
+		           , TAB_COUPON_REFVAL2 AS (
+		            SELECT CPN_ID
+		                 , CPN_TARGET
+		                 , GROUP_CONCAT(REF_VAL ORDER BY RK ASC SEPARATOR '/' ) AS REF_VAL
+		                 , (SELECT COUNT(*)
+		                    FROM   TAB_COUPON_REFVAL1
+		                    WHERE  CPN_ID = CR.CPN_ID
+		                      AND    CPN_TARGET = CR.CPN_TARGET)                  AS CNT
+		            FROM   TAB_COUPON_REFVAL1 CR
+		            WHERE  1 = 1
+		              AND    (
+		                    (CPN_TARGET != 'G260_12' AND RK = 1) /*브랜드 외는 1개만 노출*/
+		                    OR
+		                    (CPN_TARGET = 'G260_12' AND RK <![CDATA[<=]]> 2) /*브랜드만 2개 노출*/
+		                )
+		            GROUP  BY CPN_ID, CPN_TARGET
+		        )
+		        SELECT C.CPN_ID                                /*쿠폰ID*/
+		             , C.CPN_NM                                /*쿠폰명*/
+		             , C.BUY_LIMIT_AMT                         /*구매제한금액*/
+		             , C.MAX_DC_AMT                            /*최대할인금액*/
+		             , C.DC_VAL                                /*할인값*/
+		             , C.DC_WAY                                /*할인방법*/
+		             , C.USE_CONDITION                         /*사용조건*/
+		             , C.ISSUE_CONDITION                       /*발급조건*/
+		             , C.AVAIL_STDT                            /*유효시작일자*/
+		             , C.AVAIL_EDDT                            /*유효종료일자*/
+		             , CONCAT(CR.REF_VAL,CASE WHEN CR.CPN_TARGET = 'G260_10' AND CR.CNT > 1 THEN ' 외'
+		                                      WHEN CR.CPN_TARGET = 'G260_11' AND CR.CNT > 1 THEN ' 외'
+		                                      WHEN CR.CPN_TARGET = 'G260_12' AND CR.CNT > 2 THEN ' 외'
+		                                      WHEN CR.CPN_TARGET = 'G260_13' AND CR.CNT > 1 THEN ' 외'
+		                                      ELSE ''
+		            END) AS TGT_CONDITION /*대상조건*/
+		        FROM   TAB_COUPON C LEFT OUTER JOIN TAB_COUPON_REFVAL2 CR
+		                                           ON  C.CPN_ID = CR.CPN_ID
+		        WHERE C.CPN_ID = #{cpnId}
+		        ORDER  BY C.AVAIL_EDDT
+		    )Z
+		GROUP BY  Z.CPN_ID                                /*쿠폰ID*/
+		        , Z.CPN_NM                                /*쿠폰명*/
+		        , Z.BUY_LIMIT_AMT                         /*구매제한금액*/
+		        , Z.MAX_DC_AMT                            /*최대할인금액*/
+		        , Z.DC_VAL                                /*할인값*/
+		        , Z.DC_WAY                                /*할인방법*/
+		        , Z.USE_CONDITION                         /*사용조건*/
+		        , Z.ISSUE_CONDITION                       /*발급조건*/
+		        , Z.AVAIL_STDT                            /*유효시작일자*/
+		        , Z.AVAIL_EDDT                            /*유효종료일자*/
+		ORDER BY CPN_ID LIMIT 1
 	</select>
 	
 </mapper>

+ 40 - 12
src/main/java/com/style24/persistence/mybatis/shop/TsfDisplay.xml

@@ -674,20 +674,48 @@
 	<!-- 메인 레이아웃 목록 -->
 	<select id="getMainLayout" parameterType="MainLayout" resultType="MainLayout">
 		/* TsfDisplay.getMainLayout */
-		SELECT CATE_NO
-			 , CONTENTS_LOC
-		     , BRAND_GROUP_NO
-			 , DISP_ORD
-			 , CONTENTS_YN
-			 , CONTENTS_TITLE
-			 , COL_CNT
-			 , COL_NO
-		FROM TB_MAIN_LAYOUT
-		WHERE CATE_NO = #{cateNo}
+		SELECT A.CATE_NO
+			 , A.CONTENTS_LOC
+		     , A.BRAND_GROUP_NO
+			 , A.DISP_ORD
+			 , A.CONTENTS_YN
+			 , A.CONTENTS_TITLE
+			 , A.COL_CNT
+			 , A.COL_NO
+		<choose>
+		    <when test='preview != null and preview == "Y"'>
+		    , (SELECT COUNT(1) AS CNT
+		         FROM TB_CONTENTS_PREVIEW CP
+		        WHERE 1=1
+		          AND A.CONTENTS_LOC = CP.CONTENTS_LOC
+		          AND A.CATE_NO = CP.CATE_NO
+		        <if test="brandGroupNo != null and brandGroupNo !=''">
+		          AND A.BRAND_GROUP_NO = CP.BRAND_GROUP_NO
+		        </if>
+		          AND NOW() BETWEEN CP.DISP_STDT AND CP.DISP_EDDT
+		          AND CP.USE_YN = 'Y'
+		        ) AS CONTENTS_CNT
+		    </when>
+		    <otherwise>
+		    , (SELECT COUNT(1) AS CNT
+		         FROM TB_CONTENTS CP
+		        WHERE 1=1
+		          AND A.CONTENTS_LOC = CP.CONTENTS_LOC
+		          AND A.CATE_NO = CP.CATE_NO
+		    <if test="brandGroupNo != null and brandGroupNo !=''">
+		          AND A.BRAND_GROUP_NO = CP.BRAND_GROUP_NO
+		    </if>
+		          AND NOW() BETWEEN CP.DISP_STDT AND CP.DISP_EDDT
+		          AND CP.USE_YN = 'Y'
+		        ) AS CONTENTS_CNT
+		    </otherwise>
+		</choose>
+		FROM   TB_MAIN_LAYOUT A
+		WHERE  A.CATE_NO = #{cateNo}
 		<if test="brandGroupNo != null and brandGroupNo !=''">
-			AND    BRAND_GROUP_NO  = #{brandGroupNo}
+		  AND  A.BRAND_GROUP_NO  = #{brandGroupNo}
 		</if>
-		ORDER BY DISP_ORD, COL_NO
+		ORDER BY A.DISP_ORD, A.COL_NO
 	</select>
 
 	<!-- 카테고리4srch 조회-->

+ 98 - 87
src/main/java/com/style24/persistence/mybatis/shop/TsfPlanning.xml

@@ -484,10 +484,12 @@
 		                END
 		       END AS ACCESSIBLE_YN
 		FROM   (
-		        SELECT 1                                             AS CNT1 /*제휴채널전체건수*/
-		            , CASE WHEN AF_LINK_CD = #{afLinkCd} THEN 1 ELSE 0 END AS CNT2 /*특정제휴채널건수*/
-		        FROM   TB_PLAN_AF_CHANNEL A
-		        WHERE  PLAN_SQ =  #{planSq}
+		        SELECT 1                                                                            AS CNT1 /*제휴채널전체건수*/
+		             , CASE WHEN PAC.AF_LINK_CD = #{afLinkCd} AND AF.USE_YN = 'Y' THEN 1 ELSE 0 END AS CNT2 /*특정제휴채널건수*/
+		        FROM   TB_PLAN_AF_CHANNEL PAC
+		             , TB_AF_LINK AF
+		        WHERE  PAC.AF_LINK_CD = AF.AF_LINK_CD
+		        AND    PAC.PLAN_SQ =  #{planSq}
 		       ) Z
 	</select>
 	
@@ -1774,87 +1776,96 @@
 		        ,(CASE WHEN RNK.LIST_PRICE > 0 THEN 100 - ROUND((RNK.CURR_PRICE / RNK.LIST_PRICE) * 100 ,0) ELSE 0 END ) AS DC_RATE
 		      FROM
 		         (
-		          SELECT  ROW_NUMBER() OVER (PARTITION BY GOODS.BRAND_GROUP_NO ORDER BY GOODS.DISP_ORD DESC) AS RNUM
+		          SELECT  ROW_NUMBER() OVER (PARTITION BY GOODS.BRAND_GROUP_NO ORDER BY GOODS.DISP_ORD DESC, GOODS.DIS) AS RNUM
 		                 , GOODS.*
 		            FROM 
 		                (
-		                 SELECT 
-		                    CASE WHEN BG.DISP_NM_LANG = 'EN' THEN
-		                             BG.BRAND_GROUP_ENM
-		                         ELSE
-		                             BG.BRAND_GROUP_KNM
-		                    END                                    AS BRAND_NM /*브랜드그룹명*/
-		                  , SDB.BRAND_GROUP_NO 
-		                  , SDB.DISP_ORD
-		                  , G.GOODS_CD 
-		                  , G.GOODS_NM 
-		                  , G.GOODS_GB                                               /*상품구분*/
-		                  , G.FOREIGN_BUY_YN                                         /*해외구매대행여부*/
-		                  , G.PARALLEL_IMPORT_YN                                     /*병행수입여부*/
-		                  , G.ORDER_MADE_YN                                          /*주문제작여부*/
-		                  , G.GOODS_TNM                                              /*상품타이틀명*/
-		                  , G.MAIN_COLOR_CD                                          /*대표색상코드*/
-		                  , G.LIST_PRICE                                             /*정상가(최초판매가)*/
-		                  , G.CURR_PRICE                                             /*현재판매가*/
-		                FROM   TB_SHOT_DELV_BRAND SDB
-		                                 INNER JOIN TB_SHOT_DELV_GOODS SDG
-		                        ON SDB.BRAND_GROUP_NO = SDG.BRAND_GROUP_NO
-		                                 INNER JOIN TB_GOODS G
-		                        ON SDG.GOODS_CD = G.GOODS_CD 
-		                          		  INNER JOIN TB_BRAND B
-		                        ON G.BRAND_CD = B.BRAND_CD 
-		                                 INNER JOIN TB_BRAND_GROUP BG 
-		                        ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO 
-		                                 INNER JOIN TB_GOODS_STOCK GS
-		                        ON SDG.GOODS_CD = GS.GOODS_CD 
-		                WHERE  1=1  
-		                AND    G.GOODS_CD NOT IN (SELECT GOODS_CD FROM TB_GOODS_SHOT_DELV_SKIP GSDS)
-		                AND    G.SELF_GOODS_YN = 'Y'
-		                AND    G.SELF_MALL_YN = 'Y'
-		                AND    SDG.DEL_YN = 'N'
-		                AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
-		                AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*현재 판매되는 상품*/
-		                AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
-		                AND    BG.USE_YN = 'Y' /*사용하는 브랜드그룹*/
-		                AND    GS.STOCK_QTY  <![CDATA[>]]>  0 /*재고있는상품*/
-		                UNION 
-		                SELECT 
-		                       CASE WHEN BG.DISP_NM_LANG = 'EN' THEN
-		                                BG.BRAND_GROUP_ENM
-		                            ELSE
-		                                BG.BRAND_GROUP_KNM
-		                       END                                    AS BRAND_NM /*브랜드그룹명*/
-		                     , SDB.BRAND_GROUP_NO 
-		                     , SDB.DISP_ORD
-		                     , G.GOODS_CD 
-		                     , G.GOODS_NM 
-		                     , G.GOODS_GB                                               /*상품구분*/
-		                     , G.FOREIGN_BUY_YN                                         /*해외구매대행여부*/
-		                     , G.PARALLEL_IMPORT_YN                                     /*병행수입여부*/
-		                     , G.ORDER_MADE_YN                                          /*주문제작여부*/
-		                     , G.GOODS_TNM                                              /*상품타이틀명*/
-		                     , G.MAIN_COLOR_CD                                          /*대표색상코드*/
-		                     , G.LIST_PRICE                                             /*정상가(최초판매가)*/
-		                     , G.CURR_PRICE                                             /*현재판매가*/
-		                FROM   TB_SHOT_DELV_BRAND SDB
-		                                  INNER JOIN TB_BRAND_GROUP BG 
-		                        ON SDB.BRAND_GROUP_NO = BG.BRAND_GROUP_NO 
-		                                  INNER JOIN TB_BRAND B
-		                        ON BG.BRAND_GROUP_NO = B.BRAND_GROUP_NO 
-		                                 INNER JOIN TB_GOODS G
-		                        ON B.BRAND_CD = G.BRAND_CD 
-		                                 INNER JOIN TB_GOODS_STOCK GS
-		                        ON G.GOODS_CD = GS.GOODS_CD 
-		                WHERE  1=1  
-		                AND    G.GOODS_CD NOT IN (SELECT GOODS_CD FROM TB_GOODS_SHOT_DELV_SKIP GSDS)
-		                AND    G.SELF_GOODS_YN = 'Y'
-		                AND    G.SELF_MALL_YN = 'Y'
-		                AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
-		                AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*현재 판매되는 상품*/
-		                AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
-		                AND    BG.USE_YN = 'Y' /*사용하는 브랜드그룹*/
-		                AND    GS.STOCK_QTY  <![CDATA[>]]>  0 /*재고있는상품*/
+		                  SELECT AA.*
+		                        ,COUNT(*) OVER(PARTITION BY GOODS_CD) AS GOODS_CD_CNT
+		                  FROM 		                 
+		                       (	                
+		                        SELECT 
+		                           CASE WHEN BG.DISP_NM_LANG = 'EN' THEN
+		                                    BG.BRAND_GROUP_ENM
+		                                ELSE
+		                                    BG.BRAND_GROUP_KNM
+		                           END                                    AS BRAND_NM /*브랜드그룹명*/
+		                         , SDB.BRAND_GROUP_NO 
+		                         , SDB.DISP_ORD
+		                         , G.GOODS_CD 
+		                         , G.GOODS_NM 
+		                         , G.GOODS_GB                                               /*상품구분*/
+		                         , G.FOREIGN_BUY_YN                                         /*해외구매대행여부*/
+		                         , G.PARALLEL_IMPORT_YN                                     /*병행수입여부*/
+		                         , G.ORDER_MADE_YN                                          /*주문제작여부*/
+		                         , G.GOODS_TNM                                              /*상품타이틀명*/
+		                         , G.MAIN_COLOR_CD                                          /*대표색상코드*/
+		                         , G.LIST_PRICE                                             /*정상가(최초판매가)*/
+		                         , G.CURR_PRICE                                             /*현재판매가*/
+		                         , 1 AS DIS
+		                        FROM   TB_SHOT_DELV_BRAND SDB
+		                                        INNER JOIN TB_SHOT_DELV_GOODS SDG
+		                               ON SDB.BRAND_GROUP_NO = SDG.BRAND_GROUP_NO
+		                                        INNER JOIN TB_GOODS G
+		                               ON SDG.GOODS_CD = G.GOODS_CD 
+		                            	        INNER JOIN TB_BRAND B
+		                               ON G.BRAND_CD = B.BRAND_CD 
+		                                        INNER JOIN TB_BRAND_GROUP BG 
+		                               ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO 
+		                                        INNER JOIN TB_GOODS_STOCK GS
+		                               ON SDG.GOODS_CD = GS.GOODS_CD 
+		                        WHERE  1=1  
+		                        AND    G.GOODS_CD NOT IN (SELECT GOODS_CD FROM TB_GOODS_SHOT_DELV_SKIP GSDS)
+		                        AND    G.SELF_GOODS_YN = 'Y'
+		                        AND    G.SELF_MALL_YN = 'Y'
+		                        AND    SDG.DEL_YN = 'N'
+		                        AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
+		                        AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*현재 판매되는 상품*/
+		                        AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
+		                        AND    BG.USE_YN = 'Y' /*사용하는 브랜드그룹*/
+		                        AND    GS.STOCK_QTY  <![CDATA[>]]>  0 /*재고있는상품*/
+		                        UNION ALL
+		                        SELECT 
+		                              CASE WHEN BG.DISP_NM_LANG = 'EN' THEN
+		                                       BG.BRAND_GROUP_ENM
+		                                   ELSE
+		                                       BG.BRAND_GROUP_KNM
+		                              END                                    AS BRAND_NM /*브랜드그룹명*/
+		                            , SDB.BRAND_GROUP_NO 
+		                            , SDB.DISP_ORD
+		                            , G.GOODS_CD 
+		                            , G.GOODS_NM 
+		                            , G.GOODS_GB                                               /*상품구분*/
+		                            , G.FOREIGN_BUY_YN                                         /*해외구매대행여부*/
+		                            , G.PARALLEL_IMPORT_YN                                     /*병행수입여부*/
+		                            , G.ORDER_MADE_YN                                          /*주문제작여부*/
+		                            , G.GOODS_TNM                                              /*상품타이틀명*/
+		                            , G.MAIN_COLOR_CD                                          /*대표색상코드*/
+		                            , G.LIST_PRICE                                             /*정상가(최초판매가)*/
+		                            , G.CURR_PRICE                                             /*현재판매가*/
+		                            , 2 AS DIS
+		                        FROM   TB_SHOT_DELV_BRAND SDB
+		                                         INNER JOIN TB_BRAND_GROUP BG 
+		                               ON SDB.BRAND_GROUP_NO = BG.BRAND_GROUP_NO 
+		                                         INNER JOIN TB_BRAND B
+		                               ON BG.BRAND_GROUP_NO = B.BRAND_GROUP_NO 
+		                                        INNER JOIN TB_GOODS G
+		                               ON B.BRAND_CD = G.BRAND_CD 
+		                                        INNER JOIN TB_GOODS_STOCK GS
+		                               ON G.GOODS_CD = GS.GOODS_CD 
+		                        WHERE  1=1  
+		                        AND    G.GOODS_CD NOT IN (SELECT GOODS_CD FROM TB_GOODS_SHOT_DELV_SKIP GSDS)
+		                        AND    G.SELF_GOODS_YN = 'Y'
+		                        AND    G.SELF_MALL_YN = 'Y'
+		                        AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
+		                        AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*현재 판매되는 상품*/
+		                        AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
+		                        AND    BG.USE_YN = 'Y' /*사용하는 브랜드그룹*/
+		                        AND    GS.STOCK_QTY  <![CDATA[>]]>  0 /*재고있는상품*/
+		                       )AA
+		                       ORDER BY AA.BRAND_GROUP_NO, AA.DISP_ORD DESC, AA.DIS
 		               )GOODS 
+		          WHERE CASE WHEN GOODS.GOODS_CD_CNT>1 THEN GOODS.DIS = 1 ELSE GOODS.DIS = 2 END  
 		        )RNK
 		   WHERE RNK.RNUM <![CDATA[<=]]> 100
 		)
@@ -1922,12 +1933,12 @@
 		      , C.COLOR_CHIPS                                                                                                      /*컬러칩*/
 		      , GB.ICON                                                                                                            /*혜택아이콘*/
 		       <choose>
-	                 <when test="custNo != null and custNo > 0"> <!-- 로그인 했으면 -->
-	             , IF(W.GOODS_CD IS NULL,'','likeit')                                                                AS LIKE_IT       /*위시리스트담긴상품*/
-	                 </when>
-	                 <otherwise>
-	             , ''                                                                                                AS LIKE_IT       /*위시리스트담긴상품*/
-	                 </otherwise>
+		                 <when test="custNo != null and custNo > 0"> <!-- 로그인 했으면 -->
+		             , IF(W.GOODS_CD IS NULL,'','likeit')                                                                AS LIKE_IT       /*위시리스트담긴상품*/
+		                 </when>
+		                 <otherwise>
+		             , ''                                                                                                AS LIKE_IT       /*위시리스트담긴상품*/
+		                 </otherwise>
 		      </choose>
 		FROM   TAB_BRAND_GOODS BG
 		LEFT OUTER JOIN TAB_GOODS_IMG GI ON BG.GOODS_CD = GI.GOODS_CD

BIN
src/main/webapp/WEB-INF/lib/Istyle-1.3.jar


+ 20 - 2
src/main/webapp/WEB-INF/views/mob/app/NoticeFormMob.html

@@ -3,6 +3,7 @@
 	xmlns:th="http://www.thymeleaf.org"
 	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
 	layout:decorator="mob/common/layout/AppLayoutMob">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <!--
  *******************************************************************************
  * @source  : NoticeFormMob.html
@@ -53,13 +54,22 @@
 			let pushListJosn = JSON.parse(orgPushList);
 			let html = '';
 			$.each(pushListJosn.pushList, function(idx, item) {
+				if (_osType === 'I') {
+					alert('fnDecodeUnicode :' + fnDecodeUnicode(item.title.toLowerCase()) + 'escape :' + escape(item.title)
+					 + ' unescape :' + unescape(item.title)
+					 + ' encodeURI:' + encodeURI(item.title)
+					 + ' decodeURI:' + decodeURI(item.title)
+					 + ' encodeURIComponent:' + encodeURIComponent(item.title)
+					 + ' decodeURIComponent:' + decodeURIComponent(item.title)
+					);
+				}
 				html += '<div class="inner">\n';
 				html += '    <a href="'+item.link+'">\n';
 				html += '        <dl>\n';
 				html += '            <dt class="tit">\n';
 				let title = '';
 				if (_osType === 'I') {
-					title = String.fromCharCode(parseInt(item.title),16);
+					title = fnDecodeUnicode(item.title.toLowerCase());
 				} else if(_osType === 'A') {
 					title = item.title;
 				}
@@ -68,7 +78,7 @@
 				html += '            <dd class="cont_txt">\n';
 				let content = '';
 				if (_osType === 'I') {
-					content = String.fromCharCode(parseInt(item.content),16);
+					content = fnDecodeUnicode(item.content.toLowerCase());
 				} else if(_osType === 'A') {
 					content = item.content;
 				}
@@ -106,6 +116,14 @@
 		return resultDate;
 	}
 
+
+	var fnDecodeUnicode = function(context) {
+		const regExp = /\\u([\d\w]{4})/gi;
+		context = context.replace(regExp, function (match, grp)
+		{ return String.fromCharCode(parseInt(grp, 16)); } );
+		return unescape(context);
+	}
+
 </script>
 
 </th:block>

+ 27 - 23
src/main/webapp/WEB-INF/views/mob/display/BrandMainFormMob.html

@@ -527,31 +527,35 @@
 		}
 	});
 
+	//210705_수정 : 기획전 배너 2개이상 등록시 슬라이드 각각 실행.
 	// post-bnnWide (210602_ 교체)
 	// 와이드배너 슬라이드 카운팅
-	var pickbnnWdCont = $('.post-bnnWide .swiper-slide');
-	var pickbnnWdLength = pickbnnWdCont.length;
-	if (pickbnnWdLength < 2) {
-		var post_bnnWide = new Swiper ('.swiper-container.post-bnnWide', {
-			speed: 1000,
-			loop: false,
-			autoplay: false,
-			pagination: false,
-		});
-	} else {
-		var post_bnnWide = new Swiper ('.swiper-container.post-bnnWide', {
-			loop: true,
-			slidesPerView: 1,
-			speed: 1000,
-			autoplay: {
-				delay: 4000,
-				disableOnInteraction: false,
-			},
-			pagination: {
-				el: '.swiper-pagination',
-			},
-		});
-	}
+	$(".main_1stage .post-bnnWide").each(function(index){
+		var pickbnnWdCont = $(this).find('.swiper-slide');
+		var pickbnnWdLength = pickbnnWdCont.length;
+		if (pickbnnWdLength < 2) {
+			var post_bnnWide = new Swiper ($(this), {
+				speed: 1000,
+				loop: false,
+				watchOverflow: true,
+				autoplay: false,
+				pagination: false,
+			});
+		} else {
+			var post_bnnWide = new Swiper ($(this), {
+				loop: true,
+				slidesPerView: 1,
+				speed: 1000,
+				autoplay: {
+					delay: 4000,
+					disableOnInteraction: false,
+				},
+				pagination: {
+					el: '.swiper-pagination',
+				},
+			});
+		}
+	});
 
 	// 뉴아이템 슬라이드
 	var newItemSwiper = new Swiper('.new_item .area_slider .swiper-container', {

+ 8 - 2
src/main/webapp/WEB-INF/views/mob/display/SearchLayerMob.html

@@ -620,7 +620,7 @@
 
 	// 검색어 찾기 결과
 	var fnAutoCompleteList = function (result){
-		if(result.autoKeywords.length==0 && result.brand == null && result.cateList == null && result.goodsList ==null){
+		if(result.autoKeywords.length==0 && gagajf.isNull(result.brand.brandGroupNo) && result.cateList.length == 0 && gagajf.isNull(result.goodsList)){
 			$("#keyupArea").hide();
 			$("#keyupCateArea").hide();
 			// $('.empty_box .nodata').find('#noDataKeyword').text("'"+$("#searchMainForm").find('input[name=keyword]').val()+"'");
@@ -642,10 +642,12 @@
 				});
 				tag += '</ul>\n';
 				$("#keyupArea").find(".relative-list").append(tag);
+			}else{
+				$("#keyupArea").find(".relative-list").html('');
 			}
 
 			// 브랜드
-			if(result.brand != null){
+			if(result.brand != null && !gagajf.isNull(result.brand.brandGroupNo)){
 				$("#keyupArea").find(".store-list").html('');
 				let tag = '';
 				tag += '<div class="f_left">\n';
@@ -655,6 +657,8 @@
 				tag += '	<a href="javascript:void(0);" onclick="cfnGoToBrandMain('+result.brand.brandGroupNo+');">바로가기</a>\n';
 				tag += '</div>\n';
 				$("#keyupArea").find(".store-list").append(tag);
+			}else{
+				$("#keyupArea").find(".store-list").html('');
 			}
 
 			if(result.cateList != null && result.cateList.length > 0){
@@ -702,6 +706,8 @@
 				tag += '</ul>\n';
 
 				$("#keyupCateArea").find(".sch_category").append(tag);
+			}else{
+				$("#keyupCateArea").find(".sch_category").html('');
 			}
 		}
 	}

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

@@ -266,7 +266,7 @@
 										<div>
 											<dt>포인트 사용</dt>
 											<th:block th:if="${pntDcSumAmt}>0">
-												<dd><div><span th:text="|- ${#numbers.formatInteger(pntDcSumAmt, 1, 'COMMA')}|"></span></div>P</dd>
+												<dd><div><span th:text="|- ${#numbers.formatInteger(pntDcSumAmt, 1, 'COMMA')}|"></span>P</div></dd>
 											</th:block>
 											<th:block th:if="${pntDcSumAmt}<1">
 												<dd><div><span>0</span>P</div></dd>

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

@@ -25,7 +25,7 @@
 
 <div class="foldGroup shipfold">
 	<ul>
-		<li>
+		<li class="fold_delivery">
 			<div class="fold_head">
 				<a href="javascript:void(0)">
 					<div>

+ 14 - 3
src/main/webapp/WEB-INF/views/mob/order/OrderFormMob.html

@@ -18,7 +18,6 @@
 
 <link rel="stylesheet" type="text/css" href="/ux/pc/css/swiper.min.css">
 <script type="text/javascript" src="/ux/pc/js/swiper.min.js"></script>
-<script type="text/javascript" src="/ux/pc/js/slick.min.js"></script>
 <script type="text/javascript" src="/ux/pc/js/jquery-ui.js"></script>
 
 <!-- payment.js -->
@@ -250,6 +249,8 @@
 					<div class="paymentinfo">
 						<div class="payinfo_blk_wrap">
 							<a href="javascript:void(0);">구매조건 확인 및 결제대행 서비스 약관 동의<span>보기</span></a>
+							
+							
 							<div class="payinfo_blk_parent">
 								<div class="payinfo_blk">
 									<a href="javascript:void(0);">개인정보 제공에 대한 동의<span>보기</span></a>
@@ -543,6 +544,13 @@ var entryInfoSet = 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");
+					$("#orderForm .entryNo").text("");
+					mcxDialog.alert("통관부호가 유효하지 않습니다. 다시 입력해주세요.");
+					return false;
+				} else if ($("#orderForm input[name=entryNo]").val().substr(0,1) != "P") {
+					$("#orderForm .t_err").show();
+					$("#orderForm input[name=entryNo]").addClass("err");
+					$("#orderForm .entryNo").text("");
 					mcxDialog.alert("통관부호가 유효하지 않습니다. 다시 입력해주세요.");
 					return false;
 				} else {
@@ -1488,8 +1496,8 @@ var dcAmtInfoSet = function() {
 							});
 							
 							// 최대할인혜택적용 체크해제
-							if ($("#chk-maxdisc01").is(":checked")) {
-								$("#chk-maxdisc01").trigger("click");
+							if ($("#chk-maxdisc").is(":checked")) {
+								$("#chk-maxdisc").trigger("click");
 							}
 							
 							$("#couponModifyPop .close-modal").trigger("click");				// 팝업닫기
@@ -2387,6 +2395,9 @@ var custCpnSumAmtCal = function() {
 			leftGfcdAmt		= leftGfcdAmt - gfcdUseAmt1;
 		}
 		
+		// 2021.07.08 할인금액 포인트사용, 상품권사용금액 적용
+		totDcSumAmt			= totDcSumAmt + pntDcAmt1 + gfcdUseAmt1;
+		
 		var realOrdAmt1		= ordAmt - dcSumAmt - pntDcAmt1 - gfcdUseAmt1;
 		var realOrdAmt2		= ordAmt - dcSumAmt - pntDcAmt1;
 		realOrdSumAmt		= realOrdSumAmt + realOrdAmt1;

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

@@ -17,7 +17,7 @@
 <th:block th:if="${freegiftList != null && #lists.size(freegiftList) > 0}">
 <div class="foldGroup">
 	<ul>
-		<li>
+		<li class="fold_selgift">
 			<div class="fold_head">
 				<a href="javascript:void(0)">
 					<div>
@@ -146,7 +146,7 @@ $(document).ready( function() {
 	}
 	
 	//사은품노출여부
-	freegiftInfoDispYn(dispYn);
+	freegiftInfoDispYn("Y");
 	
 	// 사은품시퀀스배열, 
 	var freegiftSqArr 		= [];

+ 3 - 3
src/main/webapp/WEB-INF/views/mob/order/OrderNoMemberMob.html

@@ -99,15 +99,15 @@
 								<label for="chk-nombPrivacy-agr"><span>비회원 개인정보 수집&#47;이용 동의&nbsp;&nbsp;<em class="tmark_required">(필수)</em></span></label>
 							</div>
 							<div>
-								(1) "iSTYLE24"는 비회원 주문의 경우에도 배송, 대금결제, 주문내역 조회 및 구매확인, 실명여부 확인을 위하여 필요한 개인정보만을 요청하고 있으며, 이 경우 그 정보는 대금결제 및 상품의 배송에 관련된 용도 이외에는 다른 어떠한 용도로도 사용되지 않습니다.<br>
+								(1) "STYLE24"는 비회원 주문의 경우에도 배송, 대금결제, 주문내역 조회 및 구매확인, 실명여부 확인을 위하여 필요한 개인정보만을 요청하고 있으며, 이 경우 그 정보는 대금결제 및 상품의 배송에 관련된 용도 이외에는 다른 어떠한 용도로도 사용되지 않습니다.<br>
 								(2) 비회원의 개인정보 수집/이용 목적 및 항목<br>
 								① 성명<br>
 								② 원활한 구매/판매 진행, 본인의사의 확인, 불만 및 분쟁처리, 고지 및 정보 안내 등 : 전화번호, 이동전화번호, e-mail<br>
 								③ 대금결제서비스의 제공 등 : 은행계좌정보, 신용카드정보<br>
 								④ 상품, 경품배송 : 주소, 전화번호, e-mail<br>
 								⑤ 부정 이용방지, 전자금융거래기록보관 : IP address, 방문일시<br>
-								(3) 비회원 서비스 이용의 경우에는 회원 서비스 내용을 제외한 "iSTYLE24" 개인정보 처리방침의 모든 내용이 동일하게 적용됩니다.<br>
-								(4) "iSTYLE24"는 회원의 개인정보와 동일한 수준으로 비회원의 개인정보를 보호합니다.
+								(3) 비회원 서비스 이용의 경우에는 회원 서비스 내용을 제외한 "STYLE24" 개인정보 처리방침의 모든 내용이 동일하게 적용됩니다.<br>
+								(4) "STYLE24"는 회원의 개인정보와 동일한 수준으로 비회원의 개인정보를 보호합니다.
 							</div>
 						</div>
 					</div>

+ 8 - 2
src/main/webapp/WEB-INF/views/mob/planning/PlanningShotGuideFormMob.html

@@ -189,7 +189,7 @@ if(shotBrandList.length>0){
 			html += '							<div class="itemPic">';
 			html += '								<img class="vLHTC pd_img" src="'+ _uploadGoodsUrl +'/'+item2.sysImgNm +'">';
 			html += '							</div>';
-			html += '							<p class="itemBrand">'+item2.brandGroupNm+'</p>';
+			html += '							<p class="itemBrand">'+item2.brandNm+'</p>';
 			html += '							<div class="itemName">'+item2.goodsNm+'</div>';
 			html += '							<p class="itemPrice">';
 			if (item2.currPrice != item2.listPrice) {
@@ -222,7 +222,13 @@ if(shotBrandList.length>0){
 				var iconGb = '';
 				var iconNm = '';
 				html += '	<p class="itemBadge">';
-				for(let i=0; i<iconArr.length; i++){
+				let arrCnt;
+				if (iconArr.length > 2) {
+					arrCnt = 3;
+				} else {
+					arrCnt = iconArr.length;
+				}
+				for(let i=0; i<arrCnt; i++){
 					var iconInfo = iconArr[i].split(":");
 					iconGb = iconInfo[0];
 					iconNm = iconInfo[1];

+ 3 - 0
src/main/webapp/WEB-INF/views/web/common/fragments/GnbWeb.html

@@ -251,6 +251,7 @@
 							} else if(item.contentsType == 'O'){
 								let outletCate = fnGetOutletCategory(item.gtabNm);
 								$('#divGnbTab').append(outletCate);
+								$('#ulGnbTab').append(outletCate);
 								// $('#divGnbTab').append('<li><a href="' + item.linkUrl + '">' + item.gtabNm + '</a></li>');
 								// $('#ulGnbTab').append('<li><a href="' + item.linkUrl + '">' + item.gtabNm + '</a></li>');
 								fnGetOutletLeafCategory(outletCate);
@@ -545,8 +546,10 @@
 			if (categoryWidth > 994 ){
 				bdList_index[i].style.display="none";
 				mrList_index[i].style.display="block";
+				return false;
 			}else if(categoryWidth < 993 ){
 				$('.more_category').css('display', 'none');
+				return false;
 			}
 			categoryWidth = $('#divGnbTab').outerWidth();
 		}

+ 0 - 1
src/main/webapp/WEB-INF/views/web/common/fragments/HeadWeb.html

@@ -73,7 +73,6 @@
 	<script src="/ux/pc/js/swiper.min.js"></script>
 	<script src="/ux/pc/js/ion.rangeSlider.min.js"></script>
 	<script src="/ux/pc/js/jquery.modal.min.js"></script>
-	<script src="/ux/pc/js/slick.min.js"></script>
 	<script src="/ux/pc/js/jquery-ui.js"></script>
 	<script src="/ux/plugins/jquery.serializeObject.min.js"></script>
 	<script src="/ux/pc/js/mcxdialog_ui.js"></script>

+ 34 - 29
src/main/webapp/WEB-INF/views/web/display/BrandMainFormWeb.html

@@ -514,7 +514,7 @@ $(document).ready( function() {
 		let firstLoc = '';
 		if(item.contentsLoc!='SBM001'&&item.contentsLoc!='SBM002'&&item.contentsLoc!='SBM003'){
 			firstLoc = item.contentsLoc;
-			if(firstLoc=='SBM004'){
+			if(firstLoc=='SBM004' && item.contentsCnt > 0){
 				return false;
 			}else{
 				$("#container").css('backgroundColor','#fff');
@@ -590,7 +590,6 @@ $(document).ready( function() {
 	}
 	/* //210503_수정 : 배너 2개 이상일시 자동 롤링 */
 
-
 	//VISUAL SLIDE Control - PAUSE
 	$(document).on('click','.brand_main .brand_visual .slide-curb-pause',function(e){
 		br_post_slide.autoplay.stop();
@@ -650,33 +649,39 @@ $(document).ready( function() {
 		$(".new_item .swiper-wrapper").css("transform","translateX(-"+ (slideWidth * newitemIndex) +"px)");
 	});
 
-	//210506_수정 : 기획전 배너 swiper 무한루프 변경.
-	var pickBnnCont = $('.post-bnnWide .swiper-slide');
-	var pickBnnLength = pickBnnCont.length;
-	if (pickBnnLength < 2) {
-		/* SLIDE - WIDE BANNER */
-		var br_bn_slide = new Swiper ('.brand_main .main_1stage .post-bnnWide', {
-			loop: false,
-			watchOverflow : true, //210503_추가 : 슬라이드 1개일때 롤링 막는 기능 추가.
-			slidesPerView: 1,
-			speed : 1000,
-			navigation: {
-				nextEl: '.main_1stage .swiper-button-next',
-				prevEl: '.main_1stage .swiper-button-prev',
-			},
-		});
-	}else{
-		/* SLIDE - WIDE BANNER */
-		var br_bn_slide = new Swiper ('.brand_main .main_1stage .post-bnnWide', {
-			loop: true,
-			slidesPerView: 1,
-			speed : 1000,
-			navigation: {
-				nextEl: '.main_1stage .swiper-button-next',
-				prevEl: '.main_1stage .swiper-button-prev',
-			},
-		});
-	}
+	//210705_수정 : 기획전 배너 2개이상 등록시 슬라이드 각각 실행.
+	$(".brand_main .main_1stage .post-bnnWide").each(function(index){
+		var pickBnnCont = $(this).find('.swiper-slide');
+		var pickBnnLength = pickBnnCont.length;
+		if (pickBnnLength < 2) {
+			/* SLIDE - WIDE BANNER */
+			var br_bn_slide = new Swiper ($(this), {
+				loop: false,
+				watchOverflow : true, //210503_추가 : 슬라이드 1개일때 롤링 막는 기능 추가.
+				slidesPerView: 1,
+				speed : 1000,
+				navigation: {
+					nextEl: '.main_1stage .swiper-button-next',
+					prevEl: '.main_1stage .swiper-button-prev',
+				},
+			});
+		}else{
+			/* SLIDE - WIDE BANNER */
+			var br_bn_slide = new Swiper ($(this), {
+				loop: true,
+				slidesPerView: 1,
+				speed : 1000,
+				autoplay: {
+					delay: 4000,
+					disableOnInteraction: false,
+				},
+				navigation: {
+					nextEl: '.main_1stage .swiper-button-next',
+					prevEl: '.main_1stage .swiper-button-prev',
+				},
+			});
+		}
+	});
 
 	/* SLIDE - BEST ITEMS */
 	var br_best_slide = new Swiper('.brand_main .best_item .swiper-container', {

+ 39 - 42
src/main/webapp/WEB-INF/views/web/display/MallMainFormWeb.html

@@ -1279,48 +1279,45 @@ var main_pick_lookbook = new Swiper ('.main_pick .post-lookbook', {
 	},
 });
 
-//210506_수정 : 기획전 배너 swiper 무한루프 변경.
-var pickBnnCont = $('.post-bnnWide .swiper-slide');
-var pickBnnLength = pickBnnCont.length;
-if (pickBnnLength < 2) {
-	/* SLIDE - MAIN_BANNER WIDE */
-	var main_bnnWide_slide = new Swiper ('.main_1stage .post-bnnWide', {
-		slidesPerView: 1,
-		speed : 1000,
-		initialSlide: 0,
-		loop: false,
-		watchOverflow: true, //loop와 함께 사용 불가.
-		autoplay: {
-			delay: 3000,
-			disableOnInteraction: false,
-		},
-		navigation: {
-			nextEl: '.main_1stage .swiper-button-next',
-			prevEl: '.main_1stage .swiper-button-prev',
-		},
-		// allowTouchMove : false,
-		// centeredSlides: true,
-	});
-}else{
-	/* SLIDE - MAIN_BANNER WIDE */
-	var main_bnnWide_slide = new Swiper ('.main_1stage .post-bnnWide', {
-		slidesPerView: 1,
-		speed : 1000,
-		initialSlide: 0,
-		loop: true,
-		watchOverflow: true, //loop와 함께 사용 불가.
-		autoplay: {
-			delay: 3000,
-			disableOnInteraction: false,
-		},
-		navigation: {
-			nextEl: '.main_1stage .swiper-button-next',
-			prevEl: '.main_1stage .swiper-button-prev',
-		},
-		// allowTouchMove : false,
-		// centeredSlides: true,
-	});
-}
+//210705_수정 : 기획전 배너 2개이상 등록시 슬라이드 각각 실행.
+$(".main_1stage .post-bnnWide").each(function(index){
+	var pickBnnCont = $(this).find('.swiper-slide');
+	var pickBnnLength = pickBnnCont.length;
+	if (pickBnnLength < 2) {
+		/* SLIDE - MAIN_BANNER WIDE */
+		var main_bnnWide_slide = new Swiper ($(this), {
+			slidesPerView: 1,
+			speed : 1000,
+			initialSlide: 0,
+			loop: false,
+			watchOverflow: true, //loop와 함께 사용 불가.
+			navigation: {
+				nextEl: '.main_1stage .swiper-button-next',
+				prevEl: '.main_1stage .swiper-button-prev',
+			},
+			// allowTouchMove : false,
+			// centeredSlides: true,
+		});
+	}else{
+		/* SLIDE - MAIN_BANNER WIDE */
+		var main_bnnWide_slide = new Swiper ($(this), {
+			slidesPerView: 1,
+			speed : 1000,
+			initialSlide: 0,
+			loop: true,
+			autoplay: {
+				delay: 4000,
+				disableOnInteraction: false,
+			},
+			navigation: {
+				nextEl: '.main_1stage .swiper-button-next',
+				prevEl: '.main_1stage .swiper-button-prev',
+			},
+			// allowTouchMove : false,
+			// centeredSlides: true,
+		});
+	}
+});
 
 /* SLIDE - MAIN_RECOMM */
 //MAIN_RECOMM_키워드 탭

+ 22 - 5
src/main/webapp/WEB-INF/views/web/display/SearchLayerWeb.html

@@ -169,7 +169,7 @@
 				<!-- //검색어 매칭 카테고리 있을 시 노출  -->
 			</div>
 
-			<div class="pd_list relate">
+			<div class="pd_list relate" id="relateGoodsDiv">
 				<h3>관련상품</h3>
 				<div class="realtime_wrap">
 					<div class="itemsGrp">
@@ -370,7 +370,6 @@
 
 		if (trendKeywordList.length > 0) {
 			$("#popularKeyArea").html('');
-			
 			trendKeywordList.forEach(function (item, idx) {
 				var tag = '';
 				if (idx < 10) {
@@ -380,6 +379,8 @@
 				}
 				$("#popularKeyArea").append(tag);
 			});
+		}else{
+			$("#popularKeyArea").html('');
 		}
 
 		//통합검색 - 검색어 입력 시
@@ -393,7 +394,7 @@
 
 	// 검색어 찾기 결과
 	var fnAutoCompleteList = function (result){
-		if(result.autoKeywords.length==0 && result.brand == null && result.cateList == null && result.goodsList ==null){
+		if(result.autoKeywords.length==0 && gagajf.isNull(result.brand.brandGroupNo) && result.cateList.length == 0 && gagajf.isNull(result.goodsList)){
 			$('.common_search .area_result .default_box').hide();
 			$('.common_search .area_result .searching_box').hide();
 			$('.common_search .area_result .empty_box').show();
@@ -413,14 +414,24 @@
 				});
 				tag += '</ul>\n';
 				$(".autokeyword_blk").append(tag);
+			}else{
+				$(".autokeyword_blk").html('');
+				let tag = '';
+				tag += '<ul>\n';
+				tag += '<li></li>\n';
+				tag += '</ul>\n';
+				$(".autokeyword_blk").append(tag);
 			}
 
-			if(result.brand != null){
+			if(result.brand != null && !gagajf.isNull(result.brand.brandGroupNo)){
 				$(".find_brand").html('');
 				let tag = '';
 				tag += '<h3><a href="javascript:void(0);" onclick="cfnGoToBrandMain('+result.brand.brandGroupNo+');">'+result.brand.brandGroupNm+' 샵 바로가기</a></h3>\n';
 				$(".find_brand").append(tag);
+			}else{
+				$(".find_brand").html('');
 			}
+
 			if(result.cateList != null && result.cateList.length > 0){
 				$(".find_category").html('');
 				let tag = '';
@@ -465,8 +476,11 @@
 				});
 				tag += '</ul>\n';
 				$(".find_category").append(tag);
+			}else{
+				$(".find_category").html('');
 			}
-			if(result.goodsList != null && result.goodsList.length > 0){
+			if(!gagajf.isNull(result.goodsList)){
+				$("#relateGoodsDiv").show();
 				$(".pd_list .realtime_wrap .itemsGrp").html('');
 				let tag = '';
 				$.each(result.goodsList, function (idx, item){
@@ -495,6 +509,9 @@
 				});
 
 				$(".pd_list .realtime_wrap .itemsGrp").append(tag);
+			}else{
+				$(".pd_list .realtime_wrap .itemsGrp").html('');
+				$("#relateGoodsDiv").hide();
 			}
 		}
 	}

+ 9 - 1
src/main/webapp/WEB-INF/views/web/mypage/MypageCreListFormWeb.html

@@ -22,7 +22,7 @@
 	<div class="content myOrderList"> <!-- 페이지특정 클래스 = myOrderList -->
 		<div class="cont_body">
 			<!-- CONT-BODY -->
-			<div class="lnb">
+			<div class="lnb" id="scrollInit">
 				<div class="lnb_tit">
 					<h2>마이페이지</h2>
 				</div>
@@ -226,11 +226,19 @@
 	}
 
 	// 주문 목록 조회 콜백
+	let index = 0;
 	var fnSearchCallback = function(result) {
 		$('#creList').html(fnCreateCreList(result));
 
+		if (index > 0){
+			var offset = $("#scrollInit").offset();
+			$('html, body').animate({scrollTop : offset.top-100}, 300);
+		}
+
 		// Create pagination
 		gagaPaging.createPagination(result.creInfo.pageable);
+
+		index++;
 	}
 
 	// 검색기간 설정 체크

+ 9 - 1
src/main/webapp/WEB-INF/views/web/mypage/MypageOrderListFormWeb.html

@@ -22,7 +22,7 @@
 	<div class="content myOrderList">
 		<div class="cont_body">
 			<!-- CONT-BODY -->
-			<div class="lnb">
+			<div class="lnb" id="scrollInit">
 				<div class="lnb_tit">
 					<h2>마이페이지</h2>
 				</div>
@@ -248,11 +248,19 @@
 	}
 
 	// 주문 목록 조회 콜백
+	let index = 0;
 	var fnSearchCallback = function(result) {
 		$('#orderList').html(fnCreateOrderList(result));
 
+		if (index > 0){
+			var offset = $("#scrollInit").offset();
+			$('html, body').animate({scrollTop : offset.top-100}, 300);
+		}
+
 		// Create pagination
 		gagaPaging.createPagination(result.orderInfo.pageable);
+		
+		index++;
 	}
 
 	// 검색기간 설정 체크

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

@@ -46,7 +46,7 @@
 					<th:block th:text="${deliveryAddrInfo.recipNm}"></th:block>
 					<span class="icon_tag"> 
 						<th:block th:if="${deliveryAddrInfo.defaultYn} == 'Y'">
-							<em class="tag gray">기본 배송지</em>
+							<em class="tag">기본 배송지</em>
 						</th:block> 
 						<em class="tag primary_line shotDelv" style="display:none;">총알배송</em>
 					</span>
@@ -199,6 +199,9 @@ $("#orderForm input[name=entryNo]").on("change", function(){
 	if ($(this).val().length > 0 && $(this).val().length < 13) {
 		$(this).parent().parent().find(".t_err").show();
 		$(this).addClass("err");
+	} else if ($("#orderForm input[name=entryNo]").val().substr(0,1) != "P") {
+		$(this).parent().parent().find(".t_err").show();
+		$(this).addClass("err");
 	} else {
 		$(this).parent().parent().find(".t_err").hide();
 		$(this).removeClass("err");

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

@@ -18,7 +18,6 @@
 
 <link rel="stylesheet" type="text/css" href="/ux/pc/css/swiper.min.css">
 <script type="text/javascript" src="/ux/pc/js/swiper.min.js"></script>
-<script type="text/javascript" src="/ux/pc/js/slick.min.js"></script>
 <script type="text/javascript" src="/ux/pc/js/jquery-ui.js"></script>
 
 <!-- payment.js -->

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

@@ -18,7 +18,6 @@
 
 <link rel="stylesheet" type="text/css" href="/ux/pc/css/swiper.min.css">
 <script type="text/javascript" src="/ux/pc/js/swiper.min.js"></script>
-<script type="text/javascript" src="/ux/pc/js/slick.min.js"></script>
 <script type="text/javascript" src="/ux/pc/js/jquery-ui.js"></script>
 
 <!-- payment.js -->

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

@@ -132,7 +132,7 @@ $(document).ready( function() {
 	}
 	
 	//사은품노출여부
-	freegiftInfoDispYn(dispYn);
+	freegiftInfoDispYn("Y");
 	
 	// 사은품시퀀스배열, 
 	var freegiftSqArr 		= [];

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

@@ -118,15 +118,15 @@
 						<div class="agree_nomb_txt_box">
 							<div>
 								<!-- 내용 -->
-								(1) "iSTYLE24"는 비회원 주문의 경우에도 배송, 대금결제, 주문내역 조회 및 구매확인, 실명여부 확인을 위하여 필요한 개인정보만을 요청하고 있으며, 이 경우 그 정보는 대금결제 및 상품의 배송에 관련된 용도 이외에는 다른 어떠한 용도로도 사용되지 않습니다.<br>
+								(1) "STYLE24"는 비회원 주문의 경우에도 배송, 대금결제, 주문내역 조회 및 구매확인, 실명여부 확인을 위하여 필요한 개인정보만을 요청하고 있으며, 이 경우 그 정보는 대금결제 및 상품의 배송에 관련된 용도 이외에는 다른 어떠한 용도로도 사용되지 않습니다.<br>
 								(2) 비회원의 개인정보 수집/이용 목적 및 항목<br>
 								① 성명<br>
 								② 원활한 구매/판매 진행, 본인의사의 확인, 불만 및 분쟁처리, 고지 및 정보 안내 등 : 전화번호, 이동전화번호, e-mail<br>
 								③ 대금결제서비스의 제공 등 : 은행계좌정보, 신용카드정보<br>
 								④ 상품, 경품배송 : 주소, 전화번호, e-mail<br>
 								⑤ 부정 이용방지, 전자금융거래기록보관 : IP address, 방문일시<br>
-								(3) 비회원 서비스 이용의 경우에는 회원 서비스 내용을 제외한 "iSTYLE24" 개인정보 처리방침의 모든 내용이 동일하게 적용됩니다.<br>
-								(4) "iSTYLE24"는 회원의 개인정보와 동일한 수준으로 비회원의 개인정보를 보호합니다.
+								(3) 비회원 서비스 이용의 경우에는 회원 서비스 내용을 제외한 "STYLE24" 개인정보 처리방침의 모든 내용이 동일하게 적용됩니다.<br>
+								(4) "STYLE24"는 회원의 개인정보와 동일한 수준으로 비회원의 개인정보를 보호합니다.
 								<!-- //내용 -->
 							</div>   
 						</div>
@@ -163,7 +163,7 @@ $(document).ready( function() {
 	$("#orderForm input[name=email]").val("email@email.com");
 	$("#orderForm input[name=recipZipcode]").val("13245");
 	$("#orderForm input[name=recipBaseAddr]").val("서울시 영등포구 은행로 11, 8층(여의도동, 일신빈딩)");
-	$("#orderForm input[name=recipDtlAddr]").val("8층 ISTYLE24 개발실");
+	$("#orderForm input[name=recipDtlAddr]").val("8층 STYLE24 개발실");
 	$("#orderForm input[name=recipAddr]").val("13245" + '    ' + "서울시 영등포구 은행로 11, 8층(여의도동, 일신빈딩)");
 	*/
 });

+ 8 - 2
src/main/webapp/WEB-INF/views/web/planning/PlanningShotGuideFormWeb.html

@@ -189,7 +189,7 @@ if(shotBrandList.length>0){
 				html += '                             <div class="itemPic">';
 				html += '                                 <img alt="BLUE-a" class=" vLHTC pd_img" src="'+ _uploadGoodsUrl +'/'+item2.sysImgNm +'">';
 				html += '                             </div>';
-				html += '                             <p class="itemBrand">'+item2.brandGroupNm+'</p>';
+				html += '                             <p class="itemBrand">'+item2.brandNm+'</p>';
 				html += '                             <div class="itemName">'+item2.goodsNm+'</div>';
 				html += '                             <p class="itemPrice">'+item2.currPrice.addComma();
 				if (item2.currPrice != item2.listPrice) {
@@ -221,7 +221,13 @@ if(shotBrandList.length>0){
 					var iconGb = '';
 					var iconNm = '';
 					html += '	<p class="itemBadge">';
-					for(let i=0; i<iconArr.length; i++){
+					let arrCnt;
+					if (iconArr.length > 2) {
+						arrCnt = 3;
+					} else {
+						arrCnt = iconArr.length;
+					}
+					for(let i=0; i<arrCnt; i++){
 						var iconInfo = iconArr[i].split(":");
 						iconGb = iconInfo[0];
 						iconNm = iconInfo[1];

+ 0 - 397
src/main/webapp/ux/pc/js/common-ui_back210202.js

@@ -1,397 +0,0 @@
-/* *******************************************
-
- [1][ prefix ]
-	 uifn_ 
-
- [2][ index ]
-	 1. Variables (전역변수)
-	 2. Init    (초기설정)
-	 3. Utility (유틸리티)
-	 4. Custom  (라이브러리 커스텀)
-	 5. Content (컨텐츠)
-
- [3][ update ]
-	 2020.12.02  FOOT area - popup, family site, scrollTop
-	 2020.12.10  FORM - check-All, input-File-Add, Select Custom
-
-******************************************* */
-/* * * * * * * * * * * * * * * * * * * * * * 
-
-(1) Variables (전역변수)
-
-* * * * * * * * * * * * * * * * * * * * * */
-
-
-
-
-
-/* * * * * * * * * * * * * * * * * * * * * * * 
-
-2. Init    (초기설정)
-
-* * * * * * * * * * * * * * * * * * * * * */
-
-
-
-
-
-/* * * * * * * * * * * * * * * * * * * * * * * 
-
-3. Utility (유틸리티)
-
-* * * * * * * * * * * * * * * * * * * * * */
-
-
-// FORM
-// input-File-Add
-$(document).ready(function() {
-	if (window.File && window.FileList && window.FileReader) {
-		$("#fileAdd").on("change", function(e) {
-			var files = e.target.files,
-				filesLength = files.length;
-			for (var i = 0; i < filesLength; i++) {
-				var f = files[i]
-				var fileReader = new FileReader();
-				fileReader.onload = (function(e) {
-					var file = e.target;
-					$("<span class=\"pics\">" +
-						"<img class=\"picsThumbs\" src=\"" + e.target.result + "\" title=\"" + file.name + "\"/>" +
-						"<br/><span class=\"removes\">Removes image</span>" +
-						"</span>").insertAfter("#fileAdd");
-					$(".removes").click(function(){
-						$(this).parent(".pics").remove();
-					});
-				});
-			fileReader.readAsDataURL(f);
-			}
-		});
-	} else {
-		alert("브라우저가 File API를 지원하지 않습니다.")
-	}
-});
-// input-File-Adds
-$(document).ready(function() {
-	if (window.File && window.FileList && window.FileReader) {
-		$("#fileAdds").on("change", function(e) {
-			var files = e.target.files,
-				filesLength = files.length;
-			for (var i = 0; i < filesLength; i++) {
-				var f = files[i]
-				var fileReader = new FileReader();
-				fileReader.onload = (function(e) {
-					var file = e.target;
-					$("<span class=\"pics\">" +
-						"<img class=\"picsThumbs\" src=\"" + e.target.result + "\" title=\"" + file.name + "\"/>" +
-						"<br/><span class=\"removes\">Removes image</span>" +
-						"</span>").insertAfter("#fileAdds");
-					$(".removes").click(function(){
-						$(this).parent(".pics").remove();
-					});
-				});
-			fileReader.readAsDataURL(f);
-			}
-		});
-	} else {
-		alert("브라우저가 File API를 지원하지 않습니다.")
-	}
-});
-
-
-// check-All
-$( document ).ready(function() {
-	var $chkAll = $('.check-all');
-		$chkAll.change(function () {
-			var checked = $(this).prop('checked'); 
-			$('input[name="dd"]').prop('checked', checked);
-		});
-		
-	var ddChk = $('input[name="dd"]');
-	ddChk.change(function () {
-			var ddChkLength = ddChk.length;
-			var checkedLength = $('input[name="dd"]:checked').length;
-			var selectAll = (ddChkLength == checkedLength);
-			$chkAll.prop('checked', selectAll);
-		});
-});
-
-//Select Custom
-$( document ).ready(function() {
-	$('select').each(function(){
-		var $this = $(this), numberOfOptions = $(this).children('option').length;
-	
-		$this.addClass('select_hidden'); 
-		$this.wrap('<div class="select"></div>');
-		$this.after('<div class="select_dress"></div>');
-
-		var $dressSelect = $this.next('div.select_dress');
-		$dressSelect.text($this.children('option').eq(0).text());
-	
-		var $selList = $('<ul />', {
-			'class': 'select_options'
-		}).insertAfter($dressSelect);
-	
-		for (var i = 0; i < numberOfOptions; i++) {
-			$('<li />', {
-				text: $this.children('option').eq(i).text(),
-				rel: $this.children('option').eq(i).val()
-			}).appendTo($selList);
-		}
-	
-		var $selListItems = $selList.children('li');
-	
-		$dressSelect.click(function(e) {
-			e.stopPropagation();
-			$('div.select_dress.active').not(this).each(function(){
-				$(this).removeClass('active').next('ul.select_options').hide();
-			});
-			$(this).toggleClass('active').next('ul.select_options').toggle();
-		});
-	
-		$selListItems.click(function(e) {
-			e.stopPropagation();
-			$dressSelect.text($(this).text()).removeClass('active');
-			$this.val($(this).attr('rel'));
-			$selList.hide();
-			//console.log($this.val());
-		});
-	
-		$(document).click(function() {
-			$dressSelect.removeClass('active');
-			$selList.hide();
-		});
-
-	});
-});
-
-
-// selectBrand on/off
-$( document ).ready( function() {
-	$("#selectBrand .brandbox input").on("click", function() {
-		$("#selectBrand .brandbox input").removeClass("on");
-		$(this).addClass("on");
-	});
-});
-
-
-/* alert */
-$(function(){
-	$('.alertCls').click(function(){
-    setTimeout(function(){
-     $('.alert').css('animation', 'none');
-		$('.alert').css('display', 'none');
-    }, 300);
-    // uifn_currCallback();
-  });
-});
-
-
-
-/* * * * * * * * * * * * * * * * * * * * * * * 
-
-4. Custom  (라이브러리 커스텀)
-
-* * * * * * * * * * * * * * * * * * * * * */
-
-$( document ).ready(function() {
-//datepicker 
-$.datepicker.regional['kr'] = {
-	dateFormat: 'yy-mm-dd' // 날짜 포맷 설정
-};
-
-$.datepicker.setDefaults($.datepicker.regional['kr']);
-});
-
-
-
-/* * * * * * * * * * * * * * * * * * * * * * * 
-
-5. Content (컨텐츠)
-
-* * * * * * * * * * * * * * * * * * * * * */
-
-$( document ).ready(function() {
-
-	var footerH = $("#footer").outerHeight();
-	var fixedH = $(".fixed_btns").outerHeight();
-	var limitH = ((footerH+fixedH)-8);
-
-	uifn_bottomfloat($(".fixed_btns"), footerH);
-	$(window).on('scroll', function(){
-		uifn_bottomfloat($(".fixed_btns"), footerH);
-	});
-
-	uifn_popupCtr();
-	uifn_familyCtr();
-
-	//popup
-	function uifn_popupCtr() {
-		var popupArea = $(".popup-area");
-		
-		if(popupArea.css('display') == 'block'){
-			popupArea.show();
-			document.body.classList.add("stop-scroll");
-		};
-	
-		popupArea.find(".close").click(function(){
-			popupArea.css('display','none');
-			document.body.classList.remove("stop-scroll");
-		});
-	};
-	
-	// family site
-	function uifn_familyCtr(){
-		$('.family-area').click(function(e){
-			$('.family-area').toggleClass('on');
-		});
-	}
-});
-
-// scrollTop
-function uifn_bottomfloat(object, num) {
-	var bottom = $(document).height() - $(window).height() - $(document).scrollTop();
-
-	if (bottom > num) {
-		object.removeClass("off");
-	} else if (bottom <= num) {
-		object.addClass("off");
-	} else {
-		object.removeClass("off");
-	}
-}
-/* PANEL FUNCTIONS */
-function panel_collapse(panel,action,callback){
-
-    if(panel.hasClass("panel-toggled")){        
-        panel.removeClass("panel-toggled");
-        
-        panel.find(".panel-collapse .fa-angle-up").removeClass("fa-angle-up").addClass("fa-angle-down");
-
-        if(action && action === "shown" && typeof callback === "function")
-            callback();            
-
-        onload();
-                
-    }else{
-        panel.addClass("panel-toggled");
-                
-        panel.find(".panel-collapse .fa-angle-down").removeClass("fa-angle-down").addClass("fa-angle-up");
-
-        if(action && action === "hidden" && typeof callback === "function")
-            callback();
-
-        onload();        
-        
-    }
-}
-
-
-/* cs_acodian */
-$(document).ready( function() {
-	$('.cs .foldGroup .fold_head').on('click',function(e){
-		e.preventDefault();
-		$(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
-		$(this).toggleClass('on');
-	});	
-});
-/* //cs_acodian */
-
-/* mb_acodian,mb_tapMenu */
-$(document).ready( function() {
-
-	$('.mb .foldGroup.checkcase').on('click','.fold_head',function(e){
-		e.preventDefault();
-		$(this).parents('.foldGroup li').find('.fold_cont').slideDown(100);
-		$(this).addClass('on');
-		$('.foldGroup.checkcase .fold_head').not(this).removeClass('on').next('.fold_cont').slideUp(100);
-	}).on('click','.fold_head.on',function(e){
-		e.preventDefault();
-		$(this).removeClass('on');
-		$(this).next('.fold_cont').slideUp(100);
-	});
-
-	function resetFold() {
-		$('.foldGroup.checkcase .fold_head').removeClass('on').next('.fold_cont').hide();
-	};	
-	var navTaps = $('.registration_nav ul li');
-	var	tapPanels = $('.registration_tap .form_group');
-	navTaps.click(function(){
-		resetFold();
-		$(this).addClass('active').siblings().removeClass('active');
-		tapPanels.hide();		
-		tapPanels.eq($(this).index()).show();
-	});
-	navTaps.eq(0).trigger('click');	
-
-});    
-/* //mb_acodian,mb_tapMenu */
-
-/* od_acodian */
-$(document).ready( function() {
-	$('.od .foldGroup .fold_head').on('click',function(e){
-		e.preventDefault();
-		$(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
-		$(this).toggleClass('on');
-	});	
-});
-/* //od_acodian */
-
-/* dropDownMenu */
-$(document).ready(function(){
-	$(".tgl_dropdown").click(function(){
-		$(this).next(".dropdown_menu").slideToggle(300, function() {
-		});
-	$(this).toggleClass('on');
-	});
-});
-/* //dropDownMenu */
-
-/* 드래그 스크롤 */
-$(function(){
-	var x,left,down;
-	$(".bullet_sticky_nav ul").mousedown(function(e){
-	e.preventDefault();
-	down = true;
-	x = e.pageX;
-	left = $(this).scrollLeft();
-	});
-
-	$("body").mousemove(function(e){
-	if(down){
-		var newX = e.pageX;
-		$(".bullet_sticky_nav ul").scrollLeft(left - newX + x);
-	}
-	});
-	$("body").mouseup(function(e){down = false;});
-});
-/* //드래그 스크롤 */
-
-/* 전시 팝업 */
-$(function(){
-	$("#coupon_pop").click(function() {
-		$("#coupon_modal_01").modal("show");
-	});					 
-	$("#coupon_pop").click(function() {
-		$("#coupon_modal_01").modal("hide");
-	});
-	$("#coupon_pop2").click(function() {
-		$("#coupon_modal_02").modal("show");
-	});					 
-	$("#coupon_pop2").click(function() {
-		$("#coupon_modal_02").modal("hide");
-	});
-});
-/* //전시 팝업 */
-
-/* 같은 데이터 노출시 동일 영역끼리 병합 */
-$(document).ready( function() {
-	$(".merge_row").each(function() {
-		var txt = $(this).text();
-		var rows = $(this).parents("table").find(".merge_row:contains('" + txt + "')");
-		//var rows = $(".merge_row:contains('" + $(this).text() + "')");
-		if (rows.length > 1) {
-			rows.eq(0).attr("rowspan", rows.length);
-			rows.not(":eq(0)").remove();
-		}
-	});   
-});
-/* //같은 데이터 노출시 동일 영역끼리 병합 */

Plik diff jest za duży
+ 0 - 1
src/main/webapp/ux/pc/js/jquery-3.5.1.min.js


Plik diff jest za duży
+ 5 - 0
src/main/webapp/ux/pc/js/jquery-ui.min.js


Plik diff jest za duży
+ 0 - 0
src/main/webapp/ux/pc/js/slick.min.js


Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików