海南旅游SAAS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

141 lines
4.6 KiB

4 years ago
4 years ago
4 years ago
  1. <?php
  2. namespace App\AdminGuide\Controllers;
  3. use App\AdminGuide\Repositories\Withdrawal;
  4. use App\Traits\DemandTraits;
  5. use App\Traits\WithdrawalTraits;
  6. use Dcat\Admin\Admin;
  7. use Dcat\Admin\Form;
  8. use Dcat\Admin\Grid;
  9. use Dcat\Admin\Layout\Column;
  10. use Dcat\Admin\Layout\Content;
  11. use Dcat\Admin\Layout\Row;
  12. use Dcat\Admin\Http\Controllers\AdminController;
  13. use Dcat\Admin\Widgets\Card;
  14. class WalletController extends AdminController
  15. {
  16. public function index(Content $content)
  17. {
  18. Admin::style('.app-content > .content-wrapper > .content-header{display: none}');
  19. return $content
  20. ->body(
  21. <<<HTML
  22. <div class="content-header">
  23. <section class="content-header breadcrumbs-top">
  24. <h1 class=" float-left">
  25. <span class="text-capitalize">我的钱包</span>
  26. </h1>
  27. <div class="clearfix"></div>
  28. </section>
  29. </div>
  30. HTML
  31. )
  32. ->body($this->build())
  33. ->body(function (Row $row) {
  34. $row->column(4, function (Column $column){
  35. $column->row(Card::make('当前余额', function () {
  36. $balance = Admin::user()->balance ?? 0;
  37. return <<<HTML
  38. <div class="d-flex justify-content-between align-items-center mt-1" style="margin-bottom: 2px">
  39. <h2 class="ml-1 font-large-1 text-primary">$balance</h2>
  40. </div>
  41. HTML;
  42. }));
  43. });
  44. $row->column(4, function (Column $column){
  45. $column->row(Card::make('已提现', function () {
  46. $price = \App\Models\Withdrawal::query()
  47. ->where([
  48. 'user_id' => Admin::user()->id,
  49. 'user_type' => DemandTraits::$col[2],
  50. 'status' => WithdrawalTraits::$state[3]
  51. ])
  52. ->sum('price');
  53. return <<<HTML
  54. <div class="d-flex justify-content-between align-items-center mt-1" style="margin-bottom: 2px">
  55. <h2 class="ml-1 font-large-1 text-primary">$price</h2>
  56. </div>
  57. HTML;
  58. }));
  59. });
  60. $row->column(4, function (Column $column) {
  61. $column->row(Card::make('提现中', function () {
  62. $price = \App\Models\Withdrawal::query()
  63. ->where([
  64. 'user_id' => Admin::user()->id,
  65. 'user_type' => DemandTraits::$col[2],
  66. 'status' => WithdrawalTraits::$state[0]
  67. ])
  68. ->sum('price');
  69. return <<<HTML
  70. <div class="d-flex justify-content-between align-items-center mt-1" style="margin-bottom: 2px">
  71. <h2 class="ml-1 font-large-1 text-primary">$price</h2>
  72. </div>
  73. HTML;
  74. }));
  75. });
  76. })
  77. ->body(
  78. Grid::make(new Withdrawal(), function (Grid $grid) {
  79. $grid->model()->where(['user_id' => Admin::user()->id,'user_type' => DemandTraits::$col[2]]);
  80. $grid->disableActions();
  81. //$grid->disable();
  82. $grid->column('id')->sortable();
  83. $grid->column('price','提现金额');
  84. $grid->column('pay_type','提现方式')->using(WithdrawalTraits::$userTypeText);
  85. //$grid->column('pay_id');
  86. $grid->column('status','状态')->using(WithdrawalTraits::$stateText)->dot([
  87. 1 => Admin::color()->yellow(),
  88. 2 => 'danger',
  89. 3 => 'success',
  90. 4 => Admin::color()->info(),
  91. ]);
  92. $grid->column('created_at');
  93. $grid->column('updated_at')->sortable();
  94. $grid->disableCreateButton();
  95. $grid->disableRowSelector();
  96. $grid->filter(function (Grid\Filter $filter) {
  97. $filter->equal('id')->width(3);
  98. $filter->equal('status','状态')->select(WithdrawalTraits::$stateTextSelect)->width(2);
  99. });
  100. })
  101. );
  102. }
  103. protected function build()
  104. {
  105. Form::dialog('支付宝提现')
  106. ->click('.alipay-create-form') // 绑定点击按钮
  107. ->url('/withdrawak_alipay/create') // 表单页面链接,此参数会被按钮中的 “data-url” 属性替换。。
  108. ->width('700px') // 指定弹窗宽度,可填写百分比,默认 720px
  109. ->height('650px') // 指定弹窗高度,可填写百分比,默认 690px
  110. ->success('Dcat.reload()'); // 新增成功后刷新页面
  111. Form::dialog('银行卡提现')
  112. ->click('.bank-create-form') // 绑定点击按钮
  113. ->url('/withdrawak_bank/create') // 表单页面链接,此参数会被按钮中的 “data-url” 属性替换。。
  114. ->width('700px') // 指定弹窗宽度,可填写百分比,默认 720px
  115. ->height('650px') // 指定弹窗高度,可填写百分比,默认 690px
  116. ->success('Dcat.reload()'); // 新增成功后刷新页面
  117. return "
  118. <div style='padding:30px 0'>
  119. <span class='btn btn-success alipay-create-form'> 支付宝提现 </span> &nbsp;&nbsp;
  120. <span class='btn btn-success bank-create-form'> 银行卡提现 </span> &nbsp;&nbsp;
  121. </div>";
  122. }
  123. }