msgcheck.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. /**
  2. * mplus_admin/ msgcheck
  3. */
  4. var mplus_admin_msgCheck = function(){
  5. mplus_admin.call(this);
  6. var self = this;
  7. var $txtUserId = $("#txtUserId"),
  8. $btnSearch = $("#btnSearch"),
  9. $txtStrDate = $("#txtStrDate"),
  10. $txtEndDate = $("#txtEndDate"),
  11. $sltOption = $("#sltOption"),
  12. $crudServiceBaseUrl = contextPath + "/admin/msgcheck";
  13. var pageSize = 16;
  14. var msgList = [];
  15. var msgInfo = {};
  16. var totalCount;
  17. this.init = function(){
  18. initDatePicker();
  19. addEvent();
  20. initMsgCheckList(1);
  21. setPageList(1);
  22. if($('#page_1')!=null) $('#page_1').addClass('active');
  23. };
  24. var addEvent = function(){
  25. $btnSearch.on("click", function(e){
  26. $('#table_msgCheckDetail').empty();
  27. initMsgCheckList(1);
  28. });
  29. };
  30. var initDatePicker = function(){
  31. //mplus_admin 상속
  32. self.datePicker( $txtEndDate, $txtStrDate, $sltOption );
  33. };
  34. var initMsgCheckList = function(page){
  35. var param = {
  36. pageSize: pageSize,
  37. page: page,
  38. strDate: new Date($txtStrDate.val()).setHours(0,0,0,0),
  39. endDate: new Date($txtEndDate.val()).setHours(0,0,0,0),
  40. userId: $txtUserId.val()
  41. };
  42. var opt = {
  43. url: $crudServiceBaseUrl + "/getMsgList.json",
  44. type : "post",
  45. async: false,
  46. dataType: "json",
  47. contentType: "application/json",
  48. data: self.util.stringifyJson(param)
  49. };
  50. var success = function(result){
  51. msgList = result.data;
  52. totalCount = result.totalCount;
  53. $('#table_msgCheck').empty();
  54. $('#table_msgCheckDetail').empty();
  55. for(var i=0; i<msgList.length; i++){
  56. var tr = $('<tr></tr>').clone().attr('seq', i).attr('contentsSeq', msgList[i].contentsSeq);
  57. var tdUserId = $('<td></td>').clone().text(msgList[i].userId);
  58. var tdFormId = $('<td></td>').clone().text(msgList[i].formId);
  59. var tdMessageValue = $('<td></td>').clone().text(msgList[i].messageValue.length>20? msgList[i].messageValue.substring(0, 21):msgList[i].messageValue);
  60. var tdLogDt = $('<td></td>').clone().text(msgList[i].logDt);
  61. $('#table_msgCheck').append(tr.append(tdUserId).append(tdFormId).append(tdMessageValue).append(tdLogDt));
  62. }
  63. $('#table_msgCheck tr').on('click', function(e) {
  64. getMsgCheckInfo(e);
  65. $('#table_msgCheck tr').removeClass('active');
  66. $(this).addClass('active');
  67. });
  68. };
  69. var error = function(xhr,d,t){
  70. console.log(xhr);
  71. console.log(t);
  72. };
  73. self.ajaxAdmin( opt, success, error );
  74. };
  75. var pageEvent = function(e) {
  76. var type = e.currentTarget.id.split('_')[0];
  77. var page = Number(e.currentTarget.id.split('_')[1]);
  78. if( type == 'page' ) {
  79. initMsgCheckList(page);
  80. $('#ulPagination li[id*="page_"]').removeClass('active');
  81. } else if ( type == 'next') {
  82. initMsgCheckList(page);
  83. setPageList(page);
  84. } else if ( type == 'previous' ) {
  85. initMsgCheckList(page);
  86. setPageList(page - 9);
  87. }
  88. if($('#page_'+page)!=null) $('#page_'+page).addClass('active');
  89. };
  90. var setPageList = function(start) {
  91. $('#ulPagination').empty();
  92. var end = start + 9;
  93. if( Math.ceil(totalCount/pageSize) < end ) {
  94. end = Math.ceil(totalCount/pageSize);
  95. }
  96. if( start > 10 ) {
  97. $('#ulPagination').append('<li id="previous_'+(start - 1)+'"><a href="#"><<</a></li>');
  98. }
  99. for( var i = start; i <= end; i++ ) {
  100. $('#ulPagination').append('<li id="page_'+i+'"><a href="#">'+i+'</a></li>');
  101. }
  102. if( end < Math.ceil(totalCount/pageSize) ) {
  103. $('#ulPagination').append('<li id="next_'+(end + 1)+'"><a href="#">>></a></li>');
  104. }
  105. $('#ulPagination li').unbind();
  106. $('#ulPagination li').click(function(e) {pageEvent(e);});
  107. };
  108. var getMsgCheckInfo = function(e){
  109. msgInfo = msgList[e.currentTarget.attributes.seq.value];
  110. var opt = {
  111. url: $crudServiceBaseUrl + "/getMsgDetailInfoList.json",
  112. method: "post",
  113. dataType: "json",
  114. contentType: "application/json",
  115. data:self.util.stringifyJson({contentsSeq:msgInfo.contentsSeq,receiverId:msgInfo.userId})
  116. };
  117. var success = function(result){
  118. msgDetailList = result;
  119. $('#table_msgCheckDetail').empty();
  120. for(var i=0; i<msgDetailList.length; i++){
  121. var tr = $('<tr></tr>').clone().attr('seq', i).attr('contentsSeq', msgDetailList[i].contentsSeq);
  122. var tdPlatformType = $('<td></td>').clone().text(msgDetailList[i].platformType == 'A'? 'Android': 'iOS');
  123. var tdSuccessYn = $('<td></td>').clone().text(msgDetailList[i].successYn == 'Y'? '성공': '실패');
  124. var tdErrorType = $('<td></td>').clone().text(msgDetailList[i].errorType==null? '': msgDetailList[i].errorType);
  125. $('#table_msgCheckDetail').append(tr.append(tdPlatformType).append(tdSuccessYn).append(tdErrorType));
  126. };
  127. };
  128. var error = function(xhr,d,t){
  129. options.error(xhr);
  130. alert("상세 정보 조회 실패");
  131. };
  132. self.ajaxAdmin( opt, success, error );
  133. }
  134. };