SymptomController.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Http\Controllers\Controller;
  4. use App\Model\Symptom;
  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. use function Clue\StreamFilter\fun;
  11. class SymptomController 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(Symptom::class, function (Form $form) {
  41. $form->display('id' , '序号');
  42. $form->text('location' , '症状部位')->required();
  43. $form->text('name' , '症状名称')->required();
  44. $form->text('department' , '症状科室')->required();
  45. $form->text('abstract' , '简介')->required();
  46. $form->text('etiology' , '病因')->required();
  47. $form->text('disease' , '相关疾病')->required();
  48. $form->text('inspection' , '检查')->required();
  49. $form->text('identify' , '鉴别')->required();
  50. $form->text('precaution' , '预防')->required();
  51. });
  52. }
  53. // Grid
  54. protected function grid()
  55. {
  56. return Admin::grid(Symptom::class, function (Grid $grid) {
  57. $grid->id('编号')->sortable();
  58. $grid->location('症状部位');
  59. $grid->name('症状名称');
  60. $grid->department('科室');
  61. $grid->abstract('简介');
  62. $grid->etiology('病因');
  63. $grid->disease('相关疾病');
  64. $grid->inspection('检查');
  65. $grid->identify('鉴别');
  66. $grid->precaution('预防');
  67. $grid->created_at('创建时间');
  68. $grid->updated_at('更新时间');
  69. // 禁用导出数据按钮
  70. $grid->actions(function ($actions) {
  71. $actions->disableView();
  72. //$actions->disableEdit();
  73. });
  74. $grid->filter(function($filter){
  75. // 去掉默认的id过滤器
  76. $filter->disableIdFilter();
  77. // 在这里添加字段过滤器
  78. $filter->like('name' , '输入症状关键字');
  79. $filter->equal('location' , '输入症状部位');
  80. $filter->like('disease' , '输入疾病关键字');
  81. });
  82. });
  83. }
  84. }