Commit 1c8ced77 authored by gxx's avatar gxx

团队 转让团队

parent b052b96e
...@@ -13,10 +13,12 @@ interface GroupServiceContract ...@@ -13,10 +13,12 @@ interface GroupServiceContract
{ {
public function add($creator_id,$name,$brief,$logo,$status); public function add($creator_id,$name,$brief,$logo,$status);
public function delete($id); public function delete($id);
public function update($group_id,$owner_id,$name,$logo,$brief,$status); public function update($group_id,$name,$logo,$brief,$status);
public function transfer($group_id,$owner_id); public function transfer($group_id,$owner_id);
public function get($group_id); public function get($group_id);
public function getAll(); public function getAll($page);
public function ajax($name);
} }
\ No newline at end of file
<?php
namespace App\Http\Controllers;
use App\Contracts\GroupServiceContract;
use App\Util\Message;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
class GroupController extends Controller
{
public $mGroup;
public function __construct(GroupServiceContract $group)
{
$this->mGroup = $group;
}
public function getAll()
{
$groups= $this->mGroup->getAll(2);
if (count($groups) > 0){
return view('admin/group/grouptables',compact('groups'));
}
return Message::makeError('查找失败');
}
public function get(Request $request)
{
$id = $request->id;
$groups = $this->mGroup->get($id);
if (count($groups) > 0){
return view('admin/group/groupinformation',compact('groups'));
}
return Message::makeError('查找失败');
}
public function updatePage(Request $request)
{
$id = $request->id;
$group = $this->mGroup->get($id);
if (count($group) > 0){
return view('admin/group/update',compact('group'));
}
return Message::makeError('查找失败');
}
public function update(Request $request)
{
$rules = [
'name'=>'required',
];
$validator = Validator::make($request->all(),$rules);
if($validator->fails()){
return Message::makeError("invalid param",$validator->messages()->messages());
}else{
$id = $request->id;
$name = $request->name;
$brief = $request->brief;
$logo = $request->file('logo');
$status = 0;
if ($logo == null){
$logo = null;
}
$result = $this->mGroup->update($id,$name,$logo,$brief,$status);
if ($result){
return redirect(route('group.getAll'));
}else{
return Message::makeError('修改失败');
}
}
}
public function transferPage(Request $request)
{
$id = $request->id;
$group = $this->mGroup->get($id);
if (count($group) > 0){
return view('admin/group/transfer',compact('group'));
}
return Message::makeError('获取失败请重试!');
}
public function transfer(Request $request)
{
$result = $this->mGroup->transfer();
}
public function ajax($name)
{
$result = $this->mGroup->ajax($name);
if ($result != null){
return $result['id'];
}
return null;
}
}
<?php
namespace App\Http\Controllers;
use App\Models\Group;
use App\Models\Project;
use App\Models\User;
use Carbon\Carbon;
use Illuminate\Http\Request;
class StatisticsController extends Controller
{
// 今日新增用户
public function newUser()
{
// 获取当天 00:00:00 开始时间
$startData = Carbon::today();
// 查询 今日新增用户
$newUserCount =count(User::where('created_at','>',$startData)->get());
// 查询今日新增项目
$newProject = count(Project::where('created_at','>',$startData)->get());
// 查询所有用户
$users = count(User::all());
// 查询所有项目
$projects = count(Project::all());
return view('admin/index',compact('newUserCount','newProject','users','projects'));
}
}
...@@ -7,6 +7,7 @@ use App\Models\User; ...@@ -7,6 +7,7 @@ use App\Models\User;
use App\Util\Message; use App\Util\Message;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Validator;
class UserController extends Controller class UserController extends Controller
{ {
...@@ -36,24 +37,39 @@ class UserController extends Controller ...@@ -36,24 +37,39 @@ class UserController extends Controller
public function update(Request $request) public function update(Request $request)
{ {
$id = $request->id;
$user_name = $request->user_name; $rules = [
$real_name = $request->real_name; 'user_name'=>'required',
$phone = $request->phone; ];
$gender = $request->gender;
$email = $request->email; $validator = Validator::make($request->all(),$rules);
$head_icon = $request->file('head_icon'); if($validator->fails()){
if ($head_icon == null){
$head_icon = null; return Message::makeError("invalid param",$validator->messages()->messages());
$result = $this->mUser->update($id,$phone,$user_name,$real_name,$gender,$email,$head_icon);
}else{ }else{
$id = $request->id;
$user_name = $request->user_name;
$real_name = $request->real_name;
$phone = $request->phone;
$gender = $request->gender;
$email = $request->email;
$head_icon = $request->file('head_icon');
if ($head_icon == null){
$head_icon = null;
}
$result = $this->mUser->update($id,$phone,$user_name,$real_name,$gender,$email,$head_icon); $result = $this->mUser->update($id,$phone,$user_name,$real_name,$gender,$email,$head_icon);
if ($result){
return redirect(route('user.getAll'));
}else{
return Message::makeError('修改失败');
}
} }
if ($result){
return redirect(route('user.getAll'));
}else{
return Message::makeError('修改失败');
}
} }
......
...@@ -10,4 +10,13 @@ class Group extends Model ...@@ -10,4 +10,13 @@ class Group extends Model
use SoftDeletes; use SoftDeletes;
protected $dates = ['delete_at']; protected $dates = ['delete_at'];
public function creator(){
return $this->belongsTo('App\Models\User','creator_id');
}
public function owner(){
return $this->belongsTo('App\Models\User','owner_id');
}
} }
...@@ -4,36 +4,28 @@ namespace App\Models; ...@@ -4,36 +4,28 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Laravel\Scout\Searchable;
class User extends Model class User extends Model
{ {
use SoftDeletes,Searchable; use SoftDeletes;
protected $dates = ['delete_at']; protected $dates = ['delete_at'];
protected $hidden =['password']; protected $hidden =['password'];
protected $table = 'users';
protected $fillable=["user_name","phone","password"]; protected $fillable=["user_name","phone","password"];
public function groups() public function groupsCreated()
{ {
return $this->hasMany('App\Models\Group','creator_id');
} }
public function groupsOwned(){
public function toSearchableArray() return $this->hasMany('App\Models\Group','owner_id');
{
return [
'user_name' => $this->user_name,
'real_name' => $this->real_name,
];
} }
public function EmailCheck() public function EmailCheck()
{ {
return $this->hasOne('App\EmailCheck'); return $this->hasOne('App\Models\EmailCheck');
} }
} }
...@@ -108,4 +108,5 @@ class AuthService implements AuthServiceContract ...@@ -108,4 +108,5 @@ class AuthService implements AuthServiceContract
\session(["user"=>$user]); \session(["user"=>$user]);
} }
} }
\ No newline at end of file
...@@ -11,6 +11,7 @@ namespace App\Services; ...@@ -11,6 +11,7 @@ namespace App\Services;
use App\Contracts\GroupServiceContract; use App\Contracts\GroupServiceContract;
use App\Models\Group; use App\Models\Group;
use App\Models\User;
class GroupService implements GroupServiceContract class GroupService implements GroupServiceContract
{ {
...@@ -47,13 +48,12 @@ class GroupService implements GroupServiceContract ...@@ -47,13 +48,12 @@ class GroupService implements GroupServiceContract
} }
public function update($group_id,$owner_id,$name,$logo,$brief,$status) public function update($group_id,$name,$logo,$brief,$status)
{ {
$group = Group::find($group_id); $group = Group::find($group_id);
if ($group == null){ if ($group == null){
return false; return false;
} }
$group->owner_id = $owner_id;
$group->name = $name; $group->name = $name;
$group->logo = $logo; $group->logo = $logo;
$group->brief = $brief; $group->brief = $brief;
...@@ -100,9 +100,10 @@ class GroupService implements GroupServiceContract ...@@ -100,9 +100,10 @@ class GroupService implements GroupServiceContract
} }
public function getAll() public function getAll($page)
{ {
$groups = Group::all(); $groups = Group::paginate($page);
if(count($groups) < 0){ if(count($groups) < 0){
return null; return null;
}else{ }else{
...@@ -111,4 +112,12 @@ class GroupService implements GroupServiceContract ...@@ -111,4 +112,12 @@ class GroupService implements GroupServiceContract
} }
public function ajax($name)
{
$result = User::where('real_name','=',$name)->first();
if ($result != null ){
return $result;
}
return null;
}
} }
\ No newline at end of file
...@@ -65,7 +65,7 @@ return [ ...@@ -65,7 +65,7 @@ return [
| |
*/ */
'timezone' => 'UTC', 'timezone' => 'PRC',
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
......
@extends('admin/dashboard')
@section('content')
<section class="content-header">
<h1>
User Profile
</h1>
<ol class="breadcrumb">
<li><a href="#"><i class="fa fa-dashboard"></i> Home</a></li>
<li><a href="#">Examples</a></li>
<li class="active">User profile</li>
</ol>
</section>
<!-- Main content -->
<section class="content">
<div class="row">
<div class="col-md-3">
<!-- Profile Image -->
<div class="box box-primary">
<div class="box-body box-profile">
<img class="profile-user-img img-responsive img-circle" src="{{asset($groups['logo'] == ''?url('storage/1.jpg'):$groups['logo'])}}" alt="User profile picture">
<h3 class="profile-username text-center">Logo</h3>
{{--<p class="text-muted text-center">Software Engineer</p>--}}
<ul class="list-group list-group-unbordered">
<li class="list-group-item">
<b>团队名称</b> <a class="pull-right">{{$groups['name']}}</a>
</li>
<li class="list-group-item">
<b>团队简介</b> <a class="pull-right">{{$groups['brief'] ==''?'这个团队很懒,没有简介':$groups['brief']}}</a>
</li>
<li class="list-group-item">
<b>拥有人</b> <a class="pull-right">{{$groups->owner->user_name}}</a>
</li>
</ul>
<a href="#" class="btn btn-primary btn-block"><b>关注</b></a>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
<!-- About Me Box -->
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">About Me</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<strong><i class="fa fa-book margin-r-5"></i> Education</strong>
<p class="text-muted">
B.S. in Computer Science from the University of Tennessee at Knoxville
</p>
<hr>
<strong><i class="fa fa-map-marker margin-r-5"></i> Location</strong>
<p class="text-muted">Malibu, California</p>
<hr>
<strong><i class="fa fa-pencil margin-r-5"></i> Skills</strong>
<p>
<span class="label label-danger">UI Design</span>
<span class="label label-success">Coding</span>
<span class="label label-info">Javascript</span>
<span class="label label-warning">PHP</span>
<span class="label label-primary">Node.js</span>
</p>
<hr>
<strong><i class="fa fa-file-text-o margin-r-5"></i> Notes</strong>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam fermentum enim neque.</p>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
</div>
<!-- /.col -->
<div class="col-md-9">
<div class="nav-tabs-custom">
<ul class="nav nav-tabs">
<li class="active"><a href="#activity" data-toggle="tab">Activity</a></li>
<li><a href="#timeline" data-toggle="tab">Timeline</a></li>
<li><a href="#settings" data-toggle="tab">Settings</a></li>
</ul>
<div class="tab-content">
<div class="active tab-pane" id="activity">
<!-- Post -->
<div class="post">
<div class="user-block">
<img class="img-circle img-bordered-sm" src="../../dist/img/user1-128x128.jpg" alt="user image">
<span class="username">
<a href="#">Jonathan Burke Jr.</a>
<a href="#" class="pull-right btn-box-tool"><i class="fa fa-times"></i></a>
</span>
<span class="description">Shared publicly - 7:30 PM today</span>
</div>
<!-- /.user-block -->
<p>
Lorem ipsum represents a long-held tradition for designers,
typographers and the like. Some people hate it and argue for
its demise, but others ignore the hate as they create awesome
tools to help create filler text for everyone from bacon lovers
to Charlie Sheen fans.
</p>
<ul class="list-inline">
<li><a href="#" class="link-black text-sm"><i class="fa fa-share margin-r-5"></i> Share</a></li>
<li><a href="#" class="link-black text-sm"><i class="fa fa-thumbs-o-up margin-r-5"></i> Like</a>
</li>
<li class="pull-right">
<a href="#" class="link-black text-sm"><i class="fa fa-comments-o margin-r-5"></i> Comments
(5)</a></li>
</ul>
<input class="form-control input-sm" type="text" placeholder="Type a comment">
</div>
<!-- /.post -->
<!-- Post -->
<div class="post clearfix">
<div class="user-block">
<img class="img-circle img-bordered-sm" src="../../dist/img/user7-128x128.jpg" alt="User Image">
<span class="username">
<a href="#">Sarah Ross</a>
<a href="#" class="pull-right btn-box-tool"><i class="fa fa-times"></i></a>
</span>
<span class="description">Sent you a message - 3 days ago</span>
</div>
<!-- /.user-block -->
<p>
Lorem ipsum represents a long-held tradition for designers,
typographers and the like. Some people hate it and argue for
its demise, but others ignore the hate as they create awesome
tools to help create filler text for everyone from bacon lovers
to Charlie Sheen fans.
</p>
<form class="form-horizontal">
<div class="form-group margin-bottom-none">
<div class="col-sm-9">
<input class="form-control input-sm" placeholder="Response">
</div>
<div class="col-sm-3">
<button type="submit" class="btn btn-danger pull-right btn-block btn-sm">Send</button>
</div>
</div>
</form>
</div>
<!-- /.post -->
<!-- Post -->
<div class="post">
<div class="user-block">
<img class="img-circle img-bordered-sm" src="../../dist/img/user6-128x128.jpg" alt="User Image">
<span class="username">
<a href="#">Adam Jones</a>
<a href="#" class="pull-right btn-box-tool"><i class="fa fa-times"></i></a>
</span>
<span class="description">Posted 5 photos - 5 days ago</span>
</div>
<!-- /.user-block -->
<div class="row margin-bottom">
<div class="col-sm-6">
<img class="img-responsive" src="../../dist/img/photo1.png" alt="Photo">
</div>
<!-- /.col -->
<div class="col-sm-6">
<div class="row">
<div class="col-sm-6">
<img class="img-responsive" src="../../dist/img/photo2.png" alt="Photo">
<br>
<img class="img-responsive" src="../../dist/img/photo3.jpg" alt="Photo">
</div>
<!-- /.col -->
<div class="col-sm-6">
<img class="img-responsive" src="../../dist/img/photo4.jpg" alt="Photo">
<br>
<img class="img-responsive" src="../../dist/img/photo1.png" alt="Photo">
</div>
<!-- /.col -->
</div>
<!-- /.row -->
</div>
<!-- /.col -->
</div>
<!-- /.row -->
<ul class="list-inline">
<li><a href="#" class="link-black text-sm"><i class="fa fa-share margin-r-5"></i> Share</a></li>
<li><a href="#" class="link-black text-sm"><i class="fa fa-thumbs-o-up margin-r-5"></i> Like</a>
</li>
<li class="pull-right">
<a href="#" class="link-black text-sm"><i class="fa fa-comments-o margin-r-5"></i> Comments
(5)</a></li>
</ul>
<input class="form-control input-sm" type="text" placeholder="Type a comment">
</div>
<!-- /.post -->
</div>
<!-- /.tab-pane -->
<div class="tab-pane" id="timeline">
<!-- The timeline -->
<ul class="timeline timeline-inverse">
<!-- timeline time label -->
<li class="time-label">
<span class="bg-red">
10 Feb. 2014
</span>
</li>
<!-- /.timeline-label -->
<!-- timeline item -->
<li>
<i class="fa fa-envelope bg-blue"></i>
<div class="timeline-item">
<span class="time"><i class="fa fa-clock-o"></i> 12:05</span>
<h3 class="timeline-header"><a href="#">Support Team</a> sent you an email</h3>
<div class="timeline-body">
Etsy doostang zoodles disqus groupon greplin oooj voxy zoodles,
weebly ning heekya handango imeem plugg dopplr jibjab, movity
jajah plickers sifteo edmodo ifttt zimbra. Babblely odeo kaboodle
quora plaxo ideeli hulu weebly balihoo...
</div>
<div class="timeline-footer">
<a class="btn btn-primary btn-xs">Read more</a>
<a class="btn btn-danger btn-xs">Delete</a>
</div>
</div>
</li>
<!-- END timeline item -->
<!-- timeline item -->
<li>
<i class="fa fa-user bg-aqua"></i>
<div class="timeline-item">
<span class="time"><i class="fa fa-clock-o"></i> 5 mins ago</span>
<h3 class="timeline-header no-border"><a href="#">Sarah Young</a> accepted your friend request
</h3>
</div>
</li>
<!-- END timeline item -->
<!-- timeline item -->
<li>
<i class="fa fa-comments bg-yellow"></i>
<div class="timeline-item">
<span class="time"><i class="fa fa-clock-o"></i> 27 mins ago</span>
<h3 class="timeline-header"><a href="#">Jay White</a> commented on your post</h3>
<div class="timeline-body">
Take me to your leader!
Switzerland is small and neutral!
We are more like Germany, ambitious and misunderstood!
</div>
<div class="timeline-footer">
<a class="btn btn-warning btn-flat btn-xs">View comment</a>
</div>
</div>
</li>
<!-- END timeline item -->
<!-- timeline time label -->
<li class="time-label">
<span class="bg-green">
3 Jan. 2014
</span>
</li>
<!-- /.timeline-label -->
<!-- timeline item -->
<li>
<i class="fa fa-camera bg-purple"></i>
<div class="timeline-item">
<span class="time"><i class="fa fa-clock-o"></i> 2 days ago</span>
<h3 class="timeline-header"><a href="#">Mina Lee</a> uploaded new photos</h3>
<div class="timeline-body">
<img src="http://placehold.it/150x100" alt="..." class="margin">
<img src="http://placehold.it/150x100" alt="..." class="margin">
<img src="http://placehold.it/150x100" alt="..." class="margin">
<img src="http://placehold.it/150x100" alt="..." class="margin">
</div>
</div>
</li>
<!-- END timeline item -->
<li>
<i class="fa fa-clock-o bg-gray"></i>
</li>
</ul>
</div>
<!-- /.tab-pane -->
<div class="tab-pane" id="settings">
<form class="form-horizontal">
<div class="form-group">
<label for="inputName" class="col-sm-2 control-label">Name</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="inputName" placeholder="Name">
</div>
</div>
<div class="form-group">
<label for="inputEmail" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="inputEmail" placeholder="Email">
</div>
</div>
<div class="form-group">
<label for="inputName" class="col-sm-2 control-label">Name</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="inputName" placeholder="Name">
</div>
</div>
<div class="form-group">
<label for="inputExperience" class="col-sm-2 control-label">Experience</label>
<div class="col-sm-10">
<textarea class="form-control" id="inputExperience" placeholder="Experience"></textarea>
</div>
</div>
<div class="form-group">
<label for="inputSkills" class="col-sm-2 control-label">Skills</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="inputSkills" placeholder="Skills">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label>
<input type="checkbox"> I agree to the <a href="#">terms and conditions</a>
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-danger">Submit</button>
</div>
</div>
</form>
</div>
<!-- /.tab-pane -->
</div>
<!-- /.tab-content -->
</div>
<!-- /.nav-tabs-custom -->
</div>
<!-- /.col -->
</div>
<!-- /.row -->
</section>
@endsection
\ No newline at end of file
@extends('admin/dashboard')
@section('content')
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
User Tables
<small>advanced tables</small>
</h1>
<ol class="breadcrumb">
<li><a href="#"><i class="fa fa-dashboard"></i> Home</a></li>
<li><a href="#">Tables</a></li>
<li class="active">Data tables</li>
</ol>
</section>
<!-- Main content -->
<section class="content">
<div class="row">
<div class="col-xs-12">
<div class="box">
<div class="box-header">
<h3 class="box-title">Hover Data Table</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<form action="{{url('user/search')}}">
<div class="row">
<div class="col-lg-6">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search for..." name="search">
<span class="input-group-btn">
<button class="btn btn-default" > 搜索 </button>
</span>
</div><!-- /input-group -->
</div><!-- /.col-lg-6 -->
</div><!-- /.row -->
</form>
<br>
<table id="example2" class="table table-bordered table-hover">
<thead>
<tr>
<th>ID</th>
<th>创建人</th>
<th>拥有人</th>
<th>团队名</th>
<th>简介</th>
<th>logo</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
@if($groups == null)
<tbody>
<tr>
<td colspan="8" style="text-align: center;color: red"> 数据暂无 </td>
</tr>
</tbody>
</table>
@else
@foreach($groups as $group)
<tbody>
<tr>
<td>{{$group->id}}</td>
<td><a href="{{route('user.get',$group->owner_id)}}">{{$group->owner->user_name}}</a></td>
<td>{{$group->creator->user_name}} </td>
<td>{{$group->name}}</td>
<td>{{$group->brief}}</td>
<td>{{$group->logo ==''?'暂无':$group->logo}}</td>
<td>{{$group->status}}</td>
<td>
<a href="{{route('group.get',['id' => $group->id])}}" class="btn btn-info" > 查看详情 </a>
<a href="{{route('group.updatePage',['id' => $group->id])}}" class="btn btn-info"> 编辑 </a>
<a href="{{route('group.transferPage',['id'=>$group->id])}}" class="btn bg-orange"> 转让 </a>
</td>
</tr>
</tbody>
@endforeach
</table>
{{ $groups->links() }}
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
</div>
<!-- /.col -->
</div>
<!-- /.row -->
</section>
@endif
@endsection
\ No newline at end of file
@extends('admin/dashboard')
@section('content')
<!-- general form elements -->
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Modify the information</h3>
</div>
<!-- /.box-header -->
<!-- form start -->
<form role="form" action="{{route('group.update')}}" method="post" enctype="multipart/form-data">
{{csrf_field()}}
<div class="box-body">
<div class="form-group">
<label for="exampleInputEmail1">拥有者</label>
<input type="text" class="form-control" id="exampleInputEmail1" placeholder="name" name="name" value="{{$group->owner->user_name}}">
<input type="hidden" name="id" value="{{$group['id']}}">
</div>
<div class="form-group">
<label for="exampleInputPassword1">转让</label>
<input type="text" class="form-control" id="exampleInputPassword1" placeholder="name" value="" >
<input type="hidden" id="owner_id" value="" name="a">
</div>
</div>
<!-- /.box-body -->
<div class="box-footer">
<button type="submit" class="btn btn-primary" >保存</button>
</div>
</form>
</div>
<script src="{{url('js/jquery-3.2.1.min.js')}}"> </script>
<script>
$('#exampleInputPassword1').blur(function(){
var real_name = $('#exampleInputPassword1').val();
$.ajax({
type:'get',
url:'{{url('group/ajax')}}/' + real_name ,
success:function(data){
if (data){
// 设置 新的拥有者的ID
$('#owner_id').val(data);
}else {
alert('无此用户')
}
},
error:function(data){
console.log('错误');
}
})
});
function base64_uploading(base64Data,fileName){
$.ajax({
type: 'post',
url: "{{url('user/update')}}",
data: {
'base64':base64Data,
'name':fileName
},
dataType:"json",
headers: {
'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
},
success:function(data){
console.log(data);
if (data ==1 ){
alert('上传成功')
}else {
alert('上传失败')
}
},
error:function (data) {
alert(1);
console.log(data);
}
})
}
</script>
@endsection
\ No newline at end of file
@extends('admin/dashboard')
@section('content')
<!-- general form elements -->
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Modify the information</h3>
</div>
<!-- /.box-header -->
<!-- form start -->
<form role="form" action="{{route('group.update')}}" method="post" enctype="multipart/form-data">
{{csrf_field()}}
<div class="box-body">
<div class="form-group">
<label for="exampleInputFile">团队Logo</label>
<p>
<img src="{{asset($group['logo']==''?url('storage/1.jpg'):$groups['logo'])}}" alt="" width="100px" height="110px" style="border-radius: 80%">
</p>
</div>
<div class="form-group">
<label for="exampleInputEmail1">团队名称</label>
<input type="text" class="form-control" id="exampleInputEmail1" placeholder="name" name="name" value="{{$group['name']}}">
<input type="hidden" name="id" value="{{$group['id']}}">
</div>
<div class="form-group">
<label for="exampleInputPassword1">团队简介</label>
<input type="text" class="form-control" id="exampleInputPassword1" placeholder="brief" name="brief" value="{{$group['brief']}}">
</div>
<div class="form-group">
<label for="exampleInputPassword1">拥有者</label>
<input type="text" class="form-control" id="exampleInputPassword1" placeholder="owner" name="owner_id" value="{{$group->owner->user_name}}">
</div>
<div class="form-group">
<label for="exampleInputFile">更换Logo</label>
<input type="file" id="exampleInputFile" name="logo" >
</div>
</div>
<!-- /.box-body -->
<div class="box-footer">
<button type="submit" class="btn btn-primary">保存</button>
</div>
</form>
</div>
<script src="{{url('js/jquery-3.2.1.min.js')}}"> </script>
{{--<script>--}}
{{--$("#exampleInputFile").change(function(){--}}
{{--var file = this.files[0];--}}
{{--// 判断文件大小--}}
{{--if(file.size > 5*1024*1024){--}}
{{--alert('文件过大!');--}}
{{--}--}}
{{--// 使用FileReader 接口--}}
{{--var reader = new FileReader();--}}
{{--// 成功读取--}}
{{--reader.onload = function(){--}}
{{--// 通过reader.result 属性 来访问生成的 base 64 DataURL--}}
{{--var fileInfo = reader.result;--}}
{{--$('#Preview').attr('src',fileInfo).css({width:100,height:90});--}}
{{--//console.log(fileInfo);--}}
{{--var name = $('#exampleInputFile').val();--}}
{{--// 分割字符串--}}
{{--var arr = name.split('\\');--}}
{{--var fileName = arr[arr.length-1];--}}
{{--base64_uploading(fileInfo,fileName);--}}
{{--}--}}
{{--reader.readAsDataURL(file);--}}
{{--})--}}
{{--//AJAX 上传base 64--}}
{{--function base64_uploading(base64Data,fileName){--}}
{{--$.ajax({--}}
{{--type: 'post',--}}
{{--url: "{{url('user/update')}}",--}}
{{--data: {--}}
{{--'base64':base64Data,--}}
{{--'name':fileName--}}
{{--},--}}
{{--dataType:"json",--}}
{{--headers: {--}}
{{--'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')--}}
{{--},--}}
{{--success:function(data){--}}
{{--console.log(data);--}}
{{--if (data ==1 ){--}}
{{--alert('上传成功')--}}
{{--}else {--}}
{{--alert('上传失败')--}}
{{--}--}}
{{--},--}}
{{--error:function (data) {--}}
{{--alert(1);--}}
{{--console.log(data);--}}
{{--}--}}
{{--})--}}
{{--}--}}
{{--</script>--}}
@endsection
\ No newline at end of file
@extends('admin/dashboard')
@section('content')
<div class="row">
<!-- ./col -->
<div class="col-lg-3 col-xs-6">
<!-- small box -->
<div class="small-box bg-yellow">
<div class="inner">
<h3> {{$newUserCount}} </h3>
<p>今日新增用户</p>
</div>
<div class="icon">
<i class="ion ion-person-add"></i>
</div>
<a href="#" class="small-box-footer">More info <i class="fa fa-arrow-circle-right"></i></a>
</div>
</div>
<!-- ./col -->
<div class="col-lg-3 col-xs-6">
<!-- small box -->
<div class="small-box bg-aqua">
<div class="inner">
<h3>{{$newProject}}</h3>
<p>今日新增项目</p>
</div>
<div class="icon">
<i class="ion ion-bag"></i>
</div>
<a href="#" class="small-box-footer">More info <i class="fa fa-arrow-circle-right"></i></a>
</div>
</div>
<!-- ./col -->
<div class="col-lg-3 col-xs-6">
<!-- small box -->
<div class="small-box bg-green">
<div class="inner">
<h3>{{$users}}<sup style="font-size: 20px"></sup></h3>
<p> 所有用户 </p>
</div>
<div class="icon">
<i class="ion ion-stats-bars"></i>
</div>
<a href="#" class="small-box-footer">More info <i class="fa fa-arrow-circle-right"></i></a>
</div>
</div>
<div class="col-lg-3 col-xs-6">
<!-- small box -->
<div class="small-box bg-red">
<div class="inner">
<h3>{{$projects}}</h3>
<p>所有项目</p>
</div>
<div class="icon">
<i class="ion ion-pie-graph"></i>
</div>
<a href="#" class="small-box-footer">More info <i class="fa fa-arrow-circle-right"></i></a>
</div>
</div>
<!-- ./col -->
</div>
@endsection
\ No newline at end of file
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
<ul class="sidebar-menu"> <ul class="sidebar-menu">
<li class="header">HEADER</li> <li class="header">HEADER</li>
<!-- Optionally, you can add icons to the links --> <!-- Optionally, you can add icons to the links -->
<li class="active"><a href="#"><i class="fa fa-link"></i> <span>admin-index</span></a></li> <li class="active"><a href="{{url('statistics')}}"><i class="fa fa-link"></i> <span>首页</span></a></li>
<li class="treeview"> <li class="treeview">
<a href="#"><i class="fa fa-link"></i> <span>用户管理</span> <a href="#"><i class="fa fa-link"></i> <span>用户管理</span>
...@@ -46,6 +46,21 @@ ...@@ -46,6 +46,21 @@
<li><a href="{{url('user/getAll')}}">用户列表</a></li> <li><a href="{{url('user/getAll')}}">用户列表</a></li>
<li><a href="#">Link in level 2</a></li> <li><a href="#">Link in level 2</a></li>
</ul> </ul>
</li>
<li class="treeview">
<a href="#"><i class="fa fa-link"></i> <span>团队管理</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<li><a href="{{url('group/getAll')}}">团队列表</a></li>
<li><a href="#">Link in level 2</a></li>
</ul>
</li> </li>
</ul> </ul>
<!-- /.sidebar-menu --> <!-- /.sidebar-menu -->
......
...@@ -91,7 +91,7 @@ ...@@ -91,7 +91,7 @@
<td>{{$value['phone']}}</td> <td>{{$value['phone']}}</td>
<td>{{$value['user_name']}}</td> <td>{{$value['user_name']}}</td>
<td>{{$value['real_name']}}</td> <td>{{$value['real_name']}}</td>
<td><img src="{{asset($value['head_icon'] ==''?'':$value['head_icon'])}}" alt="" width="120px" height="50px" > </td> <td><img src="{{asset($value['head_icon'] ==''?'':$value['head_icon'])}}" alt="" width="50px" height="40px" > </td>
<td> {{$value['gender'] == 0 ?'男':'女'}}</td> <td> {{$value['gender'] == 0 ?'男':'女'}}</td>
<td>{{$value['email']}}</td> <td>{{$value['email']}}</td>
<td>{{$value['status']}}</td> <td>{{$value['status']}}</td>
......
...@@ -44,11 +44,33 @@ Route::group(['prefix'=> 'user'],function (){ ...@@ -44,11 +44,33 @@ Route::group(['prefix'=> 'user'],function (){
Route::get('updatePage/{id}','UserController@updatePage')->name('user.updatePage'); Route::get('updatePage/{id}','UserController@updatePage')->name('user.updatePage');
Route::post('update','UserController@update')->name('user.update'); Route::post('update','UserController@update')->name('user.update');
Route::get('search','UserController@simpleSearch')->name('user.search'); Route::get('search','UserController@simpleSearch')->name('user.search');
}); });
// 团队
Route::group(['prefix'=> 'group'],function (){
Route::get('getAll','GroupController@getAll')->name('group.getAll');
Route::get('get','GroupController@get')->name('group.get');
Route::get('updatePage','GroupController@updatePage')->name('group.updatePage');
Route::post('update','GroupController@update')->name('group.update');
Route::get('transferPage','GroupController@transferPage')->name('group.transferPage');
Route::get('ajax/{name}','GroupController@ajax')->name('group.ajax');
Route::post('transfer','GroupController@transfer')->name('group.transfer');
Route::get('search','UserController@simpleSearch')->name('group.search');
});
// 统计
Route::get('statistics','StatisticsController@newUser');
Route::get('table',function (){ Route::get('table',function (){
return view('admin/usertables'); return view('admin/usertables');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment