UserServiceController.php 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. <?php
  2. namespace App\Admin\Controllers\UserManagement\BmUser;
  3. use App\Models\Order;
  4. use App\Models\OrderPack;
  5. use App\Models\Patient;
  6. use App\Admin\Actions\backstage\User\Insurance ;
  7. use App\Models\Team;
  8. use Encore\Admin\Controllers\AdminController;
  9. use Encore\Admin\Form;
  10. use Encore\Admin\Grid;
  11. use Encore\Admin\Show;
  12. class UserServiceController 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 Order());
  28. $product_type = 6;
  29. $uesr_id = \request('user_id');
  30. $grid->filter(function ($filter){
  31. $filter->disableIdFilter();
  32. // $filter->equal('user_id','用户id');
  33. // $filter->equal('product_type','订单类型');
  34. });
  35. $grid->disableBatchActions();
  36. $grid->disableActions();
  37. $grid->model()->where('user_id',$uesr_id)->where('product_type',6)->orderBy('id','desc');
  38. $grid->column('orderPack.id', __('Id'));
  39. $grid->column('orderPack.order_id', __('订单id'));
  40. $grid->column('patient_id', __('患者姓名'))->display(function ($id){
  41. return Patient::where('id',$id)->value('name');
  42. });
  43. $grid->column('orderPack.service_pack_id', __('服务包id'));
  44. $grid->column('orderPack.pack_name', __('服务包名称'));
  45. $grid->column('orderPack.pack_intro', __('服务包简介'));
  46. $grid->column('orderPack.pack_price', __('服务包价格'))->display(function ($price){
  47. return $price/100;
  48. });
  49. $grid->column('orderPack.team_id', __('医生团队'))->display(function ($team)
  50. {
  51. // $team = json_encode($team);
  52. // $team = json_decode($team);
  53. if (empty($team))
  54. {
  55. return '无';
  56. }else
  57. {
  58. $team1 =[];
  59. // if (is_array($team))
  60. // {
  61. // foreach ($team as $value)
  62. // {
  63. // $value = (int)$value;
  64. // array_push($team1,$value);
  65. // }
  66. $res = Team::whereIn('id',$team)->pluck('name')->toArray();
  67. return $res;
  68. // }
  69. }
  70. })->label('info');
  71. $grid->column('orderPack.effective_days', __('有效天数'));
  72. $grid->column('orderPack.start_time', __('开始时间'))->display(function ($start_time){
  73. return date("Y-m-d H:i",$start_time);
  74. });
  75. $grid->column('orderPack.end_time', __('结束时间'))->display(function ($end_time){
  76. return date("Y-m-d H:i",$end_time);
  77. });
  78. $grid->column('orderPack.created_at', __('创建时间'));
  79. $grid->column('orderPack.updated_at', __('更新时间'));
  80. return $grid;
  81. }
  82. /**
  83. * Make a show builder.
  84. *
  85. * @param mixed $id
  86. * @return Show
  87. */
  88. protected function detail($id)
  89. {
  90. $show = new Show(Order::findOrFail($id));
  91. $show->field('orderPack.id', __('Id'));
  92. $show->field('orderPack.order_id', __('订单ID'));
  93. $show->field('orderPack.service_pack_id', __('服务包ID'));
  94. $show->field('orderPack.pack_name', __('服务包名称'));
  95. $show->field('orderPack.pack_intro', __('服务包简介'));
  96. $show->field('orderPack.pack_price', __('服务包价格'))->as(function ($price){
  97. return $price/100;
  98. });
  99. $show->field('orderPack.insurance_policy', __('保单名称'));
  100. $show->field('orderPack.insurance_img_url', __('保单图片链接'));
  101. $show->field('orderPack.team_id', __('医生团队ID'));
  102. $show->field('orderPack.phone_minutes', __(' 电话分钟数'));
  103. $show->field('orderPack.chat_num', __('图文咨询次数'));
  104. $show->field('orderPack.appoint_num', __('门诊预约次数'));
  105. $show->field('orderPack.vaccine_limit_amount', __('疫苗次数'))->as(function ($price){
  106. return $price/100;
  107. });
  108. $show->field('orderPack.nurses_limit_amount', __('儿保次数'))->as(function ($price){
  109. return $price/100;
  110. });
  111. $show->field('orderPack.effective_days', __(' 有效天数'));
  112. $show->field('orderPack.start_time', __('开始时间'))->as(function ($start_time){
  113. return date("Y-m-d H:i",$start_time);
  114. });
  115. $show->field('orderPack.end_time', __('结束时间'))->as(function ($end_time){
  116. return date("Y-m-d H:i",$end_time);
  117. });
  118. $show->field('orderPack.is_security', __('宝贝是否有医保'))
  119. ->using([0=>'否',1=>'是']);
  120. $show->field('orderPack.guardian_name', __('监护人姓名'));
  121. $show->field('orderPack.relationship_type', __('与宝贝的关系'))
  122. ->using([1=>'父亲',2=>'母亲',3=>'祖父',4=>'祖母',5=>'外祖父',6=>'外祖母',7=>'叔侄']);
  123. $show->field('orderPack.created_at', __('创建时间'));
  124. $show->field('orderPack.updated_at', __('更新时间'));
  125. return $show;
  126. }
  127. /**
  128. * Make a form builder.
  129. *
  130. * @return Form
  131. */
  132. protected function form()
  133. {
  134. $form = new Form(new Order());
  135. return $form;
  136. }
  137. }