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

<?php
namespace App\Admin\Controllers;
use App\Admin\Common\Type;
use App\Admin\Metrics\Examples;
use App\Http\Controllers\Controller;
use App\Models\LanzuMpInfo;
use App\Models\v3\Market;
use Dcat\Admin\Controllers\Dashboard;
use Dcat\Admin\Layout\Column;
use Dcat\Admin\Layout\Content;
use Dcat\Admin\Layout\Row;
use Dcat\Admin\Admin;
class HomeController extends Controller
{
public function index(Content $content)
{
if (Admin::user()->isRole('lanzu_business')) {
return $this->lanzu_biz($content);
} elseif (Admin::user()->isRole('lanzu_mp')) {
return $this->lanzu_mp($content);
} elseif (Admin::user()->isRole('lanzu_mm')) {
return $this->lanzu_mm($content);
} elseif (Admin::user()->isRole('lanzu_cs')) {
return $this->lanzu_cs($content);
} elseif (Admin::user()->isRole('market_service')) {
return $this->market_service($content);
}
return $this->default($content);
}
protected function default(Content $content)
{
return $content
->header('Dashboard')
->description('Description...')
->body(function (Row $row) {
$row->column(6, function (Column $column) {
$column->row(Dashboard::title());
$column->row(new Examples\Tickets());
});
$row->column(6, function (Column $column) {
$column->row(function (Row $row) {
$row->column(6, new Examples\NewUsers());
$row->column(6, new Examples\NewDevices());
});
$column->row(new Examples\Sessions());
$column->row(new Examples\ProductOrders());
});
});
}
protected function lanzu_mp(Content $content)
{
$mp = LanzuMpInfo::where('admin_user_id',Admin::user()->id)->first();
$marketIds = Market::where('mp_id',$mp->id)->pluck('id')->toArray();
return $content->header('控制面板')
->description('欢迎回到懒族后台')
->body(function (Row $row) use ($marketIds) {
$row->column(3, function (Column $column) {
$column->row(new Examples\Community\TotalAmount(Admin::user()->id,Type::BALANCE_USER_TYPE_MP));
});
$row->column(3, function (Column $column) {
$column->row(new Examples\ServiceCard\TotalStore());
});
$row->column(3, function (Column $column)use ($marketIds) {
$column->row(new Examples\Order\OrderData('number',$marketIds,'订单数'));
});
$row->column(3, function (Column $column)use ($marketIds) {
$column->row(new Examples\Order\OrderData('amount',$marketIds,'订单金额'));
});
});
}
protected function lanzu_mm(Content $content)
{
return $content->header('控制面板')
->description('欢迎回到懒族后台')
->body(function (Row $row) {
$row->column(3, function (Column $column) {
$column->row(new Examples\Community\TotalAmount(Admin::user()->id,Type::BALANCE_USER_TYPE_MM));
});
$row->column(3, function (Column $column) {
$column->row(new Examples\ServiceCard\TotalStore());
});
});
}
protected function lanzu_biz(Content $content)
{
return $content->header('控制面板')
->description('欢迎回到懒族后台')
->body(function (Row $row) {
$row->column(4, function (Column $column) {
$column->row(new Examples\ServiceCard\TotalMp());
});
$row->column(4, function (Column $column) {
$column->row(new Examples\Community\TotalCommunity());
});
$row->column(4, function (Column $column) {
$column->row(new Examples\Community\TotalUser());
});
});
}
protected function lanzu_cs(Content $content)
{
return $content->header('控制面板')
->description('欢迎回到懒族后台')
->body(function (Row $row) {
$row->column(4, function (Column $column) {
$column->row(new Examples\Community\TotalUser());
});
$row->column(4, function (Column $column) {
$column->row(new Examples\Community\TotalAmount(Admin::user()->id,Type::BALANCE_USER_TYPE_CS));
});
});
}
protected function market_service(Content $content)
{
return $content->header('控制面板')
->description('欢迎回到懒族后台')
->body(function (Row $row) {
$row->column(4, function (Column $column) {
$column->row(new Examples\Order\OrderData('number','订单数'));
});
$row->column(4, function (Column $column) {
$column->row(new Examples\Order\OrderData('amount','订单金额'));
});
});
}
}