ServiceController.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?php
  2. namespace App\Admin\Controllers\ServiceManagement;
  3. use App\Admin\Actions\backstage\Pass;
  4. use App\Admin\Actions\Service\ApplysAction;
  5. use App\Admin\Actions\Service\PassAction;
  6. use App\Admin\Actions\Service\RefuseAction;
  7. use App\Admin\Actions\Service\RevokeAction;
  8. use App\Models\Docter;
  9. use App\Models\DocterLabel;
  10. use App\Models\Order;
  11. use App\Models\Doctertimes;
  12. use App\Models\Organization;
  13. use App\Models\Serviceapplys;
  14. use Encore\Admin\Controllers\AdminController;
  15. use Encore\Admin\Form;
  16. use Encore\Admin\Grid;
  17. use Encore\Admin\Show;
  18. class ServiceController extends AdminController
  19. {
  20. /**
  21. * Title for current resource.
  22. *
  23. * @var string
  24. */
  25. protected $title = '服务审核';
  26. /**
  27. * Make a grid builder.
  28. *
  29. * @return Grid
  30. */
  31. protected function grid()
  32. {
  33. $grid = new Grid(new Serviceapplys());
  34. // $status = request('status',2);
  35. $grid->tools(function ($tools) {
  36. $tools->batch(function ($batch) {
  37. $batch->disableDelete();
  38. });
  39. });
  40. $grid->model()->orderBy('id','desc');
  41. $grid->column('id', __('Id'));
  42. $grid->column('ondocter.avatar', __('头像'))->lightbox(['width' =>'', 'height' => 30]);
  43. $grid->column('ondocter.id', __('医生ID'));
  44. $grid->column('ondocter.name','医生名称');
  45. $grid->column('service_type','服务类别')->using([1=>'图文咨询',2=>'电话咨询',3=>'门诊预约'])->label('default');
  46. $grid->column('ondocter.sex','性别')->using([1=>'男',2=>'女']);
  47. $grid->column('docterorganization', __('所属机构'))->pluck('organization_id')->display(function ($organization){
  48. $value = Organization::whereIn('id',$organization->toArray())->pluck('name')->toArray();
  49. return $value;
  50. })->label('info');
  51. $grid->column('ondocter.label', __('标签'))->display(function ($label){
  52. if($label==null || $label == '无')
  53. {
  54. return '无';
  55. }else{
  56. $label_value = DocterLabel::whereIn('id',$label)->pluck('label_name')->toArray();
  57. return $label_value;
  58. }
  59. })->label(['info']);
  60. $grid->column('status', __('状态'))->using([1=>'待审核',2=>'已开通',3=>'未开通'])->label([
  61. 1 => 'warning',
  62. 2 => 'success',
  63. 3 => 'default'
  64. ]);
  65. $grid->column('created_at', __('创建时间'));
  66. $grid->column('updated_at', __('更新时间'));
  67. $grid->filter(function ($filter){
  68. $filter->equal('service_type','服务类型')->select([1 => '图文', 2 => '电话', 3 => '问诊']);
  69. $filter->equal('status','服务类型')->select([1=>'待审核',2 =>'已通过 ',3=>'已拒绝']);
  70. $filter->equal('docterorganization.organization_id','机构')->select(Organization::pluck('name','id'));
  71. });
  72. $grid->actions(function ($actions) {
  73. $actions->disableEdit();
  74. $actions->disableView();
  75. $actions->disableDelete();
  76. if($actions->row->status == 1){
  77. $actions->add(new ApplysAction());
  78. $actions->add(new RefuseAction());
  79. }
  80. if ($actions->row->status == 2)
  81. {
  82. $actions->add(new RevokeAction());
  83. }
  84. if ($actions->row->status == 3)
  85. {
  86. $actions->add(new PassAction());
  87. }
  88. });
  89. return $grid;
  90. }
  91. }