海南旅游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.

79 lines
2.6 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Admin\Lazys\AlipayLazys;
  4. use App\Admin\Lazys\BankLazys;
  5. use App\Admin\Repositories\Withdrawal;
  6. use App\Traits\DemandTraits;
  7. use App\Traits\WithdrawalTraits;
  8. use Dcat\Admin\Admin;
  9. use Dcat\Admin\Grid;
  10. use Dcat\Admin\Http\Controllers\AdminController;
  11. class WithdrawalController extends AdminController
  12. {
  13. /**
  14. * Make a grid builder.
  15. *
  16. * @return Grid
  17. */
  18. protected function grid()
  19. {
  20. return Grid::make(new Withdrawal(['user','pay']), function (Grid $grid) {
  21. $grid->disableActions();
  22. $grid->model()->orderBy('id', 'desc');
  23. $grid->column('id')->sortable();
  24. $grid->column('user_type')->using(DemandTraits::$polymorphic);
  25. $grid->column('user.company_name','商家名称');
  26. $grid->column('price','提现金额');
  27. $grid->column('pay_type','提现方式')->using(WithdrawalTraits::$userTypeText);
  28. $grid->column('detail','提现信息')
  29. ->display('查看')
  30. ->if(fn() => $this->pay_type == WithdrawalTraits::$userType[0])
  31. ->then(function ($column) {
  32. $column->modal('',function () {
  33. return AlipayLazys::make();
  34. });
  35. })
  36. ->if(fn() => $this->pay_type == WithdrawalTraits::$userType[1])
  37. ->then(function ($column) {
  38. $column->modal('',function () {
  39. return BankLazys::make();
  40. });
  41. });
  42. $grid->column('status','状态')
  43. ->if(fn() => $this->status == WithdrawalTraits::$state[0])
  44. ->display('')
  45. ->then(function ($column) {
  46. $column->append((new \App\Admin\Extensions\Grid\Withdrawal(null, 1))->setKey($this->id))->append('&nbsp;');
  47. $column->append((new \App\Admin\Extensions\Grid\Withdrawal(null, 2))->setKey($this->id));
  48. })
  49. ->if(fn() => $this->status == WithdrawalTraits::$state[2])
  50. ->display('')
  51. ->then(function ($column) {
  52. $column->append((new \App\Admin\Extensions\Grid\Withdrawal(null, 3))->setKey($this->id))->append('&nbsp;');
  53. })
  54. ->if(fn() => $this->status == WithdrawalTraits::$state[1] || $this->status == WithdrawalTraits::$state[3])
  55. ->then(function ($column) {
  56. $column->using(WithdrawalTraits::$stateText)->dot([
  57. 1 => Admin::color()->yellow(),
  58. 2 => 'danger',
  59. 3 => Admin::color()->info(),
  60. 4 => 'success',
  61. ]);
  62. });
  63. $grid->column('created_at');
  64. $grid->column('updated_at')->sortable();
  65. $grid->disableCreateButton();
  66. $grid->disableRowSelector();
  67. $grid->filter(function (Grid\Filter $filter) {
  68. $filter->equal('id')->width(3);
  69. $filter->equal('status','状态')->select(WithdrawalTraits::$stateTextSelect)->width(2);
  70. });
  71. });
  72. }
  73. }