thinkphp增删改查

//前台页面
<button style="float: right" class="btn btn-info" onclick="curd('{:U('Admin/add')}')"><i class="fa fa-plus"></i>添加</button>


<td class="col-md-3"> <button class="btn btn-info btn-xs" type="button" οnclick="curd('{:U('Admin/detail',array('id'=>$a['id']))}')"><i class="fa fa-eye"></i>详情</button> <button class="btn btn-info btn-xs" type="button" οnclick="curd('{:U('Admin/add',array('id'=>$a['id']))}')"><i class="fa fa-pencil-square-o"></i>编辑</button> <button class="btn btn-info btn-xs" type="button" οnclick="curd('{:U('Admin/del',array('id'=>$a['id']))}')"><i class="fa fa-times"></i>删除</button></td>

 

 

<script>
    function curd(url) {
        location.href=url;
    }
</script>

//后台Controller

 

 

 

public function add(){
    $id=I('get.id');
    $sdept=D('Sdept');
    $rel=$sdept->findASdept();
    if($id){
        $sub="修改";
        $admin=D('Admin');
        $re=$admin->findu($id);
        if(is_array($re)&&is_array($rel)){
            $this->assign('meta_title','管理员管理');
            $this->assign('role',$this->getAuth());
            $this->assign('sub',$sub);
            $this->assign('sdept',$rel);
            $this->assign('user',$re);
            $this->display('add');
        }else{
            $this->error('id失败',U('Admin/add'),1);
        }
    }else{
        $sub="添加";
        $this->assign('role',$this->getAuth());
        $this->assign('sdept',$rel);
        $this->assign('meta_title','管理员管理');
        $this->assign('sub',$sub);
        $this->display('add');
    }

}


public function updata(){
    $id=I('post.id');
    $users=D('Admin');
    $data=I('post.');
    foreach ($data as $key=>$val){
        if($val==''){
            unset($data[$key]);
        }
    }
    $file=$_FILES;
    if($file['file']['error']==0){
        $setting = array(
            'maxSize'=>3145728,
            'savePath' =>'picture/',
            'saveName'=>array('uniqid',''),
            'exts'=>array('jpg', 'gif', 'png', 'jpeg'),
            'autoSub'=>true,
        );
        $picture = D('Upload');
        $info=$picture->upload($file,$setting);
        if(is_array($info)){
            $data['photo_id']=$info['file']['savepath'].$info['file']['savename'];
            $flag=true;
        }else
            $this->error('头像修改失败,请重新修改',U(' Admin/add'),1);
    }elseif ($file['file']['error']==4){
        $flag=true;
    }else{
        $this->error('图片上传失败,请重新上传',U('Info/updata'),1);
    }
    if($flag){
        if ($id) {
            $re = $users->updata($data);
            if ($re) {
                $Auth=M('auth_group_access');
                $where='uid='.$id;
                $data1['group_id']=$data['role'];
                $rel=$Auth->where($where)->save($data1);
                if(!$rel){
                    $this->error('权限修改失败');
                }else{
                    $this->success('信息修改成功,查看管理员列表', U('Admin/index'), 1);
                }

            } else {
                $this->error('信息修改失败,请重新修改', U('Admin/add'), 1);
            }
        }else{
            $re = $users->addu($data);
            if ($re) {
                $Auth=M('auth_group_access');
                $data1['uid']=$re;
                $data1['group_id']=$data['role'];
                $rel=$Auth->add($data1);
                if(!$rel){
                    $this->error('添加权限出错');
                }else{
                    $this->success('添加成功,查看详细信息', U('Admin/index'), 1);
                }

            } else {
                $this->error('添加信息失败,请重新修改', U('Admin/add'), 1);
            }
        }
    }
}


