select('name')->where('id', $item->team_id)->first(); $item->team_name = isset($team->name) ? $team->name : ''; } return view('admin/adminall', ['admin' => $admin]); } /** * @return \Illuminate\View\View */ public function teamindex() { $team = DB::table('teams')->get(); $team = json_decode(json_encode($team),true); return view('admin/teamindex', ['team' => $team]); } /** * @return \Illuminate\View\View */ public function create() { $roles = Role::select('id','name')->groupBy('name')->get(); $team = DB::table('teams')->get(); $team = json_decode(json_encode($team),true); return view('admin/admincreate', ['roles' => $roles, 'team'=>$team]); } /** * @param Request $request * @return \Illuminate\Http\RedirectResponse */ public function store(Request $request) { $this->validate($request, [ 'username' => 'required|unique:admin', 'password' => 'required|confirmed', 'password_confirmation' => 'required', 'roles' => 'required', 'phone' => 'regex:/^1[3456789]\d{9}$/', ], [ 'username.required' => '登录名称不能为空', 'username.unique' => '登录名称已存在', 'password.required' => '密码不能为空', 'password_confirmation.required' => '再次输入密码为空', 'password.confirmed' => '两次密码不一致', 'roles.required' => '请至少选择一个角色', 'phone.regex' => '手机号格式有误', ]); $admin = new Admin(); $admin->username = $request->input('username'); $admin->password = bcrypt($request->input('password')); $admin->realname = $request->input('realname'); $admin->team_id = $request->input('team_id'); $admin->wx_id = $request->input('wx_id'); $admin->phone = $request->input('phone'); $admin->is_use = 1; $admin->save(); $user_id = $admin->id; $roles = $request->input('roles'); foreach($roles as $v){ $admin_role = new AdminRole(); $admin_role->user_id = $user_id; $admin_role->role_name = $v; $admin_role->create_time = time(); $admin_role->save(); } return redirect('/admin/admin/all')->with('info', '添加管理员成功'); } /** * @param $id * @return \Illuminate\View\View */ public function edit($id) { $admin = Admin::findOrFail($id);//帐号密码信息 $admin_roles = AdminRole::select('role_name')->where('user_id', '=', $id)->get();//角色信息 $roles = Role::select('id','name')->groupBy('name')->get(); $team = DB::table('teams')->get(); $team = json_decode(json_encode($team),true); return view('admin/adminedit', ['roles' => $roles, 'admin' => $admin, 'admin_roles' => $admin_roles, 'team'=>$team]); } /** * @param Request $request * @return \Illuminate\Http\RedirectResponse */ public function update(Request $request) { $this->validate($request, [ 'password' => 'confirmed', 'roles' => 'required', 'phone' => 'regex:/^1[3456789]\d{9}$/', ], [ 'password.confirmed' => '两次密码不一致', 'roles.required' => '请至少选择一个角色', 'phone.regex' => '手机号格式有误', ]); $password = $request->input('password'); $user_id = $request->input('id'); $admin = Admin::findOrFail($user_id); $admin->realname = $request->input('realname'); $admin->team_id = $request->input('team_id'); $admin->wx_id = $request->input('wx_id'); $admin->phone = $request->input('phone'); if($password){ $admin->password = bcrypt($password); } $admin->save(); $roles = $request->input('roles'); $admin_role = new AdminRole(); $admin_role->where('user_id', '=', $user_id)->delete(); foreach($roles as $v){ $admin_role = new AdminRole(); $admin_role->user_id = $user_id; $admin_role->role_name = $v; $admin_role->create_time = time(); $admin_role->save(); } return redirect('/admin/admin/all')->with('info', '修改管理员成功'); } /** * @return \Illuminate\View\View */ public function teamcreate() { return view('admin/teamcreate'); } /** * @param Request $request * @return \Illuminate\Http\RedirectResponse */ public function teamstore(Request $request) { $this->validate($request, [ 'name' => 'required|unique:teams', ], [ 'name.required' => '团队名称不能为空', 'name.unique' => '团队名称已存在', ]); $data = array(); $data['name'] = $request->input('name'); $res = DB::table('teams')->insert($data); return redirect('/admin/admin/teamindex')->with('info', '添加成功'); } /** * @param $id * @return \Illuminate\View\View */ public function teamedit($id) { $team = DB::table('teams')->where('id', $id)->first(); $team = json_decode(json_encode($team),true); return view('admin/teamedit', ['team' => $team]); } /** * @param Request $request * @return \Illuminate\Http\RedirectResponse */ public function teamupdate(Request $request) { $this->validate($request, [ 'name' => 'required|unique:teams', 'id' => 'required' ], [ 'name.required' => '团队名称不能为空', 'name.unique' => '团队名称已存在', ]); $id = (int)$request->input('id'); $data = array(); $data['name'] = $request->input('name'); $res = DB::table('teams')->where('id', $id)->update($data); return redirect('/admin/admin/teamindex')->with('info', '修改成功'); } }