From b4d06b89faea8ce94f7363dbea9c80ebde840689 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Fri, 23 Feb 2024 16:32:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AF=A6=E6=83=85=E9=A1=B5?= =?UTF-8?q?=E5=8F=98=E5=8A=A8=E6=98=8E=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/PersonController.php | 16 +++++++++++++++- app/Models/PersonChange.php | 5 +++++ app/Services/Admin/PersonChangeService.php | 1 + 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/app/Admin/Controllers/PersonController.php b/app/Admin/Controllers/PersonController.php index 061d789..ebf3524 100644 --- a/app/Admin/Controllers/PersonController.php +++ b/app/Admin/Controllers/PersonController.php @@ -9,6 +9,7 @@ use Slowlyo\OwlAdmin\Controllers\AdminController; use App\Services\Admin\PersonService; use App\Traits\CustomActionTrait; use App\Models\Keyword; +use App\Models\PersonChange; use App\Admin\Components; use Slowlyo\OwlAdmin\Renderers\Drawer; use Slowlyo\OwlAdmin\Renderers\Dialog; @@ -298,7 +299,20 @@ class PersonController extends AdminController "*"=> '其他:${gender}' ]), ]) - ]) + ]), + amis()->FieldSetControl()->title('户籍变动')->className('mt-10')->body([ + amisMake()->CRUDTable()->affixHeader(false)->columnsTogglable(false) + ->title('') + ->api(admin_url('person_changes?_action=getData&person[id]=${id}&perPage=5')) + ->columns([ + amis()->TableColumn('changed_at', __('admin.person_changes.changed_at'))->width('100px'), + amis()->TableColumn('type', __('admin.person_changes.type'))->type('mapping')->map(PersonChange::typeMap()), + amis()->TableColumn('extends_mark', __('admin.person_changes.extends_mark')), + amis()->TableColumn('phone', __('admin.person_changes.phone')), + amis()->TableColumn('remark', __('admin.person_changes.remark')), + amis()->TableColumn('created_at', __('admin.person_changes.created_at'))->type('datetime')->sortable(true), + ]) + ]) ]) ])->md(6), ]); diff --git a/app/Models/PersonChange.php b/app/Models/PersonChange.php index 80d01d8..b55904d 100644 --- a/app/Models/PersonChange.php +++ b/app/Models/PersonChange.php @@ -26,6 +26,11 @@ class PersonChange extends Model 'extends' => 'array', ]; + public function scopeSort($q) + { + $q->orderBy('changed_at', 'desc')->orderBy('created_at', 'desc'); + } + public static function typeMap() { return [ diff --git a/app/Services/Admin/PersonChangeService.php b/app/Services/Admin/PersonChangeService.php index 97d1eee..21b95cd 100644 --- a/app/Services/Admin/PersonChangeService.php +++ b/app/Services/Admin/PersonChangeService.php @@ -19,4 +19,5 @@ class PersonChangeService extends BaseService protected array $withRelationships = ['person', 'person.organizedBody']; + protected bool $modelSortAble = true; } \ No newline at end of file