UserServiceController.php 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  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_decode($team);
  52. if (empty($team))
  53. {
  54. return '无';
  55. }else
  56. {
  57. $team1 =[];
  58. // if (is_array($team))
  59. // {
  60. // foreach ($team as $value)
  61. // {
  62. // $value = (int)$value;
  63. // array_push($team1,$value);
  64. // }
  65. $res = Team::whereIn('id',$team)->pluck('name')->toArray();
  66. return $res;
  67. // }
  68. }
  69. })->label('info');
  70. $grid->column('orderPack.effective_days', __('有效天数'));
  71. $grid->column('orderPack.start_time', __('开始时间'))->display(function ($start_time){
  72. return date("Y-m-d H:i",$start_time);
  73. });
  74. $grid->column('orderPack.end_time', __('结束时间'))->display(function ($end_time){
  75. return date("Y-m-d H:i",$end_time);
  76. });
  77. $grid->column('orderPack.created_at', __('创建时间'));
  78. $grid->column('orderPack.updated_at', __('更新时间'));
  79. return $grid;
  80. }
  81. /**
  82. * Make a show builder.
  83. *
  84. * @param mixed $id
  85. * @return Show
  86. */
  87. protected function detail($id)
  88. {
  89. $show = new Show(Order::findOrFail($id));
  90. $show->field('orderPack.id', __('Id'));
  91. $show->field('orderPack.order_id', __('订单ID'));
  92. $show->field('orderPack.service_pack_id', __('服务包ID'));
  93. $show->field('orderPack.pack_name', __('服务包名称'));
  94. $show->field('orderPack.pack_intro', __('服务包简介'));
  95. $show->field('orderPack.pack_price', __('服务包价格'))->as(function ($price){
  96. return $price/100;
  97. });
  98. $show->field('orderPack.insurance_policy', __('保单名称'));
  99. $show->field('orderPack.insurance_img_url', __('保单图片链接'));
  100. $show->field('orderPack.team_id', __('医生团队ID'));
  101. $show->field('orderPack.phone_minutes', __(' 电话分钟数'));
  102. $show->field('orderPack.chat_num', __('图文咨询次数'));
  103. $show->field('orderPack.appoint_num', __('门诊预约次数'));
  104. $show->field('orderPack.vaccine_limit_amount', __('疫苗总金额限制'))->as(function ($price){
  105. return $price/100;
  106. });
  107. $show->field('orderPack.nurses_limit_amount', __('儿保总金额限制'))->as(function ($price){
  108. return $price/100;
  109. });
  110. $show->field('orderPack.effective_days', __(' 有效天数'));
  111. $show->field('orderPack.start_time', __('开始时间'))->as(function ($start_time){
  112. return date("Y-m-d H:i",$start_time);
  113. });
  114. $show->field('orderPack.end_time', __('结束时间'))->as(function ($end_time){
  115. return date("Y-m-d H:i",$end_time);
  116. });
  117. $show->field('orderPack.is_security', __('宝贝是否有医保'))
  118. ->using([0=>'否',1=>'是']);
  119. $show->field('orderPack.guardian_name', __('监护人姓名'));
  120. $show->field('orderPack.relationship_type', __('与宝贝的关系'))
  121. ->using([1=>'父亲',2=>'母亲',3=>'祖父',4=>'祖母',5=>'外祖父',6=>'外祖母',7=>'叔侄']);
  122. $show->field('orderPack.created_at', __('创建时间'));
  123. $show->field('orderPack.updated_at', __('更新时间'));
  124. return $show;
  125. }
  126. /**
  127. * Make a form builder.
  128. *
  129. * @return Form
  130. */
  131. protected function form()
  132. {
  133. $form = new Form(new Order());
  134. return $form;
  135. }
  136. }