Silent 6 år sedan
förälder
incheckning
e926fa3361

+ 147 - 0
app/Http/Controllers/Admin/AdminUserController.php

xqd
@@ -0,0 +1,147 @@
+<?php
+
+namespace App\Http\Controllers\Admin;
+
+use App\Services\Admin\AdminUser;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Validator;
+
+class AdminUserController extends Controller
+{
+    protected $redirect_index = '/admin/AdminUser/index';
+
+    protected $view_path = 'admin.admin-users.';
+
+    protected $pre_uri = '/admin/AdminUser/';
+
+    protected $model_name = '账号';
+
+    protected $model;
+
+    public function __construct()
+    {
+        parent::__construct();
+        $this->model = new AdminUser();
+    }
+
+    public function index(Request $request)
+    {
+        $list = $this->model->where('id', '>', 0)->orderBy('created_at', 'desc');
+
+        if(!empty($request->input('keyword')) && !empty(trim($request->input('keyword')))) {
+            $keyword = '%' . trim($request->input('keyword')) . '%';
+            $list = $list->where('name', 'like', $keyword);
+        }
+
+        $list = $list->paginate()->withPath($this->getPaginateUrl());
+
+        list($pre_uri, $model_name) = array($this->pre_uri, $this->model_name);
+        return view($this->view_path . 'index', compact('list', 'pre_uri', 'model_name'));
+    }
+
+    public function create(Request $request)
+    {
+        list($pre_uri, $model_name, $model) = array($this->pre_uri, $this->model_name, $this->model);
+        return view($this->view_path . 'create', compact('pre_uri', 'model_name', 'model'));
+    }
+
+    public function store(Request $request)
+    {
+        if(!$request->isMethod('POST')) {
+            return $this->showWarning('访问错误');
+        }
+
+        if(empty($request->input('data')) || !is_array($request->input('data'))) {
+            return $this->showWarning('数据错误');
+        }
+
+        $validator = Validator::make($request->all(), [
+            'name' => 'required|unique:admin_users',
+            'password' => 'required|min:6'
+        ], [
+            'name.required' => '用户名必填',
+            'name.unique' => '用户名已存在',
+            'password.unique' => '密码必填',
+            'password.min' => '密码不能小于6位',
+        ]);
+        if($validator->fails()) {
+            return back()->withErrors($validator)->withInput();
+        }
+
+        $res = $this->model->create($request->input('data'));
+
+        if(!$res) {
+            return $this->showWarning('数据库保存失败!');
+        }
+        return $this->showMessage('操作成功', $this->redirect_index);
+    }
+
+    public function edit(Request $request)
+    {
+        if(empty($request->input('id')) || empty($item = $this->model->find($request->input('id')))) {
+            return $this->showWarning('数据错误!');
+        }
+        list($pre_uri, $model_name, $model) = array($this->pre_uri, $this->model_name, $this->model);
+
+        return view($this->view_path . 'edit', compact('item','pre_uri', 'model_name', 'model'));
+    }
+
+    public function update(Request $request)
+    {
+        if(!$request->isMethod('POST')) {
+            return $this->showWarning('访问错误');
+        }
+
+        if(empty($request->input('id')) || empty($request->input('data')) || !is_array($request->input('data'))) {
+            return $this->showWarning('数据错误');
+        }
+
+        $validator = Validator::make($request->input('data'), [
+            'name' => 'required'
+        ], [
+            'name.required' => '用户名必填'
+        ]);
+
+        if($validator->fails()) {
+            return back()->withErrors($validator)->withInput();
+        }
+
+        $data = $request->input('data');
+
+        $tmp = $this->model->where([
+            ['name', '=', $data['name']],
+            ['id', '<>', $request->input('id')],
+        ])->first();
+        if(!empty($tmp)) {
+            $validator->errors()->add('name', '用户名已存在');
+            return back()->withErrors($validator)->withInput();
+        }
+
+        if($request->has('is_update_password') && $request->input('is_update_password') == 1) {
+            $data['password'] = bcrypt($request->input('password', 123456));
+        }
+
+        $res = $this->model->where('id', $request->input('id'))->update($data);
+
+        if(!$res) {
+            return $this->showWarning('数据库保存失败!');
+        }
+        return $this->showMessage('操作成功', $this->redirect_index);
+    }
+
+    public function delete(Request $request)
+    {
+        if(!$request->isMethod('POST')) {
+            return $this->showWarning('访问错误');
+        }
+        if(empty($request->input('id')) || empty($item = $this->model->find($request->input('id')))) {
+            return $this->showWarning('访问错误');
+        }
+
+        $res = $item->delete();
+        if(!$res) {
+            return $this->showWarning('数据库删除失败');
+        }
+        return $this->showMessage('操作成功');
+    }
+}

+ 71 - 0
resources/views/admin/admin-users/create.blade.php

