FileController.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <?php
  2. namespace App\Module\File\AdminControllers;
  3. use App\Module\File\AdminControllers\Helper\FileHelper;
  4. use App\Module\File\Models\FileFile;
  5. use App\Module\File\Services\FileService;
  6. use Dcat\Admin\Form;
  7. use Dcat\Admin\Grid;
  8. use Dcat\Admin\Show;
  9. use UCore\DcatAdmin\AdminController;
  10. /**
  11. * 文件管理控制器
  12. */
  13. class FileController extends AdminController
  14. {
  15. /**
  16. * 文件服务
  17. *
  18. * @var FileService
  19. */
  20. protected $service;
  21. /**
  22. * 文件辅助类
  23. *
  24. * @var FileHelper
  25. */
  26. protected $helper;
  27. /**
  28. * 构造函数
  29. */
  30. public function __construct()
  31. {
  32. $this->service = new FileService();
  33. $this->helper = new FileHelper();
  34. }
  35. /**
  36. * 列表页面
  37. *
  38. * @return Grid
  39. */
  40. protected function grid()
  41. {
  42. return Grid::make(new FileFile(), function (Grid $grid) {
  43. $grid->column('id')->sortable();
  44. $grid->column('path');
  45. $grid->column('re_type');
  46. $grid->column('re_id');
  47. $grid->column('o_name');
  48. $grid->column('fsize')->display(function ($size) {
  49. return $this->helper->formatFileSize($size);
  50. });
  51. $grid->column('type1');
  52. $grid->column('created_at');
  53. $grid->column('updated_at')->sortable();
  54. $grid->filter(function (Grid\Filter $filter) {
  55. $filter->equal('id');
  56. $filter->like('path');
  57. $filter->equal('re_type');
  58. $filter->equal('re_id');
  59. $filter->like('o_name');
  60. $filter->equal('type1');
  61. });
  62. });
  63. }
  64. /**
  65. * 详情页面
  66. *
  67. * @param mixed $id
  68. * @return Show
  69. */
  70. protected function detail($id)
  71. {
  72. return Show::make($id, new FileFile(), function (Show $show) {
  73. $show->field('id');
  74. $show->field('path');
  75. $show->field('re_type');
  76. $show->field('re_id');
  77. $show->field('o_name');
  78. $show->field('fsize')->as(function ($size) {
  79. return $this->helper->formatFileSize($size);
  80. });
  81. $show->field('type1');
  82. $show->field('created_at');
  83. $show->field('updated_at');
  84. });
  85. }
  86. /**
  87. * 表单页面
  88. *
  89. * @return Form
  90. */
  91. protected function form()
  92. {
  93. return Form::make(new FileFile(), function (Form $form) {
  94. $form->display('id');
  95. $form->text('path')->required();
  96. $form->text('re_type');
  97. $form->number('re_id');
  98. $form->text('o_name')->required();
  99. $form->number('fsize');
  100. $form->text('type1');
  101. $form->display('created_at');
  102. $form->display('updated_at');
  103. });
  104. }
  105. }