generated from liutk/owl-admin-base
103 lines
4.6 KiB
PHP
103 lines
4.6 KiB
PHP
<?php
|
|
|
|
namespace App\Admin\Controllers;
|
|
|
|
use Slowlyo\OwlAdmin\Admin;
|
|
use Slowlyo\OwlAdmin\Renderers\Page;
|
|
use Slowlyo\OwlAdmin\Renderers\Form;
|
|
use Slowlyo\OwlAdmin\Renderers\Operation;
|
|
use Slowlyo\OwlAdmin\Controllers\AdminController;
|
|
use App\Services\Admin\UserService;
|
|
use App\Traits\CustomActionTrait;
|
|
|
|
class UserController extends AdminController
|
|
{
|
|
use CustomActionTrait;
|
|
protected string $serviceName = UserService::class;
|
|
|
|
public function list(): Page
|
|
{
|
|
$crud = $this->baseCRUD()->tableLayout('fixed')
|
|
->headerToolbar([
|
|
amis('reload')->align('right'),
|
|
amis('filter-toggler')->align('right'),
|
|
])
|
|
->filter($this->baseFilter()->labelWidth('80px')->body([
|
|
amis()->GroupControl()->mode('horizontal')->body([
|
|
amis()->TextControl('id', __('admin.id'))->columnRatio(3)
|
|
->placeholder(__('admin.id')),
|
|
amis()->TextControl('nick_name', __('admin.users.nick_name'))->columnRatio(3)
|
|
->placeholder(__('admin.users.nick_name')),
|
|
amis()->TextControl('phone', __('admin.users.phone'))->columnRatio(3)
|
|
->placeholder(__('admin.users.phone')),
|
|
]),
|
|
]))
|
|
->columns([
|
|
amis()->TableColumn('id', __('admin.id'))->width('50px')->sortable(),
|
|
amis()->TableColumn('nick_name', __('admin.users.nick_name')),
|
|
amis()->TableColumn('avatar', __('admin.users.avatar'))->type('image')->height('50px')->width('50px')->enlargeAble(true),
|
|
amis()->TableColumn('phone', __('admin.users.phone')),
|
|
amis()->TableColumn('mini_openid', __('admin.users.mini_openid')),
|
|
amis()->TableColumn('created_at', __('admin.users.created_at'))->type('datetime')->sortable(true),
|
|
amis()->TableColumn('bind_phone_at', __('admin.users.bind_phone_at'))->type('datetime')->sortable(true),
|
|
amis()->TableColumn('last_login_at', __('admin.users.last_login_at')),
|
|
amis()->TableColumn('last_ip', __('admin.users.last_login_ip')),
|
|
|
|
// Operation::make()->label(__('admin.actions'))->buttons([
|
|
// $this->rowShowTypeButton('drawer', 'xl'),
|
|
// ])
|
|
]);
|
|
|
|
return $this->baseList($crud);
|
|
}
|
|
|
|
public function form($isEdit = false): Form
|
|
{
|
|
return $this->baseForm()->body([
|
|
]);
|
|
}
|
|
|
|
public function detail()
|
|
{
|
|
$form = amisMake()->form()->title('')->panelClassName('border-r border-t-0 border-b-0 border-l-0')->mode('horizontal')
|
|
->static(true)->actions([])
|
|
->body([
|
|
amis()->FieldSetControl()->title('用户信息')->body([
|
|
amis()->TextControl('nick_name', __('admin.users.nick_name'))->required(true),
|
|
amis()->Image()->type('static-image')->name('avatar')->label( __('admin.users.avatar'))->height('80px')->width('80px')->thumbMode('cover')->enlargeAble(true)->required(true),
|
|
amis()->TextControl('phone', __('admin.users.phone'))->required(true),
|
|
amis()->DateTimeControl('created_at', __('admin.users.created_at'))->format('YYYY-MM-DD HH:mm:ss')->required(true),
|
|
amis()->DateTimeControl('bind_phone_at', __('admin.users.bind_phone_at'))->format('YYYY-MM-DD HH:mm:ss')->required(true),
|
|
|
|
amis()->TextControl('last_ip', __('admin.users.last_login_ip'))->required(true),
|
|
amis()->DateTimeControl('last_login_at', __('admin.users.last_login_at'))->format('YYYY-MM-DD HH:mm:ss')->required(true),
|
|
]),
|
|
]);
|
|
|
|
return amisMake()->Grid()->columns([
|
|
amis()->Column()->body($form)->md(4),
|
|
amis()->Column()->body([
|
|
amisMake()->form()->title('')->panelClassName('border-0')->mode('horizontal')
|
|
->static(true)->actions([])
|
|
->body([
|
|
amis()->FieldSetControl()->title('竞猜场次')->body([
|
|
amisMake()->CRUDTable()->affixHeader(false)->perPage(10)->loadDataOnce(true)
|
|
->title('')
|
|
->api()
|
|
->columns([
|
|
|
|
]),
|
|
])
|
|
])
|
|
])->md(8),
|
|
]);
|
|
}
|
|
|
|
public function detailActions()
|
|
{
|
|
return [
|
|
//返回
|
|
amis()->Button()->actionType('cancel')->label(__('admin.back'))->primary()
|
|
];
|
|
}
|
|
} |