QuestionController.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Http\Controllers\Controller;
  4. use App\Model\Question;
  5. use Encore\Admin\Form;
  6. use Encore\Admin\Grid;
  7. use Encore\Admin\Facades\Admin;
  8. use Encore\Admin\Layout\Content;
  9. use Encore\Admin\Controllers\ModelForm;
  10. class QuestionController extends Controller
  11. {
  12. use ModelForm;
  13. public function index()
  14. {
  15. return Admin::content(function (Content $content) {
  16. $content->header('智能问题');
  17. $content->description('列表');
  18. $content->body($this->grid());
  19. });
  20. }
  21. public function create()
  22. {
  23. return Admin::content(function (Content $content) {
  24. $content->header('智能问题');
  25. $content->description('新增');
  26. $content->body($this->form());
  27. });
  28. }
  29. public function edit($id)
  30. {
  31. return Admin::content(function (Content $content) use ($id) {
  32. $content->header('智能问题');
  33. $content->description('列表');
  34. $content->body($this->form($id)->edit($id));
  35. });
  36. }
  37. protected function form($id = '')
  38. {
  39. return Admin::form(Question::class, function (Form $form) use ($id) {
  40. $form->display( 'id' , 'id');
  41. $form->text( 'question' , '问题名称');
  42. $form->select( 'status' , '状态')->options([1 => '显示' , 2 => '下架']);
  43. });
  44. }
  45. // Grid
  46. protected function grid()
  47. {
  48. return Admin::grid(Question::class, function (Grid $grid) {
  49. $grid->id('编号')->sortable();
  50. $grid->model()->orderBy('id','asc');
  51. $grid->question('问题名称');
  52. $grid->status('状态')->display(function ($status) {
  53. if( 1 == $status) {
  54. return '显示';
  55. }
  56. if( 2 == $status) {
  57. return '隐藏';
  58. }
  59. });
  60. $grid->createtime('创建时间')->display(function ($create_time) {
  61. return date('Y-m-d H:i:s' , $create_time);
  62. });
  63. $grid->updatetime('更新时间')->display(function ($create_time) {
  64. return date('Y-m-d H:i:s' , $create_time);
  65. });
  66. // 禁用导出数据按钮
  67. $grid->actions(function ($actions) {
  68. $actions->disableView();
  69. //$actions->disableEdit();
  70. });
  71. $grid->filter(function($filter){
  72. // 去掉默认的id过滤器
  73. $filter->disableIdFilter();
  74. // 在这里添加字段过滤器
  75. //$filter->equal('uid' , '用户ID');
  76. });
  77. });
  78. }
  79. }