阶段性更新

This commit is contained in:
2021-10-09 13:12:45 +08:00
parent ae95c5540b
commit d89bc90cef
248 changed files with 8676 additions and 5682 deletions

View File

@@ -21,7 +21,7 @@ class IndexController extends AdminController
$grid->filter(function ($filter) {
$filter->column(1 / 2, function ($filter) {
$filter->like('title', '文章标题');
$filter->equal('categories.id', '所属分类')->select(Category::selectOptions(function ($model) {
$filter->equal('category_id', '所属分类')->select(Category::selectOptions(function ($model) {
return $model->where('status', 1)->whereIn('type', [Category::TYPE_ARTICLE, Category::TYPE_SHOW]);
}, '所有分类'));
});
@@ -31,9 +31,7 @@ class IndexController extends AdminController
$grid->column('id', '#ID#');
$grid->column('cover', '封面图片')->image('', 100);
$grid->column('所属分类')->display(function () {
return $this->categories()->pluck('title');
})->label();
$grid->column('category.title', '所属分类');
$grid->column('title', '文章标题');
$states = [
'on' => ['value' => 1, 'text' => '打开', 'color' => 'primary'],
@@ -51,8 +49,11 @@ class IndexController extends AdminController
$form = new Form(new Article);
$form->text('title', '文章标题')->rules('min:2');
$form->belongsToMany('categories', CategorySelectAble::class, __('关联分类'));
$form->text('remark', '子标题');
$form->select('category_id', '上级分类')
->options(Category::selectOptions(function ($model) {
return $model->where('status', 1)->whereIn('type', [Category::TYPE_ARTICLE, Category::TYPE_SHOW]);
}, '一级分类'));
$form->textarea('description', '内容简介');
$form->image('cover', '封面')
->move('images/' . date('Y/m/d'))

View File

@@ -33,6 +33,7 @@ class IndexController extends AdminController
return $model->where('status', 1);
}, '一级分类'));
$form->text('title', '分类名称')->rules('required');
$form->text('alias', '别名');
$form->select('type', '分类类型')
->options(Category::TYPES)
->when('show', function (WidgetsForm $form) {
@@ -46,10 +47,15 @@ class IndexController extends AdminController
->required();
$form->textarea('description', '分类简介')
->rules('nullable');
$form->image('logo', 'Logo')
->move('logos/' . date('Y/m/d'))
->removable()
->uniqueName();
$form->image('cover', '封面')
->move('images/' . date('Y/m/d'))
->removable()
->uniqueName();
$form->text('template', '模板');
$form->number('order', '排序')->default(0);
$form->switch('top_show', '顶部导航显示')->states()->default(0);
$form->switch('status', '显示')->states()->default(1);
@@ -76,8 +82,9 @@ class IndexController extends AdminController
}
$payload .= " [ID:{$branch['id']}] - ";
$payload .= " <strong>{$branch['title']}</strong> ";
$payload .= " <strong>{$branch['alias']}</strong> ";
$payload .= " <small>{$branch['type']}</small> ";
$payload .= " <small style='color:#999'>{$branch['description']}</small>";
$payload .= " <small style='color:#999'>{$branch['template']}</small>";
return $payload;
});
@@ -88,7 +95,7 @@ class IndexController extends AdminController
* Make a form builder.
* @return Form
*/
protected function form()
protected function form(): Form
{
$form = new Form(new Category);
@@ -96,6 +103,7 @@ class IndexController extends AdminController
return $model->where('status', 1);
}, '一级分类'));
$form->text('title', '分类名称')->rules('required');
$form->text('alias', '别名');
$form->select('type', '分类类型')
->options(Category::TYPES)
->when('show', function (Form $form) {
@@ -109,10 +117,15 @@ class IndexController extends AdminController
->required()
->rules('required');
$form->textarea('description', '分类简介')->rows(4)->rules('nullable');
$form->image('logo', 'Logo')
->move('logos/' . date('Y/m/d'))
->removable()
->uniqueName();
$form->image('cover', '封面')
->move('images/' . date('Y/m/d'))
->removable()
->uniqueName();
$form->text('template', '模板');
$form->number('order', '排序')->default(0)->help('正序优先');
$form->switch('top_show', '顶部导航显示')->states()->default(0);
$form->switch('status', '显示')->states()->default(1);

View File

@@ -0,0 +1,80 @@
<?php
namespace App\Admin\Controllers\Video;
use App\Models\Advert;
use App\Models\Category;
use App\Models\Video;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
class IndexController extends AdminController
{
protected $title = '视频资源';
protected function grid()
{
$grid = new Grid(new Video());
$grid->filter(function ($filter) {
$filter->column(1 / 2, function ($filter) {
$filter->like('title', '视频名称');
$filter->like('category.id', '分类名称')
->select(Category::selectOptions(function ($model) {
return $model->where('status', 1)->where('type', Category::TYPE_ADVERT);
}, '所有分类'));
});
$filter->disableIdFilter();
});
$grid->column('id');
$grid->column('title', '视频名称');
$grid->column('cover', '视频地址')->downloadable();
$grid->column('category.title', '分类名称');
$grid->column('url', '地址');
$grid->column('sort', '排序');
return $grid;
}
/**
* Make a form builder.
* @return Form
*/
protected function form()
{
$form = new Form(new Video());
$form->text('title', '视频名称')->required();
$form->select('category_id', '所属分类')
->options(Category::selectOptions(function ($model) {
return $model->where('status', 1);
}, '选择分类'))
->rules('required|min:1', [
'required' => '必须选择所属分类',
'min' => '必须选择所属分类',
]);
$form->file('cover', '视频')
->rules(function ($form) {
if ($form->model()->cover != []) {
return 'nullable|image';
} else {
return 'required';
}
})
->move('videos/' . date('Y/m/d'))
->removable()
->uniqueName();
$form->text('url', '链接地址');
$form->number('sort', '排序')
->default(1)
->required()
->help('数字越大越靠前');
return $form;
}
}