UserServiceController.php 5.4 KB

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