| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841 | 
							- <?php
 
- namespace App\Admin\Controllers\Person;
 
- use App\Admin\Exports\Person\ResumeExport;
 
- use App\Admin\Extensions\Form\ValueForm;
 
- use App\Http\Controllers\Controller;
 
- use App\Models\AuditReason;
 
- use App\Models\Company;
 
- use App\Models\Member;
 
- use App\Models\Pms;
 
- use App\Models\Resume;
 
- use App\Models\SmsRule;
 
- use App\Models\SmsTemplate;
 
- use App\Models\Subsite;
 
- use App\Services\Common\EmailService;
 
- use App\Services\Common\SmsService;
 
- use App\Validators\Rules\MobileRule;
 
- use Encore\Admin\Controllers\HasResourceActions;
 
- use Encore\Admin\Facades\Admin;
 
- use Encore\Admin\Form;
 
- use Encore\Admin\Grid;
 
- use Encore\Admin\Layout\Content;
 
- use Encore\Admin\Show;
 
- use Encore\Admin\Widgets\Tab;
 
- use Encore\Admin\Widgets\Table;
 
- use Illuminate\Http\Request;
 
- use phpDocumentor\Reflection\Types\Context;
 
- class ResumeController extends Controller
 
- {
 
-     use HasResourceActions;
 
-     protected $smsService;
 
-     protected $emailService;
 
-     protected $resume;
 
-     /**
 
-      * AjaxController constructor.
 
-      * @param $smsService
 
-      */
 
-     public function __construct(SmsService $smsService, EmailService $emailService, Resume $resume)
 
-     {
 
-         $this->smsService = $smsService;
 
-         $this->emailService = $emailService;
 
-         $this->resume = $resume;
 
-     }
 
-     /**
 
-      * Index interface.
 
-      *
 
-      * @param Content $content
 
-      * @return Content
 
-      */
 
-     public function index(Content $content)
 
-     {
 
-        $grid = $this->grid()->render();
 
-         return $content
 
-             ->header('简历列表')
 
-             ->description('')
 
-             ->body(view('admin.resume.resume')->with(['grid'=>$grid]));
 
-     }
 
-     /**
 
-      * Show interface.
 
-      *
 
-      * @param mixed $id
 
-      * @param Content $content
 
-      * @return Content
 
-      */
 
-     public function show($id, Content $content)
 
-     {
 
-         return $content
 
-             ->header('简历详情')
 
-             ->description()
 
-             ->body($this->detail($id));
 
-     }
 
-     /**
 
-      * Edit interface.
 
-      *
 
-      * @param mixed $id
 
-      * @param Content $content
 
-      * @return Content
 
-      */
 
-     public function edit($id, Content $content)
 
-     {
 
-         return $content
 
-             ->header('简历列表')
 
-             ->description('编辑')
 
-             ->body($this->form()->edit($id));
 
-     }
 
-     /**
 
-      * Create interface.
 
-      *
 
-      * @param Content $content
 
-      * @return Content
 
-      */
 
-     public function create(Content $content)
 
-     {
 
-         return $content
 
-             ->header('简历列表')
 
-             ->description('创建')
 
-             ->body($this->form());
 
-     }
 
-     /**
 
-      * Make a grid builder.
 
-      *
 
-      * @return Grid
 
-      */
 
-     protected function grid()
 
-     {
 
-         $grid = new Grid(new Resume);
 
-         $grid->model()
 
-             /*->when(get_subsite_id()>0, function ($query) {
 
-             $query->where('subsite_id', get_subsite_id());
 
-             $query->whereHas('subsite',function ($query){
 
-                 $query->where('effective', 1);
 
-             });
 
-         })*/
 
-             ->orderByRaw("FIELD(audit, 1,2,0)")->orderBy('updated_at', 'desc');
 
-         $grid->id('ID');
 
-         $grid->column('memberInfos.images', '姓名')->display(function ($images) {
 
-             $expires = '';
 
-             $style = 'color:#3c8dbc';
 
-             if($this->expires && $this->expires<time()){
 
-                 $expires = '[已过期]';
 
-                 $style = 'color:#CCCCCC';
 
-             }
 
-             if ($images) {
 
-                 return '<span class="vtip" title="<img src='.upload_asset($images).' width=120 height=120>">
 
-                             <img class="avatar small" src="'.upload_asset($images).'" align="absmiddle" style="width: 36px;height: 36px;">
 
-                         </span>   '.'<span style="'.$style.'">'.htmlspecialchars($this->fullname).'  '.$expires.'</span>';
 
-             } else {
 
-                 return '<span class="vtip" ></span>   '. '<span style="'.$style.'">'.$this->fullname.'  '.$expires.'</span>';
 
-             }
 
-         })->width(200);
 
-         $grid->title('简历名称')->display(function ($title) {
 
-             return '<a href="/content/resumes/show?id='.$this->id.'&token=1" target="_blank">'.$title.'</a>';
 
-         })->width(150);
 
-         $grid->complete_percent('简历完整度')->display(function ($complete_percent) {
 
-              return $complete_percent.'%';
 
-         })->label();
 
-         $grid->audit('审核状态')->display(function ($audit) {
 
-             if ($audit==0) {
 
-                 return'<span style="color:#666666">审核未通过</span><a style="margin-left: 5px;" ls="'.$this->id.'" class="audit_log"><i class="fa fa-eye"></i></a>';
 
-             } elseif ($audit==2) {
 
-                 return'<span style="color: #009900">审核通过</span><a style="margin-left: 5px;" ls="'.$this->id.'" class="audit_log"><i class="fa fa-eye"></i></a>';
 
-             } else {
 
-                 return'<span style="color:#FF6600">等待审核</span><a style="margin-left: 5px;" ls="'.$this->id.'" class="audit_log"><i class="fa fa-eye"></i></a>';
 
-             }
 
-         });
 
-         $grid->display('公开')->display(function ($display) {
 
-             return $display ? '公开' : '保密';
 
-         });
 
-         $grid->entrust('委托状态')->display(function ($entrust) {
 
-             $value = $entrust - time();
 
-             if ($value < 0) {
 
-                 return'<span style="color:#666666">无</span>';
 
-             } elseif ($value >= 0 && $value < 59) {
 
-                 return'<span style="color:#009900">'.$value.'秒</span>';
 
-             } elseif ($value >= 60 && $value < 3600) {
 
-                 $min = intval($value / 60);
 
-                 return'<span style="color:#009900">'.$min.'分钟</span>';
 
-             } elseif ($value >=3600 && $value < 86400) {
 
-                 $h = intval($value / 3600);
 
-                 return'<span style="color:#009900">'.$h.'小时</span>';
 
-             } elseif ($value >= 86400 && $value < 86400*30) {
 
-                 $d = intval($value / 86400);
 
-                 return'<span style="color:#009900">'.intval($d).'天</span>';
 
-             } elseif ($value >= 86400*30 && $value < 86400*30*12) {
 
-                 $mon  = intval($value / (86400*30));
 
-                 return'<span style="color:#009900">'.$mon.'月</span>';
 
-                 return $mon."月";
 
-             } else {
 
-                 $y = intval($value / (86400*30*12));
 
-                 return'<span style="color:#009900">'.$y.'年</span>';
 
-             }
 
-         });
 
-         if(get_subsite_open()){
 
-             $grid->column('members.subsite_id', '所属分站')->display(function ($subsite_id) {
 
-                 if ($subsite_id) {
 
-                     $Subsite = Subsite::find($subsite_id);
 
-                     return isset($Subsite->sitename) ? $Subsite->sitename : '未知';
 
-                 }
 
-                 return '总站';
 
-             })->width(150);
 
-         }
 
-         $grid->created_at('添加时间')->sortable();
 
-         $grid->updated_at('更新时间')->sortable();
 
-         $grid->actions(function ($actions) use ($grid) {
 
-             $actions->disableView(false);
 
-             if (Admin::user()->can('person_resume_audit')) {
 
-                 $actions->append("<button class='btn btn-primary btn-xs jobaudit' data-code=".$actions->row['id'].">审核</button>");
 
-             }
 
-             if (Admin::user()->can('perosn_business')) {
 
-                 $actions->append('<button class="btn btn-primary btn-xs business" ls="'.$actions->row['uid'].'" ld="'. htmlspecialchars($actions->row['fullname']) .'" title="业务" >业务</button>');
 
-             }
 
-             if (Admin::user()->can('person_resume_matching')) {
 
-                 if (!empty($actions->row['entrust']) && $actions->row['entrust']>time()) {
 
-                     $actions->append('<button class="btn btn-primary btn-xs piPei" ls="'.$actions->row['id'].'" ld="'.$actions->row['uid'].'" title="匹配" >匹配</button>');
 
-                 }
 
-             }
 
-             if (Admin::user()->can('person_resume_delete')) {
 
-                 $actions->disableDelete(false);
 
-             }
 
-         });
 
-         if (Admin::user()->can('person_resume_delete')) {
 
-             $grid->tools(function ($tools) {
 
-                 $tools->batch(function ($batch) {
 
-                     $batch->disableDelete(false);
 
-                 });
 
-             });
 
-             $grid->disableRowSelector(false);
 
-         }
 
-         $grid->tools(function ($tools) {
 
-             if (Admin::user()->can('person_resume_audit')) {
 
-                 $but = <<<EOT
 
- <div class="btn-group" data-toggle="buttons">
 
-     <label class="btn btn-google btn-sm" id="audit_resume" title="审核简历">
 
-         <i class="fa fa-audio-description"></i>
 
-         <input type="radio" class="user-gender">审核简历
 
-     </label>
 
- </div>
 
- EOT;
 
-                 $tools->append($but);
 
-             }
 
-         });
 
-         if (Admin::user()->can('person_resume_export')) {
 
-             $grid->disableExport(false); //显示导出按钮
 
-             $grid->exporter(new ResumeExport()); //传入自己在第1步创建的导出类
 
-         }
 
-         $grid->filter(function ($filter) {
 
-             // 去掉默认的id过滤器
 
- //            $filter->disableIdFilter();
 
-             $filter->column(1/2, function ($filter) {
 
-                 $filter->equal('display', '可见状态')->select([
 
-                     0=>'不可见',
 
-                     1=>'可见'
 
-                 ]);
 
-                 $filter->equal('audit', '审核状态')->select([
 
-                     0=>'审核未通过',
 
-                     1=>'等待审核',
 
-                     2=>'审核通过',
 
-                 ]);
 
-                 $filter->equal('photo', '简历照片')->select([
 
-                     0=>'无',
 
-                     1=>'有',
 
-                 ]);
 
-                 $filter->where(function ($query) {
 
-                     switch ($this->input) {
 
-                         case 3:
 
-                             $query->whereRaw("entrust > ".time()." and entrust<=".strtotime('3 day'));
 
-                             break;
 
-                         case 7:
 
-                             $query->whereRaw("entrust > ".time()." and entrust<=".strtotime('7 day'));
 
-                             break;
 
-                         case 14:
 
-                             $query->whereRaw("entrust > ".time()." and entrust<=".strtotime('14 day'));
 
-                             break;
 
-                         case 30:
 
-                             $query->whereRaw("entrust > ".time()." and entrust<=".strtotime('30 day'));
 
-                             break;
 
-                     }
 
-                 }, '是否委托', 'entrust')->select([
 
-                     3=>'三天内',
 
-                     7=>'一周内',
 
-                     14=>'二周内',
 
-                     30=>'一月内',
 
-                 ]);
 
-                 if(get_subsite_id()==0 && get_subsite_open()){
 
-                     $filter->equal('subsite_id', '所属分站')->select(array_column(get_all_subsite(), 'sitename', 'id'));
 
-                 }
 
-             });
 
-             $filter->column(1/2, function ($filter) {
 
-                 $filter->equal('uid', '会员ID');
 
-                 $filter->like('fullname', '姓名');
 
-                 $filter->like('memberInfos.id_card', '身份证');
 
-                 $filter->like('memberInfos.phone', '手机号');
 
-                 $filter->between('created_at', '创建时间')->datetime();
 
-                 $filter->between('updated_at', '刷新时间')->datetime();
 
-                 /*$filter->where(function ($query) {
 
-                     switch ($this->input) {
 
-                         case 3:
 
-                             $query->whereRaw("created_at>='".date('Y-m-d H:i:s', strtotime('-3 day'))."'");
 
-                             break;
 
-                         case 7:
 
-                             $query->whereRaw("created_at>='".date('Y-m-d H:i:s', strtotime('-7 day'))."'");
 
-                             break;
 
-                         case 30:
 
-                             $query->whereRaw("created_at>='".date('Y-m-d H:i:s', strtotime('-30 day'))."'");
 
-                             break;
 
-                     }
 
-                 }, '创建时间', 'created_at')->select([
 
-                     3=>'三天内',
 
-                     7=>'一周内',
 
-                     30=>'一月内',
 
-                 ]);
 
-                 $filter->where(function ($query) {
 
-                     switch ($this->input) {
 
-                         case 3:
 
-                             $query->whereRaw("updated_at>='".date('Y-m-d H:i:s', strtotime('-3 day'))."'");
 
-                             break;
 
-                         case 7:
 
-                             $query->whereRaw("updated_at>='".date('Y-m-d H:i:s', strtotime('-7 day'))."'");
 
-                             break;
 
-                         case 30:
 
-                             $query->whereRaw("updated_at>='".date('Y-m-d H:i:s', strtotime('-30 day'))."'");
 
-                             break;
 
-                     }
 
-                 }, '刷新时间', 'updated_at')->select([
 
-                     3=>'三天内',
 
-                     7=>'一周内',
 
-                     30=>'一月内',
 
-                 ]);*/
 
-             });
 
-         });
 
-         return $grid;
 
-     }
 
-     /**
 
-      * Make a show builder.
 
-      *
 
-      * @param mixed $id
 
-      * @return Show
 
-      */
 
-     protected function detail($id)
 
-     {
 
-         $result = Resume::find($id)->getResumeAllInfo();
 
-         if(isset($result->memberInfos->display_images)){
 
-             if($result->memberInfos->display_images==1){
 
-                 $display_images = '公开';
 
-             } elseif ($result->memberInfos->display_images==2){
 
-                 $display_images = '不公开';
 
-             }else{
 
-                 $display_images = '未上传照片';
 
-             }
 
-         }else{
 
-             $display_images = '未上传照片';
 
-         }
 
-         if(isset($result->memberInfos->images)){
 
-             if($result->memberInfos->images){
 
-                 $imk = upload_asset($result->memberInfos->images);
 
-                 $images =  '<img border="0" src="'.$imk.'">';
 
-             } else{
 
-                 $images = '';
 
-             }
 
-         }else{
 
-             $images = '';
 
-         }
 
-         if($result->audit==2){
 
-             $audit = '已通过审核';
 
-         }elseif ($result->audit==0){
 
-             $audit = '审核未通过请修改';
 
-         }else{
 
-             $audit = '正在审核中';
 
-         }
 
-         $resume = [$result->title,$result->display?'公开':'不公开',$display_images,
 
-             $result->complete_percent.'%',$audit,$result->talent?'高级':'普通',$result->created_at,$result->updated_at];
 
-         $member_info = [];
 
-         if($result->memberInfos){
 
-             $data = $result->memberInfos;
 
-             $member_info = [$data->realname,$data->sex_cn,date('Y')-($data->birthday),
 
-                 $data->height,$data->education_cn,$data->marriage_cn,$data->experience_cn,$data->householdaddress_cn,$data->phone,$data->email,$images];
 
-         }
 
-         $job_intention = [$result->nature_cn,$result->district_cn,
 
-             $result->wage_cn,$result->intention_jobs,$result->trade_cn];
 
-         $profile =[$result->specialty];
 
-         $education = [];
 
-         if(!$result->resumeEducation->isEmpty()){
 
-             foreach ($result->resumeEducation as $resumeEducation){
 
-                 if($resumeEducation->todate){
 
-                     $time =$resumeEducation->startyear.'年'.$resumeEducation->startmonth.'月-'.'至今';
 
-                 }else{
 
-                     $time =$resumeEducation->startyear.'年'.$resumeEducation->startmonth.'月-'.$resumeEducation->endyear.'年'.$resumeEducation->endmonth.'月';
 
-                 }
 
-                 $education[]= [$time,$resumeEducation->school,$resumeEducation->speciality,$resumeEducation->education_cn];
 
-             }
 
-         }
 
-         $work = [];
 
-         if(!$result->resumeWork->isEmpty()){
 
-             foreach ($result->resumeWork as $resumeWork){
 
-                 if($resumeWork->todate){
 
-                     $time =$resumeWork->startyear.'年'.$resumeWork->startmonth.'月-'.'至今';
 
-                 }else{
 
-                     $time =$resumeWork->startyear.'年'.$resumeWork->startmonth.'月-'.$resumeWork->endyear.'年'.$resumeWork->endmonth.'月';
 
-                 }
 
-                 $work[]= [$time,$resumeWork->companyname,$resumeWork->jobs];
 
-             }
 
-         }
 
-         $train=[];
 
-         if(!$result->resumeTrain->isEmpty()){
 
-             foreach ($result->resumeTrain as $resumeTrain){
 
-                 if($resumeTrain->todate){
 
-                     $time =$resumeTrain->startyear.'年'.$resumeTrain->startmonth.'月-'.'至今';
 
-                 }else{
 
-                     $time =$resumeTrain->startyear.'年'.$resumeTrain->startmonth.'月-'.$resumeTrain->endyear.'年'.$resumeTrain->endmonth.'月';
 
-                 }
 
-                 $train[]= [$time,$resumeTrain->agency,$resumeTrain->course];
 
-             }
 
-         }
 
-         $credent = [];
 
-         if(!$result->resumeCredent->isEmpty()){
 
-             foreach ($result->resumeCredent as $resumeCredent){
 
-                 $time =$resumeCredent->year.'年'.$resumeCredent->month.'月';
 
-                 $credent[]= [$time,$resumeCredent->name];
 
-             }
 
-         }
 
-         $language = [];
 
-         if(!$result->resumeLanguage->isEmpty()){
 
-             foreach ($result->resumeLanguage as $resumeLanguage){
 
-                 $language[]= [$resumeLanguage->language_cn,$resumeLanguage->level_cn];
 
-             }
 
-         }
 
-         $tag_cn = [$result->tag_cn];
 
-         $title = [
 
-             '基本设置',
 
-             '基本信息',
 
-             '求职意向',
 
-             '个人简介',
 
-             '教育经历',
 
-             '工作经历',
 
-             '培训经历',
 
-             '获得证书',
 
-             '语言能力',
 
-             '特长标签',
 
-         ];
 
-         $tab_content=[];
 
-         foreach ($title as $key => $val) {
 
-             if ($key==0) {
 
-                 $headers = ['简历名称', '公开设置', '照片公开设置', '简历完整度','简历审核','简历等级','创建时间','刷新时间'];
 
-                 $rows = [
 
-                     $resume
 
-                 ];
 
-                 $table = new Table($headers, $rows);
 
-             } elseif($key==1) {
 
-                 $headers = ['姓名', '性别', '年龄', '身高','学历','婚姻状况','工作经验','户籍','联系电话','联系邮箱','头像'];
 
-                 $rows = [
 
-                     $member_info
 
-                 ];
 
-                 $table = new Table($headers, $rows,['base_info']);
 
-             } elseif($key==2) {
 
-                 $headers = ['期望岗位性质', '期望工作地', '期望月薪', '期望从事的岗位','期望从事的行业'];
 
-                 $rows = [
 
-                     $job_intention
 
-                 ];
 
-                 $table = new Table($headers, $rows);
 
-             } elseif($key==3) {
 
-                 $headers = [];
 
-                 $rows = [
 
-                     $profile
 
-                 ];
 
-                 $table = new Table($headers, $rows);
 
-             } elseif($key==4) {
 
-                 $headers = ['起止年月', '学校名称', '专业名称', '学历'];
 
-                 $rows = $education;
 
-                 $table = new Table($headers, $rows);
 
-             } elseif($key==5) {
 
-                 $headers = ['起止年月', '公司名称', '职位名称'];
 
-                 $rows =  $work;
 
-                 $table = new Table($headers, $rows);
 
-             } elseif($key==6) {
 
-                 $headers = ['起止年月', '机构名称', '培训课程'];
 
-                 $rows = $train;
 
-                 $table = new Table($headers, $rows);
 
-             }elseif($key==7) {
 
-                 $headers = ['起止年月', '证书名称'];
 
-                 $rows = $credent;
 
-                 $table = new Table($headers, $rows);
 
-             }elseif($key==8) {
 
-                 $headers = ['语言类型', '语言等级'];
 
-                 $rows = $language;
 
-                 $table = new Table($headers, $rows);
 
-             }elseif($key==9) {
 
-                 $headers = [];
 
-                 $rows = [$tag_cn];
 
-                 $table = new Table($headers, $rows);
 
-             }
 
-             $tab_content[$key]['type'] = $val;
 
-             $tab_content[$key]['form'] = $table;
 
-         }
 
-         return view('admin.resume.detail')->with(['contents'=>$tab_content,'result'=>$result])->render();
 
-     }
 
-     /**
 
-      * Make a form builder.
 
-      *
 
-      * @return Form
 
-      */
 
-     protected function form()
 
-     {
 
-         $form = new Form(new Resume);
 
-         $form->display('ID');
 
-         $form->display('Created at');
 
-         $form->display('Updated at');
 
-         return $form;
 
-     }
 
-     /**
 
-      * @审核日志
 
-      * @param Request $request
 
-      * @return array
 
-      */
 
-     public function audit(Request $request)
 
-     {
 
-         $id = $request->id;
 
-         $type = $request->type;
 
-         $headers = ['status'=>'审核状态', 'tim'=>'审核时间', 'sec'=>'描述'];
 
-         $res = AuditReason::where(['type_id'=>$id,'type'=>$type])->get();
 
-         $data = [];
 
-         foreach ($res as $k => $v) {
 
-             if ($v['status']==0) {
 
-                 $data[$k]['status'] = '审核未通过';
 
-             } elseif ($v['status']==2) {
 
-                 $data[$k]['status'] = '审核通过';
 
-             } else {
 
-                 $data[$k]['status'] = '等待审核';
 
-             }
 
-             $data[$k]['tim'] = $v['created_at'];
 
-             $data[$k]['sec'] = $v['audit_man'].'--'.$v['reason'];
 
-         }
 
-         $rows = $data;
 
-         $table = new Table($headers, $rows);
 
-         return ['html'=>$table->render(),'detail'=>'审核日志'];
 
-     }
 
-     public function manager(Request $request)
 
-     {
 
-         $uid = $request->uid;
 
-         $fullname = $request->fullname;
 
-         $members = Member::where(['id'=>$uid])->select(['id','username','email','mobile','utype'])->first();
 
-         $header2 = ['会员管理'];
 
-         $rows2 = '';
 
-         /*$rows2 = [
 
-             [
 
-                 '<div class="manitem"><a target="_blank" href="/admin/personal/managerRes/'.$members['id'].'">简历管理</a></div>',
 
-                 '<div class="manitem"><a target="_blank" href="/admin/personal/points?uid='.$members['id'].'&utype='.$members['utype'].'">积分管理</a></div>',
 
-                 '<div class="manitem"><a target="_blank" href="'.admin_base_path("/firm/order/personal")."?uid=".$members['id'].'">充值/订单</a></div>',
 
-                 '<div class="manitem"><a target="_blank" href="">简历推广</a></div>',
 
-                 '<div class="manitem"><a target="_blank" href="/admin/personal/applyJobs?personal_uid='.$members['id'].'">申请的职位</a></div>',
 
-                 '<div class="manitem"><a target="_blank" href="/admin/personal/members?id='.$members['id'].'">个人资料</a></div>',
 
-             ]
 
-          ];*/
 
-         $header3 = ['分析统计'];
 
-         $rows3= [
 
-             [
 
-                 '<div class="manitem"><a target="_blank" href="">行为分析</a></div>',
 
-                 '<div class="manitem" ><a target="_blank" href="">会员日志</a></div>',
 
-             ]
 
-         ];
 
-         $header4 = ['联系会员  (手机:'.$members['mobile'].',邮箱:'.$members['email'].')'];
 
-         $sendSms = '';
 
-         $sendEmail = '';
 
-         $sendSys = '';
 
-         if (Admin::user()->can('person_business_sms')) {
 
-             $sendSms = '<div class="manitem"><a style="cursor:pointer"  id="fa_sms" ls="'.$members['mobile'].'">发送短信</a></div>';
 
-         }
 
-         if (Admin::user()->can('person_business_email')) {
 
-             $sendEmail = '<div class="manitem" ><a style="cursor:pointer" id="fa_email" ls="'.$members['email'].'">发送邮件</a></div>';
 
-         }
 
-         if (Admin::user()->can('person_business_sys')) {
 
-             $sendSys =  '<div class="manitem" ><a style="cursor:pointer" id="fa_sys" ls="'.$members['id'].'">发送站内信</a></div>';
 
-         }
 
-         $rows4= [
 
-             [
 
-                 $sendSms,
 
-                 $sendEmail,
 
-                 $sendSys,
 
-             ]
 
-         ];
 
-         $table2 = new Table($header2, $rows2);
 
-         $table3 = new Table($header3, $rows3);
 
-         $table3->style('width:180px');
 
-         $table4 = new Table($header4, $rows4);
 
-         $had = '';
 
-         if (Admin::user()->can('person_business_login')) {
 
-             $had = '<div style="height:30px;">对 <strong style="color:#FF6600">'. htmlspecialchars($fullname) .'</strong> 进行以下操作<span style="color: #999999;padding-left: 8px;">用户名:'.htmlspecialchars($members['username']).',uid:'.$uid.'</span>    <a target="_blank" href="'.admin_base_path().'/personal/manager/into/'.$members['id'].'">进入会员中心>></a></div>';
 
-         }
 
-         return json_encode(['html'=>[$table2->render(),$table3->render(),$table4->render()],'detail'=>'管理','had'=>$had]);
 
-     }
 
-     /**
 
-      * 发送短信
 
-      * return json
 
-      */
 
-     public function sms(Request $request)
 
-     {
 
-         $mobile = $request->mobile;
 
-         $form = new \Encore\Admin\Widgets\Form();
 
-         $form->action(route('admin.personal.uidSms'));
 
-         $form->disableReset();
 
-         $form->html('
 
-             <strong style="color:#FF6600">
 
-                 <span>您当前配置的短信接口是【阿里大鱼】。</span>
 
-             </strong>
 
-         ');
 
-         $form->mobile('mobile', '接受手机')->default($mobile);
 
-         $form->textarea('message','消息');
 
-         $form->hidden('sms_id')->default('sms_custom');
 
-         return json_encode(['html'=>$form->render(),'detail'=>'发送短信']);
 
-     }
 
-     public function uidSms(Request $request)
 
-     {
 
-         $moile = $request->mobile;
 
-         $sms_id = $request->sms_id;
 
-         $message = $request->message;
 
-         if (!$moile || !$sms_id || !$message) {
 
-             admin_toastr('请把资料信息填写完整!', 'error');
 
-             return back();
 
-         }
 
-         $SmsRule = SmsRule::where('alias', $sms_id)->first();
 
-         if (isset($SmsRule->status) && !empty($SmsRule->status)) {
 
-             $this->smsService->sendSms($moile, $sms_id, ['content'=>$message]);
 
-             admin_toastr('短信发送成功', 'success');
 
-         } else {
 
-             admin_toastr('请先开启短信-短信规则配置!', 'error');
 
-         }
 
-         return back();
 
-     }
 
-     /**
 
-      * 发送邮件.
 
-      * return json
 
-      */
 
-     public function email(Request $request)
 
-     {
 
-         $email = $request->email;
 
-         $form = new \Encore\Admin\Widgets\Form();
 
-         $form->action(route('admin.personal.uidEmail'));
 
-         $form->disableReset();
 
-         $form->email('email', '收件地址')->default($email);
 
-         $form->text('title', '邮件标题');
 
-         $form->textarea('body', '邮件内容');
 
-         return json_encode(['html'=>$form->render(),'detail'=>'发送邮件']);
 
-     }
 
-     public function uidEmail(Request $request)
 
-     {
 
-         $email = $request->email;
 
-         $title = $request->title;
 
-         $body = $request->body;
 
-         if (!$email || !$title || !$body) {
 
-             admin_toastr('请把资料信息填写完整!', 'error');
 
-             return back();
 
-         }
 
-         $this->emailService->sendMail($email, EmailService::TEMPLATE_SEND_CONTENT, ['title'=>$title], ['content'=>$body]);
 
-         admin_toastr('邮件发送成功', 'success');
 
-         return back();
 
-     }
 
-     /**
 
-      * 发送站内信
 
-      * return json
 
-      */
 
-     public function sys(Request $request)
 
-     {
 
-         $uid = $request->uid;
 
-         $form = new \Encore\Admin\Widgets\Form();
 
-         $form->action(route('admin.personal.uidSend'));
 
-         $form->disableReset();
 
-         $form->hidden('uid')->default($uid);
 
-         $form->textarea('body', '发送内容');
 
-         return json_encode(['html'=>$form->render(),'detail'=>'发送站内信']);
 
-     }
 
-     public function uidSend(Request $request)
 
-     {
 
-         if (!$request->uid) {
 
-             admin_toastr('数据异常', 'error');
 
-             return back();
 
-         }
 
-         if (!$request->body) {
 
-             admin_toastr('发送内容不能为空!', 'error');
 
-             return back();
 
-         }
 
-         $data = [];
 
-         $url = $request->route()->uri;
 
-         $use_type = explode('/', $url)[1];
 
-         if ($use_type=='personal') {
 
-             $userManager = Member::findOrfail($request->uid);
 
-         } else {
 
-             $userManager = Company::findOrfail($request->uid);
 
-         }
 
-         if (!$userManager) {
 
-             admin_toastr('该用户不存在!', 'error');
 
-             return back();
 
-         }
 
-         $data['utype'] = $userManager->utype;
 
-         $data['msgtype'] = 1;
 
-         $data['msgfromuid'] = Admin::user()->id;
 
-         $data['msgfrom'] = Admin::user()->username;
 
-         $data['msgtoname'] = $userManager->username;
 
-         $data['msgtouid'] = $userManager->id;
 
-         $data['message'] =  $request->body;
 
-         if (Pms::create($data)) {
 
-             admin_toastr('发送成功!', 'success');
 
-         } else {
 
-             admin_toastr('发送失败!', 'error');
 
-         }
 
-         return back();
 
-     }
 
-     /**
 
-      *  return json
 
-      */
 
-     public function auditResume(Request $request)
 
-     {
 
-         $id = $request->id;
 
-         $form = new \Encore\Admin\Widgets\Form();
 
-         $form->action(route('admin.personal.auditR'));
 
-         $form->disableReset();
 
-         $form->hidden('id', 'ID')->default($id);
 
-         $form->radio('audit', '审核')->options([2=>'审核通过',0=>'审核未通过'])->default(2);
 
-         $form->textarea('remark', '备注');
 
-         $form->html('<label style="color: rgb(0, 153, 0)"><input type="checkbox" name="pms_notice" value="1" checked="checked">站内信通知</label>');
 
-         return json_encode(['html'=>$form->render(),'detail'=>'审核简历']);
 
-     }
 
-     public function auditR(Request $request)
 
-     {
 
-         $id = $request->id;
 
-         $audit = $request->audit;
 
-         $remark = $request->remark;
 
-         $pms_notice = $request->pms_notice;
 
-         $arr = array_filter(explode(',', $id));
 
-         if (empty($arr)) {
 
-             admin_toastr('数据异常', 'error');
 
-             return back();
 
-         }
 
-         $reus=Resume::with(['members:id,username,mobile'])->whereIn('id', $arr)->get();
 
-         $mobile = [];
 
-         foreach ($reus as $res) {
 
-             if (isset($res->members->mobile)) {
 
-                 if (validator_check($res->members->mobile, new MobileRule())) {
 
-                     $mobile[] = $res->members->mobile;
 
-                 }
 
-             }
 
-         }
 
-         $mobile = array_unique($mobile);
 
-         $sms_id = $audit ? 'sms_resumeallow' : 'sms_resumenotallow';
 
-         $result = Resume::whereIn('id', $arr)->update(['audit'=>$audit]);
 
-         $data=[];
 
-         foreach ($arr as $k => $v) {
 
-             $data[$k]['type'] = 1;
 
-             $data[$k]['type_id'] = $v;
 
-             $data[$k]['status'] = $audit;
 
-             $data[$k]['reason'] = $remark;
 
-             $data[$k]['audit_man'] = Admin::user()->username;
 
-             $data[$k]['created_at'] = date('Y-m-d H:i:s', time());
 
-             $data[$k]['updated_at'] = date('Y-m-d H:i:s', time());
 
-         }
 
-         $this->auditReason($data);
 
-         if ($pms_notice) {
 
-             if ($audit==0) {
 
-                 $stat='审核未通过';
 
-             } elseif ($audit==2) {
 
-                 $stat = '审核通过';
 
-             } else {
 
-                 $stat='等待审核';
 
-             }
 
-             $da = [];
 
-             foreach ($reus as $k => $v) {
 
-                 $da[$k]['uid'] = $v['members']['id'];
 
-                 $da[$k]['username'] = $v['members']['username'];
 
-                 $da[$k]['resume_title'] = $v->title;
 
-             }
 
-             foreach ($da as $k => $v) {
 
-                 $ds[$k]['msgtype'] = 1;
 
-                 $ds[$k]['msgfromuid'] = Admin::user()->id;
 
-                 $ds[$k]['msgfrom'] = Admin::user()->username;
 
-                 $ds[$k]['msgtoname'] = $v['username'] ? $v['username'] : 'admin';
 
-                 $ds[$k]['msgtouid'] = $v['uid'] ? $v['uid'] : 0;
 
-                 if ($v['resume_title']) {
 
-                     $resume_title = '('.$v['resume_title'].')';
 
-                 } else {
 
-                     $resume_title = '';
 
-                 }
 
-                 $ds[$k]['message'] =  $remark ? '简历'.$resume_title.$stat.'<备注:'.$remark.'>' : '简历'.$resume_title.$stat;
 
-                 $ds[$k]['created_at'] = date('Y-m-d H:i:s', time());
 
-                 $ds[$k]['updated_at'] = date('Y-m-d H:i:s', time());
 
-             }
 
-             Pms::insert($ds);
 
-         }
 
-         if ($result) {
 
-             event_search_update(Resume::class, (string)implode(',', $arr), 'update');
 
-             $this->resumeSms($sms_id, $mobile);
 
-             admin_toastr('审核成功', 'success');
 
-         } else {
 
-             admin_toastr('审核失败', 'error');
 
-         }
 
-         return back();
 
-     }
 
-     /**
 
-      * CREAT 审核日志.
 
-      * @param $type
 
-      * @param $status
 
-      * @param $reason
 
-      * @param $audit_man
 
-      * return arr
 
-      */
 
-     public function auditReason($data)
 
-     {
 
-         AuditReason::insert($data);
 
-     }
 
-     public function resumeSms($sms_id, $mobile)
 
-     {
 
-         $SmsRule = SmsRule::where('alias', $sms_id)->first();
 
-         if (isset($SmsRule->status) && !empty($SmsRule->status)) {
 
-             if ($mobile) {
 
-                 foreach ($mobile as $mobiles) {
 
-                     $this->smsService->sendSms($mobiles, $sms_id, ['sitename'=>config('aix.system.site.site.site_name'),'sitedomain'=>config('aix.system.site.site.site_domain')]);
 
-                 }
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |