PlanningDetailFormWeb.html 62 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458
  1. <!DOCTYPE html>
  2. <html lang="ko" xmlns:th="http://www.thymeleaf.org"
  3. xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
  4. layout:decorator="web/common/layout/BrandLayoutWeb">
  5. <!--
  6. *******************************************************************************
  7. * @source : PlanningDetailFormWeb.html
  8. * @desc : 기획전디테일 Page
  9. *============================================================================
  10. * Pastelmall
  11. * Copyright(C) 2020 TSIT, All rights reserved.
  12. *============================================================================
  13. * VER DATE AUTHOR DESCRIPTION
  14. * === =========== ========== =============================================
  15. * 1.0 2021.3.9 sowon 최초 작성
  16. *******************************************************************************
  17. -->
  18. <body>
  19. <th:block layout:fragment="content">
  20. <script src="https://developers.kakao.com/sdk/js/kakao.min.js"></script>
  21. <!-- 이벤트를 위한 임시 script 및 style 추가 시작 (21.10.22 by junghwan) -->
  22. <link rel="stylesheet" href="https://cdn.jsdelivr.net/bxslider/4.2.12/jquery.bxslider.css" th:if="${planInfo.planSq}==38 or ${planInfo.planSq}==43 or ${planInfo.planSq}==49">
  23. <!-- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js" th:if="${planInfo.planSq}==38 or ${planInfo.planSq}==43"></script> -->
  24. <script src="https://cdn.jsdelivr.net/bxslider/4.2.12/jquery.bxslider.min.js" th:if="${planInfo.planSq}==38 or ${planInfo.planSq}==43 or ${planInfo.planSq}==49"></script>
  25. <script th:src="${@environment.getProperty('domain.uximage')} + '/ux/pc/js/all.min.js'" th:if="${planInfo.planSq}==49"></script>
  26. <!-- 스타일데이 -->
  27. <script src="https://mattstow.com/experiment/responsive-image-maps/jquery.rwdImageMaps.min.js" th:if="${planInfo.planSq}==38"></script>
  28. <script th:if="${planInfo.planSq}==38">
  29. openWindow = function() {
  30. var popupX = (document.body.offsetWidth / 2) - (800 / 2);
  31. var popupY= (window.screen.height / 2) - (700 / 2);
  32. window.open('http://image.istyle24.com/Statics/design/event/2021/1022Gift/gift_popup.html', '', 'status=no, height=700, width=800, left='+ popupX + ', top='+ popupY + ', screenX='+ popupX + ', screenY= '+ popupY);
  33. return;
  34. }
  35. $(function(){
  36. $('.gift_slider').bxSlider({
  37. wrapperClass: 'sliderwrap',
  38. auto: true,
  39. controls: false,
  40. speed: 300,
  41. });
  42. $('img[usemap]').rwdImageMaps();
  43. $("#img").width("100%");
  44. });
  45. </script>
  46. <style type="text/css" th:if="${planInfo.planSq}==38">
  47. .coner_item01 img {max-width:100%;}
  48. .gift_box{background-color:#0a1252;}
  49. .gift_box .gift_section{max-width:1080px; width:auto; background-color:#fff; padding:70px 90px; margin:0 auto;}
  50. .gift_box .gift_section h3{text-align: center;}
  51. .gift_box .gift_section h3 img{max-width:349px;}
  52. .gift_box p{font-size:18px;}
  53. .sliderwrap{position:relative; max-width:850px; margin-bottom:140px; text-align: center;}
  54. .sliderwrap .bx-pager{position:absolute; left:50%; bottom:-60px; transform:translateX(-50%);}
  55. .sliderwrap .bx-pager div{display:inline-block;padding:0 3px;}
  56. .sliderwrap .bx-pager div a{display:block; width:13px; height:13px; border:2px solid #222; background:#fff; border-radius:100%; color:transparent; font-size:0px;}
  57. .sliderwrap .bx-pager div .active{background:#222; width:22px; border-radius:12px;}
  58. .gift_slider li{text-align:right;}
  59. .btn_giftPopup{float:right; margin-top:-115px;}
  60. .btn_giftPopup img{max-width:270px;}
  61. </style>
  62. <!-- 핸드크림 -->
  63. <script th:if="${planInfo.planSq}==43">
  64. openWindow2 = function() {
  65. var popupX = (document.body.offsetWidth / 2) - (800 / 2);
  66. var popupY= (window.screen.height / 2) - (700 / 2);
  67. window.open('http://image.istyle24.com/Statics/design/event/2021/1022STday/gift_popup.html', '', 'status=no, height=700, width=800, left='+ popupX + ', top='+ popupY + ', screenX='+ popupX + ', screenY= '+ popupY);
  68. return;
  69. }
  70. $(function(){
  71. $('.gift_slider').bxSlider({
  72. wrapperClass: 'sliderwrap3',
  73. auto: true,
  74. speed: 300,
  75. nextText : '<i class="fas fa-chevron-right"></i>',
  76. prevText : '<i class="fas fa-chevron-left"></i>',
  77. });
  78. });
  79. </script>
  80. <style type="text/css" th:if="${planInfo.planSq}==43">
  81. .coner_item01 img {max-width:100%;}
  82. .pm_gift{padding:80px 0; background:url('http://image.istyle24.com/Statics/design/event/2021/1022Gift/1025_bg_gift.jpg') center no-repeat; background-size: cover; text-align:center;}
  83. .pm_gift img{max-width:1080px;}
  84. .gift_box{margin:30px 0;}
  85. .gift_box .gift_section{position:relative; max-width:860px; width:auto; margin:0 auto;}
  86. .gift_box .gift_section #g-view{position:absolute; bottom:2rem; left:50%; transform: translateX(-50%);}
  87. .gift_box p{font-size:18px;}
  88. .sliderwrap3{position:relative; max-width:860px; width:100%; margin-bottom:80px; text-align: center;}
  89. .sliderwrap3 .bx-pager{position:absolute; left:50%; bottom:-40px; transform:translateX(-50%);}
  90. .sliderwrap3 .bx-pager div{display:inline-block;padding:0 3px;}
  91. .sliderwrap3 .bx-pager div a{display:block; width:6px; height:6px; background:#fff; border-radius:100%; color:transparent; font-size:0px;}
  92. .sliderwrap3 .bx-pager div .active{background:#fd4802;}
  93. .gift_slider li{text-align:right;}
  94. .gift_slider li span{position:absolute; left:50%; bottom:30px; transform:translateX(-50%);}
  95. .controls .bx-prev, .controls .bx-next{position:absolute;top:50%;transform:translateY(-50%);font-size:3em;color:#7d7e7d;}
  96. .controls .bx-prev{right:calc(100% + 40px);}
  97. .controls .bx-next{left:calc(100% + 40px);}
  98. </style>
  99. <!-- 캘린더 사은품 이벤트 -->
  100. <script th:if="${planInfo.planSq}==49">
  101. openWindow2 = function() {
  102. var popupX = (document.body.offsetWidth / 2) - (800 / 2);
  103. var popupY= (window.screen.height / 2) - (700 / 2);
  104. window.open('http://image.istyle24.com/Statics/design/event/2021/1115Gift01/gift_popup2.html', '', 'status=no, height=700, width=800, left='+ popupX + ', top='+ popupY + ', screenX='+ popupX + ', screenY= '+ popupY);
  105. return;
  106. }
  107. $(function () {
  108. $('.gift_slider').bxSlider(
  109. {
  110. wrapperClass: 'sliderwrap3',
  111. auto: true,
  112. speed: 300,
  113. nextText: '<i class="fas fa-chevron-right"></i>',
  114. prevText: '<i class="fas fa-chevron-left"></i>'}
  115. );
  116. });
  117. </script>
  118. <style type="text/css" th:if="${planInfo.planSq}==49">
  119. /* 10월 프로모션때도 넣었던 css */
  120. .coner_item01 img {max-width:100%;}
  121. .pm_gift{padding:80px 0; background:url('http://image.istyle24.com/Statics/design/event/2021/1115Gift01/1115_bg_gift.jpg') center no-repeat; background-size: cover; text-align:center;}
  122. .pm_gift img{max-width:1080px;}
  123. .gift_box{margin:30px 0;}
  124. .gift_box .gift_section{position:relative; max-width:860px; width:auto; margin:0 auto;}
  125. .gift_box .gift_section #g-view{position:absolute; bottom:2rem; left:50%; transform: translateX(-50%);}
  126. .gift_box p{font-size:18px;}
  127. .sliderwrap3{position:relative; max-width:860px; width:100%; margin-bottom:80px; text-align: center;}
  128. .sliderwrap3 .bx-pager{position:absolute; left:50%; bottom:-40px; transform:translateX(-50%);}
  129. .sliderwrap3 .bx-pager div{display:inline-block;padding:0 3px;}
  130. .sliderwrap3 .bx-pager div a{display:block; width:6px; height:6px; background:#fff; border-radius:100%; color:transparent; font-size:0px;}
  131. .sliderwrap3 .bx-pager div .active{background:#fd4802;}
  132. .gift_slider li{text-align:right;}
  133. .gift_slider li span{position:absolute; left:50%; bottom:30px; transform:translateX(-50%);}
  134. .controls .bx-prev, .controls .bx-next{position:absolute;top:50%;transform:translateY(-50%);font-size:3em;color:#7d7e7d;}
  135. .controls .bx-prev{right:calc(100% + 40px);}
  136. .controls .bx-next{left:calc(100% + 40px);}
  137. </style>
  138. <!-- 이벤트를 위한 임시 script 및 style 추가 종료 (21.10.22 by junghwan) -->
  139. <div id="container" class="container dp" th:with="frontUrl=${@environment.getProperty('domain.front')}, goodsView=${@environment.getProperty('upload.goods.view')}, planView=${@environment.getProperty('upload.image.view')}">
  140. <div class="breadcrumb">
  141. <ul>
  142. <li class="bread_home"><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_MAIN);">홈</a></li>
  143. <li class="bread_2depth" th:if="${brandGroupInfo!=null and brandGroupInfo.brandGroupNo!=null}"><a href="javascript:void(0);" th:onclick="cfnGoToBrandMain([[${brandGroupInfo.brandGroupNo}]]);" th:text="${brandGroupInfo.brandGroupNm}"></a></li>
  144. <li class="bread_2depth" th:if="${brandGroupInfo==null and planInfo.planGb == 'P'}" ><a href="javascript:void(0);"onclick="cfnGoToPage(_PAGE_PLANNING_MAIN);">기획전</a></li>
  145. <li class="bread_2depth" th:if="${brandGroupInfo==null and planInfo.planGb == 'E'}" ><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_EVENT_MAIN);">이벤트/혜택</a></li>
  146. <li class="bread_2depth" th:if="${brandGroupInfo!=null and brandGroupInfo.brandGroupNo!=null and planInfo.planGb == 'P'}" ><a th:href="${'/planning/main/form?brandGroupNo='+brandGroupInfo.brandGroupNo}">기획전</a></li>
  147. <li class="bread_2depth" th:text="${planInfo.planNm}"></li>
  148. </ul>
  149. </div>
  150. <div class="wrap">
  151. <!-- 상단 프로모션 배너 -->
  152. <div class="content wide dp_detail_visual">
  153. <div class="cont_head">
  154. <div>
  155. <h3 th:text="${planInfo.planNm}"></h3>
  156. <div class="period">
  157. <span th:text="${planInfo.dispStdt}"></span> ~ <span th:text="${planInfo.dispEddt}"></span>
  158. </div>
  159. <div class="shareSet">
  160. <button class="btn_share" data-name="openShare">공유하기</button>
  161. <div class="shareWrap">
  162. <div id="layerShare" class="setShare open">
  163. <span>
  164. <button type="button" class="kk"
  165. th:attr="onclick=|cfnSendToKakao('${frontUrl+'/planning/detail/form?planSq='+planInfo.planSq}', '${planInfo.planNm}', '${planView+ '/'+planInfo.mainPimg}');|">
  166. <span>카카오톡</span>
  167. </button>
  168. <button type="button" class="fb"
  169. th:attr="onclick=|sendSns('facebook', '${frontUrl+'/planning/detail/form?planSq='+planInfo.planSq}', '${planInfo.planNm}', '', '');|">
  170. <span>페이스북</span>
  171. </button>
  172. <button type="button" class="tw"
  173. th:attr="onclick=|sendSns('twitter', '${frontUrl+'/planning/detail/form?planSq='+planInfo.planSq}', '${planInfo.planNm+ '#style24몰'}', '', '');|">
  174. <span>트위터</span>
  175. </button>
  176. <button type="button" class="url btn_copy">
  177. <span>URL</span>
  178. </button>
  179. </span>
  180. </div>
  181. </div>
  182. </div>
  183. </div>
  184. </div>
  185. <div class="coner_item01" th:if="${fsrcInfoTop != null}" th:utext="${#strings.replace(#strings.replace(fsrcInfoTop.fsrcPc,'&amplt;','<'),'&ampgt;','>')}"></div>
  186. <th:block th:each="a, template : ${templateOrd}">
  187. <th:block th:if="${a.tmplType == 'G082_10'}">
  188. <div class="content wide dp_review" th:id="${a.tmplType}" style="display: none"></div> <!-- //리뷰 -->
  189. </th:block>
  190. <th:block th:if="${a.tmplType == 'G082_20'}">
  191. <div class="content wide dp_coupon" th:id="${a.tmplType}" style="display: none"></div> <!-- //할인쿠폰 -->
  192. </th:block>
  193. <th:block th:if="${a.tmplType == 'G082_30'}">
  194. <div class="cont_body" th:id="${a.tmplType}" style="display: none"></div> <!-- //이미지-->
  195. </th:block>
  196. <th:block th:if="${a.tmplType == 'G082_50'}">
  197. <div class="content dp_special" th:id="${a.tmplType + a.planContSq}" style="display: none"></div>
  198. </th:block>
  199. <th:block th:if="${a.tmplType == 'G082_51'}">
  200. <div class="content dp_special" th:id="${a.tmplType + a.planContSq}" style="display: none"></div>
  201. </th:block>
  202. <th:block th:if="${a.tmplType == 'G082_52'}">
  203. <div class="content dp_special" th:id="${a.tmplType + a.planContSq}" style="display: none"></div>
  204. </th:block>
  205. <th:block th:if="${a.tmplType == 'G082_60'}">
  206. <div class="content dp_announce" th:id="${a.tmplType}" style="display: none"></div>
  207. </th:block>
  208. </th:block>
  209. </div>
  210. <!-- //상단 프로모션 배너 -->
  211. <div class="coner_item01" th:if="${fsrcInfoBtm != null}" th:utext="${#strings.replace(#strings.replace(fsrcInfoBtm.fsrcPc,'&amplt;','<'),'&ampgt;','>')}"></div>
  212. <div class="coner_item01" th:if="${planInfo.pollSq != null}">
  213. <div class="content dp_btn_area">
  214. <div class="cont_head">
  215. <div>
  216. <h4>버튼영역</h4>
  217. </div>
  218. </div>
  219. <div class="cont_body">
  220. <div class="btn_wrap">
  221. <a href="javascript:void(0);" class="btn btn_primary go_next" onclick="javascript:fnJoinConfirm()"> <span>설문조사 참여하기</span></a>
  222. </div>
  223. </div>
  224. </div>
  225. </div>
  226. <!-- 댓글리스트 -->
  227. <th:block th:if="${planInfo.replyYn == 'Y'}">
  228. <div class="content wide cmt">
  229. <div class="cont_body">
  230. <div class="cmt_wrap">
  231. <div class="cmt_write">
  232. <form class="form_wrap">
  233. <div class="cmt_tarea">
  234. <textarea class="cmt_ans" name="replyText" id="replyText" placeholder="댓글을 입력해주세요.(500자 이내)" onclick="fnTextConfirm()"></textarea>
  235. <p class="txt_cnt"><span id="cmt_cnt" class="c_primary">0</span>/500</p>
  236. </div>
  237. <div class="cmt_thumb">
  238. <div class="form_field">
  239. <div class="imgUpload">
  240. <label for="fileAdd" class="fileAdd" id="fileAdd_reply">업로드</label>
  241. <input type="file" id="fileAdd" name="files"/>
  242. </div>
  243. </div>
  244. </div>
  245. <button type="button" class="btn btn_dark" onclick="fnReplySave()"><span>등록</span></button>
  246. </form>
  247. </div>
  248. <div class="cmt_group" id="replyList">
  249. </div>
  250. <div class="paging_wrap">
  251. <ul class="pageNav" id="paging">
  252. </ul>
  253. </div>
  254. </div>
  255. </div>
  256. </div>
  257. </th:block>
  258. <!-- 관련상품 리스트 -->
  259. <div class="content sticky_nav_list" id="cornerList">
  260. </div>
  261. <!-- //관련상품 리스트 -->
  262. <!-- 다른 기획전,이벤트 보기 -->
  263. <th:block th:if="${planList != null and planList.size() > 0}">
  264. <div class="content other_promotion_slide">
  265. <div class="cont_head">
  266. <div>
  267. <h4 th:if="${planInfo.planGb == 'P'}">다른 기획전 보기</h4>
  268. <h4 th:if="${planInfo.planGb == 'E'}">다른 이벤트 보기</h4>
  269. <a href="javascript:void(0);" th:if="${planInfo.planGb == 'P'}" onclick="cfnGoToPage(_PAGE_PLANNING_MAIN);">전체보기</a>
  270. <a href="javascript:void(0);" th:if="${planInfo.planGb == 'E'}" onclick="cfnGoToPage(_PAGE_EVENT_MAIN);">전체보기</a>
  271. </div>
  272. </div>
  273. <div class="cont_body">
  274. <div class="swiper-container">
  275. <div class="swiper-wrapper">
  276. <th:block th:each="PlanData, PlanStat : ${planList}">
  277. <div class="swiper-slide">
  278. <a th:onclick="cfnGoToPlanDetail([[${PlanData.planSq}]])">
  279. <div class="thumb">
  280. <img th:src="${@environment.getProperty('upload.image.view')+PlanData.mainImg}" th:alt="${PlanData.planNm}">
  281. </div>
  282. <div class="txt">
  283. <p class="tit" th:text="${PlanData.planNm}"></p>
  284. </div>
  285. </a>
  286. </div>
  287. </th:block>
  288. </div>
  289. </div>
  290. <div class="swiper-button-prev"></div>
  291. <div class="swiper-button-next"></div>
  292. </div>
  293. </div>
  294. </th:block>
  295. </div>
  296. </div>
  297. <div class="modal fade couponInfo_pop" id="couponInfoPop" tabindex="-1" role="dialog" aria-labelledby="couponInfoLabel" aria-hidden="true">
  298. <div class="modal-dialog" role="document">
  299. <div class="modal-content">
  300. <!-- 쿠폰사용안내 팝업 내용 -->
  301. </div>
  302. </div>
  303. </div>
  304. <!-- <form id="pollListForm" name="pollListForm" th:action="@{'/planning/event/poll/form'}" th:method="post">
  305. <input type="hidden" name="planSq" th:value="${planInfo.planSq}"/>
  306. </form> -->
  307. <form id="searchForm" name="searchForm" th:action="@{/planning/reply/list}" th:method="post">
  308. <input type="hidden" name="pageNo" value="1" />
  309. <input type="hidden" name="planSq" th:value="${planInfo.planSq}" />
  310. <input type="hidden" name="pageSize" value="10" />
  311. </form>
  312. <!-- 댓글 이미지 팝업 -->
  313. <div class="modal fade thumb_img_pop" id="thumbImgPop" tabindex="-1" role="dialog" aria-labelledby="thumbImgLabel" aria-hidden="true">
  314. <div class="modal-dialog" role="document">
  315. <div class="modal-content">
  316. <div class="modal-header sr-only">
  317. <h5 class="modal-title" id="thumbImgLabel">이미지 상세보기</h5>
  318. </div>
  319. <div class="modal-body">
  320. <div class="pop_cont">
  321. <div class="swiper-container">
  322. <div class="swiper-wrapper">
  323. <!-- 이미지 슬라이드 영역 -->
  324. </div>
  325. </div>
  326. <div class="swiper-button-next"></div>
  327. <div class="swiper-button-prev"></div>
  328. <div class="swiper-pagination"></div>
  329. </div>
  330. </div>
  331. </div>
  332. </div>
  333. </div>
  334. <!-- //댓글 이미지 팝업 -->
  335. <script src="/ux/plugins/gaga/gaga.paging.js"></script>
  336. <script th:inline="javascript">
  337. let review = [[${reviewInfo}]];
  338. let reviewContent = [[${reviewContent}]];
  339. let coupon = [[${couponInfo}]];
  340. let couponContent = [[${couponContent}]];
  341. let plan = [[${planInfo}]];
  342. let image = [[${imageInfo}]];
  343. let notice = [[${noticeInfo}]];
  344. let goods1 = [[${goods1Info}]];
  345. let goods1Content = [[${goods1Content}]];
  346. let goods2 = [[${goods2Info}]];
  347. let goods2Content = [[${goods2Content}]];
  348. let goods4 = [[${goods4Info}]];
  349. let goods4Content = [[${goods4Content}]];
  350. let template =[[${templateOrd}]];
  351. let replyList = [[${replyList}]];
  352. let replyCount = [[${replyCount}]];
  353. let replyAttachList = [[${replyAttachList}]];
  354. let planCornerGoodsList = [[${planCornerGoodsList}]];
  355. let planCornerList = [[${planCornerList}]];
  356. if(notice.length>0){
  357. $("#G082_60").show();
  358. var html = '';
  359. html += ' <div class="cont_head">\n';
  360. html += ' <div>\n';
  361. html += ' <h4>유의사항</h4>\n';
  362. html += ' </div>\n';
  363. html += ' </div>\n';
  364. html += ' <div class="cont_body">\n';
  365. html += ' <div class="announce_txt">\n';
  366. html += ' <div class="note_txt">\n';
  367. html += ' <img src="' + _uximgUrl + '/images/pc/ico_content_find.png" alt="유의사항">\n';
  368. html += ' <p>유의사항</p>\n';
  369. html += ' </div>\n';
  370. html += ' <div class="announce_list">\n';
  371. html += ' <ul>\n';
  372. $.each(notice, function(idx, item) {
  373. html += ' <li>' +item.itemVal.escapeHtml();+ '</li>\n';
  374. });
  375. html += ' </ul>\n';
  376. html += ' </div>\n';
  377. html += ' </div>\n ';
  378. html += ' </div>\n';
  379. $("#G082_60").append(html);
  380. }
  381. if(planCornerList.length>0 && plan.cornerNmDispYn == "Y"){
  382. var html = '';
  383. html += '<div class="cont_head">\n';
  384. html += ' <div class="sticky_nav">\n';
  385. html += ' <ul>\n ';
  386. $.each(planCornerList, function(idx, item) {
  387. html += ' <li><a href="#brand'+(idx+1)+'">'+item.cornerNm+'</a></li>\n';
  388. })
  389. html += ' </ul>\n';
  390. html += ' </div>\n';
  391. html += '</div>\n';
  392. html += '<div class="cont_body">\n';
  393. html += ' <div class="list_content">\n';
  394. $.each(planCornerList, function(idx, item) {
  395. html += ' <div id="brand'+(idx+1)+'" class="dp_item_list">\n';
  396. html += ' <div class="item_header">\n';
  397. html += ' <h4>'+item.cornerNm+'</h4>\n';
  398. html += ' </div>\n';
  399. html += ' <div class="itemsGrp';
  400. if(item.cornerDispType == 'G045_2'){
  401. html += ' cut2';
  402. }else if(item.cornerDispType == 'G045_4'){
  403. html += ' cut4';
  404. }else if(item.cornerDispType == 'G045_5'){
  405. html += ' cut5';
  406. }
  407. html += '">\n';
  408. $.each(planCornerGoodsList, function(idx2, item2) {
  409. if (item2.cornerNm == item.cornerNm) {
  410. html += ' <div class="item_prod">\n';
  411. html += ' <div class="item_state">\n';
  412. html += ' <button type="button" class="itemLike';
  413. if(item2.likeIt == 'likeit'){
  414. html += ' likeit';
  415. }
  416. html += ' "';
  417. html += ' onClick="cfnPutWishList(this);" goodsCd=\''+item2.goodsCd+'\', goodsNm=\'' + item2.goodsNm + '\', ithrCd=\'\', contentsLoc=\'\', planDtlSq=\'\'>관심상품 추가</button>\n';
  418. html += ' <a href="javascript:void(0);" onclick="cfnGoToGoodsDetail(\'' + item2.goodsCd + '\',\'\',\'IN12_01\',\'\',\'' + item.planDtlSq+ '\')" class="itemLink">\n';
  419. html += ' <div class="itemPic">\n';
  420. html += ' <img alt="BLUE-a" class=" vLHTC pd_img" src="'+ _uploadGoodsUrl +'/'+item2.sysImgNm +'?RS=550">\n';
  421. html += ' </div>\n';
  422. html += ' <p class="itemBrand">'+item2.brandGroupNm+'</p>\n';
  423. if(item2.goodsTnm != null){
  424. html += ' <div class="itemComment">'+item2.goodsTnm+'</div>\n';
  425. }
  426. html += ' <div class="itemName">'+item2.goodsNm+'</div>\n';
  427. html += ' <p class="itemPrice">'+item2.currPrice.addComma();
  428. if (item2.currPrice != item2.listPrice) {
  429. html += ' <span class="itemPrice_original">'+item2.listPrice.addComma()+'</span>\n';
  430. }
  431. if (item2.dcRate != 0) {
  432. html += ' <span class=" itemPercent">'+item2.dcRate.addComma()+'%</span>\n';
  433. }
  434. html += ' </p>\n';
  435. html += ' <div class="itemcolorchip">\n';
  436. if(!gagajf.isNull(item2.colorChips)){
  437. var colorArr = item2.colorChips.split(",");
  438. var colorCd = '';
  439. var rgbColor = '';
  440. for(let i=0; i<colorArr.length; i++){
  441. var colorInfo = colorArr[i].split(":");
  442. colorCd = colorInfo[0];
  443. rgbColor = colorInfo[1];
  444. if(rgbColor=='#FFFFFF'){
  445. html += ' <span class="chip_color" style="background-color: '+rgbColor+';border:1px solid #aaa;" value="'+colorCd+'">'+colorCd+'</span>\n';
  446. }else{
  447. html += ' <span class="chip_color" style="background-color: '+rgbColor+'" value="'+colorCd+'">'+colorCd+'</span>\n';
  448. }
  449. }
  450. }
  451. html += ' </div>\n';
  452. if(!gagajf.isNull(item2.icon)){
  453. var iconArr = item2.icon.split(",");
  454. var iconGb = '';
  455. var iconNm = '';
  456. html += ' <p class="itemBadge">\n';
  457. for(let i=0; i<iconArr.length; i++){
  458. var iconInfo = iconArr[i].split(":");
  459. iconGb = iconInfo[0];
  460. iconNm = iconInfo[1];
  461. html += ' <span class="badge13" value="'+iconGb+'">'+iconNm+' </span>\n';
  462. }
  463. html += ' </p>\n';
  464. }
  465. html += ' </a>\n';
  466. html += ' </div>\n';
  467. html += ' </div>\n';
  468. }
  469. })
  470. html += ' </div>\n';
  471. html += ' </div>\n';
  472. })
  473. html += ' </div>\n';
  474. html += ' </div>\n';
  475. $("#cornerList").append(html);
  476. }
  477. if(template.length>0){
  478. if(review.length>0 || (reviewContent.length>0 && !gagajf.isNull(reviewContent[0].title))){
  479. $("#G082_10").show();
  480. var html = '';
  481. html += ' <div class="cont_head">\n';
  482. html += ' <div>\n';
  483. html += ' <h4>'+reviewContent[0].title+'</h4>\n';
  484. html += ' </div>\n';
  485. html += ' <div class="cont_body">\n';
  486. html += ' <div class="review_list">\n';
  487. $.each(review, function(idx, item) {
  488. html += ' <div class="reviw_box">\n'
  489. html += ' <div class="best_review">\n';
  490. if(item.reviewSysImg!= null){
  491. if (item.bestYn == 'Y') {
  492. html += ' <a href="javascript:void();" id="btn_pdBestReview_pop" onclick="cfPlanningReviewDetail(\''+item.goodsCd+'\',\'Y\', \'Y\',\''+item.reviewSq+'\',1);">\n';
  493. }else{
  494. html += ' <a href="javascript:void();" id="btn_pdBestReview_pop" onclick="cfPlanningReviewDetail(\''+item.goodsCd+'\',\'N\', \'Y\',\''+item.reviewSq+'\',1);">\n';
  495. }
  496. }else{
  497. if (item.bestYn == 'Y') {
  498. html += ' <a href="javascript:void();" id="btn_pdBestReview_pop" onclick="cfPlanningReviewDetail(\''+item.goodsCd+'\',\'Y\', \'N\',\''+item.reviewSq+'\',1);">\n';
  499. }else{
  500. html += ' <a href="javascript:void();" id="btn_pdBestReview_pop" onclick="cfPlanningReviewDetail(\''+item.goodsCd+'\',\'N\', \'N\',\''+item.reviewSq+'\',1);">\n';
  501. }
  502. }
  503. html += ' <div class="pic">\n';
  504. if(item.reviewSysImg!= null){
  505. if (item.fileGb == 'M') {
  506. html += ' <span class="thumb mov" style="background-image: url('+ _kollusMediaUrl+'/poster/'+item.kmcKey +');"></span>\n';
  507. }else{
  508. html += ' <span class="thumb" style="background-image: url('+ _uploadImageUrl +item.reviewSysImg +'?RS=340);"></span>\n';
  509. }
  510. }else{
  511. html += ' <span class="thumb" style="background-image: url('+ _uploadGoodsUrl+'/'+item.sysImgNm +'?RS=340);"></span>\n';
  512. }
  513. html += ' </div>\n';
  514. html += ' <div class="star_score">\n';
  515. html += ' <span class="star">\n';
  516. html += ' <em class="progbar" style="width:'+(item.score*20)+'%;"></em>\n';
  517. html += ' </span>\n';
  518. if(item.bestYn == 'Y'){
  519. html += '<em class="ico ico_besttag"></em>\n';
  520. }
  521. html += ' </div>\n';
  522. html += ' <div class="txt_best_review">\n';
  523. html += ' <p>'+item.reviewContent+'</p>\n';
  524. html += ' </div>\n';
  525. html += ' <div class="info_writer">\n';
  526. html += ' <span class="wr_id">'+item.maskingCustId+'</span>\n';
  527. html += ' <span class="wr_date">'+item.regDt+'</span>\n';
  528. html += ' </div>\n';
  529. html += ' </a>\n';
  530. html += ' </div>\n';
  531. html += ' <div class="review_item">\n';
  532. html += ' <div class="item_prod">\n';
  533. html += ' <div class="item_state">\n';
  534. html += ' <a href="javascript:void(0);" onclick="cfnGoToGoodsDetail(\'' + item.goodsCd + '\',\'\',\'IN12_01\')" class="itemLink">\n';
  535. html += ' <div class="itemPic">\n';
  536. html += ' <img alt="" class="vLHTC pd_img" src="'+ _uploadGoodsUrl +'/'+item.sysImgNm +'">\n';
  537. html += ' </div>\n';
  538. html += ' <div class="itemName">'+item.goodsNm+'</div>\n';
  539. html += ' <p class="itemPrice">'+item.currPrice.addComma()+'</p>\n';
  540. html += ' </a>\n';
  541. html += ' </div>\n';
  542. html += ' </div>\n';
  543. html += ' </div>\n';
  544. html += ' </div>\n';
  545. });
  546. html += ' </div>\n ';
  547. html += ' </div>\n';
  548. html += '</div>\n';
  549. $("#G082_10").append(html);
  550. }
  551. }
  552. if(image.length>0){
  553. if (image[0].itemVal != null && image[0].itemVal != '') {
  554. $("#G082_30").show();
  555. var html = '';
  556. html += ' <div class="promotion_visual type2">\n';
  557. html += ' <div class="swiper-container">\n';
  558. html += ' <div class="swiper-wrapper">\n';
  559. for (var i = 0; i < image.length; i++) {
  560. html += ' <div class="swiper-slide">\n';
  561. if (image[i].linkOpenGb == 'M') {
  562. html += ' <a href="'+image[i].linkUrl+'" target="_self"><img alt="" src="'+ _uploadImageUrl + image[i].itemVal +'"></a>\n';
  563. }else{
  564. html += ' <a href="'+image[i].linkUrl+'" target="_blank"><img alt="" src="'+ _uploadImageUrl + image[i].itemVal +'"></a>\n';
  565. }
  566. html += ' </div>\n';
  567. }
  568. html += ' </div>\n';
  569. html += ' </div>\n';
  570. html += ' <div class="swiper-button-prev"></div>\n';
  571. html += ' <div class="swiper-button-next"></div>\n';
  572. html += ' <div class="swiper-pagination"></div>\n';
  573. html += ' </div>\n';
  574. $("#G082_30").append(html);
  575. }
  576. }
  577. if(template.length>0){
  578. var array = [];
  579. for (var j = 0; j < template.length; j++) {
  580. if(template[j].tmplType == 'G082_50'){
  581. array.push(template[j].planContSq);
  582. }
  583. }
  584. for (var i = 0; i < template.length; i++) {
  585. var html = '';
  586. if(template[i].tmplType == 'G082_50' && array[0] == template[i].planContSq && typeof array[0] != 'undefined') {
  587. if(template[i].title != null && template[i].title != ''){
  588. $("#G082_50" +template[i].planContSq).show();
  589. }
  590. html += '<div class="cont_head">\n';
  591. html += ' <div>\n';
  592. html += ' <h4>\n';
  593. if (template[i].linkUrl != null && template[i].linkUrl != '') { /* 링크 변경 예정 */
  594. if (template[i].linkOpenGb == 'M') { //본창
  595. html += ' <a href="'+template[i].linkUrl+'" target="_self">'+template[i].title+' <i class="ico_arrow"></i></a>\n';
  596. }else{
  597. html += ' <a href="'+template[i].linkUrl+'" target="_blank">'+template[i].title+' <i class="ico_arrow"></i></a>\n';
  598. }
  599. }else{
  600. html += ' <a href="javascript:void(0)">'+template[i].title+'</a>\n';
  601. }
  602. html += ' </h4>\n';
  603. html += ' </div>\n';
  604. html += '</div>\n';
  605. html += '<div class="cont_body">\n';
  606. html += ' <div class="dp_listItems_cont type1">\n';
  607. html += ' <ul>\n';
  608. $.each(goods1, function(idx, item) {
  609. if (item.planContSq == template[i].planContSq) {
  610. $("#G082_50" + item.planContSq).show();
  611. html += ' <li>\n';
  612. html += ' <div class="dp_listItems">\n';
  613. html += ' <div class="dp_listItems_img">\n';
  614. html += ' <img src="'+ _uploadGoodsUrl +'/'+item.sysImgNm +'" alt="">\n';
  615. html += ' </div>\n';
  616. html += ' <div class="dp_listItems_info">\n';
  617. html += ' <div class="dp_listItems_brand">'+item.brandGroupNm+'</div>\n';
  618. if(item.goodsTnm != null){
  619. html += ' <div class="itemComment">'+item.goodsTnm+'</div>\n';
  620. }
  621. html += ' <div class="dp_listItems_name">'+item.goodsNm+'<br></div>\n';
  622. html += ' <div class="dp_listItems_price">\n';
  623. html += ' <span class="price">'+item.currPrice.addComma()+'</span>\n';
  624. if (item.currPrice != item.listPrice) {
  625. html += ' <del>'+item.listPrice.addComma()+'</del>\n';
  626. html += ' <span class="percent">'+Math.floor(item.dcRate)+'%</span>\n';
  627. }
  628. html += ' </div>\n';
  629. html += ' <div class="ui_row">\n';
  630. html += ' <button type="button" class="btn btn_default" onclick="cfnGoToGoodsDetail(\'' + item.goodsCd + '\',\'\',\'IN12_01\')"><span>자세히 보기</span></button>\n';
  631. html += ' </div>\n';
  632. html += ' </div>\n';
  633. html += ' </div>\n';
  634. html += ' </li>\n';
  635. }
  636. });
  637. html += ' </ul>\n';
  638. html += ' </div>\n ';
  639. html += '</div>';
  640. $("#G082_50" +array[0]).append(html);
  641. }
  642. if($("#G082_50" +template[i].planContSq).length){
  643. array.shift();
  644. }
  645. }
  646. }
  647. if(template.length>0){
  648. var array = [];
  649. for (var j = 0; j < template.length; j++) {
  650. if(template[j].tmplType == 'G082_51'){
  651. array.push(template[j].planContSq);
  652. }
  653. }
  654. for (var i = 0; i < template.length; i++) {
  655. var html = '';
  656. if(template[i].tmplType == 'G082_51' && array[0] == template[i].planContSq && typeof array[0] != 'undefined'){
  657. if(template[i].title != null && template[i].title != ''){
  658. $("#G082_51" +template[i].planContSq).show();
  659. }
  660. html += '<div class="cont_head">\n';
  661. html += ' <div>\n';
  662. html += ' <h4>\n';
  663. if (template[i].linkUrl != null && template[i].linkUrl != '') { /* 링크 변경 예정 */
  664. if (template[i].linkOpenGb == 'M') { //본창
  665. html += ' <a href="'+template[i].linkUrl+'" target="_self">'+template[i].title+' <i class="ico_arrow"></i></a>\n';
  666. }else{
  667. html += ' <a href="'+template[i].linkUrl+'" target="_blank">'+template[i].title+' <i class="ico_arrow"></i></a>\n';
  668. }
  669. }else{
  670. html+=' <a href="javascript:void(0)">'+template[i].title+'</a>\n';
  671. }
  672. html += ' </h4>\n';
  673. html += ' </div>\n';
  674. html += '</div>\n';
  675. html += '<div class="cont_body">\n';
  676. html += ' <div class="dp_listItems_cont type2">\n';
  677. html += ' <div class="swiper-container">\n';
  678. html += ' <div class="swiper-wrapper">\n';
  679. $.each(goods2, function(idx, item) {
  680. if (item.planContSq == template[i].planContSq) {
  681. $("#G082_51" + item.planContSq).show();
  682. html += ' <div class="swiper-slide">\n';
  683. html += ' <div class="item_prod">\n';
  684. html += ' <div class="item_state">\n';
  685. html += ' <a onclick="cfnGoToGoodsDetail(\'' + item.goodsCd + '\',\'\',\'IN12_01\')" class="itemLink">\n';
  686. html += ' <div class="itemPic">\n';
  687. html += ' <img alt="BLUE-a" class=" vLHTC pd_img" src="'+ _uploadGoodsUrl +'/'+item.sysImgNm +'">\n';
  688. html += ' </div>\n';
  689. html += ' <p class="itemBrand">'+item.brandGroupNm+'</p>\n';
  690. if(item.goodsTnm != null){
  691. html += ' <div class="itemComment">'+item.goodsTnm+'</div>\n';
  692. }
  693. html += ' <div class="itemName">'+item.goodsNm+'</div>\n';
  694. html += ' <p class="itemPrice">'+item.currPrice.addComma();
  695. if (item.currPrice != item.listPrice) {
  696. html+=' <span class="itemPrice_original">'+item.listPrice.addComma()+'</span>\n';
  697. html+=' <span class=" itemPercent">'+Math.floor(item.dcRate)+'%</span>\n';
  698. }
  699. html += ' </p>\n';
  700. html += ' </a>\n';
  701. html += ' </div>\n';
  702. html += ' </div>\n';
  703. html += ' </div>\n ';
  704. }
  705. });
  706. html += ' </div>\n';
  707. html += ' </div>\n';
  708. html += ' <div class="swiper-button-prev"></div>\n';
  709. html += ' <div class="swiper-button-next"></div>\n';
  710. html += ' <div class="swiper-pagination"></div>\n';
  711. html += ' </div>\n ';
  712. html += '</div>\n';
  713. $("#G082_51" +array[0]).append(html);
  714. }
  715. if($("#G082_51" +template[i].planContSq).length){
  716. array.shift();
  717. }
  718. }
  719. }
  720. if(template.length>0){
  721. var array = [];
  722. for (var j = 0; j < template.length; j++) {
  723. if(template[j].tmplType == 'G082_52'){
  724. array.push(template[j].planContSq);
  725. }
  726. }
  727. for (var i = 0; i < template.length; i++) {
  728. var html = '';
  729. if(template[i].tmplType == 'G082_52' && array[0] == template[i].planContSq && typeof array[0] != 'undefined'){
  730. if(template[i].title != null && template[i].title != ''){
  731. $("#G082_52" +template[i].planContSq).show();
  732. }
  733. html += '<div class="cont_head">\n';
  734. html += '<div>\n';
  735. html += ' <h4>\n';
  736. if (template[i].linkUrl != null && template[i].linkUrl != '') { /* 링크 변경 예정 */
  737. if (template[i].linkOpenGb == "M") { //본창
  738. html += ' <a href="'+template[i].linkUrl+'" target="_self">'+template[i].title+' <i class="ico_arrow"></i></a>\n';
  739. }else{
  740. html += ' <a href="'+template[i].linkUrl+'" target="_blank">'+template[i].title+' <i class="ico_arrow"></i></a>\n';
  741. }
  742. }else{
  743. html+=' <a href="javascript:void(0)">'+template[i].title+'</a>\n';
  744. }
  745. html += ' </h4>\n';
  746. html += ' </div>\n';
  747. html += '</div>\n';
  748. html += '<div class="cont_body">\n';
  749. html += ' <div class="dp_listItems_cont type3">\n';
  750. html += ' <div class="swiper-container">\n';
  751. html += ' <div class="swiper-wrapper">\n';
  752. $.each(goods4, function(idx, item) {
  753. if (item.planContSq == template[i].planContSq) {
  754. $("#G082_52" + item.planContSq).show();
  755. html += ' <div class="swiper-slide">\n';
  756. html += ' <div class="item_prod">\n';
  757. html += ' <div class="item_state">\n';
  758. html += ' <a onclick="cfnGoToGoodsDetail(\'' + item.goodsCd + '\',\'\',\'IN12_01\')" class="itemLink">\n';
  759. html += ' <div class="itemPic">\n';
  760. html += ' <img alt="BLUE-a" class=" vLHTC pd_img" src="'+ _uploadGoodsUrl +'/'+item.sysImgNm +'">\n';
  761. html += ' </div>\n';
  762. html += ' <p class="itemBrand">'+item.brandGroupNm+'</p>\n';
  763. if(item.goodsTnm != null){
  764. html += ' <div class="itemComment">'+item.goodsTnm+'</div>\n';
  765. }
  766. html += ' <div class="itemName">'+item.goodsNm+'</div>\n';
  767. html += ' <p class="itemPrice">'+item.currPrice.addComma();
  768. if (item.currPrice != item.listPrice) {
  769. html+=' <span class="itemPrice_original">'+item.listPrice.addComma()+'</span>\n';
  770. html+=' <span class=" itemPercent">'+Math.floor(item.dcRate)+'%</span>\n';
  771. }
  772. html += ' </p>\n';
  773. html += ' </a>\n';
  774. html += ' </div>\n';
  775. html += ' </div>\n';
  776. html += ' </div>\n';
  777. }
  778. });
  779. html += ' </div>\n';
  780. html += ' </div>\n';
  781. html += ' <div class="swiper-button-prev"></div>\n';
  782. html += ' <div class="swiper-button-next"></div>\n';
  783. html += ' <div class="swiper-pagination"></div>\n';
  784. html += ' </div>\n ';
  785. html += '</div>\n';
  786. $("#G082_52" +array[0]).append(html);
  787. }
  788. if($("#G082_52" +template[i].planContSq).length){
  789. array.shift();
  790. }
  791. }
  792. /* SLIDE - 대표상품 슬라이드 4열 상품 */
  793. // 슬라이드 개별생성 21.09.23
  794. for (var j = 0; j < template.length; j++) {
  795. if(template[j].tmplType == 'G082_52'){
  796. var slidId = "G082_52" + template[j].planContSq;
  797. var dp_listItems_slide2 = new Swiper ('#'+slidId+' .dp_listItems_cont.type3 .swiper-container', {
  798. loop: false,
  799. slidesPerView: 4,
  800. slidesPerGroup: 4,
  801. spaceBetween: 20,
  802. speed : 1000,
  803. a11y: {
  804. enabled: true,
  805. notificationClass: 'swiper-notification',
  806. prevSlideMessage: '이전 슬라이드',
  807. nextSlideMessage: '다음 슬라이드',
  808. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  809. },
  810. navigation: {
  811. nextEl: '#'+slidId+' .dp_listItems_cont.type3 .swiper-button-next',
  812. prevEl: '#'+slidId+' .dp_listItems_cont.type3 .swiper-button-prev',
  813. },
  814. pagination: {
  815. el: '#'+slidId+' .dp_listItems_cont.type3 .swiper-pagination',
  816. clickable: true,
  817. },
  818. });
  819. }
  820. }
  821. }
  822. if(template.length>0){
  823. if(coupon.length>0 || (couponContent.length > 0 && !gagajf.isNull(couponContent[0].title)) || (couponContent.length > 0 && !gagajf.isNull(couponContent[0].cpnNote0))){
  824. $("#G082_20").show();
  825. var html = '';
  826. html += '<div class="cont_head">\n';
  827. html += ' <div>\n';
  828. html += ' <h4>'+couponContent[0].title+'</h4>\n';
  829. html += ' </div>\n';
  830. html += '</div>\n';
  831. html += '<div class="cont_body">\n';
  832. html += ' <div class="coupon_list">\n';
  833. html += ' <ul>\n';
  834. $.each(coupon, function(idx, item) {
  835. html += ' <li>\n';
  836. html += ' <div class="coupon">\n';
  837. html += ' <div>\n';
  838. html += ' <p class="cp_name">'+item.cpnNm+'</p>\n';
  839. html += ' <p class="cp_cont">\n';
  840. html += ' <span><em>'+item.dcVal.addComma()+'</em>'+item.dcWay+'</span>\n';
  841. html += ' </p>\n';
  842. html += ' <p class="cp_condition">'+item.useCondition;
  843. html += ' <span>'+item.issueCondition+'</span>\n';
  844. html += ' </p>\n';
  845. html += ' </div>\n';
  846. if (item.couponStat == '쿠폰받기') {
  847. html += ' <button type="button" id="coupon_'+item.cpnId+'" class="btn btn_dark btn_block btn_coupon_down" onclick="fnPlanCouponDown('+item.cpnId+')">\n';
  848. html += ' <span>쿠폰받기</span>\n';
  849. html += ' </button>\n';
  850. }else{
  851. html += ' <button type="button"';
  852. html += ' class="btn btn_dark btn_block btn_coupon_done" disabled>\n';
  853. html += ' <span>받기완료</span>\n';
  854. html += ' </button>\n';
  855. }
  856. html += ' </div>\n';
  857. html += ' <button type="button" class="btn_underline" id="btn_couponInfo_pop" onclick="usePlanInfoCoupon('+item.cpnId+')">\n';
  858. html += ' <span>사용안내</span>\n';
  859. html += ' </button>\n';
  860. html += ' </li>\n';
  861. });
  862. html += ' </ul>\n';
  863. html += ' </div>\n';
  864. html += '</div>\n';
  865. if(couponContent[0].cpnNote0 != null && couponContent[0].cpnNote0 != ''){
  866. html += '<div class="content dp_announce line">\n ';
  867. html += ' <div class="cont_head">\n ';
  868. html += ' <div>\n ';
  869. html += ' <h4>유의사항</h4>\n ';
  870. html += ' </div>\n ';
  871. html += ' </div>\n ';
  872. html += ' <div class="cont_body">\n ';
  873. html += ' <div class="announce_txt">\n ';
  874. html += ' <div class="note_txt">\n ';
  875. html += ' <img src="' + _uximgUrl + '/images/pc/ico_content_find.png" alt="유의사항">\n ';
  876. html += ' <p>유의사항</p>\n ';
  877. html += ' </div>\n ';
  878. html += ' <div class="announce_list">\n ';
  879. html += ' <ul>\n';
  880. html += ' <li>' + couponContent[0].cpnNote0.escapeHtml(); +'</li>\n';
  881. if(couponContent[0].cpnNote1 != null && couponContent[0].cpnNote1 != '')
  882. html += ' <li>' + couponContent[0].cpnNote1.escapeHtml(); +'</li>\n';
  883. if(couponContent[0].cpnNote2 != null && couponContent[0].cpnNote2 != '')
  884. html += ' <li>' + couponContent[0].cpnNote2.escapeHtml(); +'</li>\n';
  885. if(couponContent[0].cpnNote3 != null && couponContent[0].cpnNote3 != '')
  886. html += ' <li>' + couponContent[0].cpnNote3.escapeHtml(); +'</li>\n';
  887. if(couponContent[0].cpnNote4 != null && couponContent[0].cpnNote4 != '')
  888. html += ' <li>' + couponContent[0].cpnNote4.escapeHtml(); +'</li>\n';
  889. if(couponContent[0].cpnNote5 != null && couponContent[0].cpnNote5 != '')
  890. html += ' <li>' + couponContent[0].cpnNote5.escapeHtml(); +'</li>\n';
  891. if(couponContent[0].cpnNote6 != null && couponContent[0].cpnNote6 != '')
  892. html += ' <li>' + couponContent[0].cpnNote6.escapeHtml();+'</li>\n';
  893. if(couponContent[0].cpnNote7 != null && couponContent[0].cpnNote7 != '')
  894. html += ' <li>' + couponContent[0].cpnNote7.escapeHtml(); +'</li>\n';
  895. if(couponContent[0].cpnNote8 != null && couponContent[0].cpnNote8 != '')
  896. html += ' <li>' + couponContent[0].cpnNote8.escapeHtml(); +'</li>\n';
  897. if(couponContent[0].cpnNote9 != null && couponContent[0].cpnNote9 != '')
  898. html += ' <li>' + couponContent[0].cpnNote9.escapeHtml(); +'</li>\n';
  899. html += ' </ul>\n';
  900. html += ' </div> ';
  901. html += ' </div> ';
  902. html += ' </div> ';
  903. html += '</div> ';
  904. }
  905. $("#G082_20").append(html);
  906. }
  907. }
  908. //사용안내 모달
  909. var usePlanInfoCoupon = function (id) {
  910. var data = {cpnId : id
  911. ,planSq : plan.planSq};
  912. var jsonData = JSON.stringify(data);
  913. $.ajax( {
  914. type : "POST",
  915. url : '/planning/coupon/detailpop',
  916. data : jsonData,
  917. contentType: 'application/json',
  918. dataType : 'html',
  919. success : function(result) {
  920. if (result != null) {
  921. $("#couponInfoPop").html(result);
  922. $("#couponInfoPop").modal("show");
  923. }
  924. }
  925. });
  926. return false;
  927. }
  928. //쿠폰 다운로드
  929. var fnPlanCouponDown = function(obj){
  930. if (!cfCheckLogin()) {
  931. cfnGoToPage(_PAGE_LOGIN);
  932. return false;
  933. }
  934. let cpnId = obj;
  935. gagajf.ajaxJsonSubmit(_PAGE_PLANNING_CPN_DOWNLOAD, JSON.stringify({cpnId: cpnId}), fnPlanCouponCallBack);
  936. }
  937. // 쿠폰다운로드 콜백
  938. var fnPlanCouponCallBack = function(result){
  939. console.log(result);
  940. $.each(result.couponList, function (idx, item) {
  941. if (Number(item.custPubLimitQty) > 0){
  942. if (Number(item.custPubLimitQty) <= Number(item.custCouponCnt)){
  943. $('#coupon_'+ item.cpnId).html('<span>받기완료</span>');
  944. $('#coupon_'+ item.cpnId).attr('disabled', true);
  945. }
  946. }
  947. });
  948. }
  949. // 설문조사 참여 버튼 클릭
  950. var fnJoinConfirm = function () {
  951. let planSq = plan.planSq;
  952. if (!cfCheckLogin()) {
  953. // mcxDialog.alert("로그인 후 참여 가능합니다.");
  954. mcxDialog.alertC("로그인 후 참여 가능합니다.", { //내용
  955. sureBtnText: "로그인", //버튼명
  956. sureBtnClick: function(){
  957. location.href="/signin";
  958. }
  959. });
  960. return false;
  961. }else{
  962. cfnGoToPollDetail(planSq);
  963. }
  964. }
  965. // 댓글 입력 확인
  966. var fnTextConfirm = function() {
  967. //로그인 확인
  968. if (!cfCheckLogin()) {
  969. // mcxDialog.alert("로그인 후 참여 가능합니다.");
  970. mcxDialog.alertC("로그인 후 참여 가능합니다.", { //내용
  971. sureBtnText: "로그인", //버튼명
  972. sureBtnClick: function(){
  973. location.href="/signin";
  974. }
  975. });
  976. $("#replyText").val('');
  977. return false;
  978. }
  979. }
  980. var ajaxReplyList = function () {
  981. gagaPaging.init('searchForm', fnSearchCallback, 'paging', 10);
  982. gagaPaging.load(1);
  983. }
  984. var fnSearchCallback = function (result) {
  985. $("#replyList").html('');
  986. if (result!=null) {
  987. var html = '';
  988. html += '<div class="cmt_list_tit">\n';
  989. html += ' <strong>댓글</strong><span class="cnt">('+result.replyCount.addComma()+')</span>\n';
  990. html += '</div>\n';
  991. if (result.replyList.length>0) {
  992. html += '<ul class="cmt_list">\n';
  993. $.each(result.replyList, function (idx, item) {
  994. html += ' <li>\n';
  995. html += ' <div class="cmt_top">\n';
  996. html += ' <span class="writer">'+item.maskingCustId+'</span>\n';
  997. html += ' <span class="date">'+item.entryDt+'</span>\n';
  998. html += ' </div>\n';
  999. html += ' <div class="cmt_cont">\n';
  1000. html += ' <div class="img_wrap clear">\n';
  1001. if (result.replyAttachList.length>0) {
  1002. var j = 0;
  1003. for (var i = 0; i < result.replyAttachList.length; i++) {
  1004. if(result.replyAttachList[i].planEntrySq == item.planEntrySq){
  1005. //html += ' <span class="pics"><img class="picsThumbs" src="'+ _uploadImageUrl +'/'+result.replyAttachList[i].sysFileNm +'"></span>\n';
  1006. html += ' <span class="pics"><img class="picsThumbs" onclick="cfMoPlanReplyDetail(\''+item.planSq+'\',\''+item.planEntrySq+'\',\''+result.replyAttachList[i].planEntryAtSq+'\', \''+ j +'\');" src="'+ _uploadImageUrl +'/'+result.replyAttachList[i].sysFileNm +'"></span>\n';
  1007. j++;
  1008. }
  1009. }
  1010. }
  1011. html += ' </div>\n';
  1012. html += ' <p>'+item.entryVal1.escapeHtml()+'</p>\n';
  1013. if (item.entryCustNo == result.custNo) {
  1014. html += ' <button class="btn btn_default btn_del" value="'+item.planEntrySq+'" onclick="fnDelReply(this.value)"><span>삭제</span></button>\n';
  1015. }
  1016. html += ' </div>\n';
  1017. html += ' </li>\n';
  1018. });
  1019. html += '</ul>\n';
  1020. }else{
  1021. html += '<div class="nodata" id="replyNoData">\n';
  1022. html += ' <div class="txt_box">\n ';
  1023. html += ' <p>\n ';
  1024. html += ' 등록된 댓글이 없습니다. ';
  1025. html += ' </p>\n ';
  1026. html += ' </div>\n ';
  1027. html += '</div>\n ';
  1028. }
  1029. }
  1030. $("#replyList").append(html);
  1031. // Create pagination
  1032. gagaPaging.createPagination(result.paging.pageable);
  1033. }
  1034. // 댓글 삭제
  1035. var fnDelReply = function(obj) {
  1036. data = {planEntrySq : obj};
  1037. var jsonData = JSON.stringify(data);
  1038. mcxDialog.confirm("댓글을 삭제 하시겠습니까?", {
  1039. cancelBtnText : "취소",
  1040. sureBtnText : "확인",
  1041. sureBtnClick : function() {
  1042. gagajf.ajaxJsonSubmit('/planning/reply/delete', jsonData,function() {
  1043. ajaxReplyList();
  1044. });
  1045. }
  1046. })
  1047. }
  1048. $('#fileAdd').on('change', function() { fnChooseFile(this); });
  1049. var fnChooseFile = function(obj) {
  1050. var picLength = $(".pics").length;
  1051. // multiple 속성이 있으면 files에는 다수의 객체가 할당됨
  1052. var file = obj.files[0];
  1053. if (!gagajf.isNull(file.name)) {
  1054. var extension = "\.(jpg|jpeg|png)$";
  1055. if (!(new RegExp(extension, "i")).test(file.name)) {
  1056. mcxDialog.alertC('이미지는 [jpg, jpeg, png] 파일만 가능합니다.', {
  1057. sureBtnText: "확인",
  1058. sureBtnClick: function() {
  1059. //$(obj).parent('.imgUpload').find('.removes').trigger('click');
  1060. $('.imgUpload').find('span').eq(0).remove();
  1061. }
  1062. });
  1063. return false;
  1064. }
  1065. }
  1066. // 이거 왜 안먹히지
  1067. if (!gagajf.isNull(file.size) && Number(file.size) > (10 * 1000000)) {
  1068. mcxDialog.alertC('이미지는 최대 10MB 이하 파일만 가능합니다.', {
  1069. sureBtnText: "확인",
  1070. sureBtnClick: function() {
  1071. $(obj).parent('.imgUpload').find('.removes').trigger('click');
  1072. }
  1073. });
  1074. return false;
  1075. }
  1076. // 파일 업로드
  1077. gagajf.ajaxFileUpload('/common/file/upload?subDir=/reply'
  1078. , file
  1079. , function(result) {
  1080. // 업로드한 파일명 설정
  1081. $(".pics").children().eq(0).append("<input type='hidden' name='orgFileNm' id='orgFileNm"+(picLength+1)+"' value='"+result.oldFileName+"'>");
  1082. $(".pics").children().eq(0).append("<input type='hidden' name='sysFileNm' id='sysFileNm"+(picLength+1)+"' value='"+result.newFileName+"'>");
  1083. }
  1084. );
  1085. }
  1086. // 댓글 등록 버튼 클릭 시
  1087. var fnReplySave = function() {
  1088. var fileLength = $("input[name='sysFileNm']").length;
  1089. var content = $('#replyText').val();
  1090. if (content.length < 2){
  1091. mcxDialog.alert("최소 2자 이상 입력해주세요.");
  1092. return;
  1093. }
  1094. var yokList = new Array('<script>','script','D쥐고','D지고','jonna','jot같','mi쳤','ssㅑ','tlqkf','wlfkf','같은새끼','같은새끼','개새끼','개같','개넷','개년','개념빠가','개독','개련','개련','개마이','개부랄','개삼성','개새기','개새끼','개섹','개셈','개소리','개쓰래기','개저씨','계새끼','골빈','골1빈','골빈','괘새끼','껒여','꺼지세요','꺼져요','로꺼져','로꺼져','로꺼.져','꺼.지','나빼썅','나쁜새끼','년놈','늬믜','늬미','니년','니믜','니미럴','닝기리','다꺼져','닥쳐라','닥치세','도라이','뒈져','뒤져버','디져라','디졌','디지고','디질','딴년','또라이','또라인','똘아이','ㅁㅊ','ㅁ친','맘충','보이루','망돌','머갈','먹.금','먹.끔','먹1금','먹금','먹끔','명존','믜칀','믜친','미:놈','미:놈','미1친','미놈','미시친발','미쳣네','미쳤나','미쳤니','미췬','미칀','미친새','미친~','미친개','미친새','미친색','미친ㅋ','미틴','및힌','별창','병1신','병1크','병맛','병신','병크','봊','븅신','빠큐','빡새끼','빻았','빻은','뻐규','뻐큐','뻑유','뻑큐','뻨큐','뼈큐','뽄새','뽄세','삐걱','ㅄ','ㅅ','ㅂ','ㅅ.ㅂ','ㅅ1ㅂ','ㅅ1발','ㅅㄲ네','ㅅㄲ들','ㅅ루','ㅅㅋ','ㅅㅡ루','사새끼','새.끼','새1끼','새1키','새77ㅣ','새끼라','새끼야','새퀴','새킈','새키','색희','색히','샊기','샊히','샹년','섀키','솔1친','솔친','쉬발','쉬버','쉬이바','쉬이이','쉬이이이','쉬펄','슈1발','슈레기','슈발','슈벌','슈우벌','슈ㅣ발','스.루','스벌','스죄','스타죄국','싑창','시1발','시미발친','시미친발','시바','시바류','시바시바','시바알','시바앙','시발','시방새','시벌탱','시볼탱','시부럴','시부렬','시부울','시뷰럴','시뷰렬','시빨','시새발끼','시이발','시친발미','시키가','시팔','시펄','십창','십팔','ㅆ1ㄺ','ㅆ1ㅂ','ㅆㄹㄱ','ㅆㄺ','ㅆㅂ','싸가지없','싸가지없','싸물어','쌉가','쌍년','쌍놈','쌔끼','썅','썌끼','쒸펄','쓰1레기','쓰래기같','쓰레기새','쓰레기새','쓰렉','씝창','씨1발','씨바라','씨바알','씨발','씨방새','씨버럼','씨벌','씨벌탱','씨볼탱','씨부럴','씨부렬','씨뷰럴','씨뷰렬','씨빠빠','씨빨','씨뻘','씨새발끼','씨이발','씨팔','씹귀','씹덕','씹못','씹뻐럴','씹새끼','씹쌔','씹창','씹치','씹팔','씹할','ㅇㅍㅊㅌ','아가리','아닥','아오ㅅㅂ','아오시바','아오ㅅㅂ','아오시바','애미','앰','앰창','얘쁘','얘쁜','얪','에라이퉤','에라이퉷','에라이퉤','에라이퉷','엠뷩신','엠븽신','엠빙신','엠생','엠창','엿같','엿이나','예.질','예1질','예질','옘병','외1퀴','외퀴','웅앵','웅엥','은년','은새끼','이새끼','이따위','이새끼','입털','입털','ㅈ.ㄴ','ㅈㄴ','ㅈㄹ','절라','정병','젖같','젗같','젼나','젼낰','졀라','졀리','졌같은','졏같','조낸','조온','조온나','족까','존나','존나','존','나','존.나','존1','존1나','존귀','존귘','존ㄴ나','존나','존낙','존내','졸라','좁밥','조센징','짱깨','짱개','짱꼴라','꼴라','착짱','죽짱','짱골라','좃','종나','좆','좆까','좇같','죠낸','죠온나','죤나','죤내','죵나','죶','죽어버려','죽여버리고','죽여버리고','죽여불고','죽여뿌고','중립충','줬같은','쥐랄','쥰나','쥰내','쥰니','쥰트','즤랄','지랄','지1랄','지1뢰','지껄이','지들이','지랄','지롤','지뢰','지인지조','짱깨','짱께','쪼녜','쪼다','착짱죽짱','섬숭이','쪽본','쪽1바리','쪽바리','쪽발','쫀맛','쫀1','쫀귀','쫀맛','쫂','쫓같','쬰잘','쬲','찝째끼','창년','창녀','창놈','창넘','처먹','凸','첫빠','쳐마','친년','친놈','친구년','친년','친노마','친놈','손놈','남미새','여미새','혐석','호로새끼','호로잡','화낭년','화냥년','후.려','후1려','후1빨','후려','후빨','ㅗ');
  1095. if(yokList.indexOf(content)>=0){
  1096. mcxDialog.alert("입력 불가한 내용을 포함하고 있습니다.");
  1097. $('#replyText').val('');
  1098. $('#cmt_cnt').text(0);
  1099. return;
  1100. }
  1101. //파일관련 데이터 담기
  1102. var multiReplyOrgFile = [];
  1103. var multiReplySysFile = [];
  1104. for (var i = 0; i < fileLength; i++) {
  1105. multiReplyOrgFile.push($(".pics").eq(i).find('input[name="orgFileNm"]').val());
  1106. multiReplySysFile.push($(".pics").eq(i).find('input[name="sysFileNm"]').val());
  1107. }
  1108. data = {entryVal1 : content,
  1109. planSq : plan.planSq,
  1110. multiReplyOrgFile : multiReplyOrgFile,
  1111. multiReplySysFile : multiReplySysFile};
  1112. var jsonData = JSON.stringify(data);
  1113. mcxDialog.confirm("댓글을 등록 하시겠습니까?", {
  1114. cancelBtnText : "취소",
  1115. sureBtnText : "확인",
  1116. sureBtnClick : function() {
  1117. gagajf.ajaxJsonSubmit('/planning/reply/save', jsonData,function() {
  1118. ajaxReplyList();
  1119. $('#replyText').val('');
  1120. $('.pics').remove();
  1121. $('.fileAdd').show();
  1122. //댓글 작성시 글자 카운트
  1123. $('#cmt_cnt').text(0);
  1124. });
  1125. }
  1126. })
  1127. }
  1128. var fnImgAttach = function (obj) {
  1129. $("#thumbImgPop .swiper-wrapper").empty();
  1130. //var popSlideIndex = $(obj).find('span').length -1;
  1131. var popSlideIndex = 0;
  1132. contactPopSwiper.slideTo(popSlideIndex);
  1133. contactPopSwiper.update();
  1134. var contactImglength = $(obj).find('span').length;
  1135. var popImgHtml = "";
  1136. for (i = 0; i < contactImglength; i++) {
  1137. var contactImgSrc =$(obj).find('img').eq(i).attr('src');
  1138. popImgHtml += "<div class='swiper-slide'><div class='pop_img' style='background-image:url("+ contactImgSrc +")'></div></div>";
  1139. }
  1140. $("#thumbImgPop .swiper-wrapper").append(popImgHtml);
  1141. $('#thumbImgPop').modal("show");
  1142. return false;
  1143. }
  1144. /* SLIDE - 댓글 이미지 팝업 */
  1145. var contactPopSwiper = new Swiper('.thumb_img_pop .swiper-container', {
  1146. navigation: {
  1147. nextEl: '.thumb_img_pop .swiper-button-next',
  1148. prevEl: '.thumb_img_pop .swiper-button-prev',
  1149. },
  1150. pagination: {
  1151. el: '.thumb_img_pop .swiper-pagination',
  1152. clickable: true,
  1153. },
  1154. observer:true,
  1155. observeParents: true,
  1156. speed:1000,
  1157. });
  1158. //상품평 상세 레이어 호출후 콜백에서 호출하므로 여기에 있어야함
  1159. var fnReviewDetailLayerCollBack = function(){
  1160. }
  1161. $(document).ready( function() {
  1162. ajaxReplyList();
  1163. //공유 버튼 토글
  1164. $("button[data-name=openShare]").on("click", function(){
  1165. $(this).toggleClass("on").next(".shareWrap").toggleClass("on");
  1166. return false;
  1167. });
  1168. //영역밖 클릭으로 공유토글 닫기
  1169. $("body").on('click', function(e) {
  1170. if(!$(".shareWrap.on").parent().has(e.target).length) {
  1171. $("button[data-name=openShare]").removeClass("on");
  1172. $(".shareWrap").removeClass("on");
  1173. };
  1174. });
  1175. $('.btn_copy').bind('click', function() {
  1176. copyToClipboard();
  1177. });
  1178. $('#replyText').bind('input paste', function() {
  1179. $(this).trigger('keyup');
  1180. });
  1181. //팝업 - 쿠폰사용안내
  1182. $(document).on('click','#btn_couponInfo_pop',function(e){
  1183. $("#couponInfoPop .modal-content").load("popup_couponInfo.html");
  1184. $("#couponInfoPop").modal("show");
  1185. return false;
  1186. });
  1187. $("#couponInfoPop_close").click(function() {
  1188. $.modal.close();
  1189. });
  1190. //팝업 - 상품 베스트 리뷰 (detail)
  1191. $(document).on('click','#btn_pdBestReview_pop, .area_rv_best .best_review a',function(e){
  1192. $("#pdBestReviewPop .modal-content").load("pd_bestreviewdetail_pop.html");
  1193. $("#pdBestReviewPop").modal("show");
  1194. return false;
  1195. });
  1196. $("#pdBestReviewPop_close").click(function() {
  1197. $.modal.close();
  1198. });
  1199. /* SLIDE - 상단 프로모션 배너 */
  1200. var promotion_visual_slide = new Swiper ('.dp_detail_visual .promotion_visual.type2 .swiper-container', {
  1201. loop: true,
  1202. slidesPerView: 1,
  1203. autoHeight:true,
  1204. speed : 1000,
  1205. a11y: {
  1206. enabled: true,
  1207. notificationClass: 'swiper-notification',
  1208. prevSlideMessage: '이전 슬라이드',
  1209. nextSlideMessage: '다음 슬라이드',
  1210. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  1211. },
  1212. navigation: {
  1213. nextEl: '.promotion_visual.type2 .swiper-button-next',
  1214. prevEl: '.promotion_visual.type2 .swiper-button-prev',
  1215. },
  1216. pagination: {
  1217. el: '.promotion_visual.type2 .swiper-pagination',
  1218. clickable: true,
  1219. },
  1220. });
  1221. /* SLIDE - 중간 배너 */
  1222. var mid_banner_slide = new Swiper ('.dp_mid_banner .mid_banner .swiper-container', {
  1223. loop: true,
  1224. slidesPerView: 1,
  1225. speed : 1000,
  1226. a11y: {
  1227. enabled: true,
  1228. notificationClass: 'swiper-notification',
  1229. prevSlideMessage: '이전 슬라이드',
  1230. nextSlideMessage: '다음 슬라이드',
  1231. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  1232. },
  1233. navigation: {
  1234. nextEl: '.mid_banner .swiper-button-next',
  1235. prevEl: '.mid_banner .swiper-button-prev',
  1236. },
  1237. pagination: {
  1238. el: '.mid_banner .swiper-pagination',
  1239. clickable: true,
  1240. },
  1241. });
  1242. /* SLIDE - 대표상품 슬라이드 2열 상품 */
  1243. var dp_listItems_slide1 = new Swiper ('.dp_listItems_cont.type2 .swiper-container', {
  1244. loop: false,
  1245. slidesPerView: 2,
  1246. slidesPerGroup: 2,
  1247. spaceBetween: 20,
  1248. speed : 1000,
  1249. a11y: {
  1250. enabled: true,
  1251. notificationClass: 'swiper-notification',
  1252. prevSlideMessage: '이전 슬라이드',
  1253. nextSlideMessage: '다음 슬라이드',
  1254. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  1255. },
  1256. navigation: {
  1257. nextEl: '.dp_listItems_cont.type2 .swiper-button-next',
  1258. prevEl: '.dp_listItems_cont.type2 .swiper-button-prev',
  1259. },
  1260. pagination: {
  1261. el: '.dp_listItems_cont.type2 .swiper-pagination',
  1262. clickable: true,
  1263. },
  1264. });
  1265. /* SLIDE - 대표상품 슬라이드 4열 상품 */
  1266. /* 21.09.23 주석처리-개별로 움직이도록 수정 & 개별아닐 시 목록이 제대로 안불러와 졌음.
  1267. var dp_listItems_slide2 = new Swiper ('.dp_listItems_cont.type3 .swiper-container', {
  1268. loop: false,
  1269. slidesPerView: 4,
  1270. slidesPerGroup: 4,
  1271. spaceBetween: 20,
  1272. speed : 1000,
  1273. a11y: {
  1274. enabled: true,
  1275. notificationClass: 'swiper-notification',
  1276. prevSlideMessage: '이전 슬라이드',
  1277. nextSlideMessage: '다음 슬라이드',
  1278. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  1279. },
  1280. navigation: {
  1281. nextEl: '.dp_listItems_cont.type3 .swiper-button-next',
  1282. prevEl: '.dp_listItems_cont.type3 .swiper-button-prev',
  1283. },
  1284. pagination: {
  1285. el: '.dp_listItems_cont.type3 .swiper-pagination',
  1286. clickable: true,
  1287. },
  1288. });*/
  1289. /* SLIDE - 다른 기획전,이벤트 보기 */
  1290. var other_slide_slide = new Swiper ('.other_promotion_slide .swiper-container', {
  1291. slidesPerView: 5,
  1292. spaceBetween: 20,
  1293. speed:1000,
  1294. a11y: {
  1295. enabled: true,
  1296. notificationClass: 'swiper-notification',
  1297. prevSlideMessage: '이전 슬라이드',
  1298. nextSlideMessage: '다음 슬라이드',
  1299. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  1300. },
  1301. navigation: {
  1302. nextEl: '.other_promotion_slide .swiper-button-next',
  1303. prevEl: '.other_promotion_slide .swiper-button-prev',
  1304. },
  1305. });
  1306. // 첨부파일 갯수제한
  1307. $('.imgUpload .fileAdd').click(function(){
  1308. if (!cfCheckLogin()) {
  1309. // mcxDialog.alert("로그인 후 참여 가능합니다.");
  1310. mcxDialog.alertC("로그인 후 참여 가능합니다.", { //내용
  1311. sureBtnText: "로그인", //버튼명
  1312. sureBtnClick: function(){
  1313. location.href="/signin";
  1314. }
  1315. });
  1316. $("#replyText").val('');
  1317. return false;
  1318. }
  1319. var imgFiles=$('.imgUpload .pics');
  1320. var maxFileLength = 10; /* 최대 파일 갯수를 입력해 주세요 */
  1321. if (imgFiles.length >= maxFileLength) {
  1322. mcxDialog.alert('이미지는 최대' + maxFileLength +'장 까지 첨부 가능합니다.');
  1323. $('#fileAdd').attr("disabled",true);
  1324. } else if(imgFiles.length < maxFileLength){
  1325. $('#fileAdd').removeAttr("disabled");
  1326. }
  1327. });
  1328. //댓글 작성시 글자 카운트
  1329. $('.cmt_ans').keyup(function (e){
  1330. var content = $(this).val();
  1331. $('#cmt_cnt').html(content.length);
  1332. if (content.length > 500){
  1333. $(this).val(content.substring(0, 500));
  1334. $('#cmt_cnt').html("500");
  1335. }
  1336. });
  1337. $('.cmt_ans').bind('input paste', function() {
  1338. $(this).trigger('keyup');
  1339. });
  1340. });
  1341. </script>
  1342. </th:block>
  1343. </body>
  1344. </html>