Răsfoiți Sursa

线上招聘会

linwu 2 ani în urmă
părinte
comite
095c039015

+ 147 - 0
app/Http/Controllers/Mobile/Active/RecruitController.php

@@ -0,0 +1,147 @@
+<?php
+namespace App\Http\Controllers\Mobile\Active;
+
+use App\Http\Controllers\Mobile\MobileBaseController;
+use App\Services\Common\CategoryService;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Cache;
+use Illuminate\Support\Facades\DB;
+
+class RecruitController extends MobileBaseController
+{
+    protected $categoryService;
+    public function __construct(CategoryService $categoryService)
+    {
+        $this->categoryService = $categoryService;
+    }
+
+    public function index(Request $request)
+    {
+        $offset = isset($request->page) ? $request->page : 0;
+        $limit  = 8;
+
+        $citycategory = 'jjkfq';
+        $trade        = $request->input('trade', '');
+        $param_array  = ['citycategory', 'trade', 'nature'];
+
+        $params = [];
+        if ($request->all()) {
+            foreach ($request->all() as $k => $v) {
+                if (in_array($k, $param_array) && $v) {
+                    $params[$k] = $v;
+                }
+            }
+        }
+
+        $filter_where = [
+            'AIX_trade'        => 100,
+            'AIX_company_type' => 100,
+        ];
+        $categories   = $this->categoryService->getCategories($filter_where);
+
+        $subsites = Cache::get('subsites_list');
+        if ($subsites) {
+            if (!array_has($params, 'citycategory')) {
+                if (get_subsite_id() > 0) {
+                    $citycategory = $subsites[get_subsite_id()]['district'];
+                }
+            }
+        }
+
+        $title = '晋江市新春招聘会';
+        $citys = $this->categoryService->getCitys($citycategory);
+
+        if (empty($citycategory)) {
+            $district_str = "(district like ? or district like ?)";
+            $district_arr = ["%.623%", "%623.%"];
+        } else {
+            $select_id    = $citys['select']['id'];
+            $district_str = "(district like ? or district like ?)";
+            $district_arr = ["%.{$select_id}%", "%{$select_id}.%"];
+            $title        = $citys['select']['name'] . '专区';
+        }
+        $whereRaw = "jobs.updated_at > '2022-06-01 00:00:00' and jobs.deleted_at is null and jobs.valid = 1 and jobs.audit = 1 and jobs.display = 1";
+        $companys = DB::table('jobs')->join('companys', 'jobs.company_id', '=', 'companys.id')->whereRaw($whereRaw)->groupBy('jobs.company_id')->select('jobs.company_id')->pluck('company_id')->toArray();
+
+        $where   = [];
+        $where[] = ['user_status', '=', 1];
+        $where[] = ['audit', '=', 1];
+        $where[] = ['deleted_at', '=', null];
+        if (!empty($trade)) {
+            $where[] = ['trade', '=', $trade];
+        }
+
+        $list = DB::table('companys')->where($where)->whereRaw($district_str, $district_arr)->whereIn('id', $companys)->orderBy('sort_index', 'desc')->orderBy('id', 'desc')->offset($limit * $offset)->limit($limit)->get();
+        $more = count($list) >= $limit ? true : false;
+
+        $res = [];
+        foreach ($list as $val) {
+
+            $item = [
+                'id'          => $val->id,
+                'companyname' => $val->companyname,
+                'jobs'        => [],
+                'tag_arr'     => [],
+            ];
+
+            //在招职位
+            $jobs_where = [
+                ['company_id', '=', $val->id],
+                ['valid', '=', 1],
+                ['display', '=', 1],
+                ['audit', '=', 1],
+                ['deleted_at', '=', null],
+            ];
+
+            $jobs = DB::table('jobs')->where($jobs_where)->get();
+            if (!$jobs->isEmpty()) {
+                foreach ($jobs as $value) {
+                    $job = [
+                        'id'        => $value->id,
+                        'jobs_name' => $value->jobs_name,
+                        'amount'    => $value->amount,
+                        'wage'      => $value->wage,
+                        'wage_min'  => $value->wage_min,
+                        'wage_max'  => $value->wage_max,
+                    ];
+                    array_push($item['jobs'], $job);
+                }
+            }
+
+            //企业福利
+            if (!empty($val->tag)) {
+                $tags            = explode(',', $val->tag);
+                $tag_arr         = DB::table('categorys')->whereIn('id', $tags)->limit(3)->get(['demand'])->toArray();
+                $item['tag_arr'] = $tag_arr;
+            }
+
+            array_push($res, $item);
+        }
+
+        if ($request->ajax()) {
+            if (count($res)) {
+                return response()->json(['status' => 1, 'data' => view('mobile.app.active.ajax.ajax_spring_special_com', [
+                    'res'        => $res,
+                    'city'       => $citys,
+                    'params'     => $params,
+                    'categories' => $categories,
+                    'more'       => $more,
+                ])->render()]);
+            }
+            return response()->json(['status' => 0]);
+        }
+
+        return view('mobile.app.active.recruit', [
+            'title'           => $title,
+            'res'             => $res,
+            'city'            => $citys,
+            'params'          => $params,
+            'categories'      => $categories,
+            'more'            => $more,
+            'share_title'     => "【{$title}】免费找工作",
+            'share_desc'      => '晋江好福利!免费找工作、找人才,还能抽奖,100%中奖,万份好礼免费拿!',
+            'share_image_url' => theme_asset('mobile/images/online2021/share_logo.jpg'),
+            'share_link'      => route('mobile.active.spring_special') . '?citycategory=' . $citycategory,
+        ]);
+    }
+}

+ 133 - 0
app/Http/Controllers/Mobile/Active/SpringController.php

@@ -528,4 +528,137 @@ class SpringController extends MobileBaseController
             'live_list'       => $this->homeService->getSpringLive(),
         ]);
     }
