ServiceManagementController.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. namespace App\Admin\Controllers\UserManagement\DocterManagement;
  3. use App\Models\Docter;
  4. use App\Models\ServiceApply;
  5. use App\Models\Serviceapplys;
  6. use function Couchbase\defaultDecoder;
  7. use Encore\Admin\Controllers\AdminController;
  8. use Encore\Admin\Form;
  9. use Encore\Admin\Grid;
  10. use Encore\Admin\Show;
  11. class ServiceManagementController extends AdminController
  12. {
  13. /**
  14. * Title for current resource.
  15. *
  16. * @var string
  17. */
  18. protected $title = '服务开通列表';
  19. /**
  20. * Make a grid builder.
  21. *
  22. * @return Grid
  23. */
  24. protected function grid()
  25. {
  26. $grid = new Grid(new Docter());
  27. $id = \request('id');
  28. $grid->filter(function ($filter){
  29. $filter->disableIdFilter();
  30. });
  31. $grid->disableBatchActions();
  32. $grid->disableCreateButton();
  33. $grid->actions(function ($actions){
  34. $actions->disableView();
  35. $actions->disableDelete();
  36. });
  37. $grid->model()->where('id',$id);
  38. $grid->column('id', __('id'));
  39. $grid->column('name', __('医生姓名'));
  40. $grid->column('avatar', __('头像'))->lightbox(['width' =>'', 'height' => 30]);
  41. $states = [
  42. 'on' => ['value' => 2, 'text' => '已开通', 'color' => 'primary'],
  43. 'off' => ['value' => 3, 'text' => '未开通', 'color' => 'danger'],
  44. ];
  45. //图文模块
  46. $grid->column('in_chat', __('图文咨询'))->display(function ()use ($grid){
  47. $status = Serviceapplys::where('docter_id',$this->id)->where('service_type',1)->value('status');
  48. if ($status == 2)
  49. {
  50. return '已开通';
  51. }else{
  52. return '未开通';
  53. }
  54. });
  55. $grid->column('is_chat', __('图文服务状态'))->using([0=>'未开启',1=>'已开启']);
  56. //电话模块
  57. $grid->column('in_phone', __('电话咨询'))->display(function ()use ($grid){
  58. $status = Serviceapplys::where('docter_id',$this->id)->where('service_type',2)->value('status');
  59. if ($status == 2)
  60. {
  61. return '已开通';
  62. }else{
  63. return '未开通';
  64. }
  65. });
  66. $grid->column('is_phone', __('电话服务状态'))->using([0=>'未开启',1=>'已开启']);
  67. //预约模块
  68. $grid->column('in_appoint', __('门诊预约'))->display(function ()use ($grid){
  69. $status = Serviceapplys::where('docter_id',$this->id)->where('service_type',3)->value('status');
  70. if ($status == 2)
  71. {
  72. return '已开通';
  73. }else{
  74. return '未开通';
  75. }
  76. });
  77. $grid->column('is_appoint', __('门诊预约状态'))->using([0=>'未开启',1=>'已开启']);
  78. return $grid;
  79. }
  80. /**
  81. * Make a form builder.
  82. *
  83. * @return Form
  84. */
  85. protected function form()
  86. {
  87. $form = new Form(new Docter());
  88. $form->hidden('id');
  89. $states = [
  90. 'on' => ['value' => 2, 'text' => '已开通', 'color' => 'primary'],
  91. 'off' => ['value' => 3, 'text' => '未开通', 'color' => 'danger'],
  92. ];
  93. $form->switch('in_chat','图文状态')->states($states)->default(function ()use ($form){
  94. $a = Serviceapplys::where('docter_id',$form->model()->id)->where('service_type',1)->value('status');
  95. return $a;
  96. });
  97. $form->switch('in_phone','电话状态')->states($states)->default(function ()use ($form){
  98. $a = Serviceapplys::where('docter_id',$form->model()->id)->where('service_type',2)->value('status');
  99. return $a;
  100. });
  101. $form->switch('in_appoint','预约状态')->states($states)->default(function ()use ($form){
  102. $a = Serviceapplys::where('docter_id',$form->model()->id)->where('service_type',3)->value('status');
  103. return $a;
  104. });
  105. $form->setAction('/admin/putdata');
  106. return $form;
  107. }
  108. }