fulinqingjie/app/Admin/Controllers/ProjectCateController.php

73 lines
2.9 KiB
PHP

<?php
namespace App\Admin\Controllers;
use Slowlyo\OwlAdmin\Renderers\Page;
use Slowlyo\OwlAdmin\Renderers\Form;
use Slowlyo\OwlAdmin\Controllers\AdminController;
use App\Services\Admin\ProjectCateService;
use App\Traits\CustomActionTrait;
use App\Admin\Components;
/**
* 业务范围
*
* @property ProjectCateService $service
*/
class ProjectCateController extends AdminController
{
use CustomActionTrait;
protected string $serviceName = ProjectCateService::class;
public function list(): Page
{
$crud = $this->baseCRUD()->tableLayout('fixed')
->headerToolbar([
$this->createTypeButton('drawer', 'md'),
...$this->baseHeaderToolBar(),
])
->filter($this->baseFilter()->body([
amis()->GroupControl()->mode('horizontal')->body([
// amis()->TextControl('id', __('admin.project_cates.id'))->columnRatio(3)
// ->placeholder(__('admin.id')),
amis()->TextControl('title', __('admin.project_cates.title'))->columnRatio(3)
->placeholder(__('admin.project_cates.title')),
]),
]))
->columns([
amis()->TableColumn('id', 'ID')->sortable()->width('50px'),
amis()->TableColumn('title', __('admin.project_cates.title')),
amis()->TableColumn('cover_url', __('admin.project_cates.cover'))->type('image')->height('50px')->width('250px')->enlargeAble(true),
// amis()->TableColumn('description', __('admin.project_cates.description')),
amis()->TableColumn('is_enable', __('admin.project_cates.is_enable'))->type('switch'),
amis()->TableColumn('created_at', __('admin.created_at'))->set('type', 'datetime')->sortable()->width('150px'),
amis()->Operation()->label(__('admin.actions'))->buttons([
$this->rowEditTypeButton('drawer', 'md'),
$this->rowDeleteButton(),
])
]);
return $this->baseList($crud);
}
public function form($isEdit = false): Form
{
return $this->baseForm()->panelClassName('px-0')->body([
amis()->Grid()->columns([
amis()->Wrapper()->body([
amis()->TextControl('title', __('admin.project_cates.title'))->required(true),
Components::make()->cropImageControl('cover', __('admin.project_cates.cover'), 1.68)->required(true),
amis()->TextareaControl('description', __('admin.project_cates.description')),
Components::make()->sortControl('sort', __('admin.project_cates.sort')),
amis()->SwitchControl('is_enable', __('admin.project_cates.is_enable'))->value(false),
])
]),
]);
}
public function detail(): Form
{
return $this->baseDetail()->body([]);
}
}