BaseProductParameterController.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Admin\Repositories\BaseProductParameter;
  4. use Dcat\Admin\Form;
  5. use Dcat\Admin\Grid;
  6. use Dcat\Admin\Layout\Content;
  7. use Dcat\Admin\Show;
  8. use Dcat\Admin\Http\Controllers\AdminController;
  9. use Dcat\Admin\Form\NestedForm;
  10. class BaseProductParameterController extends AdminController
  11. {
  12. public function index(Content $content)
  13. {
  14. return $content
  15. ->header(admin_trans( 'admin.product_attribute'))
  16. ->description('')
  17. ->breadcrumb(['text'=>'list','url'=>''])
  18. ->body($this->grid());
  19. }
  20. /**
  21. * Make a grid builder.
  22. *
  23. * @return Grid
  24. */
  25. protected function grid()
  26. {
  27. return Grid::make(new BaseProductParameter(), function (Grid $grid) {
  28. //默认分页条数
  29. $grid->paginate(config('admin.per_page'));
  30. $grid->column('id')->display(function () {
  31. return $this->_index+1;
  32. });
  33. $grid->column('name');
  34. $grid->column('order');
  35. $grid->column('enabled')->switch();
  36. $grid->column('created_at');
  37. $grid->column('updated_at')->sortable();
  38. // 允许筛选
  39. $grid->filter(function (Grid\Filter $filter) {
  40. $filter->panel();
  41. $filter->expand();
  42. $filter->equal('name')->width(2);
  43. $filter->equal('enabled', )->select(admin_trans_array(config('dictionary.enabled')))->width(2);
  44. });
  45. //按钮
  46. $grid->disableViewButton();
  47. $grid->showQuickEditButton();
  48. $grid->enableDialogCreate();
  49. $grid->disableEditButton();
  50. //$grid->quickSearch('name');
  51. //排序
  52. $grid->model()->orderBy("order",'desc')->orderBy('id', 'desc');
  53. });
  54. }
  55. /**
  56. * Make a form builder.
  57. *
  58. * @return Form
  59. */
  60. protected function form()
  61. {
  62. return Form::make(new BaseProductParameter(), function (Form $form) {
  63. $form->text('name')->required();
  64. $form->table('content',admin_trans_label('attribute'), function (NestedForm $table) {
  65. $table->text('key')->required();
  66. $table->text('value');
  67. })->setLabelClass('control-label')->default([
  68. ['key' => '', 'value' => ''],
  69. ]);
  70. $form->number('order')
  71. ->default(0)
  72. ->rules('numeric');
  73. $form->switch('enabled')->default(1);
  74. });
  75. }
  76. }