HomeController.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Admin\Controllers\Chart\Order;
  4. use App\Http\Controllers\Controller;
  5. use Encore\Admin\Controllers\Dashboard;
  6. use Encore\Admin\Layout\Column;
  7. use Encore\Admin\Layout\Content;
  8. use Encore\Admin\Layout\Row;
  9. use Encore\Admin\Widgets\InfoBox;
  10. class HomeController extends Controller
  11. {
  12. public function index(Content $content)
  13. {
  14. return $content
  15. ->title('欢迎进入后台管理系统')
  16. ->description('后台数据中心')
  17. ->row('<h1 text-align="center">订单概况</h1>')
  18. ->row(function (Row $row) {
  19. // 产品类型(1.电话咨询 2.图文咨询 3.门诊预约 4.疫苗接种预约 5.儿保预约 6.服务包 7.充值)
  20. $row->column(3, function (Column $column) {
  21. $column->append(infoBox('新增电话咨询订单', 'dropbox', '/admin/deliver?status=1', 'green', Sta::getOrderCount(1)));
  22. });
  23. $row->column(3, function (Column $column) {
  24. $column->append(\App\Admin\Controllers\infoBox('新增图文咨询订单', 'dropbox', '/admin/deliver?status=1', 'green', Sta::getOrderCount(2)));
  25. });
  26. $row->column(3, function (Column $column) {
  27. $column->append(infoBox('新增门诊预约订单', 'user-plus', '/admin/withdraw?status=0', 'green',Sta::getOrderCount(3)));
  28. });
  29. $row->column(3, function (Column $column) {
  30. $column->append(\App\Admin\Controllers\infoBox('新增计免预约订单', 'user-plus', '/admin/withdraw?status=0', 'green', Sta::getOrderCount(4)));
  31. });
  32. })
  33. ->row(function (Row $row) {
  34. //产品类型(1.电话咨询 2.图文咨询 3.门诊预约 4.疫苗接种预约 5.儿保预约 6.服务包 7.充值)
  35. $row->column(3, function (Column $column) {
  36. $column->append(\App\Admin\Controllers\infoBox('新增儿保订单', 'dropbox', '/admin/deliver?status=1', 'green', Sta::getOrderCount(5)));
  37. });
  38. $row->column(3, function (Column $column) {
  39. $column->append(\App\Admin\Controllers\infoBox('历史总订单', 'dropbox', '/admin/deliver?status=1', 'green', Sta::getOrderCount(0)));
  40. });
  41. })
  42. ->row('<h1 text-align="center">订单走势</h1>')
  43. ->row(function (Row $row) {
  44. //产品类型(1.电话咨询 2.图文咨询 3.门诊预约 4.疫苗接种预约 5.儿保预约 6.服务包 7.充值)
  45. $row->column(3, function (Column $column) {
  46. $column->append(\App\Admin\Controllers\infoBox('今日订单', 'dropbox', '/admin/deliver?status=1', 'green', Sta::getOrderCount(7,1)));
  47. });
  48. $row->column(3, function (Column $column) {
  49. $column->append(\App\Admin\Controllers\infoBox('昨日订单', 'dropbox', '/admin/deliver?status=1', 'green', Sta::getOrderCount(7,-1)));
  50. });
  51. $row->column(3, function (Column $column) {
  52. $column->append(\App\Admin\Controllers\infoBox('进七日订单', 'dropbox', '/admin/deliver?status=1', 'green', Sta::getOrderCount(7,7)));
  53. });
  54. $row->column(3, function (Column $column) {
  55. $column->append(\App\Admin\Controllers\infoBox('近三十日订单', 'dropbox', '/admin/deliver?status=1', 'green', Sta::getOrderCount(7,30)));
  56. });
  57. // 1=>'今日订单总数(单)',
  58. // 1=>'昨日订单总数(单)',
  59. // 1=>'近七日订单总数(单)',
  60. // 1=>'订单总数(单)',
  61. })
  62. ->row(function (Row $row){
  63. (new Order())->chart($row);
  64. })
  65. ;
  66. }
  67. }
  68. /**
  69. * 消息框
  70. * @param $name
  71. * @param $icon
  72. * @param $link
  73. * @param $color
  74. * @param $info
  75. * @return string HTML
  76. */
  77. function infoBox($name, $icon, $link, $color, $info)
  78. {
  79. return (new InfoBox($name, $icon, $color, $link, $info))->render();
  80. }