FreeGoodsPromotionForm.html 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. <!DOCTYPE html>
  2. <html lang="ko"
  3. xmlns:th="http://www.thymeleaf.org">
  4. <!--
  5. *******************************************************************************
  6. * @source : FreeGoodsPromotionForm.html
  7. * @desc : 사은품 프로모션 관리 페이지
  8. *============================================================================
  9. * SISUN
  10. * Copyright(C) 2020 TSIT, All rights reserved.
  11. *============================================================================
  12. * VER DATE AUTHOR DESCRIPTION
  13. * === =========== ========== =============================================
  14. * 1.0 2020.12.16 xodud1202 최초 작성
  15. *******************************************************************************
  16. -->
  17. <div id="main">
  18. <!-- 메인타이틀 영역 -->
  19. <div class="main-title"></div>
  20. <!-- //메인타이틀 영역 -->
  21. <!-- 메뉴 설명 -->
  22. <div class="infoBox menu-desc"></div>
  23. <form id="searchForm" name="searchForm" action="#" th:action="@{'/marketing/freeGoodsPromotion/list'}">
  24. <input type="hidden" id="searchGb" name="searchGb" />
  25. <input type="hidden" id="imageViewYn" name="imageViewYn" />
  26. <input type="hidden" id="goodsPriceYn" name="goodsPriceYn" value="Y"/> <!-- 즉시할인판매가 조회 -->
  27. <!-- 패널 영역1 -->
  28. <div class="panelStyle" >
  29. <!-- 검색조건 영역 -->
  30. <!-- TITLE -->
  31. <div class="panelTitle">
  32. <h3><i class="fa fa-info-circle"></i>아래 검색조건 중 <font color="red">업체, 키워드, 발생일</font>중 하나를 꼭 입력해 주세요.</h3>
  33. <span class="panelControl">
  34. <i class="fa fa-chevron-up"></i>
  35. </span>
  36. </div>
  37. <!-- //TITLE -->
  38. <div class="panelContent">
  39. <table class="frmStyle">
  40. <colgroup>
  41. <col style="width: 7%;"/>
  42. <col/>
  43. </colgroup>
  44. <tr>
  45. <th>기간</th>
  46. <td id="sellTerms"></td>
  47. </tr>
  48. <tr>
  49. <th>프로모션 조회</th>
  50. <td>
  51. <label class="rdoBtn"><input type="radio" name="promotionGubun" id="promotionId" value="freegiftSq" checked/>프로모션ID</label>
  52. <label class="rdoBtn"><input type="radio" name="promotionGubun" id="promotionName" value="freegiftNm"/>프로모션명</label>
  53. <input type="text" class="w900" name="searchTxt" id="searchTxt" />
  54. </td>
  55. </tr>
  56. </table>
  57. <ul class="panelBar">
  58. <li class="center">
  59. <button type="button" class="btn btn-gray btn-lg" id="btnInit" >초기화</button>
  60. <button type="button" class="btn btn-info btn-lg" id="btnSearch" >조회</button>
  61. </li>
  62. </ul>
  63. </div>
  64. <!-- //검색조건 영역 -->
  65. </div>
  66. <!-- 패널 영역1 -->
  67. <div class="panelStyle">
  68. <!-- 상단버튼 영역 -->
  69. <ul class="panelBar">
  70. <li class="right">
  71. 검색결과 : <strong><span id="gridRowTotalCount">0</span> 건</strong>&nbsp;
  72. 쪽번호 <span id="pgNo">0</span>/ <strong id="endPgNo">0</strong>&nbsp;&nbsp;
  73. <select id="pageSize" name="pageSize">
  74. <option value="50" selected="selected">50개씩 보기</option>
  75. <option value="100">100개씩 보기</option>
  76. <option value="500">500개씩 보기</option>
  77. <option value="1000">1000개씩 보기</option>
  78. </select>
  79. <input type="hidden" name="pageNo" id="pageNo" value ="1"/>
  80. </li>
  81. </ul>
  82. <div class="panelBar">
  83. <div class="right">
  84. <button type="button" class="btn btn-info btn-lg" id="btnFreeGoodsRegi" >프로모션등록</button>
  85. </div>
  86. </div>
  87. <!-- 검색결과 영역 -->
  88. <div id="gridList" style="width: 100%; height: 700px;" class="ag-theme-balham"></div>
  89. </div>
  90. </form>
  91. <script type="text/javascript" src="/ux/plugins/gaga/gaga.paging.js"></script>
  92. <script th:inline="javascript">
  93. /*<![CDATA[*/
  94. //let freegiftStatList = gagajf.convertToArray([[${freegiftStatList}]]); // 프로모션 상태 리스트
  95. let columnDefs = [
  96. {headerName: "프로모션ID", field: "freegiftSq", width: 80, cellClass: 'text-center'},
  97. {headerName: "프로모션명", field: "freegiftNm", width: 350, cellClass: 'text-center'
  98. ,cellRenderer: function(params) {
  99. return '<a href="javascript:void(0);">' + params.value + '</a>';
  100. }
  101. },
  102. {headerName: "상태", field: "freegiftStatNm", width: 140, cellClass: 'text-center'},
  103. {headerName: "시작일", field: "freegiftStdt", width: 140, cellClass: 'text-center'},
  104. {headerName: "종료일", field: "freegiftEddt", width: 140, cellClass: 'text-center'},
  105. {headerName: "등록자", field: "regNm", width: 200, cellClass: 'text-left'
  106. ,cellRenderer: function(params) {
  107. return params.value + "(" + params.data.regDt + ")";
  108. }
  109. },
  110. {headerName: "최종수정자", field: "updNm", width: 200, cellClass: 'text-left'
  111. ,cellRenderer: function(params) {
  112. return params.value + "(" + params.data.updDt + ")";
  113. }
  114. }
  115. ];
  116. // Get GridOptions
  117. var gridOptions = gagaAgGrid.getGridOptions(columnDefs);
  118. // Row Click
  119. gridOptions.onCellClicked = function(event) {
  120. var freegiftSq = event.data.freegiftSq;
  121. alert(freegiftSq);
  122. if (event.colDef.field == "freegiftNm"){
  123. cfnOpenFreeGoodsPromotionSetPopup('U', freegiftSq);
  124. }
  125. }
  126. // 어떤건지 확인 필요
  127. /* gridOptions.getRowStyle = function(params) {
  128. if ("G008_00" == params.data.goodsStat || "G008_10" == params.data.goodsStat || "G008_20" == params.data.goodsStat || "G008_30" == params.data.goodsStat) {
  129. return { background: '#23c6c8' };
  130. }
  131. } */
  132. // 초기화 클릭시
  133. $('#btnInit').on('click', function() {
  134. $('#searchForm')[0].reset();
  135. //$("#searchForm input[type=radio]").removeClass("checked");
  136. $("#searchForm input[type=checkbox]").removeClass("checked");
  137. //$("#searchForm input[type=radio]").parent("label").removeClass("checked");
  138. $("#searchForm input[type=checkbox]").parent("label").removeClass("checked");
  139. $("#searchForm input[type=radio][checked]").parent("label").addClass("checked");
  140. });
  141. // 조회클릭시
  142. $('#btnSearch').on('click', function() {
  143. $("#searchForm input[name=pageNo]").val('1');
  144. fnFreeGoodsPromotionListSearch();
  145. });
  146. // 조회
  147. var fnFreeGoodsPromotionListSearch = function() {
  148. if(!fnConditionCheck()) return;
  149. gagaPaging.init('searchForm', fnSearchCallBack, 'freeGoodsListPagination', $('#searchForm').find('#pageSize').val());
  150. gagaPaging.load($("#searchForm input[name=pageNo]").val());
  151. }
  152. //검색 조건 확인
  153. var fnConditionCheck = function(){
  154. var fromDate = $('#searchForm input[name=stDate]').val();
  155. var toDate = $('#searchForm input[name=edDate]').val();
  156. if (!gagajf.isNull(fromDate) || !gagajf.isNull(toDate)) {
  157. if (gagajf.isNull(fromDate) || gagajf.isNull(toDate)) {
  158. mcxDialog.alertC("기간 조회시 시작일자와 종료일자를 입력하세요.", {
  159. sureBtnText: "확인",
  160. sureBtnClick: function() {
  161. $('#searchForm input[name=stDate]').focus();
  162. }
  163. });
  164. return false;
  165. }
  166. if (fromDate > toDate) {
  167. mcxDialog.alertC("등록 시작일자는 종료일자 보다 클 수 없습니다.", {
  168. sureBtnText: "확인",
  169. sureBtnClick: function() {
  170. $('#searchForm input[name=stDate]').focus();
  171. }
  172. });
  173. return false;
  174. }
  175. }
  176. return true;
  177. }
  178. var fnSearchCallBack = function(result){
  179. $('#searchForm').find('#gridRowTotalCount').html(result.pageing.pageable.totalCount.addComma());
  180. $('#searchForm').find('#pageNo').val(result.pageing.pageable.pageNo.addComma());
  181. $('#searchForm').find('#pgNo').html(result.pageing.pageable.pageNo.addComma());
  182. $('#searchForm').find('#endPgNo').html(result.pageing.pageable.totalPage.addComma());
  183. gridOptions.api.setRowData(result.freeGoodsList);
  184. gagaPaging.createPagination(result.pageing.pageable);
  185. }
  186. // 조회클릭시
  187. $('#btnFreeGoodsRegi').on('click', function() {
  188. cfnOpenFreeGoodsPromotionSetPopup('C');
  189. });
  190. //페이징
  191. $('#searchForm select[name=pageSize]').on('change', function() {
  192. $("#searchForm input[name=pageNo]").val('1');
  193. fnFreeGoodsPromotionListSearch();
  194. });
  195. $(document).ready(function() {
  196. cfnCreateCalendar('#sellTerms', 'stDate', 'edDate', true, '기간', 'X');
  197. // Create a agGrid
  198. gagaAgGrid.createGrid('gridList', gridOptions);
  199. });
  200. /*]]>*/
  201. </script>
  202. </div>
  203. </html>