OrderVaccinesController.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. namespace App\Community\Controllers;
  3. use App\Models\OrderVaccine;
  4. use Encore\Admin\Controllers\AdminController;
  5. use Encore\Admin\Form;
  6. use Encore\Admin\Grid;
  7. use Encore\Admin\Show;
  8. class OrderVaccinesController extends AdminController
  9. {
  10. /**
  11. * Title for current resource.
  12. *
  13. * @var string
  14. */
  15. protected $title = '计免预约';
  16. /**
  17. * Make a grid builder.
  18. *
  19. * @return Grid
  20. */
  21. protected function grid()
  22. {
  23. $grid = new Grid(new OrderVaccine());
  24. $grid->column('id', __('Id'));
  25. $grid->column('patients.name', __('预约用户'));
  26. $grid->column('vaccine_id', __('预约时间'));
  27. $grid->column('vaccine_type', __('接种时间'));
  28. $grid->column('patients.name', __('接种患者'));
  29. $grid->column('patients.sex', __('患者性别'))->display(function ($w){
  30. return $w==1?'男':'女';
  31. });
  32. $grid->column('patients.birthday', __('患者年龄'))->display(function ($w){
  33. return birthday_to_age($w);
  34. });
  35. $grid->column('vaccine_name', __('接种疫苗'));
  36. $grid->column('docters.name', __('排班医生'));
  37. $grid->column('orders.order_status', __('订单状态'))->using([1=>'未支付',2=>'待接单',3=>'进行中',4=>'已完成',5=>'已取消']);
  38. $grid->column('orders.payment_status', __('支付状态'))->using([1=>'待付款',2=>'已付款',3=>'退款中',4=>'已退款']);
  39. return $grid;
  40. }
  41. /**
  42. * Make a show builder.
  43. *
  44. * @param mixed $id
  45. * @return Show
  46. */
  47. protected function detail($id)
  48. {
  49. $show = new Show(OrderVaccine::findOrFail($id));
  50. $show->field('id', __('Id'));
  51. $show->field('order_id', __('Order id'));
  52. $show->field('order_patient_id', __('Order patient id'));
  53. $show->field('vaccine_id', __('Vaccine id'));
  54. $show->field('vaccine_type', __('Vaccine type'));
  55. $show->field('vaccine_price', __('Vaccine price'));
  56. $show->field('vaccine_name', __('Vaccine name'));
  57. $show->field('vaccine_remark', __('Vaccine remark'));
  58. $show->field('vaccine_supplier', __('Vaccine supplier'));
  59. $show->field('created_at', __('Created at'));
  60. $show->field('updated_at', __('Updated at'));
  61. return $show;
  62. }
  63. /**
  64. * Make a form builder.
  65. *
  66. * @return Form
  67. */
  68. protected function form()
  69. {
  70. $form = new Form(new OrderVaccine());
  71. $form->number('order_id', __('Order id'));
  72. $form->number('order_patient_id', __('Order patient id'));
  73. $form->number('vaccine_id', __('Vaccine id'));
  74. $form->switch('vaccine_type', __('Vaccine type'));
  75. $form->number('vaccine_price', __('Vaccine price'));
  76. $form->text('vaccine_name', __('Vaccine name'));
  77. $form->text('vaccine_remark', __('Vaccine remark'));
  78. $form->text('vaccine_supplier', __('Vaccine supplier'));
  79. return $form;
  80. }
  81. }