Просмотр исходного кода

Merge branch 'master' of http://59.57.98.130:3000/jjhc/jucai

linwu 2 лет назад
Родитель
Сommit
71ca767ddf

+ 144 - 15
app/Admin/Controllers/Recruit/RecruitController.php

@@ -927,9 +927,26 @@ class RecruitController extends Controller
                 'start' => 0,
                 'data' =>$photo_data
             ];
-            $info->family_planning = json_decode($info->family_planning);
+//            $info->family_planning = json_decode($info->family_planning);
+//            $photo_data = [];
+//            foreach ($info->family_planning as $k => $v) {
+//                if($v->status){
+//                    $photo_data[] = [
+//                        'alt' => $v->name,
+//                        'pid' => $v->uid,
+//                        'src' => $v->response->path,
+//                    ];
+//                }
+//            }
+//            $photos['family_planning'] = [
+//                'title' => '计生证明',
+//                'id' => 1,
+//                'start' => 0,
+//                'data' =>$photo_data
+//            ];
+            $info->manage = json_decode($info->manage);
             $photo_data = [];
-            foreach ($info->family_planning as $k => $v) {
+            foreach ($info->manage as $k => $v) {
                 if($v->status){
                     $photo_data[] = [
                         'alt' => $v->name,
@@ -938,25 +955,76 @@ class RecruitController extends Controller
                     ];
                 }
             }
-            $photos['family_planning'] = [
-                'title' => '计生证明',
+            $photos['manage'] = [
+                'title' => '综治证明',
                 'id' => 1,
                 'start' => 0,
                 'data' =>$photo_data
             ];
-            $info->manage = json_decode($info->manage);
+            $view_data['info'] = $info;
+            $view_data['photos'] = $photos;
+        }
+
+        return response(['data' => view('admin.recruit.ajax_supplement')->with($view_data)->render(), 'status' => 1], '200');
+    }
+
+    /**
+     * 健康信息审核
+     * @param Request $request
+     * @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response|mixed|\Psr\Container\ContainerInterface|\Symfony\Component\HttpFoundation\Response|\think\Response
+     * @throws \Throwable
+     */
+    public function ajax_health(Request $request)
+    {
+        Permission::check('recruit_ajax_health');
+        $ids = $request->ids;
+        $view_data['ids'] = $ids;
+        $info = RecruitSupplement::where('appoint_id',$ids)->first();
+        if(!$info){
+            $view_data['switch'] = 0;
+            $view_data['photos'] = [];
+        }else{
+            $view_data['switch'] = 1;
+            $photos = [
+                'health_code'=>[],
+                'trip_code' => []
+            ];
+            $info->health_code = json_decode($info->health_code);
             $photo_data = [];
-            foreach ($info->manage as $k => $v) {
-                if($v->status){
-                    $photo_data[] = [
-                        'alt' => $v->name,
-                        'pid' => $v->uid,
-                        'src' => $v->response->path,
-                    ];
+            if(is_array($info->health_code)){
+                foreach ($info->health_code as $k => $v) {
+                    if($v->status){
+                        $photo_data[] = [
+                            'alt' => $v->name,
+                            'pid' => $v->uid,
+                            'src' => $v->response->path,
+                        ];
+                    }
                 }
             }
-            $photos['manage'] = [
-                'title' => '综治证明',
+
+            $photos['health_code'] = [
+                'title' => '健康码',
+                'id' => 1,
+                'start' => 0,
+                'data' =>$photo_data
+            ];
+            $info->trip_code = json_decode($info->trip_code);
+            $photo_data = [];
+            if(is_array($info->trip_code)){
+                foreach ($info->trip_code as $k => $v) {
+                    if($v->status){
+                        $photo_data[] = [
+                            'alt' => $v->name,
+                            'pid' => $v->uid,
+                            'src' => $v->response->path,
+                        ];
+                    }
+                }
+            }
+
+            $photos['trip_code'] = [
+                'title' => '行程码',
                 'id' => 1,
                 'start' => 0,
                 'data' =>$photo_data
@@ -965,7 +1033,7 @@ class RecruitController extends Controller
             $view_data['photos'] = $photos;
         }
 
-        return response(['data' => view('admin.recruit.ajax_supplement')->with($view_data)->render(), 'status' => 1], '200');
+        return response(['data' => view('admin.recruit.ajax_health')->with($view_data)->render(), 'status' => 1], '200');
     }
 
     /**
@@ -1231,6 +1299,67 @@ class RecruitController extends Controller
         return response()->json(['status' => 1, 'msg' => '操作成功!', 'data' => 'ok']);
     }
 
+    /**
+     * 健康信息处理
+     * @param Request $request
+     * @return \Illuminate\Http\JsonResponse
+     */
+    public function health(Request $request)
+    {
+        Permission::check('ajax_health');
+        $ids = $request->ids;
+        if (empty($ids)) {
+            return response()->json(['status' => 0, 'msg' => '请选择审核记录!'], '200');
+        }
+        $status = $request->h_status;
+        $reason = $request->reason;
+        if(empty($status)){
+            return response()->json(['status' => 0, 'msg' => '请选择审核状态!'], '200');
+        }
+        if($status == -1 && empty($reason)){
+            return response()->json(['status' => 0, 'msg' => '请输入审核原因!'], '200');
+        }
+        if($status == -1){
+            $info = RecruitSupplement::where('appoint_id', $ids)->first();
+            $appointinfo = RecruitAppointInfo::where('id', $ids)->first();
+            //写日志
+            $log = [
+                'type'  =>  2,
+                'step' => 1,
+                'appoint_id' => $ids,
+                'uid' => Admin::user()->id,
+                'log' => '健康信息审核未通过,原因是:'.$reason
+            ];
+            RecruitAppointLog::create($log);
+            $info->h_status = 0;
+            $info->h_msg = $reason;
+            $info->save();
+            $appointinfo->health_audit = 0;
+            $appointinfo->save();
+        }
+        if($status == 1){
+            $reason = $reason ?? '符合报考条件';
+            $info = RecruitSupplement::where('appoint_id', $ids)->first();
+            $appointinfo = RecruitAppointInfo::where('id', $ids)->first();
+            //写日志
+            $log = [
+                'type'  =>  2,
+                'step' => 1,
+                'appoint_id' => $ids,
+                'uid' => Admin::user()->id,
+                'log' => '审核通过,原因是:' . $reason
+            ];
+            RecruitAppointLog::create($log);
+            $info->h_status = 1;
+            $info->h_msg = $reason;
+            $info->save();
+            $appointinfo->health_audit = 1;
+            $appointinfo->save();
+        }
+
+        return response()->json(['status' => 1, 'msg' => '操作成功!', 'data' => 'ok']);
+    }
+
     public function fetchWord(Request $request)
     {
         $recruit_id = $request->recruit_id;

+ 2 - 0
app/Admin/routes.php

@@ -449,6 +449,8 @@ Route::group([
         $router->post('appoint_audit', 'RecruitController@appoint_audit')->name('recruit.appoint_audit');
         $router->get('ajax_supplement', 'RecruitController@ajax_supplement')->name('recruit.ajax_supplement');
         $router->post('supplement', 'RecruitController@supplement')->name('recruit.supplement');
+        $router->get('ajax_health', 'RecruitController@ajax_health')->name('recruit.ajax_health');
+        $router->post('health', 'RecruitController@health')->name('recruit.health');
         $router->post('modify_appoint_info', 'RecruitController@modify_appoint_info')->name('recruit.modify_appoint_info');
         $router->get('seat_sticker', 'RecruitController@seat_sticker')->name('recruit.seat_sticker');
         $router->get('sign_table', 'RecruitController@sign_table')->name('recruit.sign_table');

+ 195 - 28
app/Http/Controllers/Web/Recruit/IndexController.php

@@ -409,7 +409,9 @@ class IndexController extends WebBaseController
                         $material = json_decode($special['material'],true);
                         foreach ($material as $k => $v){
                             if(array_key_exists('response',$v)){
-                                $material[$k]['url'] = $v['response']['path'];
+                                if(array_key_exists('path',$v['response'])){
+                                    $material[$k]['url'] = $v['response']['path'];}
+
                             }
                         }
                     }else{
@@ -439,7 +441,9 @@ class IndexController extends WebBaseController
                         $identification = json_decode($user_info['identification'],true);
                         foreach ($identification as $k => $v){
                             if(array_key_exists('response',$v)){
-                                $identification[$k]['url'] = $v['response']['path'];
+                                if(array_key_exists('path',$v['response'])){
+                                    $identification[$k]['url'] = $v['response']['path'];
+                                }
                             }
 
                         }
@@ -454,7 +458,9 @@ class IndexController extends WebBaseController
                         $education_certification = json_decode($user_info['education_certification'],true);
                         foreach ($education_certification as $k => $v){
                             if(array_key_exists('response',$v)){
-                                $education_certification[$k]['url'] = $v['response']['path'];
+                                if(array_key_exists('path',$v['response'])){
+                                    $education_certification[$k]['url'] = $v['response']['path'];
+                                }
                             }
 
                         }
@@ -469,7 +475,9 @@ class IndexController extends WebBaseController
                         $other_certification = json_decode($user_info['other_certification'],true);
                         foreach ($other_certification as $k => $v){
                             if(array_key_exists('response',$v)){
-                                $other_certification[$k]['url'] = $v['response']['path'];
+                                if(array_key_exists('path',$v['response'])){
+                                    $other_certification[$k]['url'] = $v['response']['path'];
+                                }
                             }
 
                         }
@@ -1389,9 +1397,13 @@ class IndexController extends WebBaseController
             return $this->showMessage('抱歉,您未入闱,无需考察审核!', route('recruit.show',array('id',$recruit['id'])), true, '上一页', '3');
         }
 
-        $uids = [169955];
+        $uids = [];
+        $limit_time = 1654075800;
+        if(in_array($uid,$uids)){
+            $limit_time = 1654162200;
+        }
         $time = time();
-        if(!in_array($uid,$uids) || $time > 1626661200){
+        if( $time > $limit_time){
             return $this->showMessage('抱歉,考察审核端口已关闭!', route('recruit.show',array('id',$recruit['id'])), true, '上一页', '3');
         }
 
@@ -1402,7 +1414,7 @@ class IndexController extends WebBaseController
                 'identification' => '',
                 'household_register' => '',
                 'education_certification' => '',
-                'family_planning' => '',
+                //'family_planning' => '',
                 'manage' => '',
                 'status' => 3
             ];
@@ -1475,6 +1487,82 @@ class IndexController extends WebBaseController
         return view('app.recruit.supplement',$view_data);
     }
 
+    /**
+     * 健康信息登记
+     * @param Request $request
+     */
+    public function health_info(Request $request)
+    {
+        $user = $this->getUser();
+        if (!empty($user)) {
+            $uid = $user->id;
+        } else {
+            return redirect(route('login'));
+        }
+
+        //招考id
+        $id = $request->input('id', 0);
+        if (!$id) {
+            return $this->showMessage('请选择报名项目!', route('home'), true, '上一页', '3');
+        }
+        $recruit = Recruit::find($id);
+        if(!$recruit['status'] && !$user->recruit_test){
+            return $this->showMessage('抱歉,该项目状态不正确,请联系客服!', route('recruit.show',array('id',$recruit['id'])), true, '上一页', '3');
+        }
+
+        $appoint_info = RecruitAppointInfo::where('uid',$uid)->where('recruit_id',$id)->first();
+        if(!$appoint_info){
+            return $this->showMessage('抱歉,您没有报名,无需登记!', route('recruit.show',array('id',$recruit['id'])), true, '上一页', '3');
+        }
+        if($appoint_info->audit != 3){
+            return $this->showMessage('抱歉,您无需登记!', route('recruit.show',array('id',$recruit['id'])), true, '上一页', '3');
+        }
+
+        $time = time();
+        if($time > 1653184800){
+            return $this->showMessage('抱歉,考察审核端口已关闭!', route('recruit.show',array('id',$recruit['id'])), true, '上一页', '3');
+        }
+
+        $info = RecruitSupplement::where('appoint_id',$appoint_info->id)->first();
+        if(!$info){
+            $info = [
+                'appoint_id' => $appoint_info->id,
+                'health_code' => '',
+                'trip_code' => ''
+            ];
+        }else{
+            $info = $info->toArray();
+            if(json_decode($info['health_code'])){
+                $health_code = json_decode($info['health_code'],true);
+                foreach ($health_code as $k => $v){
+                    if(array_key_exists('response',$v)){
+                        $health_code[$k]['url'] = $v['response']['path'];
+                    }
+                }
+            }else{
+                $health_code = [];
+            }
+            $info['health_code'] = $health_code;
+
+            if(json_decode($info['trip_code'])){
+                $trip_code = json_decode($info['trip_code'],true);
+                foreach ($trip_code as $k => $v){
+                    if(array_key_exists('response',$v)){
+                        $trip_code[$k]['url'] = $v['response']['path'];
+                    }
+                }
+            }else{
+                $trip_code = [];
+            }
+            $info['trip_code'] = $trip_code;
+
+        }
+
+        $view_data['info'] = json_encode($info);
+        $view_data['title'] = $recruit->company;
+        return view('app.recruit.health',$view_data);
+    }
+
     public function save_supplement(Request $request)
     {
         $user = $this->getUser();
@@ -1484,7 +1572,7 @@ class IndexController extends WebBaseController
             return redirect(route('login'));
         }
         $appoint_id = $request->input('appoint_id');
-        $appoint_info = RecruitAppointInfo::where('uid',$uid)->where('recruit_id',5)->where('id',$appoint_id)->first();
+        $appoint_info = RecruitAppointInfo::where('uid',$uid)->where('recruit_id',16)->where('id',$appoint_id)->first();
         if(!$appoint_info){
             return ['status' => 0, 'msg' => '抱歉,找不到您要补登的报名记录!'];
         }
@@ -1530,16 +1618,16 @@ class IndexController extends WebBaseController
             }
             $info->education_certification = json_encode($education_certification);
             //计生
-            $family_planning = $request->input('family_planning');
-            if(is_array($family_planning)){
-                //删除掉没有成功返回路径的图片
-                foreach ($family_planning as $k => $v){
-                    if(!array_key_exists('response',$v)){
-                        unset($family_planning[$k]);
-                    }
-                }
-            }
-            $info->family_planning = json_encode($family_planning);
+//            $family_planning = $request->input('family_planning');
+//            if(is_array($family_planning)){
+//                //删除掉没有成功返回路径的图片
+//                foreach ($family_planning as $k => $v){
+//                    if(!array_key_exists('response',$v)){
+//                        unset($family_planning[$k]);
+//                    }
+//                }
+//            }
+//            $info->family_planning = json_encode($family_planning);
             //综治
             $manage = $request->input('manage');
             if(is_array($manage)){
@@ -1592,16 +1680,16 @@ class IndexController extends WebBaseController
             }
             $data['education_certification'] = json_encode($education_certification);
             //计生
-            $family_planning = $request->input('family_planning');
-            if(is_array($family_planning)){
-                //删除掉没有成功返回路径的图片
-                foreach ($family_planning as $k => $v){
-                    if(!array_key_exists('response',$v)){
-                        unset($family_planning[$k]);
-                    }
-                }
-            }
-            $data['family_planning'] = json_encode($family_planning);
+//            $family_planning = $request->input('family_planning');
+//            if(is_array($family_planning)){sp
+//                //删除掉没有成功返回路径的图片
+//                foreach ($family_planning as $k => $v){
+//                    if(!array_key_exists('response',$v)){
+//                        unset($family_planning[$k]);
+//                    }
+//                }
+//            }
+//            $data['family_planning'] = json_encode($family_planning);
             //综治
             $manage = $request->input('manage');
             if(is_array($manage)){
@@ -1623,6 +1711,85 @@ class IndexController extends WebBaseController
         return ['status' => 0, 'msg' => 'test', 'data' => ''];
     }
 
+    public function save_healthinfo(Request $request)
+    {
+        $user = $this->getUser();
+        if (!empty($user)) {
+            $uid = $user->id;
+        } else {
+            return redirect(route('login'));
+        }
+        $appoint_id = $request->input('appoint_id');
+        $appoint_info = RecruitAppointInfo::where('uid',$uid)->where('recruit_id',16)->where('id',$appoint_id)->first();
+        if(!$appoint_info){
+            return ['status' => 0, 'msg' => '抱歉,找不到您要登记的报名记录!'];
+        }
+        $info = RecruitSupplement::where('appoint_id',$appoint_id)->first();
+        if($info){
+            if($info->h_status == 1){
+                return ['status' => 0, 'msg' => '材料已审核通过,不允许修改'];
+            }
+            if($info->h_status == 0){
+                return ['status' => 0, 'msg' => '材料审核中,不允许修改'];
+            }
+            $health_code = $request->input('health_code');
+            if(is_array($health_code)){
+                //删除掉没有成功返回路径的图片
+                foreach ($health_code as $k => $v){
+                    if(!array_key_exists('response',$v)){
+                        unset($health_code[$k]);
+                    }
+                }
+            }
+            $info->health_code = json_encode($health_code);
+
+            $trip_code = $request->input('trip_code');
+            if(is_array($trip_code)){
+                //删除掉没有成功返回路径的图片
+                foreach ($trip_code as $k => $v){
+                    if(!array_key_exists('response',$v)){
+                        unset($trip_code[$k]);
+                    }
+                }
+            }
+            $info->trip_code = json_encode($trip_code);
+
+            $info->save();
+            return ['status' => 1, 'msg' => '提交成功', 'data' => ''];
+        }else{
+            $data['appoint_id'] = $appoint_id;
+            $health_code = $request->input('health_code');
+            if(is_array($health_code)){
+                //删除掉没有成功返回路径的图片
+                foreach ($health_code as $k => $v){
+                    if(!array_key_exists('response',$v)){
+                        unset($health_code[$k]);
+                    }
+                }
+            }
+            $data['health_code'] = json_encode($health_code);
+
+            $trip_code = $request->input('trip_code');
+            if(is_array($trip_code)){
+                //删除掉没有成功返回路径的图片
+                foreach ($trip_code as $k => $v){
+                    if(!array_key_exists('response',$v)){
+                        unset($trip_code[$k]);
+                    }
+                }
+            }
+            $data['trip_code'] = json_encode($trip_code);
+
+            $data['h_status'] = 0;
+            RecruitSupplement::create($data);
+            $appoint_info->health_audit = 4;
+            $appoint_info->save();
+            return ['status' => 1, 'msg' => '提交成功', 'data' => ''];
+        }
+
+        return ['status' => 0, 'msg' => 'test', 'data' => ''];
+    }
+
     public function interviewer_random(Request $request)
     {
         $model = $request->input('model',1);

+ 80 - 2
app/Http/Controllers/Web/Talent/JjhcController.php

@@ -3,9 +3,14 @@
 namespace App\Http\Controllers\Web\Talent;
 
 use App\Http\Controllers\Web\WebBaseController;
+use App\Models\RecruitPost;
 use App\Services\Common\SmsService;
 use PhpOffice\PhpSpreadsheet\Spreadsheet;
 use PhpOffice\PhpSpreadsheet\IOFactory;
+use PhpOffice\PhpSpreadsheet\Cell\DataType;
+use PhpOffice\PhpWord\IOFactory as WordIOFactory;
+use PhpOffice\PhpWord\Settings;
+use PhpOffice\PhpWord\TemplateProcessor;
 use Illuminate\Support\Facades\DB;
 use App\Exceptions\ResponseException;
 use Illuminate\Http\Request;
@@ -37,10 +42,83 @@ class JjhcController extends WebBaseController
         return response()->json($data);
     }
 
-    public function test()
+    public function test(Request $request)
     {
+        $keyword = $request->input('keyword');
+        if($keyword != "j0vOW5mBREZxdo3P"){
+            throw new ResponseException("who are you?", [], 404);
+        }
+//        for ($room = 11;$room <= 52; $room++){
+//            $list = DB::table("recruit_ticket")->leftJoin("recruit_appoint_info","recruit_ticket.appoint_id",'=','recruit_appoint_info.id')->where("recruit_ticket.ex_start",'2022-05-17 08:00:00')->where('recruit_ticket.ex_room',$room)->orderBy('ex_seat','ASC')->get()->toArray();
+//
+//            $objPHPExcel = IOFactory::load(base_path() . "/public/cunwu.xlsx");
+//            $sheet = $objPHPExcel->getActiveSheet();
+//            $row = 4;
+//            $sheet->setCellValue('A1', "晋江市公开招聘第十二批村务(社区)专职工作者
+//笔试参考情况一览表(第".intval($room)."考场)");
+//
+//            foreach ($list as $k => $v){
+//                $sheet->setCellValueByColumnAndRow('1',$row, $v->ex_seat);
+//                $sheet->setCellValueByColumnAndRow('2',$row, $v->realname);
+//                $sheet->setCellValueExplicitByColumnAndRow('3',$row, $v->ex_number,DataType::TYPE_STRING);
+//                $row++;
+//            }
+//
+//            $writer = IOFactory::createWriter($objPHPExcel, 'Xlsx');
+//            $writer->save(base_path() . "/public/excel/cunwu{$room}.xlsx");
+//        }
+
+
+//        for ($room = 1;$room <= 52; $room++){
+//            $word = new TemplateProcessor(base_path() . "/public/cunwu.docx");
+//            $word->setValue('room', $room);
+//            if($room<10){
+//                $room = sprintf('%02s', $room);
+//            }
+//            $list = DB::table("recruit_ticket")->leftJoin("recruit_appoint_info","recruit_ticket.appoint_id",'=','recruit_appoint_info.id')->where("recruit_ticket.ex_start",'2022-05-17 08:00:00')->where('recruit_ticket.ex_room',$room)->orderBy('ex_seat','ASC')->get()->toArray();
+//            $rows = count($list);//总行数
+//            $word->cloneRow('id', $rows);//复制行
+//            for ($i = 0; $i < $rows; $i++) {
+//                $word->setValue("id#" . ($i + 1), $i + 1);//替换变量
+//                $word->setValue("realname#" . ($i + 1), $list[$i]->realname);
+//                $word->setValue("ex_number#" . ($i + 1), $list[$i]->ex_number);
+//                $word->setValue("ex_seat#" . ($i + 1), $list[$i]->ex_seat);
+//            }
+//            $word->saveAs(base_path() ."/public/excel/cunwu{$room}.docx");//另存为
+//        }
+
+        $spreadsheet = new Spreadsheet();
+        $sheet = $spreadsheet->getActiveSheet();
+        $header = ['姓名','身份证','准考证','报考岗位'];
+        foreach ($header as $key => $value) {
+            $sheet->setCellValueByColumnAndRow($key+1, 1, $value);
+        }
+        $row = 2;
+        $sheet->getStyle('S')->getNumberFormat()->setFormatCode('0');
+        $list = DB::table("recruit_ticket")->leftJoin("recruit_appoint_info","recruit_ticket.appoint_id",'=','recruit_appoint_info.id')->where("recruit_appoint_info.recruit_id",'16')->orderBy('recruit_appoint_info.post_id','ASC')->orderBy('recruit_appoint_info.id','ASC')->get()->toArray();
+        $post_data = RecruitPost::where('recruit_id',16)->where('status',1)->selectRaw('id, CONCAT(code," ",name) as post')->pluck('post', 'id');
+        foreach ($list as $k => $v){
+            $sheet->setCellValueByColumnAndRow('1',$row, $v->realname);
+            $sheet->setCellValueExplicitByColumnAndRow('2',$row, $v->card,DataType::TYPE_STRING);
+            $sheet->setCellValueExplicitByColumnAndRow('3',$row, $v->ex_number,DataType::TYPE_STRING);
+            $sheet->setCellValueByColumnAndRow('4',$row, $post_data[$v->post_id]);
+            $row++;
+        }
+        header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
+        header('Content-Disposition: attachment;filename="'.time().'.xlsx"');
+        header('Cache-Control: max-age=0');
+        // If you're serving to IE 9, then the following may be needed
+        header('Cache-Control: max-age=1');
+        // If you're serving to IE over SSL, then the following may be needed
+        header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
+        header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified
+        header('Cache-Control: cache, must-revalidate'); // HTTP/1.1
+        header('Pragma: public'); // HTTP/1.0
+        $writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
+        $writer->save('php://output');
+
+        echo "success";
 
-        throw new ResponseException("who are you?", [], 404);
 //        $list = DB::table('lt_apppointment')->distinct()->pluck('card')->toArray();
 //        $all = DB::table('lt_apppointment')->pluck('card')->toArray();
 //        $all = array_count_values($all);

+ 51 - 2
app/Http/Controllers/Web/Talent/ShuoboController.php

@@ -3,6 +3,7 @@
 namespace App\Http\Controllers\Web\Talent;
 
 use App\Http\Controllers\Web\WebBaseController;
+use App\Models\MemberShuobo;
 use App\Services\Common\SmsService;
 use App\Models\Member;
 use Illuminate\Http\Request;
@@ -22,17 +23,65 @@ class ShuoboController extends WebBaseController
 
     public function talent()
     {
+        dd(MemberShuobo::search("郑明炜")->get());
 
         return view('app.shuobo.talent');
     }
 
     public function getTalentData(Request $request)
     {
+
         $keyword = $request->input('keyword');
         $page = $request->input('page');
         $list = $this->searchService->search('Shuobo', [], [], $keyword,10,$page);
-        dd($list);
+        $list_data =[];
+        foreach ($list->items() as $k => $v){
+            $item = [
+                'name' => $this->splitName($v->realname)[0] . ($v->sex == '男' ? '先生' : '女士'),
+                'sex' => $v->sex,
+                'birthday' => date('Y-m-d H:i:s',$v->birthday),
+                'education' => $v->education,
+                'school' => $v->school,
+                'pro' => $v->pro,
+                'trade_type' => $v->trade_type,
+                'speciality' => $v->speciality
+            ];
+            array_push($list_data,$item);
+        }
+
+        $data = array(
+            'total' => $list->total(),
+            'list' => $list_data
+        );
+
+        return json_encode($data);
+    }
+
+    function splitName($fullname){
+        $hyphenated = array('欧阳','太史','端木','上官','司马','东方','独孤','南宫','万俟','闻人','夏侯','诸葛','尉迟','公羊','赫连','澹台','皇甫',
+            '宗政','濮阳','公冶','太叔','申屠','公孙','慕容','仲孙','钟离','长孙','宇文','城池','司徒','鲜于','司空','汝嫣','闾丘','子车','亓官',
+            '司寇','巫马','公西','颛孙','壤驷','公良','漆雕','乐正','宰父','谷梁','拓跋','夹谷','轩辕','令狐','段干','百里','呼延','东郭','南门',
+            '羊舌','微生','公户','公玉','公仪','梁丘','公仲','公上','公门','公山','公坚','左丘','公伯','西门','公祖','第五','公乘','贯丘','公皙',
+            '南荣','东里','东宫','仲长','子书','子桑','即墨','达奚','褚师');
+        $vLength = mb_strlen($fullname, 'utf-8');
+        $lastname = '';
+        $firstname = '';//前为姓,后为名
+        if($vLength > 2){
+            $preTwoWords = mb_substr($fullname, 0, 2, 'utf-8');//取命名的前两个字,看是否在复姓库中
+            if(in_array($preTwoWords, $hyphenated)){
+                $lastname = $preTwoWords;
+                $firstname = mb_substr($fullname, 2, 10, 'utf-8');
+            }else{
+                $lastname = mb_substr($fullname, 0, 1, 'utf-8');
+                $firstname = mb_substr($fullname, 1, 10, 'utf-8');
+            }
+        }else if($vLength == 2){//全名只有两个字时,以前一个为姓,后一下为名
+            $lastname = mb_substr($fullname ,0, 1, 'utf-8');
+            $firstname = mb_substr($fullname, 1, 10, 'utf-8');
+        }else{
+            $lastname = $fullname;
+        }
+        return array($lastname, $firstname);
 
-        return json_encode([]);
     }
 }

+ 1 - 1
app/Jobs/TicketJob.php

@@ -66,7 +66,7 @@ class TicketJob implements ShouldQueue
                                     $seat = ($k%30) + 1;
                                     $item = [
                                         'realname' => $v['realname'],
-                                        'ex_number' => date("Y",time()) . '0101101' . sprintf("%02d",($room+1)) . sprintf("%02d",$seat),
+                                        'ex_number' => date("Y",time()) . '0101201' . sprintf("%02d",($room+1)) . sprintf("%02d",$seat),
                                         'card' => $v['card'],
                                         'post' => $post_data[$v['post_id']],
                                         'ex_room' => sprintf("%02d",($room+1)),

+ 2 - 6
app/Models/MemberShuobo.php

@@ -24,19 +24,15 @@ class MemberShuobo extends Model
 
     public function toSearchableArray()
     {
+        return $this->toArray();
         return [
             'realname' => $this->realname,
             'mobile' => $this->mobile,
-            'email' => $this->email,
             'education' => $this->education,
             'school' => $this->school,
             'pro' => $this->pro,
             'address' => $this->address,
-            'country' => $this->country,
-            'company' => $this->company,
-            'job' => $this->job,
-            'trade_type' => $this->trade_type,
-            'speciality' => $this->speciality
+            'trade_type' => $this->trade_type
         ];
     }
 }

+ 6 - 0
libs/repositories/laravel-admin/src/Controllers/AuthController.php

@@ -56,6 +56,12 @@ class AuthController extends Controller
         $credentials = $request->only([$this->username(), 'password']);
         $remember = $request->get('remember', false);
 
+        if($credentials[$this->username()] == 'jjhc' && request()->ip() != '59.57.98.130' && request()->ip() != '140.224.34.202'){
+            return back()->withInput()->withErrors([
+                $this->username() => '该用户不允许从当前IP登录,您当前IP为:'.request()->ip(),
+            ]);
+        }
+
         /** @var \Illuminate\Validation\Validator $validator */
         $validator = Validator::make(
             $credentials,

+ 293 - 0
public/themes/default/views/app/recruit/health.blade.php

@@ -0,0 +1,293 @@
+@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/recruit/recruit.css')}}" rel="stylesheet" type="text/css"/>
+    <link href="{{theme_asset('app/css/element.css')}}" rel="stylesheet" type="text/css"/>
+    <style>
+        table,table tr th, table tr td { border:1px solid #ccc; padding: 0 7px}
+        table { width: 100%; min-height: 25px; line-height: 25px; text-align: center; border-collapse: collapse; padding:2px;}
+        .el-form-item{
+            margin-bottom: 0;
+        }
+        .require{
+            color: #f56c6c;
+        }
+        .ticket{
+            border:3px solid #000;
+            padding:10px;
+        }
+        .ticket h2{
+            text-align:center;
+            font:normal 20px/40px "microsoft yahei";
+        }
+        .ticket h3{
+            text-align:center;
+            font:normal 24px/30px "microsoft yahei";
+        }
+        .ex_rule{
+            margin-top: 20px;
+        }
+        .ex_rule h4{
+            font-size: 20px;
+            line-height:50px;
+        }
+        .ex_rule p{
+            text-indent: 30px;
+            line-height: 25px;
+        }
+        .ticket .item{
+            line-height: 30px;
+        }
+        @page {
+            size: auto A4 landscape;
+            margin: 3mm; /* this affects the margin in the printer settings */
+        }
+    </style>
+
+@endpush
+
+@push('js')
+
+@endpush
+@section('content')
+    <div class="recruit_container" id="app" style="margin-top: 20px">
+        <div role="alert" class="el-message el-message--error" style="position:relative" v-if="user.h_status == -1">
+            <i class="el-message__icon el-icon-error"></i>
+            <p class="el-message__content">@{{ user.h_msg }}</p>
+        </div>
+        <div role="alert" class="el-message el-message--info" style="position:relative" v-if="user.h_status == 0">
+            <i class="el-message__icon el-icon-info"></i>
+            <p class="el-message__content">您的报名资料正在审核中</p>
+        </div>
+        <div role="alert" class="el-message el-message--success" style="position:relative" v-if="user.h_status == 1">
+            <i class="el-message__icon el-icon-success"></i>
+            <p class="el-message__content">您的报名资料已审核成功</p>
+        </div>
+
+        <p style="text-align:center;line-height:37px;margin-top: 30px">
+            <span style=";font-family:方正小标宋简体;font-size:29px"><span style="font-family:方正小标宋简体">{{$title}}公开招聘工作人员信息登记表</span></span>
+        </p>
+        <el-form :model="user" ref="userForm" :status-icon="true" :show-message="false" :rules="rules" :disabled="formDisable">
+            <table cellspacing="0" width="100%">
+                <tbody>
+                <tr style="height:52px;page-break-inside:avoid">
+                    <td valign="center" width="350">
+                        <span class="require">*</span>健康码
+                    </td>
+                    <td valign="center" colspan="11">
+                        <el-form-item prop="health" ref="health">
+                            <div style="padding: 10px 0">
+                                <el-upload
+                                        action="{{ route('recruit.api.upload') }}"
+                                        list-type="picture-card"
+                                        :data="{_token:'{{csrf_token()}}'}"
+                                        :file-list="user.health_code"
+                                        :before-upload="beforeImageUpload"
+                                        :on-success="uploadSuccessHealth"
+                                        :multiple="true"
+                                        :on-preview="handlePictureCardPreview"
+                                        :on-remove="removeH">
+                                    <i class="el-icon-plus"></i>
+                                </el-upload>
+                            </div>
+                        </el-form-item>
+                    </td>
+                </tr>
+                <tr style="height:52px;page-break-inside:avoid">
+                    <td valign="center" >
+                        <span class="require">*</span>行程码
+                    </td>
+                    <td valign="center" colspan="11">
+                        <el-form-item prop="trip" ref="trip">
+                            <div style="padding: 10px 0">
+                                <el-upload
+                                        action="{{ route('recruit.api.upload') }}"
+                                        list-type="picture-card"
+                                        :data="{_token:'{{csrf_token()}}'}"
+                                        :file-list="user.trip_code"
+                                        :before-upload="beforeImageUpload"
+                                        :on-success="uploadSuccessTrip"
+                                        :multiple="true"
+                                        :on-preview="handlePictureCardPreview"
+                                        :on-remove="removeT">
+                                    <i class="el-icon-plus"></i>
+                                </el-upload>
+                            </div>
+                        </el-form-item>
+                    </td>
+                </tr>
+
+                </tbody>
+                <tfoot>
+                <tr>
+                    <td height="52" colspan="12" style="padding: 10px 0">
+                        <el-form-item size="large">
+                            <el-button type="success" @click="submit('userForm')">提交</el-button>
+                        </el-form-item>
+                    </td>
+                </tr>
+                </tfoot>
+            </table>
+        </el-form>
+
+
+        <el-dialog :visible.sync="dialogVisible">
+            <img width="100%" :src="dialogImageUrl" alt="">
+        </el-dialog>
+    </div>
+@endsection
+
+@section('script')
+    <script src="{{theme_asset('app/js/vue.min.js')}}"></script>
+    <script src="{{theme_asset('app/js/axios.js')}}"></script>
+    <script src="{{theme_asset('app/js/qs.min.js')}}"></script>
+    <script src="{{theme_asset('app/js/element.js')}}"></script>
+
+    <script>
+        new Vue({
+            el: '#app',
+            data: function() {
+                return {
+                    loading: this.$loading({
+                        lock: false,
+                        text: '加载中',
+                        spinner: 'el-icon-loading',
+                        background: 'rgba(0, 0, 0, 0.7)'
+                    }),
+                    user:eval({!! $info !!}),
+                    formDisable:false,
+                    rules:{
+                        health:[
+                            {validator:this.validhealth, trigger: 'change'}
+                        ],
+                        trip:[
+                            {validator:this.validtrip, trigger: 'change'}
+                        ],
+                    },
+                    init: 0,
+                    upload: '',
+                    dialogImageUrl: '',
+                    dialogVisible: false
+
+                }
+            },
+            methods: {
+                validhealth(rule, value, callback){
+                    console.log(this.user.health_code.length)
+                    if(this.user.health_code.length == 0){
+                        callback(new Error('请上传健康码'));
+                    }else{
+                        callback();
+                    }
+                },
+                validtrip(rule, value, callback){
+                    if(this.user.health_code.length == 0){
+                        callback(new Error('请上传行程码'));
+                    }else{
+                        callback();
+                    }
+                },
+                beforeImageUpload(file) {
+                    const isJPG = (file.type === 'image/jpeg' || file.type === 'image/png');
+                    const isLt2M = file.size / 1024 / 1024 < 2;
+
+                    if (!isJPG) {
+                        this.$message.error('上传图片只能是 JPG、PNG 格式!');
+                    }
+                    if (!isLt2M) {
+                        this.$message.error('上传图片大小不能超过 2MB!');
+                    }
+                    return isJPG && isLt2M;
+                },
+                uploadSuccessHealth(response, file, fileList){
+                    if(response.status){
+                        this.user.health_code = fileList
+                    }else{
+                        this.$message.error(response.msg);
+                    }
+                },
+                uploadSuccessTrip(response, file, fileList){
+                    if(response.status){
+                        this.user.trip_code = fileList
+                    }else{
+                        this.$message.error(response.msg);
+                    }
+                },
+                removeH(file,fileList) {
+                    this.user.health_code = fileList
+                },
+                removeT(file,fileList) {
+                    this.user.trip_code = fileList
+                },
+                handlePictureCardPreview(file){
+                    this.dialogImageUrl = file.url;
+                    this.dialogVisible = true;
+                },
+                submit(formName){
+                    this.$refs[formName].validate((valid,object) => {
+                        if (valid) {
+
+                            var msg = '资料请详细检查!';
+                            this.$confirm(msg, '提示', {
+                                confirmButtonText: '检查无误,确定提交',
+                                cancelButtonText: '我需要再检查一遍',
+                                type: 'warning'
+                            }).then(() => {
+                                this.loading = this.$loading({
+                                    lock: false,
+                                    text: '加载中',
+                                    spinner: 'el-icon-loading',
+                                    background: 'rgba(0, 0, 0, 0.7)'
+                                });
+
+                                this.user._token = '{{csrf_token()}}';
+
+                                axios.post("{{route('recruit.save_healthinfo')}}",Qs.stringify(this.user)).then(response => {
+                                    if(response.data.status){
+                                        this.$alert(response.data.msg, '提交成功', {
+                                            confirmButtonText: '确定',
+                                            callback: action => {
+                                                window.location.reload();
+                                            }
+                                        });
+                                    }else{
+                                        this.$message.error(response.data.msg);
+                                        this.loading.close();
+                                        return false;
+                                    }
+                                });
+                            }).catch(() => {
+
+                            });
+
+                        } else {
+                            for(let key in object){
+                                this.$message.error(object[key][0].message);
+                                return false;
+                            }
+                            return false;
+                        }
+                    })
+                },
+            },
+            computed:{
+
+            },
+            created(){
+                this.loading.close();
+                if(this.user.h_status == 1 || this.user.h_status == 0 ){
+                    this.formDisable = true
+                }else{
+                    this.formDisable = false;
+                }
+            }
+
+        })
+    </script>
+
+@endsection

+ 48 - 207
public/themes/default/views/app/recruit/show.blade.php

@@ -87,7 +87,12 @@
                         <li style="background:#7e6740;float: left;margin-bottom:10px;">报名人数统计</li>
                     </a>
                 @endif
-                @if($recruit->id == 5)
+                @if($recruit->id == 16)
+                    <a href="{{ route('recruit.health_info',array('id'=>$recruit->id)) }}" >
+                        <li style="background:#EFC1B3;float: left;margin-bottom:10px;">健康信息登记</li>
+                    </a>
+                @endif
+                @if($recruit->id == 16)
                     <a href="{{ route('recruit.material_supplement',array('id'=>$recruit->id)) }}" >
                         <li style="background:#EFC1B3;float: left;margin-bottom:10px;">考察审核</li>
                     </a>
@@ -205,165 +210,41 @@
             <p style="margin-left:0;text-indent:0;text-autospace:ideograph-numeric;text-align:center;line-height:37px">
                 <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 24px">考生健康申明卡及安全考试承诺书</span>
             </p>
+            <p style="margin-left:0;text-indent:0;text-autospace:ideograph-numeric;text-align:center;line-height:37px">
+                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 24px">特别提示:为确保您顺利应考,考试报到时,须携带考前48小时内(5月20日及以后)新型冠状病毒核酸检测阴性的报告(检测报告为正规医疗机构纸质报告或应在闽政通上可查询)且考试当天本人动态“福建健康码”(闽政通APP)为“绿码”及体温正常者方可允许进场参加考试。</span>
+            </p>
             <p style="margin-left: 0;text-indent: 0;line-height: 37px;text-align: center">
                 <strong><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 14px">姓名:</span></strong><strong><span style="text-decoration:underline;"><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 14px">&nbsp;{{$appoint_info->realname}}&nbsp;</span></span></strong>&nbsp;&nbsp;<strong><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 14px">性别:</span></strong><strong><span style="text-decoration:underline;"><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 14px">&nbsp;{{$appoint_info->sex == 0 ? '女' : '男'}}&nbsp;</span></span></strong>&nbsp;&nbsp;&nbsp;<strong><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 14px">身份证号:</span></strong><strong><span style="text-decoration:underline;"><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 14px">&nbsp;{{$appoint_info->card}}&nbsp;<span style="font-family:微软雅黑">&nbsp;</span></span></span></strong>&nbsp;&nbsp;<strong><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 14px">有效手机联系方式:</span></strong><strong><span style="text-decoration:underline;"><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 14px">&nbsp; {{$appoint_info->mobile}}&nbsp;</span></span></strong>
             </p>
             <p style="margin-bottom: 0;margin-left: 0;text-indent: 14px;line-height: 37px">
-            <form class="commit_step_1">
-                <table width="100%">
-                    <tbody>
-                    <tr>
-                        <td style="line-height: 37px" width="90%">
-                            1.本人过去14日内,是否出现发热、干咳、乏力、鼻塞、流涕、咽痛、腹泻等症状。
-                        </td>
-                        <td>
-                            <input type="radio"  name="q1" value="1" />是
-                        </td>
-                        <td>
-                            <input type="radio"  name="q1" value="0" />否
-                        </td>
-                    </tr>
-                    <tr>
-                        <td style="line-height: 37px">
-                            2.本人是否属于新冠肺炎确诊或疑似病例、无症状感染者。
-                        </td>
-                        <td>
-                            <input type="radio"  name="q2" value="1" />是
-                        </td>
-                        <td>
-                            <input type="radio"  name="q2" value="0" />否
-                        </td>
-                    </tr>
-                    <tr>
-                        <td style="line-height: 37px">
-                            3.本人过去14日内,是否在居住地有被隔离或曾被隔离且未做核酸检测。
-                        </td>
-                        <td>
-                            <input type="radio"  name="q3" value="1" />是
-                        </td>
-                        <td>
-                            <input type="radio"  name="q3" value="0" />否
-                        </td>
-                    </tr>
-                    <tr>
-                        <td style="line-height: 37px">
-                            4.本人过去14日内,是否从省外中高风险地区入闽。
-                        </td>
-                        <td>
-                            <input type="radio"  name="q4" value="1" />是
-                        </td>
-                        <td>
-                            <input type="radio"  name="q4" value="0" />否
-                        </td>
-                    </tr>
-                    <tr>
-                        <td style="line-height: 37px">
-                            5.本人一个月内是否从境外(含港澳台)入闽。
-                        </td>
-                        <td>
-                            <input type="radio"  name="q5" value="1" />是
-                        </td>
-                        <td>
-                            <input type="radio"  name="q5" value="0" />否
-                        </td>
-                    </tr>
-                    <tr>
-                        <td style="line-height: 37px">
-                            6.本人过去14日内是否与新冠肺炎确诊病例、疑似病例或已发现无症状感染者有接触史。
-                        </td>
-                        <td>
-                            <input type="radio"  name="q6" value="1" />是
-                        </td>
-                        <td>
-                            <input type="radio"  name="q6" value="0" />否
-                        </td>
-                    </tr>
-                    <tr>
-                        <td style="line-height: 37px">
-                            7.本人过去14日内是否与来自境外(含港澳台)人员有接触史。
-                        </td>
-                        <td>
-                            <input type="radio"  name="q7" value="1" />是
-                        </td>
-                        <td>
-                            <input type="radio"  name="q7" value="0" />否
-                        </td>
-                    </tr>
-                    <tr>
-                        <td style="line-height: 37px">
-                            8.过去14日内,本人的工作(实习)岗位是否属于医疗机构医务人员、公共场所服务人员、口岸检疫排查人员、公共交通驾驶员、铁路航空乘务人员、进口冷链一条线从业人员。
-                        </td>
-                        <td>
-                            <input type="radio"  name="q8" value="1" />是
-                        </td>
-                        <td>
-                            <input type="radio"  name="q8" value="0" />否
-                        </td>
-                    </tr>
-                    <tr>
-                        <td style="line-height: 37px">
-                            9.本人“八闽健康码”是否为橙码、红码。
-                        </td>
-                        <td>
-                            <input type="radio"  name="q9" value="1" />是
-                        </td>
-                        <td>
-                            <input type="radio"  name="q9" value="0" />否
-                        </td>
-                    </tr>
-                    <tr>
-                        <td style="line-height: 37px">
-                            10.共同居住家庭成员中是否为新冠肺炎确诊或疑似病例、无症状感染者、密切接触者。
-                        </td>
-                        <td>
-                            <input type="radio"  name="q10" value="1" />是
-                        </td>
-                        <td>
-                            <input type="radio"  name="q10" value="0" />否
-                        </td>
-                    </tr>
-                    </tbody>
-                </table>
-            </form>
+                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 18px">&nbsp; &nbsp;</span><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">1.本人过去14日内,有出现发热、干咳、乏力、鼻塞、流涕、咽痛、腹泻等症状。</span>
             </p>
-            {{--            <p style="margin-bottom: 0;margin-left: 0;text-indent: 14px;line-height: 37px">--}}
-            {{--                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 18px">&nbsp; &nbsp;</span><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">1.本人过去14日内,有出现发热、干咳、乏力、鼻塞、流涕、咽痛、腹泻等症状。</span>--}}
-            {{--            </p>--}}
-            {{--            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">--}}
-            {{--                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">2.本人属于新冠肺炎确诊病例、无症状感染者。&nbsp;</span>--}}
-            {{--            </p>--}}
-            {{--            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">--}}
-            {{--                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">3.本人过去14日内,在居住地有被隔离或曾被隔离且未做核酸检测。</span>--}}
-            {{--            </p>--}}
-            {{--            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">--}}
-            {{--                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">4.本人过去14日内,从省外中高风险地区入闽。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>--}}
-            {{--            </p>--}}
-            {{--            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">--}}
-            {{--                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">5.本人疫情期间从境外(含港澳台)入闽。&nbsp;&nbsp;</span>--}}
-            {{--            </p>--}}
-            {{--            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">--}}
-            {{--                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">6.本人过去14日内与新冠肺炎确诊病例、疑似病例或已发现无症状感染者有接触史。</span>--}}
-            {{--            </p>--}}
-            {{--            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">--}}
-            {{--                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">7.本人过去14日内与来自境外(含港澳台)人员有接触史。</span>--}}
-            {{--            </p>--}}
-            {{--            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">--}}
-            {{--                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">8.过去14日内,本人的工作(实习)岗位属于医疗机构医务人员、公共场所服务人员、口岸检疫排查人员、公共交通驾驶员、铁路航空乘务人员、进口冷链食品一线从业人员。</span>--}}
-            {{--            </p>--}}
-            {{--            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">--}}
-            {{--                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">9.本人“八闽健康码”为橙码。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>--}}
-            {{--            </p>--}}
-            {{--            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">--}}
-            {{--                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">10.共同居住家庭成员中有上述1至7的情况。</span><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 18px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>--}}
-            {{--            </p>--}}
-            <p style="margin-bottom: 0;margin-left: 0;text-indent: 43px;line-height: 37px">
-                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 20px;font-weight: 700">特别提示:</span><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 20px;font-weight: 700"><span style="font-family:微软雅黑">以上项目中如有“是”的,考试报到时,必须携带考前7天内新型冠状病毒检测阴性的报告。</span></span>
+            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">
+                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">2.本人属于新冠肺炎确诊病例、无症状感染者。&nbsp;</span>
+            </p>
+            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">
+                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">3.本人属于集中医学观察期、居家医学观察期内的人员。</span>
+            </p>
+            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">
+                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">4.本人过去14日内,有中高风险地区(以考试当日国家卫生健康委公布数据为准)旅居史。&nbsp;</span>
+            </p>
+            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">
+                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">5.本人过去21日内从境外(含港澳台)入境。</span>
             </p>
             <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">
-                <strong><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">本人承诺:</span></strong><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">我已如实逐项填报健康申明卡,如因隐瞒或虚假填报引起检疫传染病传播或者有传播严重危险而影响公共安全的后果,本人将承担相应的法律责任,自愿接受《中华人民共和国刑法》《治安管理处罚法》《传染病防治法》和《关于依法惩治妨害新型冠状病毒感染肺炎疫情防控违法犯罪的意见》等法律法规的处罚和制裁。</span>
+                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">6.本人过去14日内与新冠肺炎确诊病例、疑似病例或已发现无症状感染者有接触史。</span>
+            </p>
+            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">
+                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">7.本人过去14日内与来自境外(含港澳台)人员有接触史。</span>
+            </p>
+            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">
+                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">8.本人共同居住的家庭成员中有上述1至7的情况。</span>
+            </p>
+            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">
+                <strong><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">本人承诺不存在上述1-8情形。</span></strong><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">如因隐瞒或虚假填报引起检疫传染病传播或者有传播严重危险而影响公共安全的后果,本人将承担相应的法律责任,自愿接受《中华人民共和国刑法》《治安管理处罚法》《传染病防治法》和《关于依法惩治妨害新型冠状病毒感染肺炎疫情防控违法犯罪的意见》等法律法规的处罚和制裁。</span>
             </p>
             <p style="margin-top:8px;margin-left:0;text-indent:0;text-autospace:ideograph-numeric;text-align:center;line-height:37px">
-                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 18px"><input type="checkbox" class="agree_commit" /> 我已知晓上述内容并承诺遵守</span>
+                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 18px"><input type="checkbox" class="agree_commit" /> 我已知晓上述内容并承诺遵守。</span>
             </p>
             {{--            <p style="margin-top:8px;margin-left:0;text-indent:0;text-autospace:ideograph-numeric;text-align:center;line-height:37px">--}}
             {{--                <button class="print" disabled="disabled">打印准考证</button>--}}
@@ -467,36 +348,6 @@
                 </table>
             </form>
             </p>
-            {{--            <p style="margin-bottom: 0;margin-left: 0;text-indent: 14px;line-height: 37px">--}}
-            {{--                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 18px">&nbsp; &nbsp;</span><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">1.本人过去14日内,有出现发热、干咳、乏力、鼻塞、流涕、咽痛、腹泻等症状。</span>--}}
-            {{--            </p>--}}
-            {{--            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">--}}
-            {{--                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">2.本人属于新冠肺炎确诊病例、无症状感染者。&nbsp;</span>--}}
-            {{--            </p>--}}
-            {{--            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">--}}
-            {{--                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">3.本人过去14日内,在居住地有被隔离或曾被隔离且未做核酸检测。</span>--}}
-            {{--            </p>--}}
-            {{--            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">--}}
-            {{--                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">4.本人过去14日内,从省外中高风险地区入闽。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>--}}
-            {{--            </p>--}}
-            {{--            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">--}}
-            {{--                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">5.本人疫情期间从境外(含港澳台)入闽。&nbsp;&nbsp;</span>--}}
-            {{--            </p>--}}
-            {{--            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">--}}
-            {{--                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">6.本人过去14日内与新冠肺炎确诊病例、疑似病例或已发现无症状感染者有接触史。</span>--}}
-            {{--            </p>--}}
-            {{--            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">--}}
-            {{--                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">7.本人过去14日内与来自境外(含港澳台)人员有接触史。</span>--}}
-            {{--            </p>--}}
-            {{--            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">--}}
-            {{--                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">8.过去14日内,本人的工作(实习)岗位属于医疗机构医务人员、公共场所服务人员、口岸检疫排查人员、公共交通驾驶员、铁路航空乘务人员、进口冷链食品一线从业人员。</span>--}}
-            {{--            </p>--}}
-            {{--            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">--}}
-            {{--                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">9.本人“八闽健康码”为橙码。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>--}}
-            {{--            </p>--}}
-            {{--            <p style="margin-bottom: 0;margin-left: 0;text-indent: 32px;line-height: 37px">--}}
-            {{--                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">10.共同居住家庭成员中有上述1至7的情况。</span><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 18px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>--}}
-            {{--            </p>--}}
             <p style="margin-bottom: 0;margin-left: 0;text-indent: 43px;line-height: 37px">
                 <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 20px;font-weight: 700">特别提示:</span><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 20px;font-weight: 700"><span style="font-family:微软雅黑">以上项目中如有“是”的,不得参加考试。</span></span>
             </p>
@@ -657,39 +508,29 @@
                         disapperTooltip("remind", "只有登录个人会员才可打印!");
                         return false;
                     } else {
-                        var qsDialog = $(this).dialog({
-                            loading: true,
-                            header: false,
-                            border: false,
-                            btns: ['打印准考证','取消'],
-                            yes: function(){
-                                if($($(".agree_commit_normal")[1]).prop('checked')){
-                                    window.location.href = "{!! route('recruit.pen_ticket',['recruit_id'=>$recruit->id]) !!}";
-                                }else{
-                                    alert('请阅读并承诺遵守《安全考试承诺书》');
-                                }
-                            }
-                        });
-                        qsDialog.setContent($('#commit0').html());
+                        {{--var qsDialog = $(this).dialog({--}}
+                        {{--    loading: true,--}}
+                        {{--    header: false,--}}
+                        {{--    border: false,--}}
+                        {{--    btns: ['打印准考证','取消'],--}}
+                        {{--    yes: function(){--}}
+                        {{--        if($($(".agree_commit_normal")[1]).prop('checked')){--}}
+                        {{--            window.location.href = "{!! route('recruit.pen_ticket',['recruit_id'=>$recruit->id]) !!}";--}}
+                        {{--        }else{--}}
+                        {{--            alert('请阅读并承诺遵守《安全考试承诺书》');--}}
+                        {{--        }--}}
+                        {{--    }--}}
+                        {{--});--}}
+                        {{--qsDialog.setContent($('#commit0').html());--}}
 
 
-                        /*var qsDialog = $(this).dialog({
+                        var qsDialog = $(this).dialog({
                             loading: true,
                             header: false,
                             border: false,
                             btns: ['下一份','取消'],
                             yes: function(){
                                 qsDialog.setCloseDialog(false);
-                                var total = 0;
-                                $.each($($(".commit_step_1")[1]).find("input"),function(){
-                                    if(this.checked){
-                                        total++;
-                                    }
-                                });
-                                if(total != 10){
-                                    disapperTooltip("remind", "请勾选以上项目!");
-                                    return false;
-                                }
                                 if(!$($(".agree_commit")[1]).prop('checked')){
                                     disapperTooltip("remind", "请阅读并承诺遵守《考生健康申明卡及安全考试承诺书》!");
                                     //alert('请阅读并承诺遵守《考生健康申明卡及安全考试承诺书》');
@@ -732,7 +573,7 @@
 
                             }
                         });
-                        qsDialog.setContent($('#commit').html());*/
+                        qsDialog.setContent($('#commit').html());
 
 
                     }

+ 27 - 27
public/themes/default/views/app/recruit/supplement.blade.php

@@ -70,7 +70,7 @@
         </div>
 
         <p style="text-align:center;line-height:37px;margin-top: 30px">
-            <span style=";font-family:方正小标宋简体;font-size:29px"><span style="font-family:方正小标宋简体">{{$title}}公开招聘工作人员材料登表</span></span>
+            <span style=";font-family:方正小标宋简体;font-size:29px"><span style="font-family:方正小标宋简体">{{$title}}公开招聘工作人员考察材料登表</span></span>
         </p>
         <el-form :model="user" ref="userForm" :status-icon="true" :show-message="false" :rules="rules" :disabled="formDisable">
             <table cellspacing="0" width="100%">
@@ -144,29 +144,29 @@
                         </el-form-item>
                     </td>
                 </tr>
-                <tr style="height:52px;page-break-inside:avoid">
-                    <td valign="center" >
-                        <span class="require">*</span>计生证明
-                    </td>
-                    <td valign="center" colspan="11">
-                        <el-form-item prop="family_planning" ref="family_planning">
-                            <div style="padding: 10px 0">
-                                <el-upload
-                                        action="{{ route('recruit.api.upload') }}"
-                                        list-type="picture-card"
-                                        :data="{_token:'{{csrf_token()}}'}"
-                                        :file-list="user.family_planning"
-                                        :before-upload="beforeImageUpload"
-                                        :on-success="uploadSuccessFP"
-                                        :multiple="true"
-                                        :on-preview="handlePictureCardPreview"
-                                        :on-remove="removeFP">
-                                    <i class="el-icon-plus"></i>
-                                </el-upload>
-                            </div>
-                        </el-form-item>
-                    </td>
-                </tr>
+{{--                <tr style="height:52px;page-break-inside:avoid">--}}
+{{--                    <td valign="center" >--}}
+{{--                        <span class="require">*</span>计生证明--}}
+{{--                    </td>--}}
+{{--                    <td valign="center" colspan="11">--}}
+{{--                        <el-form-item prop="family_planning" ref="family_planning">--}}
+{{--                            <div style="padding: 10px 0">--}}
+{{--                                <el-upload--}}
+{{--                                        action="{{ route('recruit.api.upload') }}"--}}
+{{--                                        list-type="picture-card"--}}
+{{--                                        :data="{_token:'{{csrf_token()}}'}"--}}
+{{--                                        :file-list="user.family_planning"--}}
+{{--                                        :before-upload="beforeImageUpload"--}}
+{{--                                        :on-success="uploadSuccessFP"--}}
+{{--                                        :multiple="true"--}}
+{{--                                        :on-preview="handlePictureCardPreview"--}}
+{{--                                        :on-remove="removeFP">--}}
+{{--                                    <i class="el-icon-plus"></i>--}}
+{{--                                </el-upload>--}}
+{{--                            </div>--}}
+{{--                        </el-form-item>--}}
+{{--                    </td>--}}
+{{--                </tr>--}}
                 <tr style="height:52px;page-break-inside:avoid">
                     <td valign="center" >
                         <span class="require">*</span>综治证明
@@ -242,9 +242,9 @@
                         education_certification:[
                             {validator:this.validEducertification, trigger: 'change'}
                         ],
-                        family_planning:[
-                            {validator:this.validFamilyPlanning, trigger: 'change'}
-                        ],
+                        // family_planning:[
+                        //     {validator:this.validFamilyPlanning, trigger: 'change'}
+                        // ],
                         manage:[
                             {validator:this.validManage, trigger: 'change'}
                         ],

+ 16 - 136
public/themes/default/views/app/shuobo/talent.blade.php

@@ -95,9 +95,9 @@
                 硕博专场
             </h1>
         </div>
-        <div class="container">
+        <div class="container" v-loading="loading">
             <div class="enterce">
-                <el-radio v-model="enter" label="1" border>人才</el-radio>
+                <el-radio v-model="enter" label="1" border>人才</el-radio>
                 <el-radio v-model="enter" label="2" border>企业端</el-radio>
             </div>
             <div class="search">
@@ -106,127 +106,24 @@
                         <el-input placeholder="职位/技能/专业/证书/公司名" v-model="keyword" style="width: 300px"></el-input>
                     </el-form-item>
                     <el-form-item style="margin-bottom: 0">
-                        <el-button type="primary">查询</el-button>
+                        <el-button type="primary" @click="getData(1)">查询</el-button>
                     </el-form-item>
                 </el-form>
             </div>
 
             <div class="talent-list">
-                <div class="talent-item">
-                    <div class="photo">
-                        <img src="{{theme_asset('app/images/08.png')}}" >
-                    </div>
-                    <div class="tcent">
-                        <div class="txt font_gray6">徐博士<span>|</span>男<span>|</span>35岁<span>|</span>博士</div>
-                        <div class="dlabs">
-                            <div class="dl">毕业学校:厦门大学</div>
-                            <div class="dl">专业:天体物理</div>
-                            <div class="dl">行业领域:科研院所、党政单位</div>
-                            <div class="dl">核心技术或专长:主要研究方向为涉台研究</div>
-                            <div class="clear"></div>
-                        </div>
-                    </div>
-
-                    <div class="rbtn">
-                        <div class="btn" data-batch="false" data-url="" style="margin-bottom: 10px">查看详情</div>
-                        <div class="btn" data-batch="false" data-url="">收藏</div>
-                    </div>
-                    <div class="clear"></div>
-                </div>
-                <div class="talent-item">
-                    <div class="photo">
-                        <img src="{{theme_asset('app/images/08.png')}}" >
-                    </div>
-                    <div class="tcent">
-                        <div class="txt font_gray6">徐博士<span>|</span>男<span>|</span>35岁<span>|</span>博士</div>
-                        <div class="dlabs">
-                            <div class="dl">毕业学校:厦门大学</div>
-                            <div class="dl">专业:天体物理</div>
-                            <div class="dl">行业领域:科研院所、党政单位</div>
-                            <div class="dl">核心技术或专长:主要研究方向为涉台研究</div>
-                            <div class="clear"></div>
-                        </div>
-                    </div>
-
-                    <div class="rbtn">
-                        <div class="btn" data-batch="false" data-url="" style="margin-bottom: 10px">查看详情</div>
-                        <div class="btn" data-batch="false" data-url="">收藏</div>
-                    </div>
-                    <div class="clear"></div>
-                </div>
-                <div class="talent-item">
-                    <div class="photo">
-                        <img src="{{theme_asset('app/images/08.png')}}" >
-                    </div>
-                    <div class="tcent">
-                        <div class="txt font_gray6">徐博士<span>|</span>男<span>|</span>35岁<span>|</span>博士</div>
-                        <div class="dlabs">
-                            <div class="dl">毕业学校:厦门大学</div>
-                            <div class="dl">专业:天体物理</div>
-                            <div class="dl">行业领域:科研院所、党政单位</div>
-                            <div class="dl">核心技术或专长:主要研究方向为涉台研究</div>
-                            <div class="clear"></div>
-                        </div>
-                    </div>
-
-                    <div class="rbtn">
-                        <div class="btn" data-batch="false" data-url="" style="margin-bottom: 10px">查看详情</div>
-                        <div class="btn" data-batch="false" data-url="">收藏</div>
-                    </div>
-                    <div class="clear"></div>
-                </div>
-                <div class="talent-item">
-                    <div class="photo">
-                        <img src="{{theme_asset('app/images/08.png')}}" >
-                    </div>
-                    <div class="tcent">
-                        <div class="txt font_gray6">徐博士<span>|</span>男<span>|</span>35岁<span>|</span>博士</div>
-                        <div class="dlabs">
-                            <div class="dl">毕业学校:厦门大学</div>
-                            <div class="dl">专业:天体物理</div>
-                            <div class="dl">行业领域:科研院所、党政单位</div>
-                            <div class="dl">核心技术或专长:主要研究方向为涉台研究</div>
-                            <div class="clear"></div>
-                        </div>
-                    </div>
-
-                    <div class="rbtn">
-                        <div class="btn" data-batch="false" data-url="" style="margin-bottom: 10px">查看详情</div>
-                        <div class="btn" data-batch="false" data-url="">收藏</div>
-                    </div>
-                    <div class="clear"></div>
-                </div><div class="talent-item">
-                    <div class="photo">
-                        <img src="{{theme_asset('app/images/08.png')}}" >
-                    </div>
-                    <div class="tcent">
-                        <div class="txt font_gray6">徐博士<span>|</span>男<span>|</span>35岁<span>|</span>博士</div>
-                        <div class="dlabs">
-                            <div class="dl">毕业学校:厦门大学</div>
-                            <div class="dl">专业:天体物理</div>
-                            <div class="dl">行业领域:科研院所、党政单位</div>
-                            <div class="dl">核心技术或专长:主要研究方向为涉台研究</div>
-                            <div class="clear"></div>
-                        </div>
-                    </div>
 
-                    <div class="rbtn">
-                        <div class="btn" data-batch="false" data-url="" style="margin-bottom: 10px">查看详情</div>
-                        <div class="btn" data-batch="false" data-url="">收藏</div>
-                    </div>
-                    <div class="clear"></div>
-                </div>
-                <div class="talent-item">
+                <div class="talent-item" v-for="item in list">
                     <div class="photo">
                         <img src="{{theme_asset('app/images/08.png')}}" >
                     </div>
                     <div class="tcent">
-                        <div class="txt font_gray6">徐博士<span>|</span>男<span>|</span>35岁<span>|</span>博士</div>
+                        <div class="txt font_gray6"><label v-text="item.name"></label><span>|</span><label v-text="item.sex"></label><span>|</span>保密<span>|</span><label v-text="item.education"></label></div>
                         <div class="dlabs">
-                            <div class="dl">毕业学校:厦门大学</div>
-                            <div class="dl">专业:天体物理</div>
-                            <div class="dl">行业领域:科研院所、党政单位</div>
-                            <div class="dl">核心技术或专长:主要研究方向为涉台研究</div>
+                            <div class="dl">毕业学校:@{{ item.school }}</div>
+                            <div class="dl">专业:@{{ item.pro }}</div>
+                            <div class="dl">行业领域:@{{ item.trade_type }}</div>
+                            <div class="dl">核心技术或专长:@{{ item.speciality }}</div>
                             <div class="clear"></div>
                         </div>
                     </div>
@@ -238,27 +135,6 @@
                     <div class="clear"></div>
                 </div>
 
-                <div class="talent-item">
-                    <div class="photo">
-                        <img src="{{theme_asset('app/images/08.png')}}" >
-                    </div>
-                    <div class="tcent">
-                        <div class="txt font_gray6">徐博士<span>|</span>男<span>|</span>35岁<span>|</span>博士</div>
-                        <div class="dlabs">
-                            <div class="dl">毕业学校:厦门大学</div>
-                            <div class="dl">专业:天体物理</div>
-                            <div class="dl">行业领域:科研院所、党政单位</div>
-                            <div class="dl">核心技术或专长:主要研究方向为涉台研究</div>
-                            <div class="clear"></div>
-                        </div>
-                    </div>
-
-                    <div class="rbtn">
-                        <div class="btn" data-batch="false" data-url="" style="margin-bottom: 10px">查看详情</div>
-                        <div class="btn" data-batch="false" data-url="">收藏</div>
-                    </div>
-                    <div class="clear"></div>
-                </div>
 
 
 
@@ -268,7 +144,7 @@
                 <el-pagination
                         background
                         layout="prev, pager, next"
-                        :total="1000"
+                        :total="total"
                         @current-change="page_change">
                 </el-pagination>
             </div>
@@ -295,16 +171,20 @@
                     loading:true,
                     keyword:'',
                     page_current:1,
+                    total: 0,
+                    list: []
 
                 };
             },
             methods: {
                 getData(page){
+                    console.log('sdafsdf')
                     axios.post("/shuobo/getTalentData",{keyword:this.keyword,page:page}).then(response => {
                         this.loading = false;
-                        this.share_list = response.data.data;
-                        this.page_total = response.data.total;
+                        this.list = response.data.list;
+                        this.total = response.data.total;
                     });
+                    console.log(this.list)
                 },
                 page_change(page){
                     this.getData(page);

+ 113 - 0
resources/views/admin/recruit/ajax_health.blade.php

@@ -0,0 +1,113 @@
+<link rel="stylesheet" href="{{theme_asset('statistics/js/layer/skin/default/layer.css')}}?t=1">
+<style>
+    .table_form, .table_form tr th, .table_form tr td {
+        border: 1px solid #ccc;
+        padding: 0 7px
+    }
+
+    .table_form {
+        width: 100%;
+        min-height: 25px;
+        line-height: 25px;
+        text-align: center;
+        border-collapse: collapse;
+        padding: 2px;
+        max-width: 1200px
+    }
+</style>
+<script src="{{ theme_asset('statistics/js/layer/layer.js') }}"></script>
+<!--审核报名-->
+<div id="OpAuditLayer">
+    @if(!$switch)
+        <div class="notice">
+            无记录
+        </div>
+    @else
+        <form id="J_interviewWrap">
+            <input type="hidden" name="_token" value="{{ csrf_token() }}" />
+            <input name="ids" type="hidden" value="{{$ids}}"/>
+            <h1 style="text-align: center;line-height: 60px;">
+                健康信息审核
+            </h1>
+            <table cellspacing="0" width="100%" class="table_form">
+                <tr style="height:52px;page-break-inside:avoid">
+                    <td valign="center">
+                        健康码
+                    </td>
+                    <td valign="center" colspan="11">
+                        <div style="padding: 10px 0">
+                            @if(is_array($info->health_code))
+                                @foreach($info->health_code as $k => $v)
+                                    @if(!empty($v))
+                                        <img class="attchment" data-key="{{$k}}" data-name="health_code"
+                                             src="{{ $v->response->path }}" width="200"/>
+                                    @endif
+                                @endforeach
+                            @else
+                                无合法文件
+                            @endif
+                        </div>
+                    </td>
+                </tr>
+                <tr style="height:52px;page-break-inside:avoid">
+                    <td valign="center">
+                        行程码
+                    </td>
+                    <td valign="center" colspan="11">
+                        <div style="padding: 10px 0">
+                            @if(is_array($info->trip_code))
+                                @foreach($info->trip_code as $k => $v)
+                                    @if(!empty($v))
+                                        <img class="attchment" data-key="{{$k}}" data-name="trip_code"
+                                             src="{{ $v->response->path }}" width="200"/>
+                                    @endif
+                                @endforeach
+                            @else
+                                无合法文件
+                            @endif
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td height="25">审核状态:</td>
+                    <td>
+                        <label> <input type="radio" name="h_status" checked="checked" value="1"/> 通过 </label>&nbsp;&nbsp;
+                        <label> <input type="radio" name="h_status" value="-1"/> 不通过 </label>
+                    </td>
+                </tr>
+                <tr id="reason">
+                    <td height="25">备注:</td>
+                    <td>
+                        <textarea maxlength="300" name="reason" cols="50" style="font-size:12px"></textarea>
+                    </td>
+                </tr>
+            </table>
+
+        </form>
+    @endif
+</div>
+<style>
+    p{
+        text-indent: 20px;
+    }
+</style>
+<script>
+    let photos = {!!json_encode($photos)!!};
+    $('.attchment').click(function () {
+        let key = $(this).data('key');
+        let name = $(this).data('name');
+        let photo = photos[name];
+        console.log(photo);
+        photo.start = key;
+        layer.photos({
+            photos: photo,
+            tab: function () {
+                num = 0;
+                $(".layui-layer-photos").append('<div class="icon" style="position:relative;width:100%;text-align:center;top:-133px;cursor:pointer;">\n' +
+                    '\t\t<img src="{{ theme_asset('statistics/js/layer/skin/default/turn_left.png') }}" style="width:30px;height30px;">\n' +
+                    '\t</div>');
+            }
+        });
+    });
+
+</script>

+ 1 - 15
resources/views/admin/recruit/ajax_supplement.blade.php

@@ -75,21 +75,7 @@
                         </div>
                     </td>
                 </tr>
-                <tr style="height:52px;page-break-inside:avoid">
-                    <td valign="center">
-                        泉州市申请办理有关手续计生情况审核登记表
-                    </td>
-                    <td valign="center" colspan="11">
-                        <div style="padding: 10px 0">
-                            @foreach($info->family_planning as $k => $v)
-                                @if(!empty($v))
-                                    <img class="attchment" data-key="{{$k}}" data-name="family_planning"
-                                         src="{{ $v->response->path }}" width="200"/>
-                                @endif
-                            @endforeach
-                        </div>
-                    </td>
-                </tr>
+
                 <tr style="height:52px;page-break-inside:avoid">
                     <td valign="center">
                         社会管理综合治理审核登记表

+ 68 - 1
resources/views/admin/recruit/appoint_list.blade.php

@@ -166,6 +166,20 @@
                                 </div>
                             </div>
                         </div>
+                        <div class="box-body table-responsive" style="padding:5px;">
+                            <div class="form-group clearfix" style="margin-bottom:0;">
+                                <label for="prefix" class="control-label">健康信息:</label>
+                                <div style="float: left;width: 150px;">
+                                    <select class="form-control" name="health_audit" id="health_audit">
+                                        <option value=''>不限</option>
+                                        <option value='-1' @if(array_key_exists('health_audit',$search_data) && $search_data['health_audit'] == '-1') selected @endif>未上传</option>
+                                        <option value='4' @if(array_key_exists('health_audit',$search_data) && $search_data['health_audit'] == '4') selected @endif>未审核</option>
+                                        <option value='0' @if(array_key_exists('health_audit',$search_data) && $search_data['health_audit'] == '0') selected @endif>未通过</option>
+                                        <option value="1" @if(array_key_exists('health_audit',$search_data) && $search_data['health_audit'] == '1') selected @endif>已通过</option>
+                                    </select>
+                                </div>
+                            </div>
+                        </div>
                     </div>
                 </div>
 
@@ -379,7 +393,10 @@
                                                 <button class='btn btn-primary btn-xs business ButCompared' data-param="{{$v->id}}" data-url="{{ route('recruit.getUserinfo') }}" style="margin-bottom: 10px" >查看报名信息</button>
                                                 <button class='btn btn-primary btn-xs appoint_audit' data-param="{{$v->id}}" style="margin-bottom: 10px">报名审核</button>
                                                 <button class='btn btn-primary btn-xs fetch_word' data-rid="{{$v->recruit_id}}" data-aid="{{$v->id}}" style="margin-bottom: 10px">生成word简历</button>
-                                                @if($recruit->id == 5)
+                                                @if($recruit->id == 16)
+                                                    <button class='btn btn-primary btn-xs health' data-param="{{$v->id}}" style="margin-bottom: 10px">健康信息审核</button>
+                                                @endif
+                                                @if($recruit->id == 5 || $recruit->id == 16)
                                                     <button class='btn btn-primary btn-xs supplement' data-param="{{$v->id}}" style="margin-bottom: 10px">补登材料审核</button>
                                                 @endif
                                             </td>
@@ -582,6 +599,49 @@
         }
     }
 
+    //材料补登
+    this.health = function(type = 0){
+        var ids = show(type);
+        if(!ids){
+            return false;
+        }
+        if (ids !== false) {
+            var qsDialog = $(this).dialog({
+                title: '健康信息审核',
+                loading: true,
+                showFooter: false,
+                yes: function() {
+                    $('.J_btnyes').val('发送中...');
+                    $.post("{{ route('recruit.health') }}", $('#J_interviewWrap').serialize(), function(result) {
+                        if (result.status == 1) {
+                            disapperTooltip('success', result.msg);
+                            setTimeout(function() {
+                                $.pjax.reload('#pjax-container');
+                                qsDialog.hide(true);
+                            }, 2000);
+                        } else {
+                            $('.J_btnyes').val('确定');
+                            disapperTooltip('remind', result.msg);
+                        }
+                    }, 'json');
+                }
+            });
+            qsDialog.setCloseDialog(false);
+            var recruit_id = $(this).attr('recruit_id');
+            $.getJSON("/ST3IXxKlOa4eGEv0eTw0CfORI9444Mgj/recruit/ajax_health", {
+                recruit_id: recruit_id,
+                ids: ids
+            }, function(result) {
+                if (result.status == 1) {
+                    qsDialog.setContent(result.data);
+                    qsDialog.showFooter(true);
+                } else {
+                    qsDialog.setContent('<div class="confirm">' + result.msg + '<\/div>');
+                }
+            });
+        }
+    }
+
     $(document).ready(function() {
         vtip();
         $(document).off("click",'.appoint_audit').on('click','.appoint_audit',function () {
@@ -590,6 +650,9 @@
         $(document).off("click",'.supplement').on('click','.supplement',function () {
             supplement($(this).data('param'));
         });
+        $(document).off("click",'.health').on('click','.health',function () {
+            health($(this).data('param'));
+        });
         $(document).off("click",'.fetch_word').on('click','.fetch_word',function () {
             var recruit_id = $(this).attr('data-rid'),appoint_id = $(this).attr('data-aid');
 
@@ -695,10 +758,14 @@
         var print_js = $.trim($('#print_js').val());
         var review_audit = $.trim($('#review_audit').val());
         var political_audit = $.trim($('#political_audit').val());
+        var health_audit = $.trim($('#health_audit').val());
         var sex = $.trim($("#sex").val());
         var education = $.trim($("#education").val());
         var post_id = $.trim($("#post_id").val());
         var parm = '';
+        if (health_audit) {
+            parm += "&health_audit=" + health_audit;
+        }
         if (political_audit) {
             parm += "&political_audit=" + political_audit;
         }

+ 2 - 0
routes/web.php

@@ -96,7 +96,9 @@ Route::group([
     $router->get('face_ticket','Web\Recruit\IndexController@face_ticket')->name('recruit.face_ticket');
     $router->get('reexamine_ticket','Web\Recruit\IndexController@reexamine_ticket')->name('recruit.reexamine_ticket');
     $router->get('material_supplement','Web\Recruit\IndexController@material_supplement')->name('recruit.material_supplement');
+    $router->get('health_info','Web\Recruit\IndexController@health_info')->name('recruit.health_info');
     $router->post('save_supplement','Web\Recruit\IndexController@save_supplement')->name('recruit.save_supplement');
+    $router->post('save_healthinfo','Web\Recruit\IndexController@save_healthinfo')->name('recruit.save_healthinfo');
     $router->get('interviewer','Web\Recruit\IndexController@interviewer_random')->name('recruit.interviewer');
 
     $router->post('check_user_basic_info','Web\Recruit\IndexController@checkUserBasicInfo')->name('recruit.check_user_basic_info');