ProductSpecGroupController.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Models\ProductSpecGroup;
  4. use Dcat\Admin\Form;
  5. use Dcat\Admin\Grid;
  6. use Dcat\Admin\Show;
  7. use Dcat\Admin\Http\Controllers\AdminController;
  8. class ProductSpecGroupController extends AdminController
  9. {
  10. protected $product_id;
  11. public function __construct()
  12. {
  13. $route = \request()->route();
  14. $this->product_id = $route->parameters['id'];
  15. }
  16. /**
  17. * Make a grid builder.
  18. *
  19. * @return Grid
  20. */
  21. protected function grid()
  22. {
  23. return Grid::make(ProductSpecGroup::with('product'), function (Grid $grid) {
  24. $grid->model()->orderByDesc('sort');
  25. $grid->column('id')->sortable();
  26. $grid->column('product_id')->display(function (){
  27. return $this->product->name;
  28. })->label('info');
  29. $grid->column('name')->label('success');
  30. $grid->column('is_opened')->switch();
  31. $grid->column('sort')->editable();
  32. $grid->column('created_at');
  33. $url = admin_url('/product/'.$this->product_id.'/spec');
  34. $grid->tools('<a href="'.$url.'" class="btn btn-primary btn-outline" style="position: absolute;right: 118px;">
  35. <i class="fa fa-align-left"></i> 规格管理</a>');
  36. $grid->disableViewButton();
  37. });
  38. }
  39. /**
  40. * Make a form builder.
  41. *
  42. * @return Form
  43. */
  44. protected function form()
  45. {
  46. return Form::make(new ProductSpecGroup(), function (Form $form) {
  47. $form->display('id');
  48. $form->hidden('product_id')->value($this->product_id);
  49. $form->text('name')->required();
  50. $form->radio('is_opened')->options(config('global.bool_status'))->default(1);
  51. $form->number('sort');
  52. $form->disableViewButton();
  53. $form->disableDeleteButton();
  54. $form->disableListButton();
  55. $form->disableEditingCheck();
  56. $form->disableViewCheck();
  57. $form->disableCreatingCheck();
  58. });
  59. }
  60. }