HomeController.php 4.3 KB

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