|
|
@@ -10,7 +10,7 @@ use App\Module\Point\Repositorys\PointTransferRepository;
|
|
|
use App\Module\Point\Repositorys\PointOrderRepository;
|
|
|
use Dcat\Admin\Layout\Content;
|
|
|
use Dcat\Admin\Widgets\Card;
|
|
|
-use Dcat\Admin\Widgets\InfoBox;
|
|
|
+
|
|
|
use Spatie\RouteAttributes\Attributes\Get;
|
|
|
use UCore\DcatAdmin\AdminController;
|
|
|
|
|
|
@@ -67,12 +67,111 @@ class PointDashboardController extends AdminController
|
|
|
$todayLogs = $logRepo->model()->where('create_time', '>=', $todayStart)->count();
|
|
|
$todayAdminOps = $adminRepo->model()->where('create_time', '>=', $todayStart)->count();
|
|
|
|
|
|
- return new Card('系统概览', [
|
|
|
- new InfoBox('积分账户总数', 'users', 'aqua', route('admin.point.index'), $totalAccounts),
|
|
|
- new InfoBox('积分日志总数', 'file-text-o', 'green', route('admin.point-log.index'), $totalLogs),
|
|
|
- new InfoBox('管理员操作', 'cog', 'yellow', route('admin.point-admin.index'), $totalAdminOps),
|
|
|
- new InfoBox('今日日志', 'calendar', 'red', route('admin.point-log.index'), $todayLogs),
|
|
|
- ]);
|
|
|
+ $content = '
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-lg-3 col-6">
|
|
|
+ <div class="small-box bg-info">
|
|
|
+ <div class="inner">
|
|
|
+ <h3>' . $totalAccounts . '</h3>
|
|
|
+ <p>积分账户总数</p>
|
|
|
+ </div>
|
|
|
+ <div class="icon">
|
|
|
+ <i class="fa fa-users"></i>
|
|
|
+ </div>
|
|
|
+ <a href="' . route('dcat.admin.point.index') . '" class="small-box-footer">
|
|
|
+ 查看详情 <i class="fa fa-arrow-circle-right"></i>
|
|
|
+ </a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-lg-3 col-6">
|
|
|
+ <div class="small-box bg-success">
|
|
|
+ <div class="inner">
|
|
|
+ <h3>' . $totalLogs . '</h3>
|
|
|
+ <p>积分日志总数</p>
|
|
|
+ </div>
|
|
|
+ <div class="icon">
|
|
|
+ <i class="fa fa-file-text-o"></i>
|
|
|
+ </div>
|
|
|
+ <a href="' . route('dcat.admin.point-log.index') . '" class="small-box-footer">
|
|
|
+ 查看详情 <i class="fa fa-arrow-circle-right"></i>
|
|
|
+ </a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-lg-3 col-6">
|
|
|
+ <div class="small-box bg-warning">
|
|
|
+ <div class="inner">
|
|
|
+ <h3>' . $totalAdminOps . '</h3>
|
|
|
+ <p>管理员操作</p>
|
|
|
+ </div>
|
|
|
+ <div class="icon">
|
|
|
+ <i class="fa fa-cog"></i>
|
|
|
+ </div>
|
|
|
+ <a href="' . route('dcat.admin.point-admin.index') . '" class="small-box-footer">
|
|
|
+ 查看详情 <i class="fa fa-arrow-circle-right"></i>
|
|
|
+ </a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-lg-3 col-6">
|
|
|
+ <div class="small-box bg-danger">
|
|
|
+ <div class="inner">
|
|
|
+ <h3>' . $todayLogs . '</h3>
|
|
|
+ <p>今日日志</p>
|
|
|
+ </div>
|
|
|
+ <div class="icon">
|
|
|
+ <i class="fa fa-calendar"></i>
|
|
|
+ </div>
|
|
|
+ <a href="' . route('dcat.admin.point-log.index') . '" class="small-box-footer">
|
|
|
+ 查看详情 <i class="fa fa-arrow-circle-right"></i>
|
|
|
+ </a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-lg-4 col-6">
|
|
|
+ <div class="small-box bg-primary">
|
|
|
+ <div class="inner">
|
|
|
+ <h3>' . $totalCirculations . '</h3>
|
|
|
+ <p>点数流转总数</p>
|
|
|
+ </div>
|
|
|
+ <div class="icon">
|
|
|
+ <i class="fa fa-exchange"></i>
|
|
|
+ </div>
|
|
|
+ <a href="' . route('dcat.admin.point-circulation.index') . '" class="small-box-footer">
|
|
|
+ 查看详情 <i class="fa fa-arrow-circle-right"></i>
|
|
|
+ </a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-lg-4 col-6">
|
|
|
+ <div class="small-box bg-secondary">
|
|
|
+ <div class="inner">
|
|
|
+ <h3>' . $totalTransfers . '</h3>
|
|
|
+ <p>积分转账总数</p>
|
|
|
+ </div>
|
|
|
+ <div class="icon">
|
|
|
+ <i class="fa fa-send"></i>
|
|
|
+ </div>
|
|
|
+ <a href="' . route('dcat.admin.point-transfer.index') . '" class="small-box-footer">
|
|
|
+ 查看详情 <i class="fa fa-arrow-circle-right"></i>
|
|
|
+ </a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-lg-4 col-6">
|
|
|
+ <div class="small-box bg-dark">
|
|
|
+ <div class="inner">
|
|
|
+ <h3>' . $totalOrders . '</h3>
|
|
|
+ <p>积分订单总数</p>
|
|
|
+ </div>
|
|
|
+ <div class="icon">
|
|
|
+ <i class="fa fa-shopping-cart"></i>
|
|
|
+ </div>
|
|
|
+ <a href="' . route('dcat.admin.point-order.index') . '" class="small-box-footer">
|
|
|
+ 查看详情 <i class="fa fa-arrow-circle-right"></i>
|
|
|
+ </a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>';
|
|
|
+
|
|
|
+ return new Card('Point模块统计仪表板', $content);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -149,7 +248,7 @@ class PointDashboardController extends AdminController
|
|
|
|
|
|
foreach ($recentLogs as $log) {
|
|
|
$time = date('m-d H:i', $log->create_time);
|
|
|
- $pointType = $pointTypes[$log->point_id] ?? "积分{$log->point_id}";
|
|
|
+ $pointType = $pointTypes[$log->point_id->value] ?? "积分{$log->point_id->value}";
|
|
|
$amount = $log->amount > 0 ? "+{$log->amount}" : $log->amount;
|
|
|
$amountClass = $log->amount > 0 ? 'text-success' : 'text-danger';
|
|
|
$remark = mb_substr($log->remark, 0, 20) . (mb_strlen($log->remark) > 20 ? '...' : '');
|