UrsPromotionMetricsController.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace App\Module\UrsPromotion\AdminControllers;
  3. use Dcat\Admin\Layout\Column;
  4. use Dcat\Admin\Layout\Content;
  5. use Dcat\Admin\Layout\Row;
  6. use Spatie\RouteAttributes\Attributes\Get;
  7. use UCore\DcatAdmin\AdminController;
  8. /**
  9. * URS推广模块图表控制器
  10. *
  11. * @route /admin/urs-promotion/metrics
  12. */
  13. class UrsPromotionMetricsController extends AdminController
  14. {
  15. /**
  16. * 图表首页
  17. * 显示URS推广模块的各种统计图表
  18. */
  19. #[Get('urs-promotion/metrics')]
  20. public function index(Content $content)
  21. {
  22. return $content
  23. ->header('URS推广数据统计')
  24. ->description('URS推广模块数据统计图表')
  25. ->body(function (Row $row) {
  26. // 第一行:新用户趋势图和活跃用户卡片
  27. $row->column(6, function (Column $column) {
  28. // 新用户折线图 - 显示每日新用户数量趋势
  29. $column->row(new \App\Module\UrsPromotion\AdminControllers\Metrics\UrsNewUsersChart());
  30. });
  31. $row->column(6, function (Column $column) {
  32. // 活跃用户数字卡片 - 显示当前活跃用户数量
  33. $column->row(new \App\Module\UrsPromotion\AdminControllers\Metrics\UrsActiveUsersCard());
  34. });
  35. })
  36. ->body(function (Row $row) {
  37. // 第二行:达人等级统计卡片
  38. $row->column(12, function (Column $column) {
  39. // 达人等级统计卡片 - 显示各个达人等级的人数
  40. $column->row(new \App\Module\UrsPromotion\AdminControllers\Metrics\UrsTalentLevelStatsCard());
  41. });
  42. })
  43. ->body(function (Row $row) {
  44. // 第三行:四个独立的排名卡片
  45. $row->column(3, function (Column $column) {
  46. // 直推排名卡片
  47. $column->row(new \App\Module\UrsPromotion\AdminControllers\Metrics\UrsDirectRankingCard());
  48. });
  49. $row->column(3, function (Column $column) {
  50. // 间推排名卡片
  51. $column->row(new \App\Module\UrsPromotion\AdminControllers\Metrics\UrsIndirectRankingCard());
  52. });
  53. $row->column(3, function (Column $column) {
  54. // 三推排名卡片
  55. $column->row(new \App\Module\UrsPromotion\AdminControllers\Metrics\UrsThirdRankingCard());
  56. });
  57. $row->column(3, function (Column $column) {
  58. // 团队排名卡片
  59. $column->row(new \App\Module\UrsPromotion\AdminControllers\Metrics\UrsTeamRankingCard());
  60. });
  61. });
  62. }
  63. }