QwCategoryController.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Http\Controllers\Controller;
  4. use App\Model\qw\QwDepartment;
  5. use App\Model\qw\QwCategory;
  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. use Illuminate\Http\Request;
  12. class QwCategoryController extends Controller
  13. {
  14. use ModelForm;
  15. public function index()
  16. {
  17. return Admin::content(function (Content $content) {
  18. $content->header('问答知识类别');
  19. $content->description('列表');
  20. $content->body($this->grid());
  21. });
  22. }
  23. public function create()
  24. {
  25. return Admin::content(function (Content $content) {
  26. $content->header('问答知识类别');
  27. $content->description('新增');
  28. $content->body($this->form());
  29. });
  30. }
  31. public function edit($id)
  32. {
  33. return Admin::content(function (Content $content) use ($id) {
  34. $content->header('问答知识类别');
  35. $content->description('列表');
  36. $content->body($this->form($id)->edit($id));
  37. });
  38. }
  39. protected function form($id = '')
  40. {
  41. return Admin::form(QwCategory::class , function (Form $form) use ($id) {
  42. $form->display( 'id' , 'id');
  43. $form->select( 'department_id' , '所属部门')->options(
  44. QwDepartment::all()->pluck('department_name' , 'id')
  45. )->load('pid', 'll'); // 选中传入接口一个q参数,加载到第二级;
  46. //$form->select('pid' , '知识类别');
  47. $form->select('pid' , '知识类别')->options(function ($id) {
  48. return QwCategory::where('pid',$id)->pluck('category_name', 'id');
  49. });
  50. $form->text( 'category_name' , '分类名称');
  51. $form->select( 'status' , '状态')->options([1 => '显示' , 2 => '隐藏']);
  52. });
  53. }
  54. // Grid
  55. protected function grid()
  56. {
  57. return Admin::grid(QwCategory::class, function (Grid $grid) {
  58. $grid->id('编号')->sortable();
  59. $grid->model()->orderBy('id','asc');
  60. $grid->department_desc('部门名称');
  61. $grid->pid_text('知识类别');
  62. $grid->category_name('业务分类');
  63. $grid->status('状态')->display(function ($status) {
  64. if( 1 == $status) {
  65. return '显示';
  66. }
  67. if( 2 == $status) {
  68. return '隐藏';
  69. }
  70. });
  71. $grid->createtime('创建时间')->display(function ($create_time) {
  72. return date('Y-m-d H:i:s' , $create_time);
  73. });
  74. $grid->updatetime('更新时间')->display(function ($create_time) {
  75. return date('Y-m-d H:i:s' , $create_time);
  76. });
  77. // 禁用导出数据按钮
  78. $grid->actions(function ($actions) {
  79. $actions->disableView();
  80. //$actions->disableEdit();
  81. });
  82. $grid->filter(function($filter){
  83. // 去掉默认的id过滤器
  84. $filter->disableIdFilter();
  85. // 在这里添加字段过滤器
  86. //$filter->equal('uid' , '用户ID');
  87. });
  88. });
  89. }
  90. public function show(request $request)
  91. {
  92. $projectId = $request->get('q');
  93. return QwCategory::where('department_id' , $projectId)->where('pid' , 0)->get(
  94. [
  95. 'id', 'category_name as text'
  96. ]
  97. );
  98. }
  99. public function ll(request $request)
  100. {
  101. $projectId = $request->get('q');
  102. return QwCategory::where('department_id' , $projectId)->get(
  103. [
  104. 'id', 'category_name as text'
  105. ]
  106. );
  107. }
  108. }