Эх сурвалжийг харах

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

linwu 3 жил өмнө
parent
commit
e75bd79df8

+ 2 - 0
.gitignore

@@ -18,3 +18,5 @@ horizon.log
 /.env.server.example
 /composer.lock
 /package.json
+database
+online2020m

+ 1 - 1
app/Admin/Controllers/Recruit/RecruitController.php

@@ -1337,7 +1337,7 @@ class RecruitController extends Controller
                 'log' => '健康信息审核未通过,原因是:'.$reason
             ];
             RecruitAppointLog::create($log);
-            $info->h_status = 0;
+            $info->h_status = -1;
             $info->h_msg = $reason;
             $info->save();
             $appointinfo->health_audit = 0;

+ 13 - 4
app/Admin/Controllers/Recruit/RecruitTicketController.php

@@ -254,7 +254,9 @@ class RecruitTicketController extends Controller
                         $rowCount = $sheet->getHighestRow();
                         $ticket_data = [
                             'type' => 2,
-                            'list' => []
+                            'list' => [],
+                            'ex_start' => $pen['ex_start'],
+                            'ex_end' => $pen['ex_end']
                         ];
                         $field = explode(',',$recruit['pen_ticket_field']);
                         for($row = 2;$row<=$rowCount;$row++){
@@ -330,7 +332,9 @@ class RecruitTicketController extends Controller
                     //自动生成
                     $ticket_data = [
                         'type' => 1,
-                        'auto_each_number' => $face['auto_each_number']
+                        'auto_each_number' => $face['auto_each_number'],
+                        'ex_start' => $face['ex_start'],
+                        'ex_end' => $face['ex_end']
                     ];
                     Recruit::where('id',$data['recruit_id'])->update(['face_ticket_status' => 1]);
                     $ticket = new TicketJob($data['recruit_id'],'face',$ticket_data);
@@ -345,7 +349,9 @@ class RecruitTicketController extends Controller
                         $rowCount = $sheet->getHighestRow();
                         $ticket_data = [
                             'type' => 2,
-                            'list' => []
+                            'list' => [],
+                            'ex_start' => $face['ex_start'],
+                            'ex_end' => $face['ex_end']
                         ];
                         for($row = 2;$row<=$rowCount;$row++){
                             $ticket_data['list'][$sheet->getCell("B{$row}")->getValue()] = [
@@ -356,7 +362,10 @@ class RecruitTicketController extends Controller
                                 'ex_time' => $sheet->getCell("H{$row}")->getValue(),
                                 'ex_name' => $sheet->getCell("I{$row}")->getValue(),
                                 'ex_address' => $sheet->getCell("J{$row}")->getValue(),
-                                'ex_ready_time' => $sheet->getCell("K{$row}")->getValue()
+                                'ex_ready_time' => $sheet->getCell("K{$row}")->getValue(),
+                                'extra1' => $sheet->getCell("L{$row}")->getValue(),
+                                'extra2' => $sheet->getCell("M{$row}")->getValue(),
+                                'extra3' => $sheet->getCell("N{$row}")->getValue()
                             ];
                         }
                         Recruit::where('id',$data['recruit_id'])->update(['face_ticket_status' => 1]);

+ 5 - 1
app/Http/Controllers/Mobile/Talent/TalentController.php

@@ -28,6 +28,11 @@ class TalentController extends MobileBaseController
         return view('mobile.app.talent.success');
     }
 
+    public function share()
+    {
+        return view('mobile.app.talent.share');
+    }
+
     public function lvcheng(Request $request){
         $user = $this->getLoginUser();
         if($request->isMethod('post')){
@@ -67,6 +72,5 @@ class TalentController extends MobileBaseController
 
             return view('mobile.app.talent.lvcheng',$view_data);
         }
-
     }
 }

+ 10 - 2
app/Http/Controllers/Web/Recruit/IndexController.php

