SignupManagement.blade.php 6.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  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. <form id='searchForm' action="{{ route('signup.export') }}" method="POST">
  8. @csrf
  9. <!-- 功能按鈕(新增/批量處理等等) -->
  10. <div class="row" style="margin-bottom: 5px;">
  11. <div class="col-lg-12">
  12. <ol class="headermenu">
  13. <li>
  14. <button class="btn btn-darkblue btn-xs" id="export"><strong>匯出</strong></button>
  15. </li>
  16. </ol>
  17. </div>
  18. </div>
  19. <!-- 搜尋段 -->
  20. <div class="panel panel-default">
  21. <div class="panel-heading _panel-heading" data-bs-toggle="collapse" data-bs-target="#search_content">
  22. <h3 class="panel-title m-0">報名資料</h3>
  23. </div>
  24. <div id="search_content" class="collapse show">
  25. <div class="panel-body row">
  26. <!-- 關鍵字 -->
  27. <div class="form-group _form-group col-sm-12 col-md-6 col-xl-3">
  28. <label for="keyword">關鍵字(可搜尋欄位:first name, last name, company name, company email, backup email, phone number)</label>
  29. <input type="text" class="form-control input-sm" id="keyword" name="keyword" maxlength="50">
  30. </div>
  31. <!-- 起 -->
  32. <div class="form-group _form-group col-sm-12 col-md-6 col-xl-2">
  33. <label for="createDateStart">建立時間(起)</label>
  34. <input type="text" class="form-control input-sm" id="createDateStart"
  35. maxlength="10">
  36. </div>
  37. <!-- 訖 -->
  38. <div class="form-group _form-group col-sm-12 col-md-6 col-xl-2">
  39. <label for="createDateFinal">建立時間(迄)</label>
  40. <input type="text" class="form-control input-sm" id="createDateFinal"
  41. maxlength="10">
  42. </div>
  43. <!-- Search -->
  44. <div class="form-group _form-group col-sm-12 col-md-12 col-xl-12">
  45. <a class="btn btn-success btn-sm _fz-12" onclick="javascript: custom_search();">
  46. <div class="_glyphicon _glyphicon-search"></div>
  47. </a>
  48. </div>
  49. </div>
  50. </div>
  51. </div>
  52. <hr class="search-hr"/>
  53. <!-- 列表段 -->
  54. <div class="row">
  55. <div class="col-lg-12">
  56. <table id="GridView1" class="table table-striped table-bordered" cellspacing="0"
  57. width="100%">
  58. <thead>
  59. <tr>
  60. <th>序號</th>
  61. <th>first name</th>
  62. <th>last name</th>
  63. <th>company name</th>
  64. <th>country</th>
  65. <th>track no</th>
  66. <th>session(TW only)</th>
  67. <th>lunch(TW only)</th>
  68. <th>報名時間</th>
  69. </tr>
  70. </thead>
  71. </table>
  72. </div>
  73. </div>
  74. </form>
  75. <!-- row -->
  76. </div>
  77. </div>
  78. </div>
  79. @endsection
  80. @section('extjs')
  81. <script>
  82. $(document).ready(function () {
  83. var table = $('#GridView1').dataTable({
  84. "scrollX": true,
  85. "processing": true,
  86. "serverSide": true,
  87. "ajax": "signup/grid",
  88. "paging": true,
  89. "ordering": true,
  90. "info": true,
  91. "order": [[0, "desc"]],
  92. "stateSave": true,
  93. "pagingType": "full",
  94. "bFilter": true,
  95. "aoColumnDefs": [{
  96. 'bSortable': false,
  97. // 'aTargets': [0] //不想參加排序的欄位,可指定多個,逗號分隔
  98. }],
  99. "fnDrawCallback":function( oSettings ) {
  100. table.find('.downloadBtn').on('click',function(){
  101. let urlToDownload = $(this).data('for-download');
  102. let downloadFilename = urlToDownload.split('/');
  103. forceDownload($(this).data('for-download'),downloadFilename[downloadFilename.length-1]);
  104. });
  105. }
  106. });
  107. // 從網址參觸發搜尋
  108. custom_search()
  109. $('#GridView1_filter').hide();
  110. });
  111. //客製化搜尋欄位
  112. function custom_search() {
  113. $('#GridView1').DataTable()
  114. .column(1).search($('#keyword').val())
  115. .column(2).search($('#createDateStart').val())
  116. .column(3).search($('#createDateFinal').val())
  117. ;
  118. $('#GridView1').dataTable().fnDraw(true);
  119. }
  120. function forceDownload(url, fileName){
  121. var xhr = new XMLHttpRequest();
  122. xhr.withCredentials = true;
  123. xhr.open("GET", url, true);
  124. xhr.responseType = "blob";
  125. xhr.onload = function(){
  126. var urlCreator = window.URL || window.webkitURL;
  127. var imageUrl = urlCreator.createObjectURL(this.response);
  128. var tag = document.createElement('a');
  129. tag.href = imageUrl;
  130. tag.download = fileName;
  131. document.body.appendChild(tag);
  132. tag.click();
  133. document.body.removeChild(tag);
  134. }
  135. xhr.send();
  136. }
  137. // 匯出報告
  138. $("#export").click(function () {
  139. $('#searchForm').submit();
  140. });
  141. </script>
  142. @endsection