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

49 lines
1.3 KiB

  1. <?php
  2. namespace App\AdminAgent\Renderable;
  3. use App\Common\UserStatus;
  4. use App\Models\Guide;
  5. use Dcat\Admin\Admin;
  6. use Dcat\Admin\Grid;
  7. use Dcat\Admin\Grid\LazyRenderable;
  8. /**
  9. * 选择地接
  10. * Class SelectProduct
  11. * @package App\AdminAgent\Renderable
  12. */
  13. class SelectGuide extends LazyRenderable
  14. {
  15. public function grid(): Grid
  16. {
  17. // 获取外部传递的参数
  18. // $id = $this->id;
  19. Admin::translation('guide');
  20. return Grid::make(new Guide(), function (Grid $grid) {
  21. $grid->disableActions();
  22. $grid->disableBatchDelete();
  23. $grid->disableBatchActions();
  24. $grid->model()->where(['status' => UserStatus::NORMAL])
  25. ->whereExists(function ($query) {
  26. $role_table = 'admin_guide_role_users';
  27. return $query->from($role_table)->whereRaw("guides.id=$role_table.user_id")->where('role_id', 2);
  28. });
  29. $grid->quickSearch(['contact_phone', 'name'])->placeholder('搜索联系电话、地接名称');
  30. $grid->column('id');
  31. $grid->column('name');
  32. $grid->column('contact_phone');
  33. $grid->column('avatar')->image('', 60, 60);
  34. $grid->column('created_at', '注册时间');
  35. $grid->paginate(15);
  36. $grid->filter(function (Grid\Filter $filter) {
  37. $filter->model()->where('status', UserStatus::NORMAL);
  38. $filter->equal('contact_phone')->width(3);
  39. $filter->like('name')->width(3);
  40. });
  41. });
  42. }
  43. }