input('page'))?intval($request->input('page')):1; //选项卡标识 type 1=>权限 2=>角色(global) $type = intval($request->input('type'))?intval($request->input('type')):''; //权限 //查询项目条数 $count1 = Permission::count(); if ($count1 > 1) { // 总页数 $pages1 = ceil($count1/config('page.paginate')['list_rows2']); }else{ // 总页数 $pages1 = 1; } //查询数据库信息 $permissions = Permission::paginate(config('page.paginate')['list_rows2']); //角色 //查询项目条数 $count2 = Role::groupBy('name')->get(); $count2 = count($count2); //echo '
';
        //var_dump($count2);die;
        if ($count2 > 1) {
            // 总页数
            $pages2 = ceil($count2/config('page.paginate')['list_rows2']);
        }else{
            // 总页数
            $pages2 = 1;
        }
        //查询数据库信息
        $roles = Role::select('id','name','create_time','update_time')->groupBy('name')->paginate(config('page.paginate')['list_rows2']);
        return view('admin/permissionindex', ['permissions' => $permissions, 'roles' => $roles,'count1'=>$count1,'page'=>$page,'count2'=>$count2,'pages1'=>$pages1,'pages2'=>$pages2,'type'=>$type]);
    }

    /**
     * @return \Illuminate\View\View
     */
    public function create()
    {
//        //一级菜单id
//        $ids  = Permission::where('parent_id',0)->lists('id');
//        $ids[]=0;
//        //二级菜单+一级菜单
//        $permission = Permission::whereIn('parent_id',$ids)->get();
        $permission = Permission::where('parent_id',0)->get();
        return view('admin/permissioncreate',['permission'=>$permission,'permission'=>$permission]);
    }


    /**
     * @param Request $request
     * @return \Illuminate\Http\RedirectResponse
     */
    public function store(Request $request)
    {
        $this->validate($request, [
            'name' => 'unique:permission|required',
            'description' => 'required',
            'parent_id' => 'required',
        ], [
            'name.required' => '权限名称不能为空',
            'name.unique' => '权限名称已经存在',
            'description.required' => '描述不能为空',
            'parent_id.required' => '父级权限id不能为空',
        ]);
        $permission = new Permission();
        $permission->name = $request->input('name');
        $permission->description = $request->input('description');
        $permission->parent_id = $request->input('parent_id');
        $permission->create_time = time();
        if($permission->save()){
            return redirect('/admin/permission/index?type=1')->with('info', '添加权限成功');
        }else{
            return back()->with('info', '添加失败');
        }
    }

    /**
     * @param $id
     * @return \Illuminate\View\View
     */
    public function edit($id)
    {
        $permission  = Permission::findOrFail($id);
//        //一级菜单id
//        $ids  = Permission::where('parent_id',0)->lists('id');
//        $ids[]=0;
//        //二级菜单+一级菜单
//        $permissions = Permission::whereIn('parent_id',$ids)->get();
        $permissions = Permission::where('parent_id',0)->get();
        return view('admin/permissionedit',['permission'=>$permission,'permissions' => $permissions]);
    }

    /**
     * @param Request $request
     * @return \Illuminate\Http\RedirectResponse
     */
    public function update(Request $request)
    {
        error_reporting(0);
        $this->validate($request, [
            'name' => 'required',
            'description' => 'required',
            'parent_id' => 'required',
        ], [
            'name.required' => '权限名称不能为空',
            'description.required' => '描述不能为空',
            'parent_id.required' => '父级权限id不能为空',
        ]);
        $permission = Permission::findOrFail($request->id);
        $permission->name = $request->input('name');
        $permission->description = $request->input('description');
        $permission->parent_id = $request->input('parent_id');
        if ($permission->update()) {
            return redirect('/admin/permission/index?type=1')->with('info', '修改权限成功');
        } else {
            return back()->with('info', '修改失败');

        }
    }
}