referral.blade.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  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"><i class="icon wb-star"></i>{{ trans('user.menu.promotion') }}</h1>
  8. </div>
  9. <div class="page-content container-fluid">
  10. <x-alert :message="trans('user.invite.promotion.base', ['traffic' => $referral_traffic]) .
  11. trans('user.invite.promotion.bonus.' . $referral_reward_mode, ['referral_percent' => $referral_percent])" />
  12. <div class="row">
  13. <div class="col-lg-5">
  14. <!-- 推广链接 -->
  15. <div class="card card-inverse card-shadow bg-white node">
  16. <div class="card-block p-30 row">
  17. <div class="col-auto" id="qrcode"></div>
  18. <div class="col text-break">
  19. <h4 class="card-title cyan-600"><i class="icon wb-link"></i>
  20. {{ trans('user.referral.link') }}
  21. </h4>
  22. <div class="input-group">
  23. <input class="form-control" id="mt-target-1" type="text" value="{{ $aff_link }}" />
  24. </div>
  25. <div class="btn-group float-right pt-4">
  26. <button class="btn btn-outline-primary" onclick="Download()">
  27. <i class="icon wb-download"></i> {{ trans('common.download') }}
  28. </button>
  29. <button class="btn btn-info mt-clipboard">
  30. <i class="icon wb-copy"></i> {{ trans('common.copy.attribute') }}
  31. </button>
  32. </div>
  33. </div>
  34. </div>
  35. </div>
  36. <!-- 邀请记录 -->
  37. <div class="card">
  38. <div class="card-block">
  39. <h4 class="card-title cyan-600"><i class="icon wb-emoticon"></i>
  40. {{ trans('user.invite.logs') }}
  41. </h4>
  42. <table class="text-md-center" data-toggle="table" data-mobile-responsive="true">
  43. <thead class="thead-default">
  44. <tr>
  45. <th data-cell-style="cellStyle"> #</th>
  46. <th> {{ trans('model.user.username') }} </th>
  47. <th> {{ trans('user.registered_at') }}</th>
  48. </tr>
  49. </thead>
  50. <tbody>
  51. @foreach ($referralUserList as $user)
  52. <tr>
  53. <td> {{ $loop->iteration }} </td>
  54. <td> {{ str_replace(mb_substr($user->username, 3, 4), '****', $user->username) }} </td>
  55. <td> {{ $user->created_at }} </td>
  56. </tr>
  57. @endforeach
  58. </tbody>
  59. </table>
  60. </div>
  61. <div class="card-footer card-footer-transparent d-flex justify-content-end">
  62. {{ $referralUserList->appends(Arr::except(Request::query(), 'user_page'))->links() }}
  63. </div>
  64. </div>
  65. </div>
  66. <div class="col-lg-7">
  67. <!-- 佣金记录 -->
  68. <div class="panel">
  69. <div class="panel-heading">
  70. <h3 class="panel-title cyan-600">
  71. <i class="icon wb-star-half"></i>{{ trans('user.referral.logs') }}
  72. </h3>
  73. <div class="panel-actions">
  74. <button class="btn btn-danger" type="submit" onclick="extractMoney()">
  75. {{ trans('user.withdraw') }}
  76. </button>
  77. </div>
  78. </div>
  79. <div class="panel-body">
  80. <table class="text-md-center" data-toggle="table" data-mobile-responsive="true">
  81. <thead class="thead-default">
  82. <tr>
  83. <th data-cell-style="cellStyle"> #</th>
  84. <th> {{ trans('model.aff.invitee') }} </th>
  85. <th> {{ trans('model.aff.amount') }} </th>
  86. <th> {{ trans('model.aff.commission') }} </th>
  87. <th> {{ trans('common.created_at') }} </th>
  88. <th> {{ trans('common.status.attribute') }} </th>
  89. </tr>
  90. </thead>
  91. <tbody>
  92. @foreach ($referralLogList as $referralLog)
  93. <tr>
  94. <td> {{ $loop->iteration + ($referralLogList->currentPage() - 1) * $referralLogList->perPage() }} </td>
  95. <td> {{ empty($referralLog->invitee) ? '【' . trans('common.deleted_item', ['attribute' => trans('common.account')]) . '】' : str_replace(mb_substr($referralLog->invitee->username, 3, 4), '****', $referralLog->invitee->username) }}
  96. </td>
  97. <td> {{ $referralLog->amount_tag }} </td>
  98. <td> {{ $referralLog->commission_tag }} </td>
  99. <td> {{ $referralLog->created_at }} </td>
  100. <td>{!! $referralLog->status_label !!}</td>
  101. </tr>
  102. @endforeach
  103. </tbody>
  104. </table>
  105. </div>
  106. <div class="panel-footer d-flex flex-column flex-xxl-row justify-content-between align-items-center">
  107. <div class="mb-3 mb-xxl-0">
  108. {{ trans('user.referral.total', ['amount' => $canAmount, 'total' => $referralLogList->total(), 'money' => $referral_money]) }}
  109. </div>
  110. {{ $referralLogList->appends(Arr::except(Request::query(), 'log_page'))->links() }}
  111. </div>
  112. </div>
  113. <!-- 提现记录 -->
  114. <div class="card">
  115. <div class="card-block">
  116. <h4 class="card-title cyan-600"><i class="icon wb-star-outline"></i> {{ trans('user.withdraw_logs') }}</h4>
  117. <table class="text-md-center" data-toggle="table" data-mobile-responsive="true">
  118. <thead class="thead-default">
  119. <tr>
  120. <th data-cell-style="cellStyle"> #</th>
  121. <th> {{ trans('user.withdraw_at') }} </th>
  122. <th> {{ trans('user.withdraw_commission') }} </th>
  123. <th> {{ trans('common.status.attribute') }} </th>
  124. </tr>
  125. </thead>
  126. <tbody>
  127. @foreach ($referralApplyList as $referralApply)
  128. <tr>
  129. <td> {{ $loop->iteration + ($referralApplyList->currentPage() - 1) * $referralApplyList->perPage() }} </td>
  130. <td> {{ $referralApply->created_at }} </td>
  131. <td> {{ $referralApply->amount_tag }} </td>
  132. <td>
  133. {!! $referralApply->status_label !!}
  134. </td>
  135. </tr>
  136. @endforeach
  137. </tbody>
  138. </table>
  139. </div>
  140. <div class="card-footer card-footer-transparent d-flex justify-content-end">
  141. {{ $referralApplyList->appends(Arr::except(Request::query(), 'apply_page'))->links() }}
  142. </div>
  143. </div>
  144. </div>
  145. </div>
  146. </div>
  147. @endsection
  148. @section('javascript')
  149. <script src="/assets/global/vendor/bootstrap-table/bootstrap-table.min.js"></script>
  150. <script src="/assets/global/vendor/bootstrap-table/extensions/mobile/bootstrap-table-mobile.min.js"></script>
  151. <script src="/assets/custom/easy.qrcode.min.js"></script>
  152. <script>
  153. // Options
  154. const options = {
  155. text: @json($aff_link),
  156. dotScale: 0.9,
  157. width: 144,
  158. height: 144,
  159. backgroundImage: "/assets/images/logo_original.png",
  160. backgroundImageAlpha: 1,
  161. PO_TL: "#007bff",
  162. PI_TL: "#17a2b8",
  163. PI_TR: "#fd7e14",
  164. PO_TR: "#28a745",
  165. PI_BL: "#ffc107",
  166. PO_BL: "#17a2b8",
  167. AO: "#fd7e14",
  168. AI: "#20c997",
  169. autoColor: true
  170. };
  171. // Create QRCode Object
  172. new QRCode(document.getElementById("qrcode"), options);
  173. function Download() {
  174. const canvas = document.getElementsByTagName("canvas")[0];
  175. canvas.toBlob((blob) => {
  176. let link = document.createElement("a");
  177. link.download = "qr.png";
  178. let reader = new FileReader();
  179. reader.readAsDataURL(blob);
  180. reader.onload = () => {
  181. link.href = reader.result;
  182. link.click();
  183. };
  184. }, "image/png");
  185. }
  186. $(document).on('click', '.mt-clipboard', function() {
  187. copyToClipboard($('#mt-target-1').val());
  188. });
  189. // 申请提现
  190. function extractMoney() {
  191. ajaxPost('{{ route('referral.withdraw') }}');
  192. }
  193. </script>
  194. @endsection