guessing-miniprogram/app/Admin/Controllers/UserController.php

66 lines
2.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
{
return $this->baseDetail()->body([
]);
}
}