--- src/main/java/itn/let/mjo/addr/service/AddrVO.java
+++ src/main/java/itn/let/mjo/addr/service/AddrVO.java
... | ... | @@ -412,5 +412,39 @@ |
| 412 | 412 |
} |
| 413 | 413 |
|
| 414 | 414 |
|
| 415 |
+ |
|
| 416 |
+ private int page = 1; // 기본 값 설정 |
|
| 417 |
+ private int size = 10; // 기본 값 설정 |
|
| 418 |
+ private int offset; // 기본 값 설정 |
|
| 419 |
+ |
|
| 420 |
+ |
|
| 421 |
+ public int getPage() {
|
|
| 422 |
+ return page; |
|
| 423 |
+ } |
|
| 424 |
+ |
|
| 425 |
+ public void setPage(int page) {
|
|
| 426 |
+ if(page > 0) {
|
|
| 427 |
+ this.page = page; |
|
| 428 |
+ } |
|
| 429 |
+ } |
|
| 430 |
+ |
|
| 431 |
+ public int getSize() {
|
|
| 432 |
+ return size; |
|
| 433 |
+ } |
|
| 434 |
+ |
|
| 435 |
+ public void setSize(int size) {
|
|
| 436 |
+ if(size > 0) {
|
|
| 437 |
+ this.size = size; |
|
| 438 |
+ } |
|
| 439 |
+ } |
|
| 440 |
+ |
|
| 441 |
+ // OFFSET 계산 메서드 추가 |
|
| 442 |
+ public int getOffset() {
|
|
| 443 |
+ return (page - 1) * size; |
|
| 444 |
+ } |
|
| 445 |
+ public void setOffset(int offset) {
|
|
| 446 |
+ this.offset = offset; |
|
| 447 |
+ } |
|
| 448 |
+ |
|
| 415 | 449 |
|
| 416 | 450 |
} |
--- src/main/java/itn/let/mjo/msgdata/service/MjonMsgDataService.java
+++ src/main/java/itn/let/mjo/msgdata/service/MjonMsgDataService.java
... | ... | @@ -174,5 +174,7 @@ |
| 174 | 174 |
public String selectMsgUserLastIdgen(MjonMsgVO mjonMsgVO) throws Exception; |
| 175 | 175 |
|
| 176 | 176 |
public List<AddrVO> selectMsgAddrListAjax_advc(AddrVO addrVO) throws Exception; |
| 177 |
+ |
|
| 178 |
+ public int countByMsgAddrListAjax_advc(AddrVO addrVO) throws Exception; |
|
| 177 | 179 |
|
| 178 | 180 |
} |
--- src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataDAO.java
+++ src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataDAO.java
... | ... | @@ -355,5 +355,10 @@ |
| 355 | 355 |
public List<AddrVO> selectMsgAddrListAjax_advc(AddrVO addrVO) {
|
| 356 | 356 |
return (List<AddrVO>) list("mjonMsgDAO.selectMsgAddrListAjax_advc", addrVO);
|
| 357 | 357 |
} |
| 358 |
+ |
|
| 359 |
+ |
|
| 360 |
+ public int countByMsgAddrListAjax_advc(AddrVO addrVO) {
|
|
| 361 |
+ return (int) select("mjonMsgDAO.countByMsgAddrListAjax_advc", addrVO);
|
|
| 362 |
+ } |
|
| 358 | 363 |
|
| 359 | 364 |
} |
--- src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java
+++ src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java
... | ... | @@ -3057,5 +3057,11 @@ |
| 3057 | 3057 |
return mjonMsgDataDAO.selectMsgAddrListAjax_advc(addrVO); |
| 3058 | 3058 |
} |
| 3059 | 3059 |
|
| 3060 |
+ @Override |
|
| 3061 |
+ public int countByMsgAddrListAjax_advc(AddrVO addrVO) throws Exception {
|
|
| 3062 |
+ |
|
| 3063 |
+ return mjonMsgDataDAO.countByMsgAddrListAjax_advc(addrVO); |
|
| 3064 |
+ } |
|
| 3065 |
+ |
|
| 3060 | 3066 |
|
| 3061 | 3067 |
} |
--- src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java
+++ src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java
... | ... | @@ -40,6 +40,8 @@ |
| 40 | 40 |
import org.slf4j.Logger; |
| 41 | 41 |
import org.slf4j.LoggerFactory; |
| 42 | 42 |
import org.springframework.beans.factory.annotation.Value; |
| 43 |
+import org.springframework.http.HttpStatus; |
|
| 44 |
+import org.springframework.http.ResponseEntity; |
|
| 43 | 45 |
import org.springframework.stereotype.Controller; |
| 44 | 46 |
import org.springframework.ui.Model; |
| 45 | 47 |
import org.springframework.ui.ModelMap; |
... | ... | @@ -1759,8 +1761,7 @@ |
| 1759 | 1761 |
|
| 1760 | 1762 |
long startTime = System.currentTimeMillis(); // 시작 시간 측정 |
| 1761 | 1763 |
|
| 1762 |
-// List<AddrVO> resultAddrList = mjonMsgDataService.selectMsgAddrListAjax(addrVO); |
|
| 1763 |
- List<AddrVO> resultAddrList = mjonMsgDataService.selectMsgAddrListAjax_advc(addrVO); |
|
| 1764 |
+ List<AddrVO> resultAddrList = mjonMsgDataService.selectMsgAddrListAjax(addrVO); |
|
| 1764 | 1765 |
|
| 1765 | 1766 |
long endTime = System.currentTimeMillis(); // 종료 시간 측정 |
| 1766 | 1767 |
|
... | ... | @@ -1775,6 +1776,56 @@ |
| 1775 | 1776 |
return modelAndView; |
| 1776 | 1777 |
} |
| 1777 | 1778 |
|
| 1779 |
+ /** |
|
| 1780 |
+ * 주소록 그룹 선택시 우측 주소록 리스트 화면 불러오기 |
|
| 1781 |
+ * |
|
| 1782 |
+ * @param AddrGroupVO |
|
| 1783 |
+ * @param AddrVO |
|
| 1784 |
+ * @param sessionVO |
|
| 1785 |
+ * @param model |
|
| 1786 |
+ * @return |
|
| 1787 |
+ * @throws Exception |
|
| 1788 |
+ */ |
|
| 1789 |
+ @RequestMapping(value= {"/web/mjon/msgdata/selectMsgAddrListAjax_advc.do"})
|
|
| 1790 |
+ public ResponseEntity<?> selectMsgAddrListAjax_advc(@ModelAttribute("searchVO") AddrVO addrVO) {
|
|
| 1791 |
+ |
|
| 1792 |
+ Map<String, Object> response = new HashMap<>(); |
|
| 1793 |
+ |
|
| 1794 |
+ try {
|
|
| 1795 |
+ // 로그인 권한 정보 확인 |
|
| 1796 |
+ LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated() ? (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser() : null; |
|
| 1797 |
+ String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
|
| 1798 |
+ |
|
| 1799 |
+ if (userId.isEmpty()) {
|
|
| 1800 |
+ response.put("result", "loginFail");
|
|
| 1801 |
+ response.put("message", "로그인 후 이용이 가능합니다.");
|
|
| 1802 |
+ return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body(response); |
|
| 1803 |
+ } |
|
| 1804 |
+ |
|
| 1805 |
+ addrVO.setMberId(userId); |
|
| 1806 |
+ |
|
| 1807 |
+ // OFFSET 계산 |
|
| 1808 |
+ int offset = (addrVO.getPage()) * addrVO.getSize(); |
|
| 1809 |
+ addrVO.setOffset(offset); |
|
| 1810 |
+ // 데이터 조회 |
|
| 1811 |
+ List<AddrVO> resultAddrList = mjonMsgDataService.selectMsgAddrListAjax_advc(addrVO); |
|
| 1812 |
+ int totalCount = mjonMsgDataService.countByMsgAddrListAjax_advc(addrVO); // 필터에 맞는 총 레코드 수 가져오기 |
|
| 1813 |
+ |
|
| 1814 |
+ // 페이지네이션 계산 |
|
| 1815 |
+ int lastPage = (int) Math.ceil((double) totalCount / addrVO.getSize()); |
|
| 1816 |
+ |
|
| 1817 |
+ // 응답 데이터 구성 |
|
| 1818 |
+ response.put("data", resultAddrList);
|
|
| 1819 |
+ response.put("last_page", lastPage); // 클라이언트가 사용할 수 있도록 last_page 포함
|
|
| 1820 |
+ response.put("total_count", totalCount); // 필요 시, 총 레코드 수 포함
|
|
| 1821 |
+ |
|
| 1822 |
+ } catch (Exception e) {
|
|
| 1823 |
+ e.printStackTrace(); |
|
| 1824 |
+ return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null); |
|
| 1825 |
+ } |
|
| 1826 |
+ return ResponseEntity.ok(response); // resultAddrList만 반환 |
|
| 1827 |
+ } |
|
| 1828 |
+ |
|
| 1778 | 1829 |
/** |
| 1779 | 1830 |
* 최근 전송내역 리스트 화면 불러오기 |
| 1780 | 1831 |
* |
--- src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
... | ... | @@ -3710,6 +3710,7 @@ |
| 3710 | 3710 |
|
| 3711 | 3711 |
<!-- 등록 주소록 그룹 선택시 리스트 불러오기 --> |
| 3712 | 3712 |
<select id="mjonMsgDAO.selectMsgAddrListAjax_advc" parameterClass="addrVO" resultClass="addrVO"> |
| 3713 |
+ /* mjonMsgDAO.selectMsgAddrListAjax_advc */ |
|
| 3713 | 3714 |
|
| 3714 | 3715 |
SELECT A.ADDR_ID AS addrId, |
| 3715 | 3716 |
A.ADDR_GRP_ID AS addrGrpId, |
... | ... | @@ -3763,6 +3764,54 @@ |
| 3763 | 3764 |
</isEqual> |
| 3764 | 3765 |
</isNotEmpty> |
| 3765 | 3766 |
ORDER BY A.ADDR_NM ASC, A.LAST_UPDT_PNTTM DESC |
| 3767 |
+ LIMIT #size# OFFSET #offset# |
|
| 3768 |
+ |
|
| 3769 |
+ </select> |
|
| 3770 |
+ |
|
| 3771 |
+ <!-- 등록 주소록 그룹 선택시 리스트 불러오기 --> |
|
| 3772 |
+ <select id="mjonMsgDAO.countByMsgAddrListAjax_advc" parameterClass="addrVO" resultClass="int"> |
|
| 3773 |
+ |
|
| 3774 |
+ SELECT |
|
| 3775 |
+ COUNT(A.ADDR_ID) |
|
| 3776 |
+ FROM MJ_ADDR A |
|
| 3777 |
+ LEFT OUTER JOIN |
|
| 3778 |
+ MJ_ADDR_GRP B |
|
| 3779 |
+ ON |
|
| 3780 |
+ A.ADDR_GRP_ID = B.ADDR_GRP_ID |
|
| 3781 |
+ WHERE A.MBER_ID = #mberId# |
|
| 3782 |
+ AND (A.RECV_STATUS = 'Y' OR A.RECV_STATUS = 'S' OR A.RECV_STATUS IS NULL) |
|
| 3783 |
+ AND A.DELETE_YN = 'N' |
|
| 3784 |
+ <isNotEmpty property="type"> |
|
| 3785 |
+ <isEqual property="type" compareValue="none"> |
|
| 3786 |
+ AND A.ADDR_GRP_ID = '0' |
|
| 3787 |
+ AND A.BOOKMARK = 'N' |
|
| 3788 |
+ </isEqual> |
|
| 3789 |
+ <isEqual property="type" compareValue="book"> |
|
| 3790 |
+ AND A.BOOKMARK = 'Y' |
|
| 3791 |
+ </isEqual> |
|
| 3792 |
+ <isEqual property="type" compareValue="grp"> |
|
| 3793 |
+ AND A.ADDR_GRP_ID = #searchAddrGrpId# |
|
| 3794 |
+ </isEqual> |
|
| 3795 |
+ </isNotEmpty> |
|
| 3796 |
+ <isNotEmpty property="searchCondition"> |
|
| 3797 |
+ <isEqual property="searchCondition" compareValue="0"> |
|
| 3798 |
+ AND |
|
| 3799 |
+ ( |
|
| 3800 |
+ A.ADDR_NM LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 3801 |
+ OR A.ADDR_PHONE_NO LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 3802 |
+ OR B.ADDR_GRP_NM LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 3803 |
+ ) |
|
| 3804 |
+ </isEqual> |
|
| 3805 |
+ <isEqual property="searchCondition" compareValue="1"> |
|
| 3806 |
+ AND B.ADDR_GRP_NM LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 3807 |
+ </isEqual> |
|
| 3808 |
+ <isEqual property="searchCondition" compareValue="2"> |
|
| 3809 |
+ AND A.ADDR_NM LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 3810 |
+ </isEqual> |
|
| 3811 |
+ <isEqual property="searchCondition" compareValue="3"> |
|
| 3812 |
+ AND A.ADDR_PHONE_NO LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 3813 |
+ </isEqual> |
|
| 3814 |
+ </isNotEmpty> |
|
| 3766 | 3815 |
|
| 3767 | 3816 |
</select> |
| 3768 | 3817 |
|
--- src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataSMLView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataSMLView.jsp
| This diff is too big to display. |
--- src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp
... | ... | @@ -87,50 +87,58 @@ |
| 87 | 87 |
|
| 88 | 88 |
}); |
| 89 | 89 |
|
| 90 |
- |
|
| 91 |
- //주소록 불러오기 팝업 내용 |
|
| 92 |
- //Tabulator AJAX Data Loading |
|
| 90 |
+ // Tabulator 초기화 |
|
| 93 | 91 |
tableAddr = new Tabulator(".callAddr_box", {
|
| 94 |
- height:"255px", |
|
| 95 |
- layout:"fitColumns", |
|
| 96 |
- headerHozAlign:"center", |
|
| 97 |
- validationMode:"highlight", |
|
| 98 |
- placeholder:"주소록 그룹을 선택해 주세요.", //fit columns to width of table (optional) |
|
| 99 |
- resizableColumns:false, |
|
| 100 |
- columns:[ //Define Table Columns |
|
| 101 |
- {formatter:"rowSelection", titleFormatter:"rowSelection",clipboard:false, hozAlign:"center", headerSort:false, cellClick:function(e, cell){
|
|
| 102 |
- cell.getRow().toggleSelect(); |
|
| 103 |
- } |
|
| 104 |
- }, |
|
| 105 |
- {title:"그룹명", hozAlign:"center", field:"addrGroupNm", editor:"input", width:100, validator:["required","minLength:2", "maxLength:40"]},
|
|
| 106 |
- {title:"이름", hozAlign:"center", field:"addrName", editor:"input", width:100, validator:["maxLength:12"]},
|
|
| 107 |
- {title:"휴대폰번호", hozAlign:"center", field:"addrPhone", editor:"input", width:100, validator:["required","minLength:10", "maxLength:11"]},
|
|
| 108 |
- {title:"[*1*]", hozAlign:"center", field:"addrRep1", editor:"input", width:84, validator:["maxLength:40"]},
|
|
| 109 |
- {title:"[*2*]", hozAlign:"center", field:"addrRep2", editor:"input", width:84, validator:["maxLength:40"]},
|
|
| 110 |
- {title:"[*3*]", hozAlign:"center", field:"addrRep3", editor:"input", width:84, validator:["maxLength:40"]},
|
|
| 111 |
- {title:"[*4*]", hozAlign:"center", field:"addrRep4", editor:"input", width:84, validator:["maxLength:40"]},
|
|
| 112 |
- |
|
| 113 |
- ], |
|
| 114 |
- validationFailed:function(cell, value, parameters){ // 유효성 체크 함수 - 아직 잘 모르겠음
|
|
| 115 |
- var valid = cell.isValid(); |
|
| 116 |
- var fieldNm = cell.getField(); |
|
| 117 |
- if(!valid){
|
|
| 118 |
- if(fieldNm == "addrName"){
|
|
| 119 |
- alert("받는사람 이름은 최대 12글자까지만 입력 가능합니다.");
|
|
| 120 |
- }else if(fieldNm == "addrPhone"){
|
|
| 121 |
- alert("휴대폰번호는 하이픈(-)을 제외한 숫자만 정확히 입력해 주세요.");
|
|
| 122 |
- }else if(fieldNm == "addrGroupNm"){
|
|
| 123 |
- alert("그룹명을 정확히 입력해 주세요. 2 ~ 40글자 이내로 입력 가능합니다.");
|
|
| 124 |
- }else{
|
|
| 125 |
- alert("치환문자를 정확히 입력해 주세요. 100글자 이내로 입력 가능합니다.");
|
|
| 126 |
- } |
|
| 127 |
- |
|
| 128 |
- //해당 셀 데이터 삭제 |
|
| 129 |
- cell.setValue("");
|
|
| 130 |
- } |
|
| 131 |
- return value % parameters.addrPhone; |
|
| 92 |
+ height: "255px", |
|
| 93 |
+ layout: "fitColumns", |
|
| 94 |
+ headerHozAlign: "center", |
|
| 95 |
+ validationMode: "highlight", |
|
| 96 |
+ placeholder: "주소록 그룹을 선택해 주세요.", |
|
| 97 |
+ resizableColumns: false, |
|
| 98 |
+ progressiveLoad:"scroll", |
|
| 99 |
+// progressiveLoadScrollMargin:300, //trigger next ajax load when scroll bar is 300px or less from the bottom of the table. |
|
| 100 |
+ ajaxURL: "/web/mjon/msgdata/selectMsgAddrListAjax_advc.do", // 데이터 URL 설정 |
|
| 101 |
+ ajaxConfig: {
|
|
| 102 |
+ method: "GET", |
|
| 132 | 103 |
}, |
| 133 |
- |
|
| 104 |
+ ajaxParams: { // Initial AJAX parameters
|
|
| 105 |
+ size: 350000, // Set initial page size |
|
| 106 |
+ type: "", // Default value, can be updated later |
|
| 107 |
+ searchAddrGrpId: "", // Default value, can be updated later |
|
| 108 |
+ searchKeyword: "", // Default value, can be updated later |
|
| 109 |
+ searchCondition: "" // Default value, can be updated later |
|
| 110 |
+ }, |
|
| 111 |
+ columns: [ |
|
| 112 |
+ {formatter: "rowSelection", titleFormatter: "rowSelection", clipboard: false, hozAlign: "center", headerSort: false, cellClick: function(e, cell) {
|
|
| 113 |
+ cell.getRow().toggleSelect(); |
|
| 114 |
+ } |
|
| 115 |
+ }, |
|
| 116 |
+ {formatter: "rownum", align: "center", title: "No", hozAlign: "center", headerHozAlign: "center", width: 60},
|
|
| 117 |
+ {title: "그룹명", hozAlign: "center", field: "addrGroupNm", editor: "input", width: 100, validator: ["required", "minLength:2", "maxLength:40"]},
|
|
| 118 |
+ {title: "이름", hozAlign: "center", field: "addrName", editor: "input", width: 100, validator: ["maxLength:12"]},
|
|
| 119 |
+ {title: "휴대폰번호", hozAlign: "center", field: "addrPhone", editor: "input", width: 100, validator: ["required", "minLength:10", "maxLength:11"]},
|
|
| 120 |
+ {title: "[*1*]", hozAlign: "center", field: "addrRep1", editor: "input", width: 84, validator: ["maxLength:40"]},
|
|
| 121 |
+ {title: "[*2*]", hozAlign: "center", field: "addrRep2", editor: "input", width: 84, validator: ["maxLength:40"]},
|
|
| 122 |
+ {title: "[*3*]", hozAlign: "center", field: "addrRep3", editor: "input", width: 84, validator: ["maxLength:40"]},
|
|
| 123 |
+ {title: "[*4*]", hozAlign: "center", field: "addrRep4", editor: "input", width: 84, validator: ["maxLength:40"]},
|
|
| 124 |
+ ], |
|
| 125 |
+ validationFailed: function(cell, value, parameters) {
|
|
| 126 |
+ var valid = cell.isValid(); |
|
| 127 |
+ var fieldNm = cell.getField(); |
|
| 128 |
+ if (!valid) {
|
|
| 129 |
+ if (fieldNm == "addrName") {
|
|
| 130 |
+ alert("받는사람 이름은 최대 12글자까지만 입력 가능합니다.");
|
|
| 131 |
+ } else if (fieldNm == "addrPhone") {
|
|
| 132 |
+ alert("휴대폰번호는 하이픈(-)을 제외한 숫자만 정확히 입력해 주세요.");
|
|
| 133 |
+ } else if (fieldNm == "addrGroupNm") {
|
|
| 134 |
+ alert("그룹명을 정확히 입력해 주세요. 2 ~ 40글자 이내로 입력 가능합니다.");
|
|
| 135 |
+ } else {
|
|
| 136 |
+ alert("치환문자를 정확히 입력해 주세요. 100글자 이내로 입력 가능합니다.");
|
|
| 137 |
+ } |
|
| 138 |
+ cell.setValue("");
|
|
| 139 |
+ } |
|
| 140 |
+ return value % parameters.addrPhone; |
|
| 141 |
+ }, |
|
| 134 | 142 |
}); |
| 135 | 143 |
|
| 136 | 144 |
|
... | ... | @@ -2850,42 +2858,38 @@ |
| 2850 | 2858 |
|
| 2851 | 2859 |
} |
| 2852 | 2860 |
|
| 2861 |
+ |
|
| 2853 | 2862 |
//주소록 불러오기 팝업의 그룹 선택시 우측에 주소록 불러오기 |
| 2854 |
-function fnSelectAddrList(type,addrGrpId,item){
|
|
| 2855 |
- |
|
| 2856 |
- // 주소록 그룹 열림, 닫힘 폴더이미지 초기화 |
|
| 2863 |
+function fnSelectAddrList(type, addrGrpId, item) {
|
|
| 2864 |
+ // 폴더 이미지 초기화 및 설정 |
|
| 2857 | 2865 |
$(".adr_pop_list div p").each(function (index, item) {
|
| 2858 | 2866 |
$(item).find("img").attr("src", "/publish/images/content/close_folder2.png");
|
| 2859 | 2867 |
$(item).find("img").attr("alt", "폴더 닫힘");
|
| 2860 | 2868 |
}); |
| 2861 |
- |
|
| 2862 |
- var form = document.searchAddrGrpForm; |
|
| 2863 |
- form.type.value = type; |
|
| 2864 |
- form.searchAddrGrpId.value = addrGrpId; |
|
| 2865 |
- form.searchKeyword.value = ""; |
|
| 2866 |
- form.searchCondition.value = form.searchAddrCondition.value; |
|
| 2867 |
- |
|
| 2868 |
- //왼쪽 그룹리스트의 그룸명을 선택시 검색어를 초기화해준다. |
|
| 2869 |
- form.searchAddrKeyword.value=""; |
|
| 2870 |
- |
|
| 2871 |
- /* |
|
| 2872 |
- $(item).toggleClass("open");
|
|
| 2873 |
- if ($(item).hasClass("open") === true) {
|
|
| 2874 |
- $(item).find("img").attr("src", "/publish/images/content/open_folder2.png");
|
|
| 2875 |
- $(item).find("img").attr("alt", "폴더 열림");
|
|
| 2876 |
- } |
|
| 2877 |
- else {
|
|
| 2878 |
- $(item).find("img").attr("src", "/publish/images/content/close_folder2.png");
|
|
| 2879 |
- $(item).find("img").attr("alt", "폴더 닫힘");
|
|
| 2880 |
- } |
|
| 2881 |
- */ |
|
| 2882 |
- |
|
| 2869 |
+ |
|
| 2870 |
+// var form = document.searchAddrGrpForm; |
|
| 2871 |
+// form.type.value = type; |
|
| 2872 |
+// form.searchAddrGrpId.value = addrGrpId; |
|
| 2873 |
+// form.searchKeyword.value = ""; |
|
| 2874 |
+// form.searchCondition.value = form.searchAddrCondition.value; |
|
| 2875 |
+ |
|
| 2876 |
+ // 왼쪽 그룹리스트의 그룹명을 선택 시 검색어를 초기화해준다. |
|
| 2877 |
+// form.searchAddrKeyword.value = ""; |
|
| 2878 |
+ |
|
| 2883 | 2879 |
$(item).find("img").attr("src", "/publish/images/content/open_folder2.png");
|
| 2884 | 2880 |
$(item).find("img").attr("alt", "폴더 열림");
|
| 2885 |
- |
|
| 2886 |
- loadAddrList(); |
|
| 2887 |
- |
|
| 2881 |
+ |
|
| 2882 |
+ // Tabulator의 ajaxParams 설정 |
|
| 2883 |
+ tableAddr.setData("/web/mjon/msgdata/selectMsgAddrListAjax_advc.do", {
|
|
| 2884 |
+ searchAddrGrpId: addrGrpId, |
|
| 2885 |
+ type: type, |
|
| 2886 |
+// searchKeyword: form.searchAddrKeyword.value, |
|
| 2887 |
+// searchCondition: form.searchCondition.value, |
|
| 2888 |
+ size: 350000, // 페이지당 로드할 데이터 수 |
|
| 2889 |
+ }); |
|
| 2888 | 2890 |
} |
| 2891 |
+ |
|
| 2892 |
+ |
|
| 2889 | 2893 |
|
| 2890 | 2894 |
function fnAddrSearch(){
|
| 2891 | 2895 |
|
... | ... | @@ -2900,11 +2904,11 @@ |
| 2900 | 2904 |
function loadAddrList(){
|
| 2901 | 2905 |
|
| 2902 | 2906 |
/* |
| 2903 |
- serialize 를 사용할때는 processData, contentType 옵션 제가할것 |
|
| 2907 |
+ serialize 를 사용할때는 processDa ta, contentType 옵션 제가할것 |
|
| 2904 | 2908 |
*/ |
| 2905 | 2909 |
var data = $("#searchAddrGrpForm").serialize();
|
| 2906 | 2910 |
|
| 2907 |
- var url = "/web/mjon/msgdata/selectMsgAddrListAjax.do"; |
|
| 2911 |
+ var url = "/web/mjon/msgdata/selectMsgAddrListAjax_advc.do"; |
|
| 2908 | 2912 |
|
| 2909 | 2913 |
$.ajax({
|
| 2910 | 2914 |
type: "POST", |
... | ... | @@ -2920,12 +2924,11 @@ |
| 2920 | 2924 |
if(returnData.result == "success"){
|
| 2921 | 2925 |
|
| 2922 | 2926 |
var addrList = returnData.resultAddrList; |
| 2923 |
- var tableData = []; |
|
| 2924 | 2927 |
|
| 2925 | 2928 |
if(addrList.length == 0){
|
| 2926 | 2929 |
|
| 2927 | 2930 |
alert("주소록 정보가 없습니다.");
|
| 2928 |
- tableAddr.setData(tableData); |
|
| 2931 |
+// tableAddr.setData([]); |
|
| 2929 | 2932 |
return false; |
| 2930 | 2933 |
} |
| 2931 | 2934 |
|
... | ... | @@ -2956,7 +2959,8 @@ |
| 2956 | 2959 |
|
| 2957 | 2960 |
//우측 주소록 리스트 Tabulator에 입력해주기 |
| 2958 | 2961 |
// tableAddr.setData(tableData); |
| 2959 |
- tableAddr.setData(addrList); |
|
| 2962 |
+// tableAddr.setData(addrList); |
|
| 2963 |
+ tableAddr.updateOrAddData(addrList); // 무한 스크롤을 위해 데이터를 업데이트 |
|
| 2960 | 2964 |
|
| 2961 | 2965 |
}else{
|
| 2962 | 2966 |
|
... | ... | @@ -2969,8 +2973,10 @@ |
| 2969 | 2973 |
alert("주소록 불러오기에 실패하였습니다. !!");
|
| 2970 | 2974 |
} |
| 2971 | 2975 |
}, |
| 2972 |
- error: function (e) {
|
|
| 2973 |
- alert("주소록 불러오기에 실패하였습니다."); console.log("ERROR : ", e);
|
|
| 2976 |
+ error: function (jqXHR, textStatus, errorThrown) {
|
|
| 2977 |
+ alert("주소록 불러오기에 실패하였습니다.");
|
|
| 2978 |
+ console.log("ERROR : ", jqXHR.status, textStatus, errorThrown); // 상태 코드, 상태 텍스트, 에러 메시지 출력
|
|
| 2979 |
+ console.log("Response Text: ", jqXHR.responseText); // 서버 응답 텍스트 출력
|
|
| 2974 | 2980 |
}, |
| 2975 | 2981 |
beforeSend : function(xmlHttpRequest) {
|
| 2976 | 2982 |
//로딩창 show |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?