Преглед изворни кода

Merge remote-tracking branch 'origin/jsh77b' into card007

# Conflicts:
#	src/main/webapp/WEB-INF/views/web/order/OrderDelvAddrChangePopWeb.html
card007 пре 5 година
родитељ
комит
3271fca4c6
20 измењених фајлова са 547 додато и 429 уклоњено
  1. 10 20
      src/main/java/com/style24/front/biz/service/TsfCartService.java
  2. 2 2
      src/main/java/com/style24/front/biz/service/TsfCouponService.java
  3. 117 111
      src/main/java/com/style24/persistence/mybatis/shop/TsfCart.xml
  4. 1 0
      src/main/java/com/style24/persistence/mybatis/shop/TsfCoupon.xml
  5. 54 9
      src/main/webapp/WEB-INF/views/web/cart/CartListAjaxFormWeb.html
  6. 10 19
      src/main/webapp/WEB-INF/views/web/cart/CartListFormWeb.html
  7. 1 1
      src/main/webapp/WEB-INF/views/web/cart/CartListFormWeb_20210319.html
  8. 1 1
      src/main/webapp/WEB-INF/views/web/common/layout/MypageLayoutWeb.html
  9. 8 2
      src/main/webapp/WEB-INF/views/web/order/OrderCouponApplyPopWeb.html
  10. 28 36
      src/main/webapp/WEB-INF/views/web/order/OrderDelvAddrAddPopWeb.html
  11. 6 6
      src/main/webapp/WEB-INF/views/web/order/OrderDelvAddrChangePopWeb.html
  12. 105 119
      src/main/webapp/WEB-INF/views/web/order/OrderDelvAddrModifyPopWeb.html
  13. 50 57
      src/main/webapp/WEB-INF/views/web/order/OrderDelvMemoChangePopWeb.html
  14. 135 27
      src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html
  15. 1 1
      src/main/webapp/WEB-INF/views/web/order/OrderFormWeb_20210317.html
  16. 2 2
      src/main/webapp/WEB-INF/views/web/order/OrderFormWeb_20210318.html
  17. 1 1
      src/main/webapp/WEB-INF/views/web/order/OrderFormWeb_2021031801.html
  18. 15 15
      src/main/webapp/WEB-INF/views/web/order/OrderPaymentInfoWeb.html
  19. 0 0
      src/main/webapp/biz/mypage.js
  20. 0 0
      src/main/webapp/biz/payment.js

+ 10 - 20
src/main/java/com/style24/front/biz/service/TsfCartService.java

@@ -336,9 +336,6 @@ public class TsfCartService {
 				if (cart.getTmtbDcAmt() == 0) {
 					cart.setTmtbDcAmt(cart.getCurrPrice());
 				}
-
-				log.info("CHECK TMTB_DC_AMT :::: {} / {}", cart.getCartSq(), cart.getTmtbDcAmt());
-				log.info("CHECK TMTB_INFO   :::: {} / {}", cart.getApplyQtySectionYn(), cart.getApplyAmtSectionYn());
 			}
 		}
 
@@ -664,47 +661,40 @@ public class TsfCartService {
 			lastCompCheck.setAddDelvFeeYn("Y");
 		}
 
+		int wmsSumPrice = 0, wmsMinOrdAmt = 0, wmsDelvFee = 0;
+
 		// 장바구니 업체별 합계 금액으로 무료배송 여부 저장
