header('帮助中心')
->description(' ')
->body($this->grid());
}
/**
* Show interface.
*
* @param mixed $id
* @param Content $content
* @return Content
*/
public function show($id, Content $content)
{
return $content
->header('帮助中心')
->description(' ')
->body($this->detail($id));
}
/**
* Edit interface.
*
* @param mixed $id
* @param Content $content
* @return Content
*/
public function edit($id, Content $content)
{
return $content
->header('帮助中心')
->description(' ')
->body($this->form()->edit($id));
}
/**
* Create interface.
*
* @param Content $content
* @return Content
*/
public function create(Content $content)
{
return $content
->header('帮助中心')
->description(' ')
->body($this->form());
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
$grid = new Grid(new Help);
$grid->model()->orderBy('list_order', 'desc')->orderBy('created_at', 'desc');
$grid->title('标题')->display(function () {
$cate = HelpCategory::where(array('id'=>$this->type_id))->first();
if ($this->parent_id=='0') {
$params = '?type_id=&parent_id='.$this->type_id;
} else {
$params = '?type_id='.$this->type_id.'&parent_id='.$this->parent_id;
}
$title_url = url(admin_base_path().'/content/help/index'.$params);
return '['.$cate->category_name.']'.' '.$this->title;
})->width(450);
$grid->list_order('排序');
$grid->click('点击量');
$grid->created_at('添加时间');
$grid->tools(function (Grid\Tools $tools) {
$tools->disableRefreshButton();
});
//新增按钮
if (userAdmin::user()->can('content_help_list_create')) {
$grid->disableCreateButton(false);
}
//批量删除
if (userAdmin::user()->can('content_help_list_delete')) {
$grid->tools(function ($tools) {
$tools->batch(function ($batch) {
$batch->disableDelete(false);
});
});
} else {
$grid->disableRowSelector();
}
$grid->actions(function ($actions) {
if (userAdmin::user()->can('content_help_list_edit')) {
$actions->disableEdit(false);
}
if (userAdmin::user()->can('content_help_list_delete')) {
$actions->disableDelete(false);
}
});
$this->script = <<script);
$grid->filter(function ($filter) {
$filter->disableIdFilter();
$filter->equal('ID', 'ID');
$filter->like('title', '标题');
$cate_option = HelpCategory::where(array('parent_id'=>0))->OrderBy('list_order', 'desc')->OrderBy('created_at', 'desc')->get()->pluck('category_name', 'id');
$cate_option = $cate_option->toArray();
$cate_option = array(''=>'不限')+$cate_option;
$filter->where(function ($query) {
$query->where('parent_id', '=', "{$this->input}")->orWhere('type_id', '=', "{$this->input}");
}, '帮助分类', 'parent_id')->select($cate_option)->load('type_id', 'childCategory', 'id', 'category_name');
$pid = \Illuminate\Support\Facades\Request::input('parent_id');
if ($pid) {
$child_option = HelpCategory::where(array('parent_id'=>$pid))->OrderBy('list_order', 'desc')->OrderBy('created_at', 'desc')->get()->pluck('category_name', 'id')->toArray();
$child_option = array(''=>'不限')+$child_option ;
} else {
$child_option = array(''=>'不限');
}
$filter ->equal('type_id', '子分类')->select($child_option);
});
return $grid;
}
public function childCategorys(Request $request)
{
$parent_id = $request->get('q');
$rst = HelpCategory::where('parent_id', $parent_id)->get(['id', 'category_name'])->toArray();
$pre_arr = array('id'=>'','category_name'=>'不限');
array_unshift($rst, $pre_arr);
return collect($rst);
}
/**
* Make a show builder.
*
* @param mixed $id
* @return Show
*/
protected function detail($id)
{
$show = new Show(Help::findOrFail($id));
$show->id('ID');
$show->title('标题');
/*$show->show_category()->category_name('所属分类');*/
$show->show_category("所属分类")->as(function ($show_category) {
return $show_category->category_name;
});
$show->content('内容')->as(function ($content) {
return $content?$content:' ';
})->setEscape(false);
$show->list_order('排序');
$show->click('点击量');
$show->created_at('添加时间');
$show->updated_at('更新时间');
/*$show->panel()
->tools(function ($tools) {
$tools->disableEdit();
$tools->disableDelete();
});*/
return $show;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new Help);
$form->text('title', '标题')->rules('required|max:50', array('required'=>'标题不能为空。','max'=>'标题长度不能超过50。'))->setWidth(4)->setMustMark();
$form->number('list_order', '排序')->min(0)->default(0)->rules('required', array('required'=>'排序不能为空。'))
->attribute('maxlength', '10')->help('数字越大越靠前')->setMustMark();
$cate_option = HelpCategory::selectOptions(function ($query) {
return $query->orderBy('list_order', 'desc')->orderBy('created_at', 'desc');
});
unset($cate_option[0]);
$form->select('type_id', '帮助分类')->options($cate_option)
->default(key($cate_option))->rules('required', array('required'=>'请选择帮助分类。'))
->setWidth(4)->setMustMark();
$form->editor('content', '内容')->rules('required', array('required'=>'内容不能为空。'))->setMustMark();
$form->hidden('parent_id');
$form->hidden('click');
$form->saving(function (Form $form) {
if (!$id = $form->model()->id) {
$form->click = 0;
}
$type_info = HelpCategory::find($form->type_id);
$form->parent_id = $type_info->parent_id;
});
$form->footer(function ($footer) {
$footer->disableViewCheck();
$footer->disableEditingCheck();
$footer->disableCreatingCheck();
$footer->disableReset();
});
$form->tools(function (Form\Tools $tools) {
$tools->disableDelete();
$tools->disableView();
});
return $form;
}
}