链街Dcat后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

146 lines
5.2 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Admin\Metrics\Examples;
  4. use App\Http\Controllers\Controller;
  5. use App\Models\LanzuMpInfo;
  6. use App\Models\v3\Market;
  7. use Dcat\Admin\Controllers\Dashboard;
  8. use Dcat\Admin\Layout\Column;
  9. use Dcat\Admin\Layout\Content;
  10. use Dcat\Admin\Layout\Row;
  11. use Dcat\Admin\Admin;
  12. class HomeController extends Controller
  13. {
  14. public function index(Content $content)
  15. {
  16. if (Admin::user()->isRole('lanzu_business')) {
  17. return $this->lanzu_biz($content);
  18. } elseif (Admin::user()->isRole('lanzu_mp')) {
  19. return $this->lanzu_mp($content);
  20. } elseif (Admin::user()->isRole('lanzu_mm')) {
  21. return $this->lanzu_mm($content);
  22. } elseif (Admin::user()->isRole('lanzu_cs')) {
  23. return $this->lanzu_cs($content);
  24. } elseif (Admin::user()->isRole('market_service')) {
  25. return $this->market_service($content);
  26. }
  27. return $this->default($content);
  28. }
  29. protected function default(Content $content)
  30. {
  31. return $content
  32. ->header('Dashboard')
  33. ->description('Description...')
  34. ->body(function (Row $row) {
  35. $row->column(6, function (Column $column) {
  36. $column->row(Dashboard::title());
  37. $column->row(new Examples\Tickets());
  38. });
  39. $row->column(6, function (Column $column) {
  40. $column->row(function (Row $row) {
  41. $row->column(6, new Examples\NewUsers());
  42. $row->column(6, new Examples\NewDevices());
  43. });
  44. $column->row(new Examples\Sessions());
  45. $column->row(new Examples\ProductOrders());
  46. });
  47. });
  48. }
  49. protected function lanzu_mp(Content $content)
  50. {
  51. $mp = LanzuMpInfo::where('admin_user_id',Admin::user()->id)->first();
  52. $marketIds = Market::where('mp_id',$mp->id)->pluck('id')->toArray();
  53. return $content->header('控制面板')
  54. ->description('欢迎回到懒族后台')
  55. ->body(function (Row $row) use ($marketIds) {
  56. $row->column(3, function (Column $column) {
  57. $column->row(new Examples\Community\TotalAmount(Admin::user()->id,Type::BALANCE_USER_TYPE_MP));
  58. });
  59. $row->column(3, function (Column $column) {
  60. $column->row(new Examples\ServiceCard\TotalStore());
  61. });
  62. $row->column(3, function (Column $column)use ($marketIds) {
  63. $column->row(new Examples\Order\OrderData('number',$marketIds,'订单数'));
  64. });
  65. $row->column(3, function (Column $column)use ($marketIds) {
  66. $column->row(new Examples\Order\OrderData('amount',$marketIds,'订单金额'));
  67. });
  68. });
  69. }
  70. protected function lanzu_mm(Content $content)
  71. {
  72. return $content->header('控制面板')
  73. ->description('欢迎回到懒族后台')
  74. ->body(function (Row $row) {
  75. $row->column(3, function (Column $column) {
  76. $column->row(new Examples\Community\TotalAmount(Admin::user()->id,Type::BALANCE_USER_TYPE_MM));
  77. });
  78. $row->column(3, function (Column $column) {
  79. $column->row(new Examples\ServiceCard\TotalStore());
  80. });
  81. });
  82. }
  83. protected function lanzu_biz(Content $content)
  84. {
  85. return $content->header('控制面板')
  86. ->description('欢迎回到懒族后台')
  87. ->body(function (Row $row) {
  88. $row->column(4, function (Column $column) {
  89. $column->row(new Examples\ServiceCard\TotalMp());
  90. });
  91. $row->column(4, function (Column $column) {
  92. $column->row(new Examples\Community\TotalCommunity());
  93. });
  94. $row->column(4, function (Column $column) {
  95. $column->row(new Examples\Community\TotalUser());
  96. });
  97. });
  98. }
  99. protected function lanzu_cs(Content $content)
  100. {
  101. return $content->header('控制面板')
  102. ->description('欢迎回到懒族后台')
  103. ->body(function (Row $row) {
  104. $row->column(4, function (Column $column) {
  105. $column->row(new Examples\Community\TotalUser());
  106. });
  107. $row->column(4, function (Column $column) {
  108. $column->row(new Examples\Community\TotalAmount(Admin::user()->id,Type::BALANCE_USER_TYPE_CS));
  109. });
  110. });
  111. }
  112. protected function market_service(Content $content)
  113. {
  114. return $content->header('控制面板')
  115. ->description('欢迎回到懒族后台')
  116. ->body(function (Row $row) {
  117. $row->column(4, function (Column $column) {
  118. $column->row(new Examples\Order\OrderData('number','订单数'));
  119. });
  120. $row->column(4, function (Column $column) {
  121. $column->row(new Examples\Order\OrderData('amount','订单金额'));
  122. });
  123. });
  124. }
  125. }