PasterRecordController.php 4.9 KB

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