JobfairPersonSignedsController.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. namespace App\Admin\Controllers\Jobfair;
  3. use App\Http\Controllers\Controller;
  4. use App\Models\Jobfair\JobfairPersonSigned;
  5. use App\Models\Jobfair\Jobfair;
  6. use Encore\Admin\Controllers\HasResourceActions;
  7. use Encore\Admin\Facades\Admin;
  8. use Encore\Admin\Grid;
  9. use Encore\Admin\Layout\Content;
  10. use Encore\Admin\Show;
  11. class JobfairPersonSignedsController extends Controller
  12. {
  13. use HasResourceActions;
  14. /**
  15. * Index interface.
  16. *
  17. * @param Content $content
  18. * @return Content
  19. */
  20. public function index(Content $content)
  21. {
  22. return $content
  23. ->header('个人签到列表')
  24. ->description('')
  25. ->body($this->grid());
  26. }
  27. /**
  28. * Make a grid builder.
  29. *
  30. * @return Grid
  31. */
  32. protected function grid()
  33. {
  34. $grid = new Grid(new JobfairPersonSigned);
  35. $grid->id('ID');
  36. $grid->column('jobfair.title', '招聘会名称')->width(200);
  37. $grid->column('resumes.fullname', '签到人')->width(200);
  38. $grid->type('类型')->display(function ($type) {
  39. if ($type==1) {
  40. return '进场';
  41. } else {
  42. return '出场';
  43. }
  44. });
  45. $grid->utype('身份')->display(function ($utype) {
  46. if ($utype==1) {
  47. return '企业';
  48. } else {
  49. return '个人';
  50. }
  51. });
  52. $grid->sign_type('签到类型')->display(function ($sign_type) {
  53. switch ($sign_type){
  54. case 0:
  55. return '未知';
  56. case 1:
  57. return '身份证';
  58. case 2:
  59. return '二维码';
  60. }
  61. });
  62. $grid->created_at('进出时间');
  63. $grid->disableRowSelector();
  64. $grid->filter(function ($filter) {
  65. // 去掉默认的id过滤器
  66. $filter->disableIdFilter();
  67. $filter->column(1/2, function ($filter) {
  68. $filter->equal('type', '类型')->select([
  69. 1 => '进场',
  70. 2 => '出场',
  71. ]);
  72. $filter->equal('jobfair_id', '招聘会')->select(Jobfair::select('title', 'id')->pluck('title', 'id')->all());
  73. });
  74. $filter->column(1/2, function ($filter) {
  75. $filter->like('resumes.fullname', ' 签到人');
  76. });
  77. $filter->equal('sign_type', '签到类型')->select([
  78. 0 => '未知',
  79. 1 => '身份证',
  80. 2 => '二维码',
  81. ]);
  82. });
  83. $grid->disableActions();
  84. return $grid;
  85. }
  86. }