-		for (Order delv : delvFeeInfo) {
-			for (Order param : params) {
+		for (Order param : params) {
+			// 입점업체 배송비
+			for (Order delv : delvFeeInfo) {
 				if (param.getDelvFeeCd().equals(delv.getDelvFeeCd()) && !"WMS".equals(param.getDelvFeeCd())) {
 					param.setCompCnt(delv.getCompCnt());
 					if (TscConstants.DelvFeeCrite.FREE.value().equals(delv.getDelvFeeCrite())) {
 						param.setDelvFee(0);
-						delv.setFormalGb("TEST1");
 					} else if (TscConstants.DelvFeeCrite.NORMAL.value().equals(delv.getDelvFeeCrite()) && delv.getCompSumPrice() > delv.getMinOrdAmt()) {
 						param.setDelvFee(0);
-						delv.setFormalGb("TEST2");
 					} else {
 						param.setDelvFee(delv.getDelvFee());
-						delv.setFormalGb("TEST3");
 					}
 				}
 			}
-		}
 
-		int wmsSumPrice = 0;
-		for(Order param : params) {
+			// 자사 상품 가격 계산
 			if("WMS".equals(param.getDelvFeeCd())) {
 				if("N".equals(param.getSoldoutYn())) {
 					wmsSumPrice = wmsSumPrice + param.getCurrPrice();
+					wmsMinOrdAmt = param.getMinOrdAmt();
+					wmsDelvFee = param.getDelvFee();
 				}
 			}
 		}
 
-		// 자사 무료배송비 기준 조회
-		Envset wmsDelvFee = new Envset();
-		wmsDelvFee.setSiteCd(TscConstants.Site.STYLE24.value());
-		wmsDelvFee.setEnvsetType("O10");
-		wmsDelvFee = coreEnvsetDao.getEnvset(wmsDelvFee);
-		int wmsLimitDelvFee = Integer.parseInt(wmsDelvFee.getStrSetVal3());
-
 		// 자사 배송비 등록
 		if(params.size() > 0) {
-			if (wmsSumPrice > wmsLimitDelvFee) {
+			if (wmsSumPrice > wmsMinOrdAmt) {
 				order.setWmsDelvFee(0);
 			} else {
-				order.setWmsDelvFee(2500);
+				order.setWmsDelvFee(wmsDelvFee);
 			}
 		}
 	}

+ 2 - 2
src/main/java/com/style24/front/biz/service/TsfCouponService.java

@@ -65,8 +65,6 @@ public class TsfCouponService {
 	 * @since 2021. 02. 16
 	 */
 	public Coupon serialCpnApplyInfo(Coupon param) {
-
-		// TODO 로그인 정보 입력
 		if (TsfSession.isLogin()) {
 			Login login = TsfSession.getInfo();
 			param.setCustNo(login.getCustNo());
@@ -112,6 +110,8 @@ public class TsfCouponService {
 		}
 
 		Coupon dtData = couponDao.getSerialCpnUseInfo(cpn);
+		cpn.setAvailStdtTime(cpn.getAvailStdt());
+		cpn.setAvailEddtTime(cpn.getAvailEddt());
 		cpn.setAvailStdt(dtData.getAvailStdt());
 		cpn.setAvailEddt(dtData.getAvailEddt());
 

+ 117 - 111
src/main/java/com/style24/persistence/mybatis/shop/TsfCart.xml

@@ -513,6 +513,8 @@
 			 , Z.GOODS_TYPE
 			 , Z.SUPPLY_COMP_CD
 			 , Z.DELV_FEE_CD
+		     , Z.MIN_ORD_AMT
+		     , Z.DELV_FEE
 			 , Z.CART_DELV_FEE_CD
 			 , (Z.CURR_PRICE + SUM(Z.OPT_ADD_PRICE)) * Z.GOODS_QTY AS CURR_PRICE
 			 , (Z.LIST_PRICE + SUM(Z.OPT_ADD_PRICE)) * Z.GOODS_QTY AS LIST_PRICE
@@ -521,119 +523,121 @@
 					ELSE (Z.CURR_PRICE * Z.GOODS_QTY) * (Z.PNT_MRATE/100) END AS SAVE_PNT_AMT
 			 , SYS_IMG_NM
 		FROM   (SELECT C.CART_SQ
-					 , C.GOODS_CD
-					 , C.GOODS_QTY
-					 , CD.ITEM_CD
-					 , CD.OPT_CD
-					 , CD.ITEM_QTY
-					 , CD.CART_DTL_SQ
-					 , IFNULL((SELECT COLOR_KNM FROM TB_COLOR C WHERE COLOR_CD = IFNULL(NULLIF(O.OPT_CD1,'') , G.MAIN_COLOR_CD ) AND USE_YN  = 'Y'), O.OPT_CD1) AS COLOR_NM
+		             , C.GOODS_CD
+		             , C.GOODS_QTY
+		             , CD.ITEM_CD
+		             , CD.OPT_CD
+		             , CD.ITEM_QTY
+		             , CD.CART_DTL_SQ
+		             , IFNULL((SELECT COLOR_KNM FROM TB_COLOR C WHERE COLOR_CD = IFNULL(NULLIF(O.OPT_CD1,'') , G.MAIN_COLOR_CD ) AND USE_YN  = 'Y'), O.OPT_CD1) AS COLOR_NM
 		             , O.OPT_CD1
-					 , O.OPT_CD2
-					 , G.GOODS_TYPE
-					 , G.SUPPLY_COMP_CD
-					 , G.GOODS_NM
-					 , G.BRAND_CD
-					 , G.PNT_PRATE
-					 , G.PNT_MRATE
-					 , STOCK.SOLDOUT_YN
-					 , FN_GET_APPLY_CPN1_PRICE(C.GOODS_CD, #{frontGb}) AS CURR_PRICE
+		             , O.OPT_CD2
+		             , G.GOODS_TYPE
+		             , G.SUPPLY_COMP_CD
+		             , G.GOODS_NM
+		             , G.BRAND_CD
+		             , G.PNT_PRATE
+		             , G.PNT_MRATE
+		             , STOCK.SOLDOUT_YN
+		             , FN_GET_APPLY_CPN1_PRICE(C.GOODS_CD, #{frontGb}) AS CURR_PRICE
 		             , G.LIST_PRICE
-					 , IFNULL(O.ADD_PRICE, 0) AS OPT_ADD_PRICE
-					 , BR.BRAND_ENM
-					 , BR.BRAND_KNM
-					 , CT.CUST_GRADE
-					 , CASE WHEN GOG.CUST_GRADE IS NOT NULL AND GOG.CUST_GRADE = IFNULL(CT.CUST_GRADE, '') THEN GOG.CUST_GRADE
-							WHEN GOG.CUST_GRADE IS NOT NULL THEN 'NO'
-							ELSE CT.CUST_GRADE END AS ORDER_GRADE
-					 , (SELECT SUPPLY_COMP_NM FROM TB_SUPPLY_COMPANY WHERE SUPPLY_COMP_CD = G.SUPPLY_COMP_CD) AS SUPPLY_COMP_NM
-					 , (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = CD.ITEM_CD) AS ITEM_NM
-					 , CASE WHEN G.SELF_GOODS_YN = 'Y' THEN 'WMS'
-							ELSE DFP.DELV_FEE_CD END AS DELV_FEE_CD
-					 , CASE WHEN GQDS.GOODS_CD IS NULL AND G.SELF_GOODS_YN = 'Y' THEN 'SHOT'
-							WHEN G.SELF_GOODS_YN = 'Y' THEN 'WMS'
-							ELSE DFP.DELV_FEE_CD END AS CART_DELV_FEE_CD
-					 , CASE WHEN C.CUST_NO > 0 AND (SELECT IFNULL(SUM(OD.ORD_QTY), 0)
-													FROM   TB_ORDER_DETAIL OD
-													INNER  JOIN TB_ORDER O
-													ON     OD.ORD_NO = O.ORD_NO
-													WHERE  O.CUST_NO = C.CUST_NO
-													AND    OD.ORD_EXCH_GB = 'O'
-													AND    OD.ORD_DTL_STAT <![CDATA[ <> ]]> 'G013_00'
-													AND    OD.ORD_DTL_STAT <![CDATA[ <> ]]> 'G013_98'
-													AND    OD.ORD_DTL_STAT <![CDATA[ <> ]]> 'G013_99'
-													AND    OD.GOODS_CD = C.GOODS_CD
-													AND    DATE(ORD_DT) = CURRENT_DATE) + C.GOODS_QTY > G.DAY_MAX_ORD_QTY THEN 1 ELSE 0 END CUST_TODAY_ORD
-					 , CASE WHEN C.CUST_NO = 0 AND C.GOODS_QTY > G.DAY_MAX_ORD_QTY THEN 1 ELSE 0 END AS NOCUST_TODAY_ORD
-					 /*, CASE WHEN G.GOODS_TYPE != 'G056_S' AND G.SELF_GOODS_YN = 'Y' THEN (SELECT SYS_IMG_NM FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = CD.OPT_CD1 AND DEFAULT_IMG_YN = 'Y' LIMIT 1)
-							ELSE (SELECT SYS_IMG_NM FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = G.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y' LIMIT 1) END AS SYS_IMG_NM*/
-					 /* , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') AS SYS_IMG_NM */
-					 , CASE WHEN G.GOODS_TYPE != 'G056_S' AND G.SELF_GOODS_YN = 'Y' THEN (SELECT SYS_IMG_NM FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = CD.OPT_CD1 AND DEFAULT_IMG_YN = 'Y' LIMIT 1)
-							ELSE (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y' LIMIT 1) END AS SYS_IMG_NM
-				FROM   TB_CART C
-				INNER  JOIN TB_CART_DETAIL CD
-				ON     C.CART_SQ = CD.CART_SQ
-				INNER  JOIN TB_GOODS G
-				ON     C.GOODS_CD = G.GOODS_CD
-				INNER  JOIN TB_BRAND BR 
-				ON     G.BRAND_CD = BR.BRAND_CD
-				INNER  JOIN TB_DELV_FEE_POLICY DFP
-				ON     G.DELV_FEE_CD = DFP.DELV_FEE_CD
-				INNER  JOIN TB_OPTION O
-				ON     CD.ITEM_CD = O.GOODS_CD
-				AND    CD.OPT_CD = O.OPT_CD
-				INNER  JOIN (   SELECT A.CART_SQ
-									 , MAX(A.SOLDOUT_YN) AS SOLDOUT_YN
-								FROM   (SELECT C.CART_SQ
-											 , CASE WHEN VS.SOLDOUT_YN = 'N' AND VS.CURR_STOCK_QTY >= C.GOODS_QTY * GC.QTY THEN 'N'
-													ELSE 'Y' END AS SOLDOUT_YN
-										FROM   TB_CART C
-										INNER  JOIN TB_CART_DETAIL CD
-										ON	 C.CART_SQ = CD.CART_SQ
-										INNER  JOIN TB_GOODS G
-										ON	 C.GOODS_CD = G.GOODS_CD
-										INNER  JOIN TB_GOODS_COMPOSE GC
-										ON	 C.GOODS_CD = GC.GOODS_CD
-										AND	CD.ITEM_CD = GC.COMPS_GOODS_CD
-										INNER  JOIN VW_STOCK VS
-										ON	 CD.ITEM_CD = VS.GOODS_CD
-										AND	CD.OPT_CD = VS.OPT_CD
-										WHERE  1=1
-										AND	C.CART_GB = 'G026_BC'
-										AND	G.GOODS_STAT = 'G008_90'
-										AND	G.SELF_MALL_YN = 'Y'
-										<if test="custNo == 0">
-											AND	C.CUST_NO = 0
-											AND	C.JSESSION_ID = #{jsessionId}
-										</if>
-										<if test="custNo != 0">
-											AND	C.CUST_NO = #{custNo}
-										</if>
-										UNION ALL
-										SELECT C.CART_SQ
-											 , CASE WHEN VS.SOLDOUT_YN = 'N' AND VS.CURR_STOCK_QTY >= C.GOODS_QTY THEN 'N'
-													ELSE 'Y' END AS SOLDOUT_YN
-										FROM   TB_CART C
-										INNER  JOIN TB_CART_DETAIL CD
-										ON	 C.CART_SQ = CD.CART_SQ
-										INNER  JOIN TB_GOODS G
-										ON	 C.GOODS_CD = G.GOODS_CD
-										INNER  JOIN VW_STOCK VS
-										ON	 C.GOODS_CD = VS.GOODS_CD
-										AND	CD.OPT_CD = VS.OPT_CD
-										WHERE  1=1
-										AND	C.CART_GB = 'G026_BC'
-										AND	G.GOODS_STAT = 'G008_90'
-										AND	G.SELF_MALL_YN = 'Y'
-										<if test="custNo == 0">
-											AND	C.CUST_NO = 0
-											AND	C.JSESSION_ID = #{jsessionId}
-										</if>
-										<if test="custNo != 0">
-											AND	C.CUST_NO = #{custNo}
-										</if>
-									   ) A
-								GROUP  BY  A.CART_SQ
+		             , IFNULL(O.ADD_PRICE, 0) AS OPT_ADD_PRICE
+		             , BR.BRAND_ENM
+		             , BR.BRAND_KNM
+		             , CT.CUST_GRADE
+		             , DFP.MIN_ORD_AMT
+		             , DFP.DELV_FEE
+		             , CASE WHEN GOG.CUST_GRADE IS NOT NULL AND GOG.CUST_GRADE = IFNULL(CT.CUST_GRADE, '') THEN GOG.CUST_GRADE
+		                    WHEN GOG.CUST_GRADE IS NOT NULL THEN 'NO'
+		                    ELSE CT.CUST_GRADE END AS ORDER_GRADE
+		             , (SELECT SUPPLY_COMP_NM FROM TB_SUPPLY_COMPANY WHERE SUPPLY_COMP_CD = G.SUPPLY_COMP_CD) AS SUPPLY_COMP_NM
+		             , (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = CD.ITEM_CD) AS ITEM_NM
+		             , CASE WHEN G.SELF_GOODS_YN = 'Y' THEN 'WMS'
+		                    ELSE DFP.DELV_FEE_CD END AS DELV_FEE_CD
+		             , CASE WHEN GQDS.GOODS_CD IS NULL AND G.SELF_GOODS_YN = 'Y' THEN 'SHOT'
+		                    WHEN G.SELF_GOODS_YN = 'Y' THEN 'WMS'
+		                    ELSE DFP.DELV_FEE_CD END AS CART_DELV_FEE_CD
+		             , CASE WHEN C.CUST_NO > 0 AND (SELECT IFNULL(SUM(OD.ORD_QTY), 0)
+		                                            FROM   TB_ORDER_DETAIL OD
+		                                            INNER  JOIN TB_ORDER O
+		                                            ON     OD.ORD_NO = O.ORD_NO
+		                                            WHERE  O.CUST_NO = C.CUST_NO
+		                                            AND    OD.ORD_EXCH_GB = 'O'
+		                                            AND    OD.ORD_DTL_STAT <![CDATA[ <> ]]> 'G013_00'
+		                                            AND    OD.ORD_DTL_STAT <![CDATA[ <> ]]> 'G013_98'
+		                                            AND    OD.ORD_DTL_STAT <![CDATA[ <> ]]> 'G013_99'
+		                                            AND    OD.GOODS_CD = C.GOODS_CD
+		                                            AND    DATE(ORD_DT) = CURRENT_DATE) + C.GOODS_QTY > G.DAY_MAX_ORD_QTY THEN 1 ELSE 0 END CUST_TODAY_ORD
+		             , CASE WHEN C.CUST_NO = 0 AND C.GOODS_QTY > G.DAY_MAX_ORD_QTY THEN 1 ELSE 0 END AS NOCUST_TODAY_ORD
+		             /*, CASE WHEN G.GOODS_TYPE != 'G056_S' AND G.SELF_GOODS_YN = 'Y' THEN (SELECT SYS_IMG_NM FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = CD.OPT_CD1 AND DEFAULT_IMG_YN = 'Y' LIMIT 1)
+		            		ELSE (SELECT SYS_IMG_NM FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = G.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y' LIMIT 1) END AS SYS_IMG_NM*/
+		             /* , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') AS SYS_IMG_NM */
+		             , CASE WHEN G.GOODS_TYPE != 'G056_S' AND G.SELF_GOODS_YN = 'Y' THEN (SELECT SYS_IMG_NM FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = CD.OPT_CD1 AND DEFAULT_IMG_YN = 'Y' LIMIT 1)
+		            		ELSE (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y' LIMIT 1) END AS SYS_IMG_NM
+		        FROM   TB_CART C
+		        INNER  JOIN TB_CART_DETAIL CD
+		        ON     C.CART_SQ = CD.CART_SQ
+		        INNER  JOIN TB_GOODS G
+		        ON     C.GOODS_CD = G.GOODS_CD
+		        INNER  JOIN TB_BRAND BR
+		        ON     G.BRAND_CD = BR.BRAND_CD
+		        INNER  JOIN TB_DELV_FEE_POLICY DFP
+		        ON     G.DELV_FEE_CD = DFP.DELV_FEE_CD
+		        INNER  JOIN TB_OPTION O
+		        ON     CD.ITEM_CD = O.GOODS_CD
+		        AND    CD.OPT_CD = O.OPT_CD
+		        INNER  JOIN (   SELECT A.CART_SQ
+		                             , MAX(A.SOLDOUT_YN) AS SOLDOUT_YN
+		                        FROM   (SELECT C.CART_SQ
+		                                     , CASE WHEN VS.SOLDOUT_YN = 'N' AND VS.CURR_STOCK_QTY >= C.GOODS_QTY * GC.QTY THEN 'N'
+		                                            ELSE 'Y' END AS SOLDOUT_YN
+		                                FROM   TB_CART C
+		                                INNER  JOIN TB_CART_DETAIL CD
+		                                ON     C.CART_SQ = CD.CART_SQ
+		                                INNER  JOIN TB_GOODS G
+		                                ON     C.GOODS_CD = G.GOODS_CD
+		                                INNER  JOIN TB_GOODS_COMPOSE GC
+		                                ON     C.GOODS_CD = GC.GOODS_CD
+		                                AND    CD.ITEM_CD = GC.COMPS_GOODS_CD
+		                                INNER  JOIN VW_STOCK VS
+		                                ON     CD.ITEM_CD = VS.GOODS_CD
+		                                AND	CD.OPT_CD = VS.OPT_CD
+		                                WHERE  1=1
+		                                AND	C.CART_GB = 'G026_BC'
+		                                AND	G.GOODS_STAT = 'G008_90'
+		                                AND	G.SELF_MALL_YN = 'Y'
+		                                <if test="custNo == 0">
+		                                AND	C.CUST_NO = 0
+		                                AND	C.JSESSION_ID = #{jsessionId}
+		                                </if>
+		                                <if test="custNo != 0">
+		                                AND	C.CUST_NO = #{custNo}
+		                                </if>
+		                                UNION ALL
+		                                SELECT C.CART_SQ
+		                                     , CASE WHEN VS.SOLDOUT_YN = 'N' AND VS.CURR_STOCK_QTY >= C.GOODS_QTY THEN 'N'
+		                                            ELSE 'Y' END AS SOLDOUT_YN
+		                                FROM   TB_CART C
+		                                INNER  JOIN TB_CART_DETAIL CD
+		                                ON     C.CART_SQ = CD.CART_SQ
+		                                INNER  JOIN TB_GOODS G
+		                                ON     C.GOODS_CD = G.GOODS_CD
+		                                INNER  JOIN VW_STOCK VS
+		                                ON     C.GOODS_CD = VS.GOODS_CD
+		                                AND    CD.OPT_CD = VS.OPT_CD
+		                                WHERE  1=1
+		                                AND    C.CART_GB = 'G026_BC'
+		                                AND    G.GOODS_STAT = 'G008_90'
+		                                AND    G.SELF_MALL_YN = 'Y'
+		                                <if test="custNo == 0">
+		                                AND    C.CUST_NO = 0
+		                                AND    C.JSESSION_ID = #{jsessionId}
+		                                </if>
+		                                <if test="custNo != 0">
+		                                AND    C.CUST_NO = #{custNo}
+		                                 </if>
+		                               ) A
+		                        GROUP  BY  A.CART_SQ
 		               ) STOCK
 		        ON     C.CART_SQ = STOCK.CART_SQ
 		        LEFT   OUTER JOIN TB_CUSTOMER CT
@@ -676,6 +680,8 @@
 		     , Z.LIST_PRICE
 		     , Z.SUPPLY_COMP_NM
 		     , Z.DELV_FEE_CD
+		     , Z.MIN_ORD_AMT
+		     , Z.DELV_FEE
 		     , Z.CART_DELV_FEE_CD
 		     , Z.CURR_PRICE
 		     , Z.PNT_PRATE

+ 1 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfCoupon.xml

@@ -38,6 +38,7 @@
 		     , CP.DC_WAY
 			 , CASE WHEN #{frontGb} = 'P' THEN CP.DC_PVAL
 					WHEN #{frontGb} = 'M' THEN CP.DC_MVAL
+			     	WHEN #{frontGb} = 'A' THEN CP.DC_AVAL
 					ELSE CP.DC_AVAL END AS DC_VAL
 			 , RC.RD_CPN_NM
 		     , RC.RD_CPN_ID

+ 54 - 9
src/main/webapp/WEB-INF/views/web/cart/CartListAjaxFormWeb.html

@@ -469,10 +469,10 @@
 							</p>
 						</div>
 						<p class="cp_date">
-							<span>2021.01.01</span>&nbsp;~&nbsp;<span>2021.12.30</span>
+							<span class="availStdt">2021.01.01</span>&nbsp;~&nbsp;<span class="availEddt">2021.12.30</span>
 						</p>
 					</div>
-					<button type="button" class="btn_underline" id="btn_couponInfo_pop">
+					<button type="button" class="btn_underline" id="btn_cartCouponInfo_pop">
 						<span>사용안내</span>
 					</button>
 				</div>
@@ -489,6 +489,49 @@
 	<!-- 즉시구매 form -->
 	<form id="cartInfoForm" method="post" action="/order/noMember"></form>
 
+	<!-- 쿠폰사용안내 팝업 -->
+	<div class="modal fade couponInfo_pop cartCpnInfoModal" id="couponInfoPop" tabindex="-1" role="dialog" aria-labelledby="couponInfoLabel" aria-hidden="true">
+		<div class="modal-dialog" role="document">
+			<div class="modal-content">
+				<div class="modal-header">
+					<h5 class="modal-title" id="couponInfoLabel">aa</h5>
+				</div>
+				<div class="modal-body">
+					<div class="pop_cont">
+						<dl>
+							<div class="cartCpnCondition">
+								<dt>사용조건</dt>
+								<dd class="cpnCondition">
+									<span>9,999,999</span>원 이상 구매 시 최대 <span>9,999,999</span>원 할인
+								</dd>
+							</div>
+							<div>
+								<dt>발급수량</dt>
+								<dd>
+									1인 최대<span>9,999</span>매
+								</dd>
+							</div>
+							<div>
+								<dt>유효기간</dt>
+								<dd>
+									<span>2020.09.21 23:59</span>&nbsp;~&nbsp;<span>2020.09.21 23:59</span>
+								</dd>
+							</div>
+							<div>
+								<dt>대상조건</dt>
+								<dd>
+									카테고리명 / 브랜드명 / 상품명 등 (일부 품목 제외)
+								</dd>
+							</div>
+						</dl>
+					</div>
+				</div>
+			</div>
+		</div>
+		<a href="#close-modal" rel="modal:close" id="couponInfoPop_close" class="close-modal">Close</a>
+	</div>
+	<!-- //쿠폰사용안내 팝업 -->
+
 	<script th:inline="javascript">
 		let sumRealPayAmt = [[${order.sumRealPayAmt + order.totDelvFee}]];
 		let totDcAmt = [[${order.totDcAmt}]];
@@ -798,6 +841,14 @@
 						} else if (result.serialCpnInfo.dcWay == "G240_11") {
 							$("#cartListForm .area_salecoupon .cp_dc_val").html("<em>" + result.serialCpnInfo.dcVal + "%</em>");
 						}
+
+
+						$(".cartCpnInfoModal .modal-header").html('<h5 class="modal-title" id="couponInfoLabel">' + result.serialCpnInfo.cpnNm + '</h5>');
+						$(".cartCpnInfoModal .cartCpnCondition").html('<h5 class="modal-title" id="couponInfoLabel">' + result.serialCpnInfo.cpnNm + '</h5>');
+
+
+
+
 					} else {
 						mcxDialog.alert(result.serialCpnInfo.result);
 					}
@@ -886,12 +937,6 @@
 			});
 		}
 
-		//쿠폰사용안내 팝업열기
-		$(document).on('click','#btn_cpinfo_pop',function(e){
-			$("#cpinfoPop").modal("show");
-			return false;
-		});
-
 		$("input[name=cartSqArr]").on("change", function(e) {
 			let cartArr = [];
 
@@ -1056,7 +1101,7 @@
 						}
 
 						if(delv.delvFee == 0) {
-							$(".delvList").find(".delv_" + delv.delvFeeCd).html("<span class='dlvr_fee'>배송비 무료</span>");
+							$(".delvList").find(".delv_" + delv.delvFeeCd).html("<span class='dlvr_fee'>배송비 무료</span><span class='dlvr_fee'><em>" + delv.supplyCOmpNm + "</em> 업체직배송</span>");
 						} else {
 							let html = "<div className='order_delivery'><span class='dlvr_fee'>배송비 <em>" + Number(delv.delvFee).toLocaleString() + "</em>원</span><span class='dlvr_shop'><em>" + delv.supplyCompNm + "</em> 업체직배송</span><a href='#' className='btn_popup_save'>배송비 SAVE 상품 보기</a></div>";
 							$(".delvList").find(".delv_" + delv.delvFeeCd).html(html);

+ 10 - 19
src/main/webapp/WEB-INF/views/web/cart/CartListFormWeb.html

@@ -23,7 +23,7 @@
 
     <!-- payment.js -->
     <script type="text/javascript" th:src="${@environment.getProperty('pg.kcp.js.url')}" src=""></script>
-    <script type="text/javascript" src="/ux/pc/js/payment.js"></script>
+    <script type="text/javascript" src="/biz/payment.js"></script>
 
 	<!--  container -->
 	<div id="container" class="container od">
@@ -257,24 +257,6 @@
 	</div>
 	<!-- // container -->
 
-<!-- 쿠폰사용안내 팝업 -->
-<div class="modal fade od_pop cpinfo_pop" id="cpinfoPop" tabindex="-1" role="dialog" aria-labelledby="cpinfoLabel" aria-hidden="true">
-    <div class="modal-dialog" role="document">
-        <div class="modal-content">
-            <div class="modal-header">
-                <h5 class="modal-title" id="cpinfoLabel">쿠폰사용안내</h5>
-            </div>
-            <div class="modal-body">
-                <div class="pop_cont">
-                    쿠폰사용안내 내용입니다.
-                </div>
-            </div>
-            <div class="modal-footer"></div>
-        </div>
-    </div>
-</div>
-<!-- //쿠폰사용안내 팝업 -->
-
 <script src="/ux/pc/js/swiper.min.js"></script>
 <link rel="stylesheet" type="text/css" href="/ux/pc/css/swiper.min.css" />
 
@@ -321,6 +303,15 @@
         return false;
     });
 
+	//팝업 - 쿠폰사용안내
+	$(document).on('click','#btn_cartCouponInfo_pop',function(e){
+		$(".cartCpnInfoModal").modal("show");
+		return false;
+	});
+	$("#couponInfoPop_close").click(function() {
+		$(".cartCpnInfoModal").modal("hide");
+	});
+
 	//수량조절 이벤트
 	$(document).on('click','.optModify_pop .number_count .minus',function(e){
 		var $input = $(this).parent().find('input');

+ 1 - 1
src/main/webapp/WEB-INF/views/web/cart/CartListFormWeb_20210319.html

@@ -23,7 +23,7 @@
 
     <!-- payment.js -->
     <script type="text/javascript" th:src="${@environment.getProperty('pg.kcp.js.url')}" src=""></script>
-    <script type="text/javascript" src="/ux/pc/js/payment.js"></script>
+    <script type="text/javascript" src="/biz/payment.js"></script>
 
     <!--  container -->
     <div id="container" class="container od">

+ 1 - 1
src/main/webapp/WEB-INF/views/web/common/layout/MypageLayoutWeb.html

@@ -37,7 +37,7 @@
 <footer id="footer" th:replace="~{web/common/fragments/FooterWeb :: footer}"></footer>
 
 <th:block th:replace="~{web/common/fragments/ScriptsWeb :: scripts}"></th:block>
-<script th:src="@{'/ux/pc/js/mypage.js?v=' + ${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}}" src="/ux/pc/js/mypage.js"></script>
+<script th:src="@{'/ux/pc/js/mypage.js?v=' + ${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}}" src="/biz/mypage.js"></script>
 
 <script th:inline="javascript">
 /*<![CDATA[*/

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

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

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

@@ -3,7 +3,7 @@
 </div>
 <div class="modal-body">
 	<div class="pop_cont">
-		<form class="form_wrap form_full" name="deliveryAddrForm" id="deliveryAddrForm">
+		<form class="form_wrap form_full" name="deliveryAddForm" id="deliveryAddForm">
 			<div class="area_adrsinfo">
 				<h6>배송지 정보</h6>
 				<div class="default_addrs">
@@ -15,11 +15,11 @@
 				<div class="form_field">
 					<label class="input_label sr-only">받는 분</label>
 					<div class="ui_col_12">
-						<div class="input_wrap">
+						<div class="input_wrap"> 
 							<input type="text" class="form_control" name="recipNm" placeholder="받는 분" id="">
 						</div>
 					</div>
-				</div>
+				</div>	
 				<div class="form_field">
 					<label class="input_label sr-only">휴대폰 번호</label>
 					<div class="ui_col_12">
@@ -32,21 +32,14 @@
 					<label class="input_label sr-only">배송주소</label>
 					<div class="ui_col_12">
 						<div class="input_wrap"> 
-							<input type="text" class="form_control" name="recipZipcode" placeholder="배송주소" id="">
+							<input type="hidden" class="form_control" name="recipZipcode" placeholder="우편번호" id="">
+							<input type="text" class="form_control" name="recipBaseAddr" placeholder="기본주소" id="" disabled>
 						</div>
 						<button type="button" class="btn btn_dark btn_sm" onclick="fnOpenDaumAddr();">
 							<span>우편번호 찾기</span>
 						</button>
 					</div>
 				</div>
-				<div class="form_field">
-					<label class="input_label sr-only">기본주소</label>
-					<div class="ui_col_12">
-						<div class="input_wrap"> 
-							<input type="text" class="form_control" name="recipBaseAddr" placeholder="상세주소" id="">
-						</div>
-					</div>
-				</div>
 				<div class="form_field">
 					<label class="input_label sr-only">상세주소</label>
 					<div class="ui_col_12">
@@ -58,30 +51,30 @@
 			</div>
 			<div class="area_request">
 				<h6>배송요청 사항</h6> 
-				<div class="form_field">
+					<div class="form_field">
 					<div>
-						<input type="radio" name="rdi-request1" id="rdi-request11" value="문앞" checked="">
+						<input type="radio" name="rdi-request1" id="rdi-request11" value="문앞" >
 						<label for="rdi-request11"><span>문앞</span></label>
 					</div>
 					<div>
-						<input type="radio" name="rdi-request1" id="rdi-request12" value="직접받고 부재시 문 앞" checked="">
+						<input type="radio" name="rdi-request1" id="rdi-request12" value="직접받고 부재시 문 앞">
 						<label for="rdi-request12"><span>직접받고 부재시 문 앞</span></label>
 					</div>
 					<div>
-						<input type="radio" name="rdi-request1" id="rdi-request13" value="경비실" checked="">
+						<input type="radio" name="rdi-request1" id="rdi-request13" value="경비실">
 						<label for="rdi-request13"><span>경비실</span></label>
 					</div>
 					<div>
-						<input type="radio" name="rdi-request1" id="rdi-request14" value="택배함" checked="">
+						<input type="radio" name="rdi-request1" id="rdi-request14" value="택배함">
 						<label for="rdi-request14"><span>택배함</span></label>
 					</div>
 					<div>
-						<input type="radio" name="rdi-request1" id="rdi-request15" value="기타사항" checked="">
+						<input type="radio" name="rdi-request1" id="rdi-request15" value="기타사항">
 						<label for="rdi-request15"><span>기타사항</span></label>
 						<div class="info_box">
 							<div class="input_wrap">
 								<input type="text" class="form_control" maxlength="30" placeholder="보관장소만 입력 (필수)">
-							<p>보관 장소 외 다른 내용 입력시 통보없이 삭제 될 수 있습니다.</p>
+								<p>보관 장소 외 다른 내용 입력시 통보없이 삭제 될 수 있습니다.</p>
 							</div>
 						</div>
 					</div>
@@ -94,20 +87,19 @@
 	<button type="button" class="btn btn_dark" id="btn_delivery_addr_save"><span>배송지 등록</span></button>
 </div>
 
-
 <script th:inline="javascript">
 //컨텐츠 호출
 $(document).ready( function() {
 	// 배송요청사항 버튼기능
-	$("#deliveryAddrForm input[name=rdi-request1]").each(function(){
+	$("#deliveryAddForm input[name=rdi-request1]").each(function(){
 		// 버튼기능
 		$(this).on("click", function(){
 			var temp = $(this).parent().find('span').text();
-			$("input[name=delvMemoText]").val("");
+			$("#deliveryAddForm input[name=delvMemoText]").val("");
 			if (temp == "기타사항") {
-				$("input[name=delvMemoText]").attr("disabled", false);
+				$("#deliveryAddForm input[name=delvMemoText]").attr("disabled", false);
 			} else {
-				$("input[name=delvMemoText]").attr("disabled", true);
+				$("#deliveryAddForm input[name=delvMemoText]").attr("disabled", true);
 			}
 		});
 	});
@@ -117,9 +109,9 @@ $(document).ready( function() {
 var fnOpenDaumAddr = function() {
 	let daumZip = new daum.Postcode({
 		oncomplete: function(data) {
-			$('#deliveryAddrForm input[name=recipZipcode]').val(data.zonecode);
-			$('#deliveryAddrForm input[name=recipBaseAddr]').val(cfnGetDaumRoadAddr(data));
-			$('#deliveryAddrForm input[name=recipDtlAddr]').focus();
+			$('#deliveryAddForm input[name=recipZipcode]').val(data.zonecode);
+			$('#deliveryAddForm input[name=recipBaseAddr]').val(cfnGetDaumRoadAddr(data));
+			$('#deliveryAddForm input[name=recipDtlAddr]').focus();
 			cfnCloseDaumAddr();
 		},
 		width: '100%'
@@ -132,12 +124,12 @@ var fnOpenDaumAddr = function() {
 $("#btn_delivery_addr_save").on("click", function(){
 	// 기본배송지여부
 	var defaultYn = "N";
-	if ($("#deliveryAddrForm input[name=defaultYn]").is(":checked")) {
+	if ($("#deliveryAddForm input[name=defaultYn]").is(":checked")) {
 		defaultYn = "Y";
 	}
 	
 	// 기타사항일때 텍스트 등록
-	var delvMemo = $("#deliveryAddrForm input[name=rdi-request1]:checked").parent().find('span').text();
+	var delvMemo = $("#deliveryAddForm input[name=rdi-request1]:checked").parent().find('span').text();
 	if ("기타사항" == delvMemo) {
 		delvMemo = $("input[name=delvMemoText]").val();
 	}
@@ -145,11 +137,11 @@ $("#btn_delivery_addr_save").on("click", function(){
 	// 배송지정보설정
 	var jsonObj = {
 		"defaultYn"			: defaultYn
-		, "recipNm"			: $("#deliveryAddrForm input[name=recipNm]").val()
-		, "recipPhnno"		: $("#deliveryAddrForm input[name=recipPhnno]").val()
-		, "recipZipcode"	: $("#deliveryAddrForm input[name=recipZipcode]").val()
-		, "recipBaseAddr"	: $("#deliveryAddrForm input[name=recipBaseAddr]").val()
-		, "recipDtlAddr"	: $("#deliveryAddrForm input[name=recipDtlAddr]").val()
+		, "recipNm"			: $("#deliveryAddForm input[name=recipNm]").val()
+		, "recipPhnno"		: $("#deliveryAddForm input[name=recipPhnno]").val()
+		, "recipZipcode"	: $("#deliveryAddForm input[name=recipZipcode]").val()
+		, "recipBaseAddr"	: $("#deliveryAddForm input[name=recipBaseAddr]").val()
+		, "recipDtlAddr"	: $("#deliveryAddForm input[name=recipDtlAddr]").val()
 		, "delvMemo"		: delvMemo
 	}
 	
@@ -181,8 +173,8 @@ $("#btn_delivery_addr_save").on("click", function(){
 					gagajf.showProgressbar(true);
 				},
 				success 	: function(result) {
-					$("#adrsAddPop").html(result);
-					$("#adrsAddPop").modal("show");
+					$("#adrsChangePop .modal-dialog .modal-content").html(result);
+					$("#adrsChangePop").modal("show");
 				}
 			});	
 		}

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

@@ -54,7 +54,7 @@
 	</div>
 </div>
 <div class="modal-footer">
-	<button class="btn btn_dark" id="btn_addrAdd_pop"><span>배송지 추가</span></button>
+	<button type="button" class="btn btn_dark" id="btn_adrsAdd_pop"><span>배송지 추가</span></button>
 </div>
 </form>
 
@@ -64,8 +64,8 @@ $(document).ready( function() {
 });
 
 // 2. 버튼기능구현
-// 2.1 배송지변경 팝업열기
-$('#btn_addrAdd_pop').on("click", function(){
+// 2.1 배송지추가 팝업열기
+$('#btn_adrsAdd_pop').on("click", function(){
 	$.ajax( {
 		type		: "POST",
 		url 		: '/order/delvAddrAddPop',
@@ -78,8 +78,8 @@ $('#btn_addrAdd_pop').on("click", function(){
 			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
-			$("#adrsChangePop").html(result);
-			$("#adrsChangePop").modal("show");
+			$("#adrsAddPop .modal-dialog .modal-content").html(result);
+			$("#adrsAddPop").modal("show");
 		}
 	});	
 });
@@ -116,7 +116,7 @@ $(".btn_addrModify_pop").on("click", function(){
 			gagajf.showProgressbar(true);
 		},
 		success 	: function(result) {
-			$("#adrsModifyPop").html(result);
+			$("#adrsModifyPop .modal-dialog .modal-content").html(result);
 			$("#adrsModifyPop").modal("show");
 		}
 	});	

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

@@ -1,112 +1,98 @@
-<div class="modal-dialog" role="document">
-	<div class="modal-content">
-		<div class="modal-header">
-			<h5 class="modal-title" id="adrsAddLabel">배송지 수정</h5>
-		</div>
-		<div class="modal-body">
-			<div class="pop_cont">
-				<form class="form_wrap form_full" name="deliveryAddrForm" id="deliveryAddrForm">
-					<input type="hidden" name="custDelvAddrSq" th:value="${deliveryAddrInfo.custDelvAddrSq}">
-					
-					<div class="area_adrsinfo">
-						<h6>배송지 정보</h6>
-						<div class="default_addrs">
-							<div class="form_field">
-								<th:block th:if="${deliveryAddrInfo.defaultYn} == 'Y'">
-									<input id="chk-default-addrs" type="checkbox" name="defaultYn" checked>
-								</th:block>
-								<th:block th:if="${deliveryAddrInfo.defaultYn} == 'N'">
-									<input id="chk-default-addrs" type="checkbox" name="defaultYn">
-								</th:block>
-								<label for="chk-default-addrs"><span>기본 배송지로 등록</span></label>
-							</div>
-						</div>
-						<div class="form_field">
-							<label class="input_label sr-only">받는 분</label>
-							<div class="ui_col_12">
-								<div class="input_wrap">
-									<input type="text" name="recipNm" placeholder="받는 분" th:value="${deliveryAddrInfo.recipNm}">
-								</div>
-							</div>
-						</div>
-						<div class="form_field">
-							<label class="input_label sr-only">휴대폰 번호</label>
-							<div class="ui_col_12">
-								<div class="input_wrap">
-									<input type="text" name="recipPhnno" placeholder="휴대폰 번호" th:value="${deliveryAddrInfo.recipPhnno}">
-								</div>
-							</div>
+<div class="modal-header">
+	<h5 class="modal-title" id="adrsModifyLabel">배송지 수정</h5>
+</div>
+<div class="modal-body">
+	<div class="pop_cont">
+		<form class="form_wrap form_full" name="deliveryModifyForm" id="deliveryModifyForm">
+			<input type="hidden" class="form_control" name="custDelvAddrSq" th:value="${deliveryAddrInfo.custDelvAddrSq}">
+			
+			<div class="area_adrsinfo">
+				<h6>배송지 정보</h6>
+				<div class="default_addrs">
+					<div class="form_field">
+						<th:block th:if="${deliveryAddrInfo.defaultYn} == 'Y'">
+							<input id="chk-default-addrs" type="checkbox" name="defaultYn" checked>
+						</th:block>
+						<th:block th:if="${deliveryAddrInfo.defaultYn} == 'N'">
+							<input id="chk-default-addrs" type="checkbox" name="defaultYn">
+						</th:block>
+						<label for="chk-default-addrs"><span>기본 배송지로 등록</span></label>
+					</div>
+				</div>
+				<div class="form_field">
+					<label class="input_label sr-only">받는 분</label>
+					<div class="ui_col_12">
+						<div class="input_wrap"> 
+							<input type="text" class="form_control" name="recipNm" placeholder="받는 분" id="" th:value="${deliveryAddrInfo.recipNm}">
 						</div>
-						<div class="form_field">
-							<label class="input_label sr-only">배송주소</label>
-							<div class="ui_col_12">
-								<div class="input_wrap">
-									<input type="text" name="recipZipcode" placeholder="우편번호" th:value="${deliveryAddrInfo.recipZipcode}">
-									<button type="button" class="btn btn_dark btn_sm" onclick="fnOpenDaumAddr();">
-										<span>우편번호 찾기</span>
-									</button>
-								</div>
-							</div>
+					</div>
+				</div>	
+				<div class="form_field">
+					<label class="input_label sr-only">휴대폰 번호</label>
+					<div class="ui_col_12">
+						<div class="input_wrap"> 
+							<input type="text" class="form_control" name="recipPhnno" placeholder="휴대폰 번호" id="" th:value="${deliveryAddrInfo.recipPhnno}">
 						</div>
-						<div class="form_field">
-							<label class="input_label sr-only">기본주소</label>
-							<div class="ui_col_12">
-								<div class="input_wrap">
-									<input type="text" name="recipBaseAddr" placeholder="기본주소" th:value="${deliveryAddrInfo.recipBaseAddr}">
-								</div>
-							</div>
+					</div>
+				</div>
+				<div class="form_field">
+					<label class="input_label sr-only">배송주소</label>
+					<div class="ui_col_12">
+						<div class="input_wrap"> 
+							<input type="hidden" name="recipZipcode" placeholder="우편번호" th:value="${deliveryAddrInfo.recipZipcode}">
+							<input type="text" class="form_control" name="recipBaseAddr" placeholder="기본주소" id="" th:value="${deliveryAddrInfo.recipBaseAddr}" disabled>
 						</div>
-						<div class="form_field">
-							<label class="input_label sr-only">상세주소</label>
-							<div class="ui_col_12">
-								<div class="input_wrap">
-									<input type="text" name="recipDtlAddr" placeholder="상세주소" th:value="${deliveryAddrInfo.recipDtlAddr}">
-								</div>
-							</div>
+						<button type="button" class="btn btn_dark btn_sm" onclick="fnOpenDaumAddr();">
+							<span>우편번호 찾기</span>
+						</button>
+					</div>
+				</div>
+				<div class="form_field">
+					<label class="input_label sr-only">상세주소</label>
+					<div class="ui_col_12">
+						<div class="input_wrap"> 
+							<input type="text" class="form_control" name="recipDtlAddr" placeholder="상세주소" id="" th:value="${deliveryAddrInfo.recipDtlAddr}">
 						</div>
 					</div>
-					<div class="area_request">
-						<h6>배송요청 사항</h6>
-						<div class="form_field">
-							<div>
-								<input type="radio" name="rdi-request1" id="rdi-request11" value="문앞"> 
-								<label for="rdi-request11"><span>문앞</span></label>
-							</div>
-							<div>
-								<input type="radio" name="rdi-request1" id="rdi-request12" value="직접받고 부재시 문 앞"> 
-								<label for="rdi-request12"><span>직접받고 부재시 문 앞</span></label>
-							</div>
-							<div>
-								<input type="radio" name="rdi-request1" id="rdi-request13" value="경비실"> 
-								<label for="rdi-request13"><span>경비실</span></label>
-							</div>
-							<div>
-								<input type="radio" name="rdi-request1" id="rdi-request14" value="택배함"> 
-								<label for="rdi-request14"><span>택배함</span></label>
-							</div>
-							<div>
-								<input type="radio" name="rdi-request1" id="rdi-request15" value="기타사항"> 
-								<label for="rdi-request15"><span>기타사항</span></label>
-								<div class="info_box">
-									<div class="input_wrap">
-										<input type="text" name="delvMemoText" class="form_control" maxlength="30" placeholder="보관장소만 입력" disabled>
-										<p>보관 장소 외 다른 내용 입력시 통보없이 삭제 될 수 있습니다.</p>
-									</div>
-								</div>
+				</div>
+			</div>
+			<div class="area_request">       
+				<h6>배송요청 사항</h6> 
+				<div class="form_field">
+					<div>
+						<input type="radio" name="rdi-request1" id="rdi-request11" value="문앞">
+						<label for="rdi-request11"><span>문앞</span></label>
+					</div>
+					<div>
+						<input type="radio" name="rdi-request1" id="rdi-request12" value="직접받고 부재시 문 앞">
+						<label for="rdi-request12"><span>직접받고 부재시 문 앞</span></label>
+					</div>
+					<div>
+						<input type="radio" name="rdi-request1" id="rdi-request13" value="경비실">
+						<label for="rdi-request13"><span>경비실</span></label>
+					</div>
+					<div>
+						<input type="radio" name="rdi-request1" id="rdi-request14" value="택배함">
+						<label for="rdi-request14"><span>택배함</span></label>
+					</div>
+					<div>
+						<input type="radio" name="rdi-request1" id="rdi-request15" value="기타사항">
+						<label for="rdi-request15"><span>기타사항</span></label>
+						<div class="info_box">
+							<div class="input_wrap">
+								<input type="text" name="delvMemoText" class="form_control" maxlength="30" placeholder="보관장소만 입력 (필수)" disabled>
+								<p>보관 장소 외 다른 내용 입력시 통보없이 삭제 될 수 있습니다.</p>
 							</div>
 						</div>
 					</div>
-					<div class="btn_group_block">
-						<button type="button" class="btn btn_dark btn_block" id="btn_delivery_addr_save">
-							<span>배송지 수정</span>
-						</button>
-					</div>
-				</form>
+				</div>
 			</div>
-		</div>
+		</form>
 	</div>
 </div>
-<a href="#close-modal" rel="modal:close" id="adrsAddPop_close" class="close-modal">Close</a>
+<div class="modal-footer">
+	<button type="button" class="btn btn_dark" id="btn_delivery_addr_save"><span>배송지 등록</span></button>
+</div>
 
 <script th:inline="javascript">
 var delvMemo = [[${deliveryAddrInfo.delvMemo}]];
@@ -124,12 +110,12 @@ $(document).ready( function() {
 	}
 	
 	if (tempMemo) {
-		$("#deliveryAddrForm input[name=rdi-request1]").eq(4).attr("checked", true);
+		$("#deliveryModifyForm input[name=rdi-request1]").eq(4).attr("checked", true);
 		$("input[name=delvMemoText]").attr("disabled", false);
 		$("input[name=delvMemoText]").val(delvMemo);
 	}
 	
-	$("#deliveryAddrForm input[name=rdi-request1]").each(function(){
+	$("#deliveryModifyForm input[name=rdi-request1]").each(function(){
 		var temp = $(this).parent().find('span').text();
 		if (delvMemo == temp) {
 			$(this).attr("checked", true);
@@ -137,15 +123,15 @@ $(document).ready( function() {
 	});
 	
 	// 배송요청사항 버튼기능
-	$("#deliveryAddrForm input[name=rdi-request1]").each(function(){
+	$("#deliveryModifyForm input[name=rdi-request1]").each(function(){
 		// 버튼기능
 		$(this).on("click", function(){
 			var temp = $(this).parent().find('span').text();
-			$("input[name=delvMemoText]").val("");
+			$("#deliveryModifyForm input[name=delvMemoText]").val("");
 			if (temp == "기타사항") {
-				$("input[name=delvMemoText]").attr("disabled", false);
+				$("#deliveryModifyForm input[name=delvMemoText]").attr("disabled", false);
 			} else {
-				$("input[name=delvMemoText]").attr("disabled", true);
+				$("#deliveryModifyForm input[name=delvMemoText]").attr("disabled", true);
 			}
 		});
 	});
@@ -155,9 +141,9 @@ $(document).ready( function() {
 var fnOpenDaumAddr = function() {
 	let daumZip = new daum.Postcode({
 		oncomplete: function(data) {
-			$('#deliveryAddrForm input[name=recipZipcode]').val(data.zonecode);
-			$('#deliveryAddrForm input[name=recipBaseAddr]').val(cfnGetDaumRoadAddr(data));
-			$('#deliveryAddrForm input[name=recipDtlAddr]').focus();
+			$('#deliveryModifyForm input[name=recipZipcode]').val(data.zonecode);
+			$('#deliveryModifyForm input[name=recipBaseAddr]').val(cfnGetDaumRoadAddr(data));
+			$('#deliveryModifyForm input[name=recipDtlAddr]').focus();
 			cfnCloseDaumAddr();
 		},
 		width: '100%'
@@ -170,25 +156,25 @@ var fnOpenDaumAddr = function() {
 $("#btn_delivery_addr_save").on("click", function(){
 	// 기본배송지여부
 	var defaultYn = "N";
-	if ($("#deliveryAddrForm input[name=defaultYn]").is(":checked")) {
+	if ($("#deliveryModifyForm input[name=defaultYn]").is(":checked")) {
 		defaultYn = "Y";
 	}
 	
 	// 기타사항일때 텍스트 등록
-	var delvMemo = $("#deliveryAddrForm input[name=rdi-request1]:checked").parent().find('span').text();
+	var delvMemo = $("#deliveryModifyForm input[name=rdi-request1]:checked").parent().find('span').text();
 	if ("기타사항" == delvMemo) {
-		delvMemo = $("input[name=delvMemoText]").val();
+		delvMemo = $("#deliveryModifyForm input[name=delvMemoText]").val();
 	}
 	
 	// 배송지정보설정
 	var jsonObj = {
 		"defaultYn"			: defaultYn
-		, "custDelvAddrSq"	: parseInt($("#deliveryAddrForm input[name=custDelvAddrSq]").val())
-		, "recipNm"			: $("#deliveryAddrForm input[name=recipNm]").val()
-		, "recipPhnno"		: $("#deliveryAddrForm input[name=recipPhnno]").val()
-		, "recipZipcode"	: $("#deliveryAddrForm input[name=recipZipcode]").val()
-		, "recipBaseAddr"	: $("#deliveryAddrForm input[name=recipBaseAddr]").val()
-		, "recipDtlAddr"	: $("#deliveryAddrForm input[name=recipDtlAddr]").val()
+		, "custDelvAddrSq"	: parseInt($("#deliveryModifyForm input[name=custDelvAddrSq]").val())
+		, "recipNm"			: $("#deliveryModifyForm input[name=recipNm]").val()
+		, "recipPhnno"		: $("#deliveryModifyForm input[name=recipPhnno]").val()
+		, "recipZipcode"	: $("#deliveryModifyForm input[name=recipZipcode]").val()
+		, "recipBaseAddr"	: $("#deliveryModifyForm input[name=recipBaseAddr]").val()
+		, "recipDtlAddr"	: $("#deliveryModifyForm input[name=recipDtlAddr]").val()
 		, "delvMemo"		: delvMemo
 	}
 	
@@ -220,11 +206,11 @@ $("#btn_delivery_addr_save").on("click", function(){
 					gagajf.showProgressbar(true);
 				},
 				success 	: function(result) {
-					$("#adrsAddPop").html(result);
-					$("#adrsAddPop").modal("show");
+					$("#adrsChangePop .modal-dialog .modal-content").html(result);
+					$("#adrsChangePop").modal("show");
 				}
 			});	
 		}
 	});
 });
-</script>
+</script>

+ 50 - 57
src/main/webapp/WEB-INF/views/web/order/OrderDelvMemoChangePopWeb.html

@@ -1,57 +1,51 @@
 <!-- 배송요청사항수정 팝업 -->
-<div class="modal-dialog" role="document">
-	<form class="form_wrap form_full" name="deliveryAddrForm" id="deliveryAddrForm">
-		<div class="modal-content">
-			<div class="modal-header">
-				<h5 class="modal-title" id="rqstModifyLabel">배송요청 사항</h5>
-			</div>
-			<div class="modal-body">
-				<div class="pop_cont">
-					<div class="area_request">
-						<div class="form_field">
-							<div>
-								<input type="radio" name="rdi-request3" id="rdi-request31"> 
-								<label for="rdi-request31"><span>문앞</span></label>
-							</div>
-							<div>
-								<input type="radio" name="rdi-request3" id="rdi-request32"> 
-								<label for="rdi-request32"><span>직접받고 부재시 문 앞</span></label>
-							</div>
-							<div>
-								<input type="radio" name="rdi-request3" id="rdi-request33"> 
-								<label for="rdi-request33"><span>경비실</span></label>
-							</div>
-							<div>
-								<input type="radio" name="rdi-request3" id="rdi-request34"> 
-								<label for="rdi-request34"><span>택배함</span></label>
-							</div>
-							<div>
-								<input type="radio" name="rdi-request3" id="rdi-request35"> 
-								<label for="rdi-request35"><span>기타사항</span></label>
-								<div class="info_box">
-									<div class="input_wrap">
-										<input type="text" name="delvMemoText" class="form_control" maxlength="30" placeholder="보관장소만 입력" disabled>
-										<p>보관 장소 외 다른 내용 입력시 통보없이 삭제 될 수 있습니다.</p>
-									</div>
-								</div>
+<div class="modal-header">
+	<h5 class="modal-title" id="rqstModifyLabel">배송요청 사항</h5>
+</div>
+<div class="modal-body">
+	<div class="pop_cont">
+		<form class="form_wrap form_full" name="deliveryAddrMemoForm" id="deliveryAddrMemoForm">
+			<div class="area_request">
+				<div class="form_field">
+					<div>
+						<input type="radio" name="rdi-request3" id="rdi-request31">
+						<label for="rdi-request31"><span>문앞</span></label>
+					</div>
+					<div>
+						<input type="radio" name="rdi-request3" id="rdi-request32">
+						<label for="rdi-request32"><span>직접받고 부재시 문 앞</span></label>
+					</div>
+					<div>
+						<input type="radio" name="rdi-request3" id="rdi-request33">
+						<label for="rdi-request33"><span>경비실</span></label>
+					</div>
+					<div>
+						<input type="radio" name="rdi-request3" id="rdi-request34">
+						<label for="rdi-request34"><span>택배함</span></label>
+					</div>
+					<div>
+						<input type="radio" name="rdi-request3" id="rdi-request35">
+						<label for="rdi-request35"><span>기타사항</span></label>
+						<div class="info_box">
+							<div class="input_wrap">
+								<input type="text" name="delvMemoText" class="form_control" maxlength="30" placeholder="보관장소만 입력 (필수)" disabled>
+								<p>보관 장소 외 다른 내용 입력시 통보없이 삭제 될 수 있습니다.</p>
 							</div>
 						</div>
 					</div>
-					<div class="btn_group_block">
-						<button type="button" class="btn btn_dark btn_block" id="btn_delvMemoChange">
-							<span>등록</span>
-						</button>
-					</div>
 				</div>
 			</div>
-		</div>
-	</form>
+		</form>
+	</div>
+</div>
+<div class="modal-footer">
+    <button type="button" id="btn_delvMemoChange" class="btn btn_dark"><span>등록</span></button>
 </div>
 
 <script type="text/javascript">
 // 초기배송메모설정
 $(document).ready( function() {
-	var delvMemo = $("input[name='delvMemo']").val();
+	var delvMemo = $("#orderForm input[name=delvMemo]").val();
 	var delvMemoArr = ["문앞", "직접받고 부재시 문 앞", "경비실", "택배함"];
 	var tempMemo = true;
 	
@@ -63,12 +57,12 @@ $(document).ready( function() {
 	}
 	
 	if (tempMemo) {
-		$("#deliveryAddrForm input[name=rdi-request3]").eq(4).attr("checked", true);
-		$("input[name=delvMemoText]").attr("disabled", false);
-		$("input[name=delvMemoText]").val(delvMemo);
+		$("#deliveryAddrMemoForm input[name=rdi-request3]").eq(4).attr("checked", true);
+		$("#deliveryAddrMemoForm input[name=delvMemoText]").attr("disabled", false);
+		$("#deliveryAddrMemoForm input[name=delvMemoText]").val(delvMemo);
 	}
 	
-	$("#deliveryAddrForm input[name=rdi-request3]").each(function(){
+	$("#deliveryAddrMemoForm input[name=rdi-request3]").each(function(){
 		var temp = $(this).parent().find('span').text();
 		if (delvMemo == temp) {
 			$(this).attr("checked", true);
@@ -76,25 +70,24 @@ $(document).ready( function() {
 	});
 	
 	// 배송요청사항 버튼기능
-	$("#deliveryAddrForm input[name=rdi-request3]").each(function(){
+	$("#deliveryAddrMemoForm input[name=rdi-request3]").each(function(){
 		// 버튼기능
 		$(this).on("click", function(){
 			var temp = $(this).parent().find('span').text();
-			alert
-			$("input[name=delvMemoText]").val("");
+			$("#deliveryAddrMemoForm input[name=delvMemoText]").val("");
 			if (temp == "기타사항") {
-				$("input[name=delvMemoText]").attr("disabled", false);
+				$("#deliveryAddrMemoForm input[name=delvMemoText]").attr("disabled", false);
 			} else {
-				$("input[name=delvMemoText]").attr("disabled", true);
+				$("#deliveryAddrMemoForm input[name=delvMemoText]").attr("disabled", true);
 			}
 		});
 	});
 	
 	// 배송메모등록버튼
 	$("#btn_delvMemoChange").on("click", function(){
-		var rtnTxt = $("input[name='rdi-request3']:checked").parent().find('span').text();
+		var rtnTxt = $("#deliveryAddrMemoForm input[name='rdi-request3']:checked").parent().find('span').text();
 		if (rtnTxt == "기타사항") {
-			rtnTxt = $("input[name='delvMemoText']").val();
+			rtnTxt = $("#deliveryAddrMemoForm input[name='delvMemoText']").val();
 		} 
 
 		// 배송메모 부모창에 설정
@@ -102,9 +95,9 @@ $(document).ready( function() {
 			fnChangeDelvMemo(rtnTxt);
 		}
 
-		$("input[name='delvMemo']").val(rtnTxt);		// input 값에 설정
-		$("#delvMemo").text(rtnTxt);					// 메모 text 설정
-		$(".close-modal").trigger("click");				// 팝업닫기
+		$("#orderForm input[name=delvMemo]").val(rtnTxt);		// input 값에 설정
+		$("#delvMemo").text(rtnTxt);							// 메모 text 설정
+		$(".close-modal").trigger("click");						// 팝업닫기
 	});
 });
 </script>

+ 135 - 27
src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html

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

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

@@ -23,7 +23,7 @@
 
 <!-- payment.js -->
 <script type="text/javascript" th:src="${@environment.getProperty('pg.kcp.js.url')}" src=""></script>
-<script type="text/javascript" src="/ux/pc/js/payment.js"></script>
+<script type="text/javascript" src="/biz/payment.js"></script>
 
 <form id="order_info" name="order_info" method="post" action="/order/pay/result/response" ></form>
 

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

@@ -23,7 +23,7 @@
 
 <!-- payment.js -->
 <script type="text/javascript" th:src="${@environment.getProperty('pg.kcp.js.url')}" src=""></script>
-<script type="text/javascript" src="/ux/pc/js/payment.js"></script>
+<script type="text/javascript" src="/biz/payment.js"></script>
 
 <form id="order_info" name="order_info" method="post" action="/order/pay/result/response" ></form>
 
@@ -1159,4 +1159,4 @@ $(document).ready( function() {
 
 </th:block>
 </body>
-</html>
+</html>

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

@@ -23,7 +23,7 @@
 
 <!-- payment.js -->
 <script type="text/javascript" th:src="${@environment.getProperty('pg.kcp.js.url')}" src=""></script>
-<script type="text/javascript" src="/ux/pc/js/payment.js"></script>
+<script type="text/javascript" src="/biz/payment.js"></script>
 
 <form id="order_info" name="order_info" method="post" action="/order/pay/result/response" ></form>
 

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

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

+ 0 - 0
src/main/webapp/ux/pc/js/mypage.js → src/main/webapp/biz/mypage.js


+ 0 - 0
src/main/webapp/ux/pc/js/payment.js → src/main/webapp/biz/payment.js