PhoneServiceController.php 1.8 KB

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