full()->body($this->grid()); } /** * Make a grid builder. * * @return Grid */ protected function grid() { $templateId = isset($_GET['templateId']) ? intval($_GET['templateId']) : 0; $appearanceId = isset($_GET['appearanceId']) ? intval($_GET['appearanceId']) : 0; $distId = isset($_GET['distId']) ? intval($_GET['distId']) : 0; if (empty($templateId) || empty($appearanceId)) { die(' templateId or appearanceId is empty'); } return Grid::make(DistAppearanceVariable::with(['distributor','appearance']), function (Grid $grid) use ($templateId, $appearanceId, $distId) { $grid->column('id')->sortable(); $grid->column('distributor.company_name','Distributor Name')->display(function ($company_name) { if (empty($company_name)) { return 'Raw Template Variables'; } return $company_name; })->help('If the distributor is empty, then use the Raw Template Variables.'); $grid->column('appearance.title','Appearance Title'); $grid->column('template_ids','site variable')->display(function ($templateIds) { if ($templateIds == 0) { return 'Yes'; } else { return 'No'; } }); $grid->column('variable_name'); $grid->column('variable_type')->using(['1' => 'text', '2' => 'textarea', '3' => 'json']); //搜索 $grid->quickSearch(['variable_name']); //工具栏 $grid->disableViewButton(); $grid->showQuickEditButton(); $grid->enableDialogCreate(); $grid->disableEditButton(); $addUrl = '?templateId='. $templateId . '&appearanceId='. $appearanceId . '&distId='. $distId; //排序 $grid->model()->where('appearance_id', $appearanceId)->where('dist_id', $distId)->whereIn('template_ids', [0, $templateId])->orderBy("id",'asc'); //增加js 向新增按钮添加参数还有编辑按钮添加参数 Admin::script( <<field('id'); // $show->field('distributor.company_name','Distributor Name')->as(function ($company_name) { // if (empty($company_name)) { // return 'Site Variable'; // } // return $company_name; // }); // $show->field('appearance.title','Appearance Title'); // $show->field('variable_type')->using(['1' => 'text', '2' => 'textarea', '3' => 'json']); // $show->field('variable_name'); // $show->field('variable_value'); // // $show->field('created_at'); // $show->field('updated_at'); // }); // } /** * Make a form builder. * * @return Form */ protected function form() { $templateId = isset($_GET['templateId']) ? intval($_GET['templateId']) : 0; $appearanceId = isset($_GET['appearanceId']) ? intval($_GET['appearanceId']) : 0; $distId = isset($_GET['distId']) ? intval($_GET['distId']) : 0; return Form::make(new DistAppearanceVariable(), function (Form $form) use ($templateId, $appearanceId, $distId) { $form->display('id'); $form->hidden('appearance_id')->value($appearanceId); $form->hidden('dist_id')->value($distId); $form->hidden('template_ids')->value($templateId); //编辑时当template_ids为0时,site_variable为默认值1,否则为0 $variableDefaul = 0; if (!$form->isCreating()) { if ($form->model()->template_ids == 0) { $variableDefaul = 1; } } $form->switch('site_variable')->value($variableDefaul); $form->radio('variable_type')->options([ '1'=>'text', '2'=>'textarea', '3'=>'json' ])->default(1); $form->text('variable_name'); $form->textarea('variable_value'); $form->ignore(['site_variable']); $form->submitted(function (Form $form) { if ($form->site_variable == 1) { $form->template_ids = 0; } }); }); } }