| 
					
				 | 
			
			
				@@ -0,0 +1,341 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<?php 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+namespace app\admin\controller; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use app\admin\AdminBaseController; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use app\common\model\TalentUserModel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use app\common\model\TalentWorkModel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use app\common\validate\TalentUserValidate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use think\App; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use think\exception\ValidateException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class Talent extends AdminBaseController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 用户列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function user() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return view('', [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'status_list' => TalentUserModel::STATUS, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function listUser() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $map   = $this->dealEqualInput(['status'], $this->dealLikeInput(['name', 'mobile', 'department'])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $list  = TalentUserModel::where($map) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ->limit(input('limit')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ->page(input('page')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ->append(['status_text'])->select(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $count = TalentUserModel::where($map)->count(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if ($count == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ajax_return(1, '未查询到数据'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        list_return($list, $count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function delUser() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $id = input('id/d', 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (empty($id)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ajax_return(1, '未查询到数据'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $check = TalentWorkModel::where('user_id', $id)->find(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!empty($check)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ajax_return(1, '该用户已有人才挂钩工作登记表记录,无法删除'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        TalentUserModel::destroy($id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ajax_return(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 编辑用户 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function userForm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $id   = input('id/d', 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $info = TalentUserModel::find($id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return view('', [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'info'        => $info, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'status_list' => TalentUserModel::STATUS, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function editUser() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $data = input('post.'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            validate(TalentUserValidate::class)->check($data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch (ValidateException $e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ajax_return(1, $e->getError()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //手机号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $check_mobile_where = [['mobile', '=', $data['mobile']]]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!empty($data['id'])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $check_mobile_where[] = ['id', '<>', $data['id']]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $check_mobile = TalentUserModel::where($check_mobile_where)->find(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!empty($check_mobile)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ajax_return(1, '手机号已存在'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //密码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (empty($data['id']) && empty($data['password'])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ajax_return(1, '请输入一个初始密码'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (empty($data['password'])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            unset($data['password']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $data['salt']     = rand_str(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $data['password'] = md5(md5($data['salt']) . $data['password']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (empty($data['id'])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            TalentUserModel::create($data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            TalentUserModel::update($data, ['id' => $data['id']]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ajax_return(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 用户导入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function importUser() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return view('public/import', [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'url'           => url('talent/importUserPost'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'last_table'    => 'lay-talent-user-table', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'template_file' => '/static/common/exl/talent_user.xls', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 用户导入提交 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function importUserPost() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $file_url = input('file_url/s', ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!file_exists($file_url)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ajax_return(1, '文件不存在'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //初始化数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $data = ['name', 'department', 'mobile']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $list = import_exl($file_url, $data, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (empty($list)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ajax_return(1, '请上传有数据的文件'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $empty_check = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'name'       => '姓名', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'department' => '部门', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'mobile'     => '手机号', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //获取手机号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $mobile_list       = array_column($list, 'mobile'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $mobile_check_list = TalentUserModel::where('mobile', 'in', $mobile_list)->column('mobile'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //错误判断 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $validate = \think\facade\Validate::rule('mobile', 'mobile'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $time     = time(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        foreach ($list as $k => $v) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            foreach ($empty_check as $key => $value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (empty($v[$key])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return ajax_return(1, '第' . ($k + 2) . '行的' . $value . '不能为空'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!$validate->check($v)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return ajax_return(1, '第' . ($k + 2) . '行的手机号格式不对'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!empty(in_array($v['mobile'], $mobile_check_list))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return ajax_return(1, '第' . ($k + 2) . '行的手机号已存在'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $list[$k]['salt']        = rand_str(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $list[$k]['password']    = md5(md5($list[$k]['salt']) . '123456'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $list[$k]['create_time'] = $list[$k]['update_time'] = $time; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        TalentUserModel::insertAll($list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ajax_return(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 挂钩工作登记表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function work() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return view(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function listWork() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $model = new TalentWorkModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $param = input('param.'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //姓名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!empty($param['name'])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $model = $model->where([ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ['user_id', 'in', function ($query) use ($param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $query->name('talent_user')->field('id')->where('name', 'like', "%{$param['name']}%")->buildSql(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //部门 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!empty($param['department'])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $model = $model->where([ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ['user_id', 'in', function ($query) use ($param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $query->name('talent_user')->field('id')->where('department', 'like', "%{$param['department']}%")->buildSql(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //手机号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!empty($param['mobile'])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $model = $model->where([ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ['user_id', 'in', function ($query) use ($param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $query->name('talent_user')->field('id')->where('mobile', 'like', "%{$param['mobile']}%")->buildSql(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //月份 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!empty($param['month'])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $model = $model->where('month', $param['month']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $list  = $model->with('user')->limit(input('limit'))->page(input('page'))->order('update_time desc')->select(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $count = $model->count(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if ($count == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ajax_return(1, '未查询到数据'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        list_return($list, $count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function workDetail() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $id = input('id', 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (empty($id)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return '数据错误,请关闭'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $info = TalentWorkModel::with('user')->where('id', $id)->find(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (empty($info)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return '数据错误,请关闭'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return view('', [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'info' => $info, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 未登记用户 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function unRegister() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $month = date('Y-m'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return view('', [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'month' => $month, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function unRegisterPost() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $month = input('month', ''); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (empty($month)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ajax_return(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $user_ids     = TalentUserModel::where('status', TalentUserModel::STATUS_NORMAL)->column('id'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $register_ids = TalentWorkModel::where('month', $month)->column('user_id'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $diff_id      = array_diff($user_ids, $register_ids); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $user         = TalentUserModel::where('id', 'in', $diff_id)->select(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $res = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        foreach ($user as $item) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $res[] = $item['name'] . "(" . $item['department'] . ")"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ajax_return(0, '', implode(',', $res)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 导出挂钩工作登记表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function exportWork() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $model = new TalentWorkModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $param = input('param.'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!empty($param['id'])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $model = $model->where('id', 'in', $param['id']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //姓名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!empty($param['name'])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $model = $model->where([ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ['user_id', 'in', function ($query) use ($param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $query->name('talent_user')->field('id')->where('name', 'like', "%{$param['name']}%")->buildSql(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //部门 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!empty($param['department'])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $model = $model->where([ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ['user_id', 'in', function ($query) use ($param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $query->name('talent_user')->field('id')->where('department', 'like', "%{$param['department']}%")->buildSql(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //手机号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!empty($param['mobile'])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $model = $model->where([ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ['user_id', 'in', function ($query) use ($param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $query->name('talent_user')->field('id')->where('mobile', 'like', "%{$param['mobile']}%")->buildSql(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //月份 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!empty($param['month'])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $model = $model->where('month', $param['month']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $list = $model->with('user')->order('update_time desc')->select(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        foreach ($list as $v) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $v['user_name']       = $v['user']['name']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $v['user_department'] = $v['user']['department']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $v['user_mobile']     = $v['user']['mobile']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $v['contact_text']    = implode(',', $v['contact']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $v['cate_text']       = implode(',', $v['cate']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $xlsCell = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ['user_name', '姓名'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ['user_department', '部门'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ['user_mobile', '手机号'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ['month', '月份'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ['should_num', '应挂钩人数'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ['new_num', '本月新增人数'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ['unfinished_num', '未完成挂钩人数'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ['reason', '未挂钩联系原因'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ['consult_num', '本月回答咨询次数'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ['contact_text', '联系方式'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ['cate_text', '咨询问题类别'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ['description', '具体问题描述及解决措施描述'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ['assist', '需协调事项说明'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ['update_time', '填表时间'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        export_exl("挂钩工作登记表", $xlsCell, $list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |