PackRecordTable.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace App\Admin\Renderable;
  3. use Dcat\Admin\Grid;
  4. use Dcat\Admin\Grid\LazyRenderable;
  5. use App\Admin\Repositories\PackRecord;
  6. class PackRecordTable extends LazyRenderable
  7. {
  8. public function grid(): Grid
  9. {
  10. return Grid::make(new PackRecord(['account','giftPack']), function (Grid $grid) {
  11. //
  12. $grid->column('account.uid','用户UID');
  13. $grid->column('account.avatar','用户头像')->image(config("filesystems.disks.cosv5.url"), 60, 60);
  14. $grid->column('account.username','用户名称')->display(function($v) {
  15. return "<a href='/admin/accounts?id={$this->account_id}' target='_blank'>{$v}</a>";
  16. });
  17. $grid->column('giftPack.name', '礼包名称');
  18. $grid->column('cost_coupons','花费礼劵');
  19. $grid->column('created_at','兑换时间');
  20. $grid->withBorder();
  21. $grid->model()->orderByDesc("id");
  22. $grid->paginate(10);
  23. $grid->disableActions();
  24. $grid->rowSelector()->titleColumn('name');
  25. //
  26. $grid->filter(function (Grid\Filter $filter) {
  27. // 展开过滤器
  28. $filter->panel();
  29. $filter->expand();
  30. $filter->withoutInputBorder();
  31. // 在这里添加字段过滤器
  32. // $filter->equal('id')->width(2);
  33. $filter->where('aid', function ($query) {
  34. $query->whereHas('account', function ($query) {
  35. $query->where('uid', $this->input);
  36. });
  37. }, '用户UID')->width(3);
  38. $filter->equal('account_id','用户名')->select(\App\Models\Account::pluck('username','id'))->width(3);
  39. });
  40. });
  41. }
  42. }