From 764ce7b300a6579923450756b2ae72845ce0bcd0 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Tue, 20 Feb 2024 21:16:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=BA=E5=8F=A3=E6=96=B0?= =?UTF-8?q?=E5=A2=9Ebug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/PersonController.php | 8 ++++++++ app/Models/Person.php | 9 ++++++++- app/Services/Admin/PersonService.php | 5 +++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/app/Admin/Controllers/PersonController.php b/app/Admin/Controllers/PersonController.php index e1a23ad..659d7d1 100644 --- a/app/Admin/Controllers/PersonController.php +++ b/app/Admin/Controllers/PersonController.php @@ -51,6 +51,14 @@ class PersonController extends AdminController amis()->DateRangeControl()->label(__('admin.persons.birthday'))->name('birthday')->valueFormat('YYYY-MM-DD')->columnRatio(6), ]), ])) + ->itemBadge([//行角标 + 'text' => __('admin.persons.master'), + 'mode' => 'ribbon', + 'position' => 'top-left', + 'badgeLevel' => 'danger', + 'visibleOn' => '${is_master > 0}', + 'size' => 15 + ]) ->columns([ amis()->TableColumn('domicile_code', __('admin.persons.domicile_code'))->width('100px'), amis()->TableColumn('name', __('admin.persons.name'))->width('100px')->copyable()->searchable(), diff --git a/app/Models/Person.php b/app/Models/Person.php index 5596ba3..a82aaed 100644 --- a/app/Models/Person.php +++ b/app/Models/Person.php @@ -25,7 +25,14 @@ class Person extends Model protected static function boot() { parent::boot(); - // 监听 oldman 的创建事件,用于初始化 位置信息 + // 监听 人口 的创建事件,用于初始化 位置信息 + static::created(function ($person) { + if(empty($person->master_id) && $person->master_connect){ + $person->master_id = $person->id; + $person->is_master = 1; + $person->save(); + } + }); static::saving(function ($person) { if($person->origin_city_code){ list($originProvince, $originCity, $originArea) = Zone::codeToZone($person->origin_city_code); diff --git a/app/Services/Admin/PersonService.php b/app/Services/Admin/PersonService.php index 29af17d..52c2d58 100644 --- a/app/Services/Admin/PersonService.php +++ b/app/Services/Admin/PersonService.php @@ -36,6 +36,11 @@ class PersonService extends BaseService $data['avatar'] = $this->saveImage('avatar', 'persons/avatar')[0] ?? ''; + if(isset($data['master'])){ + $data['master_id'] = $data['master']; + unset($data['master']); + } + foreach ($data as $k => $v) { if (!in_array($k, $columns)) { continue;