InfoManagement.blade.php 7.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  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="sDateStart">時間範圍(起)</label>
  27. <input type="text" class="form-control input-sm" id="sDateStart"
  28. maxlength="10">
  29. </div>
  30. <!-- 時間範圍 to -->
  31. <div class="form-group col-xs-12 col-sm-6 col-lg-6">
  32. <label for="sDateFinal">時間範圍(迄)</label>
  33. <input type="text" class="form-control input-sm" id="sDateFinal"
  34. maxlength="10">
  35. </div>
  36. <!-- Search -->
  37. <div class="form-group col-xs-12 col-sm-12 col-lg-12">
  38. <a class="btn btn-success btn-xs" onclick="javascript: custom_search();">
  39. <div class="glyphicon glyphicon-search"></div>
  40. </a>
  41. </div>
  42. </div>
  43. </div>
  44. </div>
  45. <hr class="search-hr"/>
  46. <!-- 列表段 -->
  47. <div class="row">
  48. <div class="col-lg-12">
  49. <table id="GridView1" class="table table-striped table-bordered" cellspacing="0">
  50. <thead>
  51. <tr>
  52. <th>ID</th>
  53. <th>圖片</th>
  54. <th>暱稱</th>
  55. <th>留言</th>
  56. <th>標籤</th>
  57. <th>姓名</th>
  58. <th>電話</th>
  59. <th>信箱</th>
  60. <th>地區</th>
  61. <th>時間</th>
  62. </tr>
  63. </thead>
  64. </table>
  65. </div>
  66. </div>
  67. </form>
  68. <!-- row -->
  69. </div>
  70. </div>
  71. </div>
  72. @endsection
  73. @section('extjs')
  74. <script>
  75. $(document).ready(function () {
  76. var table = $('#GridView1').dataTable({
  77. "scrollX": true,
  78. "processing": true,
  79. "serverSide": true,
  80. "ajax": "infoManagement/grid",
  81. "paging": true,
  82. "ordering": true,
  83. "info": true,
  84. "order": [[0, "desc"]],
  85. "stateSave": true,
  86. "pagingType": "full",
  87. "bFilter": true,
  88. "aoColumnDefs": [
  89. {
  90. 'bSortable': false,
  91. 'aTargets': [] //不想參加排序的欄位,可指定多個,逗號分隔
  92. },
  93. {
  94. 'aTargets': [3],
  95. render: $.fn.dataTable.render.ellipsis(20)
  96. }
  97. ]
  98. });
  99. // 從網址參觸發搜尋
  100. custom_search();
  101. $('#GridView1_filter').hide();
  102. });
  103. //客製化搜尋欄位
  104. function custom_search() {
  105. $('#GridView1').DataTable()
  106. .column(1).search($('#sDateStart').val() + "\n" + $('#sDateFinal').val())
  107. ;
  108. $('#GridView1').dataTable().fnDraw(true);
  109. }
  110. // 匯出報告
  111. $("#export").click(function () {
  112. //加個讀取中畫面
  113. $.blockUI({
  114. css: {
  115. border: 'none',
  116. padding: '15px',
  117. backgroundColor: '#000',
  118. '-webkit-border-radius': '10px',
  119. '-moz-border-radius': '10px',
  120. opacity: .5,
  121. color: '#FFF'
  122. }
  123. });
  124. var http = new XMLHttpRequest();
  125. http.responseType = 'blob';
  126. var header;
  127. var blob;
  128. var url = 'infoManagement/export';
  129. var params =
  130. ''
  131. + 'sDateStart=' + $('#sDateStart').val()
  132. + '&sDateFinal=' + $('#sDateFinal').val()
  133. ;
  134. http.open("POST", url, true);
  135. http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  136. http.onreadystatechange = function () {//Call a function when the state changes.
  137. if (http.readyState == 4 && http.status == 200) {
  138. var filename = "";
  139. var disposition = http.getResponseHeader('Content-Disposition');
  140. if (disposition && disposition.indexOf('attachment') !== -1) {
  141. var filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
  142. var matches = filenameRegex.exec(disposition);
  143. if (matches != null && matches[1]) filename = matches[1].replace(/['"]/g, '');
  144. }
  145. var type = http.getResponseHeader('Content-Type');
  146. blob = new Blob([http.response], {type: type, endings: 'native'});
  147. var URL = window.URL || window.webkitURL;
  148. var downloadUrl = URL.createObjectURL(blob);
  149. var a = document.createElement("a");
  150. a.href = downloadUrl;
  151. a.download = filename;
  152. document.body.appendChild(a);
  153. a.click();
  154. }
  155. //解除鎖定
  156. $.unblockUI();
  157. }
  158. http.send(params);
  159. return false;
  160. });
  161. //日期選擇器
  162. $('#sDateStart').datepicker({
  163. dateFormat: 'yy-mm-dd'
  164. }).datepicker("setDate");
  165. $('#sDateFinal').datepicker({
  166. dateFormat: 'yy-mm-dd'
  167. }).datepicker("setDate");
  168. setInterval(function () {
  169. // 註冊手機裝置模擬滑鼠 mouseover 看到的 tooltop 字樣
  170. $(".ellipsis").unbind("click");
  171. $(".ellipsis").bind("click", function () {
  172. var $title = $(this).find(".title");
  173. if (!$title.length) {
  174. $(this).append('<span class="title">' + $(this).attr("title") + '</span>');
  175. } else {
  176. $title.remove();
  177. }
  178. });
  179. }, 1000);
  180. </script>
  181. @endsection