CouponRecordController.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Admin\Repositories\CouponRecord;
  4. use Dcat\Admin\Form;
  5. use Dcat\Admin\Grid;
  6. use Dcat\Admin\Show;
  7. use Dcat\Admin\Http\Controllers\AdminController;
  8. class CouponRecordController extends AdminController
  9. {
  10. /**
  11. * Make a grid builder.
  12. *
  13. * @return Grid
  14. */
  15. protected function grid()
  16. {
  17. return Grid::make(new CouponRecord(['account']), function (Grid $grid) {
  18. $grid->column('id')->sortable();
  19. $grid->column('account.uid','用户UID');
  20. $grid->column('account.avatar','用户头像')->image(config("filesystems.disks.cosv5.url"), 60, 60);
  21. $grid->column('account.username','用户名称')->display(function($v) {
  22. return "<a href='/admin/accounts?id={$this->account_id}' target='_blank'>{$v}</a>";
  23. });
  24. $grid->column('add_cnt');
  25. $grid->column('type')->using(['','消耗','弹幕增加','打赏增加','兑换礼品增加','兑换礼包增加','新人礼包'])->label();
  26. $grid->column('record','记录明细')->display(function($v) {
  27. if($this->type == 1) {
  28. return '开盒记录';
  29. } elseif($this->type == 4) {
  30. return '兑换记录';
  31. }
  32. })->modal(function ($modal) {
  33. if($this->type == 1) {
  34. $modal->title('开礼盒记录');
  35. // 允许在闭包内返回异步加载类的实例
  36. if($this->box_record_id) {
  37. return \App\Admin\Renderable\BoxRecordTable::make(['id' => $this->box_record_id]);
  38. }
  39. return false;
  40. } elseif($this->type == 4) {
  41. $modal->title('礼品兑换记录');
  42. // 允许在闭包内返回异步加载类的实例
  43. if($this->gift_record_id) {
  44. return \App\Admin\Renderable\GiftRecordTable::make(['id' => $this->gift_record_id]);
  45. }
  46. return false;
  47. }
  48. });
  49. // $grid->column('gift_record_id')->display('查看')->modal(function ($modal) {
  50. // $modal->title('兑换记录');
  51. // // 允许在闭包内返回异步加载类的实例
  52. // if($this->gift_record_id) {
  53. // return \App\Admin\Renderable\GiftRecordTable::make(['id' => $this->gift_record_id]);
  54. // }
  55. // return false;
  56. // });
  57. $grid->column('pack_record_id');
  58. $grid->column('day');
  59. $grid->column('created_at');
  60. // $grid->column('updated_at')->sortable();
  61. $grid->model()->orderByDesc("id");
  62. $grid->disableActions();
  63. $grid->disableBatchDelete();
  64. $grid->disableRefreshButton();
  65. $grid->disableCreateButton();
  66. $grid->disableRowSelector();
  67. // $grid->simplePaginate();
  68. $grid->paginate(15);
  69. $grid->addTableClass(['table-text-center']);
  70. // $grid->disableToolbar();
  71. $grid->filter(function ($filter) {
  72. // 展开过滤器
  73. $filter->panel();
  74. $filter->expand();
  75. // $filter->equal('attire.cate', '类别')->select($this->cates)->width(2); // 设置编辑数据显示
  76. $filter->equal('account_id','用户名')->select(\App\Models\Account::pluck('username','id'))->width(3);
  77. $filter->equal('type')->select([1=>'消耗',2=>'弹幕增加',3=>'打赏增加',4=>'兑换礼品增加',5=>'兑换礼包增加',6=>'新人礼包'])->width(3); // 设置编辑数据显示
  78. });
  79. //
  80. $grid->tools(function (Grid\Tools $tools) {
  81. $tools->append(new \App\Admin\Actions\Grid\CouponSetAction());
  82. });
  83. });
  84. }
  85. /**
  86. * Make a show builder.
  87. *
  88. * @param mixed $id
  89. *
  90. * @return Show
  91. */
  92. protected function detail($id)
  93. {
  94. return Show::make($id, new CouponRecord(), function (Show $show) {
  95. $show->field('id');
  96. $show->field('account_id');
  97. $show->field('add_cnt');
  98. $show->field('type');
  99. $show->field('gift_box_id');
  100. $show->field('gift_pack_id');
  101. $show->field('day');
  102. $show->field('created_at');
  103. $show->field('updated_at');
  104. });
  105. }
  106. /**
  107. * Make a form builder.
  108. *
  109. * @return Form
  110. */
  111. protected function form()
  112. {
  113. return Form::make(new CouponRecord(), function (Form $form) {
  114. $form->display('id');
  115. $form->text('account_id');
  116. $form->text('add_cnt');
  117. $form->text('type');
  118. $form->text('gift_box_id');
  119. $form->text('gift_pack_id');
  120. $form->text('day');
  121. $form->display('created_at');
  122. $form->display('updated_at');
  123. });
  124. }
  125. }