Zhouzhendong 5 lat temu
rodzic
commit
c27467015a

+ 8 - 17
app/Http/Controllers/LogController.php

@@ -7,6 +7,7 @@ use App\Services\LogService;
 use Exception;
 use Illuminate\Contracts\Foundation\Application;
 use Illuminate\Contracts\Pagination\LengthAwarePaginator;
+use Illuminate\Database\Eloquent\Builder;
 use Illuminate\Http\RedirectResponse;
 use Illuminate\Http\Request;
 use Illuminate\Http\Response;
@@ -34,7 +35,8 @@ class LogController extends Controller
             !$request->has('created_at_end') &&
             !$request->has('operation') &&
             !$request->has('type') &&
-            !$request->has('description')
+            !$request->has('description') &&
+            !$request->has("is_exception")
         ) {
             $logs = Log::query()
                 ->orderBy('id', 'desc')
@@ -65,6 +67,11 @@ class LogController extends Controller
         if ($request->has('created_at_end')) {
             $query->where('created_at', '<=', $request->created_at_end);
         }
+        if ($request->has("is_exception")){
+            $query->where(function(Builder $query){
+                $query->where("type","like","ERROR%")->orWhere("type","like","EXCEPTION%");
+            });
+        }
         $query->orderByDesc('id');
         $logs = $query->paginate($request->paginate??50);
         return view('maintenance.log.index', ['logs' => $logs]);
@@ -81,22 +88,6 @@ class LogController extends Controller
         return view('maintenance.log.show', ['log' => $log]);
     }
 
-
-    /**
-     * Remove the specified resource from storage.
-     *
-     * @param Log $log
-     * @return array|Response
-     * @throws Exception
-     */
-    public function destroy(Log $log)
-    {
-//        if(!Gate::allows('物流公司-删除')){ return redirect(url('/'));  }
-//        app('LogService')->log(__METHOD__,__FUNCTION__,$log->toJson(),Auth::user()['id']);
-//        $re=$log->delete();
-//        return ['success'=>$re];
-    }
-
     public function syncRedisLogs()
     {
         LogService::syncRedisLogs();

+ 2 - 1
app/Http/Controllers/TestController.php

@@ -99,7 +99,8 @@ class TestController extends Controller
     }
     public static function zzd()
     {
-        Cache::pull("authorities");
+        $r = new \ReflectionClass('App\Http\Controllers\UnitsController');
+        dd($r->getMethods(),$r->getConstants());
     }
 
     public function updateLaborRemark(){

+ 7 - 0
app/Log.php

@@ -4,6 +4,7 @@ namespace App;
 
 use Illuminate\Database\Eloquent\Model;
 use App\Traits\ModelTimeFormat;
+use Illuminate\Support\Str;
 
 class Log extends Model
 {
@@ -19,4 +20,10 @@ class Log extends Model
         }
         return '';
     }
+    public function getExceptionMarkAttribute(){
+        if (Str::upper(substr($this->type,0,1)) != 'E')return 'N';
+        if (Str::upper(substr($this->type,0,5)) == 'ERROR' || Str::upper(substr($this->type,0,9)) == 'EXCEPTION')
+            return 'Y';
+        return 'N';
+    }
 }

+ 19 - 0
resources/views/maintenance/log/_taskModal.blade.php

@@ -0,0 +1,19 @@
+<div class="modal fade" tabindex="-1" role="dialog" id="task">
+    <div class="modal-dialog modal-xl modal-dialog-centered modal-dialog-scrollable">
+        <div class="modal-content">
+            <div class="modal-header">
+                <div class="container-fluid">
+                    <div class="row">
+
+                    </div>
+                </div>
+            </div>
+            <div class="modal-body">
+                <div v-html="detail"></div>
+            </div>
+            <div class="modal-footer">
+
+            </div>
+        </div>
+    </div>
+</div>

+ 6 - 4
resources/views/maintenance/log/index.blade.php

@@ -31,8 +31,8 @@
                         <th>ip</th>
                         <th>时间</th>
                     </tr>
-                    <tr v-for="log in logs" class="hover" @click="logsClick(log)" style="cursor: pointer">
-                        <td class="text-muted">@{{log.id}}</td>
+                    <tr v-for="log in logs" class="hover" @click="logsClick(log)" style="cursor: pointer;">
+                        <td class="text-muted">@{{log.id}}<span class="badge badge-danger small pull-right mr-3" v-if="log.mark == 'Y'">异常</span></td>
                         <td>@{{log.user_name}}</td>
                         <td>@{{log.operation}}</td>
                         <td>@{{log.type}}</td>
@@ -70,7 +70,8 @@
                         operation: '{{$log->operation}}',
                         type: '{{$log->type}}',
                         ip: '{{$log->ip}}',
-                        created_at: '{{$log->created_at}}'
+                        created_at: '{{$log->created_at}}',
+                        mark:'{{$log->exception_mark}}',
                     },
                     @endforeach
                     @endif
@@ -83,7 +84,8 @@
                         {name: 'type', type: 'input', tip: '操作', placeholder: '类型'},
                         {name: 'description', type: 'input', tip: '详情:可在两侧添加百分号(%)进行模糊搜索', placeholder: '详情'},
                         {name:'created_at_start',type:'dateTime',tip:'选择显示指定日期的起始时间'},
-                        {name:'created_at_end',type:'dateTime',tip:'选择显示指定日期的截止'}
+                        {name:'created_at_end',type:'dateTime',tip:'选择显示指定日期的截止'},
+                        {name:'is_exception',type:'checkbox',tip:'仅显示异常', data: [{name: 'true', value: '仅显示异常'}]}
                     ]
                 ];
                 this.from = new query({

+ 18 - 2
resources/views/maintenance/log/show.blade.php

@@ -10,7 +10,8 @@
             </li>
         @endcomponent
     </div>
-    <div class="container-fluid">
+    <div class="container-fluid" id="container">
+        {{--@include("maintenance.log._taskModal")--}}
         <div class="card ">
             <div class="card-body">
                 <table class="table table-striped">
@@ -32,7 +33,10 @@
                     </tr>
                     <tr>
                         <td>详细</td>
-                        <td style="word-break: break-all;">{{$log['description']}}</td>
+                        <td style="word-break: break-all;">
+                            {{--<button v-if="mark == 'Y'" class="btn btn-sm btn-success ml-2" data-toggle="modal" data-target="#task">重新分发</button>--}}
+                            <div {{--v-else--}} v-html="detail"></div>
+                        </td>
                     </tr>
                     <tr>
                         <td>用户</td>
@@ -47,3 +51,15 @@
         </div>
     </div>
 @endsection
+
+@section('lastScript')
+<script>
+    new Vue({
+        el:"#container",
+        data:{
+            mark:"{{$log['exception_mark']}}",
+            detail:"{{$log['description']}}".split('|'),
+        },
+    });
+</script>
+@stop

+ 3 - 0
routes/web.php

@@ -159,6 +159,9 @@ Route::group(['prefix'=>'maintenance'],function(){
     Route::group(['prefix'=>'carType'],function (){
         Route::post('get','CarTypesController@get');
     });
+    Route::group(['prefix'=>"log"],function (){
+        Route::get("exception",'LogController@exception');
+    });
 
     Route::get('syncRedisLogs','LogController@syncRedisLogs');
     Route::resource('log', 'LogController');