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: