链街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.

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