You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
3.5 KiB

7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
  1. <div class="page-header" data-fit-aside>
  2. <h1 class="page-title">사용자 접속 로그<small>방문통계 &gt; 사용자 접속 로그</small></h1>
  3. </div>
  4. <form data-grid-search onsubmit="grid.refresh(1);return false;" data-fit-aside autocomplete="off">
  5. <div data-ax-tbl class="ax-search-tbl" data-grid-search>
  6. <div data-ax-tr>
  7. <div data-ax-td>
  8. <div data-ax-td-label>일자 검색</div>
  9. <div data-ax-td-wrap>
  10. <input class="form-control" name="startdate" data-toggle="datepicker" data-chained-datepicker="[name='enddate']" value="<?=date('Y-m-d', strtotime("-1 month", time()))?>">
  11. </div>
  12. <div data-ax-td-wrap>
  13. <input class="form-control" name="enddate" data-toggle="datepicker" value="<?=date('Y-m-d')?>">
  14. </div>
  15. </div>
  16. <div data-ax-td>
  17. <div data-ax-td-label>접속 기기</div>
  18. <div data-ax-td-wrap>
  19. <select class="form-control" name="is_mobile">
  20. <option value="">전체보기</option>
  21. <option value="N">PC</option>
  22. <option value="Y">모바일</option>
  23. </select>
  24. </div>
  25. </div>
  26. <div data-ax-td>
  27. <div data-ax-td-label>IP 검색</div>
  28. <div data-ax-td-wrap>
  29. <input class="form-control" name="ip" value="" placeholder="검색할 IP를 입력하세요">
  30. </div>
  31. </div>
  32. <div data-ax-td>
  33. <div data-ax-td-wrap>
  34. <button class="btn btn-sm btn-default"><i class="fal fa-search"></i> 필터적용</button>
  35. </div>
  36. </div>
  37. </div>
  38. </div>
  39. </form>
  40. <div class="H10" data-fit-aside></div>
  41. <div class="grid-wrapper">
  42. <div class="gird-container" id="grid-container"></div>
  43. </div>
  44. <script>
  45. var grid = new GRID('#grid-container', {
  46. paging: {
  47. pageSize:20
  48. },
  49. columns: [
  50. {caption:'순번', width:80, dataField: 'nums', alignment:'right', dataType:'number', format:'fixedPoint'},
  51. {caption:'접속일자', width:150, dataField: 'sta_regtime', alignment:'center'},
  52. {caption:'접속IP', width:100, dataField: 'sta_ip', alignment:'center'},
  53. {caption:'브라우저', width:120, dataField: 'sta_browser', alignment:'left'},
  54. {caption:'접속기기', width:150, dataField: 'sta_device', alignment:'left'},
  55. {caption:'모바일', width:50, dataField: 'sta_is_mobile', alignment:'center'},
  56. {caption:'리퍼러 호스트', width:200, dataField: 'sta_referrer_host', alignment:'left'},
  57. {caption:'리퍼러', minWidth:100, dataField: 'sta_referrer', alignment:'left'},
  58. {caption:'리퍼러 키워드', width:150, dataField: 'sta_keyword', alignment:'left'},
  59. ],
  60. dataSource: new DevExpress.data.DataSource({
  61. key : 'sta_idx',
  62. load: function(loadOptions) {
  63. var d = $.Deferred();
  64. var params = grid.getSearchParam(loadOptions);
  65. $.ajax({
  66. url : base_url + '/admin/ajax/statics/visit',
  67. type: 'GET',
  68. async: false,
  69. cache: false,
  70. data: params
  71. }).done(function(res) {
  72. d.resolve(res.lists, {
  73. totalCount : res.totalCount
  74. });
  75. });
  76. return d.promise();
  77. }
  78. }),
  79. });
  80. $(function() {
  81. grid.init();
  82. })
  83. </script>