+
+    /**
+     * 线上招聘
+     */
+    public function recruit(Request $request)
+    {
+        $offset = isset($request->page) ? $request->page : 0;
+        $limit  = 8;
+
+        $citycategory = $request->input('citycategory', '');
+        $trade        = $request->input('trade', '');
+        $param_array  = ['citycategory', 'trade', 'nature'];
+
+        $params = [];
+        if ($request->all()) {
+            foreach ($request->all() as $k => $v) {
+                if (in_array($k, $param_array) && $v) {
+                    $params[$k] = $v;
+                }
+            }
+        }
+
+        $filter_where = [
+            'AIX_trade'        => 100,
+            'AIX_company_type' => 100,
+        ];
+        $categories   = $this->categoryService->getCategories($filter_where);
+
+        $subsites = Cache::get('subsites_list');
+        if ($subsites) {
+            if (!array_has($params, 'citycategory')) {
+                if (get_subsite_id() > 0) {
+                    $citycategory = $subsites[get_subsite_id()]['district'];
+                }
+            }
+        }
+
+        $title = '晋江市新春招聘会';
+        $citys = $this->categoryService->getCitys($citycategory);
+
+        if (empty($citycategory)) {
+            $district_str = "(district like ? or district like ?)";
+            $district_arr = ["%.623%", "%623.%"];
+        } else {
+            $select_id    = $citys['select']['id'];
+            $district_str = "(district like ? or district like ?)";
+            $district_arr = ["%.{$select_id}%", "%{$select_id}.%"];
+            $title        = $citys['select']['name'] . '专区';
+        }
+        $whereRaw = "jobs.updated_at > '2022-01-01 00:00:00' and jobs.deleted_at is null and jobs.valid = 1 and jobs.audit = 1 and jobs.display = 1";
+        $companys = DB::table('jobs')->join('companys', 'jobs.company_id', '=', 'companys.id')->whereRaw($whereRaw)->groupBy('jobs.company_id')->select('jobs.company_id')->pluck('company_id')->toArray();
+
+        $where   = [];
+        $where[] = ['user_status', '=', 1];
+        $where[] = ['audit', '=', 1];
+        $where[] = ['deleted_at', '=', null];
+        if (!empty($trade)) {
+            $where[] = ['trade', '=', $trade];
+        }
+
+        $list = DB::table('companys')->where($where)->whereRaw($district_str, $district_arr)->whereIn('id', $companys)->orderBy('sort_index', 'desc')->orderBy('id', 'desc')->offset($limit * $offset)->limit($limit)->get();
+        $more = count($list) >= $limit ? true : false;
+
+        $res = [];
+        foreach ($list as $val) {
+
+            $item = [
+                'id'          => $val->id,
+                'companyname' => $val->companyname,
+                'jobs'        => [],
+                'tag_arr'     => [],
+            ];
+
+            //在招职位
+            $jobs_where = [
+                ['company_id', '=', $val->id],
+                ['valid', '=', 1],
+                ['display', '=', 1],
+                ['audit', '=', 1],
+                ['deleted_at', '=', null],
+            ];
+
+            $jobs = DB::table('jobs')->where($jobs_where)->get();
+            if (!$jobs->isEmpty()) {
+                foreach ($jobs as $value) {
+                    $job = [
+                        'id'        => $value->id,
+                        'jobs_name' => $value->jobs_name,
+                        'amount'    => $value->amount,
+                        'wage'      => $value->wage,
+                        'wage_min'  => $value->wage_min,
+                        'wage_max'  => $value->wage_max,
+                    ];
+                    array_push($item['jobs'], $job);
+                }
+            }
+
+            //企业福利
+            if (!empty($val->tag)) {
+                $tags            = explode(',', $val->tag);
+                $tag_arr         = DB::table('categorys')->whereIn('id', $tags)->limit(3)->get(['demand'])->toArray();
+                $item['tag_arr'] = $tag_arr;
+            }
+
+            array_push($res, $item);
+        }
+
+        if ($request->ajax()) {
+            if (count($res)) {
+                return response()->json(['status' => 1, 'data' => view('mobile.app.active.ajax.ajax_spring_special_com', [
+                    'res'        => $res,
+                    'city'       => $citys,
+                    'params'     => $params,
+                    'categories' => $categories,
+                    'more'       => $more,
+                ])->render()]);
+            }
+            return response()->json(['status' => 0]);
+        }
+
+        return view('mobile.app.active.spring_special', [
+            'title'           => $title,
+            'res'             => $res,
+            'city'            => $citys,
+            'params'          => $params,
+            'categories'      => $categories,
+            'more'            => $more,
+            'share_title'     => "【{$title}】免费找工作",
+            'share_desc'      => '晋江好福利!免费找工作、找人才,还能抽奖,100%中奖,万份好礼免费拿!',
+            'share_image_url' => theme_asset('mobile/images/online2021/share_logo.jpg'),
+            'share_link'      => route('mobile.active.spring_special') . '?citycategory=' . $citycategory,
+        ]);
+    }
 }

+ 1 - 1
app/Http/Controllers/Mobile/Active/TestController.php

@@ -13,6 +13,6 @@ class TestController extends MobileBaseController
 
     public function index()
     {
-        echo Session::get('open_id');
+        return 1;
     }
 }

+ 132 - 20
app/Http/Controllers/Web/Active/JobfairController.php

@@ -401,10 +401,10 @@ class JobfairController extends WebBaseController
             $district_arr = ["%.{$select_id}%", "%{$select_id}.%"];
         }
 
-        $whereRaw     = "jobs.updated_at > '2022-01-01 00:00:00' and jobs.deleted_at is null and jobs.valid = 1 and jobs.audit = 1 and jobs.display = 1";
+        $whereRaw = "jobs.updated_at > '2022-01-01 00:00:00' and jobs.deleted_at is null and jobs.valid = 1 and jobs.audit = 1 and jobs.display = 1";
         $companys = DB::table('jobs')->join('companys', 'jobs.company_id', '=', 'companys.id')->whereRaw($whereRaw)->groupBy('jobs.company_id')->select('jobs.company_id')->pluck('company_id')->toArray();
 
-        $where = [];
+        $where   = [];
         $where[] = ['user_status', '=', 1];
         $where[] = ['audit', '=', 1];
         $where[] = ['deleted_at', '=', null];
@@ -494,7 +494,7 @@ class JobfairController extends WebBaseController
             'more'         => $more,
             'total'        => $total,
             'total_person' => count($total_person),
-            'total_job'    => $total_job
+            'total_job'    => $total_job,
         ]);
 
     }
@@ -572,7 +572,7 @@ class JobfairController extends WebBaseController
         }
 
         $res = $this->_split_arr($res, 4);
-        
+
         return view('app.active.ai_recruit', ['res' => $res]);
     }
 