public function detail(){
    $id=I('get.id');
    $users=D('Admin');
    $sdept=D('Sdept');
    $re = $users->findu($id);
    if(is_array($re)){
        $rel=$sdept->findOSdept( $re['sdept']);
        $app=$this->getPage('Appointment',array('did'=>$id));
        if(is_array($rel)){
            $re['sdept']=$rel['name'];
            $this->assign('meta_title','管理员管理');
            $this->assign('user',$re);
            $this->assign('record',$app);
            $this->display('detail');
        }
    }else{
        $this->error('id失败',U('Index/index'),1);
    }
}


public function del(){
    $id=I('get.id');
    $users=D('Admin');
    $re=$users->del($id);
    if(!$re){
        $this->error('删除人员信息出错!');
    }else{
        $Auth=M('auth_group_access');
        $where='uid='.$id;
        $re1=$Auth->where($where)->delete();
        if(!$re1){
            $this->error('删除权限出错');
        }else {
            $this->success('删除成功!');
        }
    }
}


public function getAuth(){
    $Auth=M('auth_group');
    return $Auth->where('status = 1')->select();
}


//Model

 

 

class AdminModel extends RelationModel {

    /*自动验证*/
    protected $_validate = array(
        /*验证规则*/
    );

    /* 自动完成规则 */
    protected $_auto = array(
        /*完成规则*/
        array('password','md5',3,'function')
    );
    /* 字段映射 */
    protected $_map = array(
        'zhanghao' =>'tec_id'
    );
    protected $_link = array(
        'AuthGroupAccess'=>array(
            'mapping_type'=>self::HAS_ONE,
            'foreign_key'=>'uid',
            'mapping_fields'=>'group_id',
            'as_fields'=>'group_id:role_id'
        ),
    );

   
    public function login($user,$pass){
        $user=$this->where(array('tec_id'=>$user,'status'=>1))->field('id,name,tec_id,password,photo_id')->find();
        if($user){
            if($user['password']==md5($pass)){
                $user['type']='tec';
                $user['zhanghao']=$user['tec_id'];
                unset($user['password']);
                $user['role']=D(C('AUTH_CONFIG.AUTH_GROUP_ACCESS'))->getRole($user['id']);
                $re=cookiearr('user',$user);
                if($re){
                    return true;
                }
            }
        }
        return false;
    }
  
    public function getInfo($id,$field){
        return $this->relation('AuthGroupAccess')->field($field)->find($id);
    }

    public function findu($id){
        $user=$this->table('admin a')->where(array('a.id'=>$id,'a.status'=>1))->field('a.*,b.group_id as groupid')->join('__AUTH_GROUP_ACCESS__ b on a.id = b.uid')->find();
        if($user){
            $user['zhanghao']=$user['tec_id'];
            return $user;
        }else
            return false;
    }
  
    public function findAll(){
        $user=$this->table('admin a')->where(array('a.status'=>1))->field('a.*,b.name as sdeptname,c.group_id as groupid')->join('__SDEPT__ b ON a.sdept = b.id')->join('__AUTH_GROUP_ACCESS__ c on a.id = c.uid')->relation(true)->select();
        if($user){
            return $user;
        }else
            return false;
    }
  
    public function updata($data){
        $this->create($data);
        if(is_null($this->data['password'])){
            unset($this->data['password']);
        }
        $re=$this->save();
        if($re){
            return true;
        }else
            return false;
    }

   
    public function addu($data){
        $this->create($data);
        $re=$this->add();
        if($re){
            return $re;
        }else
            return false;
    }

  
    public function del($id){
        $re=$this->where(array('id'=>$id,'status'=>1))->delete();
        if($re){
            return true;
        }else
            return false;
    }
  
    public function getRole($role_id=null){
        $admin=$this->findAll();
        if(!is_null($role_id)){
            foreach($admin as $key=>$val){
                if($val['role_id']!=$role_id){
                    unset($admin[$key]);
                }
            }
        }
        return $admin;
    }
}

 

class UploadModel extends Model {
    public function upload($files, $setting, $driver = 'Local', $config = null){
        $Upload = new Upload($setting, $driver, $config);
        $info = $Upload->upload($files);
        if($info){
            return $info;
        } else {
            return false;
        }
    }

}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值