MetricsController.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace App\Module\GameItems\AdminControllers;
  3. use App\Module\GameItems\AdminControllers\Metrics\MaterialRanking;
  4. use App\Module\GameItems\AdminControllers\Metrics\WoodRanking;
  5. use App\Module\GameItems\AdminControllers\Metrics\StoneRanking;
  6. use App\Module\GameItems\AdminControllers\Metrics\SteelRanking;
  7. use Dcat\Admin\Layout\Column;
  8. use Dcat\Admin\Layout\Content;
  9. use Dcat\Admin\Layout\Row;
  10. use Spatie\RouteAttributes\Attributes\Get;
  11. use UCore\DcatAdmin\AdminController;
  12. /**
  13. * 物品模块图表控制器
  14. * 提供物品相关的数据统计和图表展示
  15. */
  16. class MetricsController extends AdminController
  17. {
  18. /**
  19. * 物品统计图表页面
  20. *
  21. * @param Content $content
  22. * @return Content
  23. */
  24. #[Get('game-items-metrics')]
  25. public function index(Content $content)
  26. {
  27. return $content
  28. ->header('物品统计图表')
  29. ->description('物品模块数据统计与分析')
  30. ->body(function (Row $row) {
  31. // 第一行:综合材料排名(原有功能)
  32. $row->column(12, function (Column $column) {
  33. // 三大材料持有排名(可切换)
  34. $column->row(new MaterialRanking());
  35. });
  36. // 第二行:三个独立的材料排名图表
  37. $row->column(4, function (Column $column) {
  38. // 木材排名
  39. $column->row(new WoodRanking());
  40. });
  41. $row->column(4, function (Column $column) {
  42. // 石材排名
  43. $column->row(new StoneRanking());
  44. });
  45. $row->column(4, function (Column $column) {
  46. // 钢材排名
  47. $column->row(new SteelRanking());
  48. });
  49. });
  50. }
  51. }