OrderVaccinesController.php 2.9 KB

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