Explorar o código

Merge branch 'gq' of http://git.9026.com/roobe/miao

Mike %!s(int64=8) %!d(string=hai) anos
pai
achega
083791f2be

+ 40 - 0
server/app/Http/Controllers/Admin/Settings/SettingsController.php

xqd
@@ -0,0 +1,40 @@
+<?php
+
+namespace App\Http\Controllers\Admin\Settings;
+
+use App\Http\Controllers\Admin\Controller;
+use App\Models\BaseSettingsModel;
+use Illuminate\Http\Request;
+use App\Repositories\Settings\Banner\Criteria\MultiWhere;
+use App\Repositories\Settings\SettingsRepository;
+use App\Repositories\Base\Criteria\OrderBy;
+class SettingsController extends Controller
+{
+    private $repository;
+
+    public function __construct(SettingsRepository $repository) {
+        if(!$this->repository) $this->repository = $repository;
+    }
+
+    public function banner(Request $request)
+    {
+        $search['keyword'] = $request->input('keyword');
+        $query = $this->repository->pushCriteria(new MultiWhere($search));
+        $request = $request->all();
+        if(isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) {
+            $query = $query->pushCriteria(new OrderBy($request['sort_field'],$request['sort_field_by']));
+        }
+        $list = $query->paginate();
+        return view('admin.settings.banner.index',compact('list'));
+    }
+
+    public function bannerDestroy(Request $request)
+    {
+        $bool = $this->repository->destroy($request->id);
+        if($bool) {
+            return  $this->showMessage('操作成功');
+        }else {
+            return $this->showWarning("操作失败");
+        }
+    }
+}

+ 1 - 2
server/app/Http/Controllers/Admin/User/InfoController.php

xqd xqd
@@ -24,7 +24,7 @@ class InfoController extends Controller
     function index(Request $reqeust) {
         $search['keyword'] = $reqeust->input('keyword');
         $query = $this->repository->pushCriteria(new MultiWhere($search));
-
+        $request = $reqeust->all();
         if(isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) {
         $query = $query->pushCriteria(new OrderBy($request['sort_field'],$request['sort_field_by']));
         }
@@ -32,7 +32,6 @@ class InfoController extends Controller
         return view('admin.user.info.index',compact('list'));
     }
 
