SyslogtManagement.blade.php 8.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. @extends('admin.master')
  2. @section('content')
  3. <div class="row">
  4. <div class="col-lg-12">
  5. <div class="contentpanel">
  6. <form id="listForm" method="post">
  7. <!-- 功能按鈕(新增/批量處理等等) -->
  8. <div class="row" style="margin-bottom: 5px;">
  9. <div class="col-lg-12">
  10. <ol class="headermenu">
  11. <li>
  12. <button class="btn btn-darkblue btn-xs" id="export"><strong>匯出</strong></button>
  13. </li>
  14. </ol>
  15. </div>
  16. </div>
  17. <!-- 搜尋段 -->
  18. <div class="panel panel-default">
  19. <div class="panel-heading" data-toggle="collapse" data-target="#search_content">
  20. <h3 class="panel-title">系統紀錄</h3>
  21. </div>
  22. <div id="search_content" class="collapse in">
  23. <div class="panel-body">
  24. <!-- 建立時間範圍 from -->
  25. <div class="form-group col-xs-12 col-sm-6 col-lg-6">
  26. <label for="createDateStart">建立時間範圍(起)</label>
  27. <input type="text" class="form-control input-sm" id="createDateStart"
  28. maxlength="10">
  29. </div>
  30. <!-- 建立時間範圍 to -->
  31. <div class="form-group col-xs-12 col-sm-6 col-lg-6">
  32. <label for="createDateFinal">建立時間範圍(迄)</label>
  33. <input type="text" class="form-control input-sm" id="createDateFinal"
  34. maxlength="10">
  35. </div>
  36. <!-- 對象 ID -->
  37. <div class="form-group col-xs-12 col-sm-6 col-lg-6">
  38. <label for="k">對象 ID</label>
  39. <input type="text" class="form-control input-sm" id="k" maxlength="50">
  40. </div>
  41. <!-- 名義 -->
  42. <div class="form-group col-xs-12 col-sm-6 col-lg-6">
  43. <label for="valid">名義</label>
  44. <select class="form-control input-sm" id="type">
  45. <option value="">全部</option>
  46. @foreach($type as $data)
  47. <option value="{{ $data }}">{{ $data }}</option>
  48. @endforeach
  49. </select>
  50. </div>
  51. <!-- Search -->
  52. <div class="form-group col-xs-12 col-sm-12 col-lg-12">
  53. <a class="btn btn-success btn-xs" onclick="javascript: custom_search();">
  54. <div class="glyphicon glyphicon-search"></div>
  55. </a>
  56. </div>
  57. </div>
  58. </div>
  59. </div>
  60. <hr class="search-hr"/>
  61. <!-- 列表段 -->
  62. <div class="row">
  63. <div class="col-lg-12">
  64. <table id="GridView1" class="table table-striped table-bordered" cellspacing="0">
  65. <thead>
  66. <tr>
  67. <th>ID</th>
  68. <th>名義</th>
  69. <th>業務功能</th>
  70. <th>對象 ID</th>
  71. <th>輸入細節</th>
  72. <th>輸出細節</th>
  73. <th>時間戳</th>
  74. </tr>
  75. </thead>
  76. </table>
  77. </div>
  78. </div>
  79. </form>
  80. <!-- row -->
  81. </div>
  82. </div>
  83. </div>
  84. @endsection
  85. @section('extjs')
  86. <script>
  87. $(document).ready(function () {
  88. var table = $('#GridView1').dataTable({
  89. "scrollX": true,
  90. "processing": true,
  91. "serverSide": true,
  92. "ajax": "syslogtManagement/grid",
  93. "paging": true,
  94. "ordering": true,
  95. "info": true,
  96. "order": [[0, "desc"]],
  97. "stateSave": true,
  98. "pagingType": "full",
  99. "bFilter": true,
  100. "aoColumnDefs": [
  101. {
  102. 'bSortable': false,
  103. 'aTargets': [] //不想參加排序的欄位,可指定多個,逗號分隔
  104. },
  105. {
  106. 'aTargets': [4, 5],
  107. render: $.fn.dataTable.render.ellipsis(20)
  108. }
  109. ]
  110. });
  111. // 從網址參觸發搜尋
  112. custom_search();
  113. $('#GridView1_filter').hide();
  114. });
  115. //客製化搜尋欄位
  116. function custom_search() {
  117. $('#GridView1').DataTable()
  118. .column(1).search($('#k').val())
  119. .column(2).search($('#type').val())
  120. .column(3).search($('#createDateStart').val() + "\n" + $('#createDateFinal').val())
  121. ;
  122. $('#GridView1').dataTable().fnDraw(true);
  123. }
  124. // 匯出報告
  125. $("#export").click(function () {
  126. //加個讀取中畫面
  127. $.blockUI({
  128. css: {
  129. border: 'none',
  130. padding: '15px',
  131. backgroundColor: '#000',
  132. '-webkit-border-radius': '10px',
  133. '-moz-border-radius': '10px',
  134. opacity: .5,
  135. color: '#FFF'
  136. }
  137. });
  138. var http = new XMLHttpRequest();
  139. http.responseType = 'blob';
  140. var header;
  141. var blob;
  142. var url = 'syslogtManagement/export';
  143. var params =
  144. ''
  145. + 'k=' + $('#k').val()
  146. + '&type=' + $('#type').val()
  147. + '&createDateStart=' + $('#createDateStart').val()
  148. + '&createDateFinal=' + $('#createDateFinal').val()
  149. ;
  150. http.open("POST", url, true);
  151. http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  152. http.onreadystatechange = function () {//Call a function when the state changes.
  153. if (http.readyState == 4 && http.status == 200) {
  154. var filename = "";
  155. var disposition = http.getResponseHeader('Content-Disposition');
  156. if (disposition && disposition.indexOf('attachment') !== -1) {
  157. var filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
  158. var matches = filenameRegex.exec(disposition);
  159. if (matches != null && matches[1]) filename = matches[1].replace(/['"]/g, '');
  160. }
  161. var type = http.getResponseHeader('Content-Type');
  162. blob = new Blob([http.response], {type: type, endings: 'native'});
  163. var URL = window.URL || window.webkitURL;
  164. var downloadUrl = URL.createObjectURL(blob);
  165. var a = document.createElement("a");
  166. a.href = downloadUrl;
  167. a.download = filename;
  168. document.body.appendChild(a);
  169. a.click();
  170. }
  171. //解除鎖定
  172. $.unblockUI();
  173. }
  174. http.send(params);
  175. return false;
  176. });
  177. //日期選擇器
  178. $('#createDateStart').datepicker({
  179. dateFormat: 'yy-mm-dd'
  180. });
  181. $('#createDateFinal').datepicker({
  182. dateFormat: 'yy-mm-dd'
  183. });
  184. setInterval(function () {
  185. // 註冊手機裝置模擬滑鼠 mouseover 看到的 tooltop 字樣
  186. $(".ellipsis").unbind("click");
  187. $(".ellipsis").bind("click", function () {
  188. var $title = $(this).find(".title");
  189. if (!$title.length) {
  190. $(this).append('<span class="title">' + $(this).attr("title") + '</span>');
  191. } else {
  192. $title.remove();
  193. }
  194. });
  195. }, 1000);
  196. </script>
  197. @endsection