OutpatientServiceController.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Models\Docter;
  4. use App\Models\Order;
  5. use Encore\Admin\Controllers\AdminController;
  6. use Encore\Admin\Form;
  7. use Encore\Admin\Grid;
  8. use Encore\Admin\Show;
  9. class OutpatientServiceController extends AdminController
  10. {
  11. /**
  12. * Title for current resource.
  13. *
  14. * @var string
  15. */
  16. protected $title = 'Docter';
  17. /**
  18. * Make a grid builder.
  19. *
  20. * @return Grid
  21. */
  22. protected function grid()
  23. {
  24. $grid = new Grid(new Docter());
  25. $grid->column('id','ID');
  26. $grid->column('name','医生姓名');
  27. $grid->column('appoint_price','咨询价格');
  28. $grid->column('orders','总订单数')->display(function (){
  29. $order_type = Order::where(['docter_id'=>$this->id,'product_type'=>3])->count();
  30. return $order_type;
  31. });
  32. $grid->column('orders_actions','进行中数')->display(function (){
  33. $action = Order::where(['docter_id'=>$this->id,'product_type'=>3,'order_status'=>3])->count();
  34. return $action;
  35. });
  36. $grid->column('orders_inishs','完成数')->display(function (){
  37. $finish = Order::where(['docter_id'=>$this->id,'product_type'=>3,'order_status'=>4])->count();
  38. return $finish;
  39. });
  40. $grid->column('orders_anomaly','异常数')->display(function (){
  41. $anomaly = Order::where(['docter_id'=>$this->id,'product_type'=>3])->whereIn('order_status',[1,2,5])->count();
  42. // dd($anomaly);
  43. return $anomaly;
  44. });
  45. return $grid;
  46. }
  47. }