海工商新版后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

132 lines
4.0 KiB

<?php
namespace App\Admin\Controllers;
use App\Models\AdmissionGuide;
use App\Models\Step;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Http\Controllers\AdminController;
class AdmissionGuideController extends AdminController
{
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
return Grid::make(new AdmissionGuide(), function (Grid $grid) {
//开启边框模式
$grid->withBorder();
// 开启字段选择器功能
$grid->showColumnSelector();
$grid->column('id')->sortable();
$grid->column('step_id')->display(function () {
$info = Step::query()->where("id", $this->step_id)->first("title");
if(!empty($info)){
return $info->title;
}
})->help("该步骤时弹窗显示内容");
$grid->column('content')->limit(50);
$grid->column('msg');
$grid->column('status')->select([1=>"正常", 2=>"禁用"]);
$grid->column('create_time')->display(function (){
if(!empty($this->create_time)){
return date("Y-m-d H:i:s", $this->create_time);
}
})->sortable();
$grid->column('update_time')->display(function (){
if(!empty($this->update_time)){
return date("Y-m-d H:i:s", $this->update_time);
}
});
$grid->filter(function (Grid\Filter $filter) {
$filter->equal('step_id', "步骤")->select(Step::query()->pluck("title as value", "id"));
$filter->equal('status')->select([1 => "正常", 2 => "禁用"]);
});
// 禁用创建按钮
$grid->disableCreateButton();
// 禁用删除按钮
$grid->disableDeleteButton();
//禁用批量操作按钮
$grid->disableBatchDelete();
// 禁用详情按钮
$grid->disableViewButton();
});
}
/**
* Make a show builder.
*
* @param mixed $id
*
* @return Show
*/
protected function detail($id)
{
return Show::make($id, new AdmissionGuide(), function (Show $show) {
$show->field('id');
$show->field('step_id');
$show->field('content');
$show->field('status');
$show->field('create_time');
$show->field('update_time');
$show->field('msg');
});
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
return Form::make(new AdmissionGuide(), function (Form $form) {
$form->display('id');
$form->select('step_id', '步骤')->options(Step::query()->where("status", Step::STATUS_YES)->pluck("title as value", "id"))->required();
$form->select('status', '状态')->options([1 => '正常', 2 => '禁用'])->required();
$form->text('msg');
$form->editor('content');
$form->hidden("create_time");
$form->hidden("update_time");
// 去除删除按钮
$form->disableDeleteButton();
// 去除跳转详情按钮
$form->disableViewButton();
$form->footer(function ($footer) {
// 去掉`查看`checkbox
$footer->disableViewCheck();
// 去掉`继续编辑`checkbox
$footer->disableEditingCheck();
// 去掉`继续创建`checkbox
$footer->disableCreatingCheck();
});
$form->saving(function (Form $form) {
if ($form->isCreating()) {
$form->create_time =time();
// 删除用户提交的数据
$form->deleteInput('update_time');
}else{
$form->update_time =time();
}
});
});
}
}