HomeController.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <?php
  2. namespace App\Community\Controllers;
  3. use App\Http\Controllers\Controller;
  4. use App\Models\Order;
  5. use App\Models\SchedulePeriod;
  6. use Encore\Admin\Controllers\Dashboard;
  7. use Encore\Admin\Layout\Column;
  8. use Encore\Admin\Layout\Content;
  9. use Encore\Admin\Layout\Row;
  10. use Encore\Admin\Widgets\InfoBox;
  11. class HomeController extends Controller
  12. {
  13. public function index(){
  14. return redirect('/cdms/home');
  15. }
  16. public function home(Content $content)
  17. {
  18. return $content
  19. ->title('数据概况')
  20. ->description('社区段实时数据')
  21. ->row(function (Row $row){
  22. return $row->column(12,'<p style="font-family:Arial,Helvetica,sans-serif; font-size:1.2em; margin-top20px;vertical-align:middle; font-weight:normal ">实时概况</p>');
  23. })->row(function (Row $row){
  24. $data = StatController::service();
  25. $row->column(3,new InfoBox('今日预约(人)', 'users', 'aqua', '/cdms/home', $data['schedule_paitent']));
  26. $row->column(3,new InfoBox('今日排班(人)', 'users', 'aqua', '/cdms/home', $data['schedule_docter']));
  27. $row->column(3,new InfoBox('接诊患者(人次)', 'users', 'aqua', '/cdms/home', $data['paitent_num']));
  28. })
  29. ->row(function (Row $row){
  30. return $row->column(12,'<p style="font-family:Arial,Helvetica,sans-serif; font-size:1.2em; margin-top20px;vertical-align:middle; font-weight:normal ">疫苗概况</p>');
  31. })->row(function (Row $row){
  32. $data = StatController::vaccine();
  33. $row->column(3,new InfoBox('疫苗种类(种)', 'users', 'aqua', '/cdms/home', $data['sum_num']));
  34. $row->column(3,new InfoBox('库存剩余(支)', 'users', 'aqua', '/cdms/home', $data['have_num']));
  35. $row->column(3,new InfoBox('疫苗缺苗(种)', 'users', 'aqua', '/cdms/home', $data['less_num']));
  36. })
  37. ->row(function (Row $row){
  38. $data = StatController::vaccine();
  39. $row->column(3,new InfoBox('今日预约(人支)', 'users', 'aqua', '/cdms/home', $data['today_schedule']));
  40. $row->column(3,new InfoBox('预计今日消耗(支)', 'users', 'aqua', '/cdms/home', $data['today_vaccine']));
  41. })
  42. ->row(function (Row $row){
  43. return $row->column(12,'<p style="font-family:Arial,Helvetica,sans-serif; font-size:1.2em; margin-top20px;vertical-align:middle; font-weight:normal ">儿保概况</p>');
  44. })->row(function (Row $row){
  45. $data = StatController::nurse();
  46. $row->column(3,new InfoBox('疫苗种类(种)', 'users', 'aqua', '/cdms/home', $data));
  47. })
  48. ->row(function (Row $row){
  49. return $row->column(12,'<p style="font-family:Arial,Helvetica,sans-serif; font-size:1.2em; margin-top20px;vertical-align:middle; font-weight:normal ">今日排班 </p>');
  50. })->row(function (Row $row){
  51. $data = StatController::schedule();
  52. $row->column(3,new InfoBox('计免医生(人)', 'users', 'aqua', '/cdms/home', $data['vaccine_num']));
  53. $row->column(3,new InfoBox('儿保医生(人)', 'users', 'aqua', '/cdms/home', $data['nurse_num']));
  54. $row->column(3,new InfoBox('门诊医生(人)', 'users', 'aqua', '/cdms/home', $data['clinic_num']));
  55. });
  56. // ->row($this->real_data())
  57. // ->row($this->vaccine_data())
  58. // ->row($this->nurse_data())
  59. // ->row($this->schedule_data());
  60. }
  61. public function real_data()
  62. {
  63. $data = StatController::service();
  64. return view('cdms.real_data',compact('data'));
  65. }
  66. public function vaccine_data()
  67. {
  68. $data = StatController::vaccine();
  69. return view('cdms.vaccine_data',compact('data'));
  70. }
  71. public function nurse_data()
  72. {
  73. $data = StatController::nurse();
  74. return view('cdms.nurse_data',compact('data'));
  75. }
  76. public function schedule_data()
  77. {
  78. $data = StatController::schedule();
  79. return view('cdms.schedule_data',compact('data'));
  80. }
  81. public function order_detail()
  82. {
  83. $id = request('id');
  84. if(empty($id)){
  85. return redirect('/cdms/docter_chats');
  86. }
  87. $data = Order::where('id',$id)->with('orderPatient')->first();
  88. if(!empty($data->orderPatient->medical_imgs)){
  89. $data->orderPatient->medical_imgs = object_array(json_decode($data->orderPatient->medical_imgs ));
  90. } else {
  91. $data->orderPatient->medical_imgs = [];
  92. }
  93. $content = new Content();
  94. $status = Order::getStatus();
  95. $content->view('cdms.order_detail',compact('data','status'));
  96. return $content;
  97. }
  98. }