SignupManagement.blade.php 7.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  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. <!-- trackNo -->
  32. <div class="form-group _form-group col-sm-12 col-md-6 col-xl-3">
  33. <label for="trackNo">trackNo(可搜尋範圍:TPE, HSC, KR, JP)</label>
  34. <input type="text" class="form-control input-sm" id="trackNo" name="trackNo" maxlength="50">
  35. </div>
  36. <!-- 起 -->
  37. <div class="form-group _form-group col-sm-12 col-md-6 col-xl-2">
  38. <label for="createDateStart">建立時間(起)(eg. 2022-09-14)</label>
  39. <input type="text" class="form-control input-sm" id="createDateStart" name="createDateStart"
  40. maxlength="10">
  41. </div>
  42. <!-- 訖 -->
  43. <div class="form-group _form-group col-sm-12 col-md-6 col-xl-2">
  44. <label for="createDateFinal">建立時間(迄)(eg. 2022-09-14)</label>
  45. <input type="text" class="form-control input-sm" id="createDateFinal" name="createDateFinal"
  46. maxlength="10">
  47. </div>
  48. <!-- Search -->
  49. <div class="form-group _form-group col-sm-12 col-md-12 col-xl-12">
  50. <a class="btn btn-success btn-sm _fz-12" 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. width="100%">
  63. <thead>
  64. <tr>
  65. <th>序號</th>
  66. <th>first name</th>
  67. <th>last name</th>
  68. <th>company name</th>
  69. <th>country</th>
  70. <th>track no</th>
  71. <th>session(TW only)</th>
  72. <th>lunch(TW only)</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": "signup/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. 'bSortable': false,
  102. // 'aTargets': [0] //不想參加排序的欄位,可指定多個,逗號分隔
  103. }],
  104. "fnDrawCallback":function( oSettings ) {
  105. table.find('.downloadBtn').on('click',function(){
  106. let urlToDownload = $(this).data('for-download');
  107. let downloadFilename = urlToDownload.split('/');
  108. forceDownload($(this).data('for-download'),downloadFilename[downloadFilename.length-1]);
  109. });
  110. }
  111. });
  112. // 從網址參觸發搜尋
  113. custom_search()
  114. $('#GridView1_filter').hide();
  115. });
  116. //客製化搜尋欄位
  117. function custom_search() {
  118. $('#GridView1').DataTable()
  119. .column(1).search($('#keyword').val())
  120. .column(2).search($('#trackNo').val())
  121. .column(3).search($('#createDateStart').val())
  122. .column(4).search($('#createDateFinal').val())
  123. ;
  124. $('#GridView1').dataTable().fnDraw(true);
  125. }
  126. function forceDownload(url, fileName){
  127. var xhr = new XMLHttpRequest();
  128. xhr.withCredentials = true;
  129. xhr.open("GET", url, true);
  130. xhr.responseType = "blob";
  131. xhr.onload = function(){
  132. var urlCreator = window.URL || window.webkitURL;
  133. var imageUrl = urlCreator.createObjectURL(this.response);
  134. var tag = document.createElement('a');
  135. tag.href = imageUrl;
  136. tag.download = fileName;
  137. document.body.appendChild(tag);
  138. tag.click();
  139. document.body.removeChild(tag);
  140. }
  141. xhr.send();
  142. }
  143. // 匯出報告
  144. $("#export").click(function () {
  145. $('input[name=createDateStart]').val($('#createDateStart').val());
  146. $('input[name=createDateFinal]').val($('#createDateFinal').val());
  147. $('#searchForm').submit();
  148. });
  149. </script>
  150. @endsection