invite.blade.php 4.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. @extends('user.layouts')
  2. @section('css')
  3. <link href="/assets/global/vendor/bootstrap-table/bootstrap-table.min.css" rel="stylesheet">
  4. @endsection
  5. @section('content')
  6. <div class="page-header">
  7. <h1 class="page-title cyan-600">
  8. <i class="icon wb-extension"></i>{{ trans('user.menu.invites') }}
  9. </h1>
  10. </div>
  11. <div class="page-content container-fluid">
  12. <x-alert type="info" :message="trans('user.invite.promotion.base', ['traffic' => $referral_traffic]) .
  13. trans('user.invite.promotion.bonus.' . $referral_reward_mode, ['referral_percent' => $referral_percent])" />
  14. <div class="row">
  15. <div class="col-xxl-3 col-lg-4">
  16. <div class="card">
  17. <div class="card-block">
  18. <h4 class="card-title cyan-600">
  19. <i class="icon wb-plus"></i> {{ trans('common.generate_item', ['attribute' => trans('user.invite.attribute')]) }}
  20. </h4>
  21. <x-alert type="info" :message="trans('user.invite.tips', ['num' => $num, 'days' => sysConfig('user_invite_days')])" />
  22. <button class="btn btn-primary btn-animate btn-animate-side" type="button" onclick="makeInvite()"
  23. @if (!$num) disabled @endif>
  24. <i class="icon wb-plus"></i> {{ trans('common.generate') }}
  25. </button>
  26. </div>
  27. </div>
  28. </div>
  29. <div class="col-xxl-9 col-lg-8">
  30. <div class="card">
  31. <div class="card-block">
  32. <h4 class="card-title cyan-600">
  33. <i class="icon wb-extension"></i>{{ trans('user.invite.attribute') }}
  34. </h4>
  35. <table class="text-md-center" data-toggle="table" data-mobile-responsive="true">
  36. <thead class="thead-default">
  37. <tr>
  38. <th data-cell-style="cellStyle"> #</th>
  39. <th> {{ trans('user.invite.attribute') }} </th>
  40. <th> {{ trans('common.available_date') }} </th>
  41. <th> {{ trans('common.status.attribute') }} </th>
  42. <th> {{ trans('user.invitee') }} </th>
  43. </tr>
  44. </thead>
  45. <tbody>
  46. @foreach ($inviteList as $invite)
  47. <tr>
  48. <td> {{ $loop->iteration + ($inviteList->currentPage() - 1) * $inviteList->perPage() }} </td>
  49. <td>
  50. <a class="mt-clipboard" href="javascript:(0)">{{ $invite->code }}</a>
  51. </td>
  52. <td> {{ $invite->dateline }} </td>
  53. <td>
  54. {!! $invite->status_label !!}
  55. </td>
  56. <td>
  57. @if ($invite->status === 1)
  58. {{ $invite->invitee->username ?? '【' . trans('common.deleted_item', ['attribute' => trans('common.account')]) . '】' }}
  59. @endif
  60. </td>
  61. </tr>
  62. @endforeach
  63. </tbody>
  64. </table>
  65. </div>
  66. <div class="card-footer card-footer-transparent d-flex flex-column flex-lg-row justify-content-between align-items-center">
  67. <div class="mb-5 mb-lg-0">
  68. {!! trans('user.invite.counts', ['num' => $inviteList->total()]) !!}
  69. </div>
  70. {{ $inviteList->links() }}
  71. </div>
  72. </div>
  73. </div>
  74. </div>
  75. </div>
  76. @endsection
  77. @section('javascript')
  78. <script src="/assets/global/vendor/bootstrap-table/bootstrap-table.min.js"></script>
  79. <script src="/assets/global/vendor/bootstrap-table/extensions/mobile/bootstrap-table-mobile.min.js"></script>
  80. <script>
  81. // 生成邀请码
  82. function makeInvite() {
  83. ajaxPost('{{ route('invite.store') }}');
  84. }
  85. $(document).on('click', '.mt-clipboard', function(e) {
  86. e.preventDefault();
  87. copyToClipboard(jsRoute('{{ route('register', ['code' => 'PLACEHOLDER']) }}', $(this).text()));
  88. });
  89. </script>
  90. @endsection