@@ -601,7 +601,7 @@ class JobfairController extends WebBaseController
     {
         if (!$request->ajax()) {
             //奖品列表
-            $prize       = LotteryPrize::all();
+            $prize = LotteryPrize::all();
         }
 
         $offset = isset($request->page) ? $request->page : 0;
@@ -628,10 +628,10 @@ class JobfairController extends WebBaseController
         foreach ($list as $val) {
 
             $item = [
-                'id'           => $val->id,
-                'companyname'  => $val->companyname,
-                'jobs'         => [],
-                'tag_arr'      => [],
+                'id'          => $val->id,
+                'companyname' => $val->companyname,
+                'jobs'        => [],
+                'tag_arr'     => [],
             ];
 
             //在招职位
@@ -672,9 +672,9 @@ class JobfairController extends WebBaseController
         if ($request->ajax()) {
             if (count($res)) {
                 return response()->json(['status' => 1, 'data' => view('app.active.ajax.ajax_spring_special_com', [
-                    'res'        => $res,
-                    'city'       => $citys,
-                    'more'       => $more,
+                    'res'  => $res,
+                    'city' => $citys,
+                    'more' => $more,
                 ])->render()]);
             }
             return response()->json(['status' => 0]);
@@ -682,11 +682,11 @@ class JobfairController extends WebBaseController
 
 
         return view('app.active.spring_jkq', [
-            'params'          => ['citycategory' => 'jjkfq'],
-            'prize'           => $prize,
-            'res'             => $res,
-            'more'            => $more,
-            'live_list'       => $this->homeService->getSpringLive(),
+            'params'    => ['citycategory' => 'jjkfq'],
+            'prize'     => $prize,
+            'res'       => $res,
+            'more'      => $more,
+            'live_list' => $this->homeService->getSpringLive(),
         ]);
 
     }
@@ -696,12 +696,124 @@ class JobfairController extends WebBaseController
     public function spring_main()
     {
         //奖品列表
-        $prize       = LotteryPrize::all();
+        $prize = LotteryPrize::all();
 
         return view('app.active.spring_main', [
-            'prize'           => $prize,
-            'live_list'       => $this->homeService->getSpringLive(),
+            'prize'     => $prize,
+            'live_list' => $this->homeService->getSpringLive(),
         ]);
 
     }
+
+    /**
+     * 海灵线上招聘会
+     */
+    public function online_recruit(Request $request)
+    {
+        $offset = isset($request->page) ? $request->page : 0;
+        $limit  = 18;
+
+        $trade        = $request->input('trade');
+        $param_array  = ['trade', 'nature'];
+        $params = [];
+        if ($request->all()) {
+            foreach ($request->all() as $k => $v) {
+                if (in_array($k, $param_array) && $v) {
+                    $params[$k] = $v;
+                }
+            }
+        }
+        $params['citycategory'] = 'jjkfq';
+
+        $citycategory = 'jjkfq';
+        $whereRaw     = "jobs.updated_at > '2022-06-01 00:00:00' and jobs.deleted_at is null and jobs.valid = 1 and jobs.audit = 1 and jobs.display = 1";
+        $companys     = DB::table('jobs')->join('companys', 'jobs.company_id', '=', 'companys.id')->whereRaw($whereRaw)->groupBy('jobs.company_id')->select('jobs.company_id')->pluck('company_id')->toArray();
+
+        $citys        = $this->categoryService->getCitys($citycategory);
+        $select_id    = $citys['select']['id'];
+        $district_str = "(district like ? or district like ?)";
+        $district_arr = ["%.{$select_id}%", "%{$select_id}.%"];
+
+        $where   = [];
+        $where[] = ['user_status', '=', 1];
+        $where[] = ['audit', '=', 1];
+        $where[] = ['deleted_at', '=', null];
+        if (!empty($trade)) {
+            $where[] = ['trade', '=', $trade];
+        }
+
+        $list = DB::table('companys')->where($where)->whereRaw($district_str, $district_arr)->whereIn('id', $companys)->orderBy('sort_index', 'desc')->orderBy('id', 'desc')->offset($limit * $offset)->limit($limit)->get();
+        $more = count($list) >= $limit ? true : false;
+
+        $res = [];
+        foreach ($list as $val) {
+
+            $item = [
+                'id'          => $val->id,
+                'companyname' => $val->companyname,
+                'jobs'        => [],
+                'tag_arr'     => [],
+            ];
+
+            //在招职位
+            $jobs_where = [
+                ['company_id', '=', $val->id],
+                ['valid', '=', 1],
+                ['display', '=', 1],
+                ['audit', '=', 1],
+                ['deleted_at', '=', null],
+            ];
+
+            $jobs = DB::table('jobs')->where($jobs_where)->get();
+            if (!$jobs->isEmpty()) {
+                foreach ($jobs as $value) {
+                    $job = [
+                        'id'        => $value->id,
+                        'jobs_name' => $value->jobs_name,
+                        'amount'    => $value->amount,
+                        'wage'      => $value->wage,
+                        'wage_min'  => $value->wage_min,
+                        'wage_max'  => $value->wage_max,
+                        'wage_str'  => $value->wage_str,
+                    ];
+                    array_push($item['jobs'], $job);
+                }
+            }
+
+            //企业福利
+            if (!empty($val->tag)) {
+                $tags            = explode(',', $val->tag);
+                $tag_arr         = DB::table('categorys')->whereIn('id', $tags)->limit(3)->get(['demand'])->toArray();
+                $item['tag_arr'] = $tag_arr;
+            }
+
+            array_push($res, $item);
+        }
+
+        $filter_where = [
+            'AIX_trade'        => 100,
+            'AIX_company_type' => 100,
+        ];
+        $categories   = $this->categoryService->getCategories($filter_where);
+
+        if ($request->ajax()) {
+            if (count($res)) {
+                return response()->json(['status' => 1, 'data' => view('app.active.ajax.ajax_spring_recruit', [
+                    'categories' => $categories,
+                    'res'        => $res,
+                    'city'       => $citys,
+                    'more'       => $more,
+                    'params'     => $params,
+                ])->render()]);
+            }
+            return response()->json(['status' => 0]);
+        }
+
+        return view('app.active.online_recruit', [
+            'categories' => $categories,
+            'res'        => $res,
+            'more'       => $more,
+            'params'     => $params,
+        ]);
+    }
 }

+ 4 - 0
app/Http/Middleware/SubsiteCheck.php

@@ -141,6 +141,10 @@ class SubsiteCheck
             if ($request->route()->getName() == 'talentcard.index') {
                 return redirect(route('mobile.talentcard.index'));
             }
+            //线上招聘会
+            if ($request->route()->getName() == 'active.jobfair.online_recruit') {
+                return redirect(route('mobile.active.recruit'));
+            }
         }
 
         return $next($request);

