diff --git a/app/Admin/Controllers/Store/StoreController.php b/app/Admin/Controllers/Store/StoreController.php
index a1e3cf19..5e98549d 100644
--- a/app/Admin/Controllers/Store/StoreController.php
+++ b/app/Admin/Controllers/Store/StoreController.php
@@ -8,15 +8,22 @@ use Dcat\Admin\Http\Controllers\AdminController;
use Carbon\Carbon;
use Illuminate\Support\Facades\DB;
use App\Models\Admin\Administrator;
-use Dcat\Admin\Layout\Row;
use Dcat\Admin\Widgets\{Box, Tab, Card};
-use Dcat\Admin\Layout\Content;
+use Dcat\Admin\Layout\{Content, Row};
+use App\Admin\Metrics\Store\{TotalStore, TotalUser, TotalOrder, TotalMoney};
class StoreController extends AdminController
{
public function info(Content $content)
{
- return $content->title('总览');
+ $row = new Row();
+ $row->column(3, new TotalStore());
+ $row->column(3, new TotalUser());
+ $row->column(3, new TotalOrder());
+ $row->column(3, new TotalMoney());
+ return $content
+ ->title('总览')
+ ->body($row);
}
public function list()
diff --git a/app/Admin/Metrics/Store/TotalMoney.php b/app/Admin/Metrics/Store/TotalMoney.php
new file mode 100644
index 00000000..fd3cb336
--- /dev/null
+++ b/app/Admin/Metrics/Store/TotalMoney.php
@@ -0,0 +1,31 @@
+title('营业额');
+ $this->subTitle('订单营业额');
+
+ $this->withContent(Order::whereNotNull('store_id')->where('status', Order::STATUS_COMPLETED)->sum('total_amount'));
+ }
+
+ public function withContent($content)
+ {
+ return $this->content(
+ <<
+
{$content}
+
+ HTML
+ );
+ }
+
+}
diff --git a/app/Admin/Metrics/Store/TotalOrder.php b/app/Admin/Metrics/Store/TotalOrder.php
new file mode 100644
index 00000000..386bcb8b
--- /dev/null
+++ b/app/Admin/Metrics/Store/TotalOrder.php
@@ -0,0 +1,31 @@
+title('订单');
+ $this->subTitle('订单总数');
+
+ $this->withContent(Order::whereNotNull('store_id')->where('status', Order::STATUS_COMPLETED)->count());
+ }
+
+ public function withContent($content)
+ {
+ return $this->content(
+ <<
+ {$content}
+
+ HTML
+ );
+ }
+
+}
diff --git a/app/Admin/Metrics/Store/TotalStore.php b/app/Admin/Metrics/Store/TotalStore.php
new file mode 100644
index 00000000..f44c415e
--- /dev/null
+++ b/app/Admin/Metrics/Store/TotalStore.php
@@ -0,0 +1,31 @@
+title('店铺');
+ $this->subTitle('店铺总数');
+
+ $this->withContent(Store::effective()->count());
+ }
+
+ public function withContent($content)
+ {
+ return $this->content(
+ <<
+ {$content}
+
+ HTML
+ );
+ }
+
+}
diff --git a/app/Admin/Metrics/Store/TotalUser.php b/app/Admin/Metrics/Store/TotalUser.php
new file mode 100644
index 00000000..69361868
--- /dev/null
+++ b/app/Admin/Metrics/Store/TotalUser.php
@@ -0,0 +1,31 @@
+title('员工');
+ $this->subTitle('员工总数');
+
+ $this->withContent(UserInfo::where('is_company', 1)->count());
+ }
+
+ public function withContent($content)
+ {
+ return $this->content(
+ <<
+ {$content}
+
+ HTML
+ );
+ }
+
+}
diff --git a/database/seeders/AgentSeeder.php b/database/seeders/AgentSeeder.php
index 12f857bd..a2b0289d 100644
--- a/database/seeders/AgentSeeder.php
+++ b/database/seeders/AgentSeeder.php
@@ -20,7 +20,7 @@ class AgentSeeder extends Seeder
['name' => '市级代理', 'slug' => 'agent', 'growth_value' => 80000, 'ratio' => 50, 'sort' => 2, 'created_at' => $time, 'updated_at' => $time],
['name' => '区级代理', 'slug' => 'agent', 'growth_value' => 70000, 'ratio' => 40, 'sort' => 3, 'created_at' => $time, 'updated_at' => $time],
['name' => '金级爱好者', 'slug' => 'favoite', 'growth_value' => 50000, 'ratio' => 30, 'sort' => 4, 'created_at' => $time, 'updated_at' => $time],
- ['name' => '银级爱好者', 'slug' => 'favoite', 'growth_value' => 50000, 'ratio' => 20, 'sort' => 5, 'created_at' => $time, 'updated_at' => $time],
+ ['name' => '银级爱好者', 'slug' => 'favoite', 'growth_value' => 20000, 'ratio' => 20, 'sort' => 5, 'created_at' => $time, 'updated_at' => $time],
['name' => '铜级爱好者', 'slug' => 'favoite', 'growth_value' => 5000, 'ratio' => 10, 'sort' => 6, 'created_at' => $time, 'updated_at' => $time],
];
Agent::insert($list);
diff --git a/resources/lang/zh_CN/store.php b/resources/lang/zh_CN/store.php
index ad8c5a05..5c4c29cb 100644
--- a/resources/lang/zh_CN/store.php
+++ b/resources/lang/zh_CN/store.php
@@ -4,6 +4,7 @@ return [
'labels' => [
'Store' => '信息管理',
'store' => '信息管理',
+ 'info' => '总揽'
],
'fields' => [
'title' => '名称',