FarmMetricsController.php 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. namespace App\Module\Farm\AdminControllers;
  3. use App\Module\Farm\AdminControllers\Metrics\FarmLandLevelStatsCard;
  4. use App\Module\Farm\AdminControllers\Metrics\FarmLandTrendChart;
  5. use App\Module\Farm\AdminControllers\Metrics\FarmHouseRanking;
  6. use App\Module\Farm\AdminControllers\Metrics\HouseRankingCard;
  7. use App\Module\Farm\AdminControllers\Metrics\WealthRankingCard;
  8. use App\Module\Farm\AdminControllers\Metrics\NormalLandFruitStatsCard;
  9. use App\Module\Farm\AdminControllers\Metrics\RedLandFruitStatsCard;
  10. use App\Module\Farm\AdminControllers\Metrics\BlackLandFruitStatsCard;
  11. use App\Module\Farm\AdminControllers\Metrics\GoldLandFruitStatsCard;
  12. use UCore\DcatAdmin\AdminController;
  13. use Dcat\Admin\Layout\Content;
  14. use Dcat\Admin\Layout\Row;
  15. use Dcat\Admin\Layout\Column;
  16. use Spatie\RouteAttributes\Attributes\Get;
  17. /**
  18. * 农场统计图表控制器
  19. *
  20. * @AdminController(
  21. * title="农场统计图表",
  22. * permission="farm.metrics",
  23. * menu_title="统计图表",
  24. * menu_parent="农场管理",
  25. * menu_order=101
  26. * )
  27. */
  28. class FarmMetricsController extends AdminController
  29. {
  30. #[Get('admin/farm-metrics')]
  31. public function index(Content $content)
  32. {
  33. return $content
  34. ->header('农场统计图表')
  35. ->description('农场模块数据统计分析')
  36. ->body(function (Row $row) {
  37. // 第一行:排行榜区域
  38. $row->column(12, function (Column $column) {
  39. $column->row(function (Row $row) {
  40. // 房屋等级排行榜(用户排名)
  41. $row->column(4, new HouseRankingCard());
  42. // 财富排行榜(钻石排名)
  43. $row->column(4, new WealthRankingCard());
  44. // 房屋等级分布统计
  45. $row->column(4, new FarmHouseRanking());
  46. });
  47. });
  48. // 第二行:统计图表区域
  49. $row->column(6, function (Column $column) {
  50. // 土地等级数量统计(多行数字)
  51. $column->row(new FarmLandLevelStatsCard());
  52. // 多线折线图 - 土地类型趋势
  53. $column->row(new FarmLandTrendChart());
  54. });
  55. $row->column(6, function (Column $column) {
  56. // 各个等级土地的产出果实种类统计(每个土地类型一个卡片)
  57. $column->row(function (Row $row) {
  58. // 第一行:普通土地和红土地
  59. $row->column(6, new NormalLandFruitStatsCard());
  60. $row->column(6, new RedLandFruitStatsCard());
  61. });
  62. $column->row(function (Row $row) {
  63. // 第二行:黑土地和金土地
  64. $row->column(6, new BlackLandFruitStatsCard());
  65. $row->column(6, new GoldLandFruitStatsCard());
  66. });
  67. });
  68. });
  69. }
  70. }