<?php namespace App\Admin\Controllers; use App\Http\Controllers\Controller; use App\Model\Video; use Encore\Admin\Form; use Encore\Admin\Grid; use Encore\Admin\Facades\Admin; use Encore\Admin\Layout\Content; use Encore\Admin\Controllers\ModelForm; use function Clue\StreamFilter\fun; class VideoController extends Controller { use ModelForm; public function index() { return Admin::content(function (Content $content) { $content->header('视频'); $content->description('列表'); $content->body($this->grid()); }); } public function create() { return Admin::content(function (Content $content) { $content->header('视频'); $content->description('新增'); $content->body($this->form()); }); } public function edit($id) { return Admin::content(function (Content $content) use ($id) { $content->header('视频'); $content->description('列表'); $content->body($this->form($id)->edit($id)); }); } protected function form($id = '') { return Admin::form(Video::class, function (Form $form) { $form->display('id' , '编号'); $form->text('title' , '标题')->required(); // $form->file('cover_img' , '封面图')->uniqueName(); // $form->text('page_view' , '页面浏览数'); $form->file('video_url' , '视频')->uniqueName(); $form->select('status' , '视频状态')->options([1 => '正常' , 2 => '隐藏']); }); } // Grid protected function grid() { return Admin::grid(Video::class, function (Grid $grid) { $grid->id('编号')->sortable(); $grid->model()->orderBy('id','desc'); $grid->title('标题'); $grid->video_url('视频')->display(function ($video_url) { $url = env('APP_URL').'/uploads/'.$video_url; return '<video width="200" height="150" controls><source src="' . $url . '"></video>'; })->link(); $grid->page_view('浏览数'); $grid->created_at('创建时间'); $grid->updated_at('更新时间'); $grid->status('状态')->display(function ($status){ if(1 == $status) { return "<span class='btn btn-success'>正常</span>"; } else { return "<span class='btn btn-danger'>隐藏</span>"; } }); // 禁用导出数据按钮 $grid->actions(function ($actions) { $actions->disableView(); //$actions->disableEdit(); }); }); } }