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

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

card007 пре 5 година
родитељ
комит
5c8dfca2ea
26 измењених фајлова са 426 додато и 196 уклоњено
  1. 26 5
      src/main/java/com/style24/front/biz/web/TsfGoodsController.java
  2. 9 1
      src/main/java/com/style24/front/biz/web/TsfPlanningController.java
  3. 3 2
      src/main/java/com/style24/front/support/security/handler/TsfLoginSuccessHandler.java
  4. 23 3
      src/main/java/com/style24/persistence/mybatis/shop/TsfGoods.xml
  5. 0 5
      src/main/webapp/WEB-INF/views/mob/mypage/MypageCustModifyFormMob.html
  6. 100 75
      src/main/webapp/WEB-INF/views/mob/mypage/MypageCustPwdModifyFormMob.html
  7. 6 8
      src/main/webapp/WEB-INF/views/web/callcenter/OneToOneQnaRegisterFormWeb.html
  8. 35 25
      src/main/webapp/WEB-INF/views/web/common/fragments/GnbWeb.html
  9. 28 1
      src/main/webapp/WEB-INF/views/web/customer/JoinCompleteFormWeb.html
  10. 63 23
      src/main/webapp/WEB-INF/views/web/display/CategoryGoodsListFormWeb.html
  11. 27 15
      src/main/webapp/WEB-INF/views/web/goods/GoodsDealDetailFormWeb.html
  12. 3 2
      src/main/webapp/WEB-INF/views/web/goods/GoodsDetailFormWeb.html
  13. 0 4
      src/main/webapp/WEB-INF/views/web/goods/GoodsDetailReviewFormWeb.html
  14. 1 1
      src/main/webapp/WEB-INF/views/web/goods/GoodsIncludeFormWeb.html
  15. 1 1
      src/main/webapp/WEB-INF/views/web/goods/GoodsReviewDetailFormWeb.html
  16. 1 5
      src/main/webapp/WEB-INF/views/web/planning/PlanningDetailFormWeb.html
  17. BIN
      src/main/webapp/images/pc/ico_newbenefit1.png
  18. BIN
      src/main/webapp/images/pc/ico_newbenefit2.png
  19. BIN
      src/main/webapp/images/pc/ico_newbenefit3.png
  20. 2 2
      src/main/webapp/ux/mo/css/common_m.css
  21. 49 2
      src/main/webapp/ux/mo/css/layout_m.css
  22. 5 0
      src/main/webapp/ux/mo/css/style24_m.css
  23. 11 5
      src/main/webapp/ux/mo/js/common_m.js
  24. 1 1
      src/main/webapp/ux/pc/css/layout.css
  25. 31 6
      src/main/webapp/ux/pc/js/common-ui.js
  26. 1 4
      src/main/webapp/ux/style24_link.js

+ 26 - 5
src/main/java/com/style24/front/biz/web/TsfGoodsController.java

