| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <?php
- namespace App\Admin\Controllers;
- use App\Admin\Util\Dashboard;
- use App\Http\Controllers\Controller;
- use App\Models\Dynamic;
- use App\Models\Orders;
- use App\Models\Users;
- use Encore\Admin\Facades\Admin;
- use Encore\Admin\Layout\Content;
- use Encore\Admin\Widgets\Box;
- use Encore\Admin\Widgets\Echarts\Echarts;
- use Encore\Admin\Widgets\InfoBox;
- class HomeController extends Controller
- {
- public function index(Content $content)
- {
- if(Admin::user()->isRole('admin')||Admin::user()->isRole('administrator')){
- $data=[];
- for ($i=0;$i<7;$i++){
- $data[$i]['count_date']=date('m-d',strtotime("-{$i} day"));
- $data[$i]['user_num']=Users::whereDate('created_at',date('Y-m-d',strtotime("-{$i} day")))->count()?:0;
- $data[$i]['order_num']=Orders::whereDate('created_at',date('Y-m-d',strtotime("-{$i} day")))->where('status',1)->count()?:0;
- $data[$i]['order_money']=Orders::whereDate('created_at',date('Y-m-d',strtotime("-{$i} day")))->where('status',1)->sum('money')?:0;
- $data[$i]['dynamic_num']=Dynamic::whereDate('created_at',date('Y-m-d',strtotime("-{$i} day")))->count()?:0;
- $data[$i]['vip_num']=Users::whereDate('created_at',date('Y-m-d',strtotime("-{$i} day")))->where('vip',1)->count()?:0;
- $data[$i]['red_num']=Users::whereDate('created_at',date('Y-m-d',strtotime("-{$i} day")))->where('type',1)->count()?:0;
- }
- $content->title('仪表板');
- $content->description('仪表板');
- $content->row(function ($row)use($data) {
- $row->column(3, new InfoBox('今日新增用户', 'users', 'aqua', 'users', $data[0]['user_num']));
- $row->column(3, new InfoBox('昨日新增用户', 'users', 'green', 'users', $data[0]['user_num']));
- $row->column(3, new InfoBox('今日订单数', 'shopping-cart', 'yellow', 'orders', $data[0]['order_num']));
- $row->column(3, new InfoBox('昨日订单数', 'shopping-cart', 'red', 'orders', $data[0]['order_num']));
- });
- $head = [
- 'count_date' => '日期',
- 'user_num' => '新曾用户',
- 'order_num' => '新曾订单',
- 'order_money' => '订单金额',
- 'dynamic_num' => '动态',
- 'vip_num' => 'VIP数',
- 'red_num' => '红娘月老数',
- ];
- $echarts = (new Echarts('', ''))
- ->setData($data)
- ->bindLegend($head);
- $content->row(new Box('统计', $echarts));
- }else{
- $content->title('仪表板');
- $content->description('仪表板');
- $content->row(Dashboard::title());
- }
- return $content;
- }
- }
|