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 LinkCategory); $grid->category_name('分类名称'); $grid->alias('调用名称'); $grid->admin_set('类型')->display(function () { return $this->admin_set?'系统分类':'自定义分类'; }); $grid->created_at('添加时间'); /*$grid->updated_at('更新时间'); $grid->tools(function (Grid\Tools $tools) { $tools->disableRefreshButton(); });*/ $grid->disableFilter(); $grid->actions(function ($actions) { if (Admin::user()->can('content_link_category_edit')) { $actions->disableEdit(false); } if (Admin::user()->can('content_link_category_delete') && $actions->row['admin_set']!=1) { $actions->disableDelete(false); } }); //新增按钮 if (Admin::user()->can('content_link_category_create')) { $grid->disableCreateButton(false); } //批量删除 if (Admin::user()->can('content_link_category_delete')) { $grid->tools(function ($tools) { $tools->batch(function ($batch) { $batch->disableDelete(false); }); }); } else { $grid->disableRowSelector(); } return $grid; } /** * Make a show builder. * * @param mixed $id * @return Show */ protected function detail($id) { $show = new Show(LinkCategory::findOrFail($id)); $show->id('ID'); $show->category_name('分类名称'); $show->alias('调用名称'); $show->admin_set('系统分类')->as(function ($admin_set) { return $admin_set?'是':'否'; }); $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 LinkCategory); $form->text('category_name', '分类名称')->rules('required|max:25', array('required'=>'分类名称不能为空。','max'=>'分类名称长度不能大于25。'))->setWidth(4)->setMustMark(); $form->text('alias', '调用名称')->rules('required|max:25', array('required'=>'调用名称不能为空。','max'=>'调用名称长度不能大于25。'))->setWidth(4)->help('(自定义链接分类调用名不可以以“AIX_”开头)')->setMustMark(); $form->footer(function ($footer) { $footer->disableViewCheck(); $footer->disableEditingCheck(); $footer->disableCreatingCheck(); $footer->disableReset(); }); $form->tools(function (Form\Tools $tools) { $tools->disableDelete(); $tools->disableView(); }); return $form; } public function destroy($id) { $id_arr = explode(',', $id); $admin_set_cates = LinkCategory::where(array('admin_set'=>'1'))->select('id')->get()->pluck('id')->toArray(); foreach ($id_arr as $k => $v) { if (in_array($v, $admin_set_cates)) { unset($id_arr[$k]); } } $filter_id = implode(',', $id_arr); if ($this->form()->destroy($filter_id)) { $data = [ 'status' => true, 'message' => trans('admin.delete_succeeded'), ]; } else { $data = [ 'status' => false, 'message' => trans('admin.delete_failed'), ]; } return response()->json($data); } }