MypagePointFormWeb.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351
  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/MypageLayoutWeb">
  6. <!--
  7. *******************************************************************************
  8. * @source : MypagePointForm.html
  9. * @desc : 마이페이지 > STYLE24포인트 Page
  10. *============================================================================
  11. * STYLE24
  12. * Copyright(C) 2021 TSIT, All rights reserved.
  13. *============================================================================
  14. * VER DATE AUTHOR DESCRIPTION
  15. * === =========== ========== =============================================
  16. * 1.0 2021.02.25 csh9191 최초 작성
  17. *******************************************************************************
  18. -->
  19. <body>
  20. <th:block layout:fragment="content">
  21. <div class="my_cont">
  22. <div class="sec_head">
  23. <h3>STYLE24 포인트</h3>
  24. </div>
  25. <div class="sec_body">
  26. <div class="save_area mypage_coupon">
  27. <p>사용 가능한 보유 포인트<strong th:text="${#numbers.formatDecimal(pointInfo.rmPntAmt, 0, 'COMMA', 0, 'POINT')}"></strong>P</p>
  28. <ul>
  29. <li>적립 예정 포인트 <span>
  30. <th:block th:text="${#numbers.formatDecimal(expectedpointInfo.expectedPntAmt, 0, 'COMMA', 0, 'POINT')}"></th:block>P
  31. </span></li>
  32. <li>한달 이내 소멸 예정 <span>
  33. <th:block th:text="${#numbers.formatDecimal(extinctpointInfo.expectedExpirePntAmt, 0, 'COMMA', 0, 'POINT')}"></th:block>P
  34. </span></li>
  35. </ul>
  36. </div>
  37. <div class="my_tab coupon_tab">
  38. <ul>
  39. <li><a href="javascript:void(0);" id="SearchFullHistory">전체내역</a></li>
  40. <li><a href="javascript:void(0);" id="SearchCollectHistory">적립내역</a></li>
  41. <li><a href="javascript:void(0);" id="SearchUsedHistory">사용내역</a></li>
  42. </ul>
  43. <!-- <div class="form_field"> -->
  44. <!-- <select id="searchDt" name="searchDt" onchange="fnSearchDate(this);"> -->
  45. <!-- </select> -->
  46. <!-- </div> -->
  47. <div class="form_field">
  48. <div class="select_custom type1">
  49. <div class="combo">
  50. <div class="select"></div> <!-- 셀렉박스 -->
  51. <ul id="searchDt" class="list" style="width:200px; margin:0 auto">
  52. </ul>
  53. </div>
  54. </div>
  55. </div>
  56. </div>
  57. <div class="order_list">
  58. <section class="order_row">
  59. <div class="tbl point_tbl track_tbl type2">
  60. <table>
  61. <colgroup>
  62. <col width="150px">
  63. <col width="660px">
  64. <col width="*">
  65. <col width="200px">
  66. </colgroup>
  67. <thead>
  68. <tr>
  69. <th>사유</th>
  70. <th>내용</th>
  71. <th id="plusMinus"></th>
  72. <th>일자</th>
  73. </tr>
  74. </thead>
  75. <tbody id="pointAjaxList">
  76. </tbody>
  77. </table>
  78. </div>
  79. </section>
  80. </div>
  81. </div>
  82. </div>
  83. <script th:inline="javascript">
  84. // select 날짜 생성
  85. var date = new Date();
  86. var year = date.getFullYear();
  87. var month = date.getMonth() +1;
  88. var oneYearAgo = year -1;
  89. var oneYearLater = year +1;
  90. if(10 > month){
  91. month = 0 + "" + (date.getMonth()+1);
  92. }
  93. // Select this year month
  94. var checkYm = year + "" + month;
  95. // 작년
  96. // for(var i = 1;i <= 12; i++){
  97. // if(i < 10 && i != month){
  98. // $("#searchDt").append("<li onclick='fnChangeDate(this);' class='selected' value='"+ oneYearAgo + "" + 0 + i +"'>"+ oneYearAgo + "년" + " " + i + "월" +"</li>");
  99. // }
  100. // else if(i < 10 && i == month){
  101. // $("#searchDt").append("<li onclick='fnChangeDate(this);' class='selected' value='"+ oneYearAgo + "" + 0 + i +"'>" + oneYearAgo + "년" + " " + i + "월" +"</li>");
  102. // }
  103. // else if(i > 9 && i != month){
  104. // $("#searchDt").append("<li onclick='fnChangeDate(this);' class='selected' value='"+ oneYearAgo + "" + i +"'>"+ oneYearAgo + "년" + " " + i + "월" +"</li>");
  105. // }
  106. // else if(i > 9 && i == month){
  107. // $("#searchDt").append("<li onclick='fnChangeDate(this);' class='selected' value='"+ oneYearAgo + "" + i +"'>"+ oneYearAgo + "년" + " " + i + "월" +"</li>");
  108. // }
  109. // }
  110. // 이번년도
  111. for(var i = 1;i <= 12; i++){
  112. if(i < 10 && i != month){
  113. $("#searchDt").append("<li onclick='fnChangeDate(this);' class='selected' value='"+ year + "" + 0 + i +"'>"+ year + "년" + " " + i + "월" +"</li>");
  114. }
  115. else if(i < 10 && i == month){
  116. $(".select").append("<li class='selected' value='"+ year + "" + 0 + i +"'>" + year + "년" + " " + i + "월" +"</li>");
  117. $("#searchDt").append("<li onclick='fnChangeDate(this);' class='selected' value='"+ year + "" + 0 + i +"'>" + year + "년" + " " + i + "월" +"</li>");
  118. }
  119. else if(i > 9 && i != month){
  120. $("#searchDt").append("<li onclick='fnChangeDate(this);' class='selected' value='"+ year + "" + i +"'>"+ year + "년" + " " + i + "월" +"</li>");
  121. }
  122. else if(i > 9 && i == month){
  123. $("#searchDt").append("<li onclick='fnChangeDate(this);' class='selected' value='"+ year + "" + i +"'>"+ year + "년" + " " + i + "월" +"</li>");
  124. }
  125. }
  126. // 내년
  127. // for(var i = 1;i <= 12; i++){
  128. // if(i < 10 && i != month){
  129. // $("#searchDt").append("<li onclick='fnChangeDate(this);' class='selected' value='"+ oneYearLater + "" + 0 + i +"'>"+ oneYearLater + "년" + " " + i + "월" +"</li>");
  130. // }
  131. // else if(i < 10 && i == month){
  132. // $("#searchDt").append("<li onclick='fnChangeDate(this);' class='selected' value='"+ oneYearLater + "" + 0 + i +"'>" + oneYearLater + "년" + " " + i + "월" +"</li>");
  133. // }
  134. // else if(i > 9 && i != month){
  135. // $("#searchDt").append("<li onclick='fnChangeDate(this);' class='selected' value='"+ oneYearLater + "" + i +"'>"+ oneYearLater + "년" + " " + i + "월" +"</li>");
  136. // }
  137. // else if(i > 9 && i == month){
  138. // $("#searchDt").append("<li onclick='fnChangeDate(this);' class='selected' value='"+ oneYearLater + "" + i +"'>"+ oneYearLater + "년" + " " + i + "월" +"</li>");
  139. // }
  140. // }
  141. // 날짜변경 이벤트
  142. var fnChangeDate = function(parm) {
  143. let url = '/mypage/allpoint/list';
  144. let data = {};
  145. data.searchDt = $('#searchDt').find('.selected').val();
  146. var jsonData = JSON.stringify(data);
  147. gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
  148. if($("#SearchFullHistory").hasClass("on")){
  149. $("#SearchFullHistory").click();
  150. }else if($("#SearchCollectHistory").hasClass("on")){
  151. $("#SearchCollectHistory").click();
  152. }else if($("#SearchUsedHistory").hasClass("on")){
  153. $("#SearchUsedHistory").click();
  154. }
  155. });
  156. }
  157. // 전체내역 조회
  158. $("#SearchFullHistory").click(function(){
  159. // class제거 추가
  160. $("#SearchCollectHistory").removeClass("on");
  161. $("#SearchUsedHistory").removeClass("on");
  162. $("#SearchFullHistory").addClass("on");
  163. $("#plusMinus").text("증감/차감");
  164. let data = {};
  165. // 처음 화면 로딩시 이번 달 선택
  166. if($('.select').find('.selected').val() == checkYm){
  167. data.searchDt = $('.select').find('.selected').val();
  168. }else{
  169. data.searchDt = $('#searchDt').find('.selected').val();
  170. }
  171. var jsonData = JSON.stringify(data);
  172. $.ajax(
  173. {
  174. type : "POST",
  175. data : jsonData,
  176. url : '/mypage/allpoint/list',
  177. contentType: 'application/json',
  178. dataType : 'json',
  179. success : function(result){
  180. PointAllListInfo(result);
  181. }
  182. }
  183. )
  184. });
  185. function PointAllListInfo(result) {
  186. let allPointList = result.allPointList;
  187. let tmtbHtml = "";
  188. for(let i=0; i<allPointList.length; i++){
  189. let point = allPointList[i];
  190. tmtbHtml +='<tr>';
  191. tmtbHtml +='<td>'+ point.occurGb + '</td>';
  192. tmtbHtml += '<td class="t_l pl40">'+ point.occurDtlDesc + '</td>';
  193. if(point.pntAmt > 0){
  194. tmtbHtml += '<td class="c_blue">'+ point.pntAmt + '</td>';
  195. }else{
  196. tmtbHtml += '<td class="c_primary">'+ point.pntAmt + '</td>';
  197. }
  198. tmtbHtml += '<td>'+ point.pntUploadDt + '</td>';
  199. tmtbHtml += '</tr>';
  200. }
  201. $("#pointAjaxList").html(tmtbHtml);
  202. }
  203. // 적립내역 조회
  204. $("#SearchCollectHistory").click(function(){
  205. // Class제거 추가
  206. $("#SearchFullHistory").removeClass("on");
  207. $("#SearchUsedHistory").removeClass("on");
  208. $("#SearchCollectHistory").addClass("on");
  209. // 적립내역 포인트 블루
  210. $("#pntAmt").removeClass("c_primary");
  211. $("#pntAmt").addClass("c_blue");
  212. $("#plusMinus").text("증감");
  213. let data = {};
  214. if($('.select').find('.selected').val() == checkYm){
  215. data.searchDt = $('.select').find('.selected').val();
  216. }else{
  217. data.searchDt = $('#searchDt').find('.selected').val();
  218. }
  219. let jsonData = JSON.stringify(data);
  220. $.ajax(
  221. {
  222. type : "POST",
  223. data : jsonData,
  224. url : '/mypage/point/list',
  225. contentType: 'application/json',
  226. dataType : 'json',
  227. success : function(result){
  228. PointCollectListInfo(result);
  229. }
  230. }
  231. )
  232. });
  233. function PointCollectListInfo(result) {
  234. let pointList = result.accumulatePointList;
  235. let tmtbHtml = "";
  236. for(let i=0; i<pointList.length; i++){
  237. let point = pointList[i];
  238. tmtbHtml +='<tr>';
  239. tmtbHtml +='<td>'+ point.occurGb + '</td>';
  240. tmtbHtml += '<td class="t_l pl40">'+ point.occurDtlDesc + '</td>';
  241. tmtbHtml += '<td class="c_blue">'+ point.pntAmt + '</td>';
  242. tmtbHtml += '<td>'+ point.pntUploadDt + '</td>';
  243. tmtbHtml += '</tr>';
  244. }
  245. $("#pointAjaxList").html(tmtbHtml);
  246. }
  247. // 사용내역 조회
  248. $("#SearchUsedHistory").click(function(){
  249. // Class제거 추가
  250. $("#SearchCollectHistory").removeClass("on");
  251. $("#SearchFullHistory").removeClass("on");
  252. $("#SearchUsedHistory").addClass("on");
  253. // 사용내역 포인트 블루
  254. $("#pntAmt").removeClass("c_blue");
  255. $("#pntAmt").addClass("c_primary");
  256. $("#plusMinus").text("차감");
  257. let data = {};
  258. if($('.select').find('.selected').val() == checkYm){
  259. data.searchDt = $('.select').find('.selected').val();
  260. }else{
  261. data.searchDt = $('#searchDt').find('.selected').val();
  262. }
  263. let jsonData = JSON.stringify(data);
  264. $.ajax(
  265. {
  266. type : "POST",
  267. data : jsonData,
  268. url : '/mypage/usepoint/list',
  269. contentType: 'application/json',
  270. dataType : 'json',
  271. success : function(result){
  272. UsePointListInfo(result);
  273. }
  274. }
  275. )
  276. });
  277. function UsePointListInfo(result) {
  278. let usePointList = result.usePointList;
  279. let tmtbHtml = "";
  280. for(let i=0; i<usePointList.length; i++){
  281. let usePoint = usePointList[i];
  282. tmtbHtml +='<tr>';
  283. tmtbHtml +='<td>'+ usePoint.occurGb + '</td>';
  284. tmtbHtml += '<td class="t_l pl40">'+ usePoint.occurDtlDesc + '</td>';
  285. tmtbHtml += '<td class="c_primary">'+ usePoint.pntAmt + '</td>';
  286. tmtbHtml += '<td>'+ usePoint.pntUploadDt + '</td>';
  287. tmtbHtml += '</tr>';
  288. }
  289. $("#pointAjaxList").html(tmtbHtml);
  290. }
  291. $(document).ready(function() {
  292. // 마이페이지 LNB 설정
  293. fnSetMypageLnbList(5);
  294. // 마이페이지 location 설정
  295. fnSetMypageLocation('STYLE24 포인트', '_PAGE_MYPAGE_POINT');
  296. // 전체내역 표시
  297. $("#SearchFullHistory").trigger('click');
  298. // 셀렉트박스 활성화
  299. $('.select_custom.type1').each(function(index) {
  300. var selecter01 = new sCombo($(this));
  301. });
  302. });
  303. </script>
  304. </th:block>
  305. </body>
  306. </html>