-
     function check(Request $reqeust) {
         $request = $reqeust->all();
         $search['keyword'] = $reqeust->input('keyword');

+ 49 - 0
server/app/Repositories/Settings/Banner/Criteria/MultiWhere.php

xqd
@@ -0,0 +1,49 @@
+<?php
+/**
+ * User: Mike
+ * Email: m@9026.com
+ * Date: 2017/1/12
+ * Time: 17:52
+ */
+
+namespace App\Repositories\Settings\Banner\Criteria;
+
+
+use App\Repositories\Base\Criteria;
+use App\Repositories\Contracts\RepositoryInterface as Repository;
+
+class MultiWhere extends Criteria {
+
+    private $search = [];
+
+    /**
+     * MultiWhere constructor.
+     * @param array $search
+     *
+     */
+    public function __construct(array $search)
+    {
+        $this->search = $search;
+    }
+
+    /**
+    * @param $model
+    * @param RepositoryInterface $repository
+    * @return mixed
+    */
+    public function apply($model, Repository $repository)
+    {
+        if(isset($this->search['keyword']) && ! empty($this->search['keyword'])) {
+            $keywords = '%' . $this->search['keyword'] . '%';
+            $model = $model->where(function ($query) use ($keywords) {
+                $query->where('id'  , 'like', $keywords)
+                    ->where('category','banner')
+                    ->orwhere('sort', 'like', $keywords);
+            });
+        }else{
+            $model = $model->where('category','banner');
+        }
+        return $model;
+    }
+
+}

+ 92 - 0
server/resources/views/admin/settings/banner/check.blade.php

xqd
@@ -0,0 +1,92 @@
+@extends('admin.layout')
+
+@section('content')
+	<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>配置列表</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">
+							<form method="GET" action="" accept-charset="UTF-8">
+
+								<div class="col-sm-4">
+									<div class="input-group">
+										<input type="text" value="{{Request::get('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>
+								</div>
+							</form>
+							@if(role('Base/Settings/create'))
+								<div class="col-sm-3 pull-right">
+									<a href="{{ U('Base/Settings/create')}}" class="btn btn-sm btn-primary pull-right">添加</a>
+								</div>
+							@endif
+						</div>
+
+						<table class="table table-striped table-bordered table-hover dataTables-example dataTable dataCheckTable">
+							<thead>
+							<tr>
+								<th><input class="btSelectAll" name="btSelectAll" type="checkbox"></th>
+								
+            <th class="sorting" data-sort="id">  </th>
+            <th class="sorting" data-sort="key"> 配置代码 </th>
+            <th class="sorting" data-sort="value"> 配置名称 </th>
+            <th class="sorting" data-sort="sort"> 排序 </th>
+            <th class="sorting" data-sort="category"> 配置类型 </th>
+            <th class="sorting" data-sort="pid"> 父id </th>
+            <th class="sorting" data-sort="status"> 图片状态 </th>
+								<th width="22%">相关操作</th>
+							</tr>
+							</thead>
+							<tbody>
+							@if(isset($list))
+								@foreach($list as $key => $item)
+									<tr>
+									<td><input data-json='{!! json_encode($item) !!}'  name="btSelectItem" class="data_key" type="checkbox" value="{{ $item->id or 0 }}" /></td>
+									
+            <td>{{ $item->id }}</td>
+            <td>{{ $item->key }}</td>
+            <td>{{ $item->value }}</td>
+            <td>{{ $item->sort }}</td>
+            <td>{{ $item->category }}</td>
+            <td>{{ $item->pid }}</td>
+            <td>{{ $item->status }}</td>
+									<td>
+										@if(role('Base/Settings/view'))
+											<button onclick="layer.open({type: 2,area: ['80%', '90%'],content: '{{ U('Base/Settings/view',['id'=>$item->id])}}'});"  class="btn btn-primary ">查看</button>
+										@endif
+									</td>
+								</tr>
+								@endforeach
+							@endif
+
+							</tbody>
+						</table>
+						<div class="row">
+							<div class="col-sm-6">
+								<div class="dataTables_info" id="DataTables_Table_0_info"
+									 role="alert" aria-live="polite" aria-relevant="all">每页{{ $list->count() }}条,共{{ $list->lastPage() }}页,总{{ $list->total() }}条。</div>
+							</div>
+							<div class="col-sm-6">
+								<div class="dataTables_paginate paging_simple_numbers" id="DataTables_Table_0_paginate">
+									{!! $list->setPath('')->appends(Request::all())->render() !!}
+								</div>
+							</div>
+						</div>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+	@include('admin.tools.check_script');
+
+@endsection

+ 125 - 0
server/resources/views/admin/settings/banner/edit.blade.php

xqd
@@ -0,0 +1,125 @@
+@extends('admin.layout')
+
+@section('content')
+
+<?php
+    if(!isset($data)) $data = array();
+    if(!$data && session("data")){
+        $data = session("data");
+    }
+    if(!$data && session('_old_input')){
+        $data = session("_old_input");
+    }
+?>
+<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>配置列表</h5>
+					<div class="ibox-tools">
+						<a class="collapse-link"> <i class="fa fa-chevron-up"></i>
+						</a>
+					</div>
+				</div>
+				<div class="ibox-content">
+                    @if(role('Base/Settings/index'))
+				    <div class="row">
+    					<div class="col-sm-3 pull-right">
+    					   <a href="{{ U('Base/Settings/index')}}" class="btn btn-sm btn-primary pull-right">返回列表</a>
+    					</div>
+					</div>
+                    @endif
+
+		            <div class="row">
+                        <div class="col-lg-10">
+                            <form name="form_product" id="form-validation" action="" class="form-horizontal form-validation" accept-charset="UTF-8" method="post">
+
+                                    
+                <div class="form-group">
+                                    
+                 <label class="control-label col-sm-3">键</label>
+                                    
+                   <div class="col-sm-9">
+                     <input id="data_key" name="data[key]" class="form-control" value="{{ $data['key'] or ''}}" required="" aria-required="true"  placeholder=""> 
+                    </div>
+                                
+                </div>
+                <div class="form-group">
+                                    
+                 <label class="control-label col-sm-3">值</label>
+                                    
+                   <div class="col-sm-9">
+                     <input id="data_value" name="data[value]" class="form-control" value="{{ $data['value'] or ''}}" required="" aria-required="true"  placeholder=""> 
+                    </div>
+                                
+                    </div>    
+                <div class="form-group">
+                                    
+                 <label class="control-label col-sm-3">排序</label>
+                                    
+                   <div class="col-sm-9">
+                     <input id="data_sort" name="data[sort]" class="form-control" value="{{ $data['sort'] or ''}}" required="" aria-required="true"  placeholder=""> 
+                    </div>
+                                
+                    </div>    
+                <div class="form-group">
+                                    
+                 <label class="control-label col-sm-3">配置类别</label>
+                                    
+                   <div class="col-sm-9">
+                       <select  aria-required="true" class="form-control" name="category">
+                       @foreach($categories as $cat)
+                           <option value="{{ $cat->key }}" @if(isset($data['category']))  {!! $cat->key == $data['category'] ? ' selected' : '' !!}  @endif>{{ $cat->value }}</option>
+                       @endforeach
+                       </select>
+                    </div>
+                                
+                    </div>    
+                <div class="form-group">
+                                    
+                 <label class="control-label col-sm-3">父节点</label>
+                                    
+                   <div class="col-sm-9">
+                       @if(isset($data['pid']))
+                           {!!  widget('Tools.Setting')->treeSelect('pid', $data['pid']) !!}
+                       @else
+                           {!!  widget('Tools.Setting')->treeSelect('pid', 0) !!}
+                       @endif
+                    </div>
+                                
+                    </div>    
+                <div class="form-group">
+                                    
+                 <label class="control-label col-sm-3">状态</label>
+                                    
+                   <div class="col-sm-9">
+                           <input type="radio" name="data[status]" value="1" @if(!isset($data['status']) || $data['status'] == "1")checked="checked" @endif>启用
+                           &nbsp; &nbsp; &nbsp;
+                           <input type="radio" name="data[status]" value="0" @if(isset($data['status']) && $data['status'] == "0")checked="checked" @endif>禁用
+                    </div>
+                                
+                    </div>
+                                
+                                <div class="form-group">
+                                    <label class="control-label col-sm-3">&nbsp;</label>
+                                    <div class="col-sm-9">
+                                        <input type="hidden" name="_referer" value="<?php echo urlencode(request()->server('HTTP_REFERER'));?>"/>
+                                        <input type="hidden" name="_token" value="<?php echo csrf_token(); ?>"/>
+                                        <input type="submit" class="btn btn-success" style="margin-right:20px;">
+                                        <input type="reset" class="btn btn-default" >
+                                    </div>
+                                </div>
+        
+                            </form>
+                        </div>
+                        <!-- /.col-lg-10 -->
+                    </div>
+                    <!-- /.row -->
+				</div>
+			</div>
+		</div>
+	</div>
+</div>
+
+@endsection

+ 94 - 0
server/resources/views/admin/settings/banner/index.blade.php

xqd
@@ -0,0 +1,94 @@
+@extends('admin.layout') 
+
+@section('content')
+<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>轮播图列表</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">
+				        <form method="GET" action="" accept-charset="UTF-8">
+
+				        <div class="col-sm-4">
+				            <div class="input-group">
+								<input type="text" value="{{Request::get('keyword')}}"	placeholder="id/排序号" name="keyword"class="input-sm form-control">
+								<span class="input-group-btn">
+									<button type="submit" class="btn btn-sm btn-primary">搜索</button>
+								</span>
+    						</div>
+				        </div>
+				        </form>
+    					<div class="col-sm-3 pull-right">
+    					   <a href="{{ U('setting/banner/create')}}" class="btn btn-sm btn-primary pull-right">添加</a>
+    					</div>
+					</div>
+					
+					<table class="table table-striped table-bordered table-hover dataTables-example dataTable">
+						<thead>
+    						<tr>
+								
+            <th class="sorting" data-sort="id">id  </th>
+            <th class="sorting" data-sort="value"> 图片 </th>
+            <th class="sorting" data-sort="sort"> 排序 </th>
+            <th class="sorting" data-sort="status"> 状态 </th>
+        						<th width="22%">相关操作</th>
+        					</tr>
+						</thead>
+						<tbody>
+						@if(isset($list))
+							@foreach($list as $key => $item)							<tr>
+								
+            <td>{{ $item->id }}</td>
+            <td>
+				<img style="width: 40%;height: 40%;" src="{{ $item->value }}" alt="">
+
+			</td>
+            <td>{{ $item->sort }}</td>
+			<td>{{ $item->status == '0' ? '禁用':'启用' }}</td>
+								<td>
+									<div class="btn-group">
+										<button data-toggle="dropdown"
+											class="btn btn-warning btn-sm dropdown-toggle"
+											aria-expanded="false">
+											操作 <span class="caret"></span>
+										</button>
+										<ul class="dropdown-menu">
+
+
+											<li><a href="{{ U('setting/banner/update',['id'=>$item->id])}}" class="font-bold">修改</a></li>
+
+											<li class="divider"></li>
+											<li><a href="{{ U('setting/banner/destroy',['id'=>$item->id])}}" onclick="return confirm('你确定执行删除操作?');">删除</a></li>
+
+										</ul>
+									</div>
+								</td>
+							</tr>
+							@endforeach
+							@endif
+						</tbody>
+					</table>
+					<div class="row">
+						<div class="col-sm-6">
+							<div class="dataTables_info" id="DataTables_Table_0_info"
+								role="alert" aria-live="polite" aria-relevant="all">每页{{ $list->count() }}条,共{{ $list->lastPage() }}页,总{{ $list->total() }}条。</div>
+						</div>
+						<div class="col-sm-6">
+						<div class="dataTables_paginate paging_simple_numbers" id="DataTables_Table_0_paginate">
+						{!! $list->setPath('')->appends(Request::all())->render() !!}
+						</div>
+						</div>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+</div>
+@endsection

+ 6 - 0
server/routes/admin.php

xqd
@@ -19,6 +19,12 @@ Route::get('noauth', 'Auth\LoginController@noauth');
 
 
 Route::group(['middleware' => ['auth.admin']], function() {
+//参数设置
+    Route::get('setting/banner/index', 'Settings\SettingsController@banner');
+    Route::get('setting/banner/create', 'Settings\SettingsController@bannerCreate');
+    Route::get('setting/banner/update', 'Settings\SettingsController@bannerUpdate');
+    Route::get('setting/banner/destroy', 'Settings\SettingsController@bannerDestroy');
+    Route::get('setting/banner/view', 'Settings\SettingsController@bannerView');
 
     $uri =  request()->path();
     $uri = str_replace('admin/' ,'', $uri);