GetGuideController.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Http\Controllers\Controller;
  4. use App\Model\GetGuide;
  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 GetGuideController 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(GetGuide::class, function (Form $form) {
  41. $form->display('id' , '序号');
  42. $form->text('keyword_cn' , '关键字中文')->required();
  43. $form->text('keyword' , '关键字英文');
  44. $form->text('title' , '标题');
  45. $form->textarea('title_trans' , '标题翻译');
  46. $form->textarea('abstract' , '摘要');
  47. $form->textarea('abstract_trans' , '摘要翻译');
  48. $form->text('author' , '作者');
  49. $form->text('url' , 'url');
  50. $form->text('full_text_url' , '原文地址');
  51. $form->text('publish_time' , '发布时间');
  52. $form->textarea('kws' , '关键词');
  53. $form->textarea('kws_trans' , '关键词翻译');
  54. $form->textarea('references' , '引用文献');
  55. $form->textarea('references_trans' , '引用文献翻译');
  56. $form->date('add_time' , '入库日期');
  57. $form->file('pdf' , 'pdf');
  58. });
  59. }
  60. // Grid
  61. protected function grid()
  62. {
  63. return Admin::grid(GetGuide::class, function (Grid $grid) {
  64. $grid->id('编号')->sortable();
  65. $grid->title('英文标题');
  66. $grid->title_trans('中文标题');
  67. $grid->abstract('英文摘要');
  68. $grid->abstract_trans('中文摘要');
  69. $grid->author('作者');
  70. $grid->full_text_url('原文地址');
  71. $grid->publish_time('发布时间');
  72. $grid->kws('关键词');
  73. $grid->kws_trans('关键词翻译');
  74. //$grid->references('引用文献');
  75. //$grid->references_trans('引用文献翻译');
  76. $grid->add_time('入库日期');
  77. $grid->column('pdf')->display(function($pdf) {
  78. if(!$pdf) {
  79. return '---';
  80. }
  81. $url = 'https://zskadmin.jiankangche.cn/uploads/'.$pdf;
  82. return "<a href='$url' target='_blank'>pdf链接</a>";
  83. });
  84. // 禁用导出数据按钮
  85. $grid->actions(function ($actions) {
  86. $actions->disableView();
  87. //$actions->disableEdit();
  88. });
  89. $grid->filter(function($filter){
  90. // 去掉默认的id过滤器
  91. $filter->disableIdFilter();
  92. // 在这里添加字段过滤器
  93. $filter->like('keyword_cn' , '输入中文关键词');
  94. $filter->like('title_trans' , '输入中文标题');
  95. });
  96. });
  97. }
  98. }