update dashboard
This commit is contained in:
parent
4e16cf4e16
commit
b64d3b223f
|
|
@ -10,10 +10,10 @@ class HomeController extends Controller
|
|||
public function index()
|
||||
{
|
||||
$data = [
|
||||
'product' => DashboardRepo::getProductData(),
|
||||
'order' => DashboardRepo::getOrderData(),
|
||||
'customer' => DashboardRepo::getCustomerData(),
|
||||
'total' => DashboardRepo::getTotalData(),
|
||||
'views' => DashboardRepo::getCustomerViewData(),
|
||||
'orders' => DashboardRepo::getOrderData(),
|
||||
'customers' => DashboardRepo::getCustomerData(),
|
||||
'order_totals' => DashboardRepo::getTotalData(),
|
||||
];
|
||||
|
||||
return view('admin::pages.home', $data);
|
||||
|
|
|
|||
|
|
@ -31,14 +31,15 @@ class DashboardRepo
|
|||
|
||||
|
||||
/**
|
||||
* 获取订单基础统计, 总数和今日昨日比较
|
||||
*
|
||||
* 获取客户访问统计今日昨日比较
|
||||
* @return array
|
||||
* @todo
|
||||
*
|
||||
*/
|
||||
public static function getOrderData(): array
|
||||
public static function getCustomerViewData(): array
|
||||
{
|
||||
$today = OrderRepo::getListBuilder(['start' => today(), 'end' => today()->addDay()])->count();
|
||||
$yesterday = OrderRepo::getListBuilder(['start' => today()->subDay(), 'end' => today()])->count();
|
||||
$today = 10;
|
||||
$yesterday = 8;
|
||||
$difference = $today - $yesterday;
|
||||
if ($difference && $yesterday) {
|
||||
$percentage = round(($difference / $yesterday) * 100);
|
||||
|
|
@ -47,21 +48,21 @@ class DashboardRepo
|
|||
}
|
||||
|
||||
return [
|
||||
'total' => quantity_format(Product::query()->count()),
|
||||
'total' => $today,
|
||||
'percentage' => $percentage,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取客户基础统计, 总数和今日昨日比较
|
||||
* 获取订单基础统计, 总数和今日昨日比较
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function getCustomerData(): array
|
||||
public static function getOrderData(): array
|
||||
{
|
||||
$today = CustomerRepo::getListBuilder(['start' => today(), 'end' => today()->addDay()])->count();
|
||||
$yesterday = CustomerRepo::getListBuilder(['start' => today()->subDay(), 'end' => today()])->count();
|
||||
$today = OrderRepo::getListBuilder(['start' => today()->subDay(), 'end' => today()])->count();
|
||||
$yesterday = OrderRepo::getListBuilder(['start' => today()->subDays(2), 'end' => today()->subDay()])->count();
|
||||
$difference = $today - $yesterday;
|
||||
if ($difference && $yesterday) {
|
||||
$percentage = round(($difference / $yesterday) * 100);
|
||||
|
|
@ -70,7 +71,35 @@ class DashboardRepo
|
|||
}
|
||||
|
||||
return [
|
||||
'total' => quantity_format(Customer::query()->count()),
|
||||
'total' => $today,
|
||||
'percentage' => $percentage,
|
||||
'reports' => [
|
||||
'latest_month' => '',
|
||||
'latest_week' => '',
|
||||
'latest_year' => '',
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取客户注册今日昨日比较
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function getCustomerData(): array
|
||||
{
|
||||
$today = CustomerRepo::getListBuilder(['start' => today()->subDay(), 'end' => today()])->count();
|
||||
$yesterday = CustomerRepo::getListBuilder(['start' => today()->subDays(2), 'end' => today()->subDay()])->count();
|
||||
$difference = $today - $yesterday;
|
||||
if ($difference && $yesterday) {
|
||||
$percentage = round(($difference / $yesterday) * 100);
|
||||
} else {
|
||||
$percentage = 0;
|
||||
}
|
||||
|
||||
return [
|
||||
'total' => $today,
|
||||
'percentage' => $percentage,
|
||||
];
|
||||
}
|
||||
|
|
@ -83,8 +112,8 @@ class DashboardRepo
|
|||
*/
|
||||
public static function getTotalData(): array
|
||||
{
|
||||
$today = OrderRepo::getListBuilder(['start' => today(), 'end' => today()->addDay()])->sum('total');
|
||||
$yesterday = OrderRepo::getListBuilder(['start' => today()->subDay(), 'end' => today()])->sum('total');
|
||||
$today = OrderRepo::getListBuilder(['start' => today()->subDay(), 'end' => today()])->sum('total');
|
||||
$yesterday = OrderRepo::getListBuilder(['start' => today()->subDays(2), 'end' => today()->subDay()])->sum('total');
|
||||
$difference = $today - $yesterday;
|
||||
if ($difference && $yesterday) {
|
||||
$percentage = round(($difference / $yesterday) * 100);
|
||||
|
|
@ -93,7 +122,7 @@ class DashboardRepo
|
|||
}
|
||||
|
||||
return [
|
||||
'total' => quantity_format(Customer::query()->count()),
|
||||
'total' => currency_format($today),
|
||||
'percentage' => $percentage,
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,11 +18,11 @@
|
|||
{{-- <h6 class="text-uppercase text-black-50 mb-3">{{ __('admin/dashboard.customer_view') }}</h6> --}}
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="fs-2 lh-1 fw-bold">{{ $product['total'] }}</div>
|
||||
<div class="fs-2 lh-1 fw-bold">{{ $views['total'] }}</div>
|
||||
</div>
|
||||
{{-- <div><i class="fs-4 bi bi-cart"></i></div> --}}
|
||||
</div>
|
||||
<div class="mt-3 d-flex align-items-center lh-1"><span class="text-success">-24</span> <span class="vr mx-2"></span> <span class="text-muted">{{ __('admin/dashboard.day_before') }}</span></div>
|
||||
<div class="mt-3 d-flex align-items-center lh-1"><span class="text-success">{{ $views['percentage'] }}%</span> <span class="vr mx-2"></span> <span class="text-muted">{{ __('admin/dashboard.day_before') }}</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -36,11 +36,11 @@
|
|||
{{-- <h6 class="text-uppercase text-black-50 mb-3">{{ __('admin/dashboard.order_total') }}</h6> --}}
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="fs-2 lh-1 fw-bold">{{ $order['total'] }}</div>
|
||||
<div class="fs-2 lh-1 fw-bold">{{ $orders['total'] }}</div>
|
||||
</div>
|
||||
{{-- <div><i class="fs-4 bi bi-journal-text"></i></div> --}}
|
||||
</div>
|
||||
<div class="mt-3 d-flex align-items-center lh-1"><span class="text-success">-21%</span> <span class="vr mx-2"></span> <span class="text-muted">{{ __('admin/dashboard.day_before') }}</span></div>
|
||||
<div class="mt-3 d-flex align-items-center lh-1"><span class="text-success">{{ $orders['percentage'] }}%</span> <span class="vr mx-2"></span> <span class="text-muted">{{ __('admin/dashboard.day_before') }}</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -54,11 +54,11 @@
|
|||
{{-- <h6 class="text-uppercase text-black-50 mb-3">{{ __('admin/dashboard.customer_new') }}</h6> --}}
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="fs-2 lh-1 fw-bold">{{ $customer['total'] }}</div>
|
||||
<div class="fs-2 lh-1 fw-bold">{{ $customers['total'] }}</div>
|
||||
</div>
|
||||
{{-- <div><i class="fs-4 bi bi-person"></i></div> --}}
|
||||
</div>
|
||||
<div class="mt-3 d-flex align-items-center lh-1"><span class="text-danger">+30%</span> <span class="vr mx-2"></span> <span class="text-muted">{{ __('admin/dashboard.day_before') }}</span></div>
|
||||
<div class="mt-3 d-flex align-items-center lh-1"><span class="text-danger">{{ $customers['percentage'] }}%</span> <span class="vr mx-2"></span> <span class="text-muted">{{ __('admin/dashboard.day_before') }}</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -72,11 +72,11 @@
|
|||
{{-- <h6 class="text-uppercase text-black-50 mb-3">{{ __('admin/dashboard.order_amount') }}</h6> --}}
|
||||
<div class="d-flex align-items-center justify-content-between">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="fs-2 lh-1 fw-bold">{{ $total['total'] }}</div>
|
||||
<div class="fs-2 lh-1 fw-bold">{{ $order_totals['total'] }}</div>
|
||||
</div>
|
||||
{{-- <div><i class="fs-4 bi bi-person"></i></div> --}}
|
||||
</div>
|
||||
<div class="mt-3 d-flex align-items-center lh-1"><span class="text-danger">+140%</span> <span class="vr mx-2"></span> <span class="text-muted">{{ __('admin/dashboard.day_before') }}</span></div>
|
||||
<div class="mt-3 d-flex align-items-center lh-1"><span class="text-danger">{{ $order_totals['percentage'] }}%</span> <span class="vr mx-2"></span> <span class="text-muted">{{ __('admin/dashboard.day_before') }}</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -276,4 +276,4 @@
|
|||
upDate(ordersChart, labels, data);
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@endpush
|
||||
|
|
|
|||
Loading…
Reference in New Issue