QwController.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Http\Controllers\Controller;
  4. use App\Model\qw\Qw;
  5. use App\Model\qw\QwCategory;
  6. use App\Model\qw\QwDepartment;
  7. use Encore\Admin\Form;
  8. use Encore\Admin\Grid;
  9. use Encore\Admin\Facades\Admin;
  10. use Encore\Admin\Layout\Content;
  11. use Encore\Admin\Controllers\ModelForm;
  12. use Illuminate\Http\Request;
  13. use Encore\Admin\Show;
  14. class QwController extends Controller
  15. {
  16. use ModelForm;
  17. public function index()
  18. {
  19. return Admin::content(function (Content $content) {
  20. $content->header('问答');
  21. $content->description('列表');
  22. $content->body($this->grid());
  23. });
  24. }
  25. public function create()
  26. {
  27. return Admin::content(function (Content $content) {
  28. $content->header('问答');
  29. $content->description('新增');
  30. $content->body($this->form());
  31. });
  32. }
  33. public function edit($id)
  34. {
  35. return Admin::content(function (Content $content) use ($id) {
  36. $content->header('问答');
  37. $content->description('列表');
  38. $content->body($this->form($id)->edit($id));
  39. });
  40. }
  41. protected function form($id = '')
  42. {
  43. return Admin::form(Qw::class, function (Form $form) use ($id) {
  44. $form->display( 'id' , 'id');
  45. $form->select('category_id' , '业务分类')->options(QwCategory::where('pid' , '<>' , 0)->pluck('category_name' , 'id'));
  46. $form->text( 'question' , '问题');
  47. $form->text( 'answer' , '回答');
  48. $form->select( 'is_have_question_select' , '是否有子问题选项')->options([1 => '是' , 2 => '否']);
  49. $form->select( 'is_hot' , '是否热门问题')->options([1 => '是' , 2 => '否']);
  50. $form->select( 'status' , '状态')->options([1 => '显示' , 2 => '隐藏']);
  51. });
  52. }
  53. // Grid
  54. protected function grid()
  55. {
  56. return Admin::grid(Qw::class, function (Grid $grid) {
  57. $grid->id('编号')->sortable();
  58. $grid->model()->orderBy('id','asc');
  59. $grid->category_desc('业务分类');
  60. $grid->question('问题');
  61. $grid->answer('回答');
  62. $grid->is_have_question_select('是否有子问答选项')->display(function ($is_have_question_select) {
  63. if( 1 == $is_have_question_select) {
  64. return '是';
  65. }
  66. if( 2 == $is_have_question_select) {
  67. return '否';
  68. }
  69. });
  70. $grid->is_hot('是否热门问题')->display(function ($is_hot) {
  71. if( 1 == $is_hot) {
  72. return '是';
  73. }
  74. if( 2 == $is_hot) {
  75. return '否';
  76. }
  77. });
  78. $grid->status('状态')->display(function ($status) {
  79. if( 1 == $status) {
  80. return '显示';
  81. }
  82. if( 2 == $status) {
  83. return '隐藏';
  84. }
  85. });
  86. $grid->createtime('创建时间')->display(function ($create_time) {
  87. return date('Y-m-d H:i:s' , $create_time);
  88. });
  89. $grid->updatetime('更新时间')->display(function ($create_time) {
  90. return date('Y-m-d H:i:s' , $create_time);
  91. });
  92. // 禁用导出数据按钮
  93. $grid->actions(function ($actions) {
  94. $actions->disableView();
  95. //$actions->disableEdit();
  96. });
  97. $grid->filter(function($filter){
  98. // 去掉默认的id过滤器
  99. $filter->disableIdFilter();
  100. // 在这里添加字段过滤器
  101. //$filter->equal('uid' , '用户ID');
  102. });
  103. });
  104. }
  105. public function show(request $request)
  106. {
  107. $projectId = $request->get('q');
  108. return QwCategory::where('department_id' , $projectId)->get(
  109. [
  110. 'id', 'category_name as text'
  111. ]
  112. );
  113. }
  114. public function ll(request $request)
  115. {
  116. $projectId = $request->get('q');
  117. return QwCategory::where('department_id' , $projectId)->get(
  118. [
  119. 'id', 'category_name as text'
  120. ]
  121. );
  122. }
  123. }