IllnessController.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Http\Controllers\Controller;
  4. use App\Model\Category;
  5. use App\Model\Illness;
  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 function Clue\StreamFilter\fun;
  12. class IllnessController 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(Illness::class, function (Form $form) {
  42. $form->display('id' , '编号');
  43. $form->text('illness_name' , '疾病名称');
  44. $form->text('illness_as_name' , '疾病别名');
  45. $form->text('icd_number' , 'ICD号');
  46. $form->select('category' , '选择分类')->options(Category::getCategory());
  47. $form->text('medicinal' , '相关药品');
  48. $form->editor('illness_desc' , '疾病概述')->rows(10);
  49. $form->text('epidemiology' , '流行病学');
  50. $form->text('clinical_manifestation' , '临床表现');
  51. $form->text('pathogeny' , '病因');
  52. $form->text('complication' , '并发症');
  53. $form->text('auxiliary' , '辅助检查');
  54. $form->text('diagnose' , '诊断');
  55. $form->text('cure' , '治疗');
  56. });
  57. }
  58. // Grid
  59. protected function grid()
  60. {
  61. return Admin::grid(Illness::class, function (Grid $grid) {
  62. $grid->id('编号')->sortable();
  63. $grid->model()->orderBy('id','desc');
  64. $grid->illness_name('疾病名称');
  65. $grid->illness_as_name('疾病别名');
  66. $grid->icd_number('ICD号');
  67. $grid->category('类别')->display(function ($category){
  68. return Category::getCategoryName($category) ?? '--';
  69. });
  70. $grid->medicinal('相关药品');
  71. $grid->illness_desc('疾病概述');
  72. $grid->epidemiology('流行病学');
  73. $grid->clinical_manifestation('临床表现');
  74. $grid->pathogeny('病因');
  75. $grid->complication('并发症');
  76. $grid->auxiliary('辅助检查');
  77. $grid->diagnose('诊断');
  78. $grid->cure('治疗');
  79. $grid->paginate(20);
  80. // 禁用导出数据按钮
  81. $grid->actions(function ($actions) {
  82. $actions->disableView();
  83. //$actions->disableEdit();
  84. $actions->disableDelete();
  85. });
  86. //$grid->disableCreateButton();
  87. $grid->disableExport();
  88. $grid->filter(function ($filter) {
  89. $filter->disableIdFilter();
  90. //$filter->equal('phone' ,'输入手机号查询');
  91. });
  92. });
  93. }
  94. }