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;