xqd
@@ -0,0 +1,71 @@
+@extends('admin.layout')
+<style type="text/css">
+
+</style>
+@section('header')
+
+@endsection
+
+@section('content')
+<div id="sg-main-container-sg">
+    <div class="wrapper wrapper-content animated fadeInRight">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="ibox float-e-margins">
+                    <div class="ibox-title">
+                        <h5>{{ '添加' . $model_name }}</h5>
+                        <div class="ibox-tools">
+                            <a class="collapse-link"> <i class="fa fa-chevron-up"></i>
+                            </a>
+                        </div>
+                    </div>
+                    <div class="ibox-content">
+                        <div class="row">
+                            <div class="col-sm-12 pull-right">
+                                <a href="{{ $pre_uri . 'index' }}" class="btn btn-sm btn-primary pull-right">返回列表</a>
+                            </div>
+                        </div>
+                        <form class="form-horizontal" method="POST" action="{{ $pre_uri . 'store' }}">
+                            {{ csrf_field() }}
+
+                            <div class="form-group row {{ $errors->has('name') ? 'has-error' : '' }}">
+                                <label class="col-sm-2 col-sm-offset-1 control-label">用户名</label>
+                                <div class="col-sm-8">
+                                    <input type="text" name="data[name]" class="form-control" placeholder="请输入用户名" value="{{ isset(old('data')['name']) ? old('data')['name'] : '' }}" required>
+                                    @if($errors->has('name'))
+                                        <span class="help-block">{{ $errors->first('name') }}</span>
+                                    @endif
+                                </div>
+                            </div>
+
+                            <div class="form-group row {{ $errors->has('password') ? 'has-error' : '' }}">
+                                <label class="col-sm-2 col-sm-offset-1 control-label">密码</label>
+                                <div class="col-sm-8">
+                                    <input type="text" name="data[password]" class="form-control" placeholder="请输入密码" value="{{ isset(old('data')['password']) ? old('data')['password'] : '' }}" required>
+                                    @if($errors->has('password'))
+                                        <span class="help-block">{{ $errors->first('password') }}</span>
+                                    @endif
+                                </div>
+                            </div>
+
+                            <div class="form-group row">
+                                <div class="col-sm-8 col-sm-offset-3">
+                                    <button type="submit" class="btn btn-sm btn-primary">提交</button>
+                                </div>
+                            </div>
+                        </form>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+@endsection
+
+@section('footer')
+<script type="text/javascript">
+$(function () {
+
+})
+</script>
+@endsection

+ 84 - 0
resources/views/admin/admin-users/edit.blade.php

xqd
@@ -0,0 +1,84 @@
+@extends('admin.layout')
+<style type="text/css">
+
+</style>
+@section('header')
+
+@endsection
+
+@section('content')
+<div id="sg-main-container-sg">
+    <div class="wrapper wrapper-content animated fadeInRight">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="ibox float-e-margins">
+                    <div class="ibox-title">
+                        <h5>{{ '编辑' . $model_name }}</h5>
+                        <div class="ibox-tools">
+                            <a class="collapse-link"> <i class="fa fa-chevron-up"></i>
+                            </a>
+                        </div>
+                    </div>
+                    <div class="ibox-content">
+                        <div class="row">
+                            <div class="col-sm-12 pull-right">
+                                <a href="{{ $pre_uri . 'index' }}" class="btn btn-sm btn-primary pull-right">返回列表</a>
+                            </div>
+                        </div>
+                        <form class="form-horizontal" method="POST" action="{{ $pre_uri . 'update' }}">
+                            {{ csrf_field() }}
+
+                            <input type="hidden" name="id" value="{{ $item->id }}">
+                            <div class="form-group row {{ $errors->has('name') ? 'has-error' : '' }}">
+                                <label class="col-sm-2 col-sm-offset-1 control-label">用户名</label>
+                                <div class="col-sm-8">
+                                    <input type="text" name="data[name]" class="form-control" placeholder="请输入用户名" value="{{ $item->name }}" required>
+                                    @if($errors->has('name'))
+                                        <span class="help-block">{{ $errors->first('name') }}</span>
+                                    @endif
+                                </div>
+                            </div>
+
+                            <div class="form-group row {{ $errors->has('is_update_password') ? 'has-error' : '' }}">
+                                <label class="col-sm-2 col-sm-offset-1 control-label">更新密码</label>
+                                <div class="col-sm-8">
+                                    <label class="radio-inline">
+                                        <input type="radio" name="is_update_password" value="1">是
+                                    </label>
+                                    <label class="radio-inline">
+                                        <input type="radio" name="is_update_password" value="2" checked>否
+                                    </label>
+                                </div>
+                            </div>
+
+                            <div class="form-group row {{ $errors->has('password') ? 'has-error' : '' }}">
+                                <label class="col-sm-2 col-sm-offset-1 control-label">密码</label>
+                                <div class="col-sm-8">
+                                    <input type="text" name="password" class="form-control" placeholder="请输入密码">
+                                    @if($errors->has('password'))
+                                        <span class="help-block">{{ $errors->first('password') }}</span>
+                                    @endif
+                                </div>
+                            </div>
+
+                            <div class="form-group row">
+                                <div class="col-sm-8 col-sm-offset-3">
+                                    <button type="submit" class="btn btn-sm btn-primary">提交</button>
+                                </div>
+                            </div>
+                        </form>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+@endsection
+
+@section('footer')
+<script type="text/javascript">
+$(function () {
+
+})
+</script>
+@endsection

