header('HR工具箱分类') ->description('系统分类不能删除') ->body($this->grid()); } /** * Show interface. * * @param mixed $id * @param Content $content * @return Content */ public function show($id, Content $content) { return $content ->header('HR工具箱分类') ->description(' ') ->body($this->detail($id)); } /** * Edit interface. * * @param mixed $id * @param Content $content * @return Content */ public function edit($id, Content $content) { return $content ->header('HR工具箱分类') ->description(' ') ->body($this->form()->edit($id)); } /** * Create interface. * * @param Content $content * @return Content */ public function create(Content $content) { return $content ->header('HR工具箱分类') ->description(' ') ->body($this->form()); } /** * Make a grid builder. * * @return Grid */ protected function grid() { $grid = new Grid(new HrtoolsCategory); $grid->model()->orderBy('list_order', 'desc')->orderBy('created_at', 'desc'); $grid->id('ID'); $grid->category_name('分类名称')->display(function () { return $this->category_name.' [id:'.$this->id.']'; }); $grid->admin_set('类型')->display(function () { return $this->admin_set?'系统分类':'自定义分类'; }); $grid->list_order('排序'); $grid->created_at('添加时间'); /* $grid->updated_at('更新时间'); $grid->tools(function (Grid\Tools $tools) { $tools->disableRefreshButton(); }); */ $grid->disableFilter(); //新增按钮 if (Admin::user()->can('content_hrtools_category_create')) { $grid->disableCreateButton(false); } //批量删除 if (Admin::user()->can('content_hrtools_category_delete')) { $grid->tools(function ($tools) { $tools->batch(function ($batch) { $batch->disableDelete(false); }); }); } else { $grid->disableRowSelector(); } $grid->actions(function ($actions) { if (Admin::user()->can('content_hrtools_category_edit')) { $actions->disableEdit(false); } if (Admin::user()->can('content_hrtools_category_delete') && $actions->row['admin_set']!=1) { $actions->disableDelete(false); } }); return $grid; } /** * Make a show builder. * * @param mixed $id * @return Show */ protected function detail($id) { $show = new Show(HrtoolsCategory::findOrFail($id)); $show->id('ID'); $show->category_name('分类名称'); $show->category_img('缩略图')->image(); $show->content('描述')->setEscape(false); $show->list_order('排序'); $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 HrtoolsCategory); $form->text('category_name', '分类名称')->rules('required|max:30', array('分类名称不能为空!','max'=>'分类名称长度不能大于30。'))->setWidth(4)->setMustMark(); $form->image('category_img', '缩略图')->uniqueName()->rules('image|mimes:gif,jpeg,bmp,png', array('image'=>'缩略图必须是图片文件。','mimes'=>'缩略图文件格式不正确。'))->setWidth(4); $form->textarea('content', '描述')->rules('max:100', array('max'=>'描述长度不能大于100。')); $form->number('list_order', '排序')->min(0)->default(0)->rules('required|max:10', array('required'=>'排序不能为空。','max'=>'排序长度不能大于10。'))->help('(数字越大越靠前)')->setMustMark(); $form->hidden('admin_set')->value(0); $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 = HrtoolsCategory::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); } }