From 1b8f90ad972ed4ef711e5c2c3bad093a7fd327eb Mon Sep 17 00:00:00 2001 From: xuanchen <122383162@qq.com> Date: Tue, 31 Aug 2021 16:17:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=8B=E7=BA=A7=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/User/IndexController.php | 16 +++++++++++++--- app/Models/User.php | 13 ++++++++++--- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/app/Admin/Controllers/User/IndexController.php b/app/Admin/Controllers/User/IndexController.php index 1de399e..eb2bd68 100644 --- a/app/Admin/Controllers/User/IndexController.php +++ b/app/Admin/Controllers/User/IndexController.php @@ -32,6 +32,7 @@ class IndexController extends AdminController protected function grid() { $user = Auth::guard('admin')->user(); + $grid = new Grid(new User); $grid->model()->with(['parent']); $grid->actions(function ($actions) use ($user) { @@ -55,6 +56,8 @@ class IndexController extends AdminController $grid->model()->orderBy('id', 'desc'); + $grid->fixColumns(4, -1); + $grid->quickSearch('username')->placeholder('登录账户'); $grid->filter(function ($filter) { @@ -95,9 +98,16 @@ class IndexController extends AdminController return $this->PaOutletId ?? '---'; }); - $grid->column('门店号')->display(function () { - return $this->shop_id ?? '---'; - })->help('银联pos机配置的门店号'); + $grid->column('门店号') + ->display(function () { + return $this->shop_id ?? '---'; + }) + ->help('银联pos机配置的门店号'); + + $grid->column('下级网点数') + ->display(function () { + return "{$this->children->count()}"; + }); $grid->column('所属项目')->display(function () { return $this->type_text; diff --git a/app/Models/User.php b/app/Models/User.php index 6e0711e..8a50635 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -5,6 +5,8 @@ namespace App\Models; use App\Models\Traits\HasAccount; use App\Models\Traits\HasArea; use DateTimeInterface; +use Illuminate\Database\Eloquent\Relations\HasMany; +use Illuminate\Database\Eloquent\Relations\HasOne; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Support\Facades\DB; @@ -78,18 +80,18 @@ class User extends Authenticatable return $date->format($this->dateFormat ?: 'Y-m-d H:i:s'); } - protected function getNicknameAttribute() + protected function getNicknameAttribute(): string { return $this->info ? $this->info->nickname : ''; } - public function info() + public function info(): HasOne { return $this->hasOne(UserInfo::class); } //渠道商配置 - public function code() + public function code(): HasMany { return $this->hasMany(UserCode::class); } @@ -99,6 +101,11 @@ class User extends Authenticatable return $this->hasOne(User::class, 'id', 'parent_id'); } + public function children(): hasMany + { + return $this->hasMany(User::class, 'parent_id'); + } + /** * Notes: 密码加密 * @Author: