QuestionDetailController.php 3.4 KB

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