@@ -1186,6 +1186,10 @@ class IndexController extends WebBaseController
         if($appoint_info){
             $pen_ticket = RecruitTicket::where('appoint_id',$appoint_info->id)->where('ex_type',1)->first();
             if($pen_ticket){
+                $health = RecruitSupplement::where('appoint_id',$appoint_info->id)->first();
+                if(!$health || $health->h_status == 0){
+                    return $this->showMessage('健康审核信息未通过!', route('home'), true, '上一页', '3');
+                }
                 $time = time();
                 if(strtotime($pen_ticket->ex_start) < $time && strtotime($pen_ticket->ex_end) > $time){
                     RecruitTicket::where('appoint_id',$appoint_info->id)->update(['ex_status' => 1]);
@@ -1288,6 +1292,10 @@ class IndexController extends WebBaseController
         if($appoint_info){
             $face_ticket = RecruitTicket::where('appoint_id',$appoint_info->id)->where('ex_type',3)->first();
             if($face_ticket){
+                $health = RecruitSupplement::where('appoint_id',$appoint_info->id)->first();
+                if(!$health || $health->h_status == 0){
+                    return $this->showMessage('健康审核信息未通过!', route('home'), true, '上一页', '3');
+                }
                 $time = time();
                 if(strtotime($face_ticket->ex_start) < $time && strtotime($face_ticket->ex_end) > $time){
                     RecruitTicket::where('id',$face_ticket->id)->update(['ex_status' => 1]);
@@ -1625,7 +1633,7 @@ class IndexController extends WebBaseController
         }
 
         $time = time();
-        if($time > 1654078200){
+        if($time > 1655438400){//手动截止
             return $this->showMessage('抱歉,考察审核端口已关闭!', route('recruit.show',array('id',$recruit['id'])), true, '上一页', '3');
         }
 
@@ -1826,7 +1834,7 @@ class IndexController extends WebBaseController
             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();
+        $appoint_info = RecruitAppointInfo::where('uid',$uid)->where('id',$appoint_id)->first();
         if(!$appoint_info){
             return ['status' => 0, 'msg' => '抱歉,找不到您要登记的报名记录!'];
         }

+ 128 - 4
app/Http/Controllers/Web/Talent/ShuoboController.php

@@ -8,35 +8,83 @@ use App\Services\Common\SmsService;
 use App\Models\Member;
 use Illuminate\Http\Request;
 use App\Services\Common\SearchService;
+use App\Models\C2M;
+use Illuminate\Support\Facades\DB;
 
 class ShuoboController extends WebBaseController
 {
 
     private $smsService;
     protected $searchService;
+    protected $c2m;
 
     public function __construct(SmsService $smsService,SearchService $searchService)
     {
         $this->smsService = $smsService;
         $this->searchService = $searchService;
+        $this->c2m = new C2M();
     }
 
     public function talent()
     {
-        dd(MemberShuobo::search("郑明炜")->get());
 
         return view('app.shuobo.talent');
     }
 
+    public function getCompanyToShuobo(Request $request){
+        $user = auth('web-company')->user();
+        if($user){
+            $info = $this->c2m->where("company_id",$user->id)->where('status',0)->first();
+            if($info){
+                $data = [
+                    'number' => 1,
+                    'shuobo_id' => $info->shuobo_id,
+                    'info' => MemberShuobo::where('id',$info->shuobo_id)->first()
+                ];
+            }else{
+                $data = [
+                    'number' => 0
+                ];
+            }
+
+            return json_encode(['status' => 1,'data' => $data,'msg' => '','login' => 1]);
+        }else{
+            return json_encode(['status' => 1,'data' => '','msg' => '未登录','login' => 0]);
+        }
+
+    }
+
     public function getTalentData(Request $request)
     {
-
         $keyword = $request->input('keyword');
         $page = $request->input('page');
-        $list = $this->searchService->search('Shuobo', [], [], $keyword,10,$page);
+        $list = $this->searchService->search('Shuobo', [], ['sort'=>'desc','updated_at' => 'desc','id'=>'desc'], $keyword,10,$page);
         $list_data =[];
+        $has_shuobo_id = $this->c2m->whereRaw('status = 0 or status = 1')->select('shuobo_id')->get()->toArray();
+        $no_show_shuobo = [];
+        if(is_array($has_shuobo_id)){
+            foreach ($has_shuobo_id as $v){
+                array_push($no_show_shuobo,$v['shuobo_id']);
+            }
+        }
+        $user = auth('web-company')->user();
+        $notice_show_shuobo = [];
+        if($user){
+            //如果有登录,查找之前有跟进过的人才并标记
+            $notice_shobo_id = $this->c2m->where('company_id',$user->id)->select('shuobo_id')->get()->toArray();
+            if(is_array($notice_shobo_id)){
+                foreach ($notice_shobo_id as $v){
+                    array_push($notice_show_shuobo,$v['shuobo_id']);
+                }
+            }
+        }
+
         foreach ($list->items() as $k => $v){
+            if(in_array($v->id,$no_show_shuobo)){
+                continue;
+            }
             $item = [
+                'id' => $v->id,
                 'name' => $this->splitName($v->realname)[0] . ($v->sex == '男' ? '先生' : '女士'),
                 'sex' => $v->sex,
                 'birthday' => date('Y-m-d H:i:s',$v->birthday),
@@ -44,7 +92,8 @@ class ShuoboController extends WebBaseController
                 'school' => $v->school,
                 'pro' => $v->pro,
                 'trade_type' => $v->trade_type,
-                'speciality' => $v->speciality
+                'speciality' => $v->speciality,
+                'notice' => in_array($v->id,$notice_show_shuobo) ? 1 : 0
             ];
             array_push($list_data,$item);
         }
@@ -54,6 +103,81 @@ class ShuoboController extends WebBaseController
             'list' => $list_data
         );
 
+
+        return json_encode($data);
+    }
+
+    public function getTalentInfo(Request $request)
+    {
+        $user = auth('web-company')->user();
+        if(!$user){
+            return json_encode(['status' => 1,'data' => '','msg' => '未登录']);
+        }
+        $id = $request->input('id');
+        $info = MemberShuobo::where('id',$id)->first();
+        if(!$info){
+            return json_encode(['status' => 1,'data' => '','msg' => '找不到该人才信息']);
+        }
+        $c2m_data = [
+            'company_id' => $user->id,
+            'company_name' => $user->companyname,
+            'shuobo_id' => $id,
+            'shuobo_name' => $info->realname,
+            'status' => 0
+        ];
+
+        $scid = $this->c2m->create($c2m_data);
+
+        return json_encode(['status' => 1,'data' => $info,'msg' => '']);
+
+    }
+
+    public function updateCompanyToShuobo(Request $request)
+    {
+        $user = auth('web-company')->user();
+        if($user){
+            $id = $request->input('id');
+            if(!$id){
+                return json_encode(['status' => 1,'data' => '','msg' => '必要参数缺失!']);
+            }
+            $info = $this->c2m->where("company_id",$user->id)->where('shuobo_id',$id)->where('status',0)->first();
+            if(!$info){
+                return json_encode(['status' => 1,'data' => '','msg' => '这条硕博跟进记录不存在。']);
+            }
+            $status = $request->input('status');
+            $remark = $request->input('remark');
+            if(!in_array($status,[-1,0,1,2])){
+                return json_encode(['status' => 1,'data' => '','msg' => '状态不正确。']);
+            }
+            $this->c2m->where("company_id",$user->id)->where('shuobo_id',$id)->update(['status' => $status,'remark' => $remark]);
+            $ret = [
+                'number' => 0
+            ];
+            return json_encode(['status' => 1,'data' => $ret,'msg' => '更新成功。']);
+        }
+        return json_encode(['status' => 1,'data' => '','msg' => '未登录','login' => 0]);
+    }
+
+    public function enterprise(Request $request)
+    {
+        return view('app.shuobo.enterprise');
+    }
+
+    public function getShuoboJob(Request $request)
+    {
+        $keyword = $request->input('keyword');
+        $page = $request->input('page');
+        if(!empty($keyword)){
+            $list = DB::table("shuobo_jobs")->where("company_name","like","%{$keyword}%")->orWhere("job",'like',"%{$keyword}%")->orderBy('id','desc')->get()->toArray();
+        }else{
+            $list = DB::table("shuobo_jobs")->orderBy('id','desc')->get()->toArray();
+        }
+
+        $data = array(
+            'total' => count($list),
+            'list' => array_slice($list,($page-1)*10,10)
+        );
+
         return json_encode($data);
     }
 

+ 5 - 2
app/Jobs/TicketJob.php

@@ -244,6 +244,9 @@ class TicketJob implements ShouldQueue
                                 'ex_room' => array_key_exists('ex_room',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['ex_room'] : '',
                                 'ex_seat' => array_key_exists('ex_seat',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['ex_seat'] : '',
                                 'ex_ready_time' => array_key_exists('ex_ready_time',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['ex_ready_time'] : '',
+                                'extra1' => array_key_exists('extra1',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['extra1'] : '',
+                                'extra2' => array_key_exists('extra2',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['extra2'] : '',
+                                'extra3' => array_key_exists('extra3',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['extra3'] : '',
                                 'avatar' => $v['avatar']
                             ];
                             $ticket = [
@@ -256,8 +259,8 @@ class TicketJob implements ShouldQueue
                                 'ex_room' => $item['ex_room'],
                                 'ex_subject' => array_key_exists('ex_subject',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['ex_subject'] : '',
                                 'ex_status' => 0,
-                                'ex_start' => '2021-06-30 00:00:00',
-                                'ex_end' => '2021-07-04 23:59:59'
+                                'ex_start' => $interview_start,
+                                'ex_end' => $interview_start
                             ];
                             RecruitTicket::create($ticket);
                             $this->fetch($item,$recruit->face_ticket_content, 'face', $recruit);

+ 12 - 0
app/Models/C2M.php

@@ -0,0 +1,12 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+
+class C2M extends Model
+{
+    protected $table = 'shuobo_company';
+    protected $fillable = ['company_id','company_name','shuobo_id','shuobo_name','status','remark'];
+}

+ 0 - 9
app/Models/MemberShuobo.php

@@ -25,14 +25,5 @@ class MemberShuobo extends Model
     public function toSearchableArray()
     {
         return $this->toArray();
-        return [
-            'realname' => $this->realname,
-            'mobile' => $this->mobile,
-            'education' => $this->education,
-            'school' => $this->school,
-            'pro' => $this->pro,
-            'address' => $this->address,
-            'trade_type' => $this->trade_type
-        ];
     }
 }

+ 12 - 0
app/Services/Common/SearchService.php

@@ -856,7 +856,19 @@ class SearchService
                 return $list->paginate($limit);
             }
         } elseif ($model == 'Shuobo') {
+
             $list=MemberShuobo::search($search_key);
+            if ($order_by) {
+                if (is_array($order_by)) {
+                    foreach ($order_by as $k => $v) {
+                        $list->orderBy($k, $v);
+                    }
+                } else {
+                    $list->orderBy($order_by, 'desc');
+                }
+            } else {
+                $list->orderBy('refresh_time', 'desc');
+            }
             if ($page) {
                 return $list->paginate($limit, 'page', $page);
             } else {

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

@@ -56,11 +56,6 @@ 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(

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
public/themes/default/assets/app/css/element.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
public/themes/default/assets/app/js/element.js


+ 66 - 75
public/themes/default/views/app/recruit/show.blade.php

@@ -87,7 +87,7 @@
                         <li style="background:#7e6740;float: left;margin-bottom:10px;">报名人数统计</li>
                     </a>
                 @endif
-                @if($recruit->id == 16)
+                @if($recruit->id == 16 || $recruit->id == 17)
                     <a href="{{ route('recruit.health_info',array('id'=>$recruit->id)) }}" >
                         <li style="background:#EFC1B3;float: left;margin-bottom:10px;">健康信息登记</li>
                     </a>
@@ -154,6 +154,9 @@
             <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小时内(19日上午面试需在6月17日08:30及以后做核酸;19日下午面试需在6月17日13:30及以后做核酸)新型冠状病毒核酸检测阴性的报告(检测报告为正规医疗机构纸质报告或应在闽政通上可查询),且考试当天本人动态“福建健康码”(闽政通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>
@@ -164,13 +167,13 @@
                 <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>
+                <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;&nbsp;&nbsp;&nbsp;&nbsp;</span>
+                <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.本人疫情期间从境外(含港澳台)入闽。&nbsp;&nbsp;</span>
+                <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">
                 <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">6.本人过去14日内与新冠肺炎确诊病例、疑似病例或已发现无症状感染者有接触史。</span>
@@ -179,22 +182,13 @@
                 <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:微软雅黑">存在以上情形的,考试报到时应主动提交48小时内核酸检测阴性报告单。</span></span>
+                <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">本人承诺</span></strong><span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 16px">如因隐瞒或虚假填报引起检疫传染病传播或者有传播严重危险而影响公共安全的后果,本人将承担相应的法律责任,自愿接受《中华人民共和国刑法》《治安管理处罚法》《传染病防治法》和《关于依法惩治妨害新型冠状病毒感染肺炎疫情防控违法犯罪的意见》等法律法规的处罚和制裁。</span>
+                <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_normal" /> 我已知晓上述内容并承诺遵守</span>
+                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 18px"><input type="checkbox" class="agree_commit_normal" /> 我已知晓上述内容并承诺遵守。</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>--}}
@@ -211,7 +205,7 @@
                 <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>
+                <span style="font-family: 微软雅黑;letter-spacing: 0;font-size: 24px">特别提示:为确保您顺利应考,考试报到时,须携带考前48小时内(6月9日及以后)新型冠状病毒核酸检测阴性的报告(检测报告为正规医疗机构纸质报告或应在闽政通上可查询)且考试当天本人动态“福建健康码”(闽政通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>
@@ -508,74 +502,71 @@
                         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: ['下一份','取消'],
+                            btns: ['打印准考证','取消'],
                             yes: function(){
-                                qsDialog.setCloseDialog(false);
-                                if(!$($(".agree_commit")[1]).prop('checked')){
-                                    disapperTooltip("remind", "请阅读并承诺遵守《考生健康申明卡及安全考试承诺书》!");
-                                    //alert('请阅读并承诺遵守《考生健康申明卡及安全考试承诺书》');
-                                    return false;
+                                if($($(".agree_commit_normal")[1]).prop('checked')){
+                                    window.location.href = "{!! route('recruit.pen_ticket',['recruit_id'=>$recruit->id]) !!}";
+                                }else{
+                                    alert('请阅读并承诺遵守《安全考试承诺书》');
                                 }
-                                qsDialog.setCloseDialog(true);
-                                var dialog_1 = $(this).dialog({
-                                    loading: true,
-                                    header: false,
-                                    border: false,
-                                    btns: ['打印准考证','取消'],
-                                    yes: function(){
-                                        dialog_1.setCloseDialog(false);
-                                        var must = 1,total = 0;
-                                        $.each($($(".commit_step_2")[1]).find("input"),function(){
-                                            if(this.checked){
-                                                if($(this).val() == 1){
-                                                    must = 0;
-                                                }
-                                                total++;
-                                            }
-                                        });
-                                        if(total != 7){
-                                            disapperTooltip("remind", "请勾选以上项目!");
-                                            return false;
-                                        }
-                                        if(!must){
-                                            disapperTooltip("remind", "不符合参加考试条件,请检查!");
-                                            return false;
-                                        }
-                                        if(!$($(".agree_commit1")[1]).prop('checked')){
-                                            disapperTooltip("remind", "请阅读并承诺遵守《考生报考承诺书》!");
-                                            return false;
-                                        }
-                                        dialog_1.setCloseDialog(true);
-                                        window.location.href = "{!! route('recruit.pen_ticket',['recruit_id'=>$recruit->id,'uid'=>$uid]) !!}";
-                                    }
-                                });
-                                dialog_1.setContent($('#commit1').html())
-
                             }
                         });
-                        qsDialog.setContent($('#commit').html());
+                        qsDialog.setContent($('#commit0').html());
 
 
+                        {{--var qsDialog = $(this).dialog({--}}
+                        {{--    loading: true,--}}
+                        {{--    header: false,--}}
+                        {{--    border: false,--}}
+                        {{--    btns: ['下一份','取消'],--}}
+                        {{--    yes: function(){--}}
+                        {{--        qsDialog.setCloseDialog(false);--}}
+                        {{--        if(!$($(".agree_commit")[1]).prop('checked')){--}}
+                        {{--            disapperTooltip("remind", "请阅读并承诺遵守《考生健康申明卡及安全考试承诺书》!");--}}
+                        {{--            //alert('请阅读并承诺遵守《考生健康申明卡及安全考试承诺书》');--}}
+                        {{--            return false;--}}
+                        {{--        }--}}
+                        {{--        qsDialog.setCloseDialog(true);--}}
+                        {{--        var dialog_1 = $(this).dialog({--}}
+                        {{--            loading: true,--}}
+                        {{--            header: false,--}}
+                        {{--            border: false,--}}
+                        {{--            btns: ['打印准考证','取消'],--}}
+                        {{--            yes: function(){--}}
+                        {{--                dialog_1.setCloseDialog(false);--}}
+                        {{--                var must = 1,total = 0;--}}
+                        {{--                $.each($($(".commit_step_2")[1]).find("input"),function(){--}}
+                        {{--                    if(this.checked){--}}
+                        {{--                        if($(this).val() == 1){--}}
+                        {{--                            must = 0;--}}
+                        {{--                        }--}}
+                        {{--                        total++;--}}
+                        {{--                    }--}}
+                        {{--                });--}}
+                        {{--                if(total != 7){--}}
+                        {{--                    disapperTooltip("remind", "请勾选以上项目!");--}}
+                        {{--                    return false;--}}
+                        {{--                }--}}
+                        {{--                if(!must){--}}
+                        {{--                    disapperTooltip("remind", "不符合参加考试条件,请检查!");--}}
+                        {{--                    return false;--}}
+                        {{--                }--}}
+                        {{--                if(!$($(".agree_commit1")[1]).prop('checked')){--}}
+                        {{--                    disapperTooltip("remind", "请阅读并承诺遵守《考生报考承诺书》!");--}}
+                        {{--                    return false;--}}
+                        {{--                }--}}
+                        {{--                dialog_1.setCloseDialog(true);--}}
+                        {{--                window.location.href = "{!! route('recruit.pen_ticket',['recruit_id'=>$recruit->id,'uid'=>$uid]) !!}";--}}
+                        {{--            }--}}
+                        {{--        });--}}
+                        {{--        dialog_1.setContent($('#commit1').html())--}}
+                        {{--    }--}}
+                        {{--});--}}
+                        {{--qsDialog.setContent($('#commit').html());--}}
                     }
                 } else {
                     var qsDialog = $(this).dialog({

+ 317 - 0
public/themes/default/views/app/shuobo/enterprise.blade.php

@@ -0,0 +1,317 @@
+@extends('module.layouts.content')
+@push('meta')
+
+@endpush
+
+@push('css')
+    <link href="{{ theme_asset('app/css/common.css') }}" rel="stylesheet">
+    <link rel="stylesheet" href="{{ theme_asset('app/css/element.css') }}">
+    <link href="{{theme_asset('app/css/jobs/jobs.css')}}" rel="stylesheet"/>
+    <style>
+        .container{
+            width:1182px;
+            margin:0 auto;
+        }
+        .enterce{
+            text-align: center;
+        }
+        .search{
+            text-align: center;
+            margin-top: 20px;
+        }
+        .talent-list{
+            border: 1px #EEEEEE solid;
+            margin-top: 10px;
+        }
+        .talent-list .talent-item{
+            border-bottom: 1px #EEEEEE solid;
+            padding-top: 18px;
+            padding-bottom: 18px;
+            background-color: #FFFFFF;
+            position: relative;
+        }
+        .ribbon {
+            width: 106px;
+            height: 108px;
+            overflow: hidden;
+            position: absolute;
+            top: -6px;
+            left: -6px;
+        }
+
+        .ribbon2 {
+            line-height: 18px;
+            text-align: center;
+            transform: rotate(-45deg);
+            position: relative;
+            padding: 8px 0;
+            left: -33px;
+            top: 26px;
+            width: 150px;
+            background: #a19d9d;
+            color: #fff;
+            box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
+            letter-spacing: 1px;
+        }
+
+        .ribbon1 {
+            line-height: 18px;
+            text-align: center;
+            transform: rotate(-45deg);
+            position: relative;
+            padding: 8px 0;
+            left: -33px;
+            top: 26px;
+            width: 150px;
+            background: #91F600;
+            color: #666;
+            box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
+            letter-spacing: 1px;
+        }
+
+        .talent-list .talent-item .photo {
+            width: 140px;
+            float: left;
+            margin-left: 20px;
+        }
+        .talent-list .talent-item .tcent {
+            float: left;
+            width: 420px;
+        }
+        .talent-list .talent-item .tcent .txt {
+            font-size: 16px;
+            color: #333333;
+            line-height: 40px;
+        }
+        .talent-list .talent-item .tcent .txt span {
+            color: #999999;
+            padding-left: 3px;
+            padding-right: 3px;
+            font-size: 10px;
+        }
+        .talent-list .talent-item .rbtn {
+            float: right;
+            width: 145px;
+            position: relative;
+            margin-top: 15px;
+        }
+        .talent-list .talent-item .rbtn .btn {
+            width: 80px;
+            height: 38px;
+            line-height: 38px;
+            color: #3b87f7;
+            border: 1px #3b87f7 solid;
+            border-radius: 6px;
+            cursor: pointer;
+            padding: 0 20px;
+            font-size: 15px;
+            margin-top: 2px;
+            text-align: center;
+        }
+
+        .talent-list .talent-item .rbtn:before {
+            position: absolute;
+            content: "";
+            width: 1px;
+            height: 78px;
+            background: #e0e0e0;
+            left: -28px;
+            bottom: 5px;
+            top: 10px
+        }
+        .page{
+            margin-top: 20px;
+            text-align: center;
+        }
+    </style>
+
+@endpush
+@push('js')
+
+@endpush
+@section('content')
+    <div id="app">
+        <div class="banner">
+            <h1 style="text-align: center;line-height: 300px;font-size: 60px;">
+                硕博专场
+            </h1>
+        </div>
+        <div class="container" v-loading="loading">
+            <div class="enterce">
+                <el-link href="/shuobo/talent" :underline="false"><el-button>找人才</el-button></el-link>
+                <el-button type="primary">找工作</el-button>
+            </div>
+            <div class="search">
+                <el-form :inline="true"  class="demo-form-inline" @submit.native.prevent>
+                    <el-form-item style="margin-bottom: 0"  >
+                        <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" @click="getData(1)">查询</el-button>
+                    </el-form-item>
+                </el-form>
+            </div>
+            <div class="plist">
+                <div class="pl" style="width: 100%">
+                    <div class="listb J_allListBox" style="width: 100%">
+                        <div class="J_jobsList yli" v-for="item in list" style="width: 100%">
+                            <div class="td1"></div>
+                            <div class="td2 link_blue link_visited" style="width: 600px">
+                                <div class="td-j-name" style="max-width: 300px">
+                                    @{{ item.job }}
+                                </div>
+                                <div class="td-j-salary" style="max-width: 300px">@{{ item.salary }} </div>
+                                <div class="clear"></div>
+                            </div>
+                            <div class="td3 link_gray6">
+                                @{{ item.company_name }}
+                                <div class="clear"></div>
+                            </div>
+                            <div class="td5" style="text-align: left">@{{ item.edu }}</div>
+                            <div class="clear"></div>
+                            <div class="detail" style="width: 100%">
+                                <div class="ltx" style="width: 100%">
+                                    <div class="txt font_gray6">
+                                        年龄:@{{ item.age }}<span>|</span>专业:@{{ item.pro }}<span>|</span>性别:@{{ item.sex }}<span>|</span>招聘人数:@{{ item.number }}
+                                    </div>
+                                </div>
+                                <div class="ltx" style="width: 100%">
+                                    <div class="txt font_gray6">
+                                        岗位要求:
+                                        <p>
+                                            @{{ item.detail }}
+                                        </p>
+                                    </div>
+                                </div>
+                                <div class="ltx" style="width: 100%">
+                                    <div class="txt font_gray6">
+                                        联系方式:
+                                        <p v-html="item.contact">
+                                        </p>
+                                    </div>
+                                </div>
+                                <div class="clear"></div>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="page">
+                        <el-pagination
+                                background
+                                layout="prev, pager, next"
+                                :total="total"
+                                @current-change="page_change">
+                        </el-pagination>
+                    </div>
+                </div>
+            </div>
+            <div class="clear"></div>
+
+
+        </div>
+
+    </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/element.js')}}"></script>
+    <script>
+        new Vue({
+            el: '#app',
+            data() {
+                return {
+                    enter: '找工作',
+                    loading:true,
+                    keyword:'',
+                    page_current:1,
+                    total: 0,
+                    list: [],//人才数据
+                    dialogVisible: false,
+                    dialogLogin: false,
+                    login: 0,
+                    redirect_url: "{{ urlencode(route('shuobo.talent'))}}",
+                    number:0,
+                    shuobo_id: 0,
+                    dialogFormVisible: false,
+                    form: {},
+                    formLabelWidth: '120px',
+                    talent_info:[]
+                };
+            },
+            methods: {
+                getData(page){
+                    axios.post("/shuobo/getShuoboJob",{keyword:this.keyword,page:page}).then(response => {
+                        this.loading = false;
+                        this.list = response.data.list;
+                        this.total = response.data.total;
+                    });
+                },
+                page_change(page){
+                    this.getData(page);
+                },
+                show(id,type = 0){
+                    if(type == 0){
+                        this.dialogVisible = true;
+                        this.shuobo_id = id;
+                    }else{
+                        this.dialogFormVisible = true;
+                    }
+                },
+                update(id){
+                    if(id>0){
+                        axios.post("/shuobo/updateCompanyToShuobo",this.form).then(response => {
+                            if(response.status == 200){
+                                if(response.data.data){
+                                    this.number = 0;
+                                    this.talent_info = [];
+                                }
+                                this.dialogFormVisible = false;
+                                this.$message(response.data.msg);
+                                window.location.reload();
+                            }
+                        });
+                    }
+                },
+                handkeyCode(e){
+                    let key =null;
+                    if(window.event === undefined){
+                        key = e.keyCode;
+                    }else{
+                        key = window.event.keyCode;
+                    }
+                    if(key ===13) {
+                        this.getData(1);
+                    }
+                },
+                company_login(){
+                    window.location.href = "{{ route("login.company") }}" + "?redirect_url=" + this.redirect_url
+                },
+                choose_talent(id){
+                    this.loading = true;
+                    axios.post("/shuobo/getTalentInfo",{id:this.shuobo_id}).then(response => {
+                        if(response.status == 200){
+                            if(response.data.data != ''){
+                                this.dialogVisible = false;
+                                this.loading = false;
+                                this.dialogFormVisible = true;
+                                this.talent_info = response.data.data;
+                                this.form.id = response.data.data.id;
+                                this.number++;
+                            }else{
+                                this.$message(response.data.msg);
+                            }
+                        }
+                    });
+                },
+
+            },
+            created(){
+                this.getData(1);
+                window.addEventListener('keydown',this.handkeyCode,true);
+            }
+        })
+
+    </script>
+
+@endsection

+ 235 - 17
public/themes/default/views/app/shuobo/talent.blade.php

@@ -28,7 +28,47 @@
             padding-top: 18px;
             padding-bottom: 18px;
             background-color: #FFFFFF;
+            position: relative;
+        }
+        .ribbon {
+            width: 106px;
+            height: 108px;
+            overflow: hidden;
+            position: absolute;
+            top: -6px;
+            left: -6px;
+        }
+
+        .ribbon2 {
+            line-height: 18px;
+            text-align: center;
+            transform: rotate(-45deg);
+            position: relative;
+            padding: 8px 0;
+            left: -33px;
+            top: 26px;
+            width: 150px;
+            background: #a19d9d;
+            color: #fff;
+            box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
+            letter-spacing: 1px;
+        }
+
+        .ribbon1 {
+            line-height: 18px;
+            text-align: center;
+            transform: rotate(-45deg);
+            position: relative;
+            padding: 8px 0;
+            left: -33px;
+            top: 26px;
+            width: 150px;
+            background: #91F600;
+            color: #666;
+            box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
+            letter-spacing: 1px;
         }
+
         .talent-list .talent-item .photo {
             width: 140px;
             float: left;
@@ -77,6 +117,7 @@
             background: #e0e0e0;
             left: -28px;
             bottom: 5px;
+            top: 10px
         }
         .page{
             margin-top: 20px;
@@ -97,13 +138,13 @@
         </div>
         <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="2" border>企业端</el-radio>
+                <el-button type="primary">找人才</el-button>
+                <el-link href="/shuobo/enterprise" :underline="false"><el-button >找工作</el-button></el-link>
             </div>
             <div class="search">
-                <el-form :inline="true"  class="demo-form-inline" >
+                <el-form :inline="true"  class="demo-form-inline" @submit.native.prevent>
                     <el-form-item style="margin-bottom: 0"  >
-                        <el-input placeholder="职位/技能/专业/证书/公司名" v-model="keyword" style="width: 300px"></el-input>
+                        <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" @click="getData(1)">查询</el-button>
@@ -112,13 +153,39 @@
             </div>
 
             <div class="talent-list">
+                <div class="talent-item" v-if="number > 0">
+                    <div class='ribbon'>
+                        <div class='ribbon1'>跟进中</div>
+                    </div>
+                    <div class="photo">
+                        <img src="{{theme_asset('app/images/08.png')}}" >
+                    </div>
+                    <div class="tcent">
+                        <div class="txt font_gray6"><label v-text="talent_info.realname"></label><span>|</span><label v-text="talent_info.education"></label></div>
+                        <div class="dlabs">
+                            <div class="dl">毕业学校:@{{ talent_info.school }}</div>
+                            <div class="dl">专业:@{{ talent_info.pro }}</div>
+                            <div class="dl">行业领域:@{{ talent_info.trade_type }}</div>
+                            <div class="dl">核心技术或专长:@{{ talent_info.speciality }}</div>
+                            <div class="clear"></div>
+                        </div>
+                    </div>
 
+                    <div class="rbtn">
+                        <div class="btn" data-batch="false" style="margin-top: 30px" @click="show(talent_info.id,1)">查看详情</div>
+                        {{--                        <div class="btn" data-batch="false" data-url="">收藏</div>--}}
+                    </div>
+                    <div class="clear"></div>
+                </div>
                 <div class="talent-item" v-for="item in list">
+                    <div class='ribbon' v-if="item.notice">
+                        <div class='ribbon2'>历史跟进过</div>
+                    </div>
                     <div class="photo">
                         <img src="{{theme_asset('app/images/08.png')}}" >
                     </div>
                     <div class="tcent">
-                        <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="txt font_gray6"><label v-text="item.name"></label><span>|</span><label v-text="item.education"></label></div>
                         <div class="dlabs">
                             <div class="dl">毕业学校:@{{ item.school }}</div>
                             <div class="dl">专业:@{{ item.pro }}</div>
@@ -129,16 +196,11 @@
                     </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 class="btn" data-batch="false" style="margin-top: 30px" @click="show(item.id)">查看详情</div>
+{{--                        <div class="btn" data-batch="false" data-url="">收藏</div>--}}
                     </div>
                     <div class="clear"></div>
                 </div>
-
-
-
-
-
             </div>
             <div class="page">
                 <el-pagination
@@ -150,9 +212,84 @@
             </div>
 
         </div>
+        <el-dialog title="注意" :visible.sync="dialogVisible" width="30%" v-if="login != 0 && number == 0">
+            <span>为提高企业于人才的沟通效率,每个企业能且仅能同时对接一名硕博人才,请确认您是否需要此名硕博人才的信息?</span>
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="dialogVisible = false">再看看</el-button>
+                <el-button type="primary" @click="choose_talent">就他/她了</el-button>
+            </span>
+        </el-dialog>
 
+        <el-dialog title="注意" :visible.sync="dialogVisible" width="30%" v-if="login != 0 && number != 0">
+            <span>您当前已有正在跟进中的硕博人才,请及时跟进并反馈!</span>
+            <span slot="footer" class="dialog-footer">
+                <el-button type="primary" @click="dialogVisible = false">已了解</el-button>
+            </span>
+        </el-dialog>
 
+        <el-dialog title="注意" :visible.sync="dialogVisible" width="30%" v-if="login == 0">
+            <span>登录后即可查看人才的联系方式,请确认是否登录?</span>
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="dialogVisible = false">再看看</el-button>
+                <el-button type="primary" @click="company_login">带我去登录</el-button>
+            </span>
+        </el-dialog>
 
+        <el-dialog title="跟进反馈" :visible.sync="dialogFormVisible">
+            <el-form :model="form">
+                <el-descriptions title="人才信息" :column="3" size="" border style="margin:20px 0">
+                    <el-descriptions-item>
+                        <template slot="label">
+                            <i class="el-icon-user"></i>
+                            姓名
+                        </template>
+                        @{{ talent_info.realname }}
+                    </el-descriptions-item>
+                    <el-descriptions-item>
+                        <template slot="label">
+                            <i class="el-icon-mobile-phone"></i>
+                            手机号
+                        </template>
+                        @{{ talent_info.mobile }}
+                    </el-descriptions-item>
+                    <el-descriptions-item>
+                        <template slot="label">
+                            <i class="el-icon-location-outline"></i>
+                            居住地
+                        </template>
+                        @{{ talent_info.address }}
+                    </el-descriptions-item>
+                    <el-descriptions-item>
+                        <template slot="label">
+                            <i class="el-icon-school"></i>
+                            学校
+                        </template>
+                        @{{ talent_info.school }}
+                    </el-descriptions-item>
+                    <el-descriptions-item>
+                        <template slot="label">
+                            <i class="el-icon-document"></i>
+                            专业
+                        </template>
+                        @{{ talent_info.pro }}
+                    </el-descriptions-item>
+                </el-descriptions>
+                <el-form-item label="跟进结果" :label-width="formLabelWidth">
+                    <el-radio-group v-model="form.status">
+                        <el-radio :label="-1">不合适</el-radio>
+                        <el-radio :label="1">洽谈成功</el-radio>
+                        <el-radio :label="2">其他</el-radio>
+                    </el-radio-group>
+                </el-form-item>
+                <el-form-item label="记录备注" :label-width="formLabelWidth">
+                    <el-input type="textarea" v-model="form.remark"></el-input>
+                </el-form-item>
+            </el-form>
+            <div slot="footer" class="dialog-footer">
+                <el-button @click="dialogFormVisible = false">去跟进</el-button>
+                <el-button type="primary" @click="update(talent_info.id)">提交结果</el-button>
+            </div>
+        </el-dialog>
 
 
     </div>
@@ -172,26 +309,107 @@
                     keyword:'',
                     page_current:1,
                     total: 0,
-                    list: []
-
+                    list: [],//人才数据
+                    dialogVisible: false,
+                    dialogLogin: false,
+                    login: 0,
+                    redirect_url: "{{ urlencode(route('shuobo.talent'))}}",
+                    number:0,
+                    shuobo_id: 0,
+                    dialogFormVisible: false,
+                    form: {},
+                    formLabelWidth: '120px',
+                    talent_info:[]
                 };
             },
             methods: {
                 getData(page){
-                    console.log('sdafsdf')
                     axios.post("/shuobo/getTalentData",{keyword:this.keyword,page:page}).then(response => {
                         this.loading = false;
                         this.list = response.data.list;
                         this.total = response.data.total;
+                        console.log(this.list)
                     });
-                    console.log(this.list)
                 },
                 page_change(page){
                     this.getData(page);
-                }
+                },
+                getC2S(){
+                    axios.post("/shuobo/getCompanyToShuobo").then(response => {
+                        if(response.status == 200){
+                            this.login = response.data.login;
+                            if(this.login == 1){
+                                let data = response.data.data;
+                                this.number = data.number;
+                                if(data.number > 0){
+                                    this.talent_info = data.info;
+                                    this.form.id = data.info.id;
+                                    //delete this.list[data.shuobo_id];
+                                }
+                            }
+                        }
+                    });
+                },
+                show(id,type = 0){
+                    if(type == 0){
+                        this.dialogVisible = true;
+                        this.shuobo_id = id;
+                    }else{
+                        this.dialogFormVisible = true;
+                    }
+                },
+                update(id){
+                    if(id>0){
+                        axios.post("/shuobo/updateCompanyToShuobo",this.form).then(response => {
+                            if(response.status == 200){
+                                if(response.data.data){
+                                    this.number = 0;
+                                    this.talent_info = [];
+                                }
+                                this.dialogFormVisible = false;
+                                this.$message(response.data.msg);
+                                window.location.reload();
+                            }
+                        });
+                    }
+                },
+                handkeyCode(e){
+                    let key =null;
+                    if(window.event === undefined){
+                        key = e.keyCode;
+                    }else{
+                        key = window.event.keyCode;
+                    }
+                    if(key ===13) {
+                        this.getData(1);
+                    }
+                },
+                company_login(){
+                    window.location.href = "{{ route("login.company") }}" + "?redirect_url=" + this.redirect_url
+                },
+                choose_talent(id){
+                    this.loading = true;
+                    axios.post("/shuobo/getTalentInfo",{id:this.shuobo_id}).then(response => {
+                        if(response.status == 200){
+                            if(response.data.data != ''){
+                                this.dialogVisible = false;
+                                this.loading = false;
+                                this.dialogFormVisible = true;
+                                this.talent_info = response.data.data;
+                                this.form.id = response.data.data.id;
+                                this.number++;
+                            }else{
+                                this.$message(response.data.msg);
+                            }
+                        }
+                    });
+                },
+
             },
             created(){
                 this.getData(1);
+                this.getC2S();
+                window.addEventListener('keydown',this.handkeyCode,true);
             }
         })
 

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

@@ -393,7 +393,7 @@
                                                 <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 == 16)
+                                                @if($recruit->id == 16 || $recruit->id == 17)
                                                     <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)

+ 3 - 0
routes/web.php

@@ -908,4 +908,7 @@ Route::group([
     $router->any('/getTalentData','Web\Talent\ShuoboController@getTalentData')->name('shuobo.getTalentData');
     $router->any('/getCompanyToShuobo','Web\Talent\ShuoboController@getCompanyToShuobo')->name('shuobo.getCompanyToShuobo');
     $router->any('/getTalentInfo','Web\Talent\ShuoboController@getTalentInfo')->name('shuobo.getTalentInfo');
+    $router->any('/updateCompanyToShuobo','Web\Talent\ShuoboController@updateCompanyToShuobo')->name('shuobo.updateCompanyToShuobo');
+    $router->any('/enterprise','Web\Talent\ShuoboController@enterprise')->name('shuobo.enterprise');
+    $router->any('/getShuoboJob','Web\Talent\ShuoboController@getShuoboJob')->name('shuobo.getShuoboJob');
 });

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно