FarmMetricsController.php 2.5 KB

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