| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 |
- <!DOCTYPE html>
- <html lang="ko"
- xmlns:th="http://www.thymeleaf.org">
- <!--
- *******************************************************************************
- * @source : MailHeaderFooter.html
- * @desc : MailHeaderFooter 관리 화면
- *============================================================================
- * STYLE24
- * Copyright(C) 2020 TSIT, All rights reserved.
- *============================================================================
- * VER DATE AUTHOR DESCRIPTION
- * === =========== ========== =============================================
- * 1.0 2021. 02. 01 csh9191 최초 작성
- *******************************************************************************
- -->
- <div id="main">
- <!-- 메인타이틀 영역 -->
- <div class="main-title">
- </div>
- <!-- //메인타이틀 영역 -->
-
- <!-- 메뉴 설명 -->
- <div class="infoBox menu-desc">
- </div>
- <!-- //메뉴 설명 -->
-
- <!-- 검색조건 영역 -->
- <div class="panelStyle">
- <form id="searchForm" name="searchForm" action="#" th:action="@{'/marketing/mailtemplate/list'}" onsubmit="$('#btnSearch').trigger('click'); return false;">
- <table class="frmStyle" aria-describedby="검색조건">
- <colgroup>
- <col style="width:10%;"/>
- <col style="width:20%;"/>
- <col style="width:10%;"/>
- <col style="width:20%;"/>
- <col style="width:10%;"/>
- <col style="width:20%;"/>
- <col/>
- </colgroup>
- <tr>
- <th>구분</th>
- <td>
- <select name="mailhfGb">
- <option value="">[전체]</option>
- <option value="H">헤더</option>
- <option value="F">푸터</option>
- </select>
- </td>
- <th>타이틀 명</th>
- <td>
- <input type="text" name="mailhfNm" class="w200"/>
- </td>
- <th>등록자</th>
- <td>
- <input type="text" name="searchTxt" class="w200"/>
- </td>
- </tr>
- </table>
-
- <ul class="panelBar">
- <li class="center">
- <button type="button" class="btn btn-gray btn-lg" onclick="$('#searchForm')[0].reset();">초기화</button>
- <button type="button" class="btn btn-info btn-lg" id="btnSearch">조회</button>
- </li>
- </ul>
- </form>
- </div>
- <!-- 검색조건 영역 -->
-
- <!-- 리스트 영역 -->
- <div class="panelStyle">
- <!-- 버튼 배치 영역 -->
- <ul class="panelBar">
- <li class="left">
- <button type="button" class="btn btn-danger btn-lg" id="btnDeleteRow">선택삭제</button>
- </li>
- <li class="right">
- <button type="button" class="btn btn-info btn-lg" onclick="fnOpenMailHFPopup('N');">메일헤더푸터 등록</button>
- </li>
- </ul>
- <!-- //버튼 배치 영역 -->
- <div id="gridList" style="width: 100%; height: 570px" class="ag-theme-balham"></div>
- </div>
- <!-- //리스트 영역 -->
-
- </div>
- <script th:inline="javascript">
- /*<![CDATA[*/
-
- //헤더 푸터 구분 표시
- let mailhfGb = { "H":"헤더", "F":"푸터" };
- // specify the columns
- let columnDefs = [
- {
- width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false
- },
- {
- headerName: "구분", field: "mailhfGb", width: 100, cellClass: 'text-center',
- valueFormatter: function (params) { return gagaAgGrid.lookupValue(mailhfGb, params.value); }
- },
- { headerName: "타이틀", field: "mailhfNm", width: 300, cellClass: 'text-center',
- cellRenderer: function(params) {
- return '<a href="javascript:void(0);">' + params.value + '</a>';
- }
- },
- {
- headerName: "등록자", field: "regNm", width: 150, cellClass: 'text-center'},
- {
- headerName: "등록일시", field: "regDt", width: 200, cellClass: 'text-center',
- cellRenderer: function(params) { return gagaAgGrid.toDateTimeFormat(params.value); }
- },
- {
- headerName: "수정자", field: "updNm", width: 150, cellClass: 'text-center'},
- {
- headerName: "수정일시", field: "updDt", width: 200, cellClass: 'text-center',
- cellRenderer: function(params) { return gagaAgGrid.toDateTimeFormat(params.value); }
- }
- ];
- // Get GridOptions
- let gridOptions = gagaAgGrid.getGridOptions(columnDefs);
- // Add on options
- gridOptions.rowSelection = 'multiple'; //셀렉박스 다중 선택
-
- // 셀 클릭 이벤트
- gridOptions.onCellClicked = function(event) {
- if (event.colDef.field != 'mailhfNm')
- return;
-
- fnOpenMailHFPopup('U', event.data.mailhfSq);
- }
-
- // 조회버튼 - 검색
- $('#btnSearch').on('click', function() {
- var formId = "#searchForm";
- gagaAgGrid.fetch($(formId).prop('action'), gridOptions, formId);
- });
-
- // 선택삭제
- $('#btnDeleteRow').on('click', function() {
- var removedData = gagaAgGrid.removeRowData(gridOptions);
-
- if (removedData.length == 0) {
- mcxDialog.alert('선택된 행이 없습니다.');
- return;
- }
-
- mcxDialog.confirm("삭제하시겠습니까?", {
- sureBtnText: "확인",
- cancelBtnText: "취소",
- sureBtnClick: function() {
- // delete 대신 update 처리해야 하므로 다음과 같이 useYn 값으로 처리
- var updatedData = [];
-
- $.each(removedData, function(idx, item) {
- item.useYn = 'N';
- updatedData.push(item);
- });
-
-
- var jsonData = JSON.stringify(updatedData);
- gagajf.ajaxJsonSubmit('/marketing/mailtemplate/delete', jsonData, function() {
- $('#btnSearch').trigger('click');
- });
- }
- });
- });
-
- // 등록/상세 팝업
- var fnOpenMailHFPopup = function(mode, mailhfSq) {
- var actionUrl = '/marketing/mailtemplate/detail/form' + '?mode=' + mode;
- if (!gagajf.isNull(mailhfSq)) actionUrl += '&mailhfSq=' + mailhfSq;
- cfnOpenModalPopup(actionUrl, 'popupMailHF');
- }
-
- $(document).ready(function() {
- // Create a agGrid
- gagaAgGrid.createGrid('gridList', gridOptions);
- gagaAgGrid.hideStatusBar('gridList');
- });
-
- /*]]>*/
- </script>
- </html>
|