+ 106 - 0
resources/views/admin/admin-users/index.blade.php

xqd
@@ -0,0 +1,106 @@
+@extends('admin.layout')
+<style type="text/css">
+
+</style>
+@section('header')
+
+@endsection
+
+@section('content')
+<div id="sg-main-container-sg">
+    <div class="wrapper wrapper-content animated fadeInRight">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="ibox float-e-margins">
+                    <div class="ibox-title">
+                        <h5>{{ $model_name . '列表' }}</h5>
+                        <div class="ibox-tools">
+                            <a class="collapse-link"> <i class="fa fa-chevron-up"></i>
+                            </a>
+                        </div>
+                    </div>
+                    <div class="ibox-content">
+                        <div class="row">
+                            <div class="col-sm-4">
+                                <form>
+                                    <div class="input-group">
+                                        <input type="text" value="{{ request('keyword') }}"	placeholder="请输入账号名" name="keyword" class="input-sm form-control">
+                                        <span class="input-group-btn">
+									        <button type="submit" class="btn btn-sm btn-primary">搜索</button>
+								        </span>
+                                    </div>
+                                </form>
+                            </div>
+                            <div class="col-sm-8 pull-right">
+                                <a href="{{ $pre_uri . 'create' }}" class="btn btn-sm btn-primary pull-right">添加{{ $model_name }}</a>
+                            </div>
+                        </div>
+                        <table class="table table-striped table-bordered table-hover dataTables-example dataTable" id="sg-main-table">
+                            <thead>
+                                <tr>
+                                    <th>用户名</th>
+                                    <th>添加时间</th>
+                                    <th>操作</th>
+                                </tr>
+                            </thead>
+                            <tbody>
+                                @if($list->count() <= 0)
+                                    <tr>
+                                        <td colspan="3" style="text-align: center;">暂无{{ $model_name }}</td>
+                                    </tr>
+                                @else
+                                    @foreach($list as $item)
+                                        <tr>
+                                            <td>{{ $item->name }}</td>
+                                            <td>{{ $item->created_at }}</td>
+                                            <td>
+                                                <div class="btn-group">
+                                                    <a class="btn btn-sm btn-info btn-edit" href="{{ $pre_uri . 'edit?id=' . $item->id }}">编辑</a>
+                                                    <div class="btn btn-sm btn-danger btn-delete" data-id="{{ $item->id }}">删除</div>
+                                                </div>
+                                            </td>
+                                        </tr>
+                                    @endforeach
+                                @endif
+                            </tbody>
+                        </table>
+                        <div class="row">
+                            <div class="col-sm-12">{{ $list->links() }}</div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<div class="modal fade" id="delete-modal" tabindex="-1" role="dialog" aria-labelledby="delete-label" aria-hidden="true">
+    <div class="modal-dialog">
+        <form id="delete-form" method="POST" action="{{ $pre_uri . 'delete' }}">
+            {{ csrf_field() }}
+
+            <input type="hidden" name="id" id="delete-input-id">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+                    <h4 class="modal-title" id="delete-label">确定要删除吗?</h4>
+                </div>
+                <div class="modal-footer">
+                    <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
+                    <button type="submit" class="btn btn-danger">删除</button>
+                </div>
+            </div>
+        </form>
+    </div>
+</div>
+@endsection
+
+@section('footer')
+<script type="text/javascript">
+$(function () {
+    $('#sg-main-table').on('click', '.btn-delete', function () {
+        $('#delete-input-id').val($(this).attr('data-id'));
+        $('#delete-modal').modal('show');
+    });
+})
+</script>
+@endsection

+ 1 - 1
resources/views/admin/base/index/index.blade.php

xqd
@@ -44,7 +44,7 @@
                             </a>
                             <ul class="dropdown-menu animated fadeInRight m-t-xs">
                                 <li><a target="_blank" href="/">网站首页</a></li>
-                                <li><a href="/admin/changePassword" class="J_menuItem">修改密码</a></li>
+                                {{--<li><a href="/admin/changePassword" class="J_menuItem">修改密码</a></li>--}}
                                 <li class="divider"></li>
                                 <li><a href="/admin/logout">安全退出</a>
                                 </li>