TeamController.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Admin\Actions\Serve\Addmember;
  4. use App\Models\Docter;
  5. use App\Models\Team;
  6. use App\Models\TeamDocter;
  7. use Encore\Admin\Controllers\AdminController;
  8. use Encore\Admin\Form;
  9. use Encore\Admin\Grid;
  10. use Encore\Admin\Show;
  11. use Encore\Admin\Widgets\Table;
  12. class TeamController extends AdminController
  13. {
  14. /**
  15. * Title for current resource.
  16. *
  17. * @var string
  18. */
  19. protected $title = '团队列表';
  20. /**
  21. * Make a grid builder.
  22. *
  23. * @return Grid
  24. */
  25. protected function grid()
  26. {
  27. $grid = new Grid(new Team());
  28. $grid->column('id', __('Id'));
  29. $grid->column('name', __('团队名称'));
  30. $grid->column('introduction','简介')->limit(15,'...')->width(200);
  31. $grid->column('member','成员查看')->display(function (){
  32. return '点击查看';
  33. })->modal('成员列表', function ($model){
  34. $docters = $model->docter()->get()->map(function ($docter) {
  35. return $docter->only(['id', 'name']);
  36. });
  37. return new Table(['医生ID', '医生名称'], $docters->toArray());
  38. });
  39. $grid->column('created_at', __('创建时间'));
  40. $grid->column('updated_at', __('更新时间'));
  41. $status = [
  42. 'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
  43. 'on' => ['value' => 1, 'text' => '启用', 'color' => 'success'],
  44. ];
  45. $grid->column('status', __('状态'))->switch($status);
  46. $grid->actions(function ($actions) {
  47. // 去掉查看
  48. $actions->disableView();
  49. });
  50. $grid->actions(function ($actions) {
  51. $actions->add(new Addmember);
  52. });
  53. return $grid;
  54. }
  55. /**
  56. * Make a form builder.
  57. *
  58. * @return Form
  59. */
  60. protected function form()
  61. {
  62. $form = new Form(new Team());
  63. $form->text('name', __('团队名称'))->rules('required' ,['required'=>'请填写团队名称!']);
  64. $form->text('introduction','简介')->rules('required' ,['required'=>'请填写团队简介!']);
  65. $status = [
  66. 'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
  67. 'on' => ['value' => 1, 'text' => '启用', 'color' => 'success'],
  68. ];
  69. $form->switch('status', __('状态'))->states($status);
  70. return $form;
  71. }
  72. }