From fcebed9a9d3ec793fe1d35670a00f937fe3055d8 Mon Sep 17 00:00:00 2001 From: "1163816051@qq.com" <1163816051@qq.com> Date: Wed, 25 May 2022 17:44:01 +0800 Subject: [PATCH] =?UTF-8?q?admin=20store=20=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Store/StoreController.php | 13 ++++++-- app/Admin/Metrics/Store/TotalMoney.php | 31 +++++++++++++++++++ app/Admin/Metrics/Store/TotalOrder.php | 31 +++++++++++++++++++ app/Admin/Metrics/Store/TotalStore.php | 31 +++++++++++++++++++ app/Admin/Metrics/Store/TotalUser.php | 31 +++++++++++++++++++ database/seeders/AgentSeeder.php | 2 +- resources/lang/zh_CN/store.php | 1 + 7 files changed, 136 insertions(+), 4 deletions(-) create mode 100644 app/Admin/Metrics/Store/TotalMoney.php create mode 100644 app/Admin/Metrics/Store/TotalOrder.php create mode 100644 app/Admin/Metrics/Store/TotalStore.php create mode 100644 app/Admin/Metrics/Store/TotalUser.php 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' => '名称',