TPlayerManagement.blade.php 9.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  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. <button class="btn btn-darkblue btn-xs" id="jggclear"><strong>清空玩家九宮格</strong></button>
  14. <button class="btn btn-darkblue btn-xs" id="gpclear"><strong>清空玩家吉點</strong></button>
  15. </li>
  16. </ol>
  17. </div>
  18. </div>
  19. <!-- 搜尋段 -->
  20. <div class="panel panel-default">
  21. <div class="panel-heading" data-toggle="collapse" data-target="#search_content">
  22. <h3 class="panel-title">玩家監控</h3>
  23. </div>
  24. <div id="search_content" class="collapse in">
  25. <div class="panel-body">
  26. <!-- 玩家 LINE ID -->
  27. <div class="form-group col-xs-12 col-sm-12 col-lg-12">
  28. <label for="lineId">玩家 LINE ID</label>
  29. <input type="text" class="form-control input-sm" id="lineId" maxlength="50">
  30. </div>
  31. {{-- <!-- 玩家名稱 -->--}}
  32. {{-- <div class="form-group col-xs-12 col-sm-6 col-lg-6">--}}
  33. {{-- <label for="lineUserId">玩家名稱</label>--}}
  34. {{-- <input type="text" class="form-control input-sm" id="userName" maxlength="100">--}}
  35. {{-- </div>--}}
  36. <!-- 建立時間範圍 from -->
  37. <div class="form-group col-xs-12 col-sm-6 col-lg-6">
  38. <label for="createDateStart">建立時間範圍(起)</label>
  39. <input type="text" class="form-control input-sm" id="createDateStart"
  40. maxlength="10">
  41. </div>
  42. <!-- 建立時間範圍 to -->
  43. <div class="form-group col-xs-12 col-sm-6 col-lg-6">
  44. <label for="createDateFinal">建立時間範圍(迄)</label>
  45. <input type="text" class="form-control input-sm" id="createDateFinal"
  46. maxlength="10">
  47. </div>
  48. <!-- Search -->
  49. <div class="form-group col-xs-12 col-sm-12 col-lg-12">
  50. <a class="btn btn-success btn-xs" onclick="javascript: custom_search();">
  51. <div class="glyphicon glyphicon-search"></div>
  52. </a>
  53. </div>
  54. </div>
  55. </div>
  56. </div>
  57. <hr class="search-hr"/>
  58. <!-- 列表段 -->
  59. <div class="row">
  60. <div class="col-lg-12">
  61. <table id="GridView1" class="table table-striped table-bordered" cellspacing="0">
  62. <thead>
  63. <tr>
  64. <th>ID</th>
  65. <th>玩家 LINE ID</th>
  66. {{-- <th>玩家名稱</th>--}}
  67. {{-- <th>玩家縮圖</th>--}}
  68. <th>當前吉點</th>
  69. <th>九宮格狀態</th>
  70. <th>加入時間</th>
  71. <th>修改時間</th>
  72. </tr>
  73. </thead>
  74. </table>
  75. </div>
  76. </div>
  77. </form>
  78. <!-- row -->
  79. </div>
  80. </div>
  81. </div>
  82. @endsection
  83. @section('extjs')
  84. <script>
  85. $(document).ready(function () {
  86. var table = $('#GridView1').dataTable({
  87. "scrollX": true,
  88. "processing": true,
  89. "serverSide": true,
  90. "ajax": "tplayerManagement/grid",
  91. "paging": true,
  92. "ordering": true,
  93. "info": true,
  94. "order": [[0, "desc"]],
  95. "stateSave": true,
  96. "pagingType": "full",
  97. "bFilter": true,
  98. "aoColumnDefs": [{
  99. 'bSortable': false,
  100. 'aTargets': [] //不想參加排序的欄位,可指定多個,逗號分隔
  101. }]
  102. });
  103. // 從網址參觸發搜尋
  104. custom_search();
  105. $('#GridView1_filter').hide();
  106. });
  107. //客製化搜尋欄位
  108. function custom_search() {
  109. $('#GridView1').DataTable()
  110. .column(1).search($('#lineId').val())
  111. // .column(2).search($('#userName').val())
  112. .column(2).search($('#createDateStart').val() + "\n" + $('#createDateFinal').val())
  113. ;
  114. $('#GridView1').dataTable().fnDraw(true);
  115. }
  116. // 匯出報告
  117. $("#export").click(function () {
  118. //加個讀取中畫面
  119. $.blockUI({
  120. css: {
  121. border: 'none',
  122. padding: '15px',
  123. backgroundColor: '#000',
  124. '-webkit-border-radius': '10px',
  125. '-moz-border-radius': '10px',
  126. opacity: .5,
  127. color: '#FFF'
  128. }
  129. });
  130. var http = new XMLHttpRequest();
  131. http.responseType = 'blob';
  132. var header;
  133. var blob;
  134. var url = 'tplayerManagement/export';
  135. var params =
  136. ''
  137. + 'lineId=' + $('#lineId').val()
  138. // + '&userName=' + $('#userName').val()
  139. + '&createDateStart=' + $('#createDateStart').val()
  140. + '&createDateFinal=' + $('#createDateFinal').val()
  141. ;
  142. http.open("POST", url, true);
  143. http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  144. http.onreadystatechange = function () {//Call a function when the state changes.
  145. if (http.readyState == 4 && http.status == 200) {
  146. var filename = "";
  147. var disposition = http.getResponseHeader('Content-Disposition');
  148. if (disposition && disposition.indexOf('attachment') !== -1) {
  149. var filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
  150. var matches = filenameRegex.exec(disposition);
  151. if (matches != null && matches[1]) filename = matches[1].replace(/['"]/g, '');
  152. }
  153. var type = http.getResponseHeader('Content-Type');
  154. blob = new Blob([http.response], {type: type, endings: 'native'});
  155. var URL = window.URL || window.webkitURL;
  156. var downloadUrl = URL.createObjectURL(blob);
  157. var a = document.createElement("a");
  158. a.href = downloadUrl;
  159. a.download = filename;
  160. document.body.appendChild(a);
  161. a.click();
  162. }
  163. //解除鎖定
  164. $.unblockUI();
  165. }
  166. http.send(params);
  167. return false;
  168. });
  169. // 清空玩家吉點
  170. $("#jggclear").click(function () {
  171. var ask = confirm("此動作不可回復,確定嗎?");
  172. if (ask) {
  173. $.ajax({
  174. url: 'tplayerManagement/jggclear',
  175. method: 'GET',
  176. success: function (response) {
  177. alert('清除成功');
  178. },
  179. error: function () {
  180. alert('清除成功,請稍後再試');
  181. }
  182. });
  183. }
  184. $('#GridView1').dataTable().fnDraw(true);
  185. return false;
  186. });
  187. // 清空玩家吉點
  188. $("#gpclear").click(function () {
  189. var ask = confirm("此動作不可回復,確定嗎?");
  190. if (ask) {
  191. $.ajax({
  192. url: 'tplayerManagement/gpclear',
  193. method: 'GET',
  194. success: function (response) {
  195. alert('清除成功');
  196. },
  197. error: function () {
  198. alert('清除成功,請稍後再試');
  199. }
  200. });
  201. }
  202. $('#GridView1').dataTable().fnDraw(true);
  203. return false;
  204. });
  205. //日期選擇器
  206. $('#createDateStart').datepicker({
  207. dateFormat: 'yy-mm-dd'
  208. });
  209. $('#createDateFinal').datepicker({
  210. dateFormat: 'yy-mm-dd'
  211. });
  212. setInterval(function () {
  213. $('[data-toggle="popover"]').popover();
  214. }, 1000);
  215. </script>
  216. @endsection