hook = true;
		$group = Dever::param('group',$data);
		// $id = Dever::param('id',$data);
		if ($group) {
			$res = Dever::db('work/branch')->find(array('group_id'=>$group[0]));
			if ($res && isset($id['where_id']) && $id['where_id']){
				if ($res['id'] !=  $id['where_id']){
					Dever::alert('部门已存在');
				} 
			} elseif ($res) {
				Dever::alert('部门已存在');
			}
			
		}
	}
	public function updateBranch($id,$name,$data)
	{
		// Dever::config('base')->hook = true;
		$group = Dever::param('group',$data);
		if($group) {
			$where['where_id'] = $id;
			$where['group_id'] = $group[0];
			Dever::db('work/branch')->update($where);
		}
	}
    public function insertAppoint($id,$name,$data)
    {
        $admin = Dever::load("manage/auth.info");
        $info_id = Dever::param('info_id',$data);
        if ($info_id) {
            $info = Dever::db('work/info')->find($info_id);
            // print_R($info);die;
            // if ($info['appoint_id'] != $admin['id'] && $admin['id'] != $info['audit_admin']) {
            //     Dever::alert('reload');
            // }
            if ($info['status']>=3){
                Dever::alert('reload');
            }
        }
    }
	
	public function updateAppoint($id,$name,$data)
	{
		Dever::config('base')->hook = true;
		$info_id = Dever::param('info_id',$data);
		$branch = Dever::param('admin_id',$data);
		if ($info_id ) {
			$info = Dever::db('work/info')->find($info_id);
			$admin = Dever::load('manage/auth.info');
			$admin_id = $info['audit_admin'];
			if ($info['audit_admin'] != $admin['id']) {
				$admin_id = $admin['id'];
			}
			if($info) {
				if ($branch) {
					$i['where_id'] = $info['id'];
					// if ($info['group']) {
					// 	 $group = $info['group'].',';
					// } else {
						$group = $branch[0];
					// }
					if (isset($branch[1]) && $branch[1]) {
						$i['appoint_id'] = $branch[1];
					}
					
					$i['group'] = $group;
					$i['zdate'] = time();
					$i['chdate'] = time();
					$i['status'] = 2;
					if ($i) {
						Dever::db('work/info')->update($i);
					}
				}
				$w['info_id'] = $info['id'];
				$w['admin_id'] = $admin_id;
				$w['appoint_id'] = $id;
				Dever::db('work/info_log')->insert($w);
			}
			if ($branch) {
				// $data = Dever::db('work/branch')->find(array('group_id'=>$branch[0]));
				// if ($data) {
				// 	$where['where_id'] = $data['id'];
				// 	$where['num'] = $data['num'] +1;
				// 	Dever::db('work/branch')->update($where);
				// }
				$wh['where_id'] = $id;
				$wh['group'] = $branch[0];
                if(isset($branch[1]) && $branch[1]) {
                    $wh['admin'] = $branch[1];
                }
				Dever::db('work/appoint')->update($wh);
			}
		}
	}
	#指派人
	 private $default = array
    (
        'value' => -1,
        'name' => '不选择',
    );
    private $search_default = array
    (
        'value' => -1,
        'name' => '部门',
    );
	public function get_api()
    {
        $type = Dever::input('type', 2);
        # 联动总数,默认到部门
        $level_total = Dever::input('level_total', 1);
        # 当前联动级别
        $level_num = Dever::input('level_num');
        # 一般为id
        $level_id = Dever::input('level_id');
        # 是否是搜索列表页
        $level_search = Dever::input('level_search');
        if ($level_search) {
            $default = $this->search_default;
            if ($level_num == 1) {
                $default['name'] = '部门选择';
            } elseif ($level_num == 2) {
                $default['name'] = '组员选择';
            } 
        } else {
            // echo 11;
            $default = $this->default;
        }
        // if ($level_id < 0) {
        //     Dever::alert('error');
        // }
        if ($level_num == 1) {
            $data = $this->group();
        } elseif ($level_num == 2) {
        	$data = $this->group_admin($level_id, $type);
        } 
        if (!$data) {
            Dever::alert('error');
        }
        if ($level_search || $level_num >= 1) {
            array_unshift($data, $default);
        }
        if ($level_num == 2) {
            unset($data[0]);
        }
        $result['level_total'] = $level_total;
        $result['list'] = $data;
        return $result;
    }
    public function group(){
    	$data = Dever::load('manage/company')->getGroup();
    	foreach ($data as $k => $v) {
    		$data[$k]['value'] = $v['id'];
    	}
    	return $data;
    }
    public function group_admin($level_id, $type = 1){
        $admin_id = false;
        if ($type == 2) {
            $info = Dever::db('work/branch')->find(array('group_id' => $level_id));
            if ($info) {
                $temp = explode(',', $info['group']);
                $admin_id = $temp[1] . ',' . $info['coor'];
            }
        }
        
    	$data = Dever::load('manage/company')->getAdmin($level_id, false, $admin_id);
    	foreach ($data as $k => $v) {
    		foreach ($v as $k1 => $v1) {
    			$data[$k]['value'] = $v['id'];
    			$data[$k]['name'] = $v['username'];
    		}
    	}
    	return $data;
    }
    #问题
     private $cdefault = array
    (
        'value' => -1,
        'name' => '不选择',
    );
    private $search_cdefault = array
    (
        'value' => -1,
        'name' => '问题类型描述',
    );
    #问题类型联动
    public function getCate_api()
    {
        # 联动总数,默认到部门
        $level_total = Dever::input('level_total', 1);
        # 当前联动级别
        $level_num = Dever::input('level_num');
        # 一般为id
        $level_id = Dever::input('level_id');
        # 是否是搜索列表页
        $level_search = Dever::input('level_search');
        if ($level_search) {
            $default = $this->search_cdefault;
            if ($level_num == 1) {
                $default['name'] = '问题分类名称';
            } elseif ($level_num == 2) {
                $default['name'] = '问题类型描述';
            } 
        } else {
            $default = $this->cdefault;
        }
        if ($level_num == 1) {
            $data = Dever::db('work/q_cate')->getSearchAll();
        } elseif ($level_num == 2) {
            $data = Dever::db('work/question')->getSearchAll(array('cate_id'=>$level_id));
        } 
        if (!$data) {
            Dever::alert('error');
        }
        if ($level_search || $level_num >= 1) {
            array_unshift($data, $default);
        }
        $result['level_total'] = $level_total;
        if ($level_num == 2) {
            unset($data[0]);
        }
        $result['list'] = $data;
        return $result;
    }
    public function show_api()
    {
    	$info_id = Dever::input('id');
    	$data['info'] = Dever::db('work/info')->find($info_id);
    	$ztime = $data['info']['cdate'];
    	$data['info']['cdate'] = date('Y-m-d H:i',$data['info']['cdate']);
    	$priority = Dever::db('work/priority')->find($data['info']['priority_id']);
    	$data['info']['priority_name'] = $priority['name'];
    	$data['info']['color'] = $priority['color'];
    	$admin = Dever::db('manage/admin')->find($data['info']['audit_admin']);
        // print_R($admin);die;
        $admin['group'] = explode(',',$admin['group']);
        foreach ($admin['group'] as $k => $v) {
            $group = Dever::db('manage/group')->find(array('company_id'=>$data['info']['company_id'],'id'=>$v));
        }
    	$data['info']['admin'] = $group['name'].'   /   '.$admin['username'];
		if ($data['info']['source']) {
			$source = Dever::db('work/q_source')->find($data['info']['source']);
			if ($source) {
				$data['info']['source_name'] = $source['name'];
			}
		} 
        if ($data['info']['branch_id']) {
            $branch_id = explode(',',$data['info']['branch_id']);
            if (isset($branch_id[0]) && $branch_id[0]>0) {
                $group = Dever::db('manage/group')->find($branch_id[0]);
                $data['info']['branch_name'] = '指派人:'.$group['name'];
            }
            if (isset($branch_id[1]) && $branch_id[1]>0) {
                $admin = Dever::db('manage/admin')->find($branch_id[1]);
                $data['info']['branch_name'] = $data['info']['branch_name'].'  /   '.$admin['username'];
            }
        }
		
		$data['info']['role_name'] = '';
        $data['info']['idcard'] = '';
		$user = Dever::db('work/user')->find(array('mobile'=>$data['info']['mobile']));
		if ($user) {
			$data['info']['user_name'] = $user['name'];
			$data['info']['mobile'] = $user['mobile'];
            if(isset($user['idcard']) && $user['idcard']) {
                $data['info']['idcard'] = '身份证号码:'.$user['idcard'];
            }
			
			if ($user['agent_uid'] && $user['agent_uid']>0) {
				$member = Dever::db('agent/member')->find($user['agent_uid']);
				if ($member && $member['role']) {
					$role = Dever::db('setting/role')->find($member['role']);
					if ($role) {
						$data['info']['role_name'] = '代理商角色:'.$role['name'];
					}
				}
			}
		}
		$data['info']['cate_name'] = '';
        $data['info']['product_name'] = '';
         $data['info']['question_name'] ='';
		if ($data['info']['cate_id']) {
            $cate_id = explode(',',$data['info']['cate_id']);
            if (isset($cate_id[0]) && $cate_id[0]) {
                $cate = Dever::db('work/q_cate')->find($cate_id[0]);
                if ($cate) {
                    $data['info']['cate_name'] = $cate['name'];
                }
            } else {
                $cate = array();
            }
            if (isset($cate_id[1]) && $cate_id[1]) {
                $question = Dever::db('work/question')->find($cate_id[1]);
                if ($question) {
                    $product = Dever::db('work/product')->find($question['product_id']);
                    if ($product) {
                        $data['info']['product_name'] = $product['name'];
                    }
                    $data['info']['question_name'] = $question['name'];
                }
            } else {
                $question = array();
            }
			
			if ($data['info']['cate_name'] && $data['info']['question_name']) {
				$data['info']['cate_name'] = $data['info']['cate_name'].'      /       '.$data['info']['question_name'];
			}
		}
		if ($data['info']['pic']) {
			$data['info']['pic'] = explode(',',$data['info']['pic']);
		}
		$data['info_log'] = Dever::db('work/info_log')->getAll(array('info_id'=>$info_id));
		foreach ($data['info_log'] as $k => $v) {
            $data['info_log'][$k]['admin_group'] = '';
			$data['info_log'][$k]['cdate'] = date('Y-m-d H:i:s',$v['cdate']);
			$admin = Dever::db('manage/admin')->find($v['admin_id']);
            $admin['group'] = explode(',',$admin['group']);
            if (isset($admin['group']) && $admin['group']) {
                foreach ($admin['group'] as $k1 => $v1) {
                    $admin_group = Dever::db('manage/group')->find(array('company_id'=>$data['info']['company_id'],'id'=>$v1));
                    if ($admin_group) {
                        $data['info_log'][$k]['admin_group'] = $admin_group['name'].'   /   '.$admin['username'];
                    }
                }
            }
            
    		$appoint = Dever::db('work/appoint')->find($v['appoint_id']);
    		if (isset($appoint) && $appoint) {
    			$data['info_log'][$k]['desc'] = $appoint['desc'];
    			$appoint_admin = explode(',',$appoint['admin_id']);
                if (isset($appoint_admin[0])) {
                    $appoint_group = Dever::db('manage/group')->find($appoint_admin[0]);
                } else {
                    $appoint_group = array();
                }
                if (isset($appoint_admin[1]) && $appoint_admin[1]) {
                    $appoint_ad = Dever::db('manage/admin')->find($appoint_admin[1]);
                } else {
                    $appoint_ad = array();
                }
        		
        		
        		if ($appoint_group && $appoint_ad) {
        			$data['info_log'][$k]['appoint_admin'] = '指派人:'. $appoint_group['name'].'   /   '.$appoint_ad['username'];
        		}
    		}
    		
    		$data['info_log'][$k]['image'] = '';
			if ($appoint['video']) {
				$data['info_log'][$k]['video'] = $appoint['video'];
			}
			if ($appoint['pic']) {
				$data['info_log'][$k]['pic'] = explode(',',$appoint['pic']);
			}
		}
		$data['s_zhi'] = array();
		$data['s_zhi']['cdate'] = date('Y-m-d H:i',time());
		$data['zhi'] = Dever::db('work/appoint')->getAll(array('info_id'=>$info_id));
		foreach ($data['zhi'] as $k => $v) {
			$time = $v['cdate'] - $ztime;
			$data['zhi'][$k]['time'] = floor($time%86400/3600).'小时'.floor($time%3600/60).'分钟'.floor($time%60).'秒';
			$admin = explode(',',$v['admin_id']);
            if (isset($admin[0]) && $admin[0]) {
                $group = Dever::db('manage/group')->find($admin[0]);
            } else {
                $group = array();
            }
			if (isset($admin[1]) && $admin[1]) {
                $adm = Dever::db('manage/admin')->find($admin[1]);
            } else {
                $adm = array();
            }
        	if ($group && $admin) {
                $data['zhi'][$k]['admin'] = $group['name'].'   /   '.$adm['username'];
            } else {
                $data['zhi'][$k]['admin'] = '';
            }
        	
        	$data['zhi'][$k]['cdate'] = date('Y-m-d H:i',$v['cdate']);
        	$info_log = Dever::db('work/info_log')->find(array('appoint_id'=>$v['id']));
        	if ($info_log && $info_log['fdate']) {
        		$data['zhi'][$k]['finish'] = '完成关闭';
        		$data['zhi'][$k]['time'] ='';
        	} else {
        		if ($info_log && $info_log['cloce_date']) {
        			$data['zhi'][$k]['finish'] = '取消关闭';
        			$data['zhi'][$k]['time'] ='';
        		} else {
        			$data['zhi'][$k]['finish'] = '';
        			$data['zhi'][$k]['time'] = floor($time%86400/3600).'小时'.floor($time%3600/60).'分钟'.floor($time%60).'秒';
        		}
        	}
		}
        $data['jilu'] = array();
        if (!$data['zhi']) {
            if ($data['info']['fdate']) {
                // $time = $data['info']['fdate']-$ztime;
                $data['jilu']['time'] = date('Y-m-d H:i',$data['info']['fdate']);
                if ($data['info']['status'] == 3) {
                    $data['jilu']['finish'] = '完成关闭';
                } elseif ($data['info']['status'] == 4) {
                     $data['jilu']['finish'] = '取消关闭';
                }
             }
        }
        if ($data['info']['status'] < 3) {
            $data['hui'] = Dever::url('project/database/update?project=work&table=appoint&search_option_info_id='.$info_id, 'manage');
        } 
    	return Dever::render('index', $data);
    }
    
    public function back_api(){
    	$mobile = Dever::input('mobile');
    	
        $data = array();
        if ($mobile) {
        	if(!preg_match('/^1[3|5|6|7|8|9]\d{9}$/', $mobile)){
        		// Dever::alert('代理商手机号不正确');
            return  '代理商手机号不正确';
        }
        	$user = Dever::db('work/user')->find(array('mobile'=>$mobile));
        	if (!$user) {
                $data['user']['mobile'] = $mobile;
                $data['user']['type'] = '无系统关联关系';
                $data['user']['work'] = Dever::url('project/database/update?project=work&table=info&menu=work&search_option_mobile='.$mobile, 'manage');
                // print_R($data);die;
        		 return Dever::render('back', $data);
        	}
        	if ($user){
        		$table = array();
        		$user['role_name'] = '';
        		$user['type'] = '';
        		if ($user['agent_uid'] && $user['agent_uid'] > 0) {
        			$member = Dever::db('agent/member')->find($user['agent_uid']);
        			
        			if ($member['role']) {
        				$role = Dever::db('setting/role')->find($member['role']);
        				if ($role) {
        					$user['role_name'] = $role['name'];
         				}
        			}
        			$user['type'] = '代理商';
        			if ($user['option_uid'] && $user['option_uid']>0) {
        				$user['type'] = $user['type'].'
期权账户';
        			}
        			if ($user['passport_uid'] && $user['passport_uid']>0) {
        				$user['type'] = $user['type'].'
小程序';
        			}
                    $user['type'] = $user['type'].'
客服系统用户';
	                
        		} else {
        			if ($user['option_uid'] && $user['option_uid']>0) {
        				$user['type'] = '期权账户';
        				if ($user['passport_uid'] && $user['passport_uid']>0) {
	        				$user['type'] = $user['type'].'
小程序';
	        			}
                        $user['type'] = $user['type'].'
客服系统用户';
        			} else {
        				if ($user['passport_uid'] && $user['passport_uid']>0) {
	        				$user['type'] = '小程序';
                            $user['type'] = $user['type'].'
客服系统用户';
	        			} else {
                            $user['type'] = '客服系统用户';
	        				// $user['type'] = '无系统关联关系';
	        			}
        			}
        		}
        		if ($user['agent_uid']) {
        			$user['order'] = Dever::url('project/database/list?project=agent&table=order&p=1&search_option_mid='.$user['agent_uid'], 'manage');
        			$user['agent'] = Dever::url('project/database/list?project=agent&table=member_area&mid='.$user['agent_uid'].'&page_type=1&search_auth=1&page_type=1&jump=19','manage');
        			$user['soft'] = Dever::url('project/database/list?project=agent&table=soft_cash&search_option_mid='.$user['agent_uid'], 'manage');
        		}
        		if ($user['option_uid']) {
        			$user['option'] = Dever::url('project/database/list?project=option&table=member&search_option_id='.$user['option_uid'], 'manage');
        		}
        		$user['work'] = Dever::url('project/database/update?project=work&table=info&menu=work&search_option_mobile='.$mobile, 'manage');
        		$data['user'] = $user;
        		$data['info'] = Dever::db('work/info')->getHAll(array('mobile'=>$mobile));
        		$config = Dever::db('work/info')->config['config_status'];
        		foreach($data['info'] as $k => $v) {
        			$data['info'][$k]['cdate'] = date('Y-m-d H:i',$v['cdate']);
        			$data['info'][$k]['fdate'] = date('Y-m-d H:i',$v['fdate']);
        			$cate = Dever::db('work/q_cate')->find(array('id'=>$v['cate_id']));
        			$data['info'][$k]['cate_name'] = $cate['name'];
        			$you = Dever::db('work/priority')->find(array('id'=>$v['priority_id']));
        			$data['info'][$k]['you'] = $you['name'];
                    $v['branch_id'] = explode(',',$v['branch_id']);
                    if (isset($v['branch_id'][0]) && $v['branch_id'][0]>0){
                        $group = Dever::db('manage/group')->find(array('id'=>$v['branch_id'][0],'company_id'=>$v['company_id']));
                        $data['info'][$k]['branch'] = $group['name'];
                    }
                    if (isset($v['branch_id'][1]) && $v['branch_id'][1]>0){
                        $admin = Dever::db('manage/admin')->find(array('id'=>$v['branch_id'][1]));
                        $data['info'][$k]['branch'] = $group['name'].'/'.$admin['username'];
                    }
        			
        			
        			$data['info'][$k]['status'] = Dever::status($config,$v['status']);
        			$data['info'][$k]['url'] = Dever::url('lib/appoint.show&id='.$v['id'],'work');
        			if ($v['status']<3) {
        				$data['info'][$k]['zhipai'] =  Dever::url('project/database/update?project=work&table=appoint&search_option_info_id='.$v['id'], 'manage');
        			} else {
        				$data['info'][$k]['zhipai'] = '';
        			}
        			
        		}
        		
            }
            $data['page'] = Dever::page("current");
        }
        return Dever::render('back', $data);
    }
    public function callback_api(){
        $mobile = Dever::input('phone');
        $type = Dever::input('type');
        
        $data = array();
        if ($mobile) {
            $state = 2;
            if(!preg_match('/^1[3|5|6|7|8|9]\d{9}$/', $mobile)){
                // Dever::alert('代理商手机号不正确');
                $state = 1;
                if ($type == 1) {
                    return  '手机号不正确';
                }
            }
            if ($state == 1) {
                $data = array();
                return Dever::render('callback', $data); 
            }
            $data['user']['title'] = '电话号码';
            $data['user']['mobile'] = $mobile;
            $data['user']['username'] = $mobile;
            $member = Dever::db('agent/member')->find(array('mobile'=>$mobile));
            $option = Dever::db('option/member')->find(array('mobile'=>$mobile));
            $passport = Dever::db('passport/user')->find(array('mobile'=>$mobile));
            $work = Dever::db('work/user')->find(array('mobile'=>$mobile));
            $user = array();
            $data['user']['order'] = '';
            $data['user']['agent'] = '';
            $data['user']['soft'] = '';
            $data['user']['option'] = '';
            $user['role'] = '';
            if (!$member && !$option && !$passport && !$work) {
                 $user['name'] = $mobile;
                 $user['role'] = '';
                 $user['type'][] = '无系统关联关系';
            } else {
                if ($work) {
                    $user['name'] = $work['name'].'
'.$mobile;
                    $user['type'][] = '客服系统用户';
                }
                if ($option) {
                    $user['name'] = $member['name'].'
'.$mobile;
                    $user['type'][] = '期权账户';
                    $data['user']['option'] = Dever::url('project/database/list?project=option&table=member&search_option_id='.$option['id'], 'manage');
                    $data['user']['option'] = Dever::url('home?link=' . urlencode( $data['user']['option']) . '&group=8&parent_menu=menu_279&menu=menu_279.menu_291' , 'manage');
                }
                if ($passport) {
                    $user['name'] = $member['username'].'
'.$mobile;
                    $user['type'][] = '小程序用户';
                }
                if ($member) {
                    if ($member['role']) {
                        $role = Dever::db('setting/role')->find($member['role']);
                        if ($role['name']) {
                            $role_name = '
'.$role['name'];
                        }
                        $user['role'] =  '/角色';
                    } else {
                        $role_name = '';
                        $user['role'] = '';
                    }
                    $user['name'] = $member['name'].'
'.$mobile.$role_name;
                    $user['type'][] = '代理商';
                    
                    $data['user']['order'] = Dever::url('project/database/list?project=agent&table=order&p=1&search_option_mid='.$member['id'], 'manage');
                    $data['user']['order'] = Dever::url('home?link=' . urlencode($data['user']['order']) . '&group=7&parent_menu=menu_240&menu=agent.order', 'manage');
                    $data['user']['agent'] = Dever::url('project/database/list?project=agent&table=member_area&mid='.$member['id'].'&page_type=1&search_auth=1&page_type=1&jump=19','manage');
                    $data['user']['agent'] = Dever::url('home?link=' . urlencode($data['user']['agent']) . '&group=7&parent_menu=menu_240&menu=agent.member' , 'manage');
                    $data['user']['soft'] = Dever::url('project/database/list?project=agent&table=soft_cash&search_option_mid='.$member['id'], 'manage');
                    $data['user']['soft'] = Dever::url('home?link=' . urlencode($data['user']['soft']) . '&group=7&parent_menu=menu_240&menu=agent.soft_cash' , 'manage');
                }
                $data['user']['title'] = '名称/电话号码' . $user['role'];
            }
            
            $data['user']['type'] = implode('
', $user['type']);
            $data['user']['username'] = $user['name'];
            
            $data['user']['work'] = Dever::url('project/database/update?project=work&table=info&menu=work&search_option_mobile='.$mobile, 'manage');
            $data['user']['work'] = Dever::url('home?link=' . urlencode($data['user']['work']) . '&group=10&parent_menu=work&menu=work.add' , 'manage');
            $data['user']['work_list'] = Dever::url('project/database/list&project=work&table=info&menu=work&search_option_state=1&search_api_mobile='.$mobile, 'manage');
            $data['user']['work_list'] = Dever::url('home?link=' . urlencode($data['user']['work_list']) . '&group=10&parent_menu=work&menu=work.info' , 'manage');
             return Dever::render('callback', $data); 
        }else {
            $data = array();
            return Dever::render('callback', $data); 
        }
    } 
}