SocialMainFormWeb.html 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <!DOCTYPE html>
  2. <html lang="ko"
  3. xmlns:th="http://www.thymeleaf.org"
  4. xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
  5. layout:decorator="web/common/layout/DefaultLayoutWeb">
  6. <!--
  7. *******************************************************************************
  8. * @source : SocialMainFormWeb.html
  9. * @desc : 소셜메인(핫딜메인) Page
  10. *============================================================================
  11. * Pastelmall
  12. * Copyright(C) 2020 TSIT, All rights reserved.
  13. *============================================================================
  14. * VER DATE AUTHOR DESCRIPTION
  15. * === =========== ========== =============================================
  16. * 1.0 2021.3.11 sowon 최초 작성
  17. *******************************************************************************
  18. -->
  19. <body>
  20. <th:block layout:fragment="content">
  21. <!-- container -->
  22. <div id="container" class="container dp">
  23. <div class="breadcrumb">
  24. <ul>
  25. <li class="bread_home"><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_MAIN);">홈</a></li>
  26. <li class="bread_2depth">핫딜</li>
  27. </ul>
  28. </div>
  29. <div class="wrap">
  30. <th:block th:if="${socialInfo != null}">
  31. <div class="content wide dp_hotdeal"> <!-- 페이지특정 클래스 = dp_hotdeal -->
  32. <div class="cont_body">
  33. <div class="hotdeal">
  34. <img src="/images/pc/thumb/hotdeal_bg2.jpg" alt="핫한 아이템을 핫한 가격에 LAST DAY DEAL">
  35. <div id="countdown">
  36. <span id="h-hours"></span>
  37. <span id="h-minutes"></span>
  38. <span id="h-seconds"></span>
  39. </div>
  40. </div>
  41. <div class="list_content">
  42. <div class="itemsGrp rowtype"> <!-- itemsGrp rank hot deal --> <!-- rowtype 추가시 가로형태로 출력 -->
  43. <th:block th:each="SocialData, SocialStat : ${socialGoods}">
  44. <div class="item_prod" th:class="${SocialData.stockQtySum == 0 ? 'item_prod sold_out' : 'item_prod'}">
  45. <div class="item_state"> <!-- item_state AD soldout -->
  46. <button type="button" th:class="${SocialData.likeIt == 'likeit'}? 'itemLike active' : 'itemLike'" onclick="cfnPutWishList(this);" th:attr="goodsCd=${SocialData.goodsCd}, ithrCd='', contentsLoc='', planDtlSq=''">관심상품 추가</button>
  47. <a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${SocialData.goodsCd}]])" >
  48. <div class="itemPic">
  49. <img alt="BLUE-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + SocialData.sysImgNm}">
  50. </div>
  51. <div class="itemSpecialPrice"><span>특가</span></div>
  52. <p class="itemBrand" th:text="${SocialData.brandGroupNm}"></p>
  53. <div class="itemName" th:text="${SocialData.goodsNm}"></div>
  54. <div class="itemComment" th:if="${SocialData.goodsTnm!=null}" th:text="${SocialData.goodsTnm}"></div>
  55. <p class="itemPrice">
  56. [[${#numbers.formatInteger(SocialData.currPrice,0,'COMMA')} + 원]]
  57. <span class="itemPrice_original" th:text="${#numbers.formatInteger(SocialData.listPrice,0,'COMMA')} + '원'"></span>
  58. <span class=" itemPercent" th:text="${#numbers.formatDecimal(SocialData.dcRate,1,0)} + '%'"></span>
  59. </p>
  60. </a>
  61. <div class="shopBagBtn">
  62. <button type="button" class="btn btn_defalt" onclick="socialAddCart(this)" th:attr="goodsCd=${SocialData.goodsCd}, minOrdQty=${SocialData.minOrdQty}, goodsType=${SocialData.goodsType}, optCd=${SocialData.optCd}">
  63. <span>쇼핑백 담기</span>
  64. </button>
  65. </div>
  66. </div>
  67. </div>
  68. </th:block>
  69. </div>
  70. </div>
  71. </div>
  72. </div>
  73. </th:block>
  74. <th:block th:unless="${socialInfo != null}">
  75. <div class="nodata" >
  76. <div class="txt_box">
  77. <p>
  78. 진행하는 핫딜이 없습니다.
  79. </p>
  80. </div>
  81. <div class="btn_box">
  82. <button class="btn btn_default" th:onclick="cfnGoToPage(_PAGE_MAIN);"><span>홈으로 가기</span></button>
  83. </div>
  84. </div>
  85. </th:block>
  86. </div>
  87. </div>
  88. <script th:inline="javascript">
  89. var socialInfo = [[${socialInfo}]];
  90. console.log(socialInfo);
  91. var socialAddCart = function (obj) {
  92. let btnType = "C";
  93. let params = [];
  94. let cart = new Object();
  95. cart.goodsCd = $(obj).attr("goodsCd");
  96. cart.optCd = $(obj).attr("optCd");
  97. cart.goodsQty = $(obj).attr("minOrdQty");
  98. cart.goodsType = $(obj).attr("goodsType");
  99. cart.cartGb = btnType;
  100. cart.afLinkCd = $(obj).attr("afLinkCd");
  101. cart.ithrCd = "";
  102. cart.contentsLoc = "";
  103. cart.planDtlSq = "";
  104. params.push(cart);
  105. // 장바구니담기
  106. if (params.length > 0){
  107. cfnAddCart(params);
  108. }
  109. }
  110. $(function(){
  111. /* 핫딜 countDown */
  112. function hotdealTimer() {
  113. var endTime = new Date(socialInfo.socialEddt); // 남은시간 지정
  114. endTime = (Date.parse(endTime) / 1000);
  115. var now = new Date();
  116. now = (Date.parse(now) / 1000);
  117. var timeLeft = endTime - now;
  118. var days = Math.floor(timeLeft / 86400);
  119. var hours = Math.floor((timeLeft - (days * 86400)) / 3600);
  120. var minutes = Math.floor((timeLeft - (days * 86400) - (hours * 3600 )) / 60);
  121. var seconds = Math.floor((timeLeft - (days * 86400) - (hours * 3600) - (minutes * 60)));
  122. if (hours < '10') { hours = '0' + hours; }
  123. if (minutes < '10') { minutes = '0' + minutes; }
  124. if (seconds < '10') { seconds = '0' + seconds; }
  125. //$('#d-days').html(days);
  126. $('#h-hours').html(hours);
  127. $('#h-minutes').html(minutes);
  128. $('#h-seconds').html(seconds);
  129. }
  130. setInterval(function() { hotdealTimer(); }, 1000);
  131. /* countDown */
  132. });
  133. </script>
  134. </th:block>
  135. </body>
  136. </html>