TSessionManagement.blade.php 9.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  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. <!-- 玩家 LINE ID -->
  37. <div class="form-group col-xs-12 col-sm-6 col-lg-6">
  38. <label for="lineId">玩家 LINE ID</label>
  39. <input type="text" class="form-control input-sm" id="lineId" maxlength="50">
  40. </div>
  41. <!-- 玩家名稱 -->
  42. <div class="form-group col-xs-12 col-sm-6 col-lg-6">
  43. <label for="lineUserId">玩家名稱</label>
  44. <input type="text" class="form-control input-sm" id="userName" maxlength="100">
  45. </div>
  46. <!-- 回合 -->
  47. <div class="form-group col-xs-12 col-sm-12 col-lg-12">
  48. <label for="valid">回合</label>
  49. <select class="form-control input-sm" id="tround">
  50. <option value="">全部</option>
  51. @foreach($tround as $data)
  52. <option value="{{ $data['id'] }}">{{ $data['roundName'] }}</option>
  53. @endforeach
  54. </select>
  55. </div>
  56. <!-- Search -->
  57. <div class="form-group col-xs-12 col-sm-12 col-lg-12">
  58. <a class="btn btn-success btn-xs" onclick="javascript: custom_search();">
  59. <div class="glyphicon glyphicon-search"></div>
  60. </a>
  61. </div>
  62. </div>
  63. </div>
  64. </div>
  65. <hr class="search-hr"/>
  66. <!-- 列表段 -->
  67. <div class="row">
  68. <div class="col-lg-12">
  69. <table id="GridView1" class="table table-striped table-bordered" cellspacing="0">
  70. <thead>
  71. <tr>
  72. <th>ID</th>
  73. <th>玩家 LINE ID</th>
  74. <th>玩家名稱</th>
  75. <th>回合</th>
  76. <th>格子或簽到</th>
  77. <th>日期</th>
  78. <th>遊戲吉點</th>
  79. <th>簽到吉點</th>
  80. <th>本次吉點異動</th>
  81. <th>時間戳</th>
  82. </tr>
  83. </thead>
  84. </table>
  85. </div>
  86. </div>
  87. </form>
  88. <!-- row -->
  89. </div>
  90. </div>
  91. </div>
  92. @endsection
  93. @section('extjs')
  94. <script>
  95. $(document).ready(function () {
  96. var table = $('#GridView1').dataTable({
  97. "scrollX": true,
  98. "processing": true,
  99. "serverSide": true,
  100. "ajax": "tsessionManagement/grid",
  101. "paging": true,
  102. "ordering": true,
  103. "info": true,
  104. "order": [[0, "desc"]],
  105. "stateSave": true,
  106. "pagingType": "full",
  107. "bFilter": true,
  108. "aoColumnDefs": [{
  109. 'bSortable': false,
  110. 'aTargets': [] //不想參加排序的欄位,可指定多個,逗號分隔
  111. }]
  112. });
  113. // 從網址參觸發搜尋
  114. custom_search();
  115. $('#GridView1_filter').hide();
  116. });
  117. //客製化搜尋欄位
  118. function custom_search() {
  119. $('#GridView1').DataTable()
  120. .column(1).search($('#lineId').val())
  121. .column(2).search($('#userName').val())
  122. .column(3).search($('#tround').val())
  123. .column(4).search($('#createDateStart').val() + "\n" + $('#createDateFinal').val())
  124. ;
  125. $('#GridView1').dataTable().fnDraw(true);
  126. }
  127. // 匯出報告
  128. $("#export").click(function () {
  129. //加個讀取中畫面
  130. $.blockUI({
  131. css: {
  132. border: 'none',
  133. padding: '15px',
  134. backgtroundColor: '#000',
  135. '-webkit-border-radius': '10px',
  136. '-moz-border-radius': '10px',
  137. opacity: .5,
  138. color: '#FFF'
  139. }
  140. });
  141. var http = new XMLHttpRequest();
  142. http.responseType = 'blob';
  143. var header;
  144. var blob;
  145. var url = 'tsessionManagement/export';
  146. var params =
  147. ''
  148. + 'lineId=' + $('#lineId').val()
  149. + '&userName=' + $('#userName').val()
  150. + '&tround=' + $('#tround').val()
  151. + '&createDateStart=' + $('#createDateStart').val()
  152. + '&createDateFinal=' + $('#createDateFinal').val()
  153. ;
  154. http.open("POST", url, true);
  155. http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  156. http.onreadystatechange = function () {//Call a function when the state changes.
  157. if (http.readyState == 4 && http.status == 200) {
  158. var filename = "";
  159. var disposition = http.getResponseHeader('Content-Disposition');
  160. if (disposition && disposition.indexOf('attachment') !== -1) {
  161. var filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
  162. var matches = filenameRegex.exec(disposition);
  163. if (matches != null && matches[1]) filename = matches[1].replace(/['"]/g, '');
  164. }
  165. var type = http.getResponseHeader('Content-Type');
  166. blob = new Blob([http.response], {type: type, endings: 'native'});
  167. var URL = window.URL || window.webkitURL;
  168. var downloadUrl = URL.createObjectURL(blob);
  169. var a = document.createElement("a");
  170. a.href = downloadUrl;
  171. a.download = filename;
  172. document.body.appendChild(a);
  173. a.click();
  174. }
  175. //解除鎖定
  176. $.unblockUI();
  177. }
  178. http.send(params);
  179. return false;
  180. });
  181. //日期選擇器
  182. $('#createDateStart').datepicker({
  183. dateFormat: 'yy-mm-dd'
  184. });
  185. $('#createDateFinal').datepicker({
  186. dateFormat: 'yy-mm-dd'
  187. });
  188. setInterval(function () {
  189. $('[data-toggle="popover"]').popover();
  190. }, 1000);
  191. </script>
  192. @endsection