@@ -190,23 +190,29 @@ public class TsfGoodsController extends TsfBaseController {
 			mav.addObject("goodsDealComposeList", goodsDealComposeList);
 			mav.addObject("goodsDealComposeList", goodsDealComposeList);
 
 
 			Collection<Coupon> goodsCouponList = new ArrayList<Coupon>();
 			Collection<Coupon> goodsCouponList = new ArrayList<Coupon>();
+			ArrayList<String> arrGoodsList = new ArrayList<>();
 			// 상품쿠폰
 			// 상품쿠폰
 			if (goodsDealComposeList != null && !goodsDealComposeList.isEmpty()) {
 			if (goodsDealComposeList != null && !goodsDealComposeList.isEmpty()) {
-
-				ArrayList<String> arrGoodsList = new ArrayList<>();
 				for (Goods goodsCompose : goodsDealComposeList) {
 				for (Goods goodsCompose : goodsDealComposeList) {
-
 					arrGoodsList.add(goodsCompose.getCompsGoodsCd());
 					arrGoodsList.add(goodsCompose.getCompsGoodsCd());
 				}
 				}
 
 
 				String[] arrGoodsCd = arrGoodsList.stream().toArray(String[]::new);
 				String[] arrGoodsCd = arrGoodsList.stream().toArray(String[]::new);
 
 
 				paramsGoods.setArrGoodsCd(arrGoodsCd);
 				paramsGoods.setArrGoodsCd(arrGoodsCd);
-				paramsGoods.setMaxRownum(1);
-				goodsCouponList = couponService.getGoodsCouponList(paramsGoods);
 			}
 			}
+			paramsGoods.setMaxRownum(1);
+			goodsCouponList = couponService.getGoodsCouponList(paramsGoods);
 			mav.addObject("goodsCouponList", goodsCouponList);
 			mav.addObject("goodsCouponList", goodsCouponList);
+			
+			// 다다익선
+			paramsGoods.setMaxRownum(1);
+			mav.addObject("tmtbList", goodsService.getTmtbList(paramsGoods));
 
 
+			// 사은품
+			paramsGoods.setMaxRownum(1);
+			mav.addObject("freeGoodsList", goodsService.getFreeGoodsList(paramsGoods));
+			
 			// 딜용 상품평건수
 			// 딜용 상품평건수
 			Review review = new Review();
 			Review review = new Review();
 			review.setGoodsCd(goods.getGoodsCd());
 			review.setGoodsCd(goods.getGoodsCd());
@@ -590,6 +596,21 @@ public class TsfGoodsController extends TsfBaseController {
 		setGoods(paramsGoods);
 		setGoods(paramsGoods);
 		Goods goods = goodsService.getGoodsInfo(paramsGoods);
 		Goods goods = goodsService.getGoodsInfo(paramsGoods);
 
 
+		if (TscConstants.GoodsType.DEAL.value().equals(goods.getGoodsType())) {	// 딜상품
+			Collection<Goods> goodsDealComposeList = goodsService.getGoodsDealComposeList(paramsGoods);
+			Collection<Coupon> goodsCouponList = new ArrayList<Coupon>();
+			ArrayList<String> arrGoodsList = new ArrayList<>();
+			// 상품쿠폰
+			if (goodsDealComposeList != null && !goodsDealComposeList.isEmpty()) {
+				for (Goods goodsCompose : goodsDealComposeList) {
+					arrGoodsList.add(goodsCompose.getCompsGoodsCd());
+				}
+
+				String[] arrGoodsCd = arrGoodsList.stream().toArray(String[]::new);
+
+				paramsGoods.setArrGoodsCd(arrGoodsCd);
+			}
+			}
 		// 쿠폰정보
 		// 쿠폰정보
 		paramsGoods.setMaxRownum(1);
 		paramsGoods.setMaxRownum(1);
 		mav.addObject("goodsCouponList", couponService.getGoodsCouponList(paramsGoods));
 		mav.addObject("goodsCouponList", couponService.getGoodsCouponList(paramsGoods));

+ 9 - 1
src/main/java/com/style24/front/biz/web/TsfPlanningController.java

@@ -424,6 +424,13 @@ public class TsfPlanningController extends TsfBaseController {
 	@GetMapping("/event/poll/form")
 	@GetMapping("/event/poll/form")
 	public ModelAndView planningEventPollSave(Plan plan) {
 	public ModelAndView planningEventPollSave(Plan plan) {
 		ModelAndView mav = new ModelAndView();
 		ModelAndView mav = new ModelAndView();
+		// 로그인 안 한 경우
+		if (!TsfSession.isLogin()) {
+			mav.addObject("inaccessibleMsg", "로그인 후 참여 가능합니다.");
+			mav.setViewName(super.getDeviceViewName("error/Inaccess"));
+			return mav;
+		}
+		
 		Poll poll = new Poll();
 		Poll poll = new Poll();
 		plan.setSiteCd(TscConstants.Site.STYLE24.value());
 		plan.setSiteCd(TscConstants.Site.STYLE24.value());
 		plan.setCustNo(TsfSession.getInfo().getCustNo());
 		plan.setCustNo(TsfSession.getInfo().getCustNo());
@@ -431,7 +438,8 @@ public class TsfPlanningController extends TsfBaseController {
 		poll = planningService.getPollQuestionInfo(plan);                 
 		poll = planningService.getPollQuestionInfo(plan);                 
 		String partYn = poll.getDupPartiYn();                             
 		String partYn = poll.getDupPartiYn();                             
 		String comYn = poll.getFstComYn();                                
 		String comYn = poll.getFstComYn();                                
-		int partiCnt = poll.getPartiCnt();   
+		int partiCnt = poll.getPartiCnt();  
+		
 		// 중복참여가 아닌경우                                                     
 		// 중복참여가 아닌경우                                                     
 		if(partYn.equals("N")) {                                          
 		if(partYn.equals("N")) {                                          
 			int count = planningService.getCustAnswerCount(plan);
 			int count = planningService.getCustAnswerCount(plan);

+ 3 - 2
src/main/java/com/style24/front/support/security/handler/TsfLoginSuccessHandler.java

@@ -47,9 +47,10 @@ public class TsfLoginSuccessHandler implements AuthenticationSuccessHandler {
 		"/customer/password/change/form",			// 비밀번호 변경 화면
 		"/customer/password/change/form",			// 비밀번호 변경 화면
 		"/customer/join/complete/form",				// 회원가입완료
 		"/customer/join/complete/form",				// 회원가입완료
 		"/customer/join/type/form",					// 회원가입유형
 		"/customer/join/type/form",					// 회원가입유형
-		"/customer/dormant/certify/complete/form",	// 휴면해제
+		"/customer/dormant/certify/form",			// 휴면해제화면
+		"/customer/dormant/certify/complete/form",	// 휴면해제완료
 		"/customer/certification/form",				// 본인인증화면
 		"/customer/certification/form",				// 본인인증화면
-		"customer/noncust/order/confirm/form"		// 비회원주문화면
+		"/customer/noncust/order/confirm/form"		// 비회원주문화면
 	};
 	};
 
 
 	private static final int CHANG_PWD_CAMPAIGN_DAY = 90;	// 비밀번호 변경 캠페인일자
 	private static final int CHANG_PWD_CAMPAIGN_DAY = 90;	// 비밀번호 변경 캠페인일자

+ 23 - 3
src/main/java/com/style24/persistence/mybatis/shop/TsfGoods.xml

@@ -1031,13 +1031,33 @@
 		                               AND C.TMTB_SECTION_SQ  = D.TMTB_SECTION_SQ  
 		                               AND C.TMTB_SECTION_SQ  = D.TMTB_SECTION_SQ  
 		                               AND D.DEL_YN  = 'N'
 		                               AND D.DEL_YN  = 'N'
 		      INNER JOIN TB_TMTB_APPLY_GOODS B ON A.TMTB_SQ = B.TMTB_SQ
 		      INNER JOIN TB_TMTB_APPLY_GOODS B ON A.TMTB_SQ = B.TMTB_SQ
+		                                       <choose>
+		                                           <when test="arrGoodsCd != null and arrGoodsCd != ''">
+		                                       AND B.GOODS_CD IN
+		                                           <foreach collection="arrGoodsCd" item="item" index="index"  open="(" close=")" separator=",">
+		                                           UPPER(#{item})
+		                                           </foreach>
+		                                           </when>
+		                                           <otherwise>
 		                                       AND B.GOODS_CD =  #{goodsCd}
 		                                       AND B.GOODS_CD =  #{goodsCd}
+		                                           </otherwise>
+		                                       </choose>
 		                                       AND B.DEL_YN = 'N'
 		                                       AND B.DEL_YN = 'N'
 		                                       AND B.GOODS_GB IN ( 'G800_10', 'G800_20')  -- 기본과 적용상품
 		                                       AND B.GOODS_GB IN ( 'G800_10', 'G800_20')  -- 기본과 적용상품
 		      LEFT OUTER JOIN TB_TMTB_APPLY_GOODS E ON A.TMTB_SQ = E.TMTB_SQ
 		      LEFT OUTER JOIN TB_TMTB_APPLY_GOODS E ON A.TMTB_SQ = E.TMTB_SQ
-		                                       AND E.GOODS_CD = #{goodsCd}
-		                                       AND E.DEL_YN = 'N'
-		                                       AND E.GOODS_GB = 'G800_30'  -- 제외상품 
+		                                            <choose>
+		                                                <when test="arrGoodsCd != null and arrGoodsCd != ''">
+		                                            AND E.GOODS_CD IN
+		                                                <foreach collection="arrGoodsCd" item="item" index="index"  open="(" close=")" separator=",">
+		                                                UPPER(#{item})
+		                                                </foreach>
+		                                                </when>
+		                                                <otherwise>
+		                                            AND E.GOODS_CD =  #{goodsCd}
+		                                                </otherwise>
+		                                            </choose>
+		                                            AND E.DEL_YN = 'N'
+		                                            AND E.GOODS_GB = 'G800_30'  -- 제외상품 
 		      WHERE NOW() BETWEEN A.TMTB_ST_DT AND A.TMTB_ED_DT
 		      WHERE NOW() BETWEEN A.TMTB_ST_DT AND A.TMTB_ED_DT
 		      AND A.TMTB_STAT ='G232_11'  -- 진행중
 		      AND A.TMTB_STAT ='G232_11'  -- 진행중
 		      AND A.DEL_YN = 'N'
 		      AND A.DEL_YN = 'N'

+ 0 - 5
src/main/webapp/WEB-INF/views/mob/mypage/MypageCustModifyFormMob.html

@@ -500,11 +500,6 @@
 		cfnOpenCellphoneCertify(_PAGE_MYPAGE_CUSTOMER_MODIFY+'?confirmYn=Y');
 		cfnOpenCellphoneCertify(_PAGE_MYPAGE_CUSTOMER_MODIFY+'?confirmYn=Y');
 	});
 	});
 
 
-	$(".btn_back").on("click", function () {
-		console.log("here");
-		cfnGoToPage(_PAGE_MYPAGE_CUSTOMER);
-	});
-
 	$(document).ready(function(){
 	$(document).ready(function(){
 		if (!gagajf.isNull(sEncData)) {
 		if (!gagajf.isNull(sEncData)) {
 			fnNiceCallBack(sEncData, authMethod);
 			fnNiceCallBack(sEncData, authMethod);

+ 100 - 75
src/main/webapp/WEB-INF/views/mob/mypage/MypageCustPwdModifyFormMob.html

@@ -17,90 +17,90 @@
 <style>
 <style>
 	.hide{display: none;}
 	.hide{display: none;}
 </style>
 </style>
-	<div class="modal-dialog" role="document">
-		<div class="modal-content">
-			<div class="modal-header htop">
-				<h5 class="modal-title" id="passwordChangeLabel">비밀번호 변경</h5>
-			</div>
-			<div class="modal-body">
-				<div class="pop_cont">
-					<div class="pass_confirm">
-						<form id="pwdModifyForm" class="form_wrap">
-							<input type="hidden" name="custId" th:value="${custId}"/>
-							<div class="form_field">
-								<label class="input_label sr-only">기존 비밀번호를 입력해주세요.</label>
-								<div class="ui_col_12">
-									<input type="password" nid="orgPasswd" name="orgPasswd" placeholder="기존 비밀번호를 입력해주세요." class="form_control" minlength="8" maxlength="20" required="required" data-valid-name="기존 비밀번호"/>
-								</div>
+<div class="modal-dialog" role="document">
+	<div class="modal-content">
+		<div class="modal-header htop">
+			<h5 class="modal-title" id="passwordChangeLabel">비밀번호 변경</h5>
+		</div>
+		<div class="modal-body">
+			<div class="pop_cont">
+				<div class="pass_confirm">
+					<form id="pwdModifyForm" class="form_wrap">
+						<input type="hidden" name="custId" th:value="${custId}"/>
+						<div class="form_field">
+							<label class="input_label sr-only">기존 비밀번호를 입력해주세요.</label>
+							<div class="ui_col_12">
+								<input type="password" id="orgPasswd" name="orgPasswd" placeholder="기존 비밀번호를 입력해주세요." class="form_control" minlength="8" maxlength="20" required="required" data-valid-name="기존 비밀번호"/>
 							</div>
 							</div>
-							<div class="form_field">
-								<label class="input_label sr-only">신규 비밀번호를 입력해주세요.</label>
-								<div class="ui_col_12">
-									<input type="password" id="passwd" name="passwd" placeholder="신규 비밀번호를 입력해주세요.(8~20자 영문, 숫자, 특수문자 중 2가지 이상 조합)" class="form_control" minlength="8" maxlength="20" required="required" data-valid-name="신규 비밀번호"/>
-									<!-- case (사용불가 비밀번호일경우,사용가능한 비밀번호일경우) -->
-									<div class="help_block">
-										<!-- 사용불가 비밀번호일경우 -->
-										<p class="mt10">
-											<span id="firstFailed" class="c_gray">
-												<i class="ico ico_check gray mr5"></i>영문(대/소문자), 숫자, 특수문자 중 2가지 이상 조합(8~20자)<br>
-											</span>
-											<span id="secondFailed" class="c_gray">
-												<i class="ico ico_check gray mr5"></i>4개이상연속되거나 동일한 문자, 숫자 제외<br>
-											</span>
-											<span id="thirdFailed" class="c_gray">
-												<i class="ico ico_check gray mr5"></i>아이디제외
-											</span>
-										</p>
-										<!-- //사용불가 비밀번호일경우 -->
-										<!-- 사용가능한 비밀번호일경우 -->
-										<p id="avlPwd" class="mt10 hide">
-											<span class="c_black2">
-												<i class="ico ico_check black mr5"></i>사용 가능한 비밀번호입니다.
-											</span>
-										</p>
-										<!-- //사용가능한 비밀번호일경우 -->
-									</div>
-									<!-- //case (사용불가 비밀번호일경우,사용가능한 비밀번호일경우) -->
+						</div>
+						<div class="form_field">
+							<label class="input_label sr-only">신규 비밀번호를 입력해주세요.</label>
+							<div class="ui_col_12">
+								<input type="password" id="passwd" name="passwd" placeholder="신규 비밀번호를 입력해주세요.(8~20자 영문, 숫자, 특수문자 중 2가지 이상 조합)" class="form_control" minlength="8" maxlength="20" required="required" data-valid-name="신규 비밀번호"/>
+								<!-- case (사용불가 비밀번호일경우,사용가능한 비밀번호일경우) -->
+								<div class="help_block">
+									<!-- 사용불가 비밀번호일경우 -->
+									<p class="mt10">
+										<span id="firstFailed" class="c_gray">
+											<i class="ico ico_check gray mr5"></i>영문(대/소문자), 숫자, 특수문자 중 2가지 이상 조합(8~20자)<br>
+										</span>
+										<span id="secondFailed" class="c_gray">
+											<i class="ico ico_check gray mr5"></i>4개이상연속되거나 동일한 문자, 숫자 제외<br>
+										</span>
+										<span id="thirdFailed" class="c_gray">
+											<i class="ico ico_check gray mr5"></i>아이디제외
+										</span>
+									</p>
+									<!-- //사용불가 비밀번호일경우 -->
+									<!-- 사용가능한 비밀번호일경우 -->
+									<p id="avlPwd" class="mt10 hide">
+										<span class="c_black2">
+											<i class="ico ico_check black mr5"></i>사용 가능한 비밀번호입니다.
+										</span>
+									</p>
+									<!-- //사용가능한 비밀번호일경우 -->
 								</div>
 								</div>
+								<!-- //case (사용불가 비밀번호일경우,사용가능한 비밀번호일경우) -->
 							</div>
 							</div>
-							<div class="form_field">
-								<label class="input_label sr-only">신규 비밀번호를 다시 입력해주세요.</label>
-								<div class="ui_col_12">
-									<input type="password" id="confirmPassword" name="confirmPassword" placeholder="신규 비밀번호를 다시 입력해주세요." class="form_control" minlength="8" maxlength="20" required="required" data-valid-name="신규 비밀번호 확인"/>
-									<div class="help_block">
-										<!-- 비밀번호확인 틀렸을경우 -->
-										<p id="misPwd" class="hide">
-											<span class="t_err">
-												새 비밀번호가 일치하지 않습니다.
-											</span>
-										</p>
-										<!-- //비밀번호확인 틀렸을경우 -->
-										<!-- 비밀번호 일치할경우 -->
-										<p id="avlConPwd" class=" hide">
-											<span class="c_black2">
-												<i class="ico ico_check black mr5"></i>새 비밀번호가 일치합니다.
-											</span>
-										</p>
-										<!-- //비밀번호 일치할경우 -->
-									</div>
+						</div>
+						<div class="form_field">
+							<label class="input_label sr-only">신규 비밀번호를 다시 입력해주세요.</label>
+							<div class="ui_col_12">
+								<input type="password" id="confirmPassword" name="confirmPassword" placeholder="신규 비밀번호를 다시 입력해주세요." class="form_control" minlength="8" maxlength="20" required="required" data-valid-name="신규 비밀번호 확인"/>
+								<div class="help_block">
+									<!-- 비밀번호확인 틀렸을경우 -->
+									<p id="misPwd" class="hide">
+										<span class="t_err">
+											새 비밀번호가 일치하지 않습니다.
+										</span>
+									</p>
+									<!-- //비밀번호확인 틀렸을경우 -->
+									<!-- 비밀번호 일치할경우 -->
+									<p id="avlConPwd" class=" hide">
+										<span class="c_black2">
+											<i class="ico ico_check black mr5"></i>새 비밀번호가 일치합니다.
+										</span>
+									</p>
+									<!-- //비밀번호 일치할경우 -->
 								</div>
 								</div>
 							</div>
 							</div>
-							<div class="btn_group_flex">
-								<div>
-									<button type="button" id="btnClose" class="btn btn_default"><span>취소</span></button>
-								</div>
-								<div>
-									<button type="button" id="btnSavePassword" class="btn btn_dark"><span>변경</span></button> <!-- 210409_추가 : btn_password_confirm id 추가 -->
-								</div>
+						</div>
+						<div class="btn_group_flex">
+							<div>
+								<button type="button" id="btnClose" class="btn btn_default"><span>취소</span></button>
 							</div>
 							</div>
-						</form>
-					</div>
+							<div>
+								<button type="button" id="btnSavePassword" class="btn btn_dark"><span>변경</span></button> <!-- 210409_추가 : btn_password_confirm id 추가 -->
+							</div>
+						</div>
+					</form>
 				</div>
 				</div>
 			</div>
 			</div>
-			<div class="modal-footer" style="display:none;"></div>
 		</div>
 		</div>
+		<div class="modal-footer" style="display:none;"></div>
 	</div>
 	</div>
-	<a href="#close-modal" rel="modal:close" id="passwordPop_close" class="close-modal">Close</a>
+</div>
+<a href="#close-modal" rel="modal:close" id="passwordPop_close" class="close-modal">Close</a>
 
 
 <script th:src="@{'/biz/customer.js?v=' + ${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}}" src="/biz/customer.js"></script>
 <script th:src="@{'/biz/customer.js?v=' + ${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}}" src="/biz/customer.js"></script>
 <script th:inline="javascript">
 <script th:inline="javascript">
@@ -264,7 +264,32 @@
 		}
 		}
 	};
 	};
 
 
+	var fnDataInit = function () {
+		const $firstFailed = $('#firstFailed');
+		const $secondFailed = $('#secondFailed');
+		const $thirdFailed = $('#thirdFailed');
+		const $avlPwd = $('#avlPwd');
+		const $misPwd = $('#misPwd');
+		const $avlConPwd = $('#avlConPwd');
+
+		const gray = 'c_gray';
+		$firstFailed.attr('class', gray);
+		$secondFailed.attr('class', gray);
+		$thirdFailed.attr('class', gray);
+		$avlPwd.hide();
+		$misPwd.hide();
+		$avlConPwd.hide();
+
+		checkPwd = '';
+		checkConfirmPwd = '';
+		$('#pwdModifyForm .form_control').val('');
+	}
+
+	$(document).ready(function() {
+
+	});
+
 
 
 	/*]]>*/
 	/*]]>*/
 </script>
 </script>
-</html>
+</html>

+ 6 - 8
src/main/webapp/WEB-INF/views/web/callcenter/OneToOneQnaRegisterFormWeb.html

@@ -108,14 +108,12 @@
 									<div class="form_field">
 									<div class="form_field">
 										<label class="ui_col_2 input_label">알림톡 수신 여부</label>
 										<label class="ui_col_2 input_label">알림톡 수신 여부</label>
 										<div class="ui_col_10 push_agree">
 										<div class="ui_col_10 push_agree">
-											<div class="input_wrap">
-												<div>
-													<input type="radio" name="smsReqYn" id="smsReqYn1" value="Y" checked="checked"><label for="smsReqYn1"><span>수신</span></label>
-												</div>
-												<div>
-													<input type="radio" name="smsReqYn" id="smsReqYn2" value="N"><label for="smsReqYn2"><span>미수신</span></label>
-												</div>
-											</div> 
+											<div>
+												<input type="radio" name="smsReqYn" id="smsReqYn1" value="Y" checked="checked"><label for="smsReqYn1"><span>수신</span></label>
+											</div>
+											<div>
+												<input type="radio" name="smsReqYn" id="smsReqYn2" value="N"><label for="smsReqYn2"><span>미수신</span></label>
+											</div>
 										</div>
 										</div>
 									</div>
 									</div>
 								</form>
 								</form>

+ 35 - 25
src/main/webapp/WEB-INF/views/web/common/fragments/GnbWeb.html

@@ -856,30 +856,30 @@
 									tag +=' 	<button class="btn_toggle_bnr"><span>열기</span></button>';
 									tag +=' 	<button class="btn_toggle_bnr"><span>열기</span></button>';
 								}
 								}
 								tag +='</div>';
 								tag +='</div>';
-								if(item.strVar8=='Y'){
-									tag+='<div class="close_bnr_area">';
-									tag+=' 	<form class="form_wrap">';
-									tag+=' 		<div class="form_field">';
-									tag+=' 			<input id="chk-cookie" type="checkbox"><label for="chk-cookie"><span>오늘 하루 보지 않기</span></label>';
-									tag+=' 		</div>';
-									tag+=' 	</form>';
-									tag+=' 	<button id="btn_close_bnr" class="btn_close" onclick="fnGnbTobBannerClose(1);"><span>닫기</span></button>';
-									tag+='</div>';
-								}
+								//if(item.strVar8=='Y'){
+								//	tag+='<div class="close_bnr_area">';
+								//	tag+=' 	<form class="form_wrap">';
+								//	tag+=' 		<div class="form_field">';
+								//	tag+=' 			<input id="chk-cookie" type="checkbox"><label for="chk-cookie"><span>오늘 하루 보지 않기</span></label>';
+								//	tag+=' 		</div>';
+								//	tag+=' 	</form>';
+								//	tag+=' 	<button id="btn_close_bnr" class="btn_close" onclick="fnGnbTobBannerClose(1);"><span>닫기</span></button>';
+								//	tag+='</div>';
+								//}
 							}else if(item.contentsType == 'IMG'){
 							}else if(item.contentsType == 'IMG'){
 								tag+='<div class="bnrtype_img" style="background-color:#'+item.strVar5+';">';
 								tag+='<div class="bnrtype_img" style="background-color:#'+item.strVar5+';">';
 								tag+=' 	<a href="'+item.strVar1+'" target="">';
 								tag+=' 	<a href="'+item.strVar1+'" target="">';
 								tag+=' 		<img src="'+bannerImgUrl+''+item.imgPath1+'" alt=""/>';
 								tag+=' 		<img src="'+bannerImgUrl+''+item.imgPath1+'" alt=""/>';
 								tag+=' 	</a>';
 								tag+=' 	</a>';
 								tag+='</div>';
 								tag+='</div>';
-								tag+='<div class="close_bnr_area">';
-								tag+=' 	<form class="form_wrap">';
-								tag+=' 		<div class="form_field">';
-								tag+=' 			<input id="chk-cookie" type="checkbox"><label for="chk-cookie"><span>오늘 하루 보지 않기</span></label>';
-								tag+=' 		</div>';
-								tag+=' 	</form>';
-								tag+=' 	<button id="btn_close_bnr" class="btn_close" onclick="fnGnbTobBannerClose(1);"><span>닫기</span></button>';
-								tag+='</div>';
+								//tag+='<div class="close_bnr_area">';
+								//tag+=' 	<form class="form_wrap">';
+								//tag+=' 		<div class="form_field">';
+								//tag+=' 			<input id="chk-cookie" type="checkbox"><label for="chk-cookie"><span>오늘 하루 보지 않기</span></label>';
+								//tag+=' 		</div>';
+								//tag+=' 	</form>';
+								//tag+=' 	<button id="btn_close_bnr" class="btn_close" onclick="fnGnbTobBannerClose(1);"><span>닫기</span></button>';
+								//tag+='</div>';
 							}else{
 							}else{
 								tag+='<div class="bnrtype_text" style="background-color:#fd4801;">';
 								tag+='<div class="bnrtype_text" style="background-color:#fd4801;">';
 								tag+=' 	<a href="'+item.strVar1+'" target="">';
 								tag+=' 	<a href="'+item.strVar1+'" target="">';
@@ -888,15 +888,25 @@
 								tag+=' 		</div>';
 								tag+=' 		</div>';
 								tag+=' 	</a>';
 								tag+=' 	</a>';
 								tag+='</div>';
 								tag+='</div>';
-								tag+='<div class="close_bnr_area">';
-								tag+=' 	<form class="form_wrap">';
-								tag+=' 		<div class="form_field">';
-								tag+=' 			<input id="chk-cookie" type="checkbox"><label for="chk-cookie"><span>오늘 하루 보지 않기</span></label>';
-								tag+=' 		</div>';
-								tag+=' 	</form>';
+								//tag+='<div class="close_bnr_area">';
+								//tag+=' 	<form class="form_wrap">';
+								//tag+=' 		<div class="form_field">';
+								//tag+=' 			<input id="chk-cookie" type="checkbox"><label for="chk-cookie"><span>오늘 하루 보지 않기</span></label>';
+								//tag+=' 		</div>';
+								//tag+=' 	</form>';
+								//tag+=' 	<button id="btn_close_bnr" class="btn_close" onclick="fnGnbTobBannerClose(1);"><span>닫기</span></button>';
+								//tag+='</div>';
+							}
+							tag+='<div class="close_bnr_area">';
+							tag+=' 	<form class="form_wrap">';
+							tag+=' 		<div class="form_field">';
+							tag+=' 			<input id="chk-cookie" type="checkbox"><label for="chk-cookie"><span>오늘 하루 보지 않기</span></label>';
+							tag+=' 		</div>';
+							tag+=' 	</form>';
+							if(item.contentsType != 'OPEN' || (item.contentsType == 'OPEN' && item.strVar8=='Y')){
 								tag+=' 	<button id="btn_close_bnr" class="btn_close" onclick="fnGnbTobBannerClose(1);"><span>닫기</span></button>';
 								tag+=' 	<button id="btn_close_bnr" class="btn_close" onclick="fnGnbTobBannerClose(1);"><span>닫기</span></button>';
-								tag+='</div>';
 							}
 							}
+							tag+='</div>';
 
 
 							if(bannerYn=="Y"){
 							if(bannerYn=="Y"){
 								$('#divTopbanner').html(tag);
 								$('#divTopbanner').html(tag);

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

@@ -58,7 +58,34 @@
 				<h4>신규회원 혜택안내</h4>
 				<h4>신규회원 혜택안내</h4>
 			</div>
 			</div>
 			<div class="cont_body">
 			<div class="cont_body">
-				<img src="/images/pc/img_mb_join_done.jpg" alt="신규회원 혜택안내 내용">
+			<div class="new_benefits">
+					<h5>STYLE24 신규회원에게 드리는<br>다양한 혜택 안내</h5>
+					<div class="benefits_list">
+						<ul class="clear">
+							<li>
+								<img src="/images/pc/ico_newbenefit1.png" alt="STYLE24 등급혜택 받기!">
+								<p>
+									STYLE24<br>
+									등급혜택 받기!
+								</p>
+							</li>
+							<li>
+								<img src="/images/pc/ico_newbenefit2.png" alt="STYLE24 포인트 사용/적립 혜택!">
+								<p>
+									STYLE24 포인트<br>
+									사용/적립 혜택!
+								</p>
+							</li>
+							<li>
+								<img src="/images/pc/ico_newbenefit3.png" alt="간편 결제로 쉽고 빠르게 주문!">
+								<p>
+									간편 결제로<br>
+									쉽고 빠르게 주문!
+								</p>
+							</li>
+						</ul>
+					</div>
+				</div>
 				<div class="btn_group_block btn_group_md ui_row">
 				<div class="btn_group_block btn_group_md ui_row">
 					<div class="ui_col_12">
 					<div class="ui_col_12">
 						<button type="button" class="btn btn_primary btn_block" onclick="cfnGoToPage(_PAGE_MAIN);">
 						<button type="button" class="btn btn_primary btn_block" onclick="cfnGoToPage(_PAGE_MAIN);">

+ 63 - 23
src/main/webapp/WEB-INF/views/web/display/CategoryGoodsListFormWeb.html

@@ -267,6 +267,13 @@
 								</div>
 								</div>
 
 
 							</div>
 							</div>
+							<div class="list_content">
+								<div class="list_defult" id="endPage">
+									<div>
+										<p>마지막 페이지 입니다.</p>
+									</div>
+								</div>
+							</div>
 						</div>
 						</div>
 					</form>
 					</form>
 				</div>
 				</div>
@@ -296,7 +303,6 @@
 		var custom_values = [];
 		var custom_values = [];
 		var custom_values02  = [];
 		var custom_values02  = [];
 		var currUrl = document.location.href;
 		var currUrl = document.location.href;
-		console.log('currUrl>>'+currUrl);
 
 
 		// 컨텐츠 호출
 		// 컨텐츠 호출
 		$(document).ready( function() {
 		$(document).ready( function() {
@@ -413,8 +419,6 @@
 			$("#searchGoodsForm input:hidden[name=dcrateHigh]").remove();
 			$("#searchGoodsForm input:hidden[name=dcrateHigh]").remove();
 			let min = data.from;
 			let min = data.from;
 			let max = data.to;
 			let max = data.to;
-			console.log('DcRate from>>'+custom_values02[min].replace('%',''));
-			console.log('DcRate to>>'+custom_values02[max].replace('%',''));
 			$("#price_input_from").val(0);
 			$("#price_input_from").val(0);
 			$("#price_input_to").val(100);
 			$("#price_input_to").val(100);
 
 
@@ -461,11 +465,14 @@
 				gagaInfiniteScroll.draw(htm);
 				gagaInfiniteScroll.draw(htm);
 				fnImgOnoff();
 				fnImgOnoff();
 			}else {
 			}else {
-				if($("#searchForm input[name=pageNo]").val()==1){
-					$('#listBox').html('<li class="none">상품정보가 존재하지 않습니다.</li>');
-				}else{
+				if($("#searchGoodsForm input[name=pageNo]").val()==1){
+					// 필터 값으로 조회 데이터 없을때
 					$('.list_content .list_defult').show();
 					$('.list_content .list_defult').show();
 					$('.list_content .count_wrap').hide();
 					$('.list_content .count_wrap').hide();
+				}else{
+					// 마지막 페이지 일때
+					$('#endPage').show();
+					$('.list_content .count_wrap').hide();
 				}
 				}
 				gagaInfiniteScroll.draw('not');
 				gagaInfiniteScroll.draw('not');
 			}
 			}
@@ -474,7 +481,6 @@
 		var fnCreateCategoryList = function (){
 		var fnCreateCategoryList = function (){
 			let actionUrl = '';
 			let actionUrl = '';
 			let brandGroupNo = [[${cateInfo.brandGroupNo}]];
 			let brandGroupNo = [[${cateInfo.brandGroupNo}]];
-			console.log('brand::'+[[${cateInfo.brandGroupNo}]]);
 			if(gagajf.isNull(brandGroupNo) || brandGroupNo == 0){
 			if(gagajf.isNull(brandGroupNo) || brandGroupNo == 0){
 				actionUrl = '/display/gnb/tab/list';
 				actionUrl = '/display/gnb/tab/list';
 			}else{
 			}else{
@@ -483,22 +489,23 @@
 			
 			
 			$.getJSON(actionUrl
 			$.getJSON(actionUrl
 				, function(result, status) {
 				, function(result, status) {
-					console.log('result.length>>'+result.length);
 					//if (status == 'success') {
 					//if (status == 'success') {
 					if (result.length > 0) {
 					if (result.length > 0) {
-						console.log('fnGetCategoryList formalGbc:::'+[[${cateInfo.formalGb}]]);
-						console.log('fnGetCategoryList cateGb:::'+[[${cateInfo.cateGb}]]);
 						let formalGb = [[${cateInfo.formalGb}]];
 						let formalGb = [[${cateInfo.formalGb}]];
 						let cateGb = 'G032_101';
 						let cateGb = 'G032_101';
+						let navNm = '';
 						$('#ulAllCate').html('');
 						$('#ulAllCate').html('');
 						if(formalGb=='G009_20'){
 						if(formalGb=='G009_20'){
+							$("#navNm").hide();
 							$('#ulAllCate').append('<li><a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\''+cateGb+'\',\'\',\'\',\'\',\'\',\'\',\''+formalGb+'\');">전체</a></li>\n');
 							$('#ulAllCate').append('<li><a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\''+cateGb+'\',\'\',\'\',\'\',\'\',\'\',\''+formalGb+'\');">전체</a></li>\n');
+							navNm += '<li class="bread_2depth" id="navNm">아울렛</li><li class="bread_2depth" id="navNm1">전체</li>';
 						}else{
 						}else{
 							$('#ulAllCate').append('<li><a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\''+cateGb+'\');">전체</a></li>\n');
 							$('#ulAllCate').append('<li><a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\''+cateGb+'\');">전체</a></li>\n');
+							navNm += '<li class="bread_2depth" id="navNm1">전체</li>';
 						}
 						}
 						
 						
 						if(gagajf.isNull($("#searchGoodsForm").find("[name=cate1No]").val())){
 						if(gagajf.isNull($("#searchGoodsForm").find("[name=cate1No]").val())){
-							$("#navArea").append('전체');
+							$("#navArea").append(navNm);
 							$("#formTitle").text('전체');
 							$("#formTitle").text('전체');
 						}
 						}
 
 
@@ -551,20 +558,26 @@
 					tag += ' class="on"';
 					tag += ' class="on"';
 					formTitle = cate1.cate1Nm;
 					formTitle = cate1.cate1Nm;
 					$("#formTitle").text(formTitle);
 					$("#formTitle").text(formTitle);
+					$("#navNm").hide();
+					if(formalGb=='G009_20'){
+						navNm += '<li class="bread_2depth" id="navNm1">아울렛</li>';
+					}
+					navNm += '<li class="bread_2depth" id="navNm1">' + cate1.cate1Nm + '</li>';
 					if (brandGroupNo == 0) {
 					if (brandGroupNo == 0) {
 						$("#navHome").attr('href', '/');
 						$("#navHome").attr('href', '/');
-						$("#navNm").text(cate1.cate1Nm);
+						$("#navArea").append(navNm);
 					} else {
 					} else {
 						$("#navHome").attr('onclick', 'cfnGoToBrandMain(' + brandGroupNo + ');');
 						$("#navHome").attr('onclick', 'cfnGoToBrandMain(' + brandGroupNo + ');');
-						$("#navNm").text(cate1.cate1Nm);
+						$("#navArea").append(navNm);
 					}
 					}
 				}else if(cate1.cate1No == cate1No && cate3No == null){
 				}else if(cate1.cate1No == cate1No && cate3No == null){
-					//if(formalGb=='G009_20'){
-					//	$("#navNm").text('아울렛');
-					//}else{
-					//	$("#navNm").text(cate1.cate1Nm);
-					//}
-					$("#navNm").text(cate1.cate1Nm);
+					$("#navNm").hide();
+					if(formalGb=='G009_20'){
+						navNm += '<li class="bread_2depth" id="navNm1">아울렛</li>';
+					}
+					navNm += '<li class="bread_2depth" id="navNm1">' + cate1.cate1Nm + '</li>';
+					$("#navArea").append(navNm);
+					//$("#navNm").text(cate1.cate1Nm);
 				}else if(cate3No != null){
 				}else if(cate3No != null){
 					$("#navNm").hide();
 					$("#navNm").hide();
 				}
 				}
@@ -594,8 +607,10 @@
 							$("#navArea").append(navNm);
 							$("#navArea").append(navNm);
 							$("#formTitle").text(cate2.cate2Nm);
 							$("#formTitle").text(cate2.cate2Nm);
 						}else if(cate2.cate2No == cate2No){
 						}else if(cate2.cate2No == cate2No){
-							console.log('0111');
-							navNm = '<li class="bread_2depth" id="navNm1">' + cate1.cate1Nm + '</li>';
+							if(formalGb=='G009_20'){
+								navNm += '<li class="bread_2depth" id="navNm1">아울렛</li>';
+							}
+							navNm += '<li class="bread_2depth" id="navNm1">' + cate1.cate1Nm + '</li>';
 							$("#navArea").append(navNm);
 							$("#navArea").append(navNm);
 						}
 						}
 						if(formalGb=='G009_20'){
 						if(formalGb=='G009_20'){
@@ -618,13 +633,11 @@
 								tag += '>';
 								tag += '>';
 								tag += '		<a href="javascript:javascript:void(0);" ';
 								tag += '		<a href="javascript:javascript:void(0);" ';
 								if (cate3.cate3No == cate3No && cate4No == null) {
 								if (cate3.cate3No == cate3No && cate4No == null) {
-									console.log('1111');
 									tag += ' class="on"';
 									tag += ' class="on"';
 									navNm = '<li class="bread_2depth" id="navNm2">' + cate2.cate2Nm + '</li><li class="bread_2depth" id="navNm3">' + cate3.cate3Nm + '</li>';
 									navNm = '<li class="bread_2depth" id="navNm2">' + cate2.cate2Nm + '</li><li class="bread_2depth" id="navNm3">' + cate3.cate3Nm + '</li>';
 									$("#navArea").append(navNm);
 									$("#navArea").append(navNm);
 									$("#formTitle").text(cate3.cate3Nm);
 									$("#formTitle").text(cate3.cate3Nm);
 								}else if(cate3.cate3No == cate3No){
 								}else if(cate3.cate3No == cate3No){
-									console.log('222');
 									navNm = '<li class="bread_2depth" id="navNm2">' + cate2.cate2Nm + '</li><li class="bread_2depth" id="navNm3">' + cate3.cate3Nm + '</li>';
 									navNm = '<li class="bread_2depth" id="navNm2">' + cate2.cate2Nm + '</li><li class="bread_2depth" id="navNm3">' + cate3.cate3Nm + '</li>';
 								}
 								}
 								if(formalGb=='G009_20'){
 								if(formalGb=='G009_20'){
@@ -632,6 +645,33 @@
 								}else{
 								}else{
 									tag += ' onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ');">' + cate3.cate3Nm + '</a>';
 									tag += ' onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ');">' + cate3.cate3Nm + '</a>';
 								}
 								}
+								if (cate3.leafYn == 'N' && cate3.cate4List != null && cate3.cate4List.length > 0) {
+									tag += '<div class="sub_cate"';
+									if (cate2.cate2No == cate2No) {
+										tag += ' style="display: block;"';
+									}
+									tag += '>\n';
+									tag += '	<ul>\n';
+									$.each(cate3.cate4List, function (idx4, cate4) {
+										tag += '<li';
+										if (cate4.cate4No == cate4No) {
+											tag += ' class="on"';
+										}
+										tag += '>';
+										tag += '		<a href="javascript:javascript:void(0);" ';
+										if (cate4.cate4No == cate4No) {
+											tag += ' class="on"';
+											navNm = '<li class="bread_2depth" id="navNm3">' + cate2.cate2Nm + '</li><li class="bread_2depth" id="navNm3">' + cate3.cate3Nm + '</li><li class="bread_2depth" id="navNm3">' + cate4.cate4Nm + '</li>';
+											$("#navArea").append(navNm);
+											$("#formTitle").text(cate4.cate4Nm);
+										}
+										if(formalGb=='G009_20'){
+											tag += ' onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ',' + cate4.cate4No + ',\'\',\'' + formalGb + '\');">' + cate4.cate4Nm + '</a>';
+										}else{
+											tag += ' onclick="cfnGoToGoodsList(' + brandGroupNo + ',\'' + cateGb + '\',' + cate1.cate1No + ',' + cate2.cate2No + ',' + cate3.cate3No + ',' + cate4.cate4No + ');">' + cate4.cate4Nm + '</a>';
+										}
+									});
+								}
 								tag += '</li>\n';
 								tag += '</li>\n';
 							});
 							});
 							tag += '	</ul>\n';
 							tag += '	</ul>\n';

+ 27 - 15
src/main/webapp/WEB-INF/views/web/goods/GoodsDealDetailFormWeb.html

@@ -119,22 +119,30 @@
 																(goodsCouponList != null and !goodsCouponList.empty)
 																(goodsCouponList != null and !goodsCouponList.empty)
 															}" >
 															}" >
 								<dl>
 								<dl>
-									<div class="bnf_shopping" th:if="${goodsCouponList != null and !goodsCouponList.empty}">
+									<div class="bnf_shopping" th:if="${(goodsCouponList != null and !goodsCouponList.empty) or
+																		(tmtbList != null and !tmtbList.empty) or
+																		(freeGoodsList != null and !freeGoodsList.empty)}" >
 										<dt>쇼핑혜택</dt>
 										<dt>쇼핑혜택</dt>
-										<!------------ 색상 강조 텍스트 영역 <em class="c_primary"></em> 사용요청 ------------>
-										<dd>
-											<span th:if="${goodsCouponList != null and !goodsCouponList.empty}">
-											<th:block th:each="goodsCoupon, status : ${goodsCouponList}" th:if="${status.first}">
-											최대 <em class="c_primary" >
-												<th:block th:if="${goodsCoupon.dcWay == 'G240_10'}" th:text="|${#numbers.formatInteger(goodsCoupon.dcVal, 0,'COMMA')}원|"></th:block>
-												<th:block th:unless="${goodsCoupon.dcWay == 'G240_10'}" th:text="|${goodsCoupon.dcVal}%|"></th:block>
-											</em> 쿠폰 할인
-											</th:block>
-											</span> 
-											<span><em class="c_primary">99개</em> 이상 구매 시 <em class="c_primary">9,999,999원</em> 할인</span>
-											<span>미니언즈 우산 증정</span>
-											<button type="button" id="btn_bnfShopping_pop" class="btn_popup" th:onclick="cfGoodsShopBenefitInfo([[${goodsInfo.goodsCd}]])"><span>자세히</span></button>
-										</dd>
+											<dd>
+												<span th:if="${goodsCouponList != null and !goodsCouponList.empty}">
+												<th:block th:each="goodsCoupon, status : ${goodsCouponList}" th:if="${status.first}">
+												최대 <em class="c_primary" >
+													<th:block th:if="${goodsCoupon.dcWay == 'G240_10'}" th:text="|${#numbers.formatInteger(goodsCoupon.dcVal, 0,'COMMA')}원|"></th:block>
+													<th:block th:unless="${goodsCoupon.dcWay == 'G240_10'}" th:text="|${goodsCoupon.dcVal}%|"></th:block>
+												</em> 쿠폰 할인
+												</th:block>
+												</span> 
+												<span th:if="${tmtbList != null and !tmtbList.empty}">
+												<th:block th:each="tmtb, status : ${tmtbList}" th:if="${status.first}">
+												<em class="c_primary"><th:block th:text="${#numbers.formatInteger(tmtb.sectionVal, 0,'COMMA')}"></th:block><th:block th:text="${(tmtb.sectionGb == 'G810_10')? '개':'금액'}"></th:block></em> 이상 구매 시 
+												<em class="c_primary"><th:block th:text="${#numbers.formatInteger(tmtb.dcVal, 0,'COMMA')}"></th:block><th:block th:text="${(tmtb.dcWay == 'G240_10')? '원':'%'}"></th:block></em></em> 할인
+												</th:block>
+												</span>
+												<span th:if="${freeGoodsList != null and !freeGoodsList.empty}">
+												<th:block th:each="freeGoods, status : ${freeGoodsList}" th:if="${status.first}">
+												<th:block th:text="${freeGoods.goodsNm}"></th:block> 증정 <th:block th:if="${freeGoods.allYn == 'N'}" th:text="외 택1"></th:block></span>
+												<button type="button" id="btn_bnfShopping_pop" class="btn_popup" th:onclick="cfGoodsShopBenefitInfo([[${goodsInfo.goodsCd}]])"><span>자세히</span></button>
+											</dd>
 									</div>
 									</div>
 									<div class="bnf_card" th:if="${cardInfoList != null and !cardInfoList.empty}">
 									<div class="bnf_card" th:if="${cardInfoList != null and !cardInfoList.empty}">
 										<dt>카드혜택</dt>
 										<dt>카드혜택</dt>
@@ -748,6 +756,10 @@
 		$('.price_box .number  span').html(totalEa.addComma());
 		$('.price_box .number  span').html(totalEa.addComma());
 		$('.price_box .price > span').html(totalPrice.addComma());
 		$('.price_box .price > span').html(totalPrice.addComma());
 		
 		
+		if ($('input[name="cea"]', document.cartForm).length <= 0 ) {
+			$('.price_box').hide();
+		}
+		
 	}
 	}
 	
 	
 	//장바구니담기
 	//장바구니담기

+ 3 - 2
src/main/webapp/WEB-INF/views/web/goods/GoodsDetailFormWeb.html

@@ -46,6 +46,7 @@
 												</th:block>
 												</th:block>
 												<th:block th:unless="${goodsVideo.videoGb == 'Y'}">
 												<th:block th:unless="${goodsVideo.videoGb == 'Y'}">
 												<iframe width="100%" height="100%" th:src="${kollusMediaUrl+'/'+goodsVideo.kmcKey +'?player_version=html5'}" frameborder="0" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>
 												<iframe width="100%" height="100%" th:src="${kollusMediaUrl+'/'+goodsVideo.kmcKey +'?player_version=html5'}" frameborder="0" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>
+												
 												</th:block>
 												</th:block>
 												</span>
 												</span>
 											</a>
 											</a>
@@ -75,10 +76,10 @@
 								<li th:id="${'navLocate'+ status.count}"  th:classappend="${status.first}? 'on' : ''">
 								<li th:id="${'navLocate'+ status.count}"  th:classappend="${status.first}? 'on' : ''">
 									<div class="movbox">
 									<div class="movbox">
 										<th:block th:if="${goodsVideo.videoGb == 'Y'}">
 										<th:block th:if="${goodsVideo.videoGb == 'Y'}">
-										<iframe width="100%" height="100%" th:src="${'https://www.youtube.com/embed/'+goodsVideo.kmcKey+'?rel=0&autoplay=1&mute=1'}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+										<iframe id="prodctThumbVideo" class="pd_mov" width="100%" height="100%" th:src="${'https://www.youtube.com/embed/'+goodsVideo.kmcKey+'?rel=0&autoplay=1&mute=1'}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
 										</th:block>
 										</th:block>
 										<th:block th:unless="${goodsVideo.videoGb == 'Y'}">
 										<th:block th:unless="${goodsVideo.videoGb == 'Y'}">
-										<iframe width="100%" height="100%" th:src="${kollusMediaUrl+'/'+goodsVideo.kmcKey +'?player_version=html5'}" frameborder="0" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>
+										<iframe id="prodctThumbVideo" class="pd_mov" width="100%" height="100%" th:src="${kollusMediaUrl+'/'+goodsVideo.kmcKey +'?enable_initialize_focus=false&autoplay&mute&controls_activation=none'}" frameborder="0" allowfullscreen></iframe>
 										</th:block>
 										</th:block>
 									</div>
 									</div>
 								</li>
 								</li>

+ 0 - 4
src/main/webapp/WEB-INF/views/web/goods/GoodsDetailReviewFormWeb.html

@@ -303,10 +303,6 @@
 								<span class="thumb" th:classAppend="${(reviewAttach.fileGb == 'M') ? 'mov' :''}" th:style="${'background-image:url('+imgUrl+ reviewAttach.sysFileNm+');'}"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
 								<span class="thumb" th:classAppend="${(reviewAttach.fileGb == 'M') ? 'mov' :''}" th:style="${'background-image:url('+imgUrl+ reviewAttach.sysFileNm+');'}"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
 								</th:block>
 								</th:block>
 							</div>
 							</div>
-							<div class="pic" th:unless="${bestReview.reviewAttachList != null and !bestReview.reviewAttachList.empty}">
-								<span class="thumb" th:style="${'background-image:url('+imgGoodsUrl+ '/'+goodsInfo.sysImgNm+'?RS=162);'}">
-								</span>
-							</div>
 							<div class="star_score" th:with="starScore=${#numbers.formatDecimal((bestReview.iscore*100/5), 0,0)}">
 							<div class="star_score" th:with="starScore=${#numbers.formatDecimal((bestReview.iscore*100/5), 0,0)}">
 								<span class="star">
 								<span class="star">
 									<em class="progbar" th:style="${'width:'+starScore+'%;' }"></em> <!-- 평점 style로 표기 -->
 									<em class="progbar" th:style="${'width:'+starScore+'%;' }"></em> <!-- 평점 style로 표기 -->

+ 1 - 1
src/main/webapp/WEB-INF/views/web/goods/GoodsIncludeFormWeb.html

@@ -401,7 +401,7 @@
 													<img alt="" class="vLHTC pd_img" th:src="${imgGoodsUrl+'/'+goodsInfo.sysImgNm+'?RS=80'}" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 													<img alt="" class="vLHTC pd_img" th:src="${imgGoodsUrl+'/'+goodsInfo.sysImgNm+'?RS=80'}" th:onerror="'this.src=\''+@{${uxImgUrl}+ '/images/pc/thumb/bg_item_none.png'}+'\';'">
 												</div>
 												</div>
 												<p class="itemBrand" th:text="${goodsInfo.brandGroupNm}">NBA 키즈</p>
 												<p class="itemBrand" th:text="${goodsInfo.brandGroupNm}">NBA 키즈</p>
-												<div class="itemName" th:text="${goodsInfo.goodsFullNm}">유니 삼단블록 플리스 집업 유니 삼단블록 플리스 집업 유니 삼단블록 플리스 집업</div>
+												<div class="itemName" ><span class="tit_option" th:text="${'[상품'+status.count+']'}">[상품1]</span><th:block th:text="${goodsInfo.goodsFullNm}"></th:block></div>
 												<p class="itemPrice"><th:block th:text="${#numbers.formatInteger(goodsInfo.currPrice, 0,'COMMA')}"> 134,100</th:block>
 												<p class="itemPrice"><th:block th:text="${#numbers.formatInteger(goodsInfo.currPrice, 0,'COMMA')}"> 134,100</th:block>
 													<span class="itemPrice_original" th:if="${goodsInfo.listPrice > goodsInfo.currPrice}" th:text="${#numbers.formatInteger(goodsInfo.listPrice, 0,'COMMA')}">149,000</span>
 													<span class="itemPrice_original" th:if="${goodsInfo.listPrice > goodsInfo.currPrice}" th:text="${#numbers.formatInteger(goodsInfo.listPrice, 0,'COMMA')}">149,000</span>
 													<span class="itemPercent" th:if="${goodsInfo.dcRate > 0}" th:text="|${#numbers.formatDecimal(goodsInfo.dcRate,0,0)}%|">30%</span>
 													<span class="itemPercent" th:if="${goodsInfo.dcRate > 0}" th:text="|${#numbers.formatDecimal(goodsInfo.dcRate,0,0)}%|">30%</span>

+ 1 - 1
src/main/webapp/WEB-INF/views/web/goods/GoodsReviewDetailFormWeb.html

@@ -66,7 +66,7 @@
 				if (review.reviewAttachList != null && review.reviewAttachList.length > 0){
 				if (review.reviewAttachList != null && review.reviewAttachList.length > 0){
 					reviewClass = '';
 					reviewClass = '';
 				}
 				}
-				tag +='<div class="review" class="'+reviewClass+'" >\n';  <!-- 첨부이미지 없을 시 empty_photo 클래스 추가 --> 
+				tag +='<div class="review '+reviewClass+'" >\n';  <!-- 첨부이미지 없을 시 empty_photo 클래스 추가 --> 
 				tag +='	<div class="pic">\n';
 				tag +='	<div class="pic">\n';
 				if (review.reviewAttachList != null && review.reviewAttachList.length > 0){
 				if (review.reviewAttachList != null && review.reviewAttachList.length > 0){
 					$.each(review.reviewAttachList, function(aIdx, reviewAttach){
 					$.each(review.reviewAttachList, function(aIdx, reviewAttach){

+ 1 - 5
src/main/webapp/WEB-INF/views/web/planning/PlanningDetailFormWeb.html

@@ -731,11 +731,7 @@ var fnPlanCouponCallBack = function(result){
 // 설문조사 참여 버튼 클릭
 // 설문조사 참여 버튼 클릭
 var fnJoinConfirm = function () {
 var fnJoinConfirm = function () {
 	let planSq = plan.planSq;
 	let planSq = plan.planSq;
-	// 로그인 확인
-	if (!cfCheckLogin()) {
-		mcxDialog.alert("로그인 후 참여 가능합니다.");
-		return false;
-	}
+	
 	cfnGoToPollDetail(planSq);
 	cfnGoToPollDetail(planSq);
 
 
 }
 }

BIN
src/main/webapp/images/pc/ico_newbenefit1.png


BIN
src/main/webapp/images/pc/ico_newbenefit2.png


BIN
src/main/webapp/images/pc/ico_newbenefit3.png


+ 2 - 2
src/main/webapp/ux/mo/css/common_m.css

@@ -910,8 +910,8 @@ main.container .inner:last-child{padding-bottom: 6.0rem; margin-bottom: 0;}
 
 
 /* footer */
 /* footer */
 footer{background-color: #f1f1f1;}
 footer{background-color: #f1f1f1;}
-footer .btn_top{position: fixed; bottom: 30px; right: 25px; opacity: 0; background-color: rgba(0, 0, 0, 0.4); width: 45px; height: 45px; border-radius: 50%; font-size: 0; z-index: 50;}
-footer .btn_top span{display: block; width: 24px; height: 24px; margin: 0 auto; position: relative;}
+footer .btn_top{position: fixed; bottom: 30px; right: 25px; opacity: 0; background-color: rgba(0, 0, 0, 0.4); width: 41px; height: 40px; font-size: 0; z-index: 50; background:url(/images/mo/mo_btn_top.png) no-repeat;}
+footer .btn_top span{display: block; width: 24px; height: 24px; margin: 0 auto; position: relative; opacity:0;}
 footer .btn_top span i{display: block; position: absolute; background: #fff;}
 footer .btn_top span i{display: block; position: absolute; background: #fff;}
 footer .btn_top span i.gl1{left: 4px; top: 2px; width: 10px; height: 2px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg);}
 footer .btn_top span i.gl1{left: 4px; top: 2px; width: 10px; height: 2px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg);}
 footer .btn_top span i.gl2{left: 50%; top: 0; -webkit-transform: translateX(-50%); transform: translateX(-50%); width: 2px; height: 20px;}
 footer .btn_top span i.gl2{left: 50%; top: 0; -webkit-transform: translateX(-50%); transform: translateX(-50%); width: 2px; height: 20px;}

+ 49 - 2
src/main/webapp/ux/mo/css/layout_m.css

@@ -868,6 +868,53 @@ header .subs .dp_list_btn_gnbs.on span i {transform: rotate(-180deg);-webkit-tra
 .br .brand_si .swiper-wrapper .swiper-slide:nth-child(odd){border-bottom:0rem none;}
 .br .brand_si .swiper-wrapper .swiper-slide:nth-child(odd){border-bottom:0rem none;}
 .Purchase_pop .select_custom .opt_price{font-size:1.2rem; color:#888888}
 .Purchase_pop .select_custom .opt_price{font-size:1.2rem; color:#888888}
 .select_custom .combo .list>li[aria-disabled="true"] .opt_price{color:#bbb !important}
 .select_custom .combo .list>li[aria-disabled="true"] .opt_price{color:#bbb !important}
+/* 210428 */
+.cs_contactUs_my .form_field:first-of-type{margin:0;}
+.cs_contactUs_my .form_field .pics{position:absolute; top:0; left:0; z-index:2}
+.pop_detail .review_list {border-top:1px solid #ddd;}
+.pop_detail .review_list > ul > li {padding:3rem 0; border-bottom:1px solid #ddd; }
+.pop_detail .review_list > ul > li .review {}
+.pop_detail .review_list .review .info_box {}
+.pop_detail .review_list .review .info_box .star_score {float:left}
+.pop_detail .review_list .review .info_box .star_score .star {display:inline-block; position:relative; width:83px; height:1.3rem; background:#ddd;}
+.pop_detail .review_list .review .info_box .star_score .star::after {content:''; position:absolute; left:0; top:0; z-index:3; width:100%; height:100%; background:url('/images/mo/star_empty_big.png') no-repeat 0 0; background-size:contain; image-rendering:pixelated;}
+.pop_detail .review_list .review .info_box .star_score .star .progbar {display:inline-block; height:100%; background:#fd4802; vertical-align:top;}
+.pop_detail .review_list .review .info_box .writer {float:right;}
+.pop_detail .review_list .review .info_box .writer span {position:relative; margin-left:1.1rem; padding-left:1.1rem; color:#888; font-size:1.1rem;}
+.pop_detail .review_list .review .info_box .writer span::after {content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); height:8px; width:1px; background:#ddd;}
+.pop_detail .review_list .review .info_box .writer span:first-child {margin-left:0; padding-left:0}
+.pop_detail .review_list .review .info_box .writer span:first-child::after {display:none;}
+.pop_detail .review_list .review .response_box {margin-top:1.4rem;}
+.pop_detail .review_list .review .response_box > div:first-child {margin-top:0}
+.pop_detail .review_list .review .response_box > div dl div {display:flex; font-size:1.1rem;}
+.pop_detail .review_list .review .response_box > div dl div dt {width:4.5rem; color:#888}
+.pop_detail .review_list .review .response_box > div dl div dd {margin-left:1.2rem; color:#fd4802}
+.pop_detail .review_list .review .response_box2 {margin-top:1.4rem;}
+.pop_detail .review_list .review .response_box2 > div:first-child {margin-top:0; overflow:hidden;}
+.pop_detail .review_list .review .response_box2 > div dl div {float:left; width:50%; max-width:400px; display:flex; font-size:1.1rem;}
+.pop_detail .review_list .review .response_box2 > div dl div dt {position:relative; padding-left:0.8rem; color:#888}
+.pop_detail .review_list .review .response_box2 > div dl div dt:before{content:''; position:absolute; left:0; top:0.6rem; display:block; width:2px; height:2px; background-color:#888;}
+.pop_detail .review_list .review .response_box2 > div dl div dd {margin-left:1.2rem; color:#222}
+.pop_detail .review_list .review .info_box{line-height:1;}
+.pop_detail .review_list .review .photo_box {margin: 1rem -1.33rem 0;}
+.pop_detail .review_list .review .photo_box .photo_list {font-size:0; white-space:nowrap; overflow-x:auto;}
+.pop_detail .review_list .review .photo_box .photo_list > ul li {display:inline-block; margin-left:0.8rem; width:7.5rem; height:7.5rem;}
+.pop_detail .review_list .review .photo_box .photo_list > ul li:first-child{margin-left:1.33rem;}
+.pop_detail .review_list .review .photo_box .photo_list > ul li:last-child{margin-right:1.33rem;}
+.pop_detail .review_list .review .txt_review_box {margin-top:1.6rem; font-size:1.4rem; overflow:hidden; color:#000}
+.pop_detail .review_list .review .reply_box {margin-top:1.5rem; padding-top:1.5rem;}
+.pop_detail .review_list .review .reply_box .reply {position:relative; padding:2rem; background:#f5f5f5;}
+.pop_detail .review_list .review .reply_box .reply::after {content:''; position:absolute; left:0px; top:-1.5rem; width:0px; height:0px; border:1.5rem solid #f5f5f5; border-top-color:transparent; border-right-color:transparent;}
+.pop_detail .review_list .review .reply_box .reply .reply_writer {}
+.pop_detail .review_list .review .reply_box .reply .reply_writer span {display:inline-block; position:relative;}
+.pop_detail .review_list .review .reply_box .reply .reply_writer .wr_name {padding-left:2.2rem; font-size:1.3rem; font-weight:300;}
+.pop_detail .review_list .review .reply_box .reply .reply_writer .wr_name::after {content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); width:1.5rem; height:1.5rem; background:url('/images/mo/ico_admin.png') no-repeat 0 0; background-size:contain;}
+.pop_detail .review_list .review .reply_box .reply .reply_writer .wr_date {padding-left:1rem; margin-left:1rem; font-size:1.1rem; color:#888; font-size:200;}
+.pop_detail .review_list .review .reply_box .reply .reply_writer .wr_date::after {content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); height:1.2rem; width:1px; background:#ddd;}
+.pop_detail .review_list .review .reply_box .reply .reply_txt {margin-top:1.2rem; color:#666; font-size:1.3rem;}
+.modal.photo_comment_popup.pd_bestreviewdetail_pop .modal-body .pop_cont{padding-top:0 !important;}
+.modal.photo_comment_popup.pd_bestreviewdetail_pop .pop_detail .review_list{border:0px none;}
+.modal.photo_comment_popup.pd_bestreviewdetail_pop .pop_detail .review_list ul li{padding:0;}
 
 
 
 
 
 
@@ -1151,12 +1198,12 @@ header .subs .dp_list_btn_gnbs.on span i {transform: rotate(-180deg);-webkit-tra
 .modal.pd_pop.pd_qnalist_pop .modal-body{position:relative; margin:auto; padding:9.3rem 0 3rem;}
 .modal.pd_pop.pd_qnalist_pop .modal-body{position:relative; margin:auto; padding:9.3rem 0 3rem;}
 .modal.pd_pop.pd_qnalist_pop .ui_row{margin:0 -1.33rem!important; width:auto;}
 .modal.pd_pop.pd_qnalist_pop .ui_row{margin:0 -1.33rem!important; width:auto;}
 .modal.pd_pop.pd_qnalist_pop .pd_qnalist > .btn_group_flex{position:fixed; width: 100%; bottom: 0; margin-top: 0;}
 .modal.pd_pop.pd_qnalist_pop .pd_qnalist > .btn_group_flex{position:fixed; width: 100%; bottom: 0; margin-top: 0;}
-.pd_qnalist .qna_list .foldGroup {margin-bottom:0;}
+.pd_qnalist .qna_list .foldGroup {margin-bottom:2rem;}
 .pd_qnalist .qna_list {margin-top:3rem;}
 .pd_qnalist .qna_list {margin-top:3rem;}
 .pd_qnalist .qna_list .form_field input[type="checkbox"] + label {line-height:1;}
 .pd_qnalist .qna_list .form_field input[type="checkbox"] + label {line-height:1;}
 .pd_qnalist .qna_list .form_field input[type="checkbox"] + label:before,
 .pd_qnalist .qna_list .form_field input[type="checkbox"] + label:before,
 .pd_qnalist .qna_list .form_field input[type="checkbox"] + label:after {top:50%; transform:translateY(-50%); margin-top:0;}
 .pd_qnalist .qna_list .form_field input[type="checkbox"] + label:after {top:50%; transform:translateY(-50%); margin-top:0;}
-.pd_qnalist .qna_list .foldGroup .fold_head a{padding: 1.4rem 1.33rem; border-bottom:0.1rem solid #E5E5E5;}
+.pd_qnalist .qna_list .foldGroup .fold_head a{padding: 1.4rem 3rem; border-bottom:0.1rem solid #E5E5E5;}
 .pd_qnalist .qna_list .foldGroup .fold_head .fold_tit .ico {display:inline-block; width:auto; height:auto; vertical-align:middle;}
 .pd_qnalist .qna_list .foldGroup .fold_head .fold_tit .ico {display:inline-block; width:auto; height:auto; vertical-align:middle;}
 .pd_qnalist .qna_list .foldGroup .fold_head .fold_tit .ico_myqna::after {content:'내문의'; display:inline-block; margin-right:1rem; color:#fd4802; font-size:1.1rem; text-align:center; box-sizing:border-box; line-height:20px;}
 .pd_qnalist .qna_list .foldGroup .fold_head .fold_tit .ico_myqna::after {content:'내문의'; display:inline-block; margin-right:1rem; color:#fd4802; font-size:1.1rem; text-align:center; box-sizing:border-box; line-height:20px;}
 .pd_qnalist .qna_list .foldGroup .fold_head .fold_tit .ico_secret::after {content:''; display:inline-block; margin-right:1rem; width:1.2rem; height:1.2rem; background:url('/images/mo/ico_secret.png') no-repeat 50% 50%; background-size:contain;}
 .pd_qnalist .qna_list .foldGroup .fold_head .fold_tit .ico_secret::after {content:''; display:inline-block; margin-right:1rem; width:1.2rem; height:1.2rem; background:url('/images/mo/ico_secret.png') no-repeat 50% 50%; background-size:contain;}

+ 5 - 0
src/main/webapp/ux/mo/css/style24_m.css

@@ -1888,6 +1888,9 @@ background-size:100%;}
 
 
 .adrsChange_Pop .modal-footer .btn {height: 4.5rem; font-size: 1.4rem;}
 .adrsChange_Pop .modal-footer .btn {height: 4.5rem; font-size: 1.4rem;}
 .adrsChange_Pop .modal-body .pop_cont {font-size: 1.4rem; line-height: 1.4;}
 .adrsChange_Pop .modal-body .pop_cont {font-size: 1.4rem; line-height: 1.4;}
+.adrsChange_Pop .modal-body .pop_cont .empty_txt {display: none;}
+.adrsChange_Pop .modal-body .pop_cont.nodata .delivery_list {display: none;}
+.adrsChange_Pop .modal-body .pop_cont.nodata .empty_txt {display: block; padding:14rem 0 11rem; font-size: 1.3rem; color: #222; text-align: center; font-weight: 300;}
 .adrsChange_Pop .badge_wrap {display: inline-block;}
 .adrsChange_Pop .badge_wrap {display: inline-block;}
 .adrsChange_Pop .order_badge {font-size: 1rem; color: #666; font-weight: 300; border:1px solid #888; padding:0.4rem 0.4rem 0.25rem; margin-left: 1px; vertical-align: middle;}
 .adrsChange_Pop .order_badge {font-size: 1rem; color: #666; font-weight: 300; border:1px solid #888; padding:0.4rem 0.4rem 0.25rem; margin-left: 1px; vertical-align: middle;}
 .adrsChange_Pop .order_bullet_badge {color: #fd4802; border:1px solid #fd4802;}
 .adrsChange_Pop .order_bullet_badge {color: #fd4802; border:1px solid #fd4802;}
@@ -2203,6 +2206,8 @@ background-size:100%;}
 .od .ship_info .select_dress {padding:1.1rem 1.5rem;}
 .od .ship_info .select_dress {padding:1.1rem 1.5rem;}
 .od .ship_info .select_options li {padding: 1rem 0;}
 .od .ship_info .select_options li {padding: 1rem 0;}
 
 
+.od .ship_info.none p {padding-top: 0.5rem; color: #222; font-weight: 300;}
+
 /* od_nonMb_order.html */
 /* od_nonMb_order.html */
 .od .nonMBorder {}
 .od .nonMBorder {}
 .od .nonMBorder .inner:first-child, .od .nonMBorder .inner:last-child {margin-top: -1.2rem;}
 .od .nonMBorder .inner:first-child, .od .nonMBorder .inner:last-child {margin-top: -1.2rem;}

+ 11 - 5
src/main/webapp/ux/mo/js/common_m.js

@@ -156,7 +156,7 @@ $(document).ready(function() {
                         $("<span class=\"pics\">" +
                         $("<span class=\"pics\">" +
                             "<img class=\"picsThumbs\" src=\"" + e.target.result + "\" title=\"" + file.name + "\"/>" +
                             "<img class=\"picsThumbs\" src=\"" + e.target.result + "\" title=\"" + file.name + "\"/>" +
                             "<span class=\"removes\">Removes image</span>" +
                             "<span class=\"removes\">Removes image</span>" +
-                            "</span>").insertBefore(".fileAdd");
+                            "</span>").insertBefore("#fileAdd");
                         $(".removes").click(function(){
                         $(".removes").click(function(){
                             $(this).parent(".pics").remove();
                             $(this).parent(".pics").remove();
                         });
                         });
@@ -881,20 +881,26 @@ $( document ).ready( function() {
         $('.htop h1').css({"display": "none"});
         $('.htop h1').css({"display": "none"});
         $('.htop .search').css({"display": "none"});
         $('.htop .search').css({"display": "none"});
     };  
     };  
-    
-        /* 고객센터_accordion */
+        /* 210428_수정 : 아코디언 */
         $(document).on('click','.cs .foldGroup .fold_head, .my .foldGroup .fold_head',function(e){
         $(document).on('click','.cs .foldGroup .fold_head, .my .foldGroup .fold_head',function(e){
-            $(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
             $(this).toggleClass('on');
             $(this).toggleClass('on');
-            return false;
+            $(this).siblings('.fold_cont').slideToggle(100);
+            $(this).parents('li').siblings('li').find('.fold_head').removeClass('on');
+            $(this).parents('li').siblings('li').find('.fold_cont').slideUp(100);
         });
         });
+        /* //210428_수정 : 아코디언 */
 
 
         /* 주문결제_accordion */
         /* 주문결제_accordion */
+        /* 210428_수정 : 아코디언 */
         $(document).on('click','.od .foldGroup .fold_head .fold_tit',function(e){	
         $(document).on('click','.od .foldGroup .fold_head .fold_tit',function(e){	
             $(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
             $(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
             $(this).parents('.fold_head').toggleClass('on');
             $(this).parents('.fold_head').toggleClass('on');
+
+            $(this).parents('.inner').siblings('.inner').find('.fold_head').removeClass('on');
+            $(this).parents('.inner').siblings('.inner').find('.fold_cont').slideUp(100);
             return false;
             return false;
         });
         });
+        /* 210428_수정 : 아코디언 */
 
 
         /* 상품문의_accordion */
         /* 상품문의_accordion */
         $(document).on('click','.pd_qnalist .fold_head .fold_tit',function(e){	
         $(document).on('click','.pd_qnalist .fold_head .fold_tit',function(e){	

+ 1 - 1
src/main/webapp/ux/pc/css/layout.css

@@ -2789,7 +2789,7 @@ ul.maintabs li [class^='box_depth'] {display:none; position:absolute; left:100%;
 	.option_box [class^="opt_"] .select_custom .select:after {right:20px;}
 	.option_box [class^="opt_"] .select_custom .select:after {right:20px;}
 	.option_box [class^="opt_"] div[class*="item_set_"] .select .opt_price {display:none;}
 	.option_box [class^="opt_"] div[class*="item_set_"] .select .opt_price {display:none;}
 	.option_box .opt_select div[class*="item_set_"] .select .opt_price {display:none;}
 	.option_box .opt_select div[class*="item_set_"] .select .opt_price {display:none;}
-	.option_box [class^="opt_"] .select_custom .select .opt_price {padding-top: 10px;}
+	.option_box [class^="opt_"] .select_custom .select .opt_price {padding-top: 10px;display: none;}
 	.option_box [class^="opt_"] .select_custom[aria-disabled="true"] .select {color:#bbb; background:#f5f5f5;}
 	.option_box [class^="opt_"] .select_custom[aria-disabled="true"] .select {color:#bbb; background:#f5f5f5;}
 	.option_box [class^="opt_"] .select_custom .combo .list {top:52px; padding:0}
 	.option_box [class^="opt_"] .select_custom .combo .list {top:52px; padding:0}
 	.option_box [class^="opt_"] .select_custom .combo .list > li {padding:18px 18px; line-height:1; color:#666; font-size:16px; font-weight:200;}
 	.option_box [class^="opt_"] .select_custom .combo .list > li {padding:18px 18px; line-height:1; color:#666; font-size:16px; font-weight:200;}

+ 31 - 6
src/main/webapp/ux/pc/js/common-ui.js

@@ -79,6 +79,9 @@ $(document).ready(function() {
 		$("#fileAdd").on("change", function(e) {
 		$("#fileAdd").on("change", function(e) {
 			var files = e.target.files,
 			var files = e.target.files,
 				filesLength = files.length;
 				filesLength = files.length;
+				console.log(filesLength);
+			var cmtLa = $('.cmt .cmt_thumb .form_field .imgUpload label');
+			var cmtIn = $('.cmt .cmt_thumb .form_field .imgUpload input');
 			for (var i = 0; i < filesLength; i++) {
 			for (var i = 0; i < filesLength; i++) {
 				var f = files[i]
 				var f = files[i]
 				var fileReader = new FileReader();
 				var fileReader = new FileReader();
@@ -90,9 +93,24 @@ $(document).ready(function() {
 						"</span>").insertAfter("#fileAdd");
 						"</span>").insertAfter("#fileAdd");
 					$(".removes").click(function(){
 					$(".removes").click(function(){
 						$(this).parent(".pics").remove();
 						$(this).parent(".pics").remove();
+						cmtLa.css('display', 'block');
+						cmtIn.css('display', 'block');
+						$('#fileAdd').removeAttr("disabled");
 					});
 					});
 				});
 				});
 			fileReader.readAsDataURL(f);
 			fileReader.readAsDataURL(f);
+				var maxFileLength = 10; /* 최대 파일 갯수를 입력해 주세요 */
+				var imgFiles=$('.imgUpload .pics');
+				var cmtLa = $('.cmt .cmt_thumb .form_field .imgUpload label');
+				var cmtIn = $('.cmt .cmt_thumb .form_field .imgUpload input');
+				if (imgFiles.length >= maxFileLength-1) {
+					mcxDialog.alert('이미지는 최대' + maxFileLength +'장 까지 첨부 가능합니다.'); //210420_수정 : 시스템 alert -> dialog 변경.
+					$('#fileAdd').attr("disabled",true);
+					cmtLa.css('display', 'none');
+					cmtIn.css('display', 'none');
+				} else if(imgFiles.length < maxFileLength){
+					$('#fileAdd').removeAttr("disabled");
+				}
 			}
 			}
 		});
 		});
 	} else {
 	} else {
@@ -323,23 +341,30 @@ $(document).ready( function() {
 	});
 	});
 
 
 	/* 고객센터_accordion */
 	/* 고객센터_accordion */
-	$(document).off('click').on('click','.cs .foldGroup .fold_head',function(e){
-		$('.cs .foldGroup .fold_head').removeClass('on');
-        $('.cs .foldGroup .fold_cont').slideUp(100);
-		$(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
+	/* 210428_수정 : 아코디언 */
+	$(document).on('click','.cs .foldGroup .fold_head',function(){
 		$(this).toggleClass('on');
 		$(this).toggleClass('on');
-		return false;
+		$(this).siblings('.fold_cont').slideToggle(100);
+		$(this).parents('li').siblings('li').find('.fold_head').removeClass('on');
+		$(this).parents('li').siblings('li').find('.fold_cont').slideUp(100);
 	});
 	});
+	/* //210428_수정 : 아코디언 */
 
 
 	/* 주문결제_accordion */
 	/* 주문결제_accordion */
+	/* 210428_수정 : 아코디언 */
 	$(document).on('click','.od .foldGroup .fold_head .fold_tit',function(e){	
 	$(document).on('click','.od .foldGroup .fold_head .fold_tit',function(e){	
-		$(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
+		//$(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
+		//$(this).parents('.fold_head').toggleClass('on');
 		$(this).parents('.fold_head').toggleClass('on');
 		$(this).parents('.fold_head').toggleClass('on');
+		$(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
+		$(this).parents('li').siblings('li').find('.fold_head').removeClass('on');
+		$(this).parents('li').siblings('li').find('.fold_cont').slideUp(100);
 		return false;
 		return false;
 	}).on('click','.od .foldGroup .fold_paymethod .fold_head .fold_tit',function(e){
 	}).on('click','.od .foldGroup .fold_paymethod .fold_head .fold_tit',function(e){
 		$("#rdi-paymethod-quick").trigger("click");
 		$("#rdi-paymethod-quick").trigger("click");
 		return false;
 		return false;
 	});
 	});
+	/* //210428_수정 : 아코디언 */
 	
 	
 	/* 아이디/비밀번호 찾기_accordion:open */
 	/* 아이디/비밀번호 찾기_accordion:open */
 	$(document).on('click','.mb .foldGroup.checkcase .fold_head',function(e){	
 	$(document).on('click','.mb .foldGroup.checkcase .fold_head',function(e){	

+ 1 - 4
src/main/webapp/ux/style24_link.js

@@ -848,12 +848,9 @@ function cfnPasswordModify() {
 
 
 	if ($('#pswordModifyPop').length == 0) {
 	if ($('#pswordModifyPop').length == 0) {
 		$('body').append(str);
 		$('body').append(str);
-		cfOpenLayer(_PAGE_PASSWORD_MODIFY, 'pswordModifyPop');
-	} else {
-		$('#pswordModifyPop').modal("show");
 	}
 	}
 
 
-
+	cfOpenLayer(_PAGE_PASSWORD_MODIFY, 'pswordModifyPop');
 }
 }
 
 
 /**
 /**