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

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