+ 20 - 0
public/themes/default/assets/app/css/jobfair/online_recruit.css

@@ -0,0 +1,20 @@
+.load_more_footer{color: #bfbfb7;line-height: 32px;text-align: center;margin: 25px 0px;}
+.load_more_footer span.loading{background: url(../../images/jobfair/loading-more.gif) no-repeat;padding-left: 40px;display: inline-block}
+.load_more_body {display:flex;flex-wrap: wrap;}
+
+.jobfair_detail_show {width:1200px;margin:0 auto;}
+.online2021_content {width:33.33%;padding:30px 10px 20px 10px;box-sizing:border-box;}
+.online2021_content .content_box {border:1px solid #666;padding: 10px 0 10px 0;border-radius: 10px;box-shadow: 0 0 10px #ccc;}
+.online2021_content h3{color: black;text-align: center;font-size: 22px;margin: 0 auto;height: 36px;border-bottom: 1px solid #666;}
+.online2021_content .online2021_line {height:31px;display:flex;width:80%;margin:0 auto;align-items:center;font-size:16px;}
+.online2021_content .online2021_line .line_title {font-weight:bold;color:#333;}
+.online2021_content .online2021_line .line_left,.online2021_content .online2021_line .line_right {flex:1;}
+.online2021_content .online2021_line .line_left{text-align:left;}
+.online2021_content .online2021_line .line_right{text-align:right;}
+.online2021_content .online2021_line .line_right.more {font-size:14px;}
+.online2021_content .online2021_line .line_right.more a {color:blue;}
+.online2021_content .online2021_line.end {height:25px;}
+.online2021_content .online2021_line.end .tag{height:20px;line-height:20px;font-size:.25rem;color:#415571;border:1px solid #415571;border-radius:5px;padding:0 5px;margin-right:5px;}
+.online2021_content .button-a {border-top: 1px solid #666;display: block;}
+.online2021_content .btn {width:35%;height:30px;background-color:#415571;display:flex;align-items:center;justify-content:center;color:white;margin:0 auto;margin-top: 15px;border-radius: 5px;}
+.online2021_content .btn img {height:25px;}

+ 30 - 0
public/themes/default/assets/mobile/css/active_recruit.css

@@ -0,0 +1,30 @@
+body {background:#fffee9;}
+a {text-decoration:none;}
+
+.filter-group {background:none;border-bottom:1px solid #eee;}
+.br {border-right:1px solid #eee;}
+.filter-group .filter-list {padding:.1rem;height:auto;}
+.filter-group .filter-list:after {width:0;}
+.filter-group .con-filter {top: .65rem;}
+.filter-group.x2 .filter-list .filter-cell .filter-cell-txt {color:black;}
+.qs-btn-orange {background-color:#ec0d00;}
+
+.online2021_header img {width:100%;display:block;}
+
+.online2021_title {background-image:url("../images/online2021/bg_title_special.png");width:100%;height:100px;background-size:100% 100%;}
+.online2021_title p {font-size:.32rem;text-align:center;padding-top:27px;font-weight:600;}
+
+.online2021_content {width:100%;background-size:100% 100%;padding:30px;}
+.online2021_content .content_box {border:1px solid #999;border-radius:5px;box-shadow:0 0 10px #999;}
+.online2021_content h3{color: black;  text-align: center;  font-size: .4rem;border-bottom:1px solid #999;padding:10px 0;}
+.online2021_content .online2021_line {height:31px;display:flex;width:80%;margin:0 auto;align-items:center;}
+.online2021_content .online2021_line .line_left,.online2021_content .online2021_line .line_right {flex:1;}
+.online2021_content .online2021_line .line_title {font-weight:bold;color:#333;}
+.online2021_content .online2021_line .line_left{text-align:left;}
+.online2021_content .online2021_line .line_right{text-align:right;}
+.online2021_content .online2021_line .line_right.more {font-size:.25rem;}
+.online2021_content .online2021_line.end {height:25px;}
+.online2021_content .online2021_line.end .tag{height:20px;line-height:20px;font-size:.25rem;color:#fbf801;border:1px solid #fbf801;border-radius:5px;padding:0 5px;margin-right:5px;}
+.online2021_content .btn_a {border-top:1px solid #999;display:block;padding-bottom:10px;}
+.online2021_content .btn {width:35%;height:30px;background-color:#b20c02;display:flex;align-items:center;justify-content:center;color:white;margin:0 auto;margin-top: 15px;border-radius: 5px;}
+.online2021_content .btn img {height:25px;}

+ 36 - 0
public/themes/default/views/app/active/ajax/ajax_jobfair_recruit.blade.php

@@ -0,0 +1,36 @@
+@foreach($res as $key=>$val)
+    <div class="online2021_content">
+        <div class="content_box">
+            <h3 class="substring">{{ $val['companyname'] or '' }}</h3>
+            <p class="online2021_line">
+                <span class="line_left line_title">招聘岗位</span>
+                <span class="line_right more"><a href="{{route('jobs.company',['id'=>$val['id']])}}">更多>></a></span>
+            </p>
+            @for($i=0;$i<3;$i++)
+                <p class="online2021_line">
+                    <span class="line_left">{{empty($val['jobs'][$i]) ? '' : $val['jobs'][$i]['jobs_name']}}</span>
+                    <span class="line_right">
+                        @if(!empty($val['jobs'][$i]))
+                            @if($val['jobs'][$i]['wage'] == '-1')
+                                面议
+                            @else
+                                ¥{{$val['jobs'][$i]['wage_min']}}-{{$val['jobs'][$i]['wage_max']}}
+                            @endif
+                        @endif
+                    </span>
+                </p>
+            @endfor
+            <p class="online2021_line end">
+                @foreach($val['tag_arr'] as $tag)
+                    <span class="tag">{{$tag->demand}}</span>
+                @endforeach
+            </p>
+            <a href="{{route('jobs.company',['id'=>$val['id']])}}" class="button-a">
+                <div class="btn">
+                    <img src="{{theme_asset('mobile/images/online2021/bg_btn.png')}}"/>
+                    投递简历
+                </div>
+            </a>
+        </div>
+    </div>
+@endforeach

+ 368 - 0
public/themes/default/views/app/active/online_recruit.blade.php

@@ -0,0 +1,368 @@
+@extends('module.layouts.content')
+
+@push('meta')
+
+@endpush
+
+@push('css')
+    <link href="{{ theme_asset('app/css/common.css') }}" rel="stylesheet">
+    <link href="{{theme_asset('app/css/jobfair/online_recruit.css')}}" rel="stylesheet"/>
+    <link rel="stylesheet" type="text/css" href="{{ theme_asset('app/css/company/company_ajax_dialog.css')}}"/>
+    <link rel="stylesheet" type="text/css" href="{{ theme_asset('app/css/common_ajax_dialog.css')}}"/>
+    <link href="{{theme_asset('app/css/jobs/jobs.css')}}" rel="stylesheet"/>
+    <style>
+        .com-res-group {background:white;}
+        .header{height: 400px;background: url({{theme_asset('app/images/jkq/index_search.jpg')}});width: 100%;}
+        .header img {width: 1200px;margin: 0 auto;display:block;}
+        .com-se-line {position:relative;z-index:100;}
+    </style>
+@endpush
+
+@push('js')
+    <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak={{ subsite_config('aix.system.map.map.map_ak') }}&s=1"></script>
+@endpush
+
+@section('content')
+    <div class="header">
+        <img src="{{theme_asset('app/images/jkq/index_search_box.png')}}?v=2">
+    </div>
+    <div class="newjobfair">
+        <div class="com-se-filter" style="margin-top:0;">
+            <div class="com-se-line J_trade">
+                <div class="csl-left">行业类别</div>
+                <div class="csl-right">
+                    @if($categories['AIX_trade'])
+                        <div onclick="javascript:location.href='{{route("active.jobfair.online_recruit",array_merge($params, array("trade"=>"")))}}'" data-code="0" title="不限" class="csl-cell @if(array_get($params,'trade')=='') select @endif">不限</div>
+                        @foreach($categories['AIX_trade'] as $k=>$v)
+                            <div onclick="javascript:location.href='{{route("active.jobfair.online_recruit",array_merge($params, array("trade"=>$v["id"])))}}'" data-code="{{$v['id']}}" title="{{$v['demand']}}" class="csl-cell @if(array_get($params,'trade')==$v['id']) select @endif">
+                                {{$v['demand']}}
+                            </div>
+                        @endforeach
+                    @endif
+                    <div class="clear"></div>
+                </div>
+                <div class="more">
+                    <div class="J_showTrade mbtn close">展开</div>
+                    <script type="text/javascript">
+                        $('.J_trade .csl-cell').each(function(index, el) {
+                            if (index > 15) {
+                                $(this).addClass('for_up');
+                            }
+                        })
+                        var selectIndex = $('.J_trade .csl-cell').index($('.J_trade .csl-cell.select'));
+                        if (selectIndex > 15) {
+                            $('.J_showTrade').removeClass('close');
+                            $('.J_showTrade').text('收起');
+                            $('.for_up').show();
+                        }
+                        $('.J_showTrade').off().on('click', function(event) {
+                            if ($(this).hasClass('close')) {
+                                $(this).removeClass('close');
+                                $(this).text('收起');
+                                $('.for_up').show();
+                            } else {
+                                $(this).addClass('close');
+                                $(this).text('展开');
+                                $('.for_up').hide();
+                            }
+                        })
+                    </script>
+                </div>
+                <div class="clear"></div>
+            </div>
+        </div>
+        <div class="com-res-group">
+            {{--过滤条件--}}
+            @if($params)
+                <div class="selected J_selected">
+                    <div class="stit">已选条件</div>
+                    <div class="sc">
+                        {{--行业类别--}}
+                        @if(array_get($params, 'trade'))
+                            <div class="slist" onclick="javascript:location.href='{{route("active.jobfair.online_recruit",array_merge($params, array("trade"=>"")))}}'">
+                                <span>企业性质:</span>
+                                {{$categories['AIX_trade'][$params['trade']]['demand']}}
+                            </div>
+                        @endif
+                    </div>
+                    <div class="sr">
+                        <div class="empty" onclick="javascript:location.href='{{route("active.jobfair.online_recruit")}}'">清空</div>
+                    </div>
+                    <div class="clear"></div>
+                </div>
+            @endif
+        </div>
+
+        <div class="jobfair_detail_show">
+            <div class="tabs_show">
+                <div class="tabs_show_item" id="join_com" style="display: block">
+                    @if(count($res))
+                        <div class="load_more_body">
+                            @foreach($res as $key=>$val)
+                                <div class="online2021_content">
+                                    <div class="content_box">
+                                        <h3 class="substring">{{ $val['companyname'] or '' }}</h3>
+                                        <p class="online2021_line">
+                                            <span class="line_left line_title">招聘岗位</span>
+                                            <span class="line_right more"><a href="{{route('jobs.company',['id'=>$val['id']])}}">更多>></a></span>
+                                        </p>
+                                        @for($i=0;$i<3;$i++)
+                                            <p class="online2021_line">
+                                                <span class="line_left">{{empty($val['jobs'][$i]) ? '' : $val['jobs'][$i]['jobs_name']}}</span>
+                                                <span class="line_right">
+                                                    @if(!empty($val['jobs'][$i]))
+                                                        @if($val['jobs'][$i]['wage'] == '-1')
+                                                            面议
+                                                        @else
+                                                            ¥{{$val['jobs'][$i]['wage_min']}}-{{$val['jobs'][$i]['wage_max']}}
+                                                        @endif
+                                                    @endif
+                                                </span>
+                                            </p>
+                                        @endfor
+                                        <p class="online2021_line end">
+                                            @foreach($val['tag_arr'] as $tag)
+                                                <span class="tag">{{$tag->demand}}</span>
+                                            @endforeach
+                                        </p>
+                                        <a href="{{route('jobs.company',['id'=>$val['id']])}}" class="button-a">
+                                            <div class="btn">
+                                                <img src="{{theme_asset('mobile/images/online2021/bg_btn.png')}}" />
+                                                投递简历
+                                            </div>
+                                        </a>
+                                    </div>
+                                </div>
+                            @endforeach
+                        </div>
+                    @endif
+                        @if($more)
+                            <div class="load_more_footer">
+                                <span page="1" >加载更多</span>
+                            </div>
+                        @else
+                            <div class="load_more_footer">
+                                <span page="1" >-----没有更多了-----</span>
+                            </div>
+                        @endif
+                </div>
+            </div>
+        </div>
+
+
+
+    </div>
+@endsection
+@section('script')
+    <script type="text/javascript" src="{{theme_asset('app/js/jquery.jobslist.js')}}"></script>
+    <script type="text/javascript" src="{{theme_asset('app/js/jquery.highlight-3.js')}}"></script>
+    <script type="text/javascript" src="{{theme_asset('app/js/jquery.autocomplete.js')}}"></script>
+    <script>
+        $(function(){
+            // 搜索类型切换
+            $('.J_sli_jc').click(function() {
+                $(this).addClass('select').siblings().removeClass('select');
+                var indexValue = $('.J_sli_jc').index(this);
+                var typeValue = $.trim($(this).data('type'));
+                if (typeValue == 'company') {
+                    $('#ajax_search_location').attr('action', "{{route('jobs.companyList', array('list_type'=>'AIX_companylist'))}}");
+                    $('#company_hotword').show();
+                    $('#job_hotword').hide();
+                    $.getJSON("{{route('list.type')}}",{action:'hotword',type:2});
+                } else {
+                    $('#ajax_search_location').attr('action', "{{route('jobs', array('list_type'=>'AIX_jobslist'))}}");
+                    $('#job_hotword').show();
+                    $('#company_hotword').hide();
+                    $.getJSON("{{route('list.type')}}",{action:'hotword',type:1});
+                }
+                $('input[name="search_type"]').val(typeValue);
+            });
+
+
+            $('.com-sel-line').eq($('.com-sel-line').length-1).addClass('last');
+            if ($('.J_selected .slist').length) {
+                $('.J_selected').show();
+            }
+        });
+
+        var filter = {
+            expr: function(o){
+                var cls = this.replace(o.item || ".wf_element"),
+                    leftCls = this.replace(o.leftItem || ".wf_temp"),
+                    rightCls = this.replace(o.rightItem || ".wf_rank");
+                $.extend($.expr[':'],{
+                    node:function(a){
+                        return $(a).hasClass(cls);
+                    },
+                    leftNode: function(a){
+                        return $(a).hasClass(leftCls);
+                    },
+                    rightNode: function(a){
+                        return $(a).hasClass(rightCls);
+                    }
+                });
+            },
+            replace: function(cls){
+                var regExp = /[.#]/g,
+                    whitespace = /\s/g;
+                if(whitespace.test(cls)){
+                    cls = cls.split(' ')[0];
+                }
+                return cls.replace(regExp, '');
+            }
+        }
+        function Waterfall(o){
+            this.target = o.target || $('#waterfall_main');
+            this.targetItem = o.targetItem || '.wf_box';
+            this.colWidth = o.colWidth || 0;
+            this.colCount = o.colCount || 4;
+            filter.expr(o);
+            this.init();
+        }
+        Waterfall.prototype = {
+            init:function(){
+                var self = this,
+                    col = [],
+                    nodes = self.target.find(":node"),
+                    leftNodes = self.target.find(":leftNode"),
+                    rightNodes = self.target.find(":rightNode"),
+                    nodeLen = nodes.length,
+                    leftLen = leftNodes.length,
+                    rightLen = rightNodes.length;
+                for(var i = 0; i < self.colCount; i++){
+                    col[i] = 0;
+                    if(i == 0 && leftLen){
+                        for(var j = 0; j < leftLen; j++){
+                            col[i] += leftNodes.eq(j).outerHeight(true);
+                        }
+                    }
+                    if(i == self.colCount - 1 && rightLen){
+                        for(var j = 0; j < rightLen; j++){
+                            col[i] += rightNodes.eq(j).outerHeight(true);
+                        }
+                    }
+                }
+                nodes.each(function(){
+                    this.h = $(this).outerHeight(true);
+                    if($(this).hasClass(filter.replace(self.targetItem))){
+                        var ming = self.getMinCol(col);
+                        $(this).css({"left": ming * self.colWidth, "top": col[ming]});
+                        col[ming] += this.h;
+                    }
+                });
+                self.target.css('height', self.maxHeight(col));
+            },
+            setColWidth:function(wid){
+                this.colWidth = wid;
+            },
+            setColCount:function(col){
+                this.colCount = col;
+            },
+            maxHeight:function(arr){
+                var len = arr.length,temp = arr[0];
+                for(var i= 1; i < len; i++){
+                    if(temp < arr[i]){
+                        temp = arr[i];
+                    }
+                }
+                return temp;
+            },
+            getMinCol:function(arr){
+                var ca = arr,cl = ca.length,temp = ca[0],minc = 0;
+                for(var ci = 0; ci < cl; ci++){
+                    if(temp > ca[ci]){
+                        temp = ca[ci];
+                        minc = ci;
+                    }
+                }
+                return minc;
+            }
+        };
+
+        var content = $('#waterfall_main');
+        var item = content.find('.wf_element'),
+            itemWidth = item.outerWidth(),/*取瀑布流元素宽*/
+            contentWidth = 1162, /*取容器宽*/
+            list_sum = parseInt(contentWidth / itemWidth),
+            list_sum_margin = list_sum - 1, /*取元素间距的值*/
+            left = (contentWidth - itemWidth * list_sum) / list_sum_margin;
+        if(itemWidth * list_sum > contentWidth){
+            list_sum -= 1;
+            left = contentWidth - itemWidth * list_sum;
+        }
+        var colWidth = itemWidth + left;
+        var waterfall = new Waterfall({
+            //设定列宽度
+            "colWidth": colWidth,
+            //设定显示列数
+            "colCount": 2
+        });
+        content.on('mouseenter', '.wf_box', function(){
+            $(this).addClass('wf_hov');
+        }).on('mouseleave', '.wf_box', function(){
+            $(this).removeClass('wf_hov');
+        });
+
+        @if($more)
+        /**
+         * 监听网页滚动事件
+         */
+        var f = true;
+
+
+        $(window).on("scroll",function () {
+            var isShow = $("#join_com").is(":visible");
+            if($(".load_more_footer span").hasClass("end")){
+                return false;
+            }
+            var h = document.documentElement.clientHeight || document.body.clientHeight;
+            var sh = document.documentElement.scrollTop || document.body.scrollTop;
+            var t1 = document.querySelector(".load_more_footer").offsetTop- sh;
+            //可视区域
+            if (t1 < h && isShow  && f ) {
+                s();
+            }
+        });
+        var s = function () {
+            var page = $(".load_more_footer span").attr('page');
+            @if (array_has($params, 'citycategory'))
+                var city = '{{array_get($params, 'citycategory')}}';
+            @else
+                var city = ''
+            @endif
+            @if (array_has($params, 'trade'))
+            var trade = '{{array_get($params, 'trade')}}';
+                    @else
+            var trade = ''
+            @endif
+            $.ajax({
+                type:"get",
+                url:"{{ route('active.jobfair.online_recruit') }}",
+                data:{
+                    page:page,
+                    citycategory:city,
+                    trade:trade
+                },
+                beforeSend:function () {
+                    f = false;
+                    $(".load_more_footer span").html('正在加载').addClass("loading");
+                },
+                success:function (result) {
+                    if(result.status==1){
+                        $(".load_more_body").append(result.data);
+                        $(".load_more_footer span").attr('page',parseInt(page)+1);
+                        $(".load_more_footer span").html('加载更多').removeClass("loading");
+                        waterfall.init();
+                    }else {
+                        $(".load_more_footer span").html('-----没有更多了-----').removeClass("loading").addClass("end");
+                    }
+                },
+                complete:function () {
+                    f = true;
+                }
+            })
+        }
+        @endif
+
+    </script>
+@endsection

+ 267 - 0
public/themes/default/views/mobile/app/active/recruit.blade.php

@@ -0,0 +1,267 @@
+@extends('mobile.module.layouts.empty')
+
+@push('meta')
+
+@endpush
+
+@push('css')
+    <link rel="stylesheet" href="{{theme_asset('mobile/css/active_recruit.css')}}">
+    <link href="{{ theme_asset('mobile/css/jobs.css') }}" rel="stylesheet">
+    <style>
+        .drop_content a{color: #666666;text-decoration: none;}
+        .con-filter .f-box.f-box-trade{
+            height: 8.7rem;
+        }
+        .con-filter .f-box-trade div.f-box-inner{
+            height: 7rem;
+        }
+        .load_more_footer{
+            width: 100%;
+            text-align: center;
+            line-height: 1rem;
+            color:white;
+        }
+        .bottom-nav-bar .nav-bar-cell .bar-cell {
+            width: 33.3%;
+        }
+    </style>
+@endpush
+
+@push('js')
+    <script src="{{ theme_asset('mobile/js/dropload.min.js') }}"></script>
+@endpush
+@section('content')
+    <div class="online2021_header">
+        <img src="{{theme_asset('app/images/jkq/index_search_box.png')}}?v=5">
+    </div>
+    <div class="filter-group x1 filter-outer">
+        <div id="f-mask"></div>
+        <div class="filter-outer">
+            {{--<div class="filter-list js-filter br" data-tag="0">
+                <div class="filter-cell" data-id="filter-citycategory">
+                    <div class="filter-cell-txt f-normal-txt-citycategory">
+                        @if(array_get($params,'citycategory')=='')
+                            地区
+                        @else
+                            {{ $city['select']['name'] }}
+                        @endif
+                    </div>
+                </div>
+            </div>--}}
+            <div class="filter-list js-filter" data-tag="1">
+                <div class="filter-cell" data-id="filter-trade">
+                    <div class="filter-cell-txt f-normal-txt-trade">
+                        @if(array_get($params,'trade')=='')
+                            行业
+                        @else
+                            {{ $categories['AIX_trade'][$params['trade']]['demand'] }}
+                        @endif
+                    </div>
+                </div>
+            </div>
+            <div class="clear"></div>
+            <form id="searchForm" action="" method="get">
+                <input type="hidden" class="f-normal-code-citycategory" name="citycategory" value="{{$params['citycategory'] or ''}}">
+                <input type="hidden" class="f-normal-code-trade" name="trade" value="{{$params['trade'] or ''}}">
+            </form>
+        </div>
+        <div class="con-filter">
+            <div class="f-box f-box-city">
+                <div class="f-box-inner">
+                    @if($city['list'])
+                        @foreach($city['list'] as $k=>$v)
+                            <li>
+                                <a class="f-item f-item-normal @if(array_get($params,'citycategory')==$v['citycategory']) select @endif" href="javascript:;" data-type="citycategory" data-code="{{$v['citycategory']}}" data-title="{{$v['name']}}">
+                                    {{$v['name']}}
+                                </a>
+                            </li>
+                        @endforeach
+                    @endif
+                </div>
+                <div class="f-btn-submit qs-center">
+                    <div onclick="window.location='{{route("mobile.active.spring_special",array_merge($params, array("citycategory"=>"")))}}';" class="qs-btn qs-btn-inline qs-btn-medium qs-btn-orange">
+                        不限
+                    </div>
+                </div>
+            </div>
+            <div class="f-box f-box-trade">
+                <div class="f-box-inner">
+                    @if($categories['AIX_trade'])
+                        @foreach($categories['AIX_trade'] as $k=>$v)
+                            <li>
+                                <a class="f-item f-item-normal @if(array_get($params,'trade')==$v['id']) select @endif" href="javascript:;" data-type="trade" data-code="{{$v['id']}}" data-title="{{$v['demand']}}">
+                                    {{$v['demand']}}
+                                </a>
+                            </li>
+                        @endforeach
+                    @endif
+                </div>
+                <div class="f-btn-submit qs-center">
+                    <div onclick="window.location='{{route("mobile.active.spring_special",array_merge($params, array("trade"=>"")))}}';" class="qs-btn qs-btn-inline qs-btn-medium qs-btn-orange">
+                        不限
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div id="join_com">
+        @if(count($res))
+            <div class="load_more_body">
+                @foreach($res as $key=>$val)
+                    <div class="online2021_content">
+                        <div class="content_box">
+                            <h3 class="substring">{{ $val['companyname'] or '' }}</h3>
+                            <p class="online2021_line">
+                                <span class="line_left line_title">招聘岗位</span>
+                                <span class="line_right more"><a href="{{route('mobile.jobs.company',['id'=>$val['id']])}}">更多>></a></span>
+                            </p>
+                            @for($i=0;$i<3;$i++)
+                            <p class="online2021_line">
+                                <span class="line_left substring">{{empty($val['jobs'][$i]) ? '' : $val['jobs'][$i]['jobs_name']}}</span>
+                                <span class="line_right substring">
+                                @if(!empty($val['jobs'][$i]))
+                                    @if($val['jobs'][$i]['wage'] == '-1')
+                                        面议
+                                    @else
+                                            ¥{{$val['jobs'][$i]['wage_min']}}-{{$val['jobs'][$i]['wage_max']}}
+                                    @endif
+                                @endif
+                                </span>
+                            </p>
+                            @endfor
+                            <p class="online2021_line end">
+                                @foreach($val['tag_arr'] as $tag)
+                                    <span class="tag">{{$tag->demand}}</span>
+                                @endforeach
+                            </p>
+                            <a href="{{route('mobile.jobs.company',['id'=>$val['id']])}}" class="btn_a">
+                                <div class="btn">
+                                    <img src="{{theme_asset('mobile/images/online2021/bg_btn.png')}}" />
+                                    投递简历
+                                </div>
+                            </a>
+                        </div>
+                    </div>
+                @endforeach
+            </div>
+        @endif
+
+        @if($more)
+            <div class="load_more_footer">
+                <span page="1" >加载更多</span>
+            </div>
+        @else
+            <div class="load_more_footer">
+                <span page="1" >-----没有更多了-----</span>
+            </div>
+        @endif
+    </div>
+    <div class="bottom-nav-bar-group">
+        <div class="bottom-nav-bar">
+            <div class="nav-bar-cell qs-left" style="width: 100%;">
+                <a href="{{route('mobile.home')}}"
+                   class="bar-cell index @if(url($current_url) == route('mobile.home')) active @endif" style="width: 50%;">
+                    <div class="b-img"></div>
+                    <div class="b-txt font10">首页</div>
+                </a>
+                <a href="{{ route('mobile.person.index') }}"
+                   class="bar-cell mine @if(strripos( url($current_url), route('mobile.person.index')) !== false) active @endif" style="width: 50%;">
+                    <div class="b-img"></div>
+                    <div class="b-txt font10">我的</div>
+                </a>
+                <div class="clear"></div>
+            </div>
+        </div>
+    </div>
+
+
+    <script type="text/javascript" src="{{theme_asset('mobile/js/QSfilter.js')}}"></script>
+    <script type="text/javascript" src="{{theme_asset('mobile/js/qsCategory.js')}}"></script>
+    <script type="text/javascript" charset="utf-8" src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
+    <script src="{{ theme_asset('mobile/js/dropload.min.js') }}"></script>
+    <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak={{subsite_config('aix.system.map.map.map_ak')}}&s=1"></script>
+@endsection
+@section('script')
+    <script>
+        function goPage() {
+            var toSearchPage = "{{route('mobile.active.spring_special')}}";
+            window.location.href = toSearchPage + '?'+$('#searchForm').serialize();
+        }
+
+        // 除更多和读取缓存之外的下拉列表
+        $('.f-item-normal').on('click', function () {
+            var thisType = $(this).data('type');
+            var thisTitle = $(this).data('title');
+            var thisCode = $(this).data('code');
+            $('.f-normal-code-' + thisType).val(thisCode);
+            $('.f-normal-txt-' + thisType).text(thisTitle);
+            $('body').removeClass('filter-fixed');
+            $('.f-box-' + thisType).addClass('qs-hidden');
+            $('.js-filter').removeClass('active');
+            $('#f-mask').hide();
+            goPage();
+        });
+
+        // 点击筛选
+        $('#f-do-filter').on('click', function () {
+            goPage();
+        });
+        $('.js-filter').on('click', function () {
+            $('.f-more-content').removeClass('qs-actionsheet-toggle');
+            $('.f-box-more').removeClass('qs-actionsheet-toggle-left');
+            var filter = new QSfilter($(this));
+            document.getElementById('f-mask').ontouchstart = function(e){ e.preventDefault(); }
+        });
+
+        @if($more)
+        /**
+         * 监听网页滚动事件
+         */
+        var f = true;
+
+
+        $(window).on("scroll",function () {
+            var isShow = true;//$("#join_com").is(":visible");
+            if($(".load_more_footer span").hasClass("end")){
+                return false;
+            }
+            var h = document.documentElement.clientHeight || document.body.clientHeight;
+            var sh = document.documentElement.scrollTop || document.body.scrollTop;
+            var t1 = document.querySelector(".load_more_footer").offsetTop- sh;
+            //可视区域
+            if (t1 < h && isShow  && f ) {
+                s();
+            }
+        });
+        var s = function () {
+            var page = $(".load_more_footer span").attr('page');
+            $.ajax({
+                type:"get",
+                url:"{{ route('mobile.active.spring_special',$params) }}",
+                data:{
+                    page:page
+                },
+                beforeSend:function () {
+                    f = false;
+                    $(".load_more_footer span").html('正在加载').addClass("loading");
+                },
+                success:function (result) {
+                    if(result.status==1){
+                        $(".load_more_body").append(result.data);
+                        // console.log(result.data);
+                        $(".load_more_footer span").attr('page',parseInt(page)+1);
+                        $(".load_more_footer span").html('加载更多').removeClass("loading");
+                    }else {
+                        $(".load_more_footer span").html('-----没有更多了-----').removeClass("loading").addClass("end");
+                    }
+
+                },
+                complete:function () {
+                    f = true;
+                }
+            })
+        }
+        @endif
+
+    </script>
+@endsection

+ 2 - 0
routes/mobile.php

@@ -20,6 +20,8 @@ Route::get('/qrcode/{hashid}', 'Mobile\QrcodeController@show')->name('mobile.qrc
 
 Route::get('/test/index', 'Mobile\Active\TestController@index')->name('mobile.test.index');
 
+Route::get('/active/recruit', 'Mobile\Active\RecruitController@index')->name('mobile.active.recruit');
+
 /*认证*/
 Route::group([
     'prefix' => '/auth',

+ 4 - 0
routes/web.php

@@ -29,6 +29,10 @@ Route::get('active/jobfair/test', 'Web\Active\JobfairController@test')->name('ac
 Route::post('active/jobfair/data', 'Web\Active\JobfairController@data')->name('active.jobfair.data');
 Route::get('active/jobfair/data', 'Web\Active\JobfairController@data')->name('active.jobfair.data');
 
+//线上招聘会
+Route::get('active/jobfair/online_recruit', 'Web\Active\JobfairController@online_recruit')->name('active.jobfair.online_recruit');
+
+
 Route::group([
     'prefix' => '/share'
 ],function(Router $router){