header(admin_trans('admin.video_category')) ->description(admin_trans('admin.all')) ->breadcrumb(['text'=>'Video Category','url'=>'']) ->body($this->grid()); } /** * Make a grid builder. * * @return Grid */ protected function grid() { return Grid::make(new DistVideoCategory(), function (Grid $grid) { $grid->column('id')->sortable(); $grid->column('name'); //$grid->column('parent_id'); $grid->column('order')->orderable(); $grid->column('enabled')->switch(); $grid->column('created_at'); $grid->column('updated_at')->sortable(); //$grid->quickSearch('name'); //按钮 $grid->disableViewButton(); $grid->showQuickEditButton(); $grid->enableDialogCreate(); $grid->disableEditButton(); //权限与排序 $grid->model()->where('dist_id', getDistributorId());//这里限不了,改为仓库限制 $grid->model()->orderBy('order', 'asc'); }); } /** * Make a form builder. * * @return Form */ protected function form() { return Form::make(new DistVideoCategory(), function (Form $form) { $form->display('id'); $form->text('name')->required(); $form->switch('enabled')->default(1); //SEO $form->radio('visibility')->when(1,function (Form $form) { $form->text('seo_title'); $form->text('seo_keywords'); $form->textarea('seo_description'); $form->text('slug',admin_trans_label('url_and_handle'))->width(9, 2)->prepend(getSiteDomain().config('dictionary.site_url.video_category').'/'); })->options(config('dictionary.visibility'))->default(1)->value(1); //隐藏 $form->hidden('dist_id'); // 隐藏dist_id字段,用于保存 $form->ignore(['visibility']); //新建时插入JS $form->creating(function (Form $form) { CommonHelper::seoReplace('name','videoCategory'); }); //保存前 $form->saving(function (Form $form) { $form->dist_id =getDistributorId();//保存时直接写死dist_id $id = $form->getKey(); //slug配置是否重复 if ($form->slug != '') { if (DistVideoCategory::isRepeatedSlug($id, $form->slug)) { //slug重复 return $form->response()->error(admin_trans_label('url_repeated')); } } //当slug为空时生成slug if ($form->slug == '') { $form->slug = DistVideoCategory::generateSlug($form->title); } }); }); } }