generated from liutk/owl-admin-base
76 lines
2.9 KiB
PHP
76 lines
2.9 KiB
PHP
<?php
|
|
|
|
namespace App\Admin\Controllers\System;
|
|
|
|
use App\Admin\Components;
|
|
use App\Admin\Services\KeywordService;
|
|
use Illuminate\Http\Request;
|
|
use Slowlyo\OwlAdmin\Admin;
|
|
use Slowlyo\OwlAdmin\Controllers\AdminController;
|
|
use Slowlyo\OwlAdmin\Renderers\Form;
|
|
use Slowlyo\OwlAdmin\Renderers\Page;
|
|
use Slowlyo\OwlAdmin\Renderers\TableColumn;
|
|
use Slowlyo\OwlAdmin\Renderers\TextControl;
|
|
|
|
/**
|
|
* @property KeywordService $service
|
|
*/
|
|
class KeywordController extends AdminController
|
|
{
|
|
protected string $serviceName = KeywordService::class;
|
|
|
|
public function list(): Page
|
|
{
|
|
$crud = $this->baseCRUD()
|
|
//去掉分页-start
|
|
->loadDataOnce(true)
|
|
->footerToolbar([])
|
|
//去掉分页-end
|
|
->headerToolbar([
|
|
$this->createButton(true)->visible(Admin::user()->can('admin.system.keywords.create')),
|
|
$this->exportAction(),
|
|
amis('reload')->align('right'),
|
|
amis('filter-toggler')->align('right'),
|
|
])
|
|
->filter($this->baseFilter()->body([
|
|
amis()->TextControl('name', __('admin.keyword'))
|
|
->size('md')
|
|
->placeholder(__('admin.keywords.search_name')),
|
|
amis()->TextControl('parent_name', __('admin.keywords.parent_keyword'))
|
|
->size('md')
|
|
->placeholder(__('admin.keywords.search_name')),
|
|
]
|
|
))
|
|
->columns([
|
|
// TableColumn::make()->name('id')->label('ID')->sortable(true),
|
|
TableColumn::make()->name('name')->label('名称'),
|
|
TableColumn::make()->name('key')->label('KEY')->copyable(true),
|
|
TableColumn::make()->name('value')->label('值'),
|
|
TableColumn::make()->name('sort')->label('排序'),
|
|
TableColumn::make()->name('created_at')->label('创建时间')->type('datetime')->sortable(true),
|
|
amisMake()->Operation()->label(__('admin.actions'))->buttons([
|
|
$this->rowEditButton(true)->visible(Admin::user()->can('admin.system.keywords.update')),
|
|
$this->rowDeleteButton()->visible(Admin::user()->can('admin.system.keywords.delete')),
|
|
]),
|
|
]);
|
|
|
|
return $this->baseList($crud);
|
|
}
|
|
|
|
public function form(): Form
|
|
{
|
|
return $this->baseForm()->body([
|
|
Components::make()->parentControl(admin_url('api/keywords/tree-list')),
|
|
TextControl::make()->name('name')->label('名称')->required(true),
|
|
TextControl::make()->name('key')->label('KEY')->required(true),
|
|
TextControl::make()->name('value')->label('值'),
|
|
amisMake()->NumberControl()->name('sort')->value(0)->min()->label('排序'),
|
|
]);
|
|
}
|
|
|
|
public function getTreeList(Request $request)
|
|
{
|
|
return $this->service->getTree();
|
|
}
|
|
}
|