SystemController.php 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Http\Controllers\Controller;
  4. use App\Model\System;
  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 SystemController 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(System::class, function (Form $form) {
  40. $form->display('id' , '序号');
  41. $form->text('version_name' , '版本名称')->required();
  42. $form->text('question' , '问题/功能描述')->required();
  43. $form->file('question_pic' , '问题/功能描述截图');
  44. $form->select('type' , '问题类型')->options([1 => 'bug' , 2 => '新功能'])->required();
  45. $form->text('name' , '涉及开发者')->required();
  46. $form->date('solution_time' , '预计解决时间');
  47. $form->select('status' , '状态')->options([1 => '未解决' , 2 => '已解决']);
  48. $form->select('rank' , '优先级')->options([1 => '低' , 2 => '普通' , 3 => '高']);
  49. });
  50. }
  51. protected function grid()
  52. {
  53. return Admin::grid(System::class, function (Grid $grid) {
  54. $grid->id('序号')->sortable();
  55. $grid->version_name('版本名称');
  56. $grid->question('问题/功能描述');
  57. $grid->column('question_pic' , '问题/功能图片')->image();
  58. $grid->type('问题类型');
  59. $grid->name('涉及开发者');
  60. $grid->solution_time('预计解决时间');
  61. $grid->rank('优先级');
  62. $grid->status('状态');
  63. $grid->created_at('创建时间');
  64. $grid->updated_at('更新时间');
  65. $grid->paginate(20);
  66. //$grid->disableCreateButton();
  67. $grid->disableExport();
  68. // 禁用导出数据按钮
  69. $grid->actions(function ($actions) {
  70. $actions->disableView();
  71. //$actions->disableEdit();
  72. });
  73. // 条件过滤
  74. $grid->filter(function ($filter) {
  75. $filter->disableIdFilter();
  76. $filter->equal('type' , '类型')->select([1 => 'bug' , 2 => '新功能']);
  77. $filter->equal('status' , '状态')->select([1 => '未解决' , 2 => '已解决']);
  78. $filter->equal('rank' , '优先级')->select([1 => '低' , 2 => '普通' , 3 => '高']);
  79. });
  80. });
  81. }
  82. }