DeviceTypeBoxController.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Model\DeviceType;
  4. use App\Model\DeviceTypeBox;
  5. use Encore\Admin\Controllers\AdminController;
  6. use Encore\Admin\Form;
  7. use Encore\Admin\Grid;
  8. use Encore\Admin\Show;
  9. class DeviceTypeBoxController extends AdminController
  10. {
  11. /**
  12. * Title for current resource.
  13. *
  14. * @var string
  15. */
  16. protected $title = '设备类型箱体';
  17. /**
  18. * Make a grid builder.
  19. *
  20. * @return Grid
  21. */
  22. protected function grid()
  23. {
  24. $grid = new Grid(new DeviceTypeBox());
  25. $grid->disableCreateButton(false);
  26. $grid->column('id', __('编号'));
  27. $grid->column('type', __('类型'))->display(function ($w){
  28. return DeviceType::where(['id'=>$w])->value('name');
  29. });
  30. $grid->column('name', __('名称'));
  31. $grid->column('volume', __('容积'));
  32. $grid->column('status', __('状态'))->using([0=>'禁用',1=>'启用'])->label(['danger','success']);
  33. $grid->column('remark', __('备注'));
  34. $grid->column('created_at', __('创建时间'));
  35. $grid->column('updated_at', __('更新时时间'));
  36. $grid->actions(function($actions){
  37. $actions->disableDelete(false);
  38. });
  39. return $grid;
  40. }
  41. /**
  42. * Make a show builder.
  43. *
  44. * @param mixed $id
  45. * @return Show
  46. */
  47. protected function detail($id)
  48. {
  49. $show = new Show(DeviceTypeBox::findOrFail($id));
  50. $show->field('id', __('Id'));
  51. $show->field('type', __('类型'))->as(function ($w){
  52. return DeviceType::where(['id'=>$w])->value('name');
  53. });
  54. $show->field('name', __('名称'));
  55. $show->field('volume', __('容积'));
  56. $show->field('status', __('状态'))->using([0=>'禁用',1=>'启用']);
  57. $show->field('remark', __('备注'));
  58. $show->field('created_at', __('创建时间'));
  59. $show->field('updated_at', __('更新时间'));
  60. return $show;
  61. }
  62. /**
  63. * Make a form builder.
  64. *
  65. * @return Form
  66. */
  67. protected function form()
  68. {
  69. $form = new Form(new DeviceTypeBox());
  70. $form->select('type', __('类型'))->options(DeviceType::getType())->rules('required',['请选择类型']);
  71. $form->text('name', __('名称'))->rules('required',['required'=>'请输入箱子名称']);
  72. $form->text('volume', __('容积'))->help('单位L')->rules('required',['required'=>'请输入容积']);
  73. $states = [
  74. 'off'=>['text'=>'禁用','value'=>0,'color'=>'danger'],
  75. 'on'=>['text'=>'启用','value'=>1,'color'=>'success'],
  76. ];
  77. $form->switch('status', __('状态'))->states($states)->default(1);
  78. $form->textarea('remark', __('备注'));
  79. return $form;
  80. }
  81. }