inviteList.blade.php 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. @extends('admin.layouts')
  2. @section('css')
  3. @endsection
  4. @section('title', '控制面板')
  5. @section('content')
  6. <!-- BEGIN CONTENT BODY -->
  7. <div class="page-content">
  8. <!-- BEGIN PAGE BREADCRUMB -->
  9. <ul class="page-breadcrumb breadcrumb">
  10. <li>
  11. <a href="{{url('admin/inviteList')}}">邀请码管理</a>
  12. <i class="fa fa-circle"></i>
  13. </li>
  14. </ul>
  15. <!-- END PAGE BREADCRUMB -->
  16. <!-- BEGIN PAGE BASE CONTENT -->
  17. <div class="row">
  18. <div class="col-md-4">
  19. <div class="tab-pane active" id="tab_0">
  20. <div class="portlet light bordered">
  21. <div class="portlet-title">
  22. <div class="caption">
  23. <span class="caption-subject font-dark bold uppercase">生成邀请码</span>
  24. </div>
  25. </div>
  26. <div class="portlet-body">
  27. <div class="alert alert-info">
  28. <i class="fa fa-warning"></i>
  29. 每次仅生成 <strong> 5 </strong> 个邀请码
  30. </div>
  31. <button type="submit" class="btn blue" onclick="makeInvite()"> 生 成 </button>
  32. </div>
  33. </div>
  34. </div>
  35. </div>
  36. <div class="col-md-8">
  37. <div class="tab-pane active">
  38. <div class="portlet light bordered">
  39. <div class="portlet-title">
  40. <div class="caption">
  41. <span class="caption-subject font-dark bold uppercase">邀请码列表</span>
  42. </div>
  43. <div class="actions">
  44. <div class="btn-group btn-group-devided" data-toggle="buttons">
  45. <button class="btn sbold blue" onclick="exportInvite()"> 批量导出
  46. <i class="fa fa-download"></i>
  47. </button>
  48. </div>
  49. </div>
  50. </div>
  51. <div class="portlet-body">
  52. <div class="table-scrollable table-scrollable-borderless">
  53. <table class="table table-hover table-light">
  54. <thead>
  55. <tr class="uppercase">
  56. <th> # </th>
  57. <th> 邀请码 </th>
  58. <th> 有效期 </th>
  59. <th> 生成者 </th>
  60. <th> 使用者 </th>
  61. <th> 状态 </th>
  62. </tr>
  63. </thead>
  64. <tbody>
  65. @if($inviteList->isEmpty())
  66. <tr>
  67. <td colspan="6" style="text-align: center;">暂无数据</td>
  68. </tr>
  69. @else
  70. @foreach($inviteList as $invite)
  71. <tr>
  72. <td> {{$invite->id}} </td>
  73. <td> <a href="{{url('register?aff='.Session::get('user')['id'].'&code='.$invite->code)}}" target="_blank">{{$invite->code}}</a> </td>
  74. <td> {{$invite->dateline}} </td>
  75. <td> {{empty($invite->generator) ? '【账号已删除】' : $invite->generator->username}} </td>
  76. <td> {{empty($invite->user) ? '' : $invite->user->username}} </td>
  77. <td>
  78. @if($invite->status == '0')
  79. <span class="label label-sm label-success"> 未使用 </span>
  80. @elseif($invite->status == '1')
  81. <span class="label label-sm label-danger"> 已使用 </span>
  82. @else
  83. <span class="label label-sm label-default"> 已过期 </span>
  84. @endif
  85. </td>
  86. </tr>
  87. @endforeach
  88. @endif
  89. </tbody>
  90. </table>
  91. </div>
  92. <div class="row">
  93. <div class="col-md-4 col-sm-4">
  94. <div class="dataTables_info" role="status" aria-live="polite">共 {{$inviteList->total()}} 个邀请码</div>
  95. </div>
  96. <div class="col-md-8 col-sm-8">
  97. <div class="dataTables_paginate paging_bootstrap_full_number pull-right">
  98. {{ $inviteList->links() }}
  99. </div>
  100. </div>
  101. </div>
  102. </div>
  103. </div>
  104. </div>
  105. </div>
  106. </div>
  107. <!-- END PAGE BASE CONTENT -->
  108. </div>
  109. <!-- END CONTENT BODY -->
  110. @endsection
  111. @section('script')
  112. <script src="/js/layer/layer.js" type="text/javascript"></script>
  113. <script type="text/javascript">
  114. // 生成邀请码
  115. function makeInvite() {
  116. var _token = '{{csrf_token()}}';
  117. $.ajax({
  118. type: "POST",
  119. url: "{{url('admin/makeInvite')}}",
  120. async: false,
  121. data: {_token:_token},
  122. dataType: 'json',
  123. success: function (ret) {
  124. layer.msg(ret.message, {time:1000}, function() {
  125. if (ret.status == 'success') {
  126. window.location.reload();
  127. }
  128. });
  129. }
  130. });
  131. return false;
  132. }
  133. // 导出邀请码
  134. function exportInvite() {
  135. window.location.href = '{{url('admin/exportInvite')}}';
  136. }
  137. </script>
  138. @endsection