mirror of
https://github.com/ProxyPanel/ProxyPanel.git
synced 2026-04-03 02:58:42 +00:00
Add Article filters to improve admin experience
This commit is contained in:
@@ -7,15 +7,25 @@ use App\Http\Requests\Admin\ArticleRequest;
|
||||
use App\Models\Article;
|
||||
use App\Services\ArticleService;
|
||||
use Exception;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\UploadedFile;
|
||||
use Log;
|
||||
use Str;
|
||||
|
||||
class ArticleController extends Controller
|
||||
{
|
||||
public function index()
|
||||
public function index(Request $request)
|
||||
{ // 文章列表
|
||||
return view('admin.article.index', ['articles' => Article::latest()->orderByDesc('sort')->paginate()->appends(request('page'))]);
|
||||
$categories = Article::whereNotNull('category')->distinct()->get('category');
|
||||
$articles = Article::query();
|
||||
foreach (['id', 'category', 'language', 'type'] as $field) {
|
||||
$request->whenFilled($field, function ($value) use ($articles, $field) {
|
||||
$articles->where($field, $value);
|
||||
});
|
||||
}
|
||||
$articles = $articles->latest()->orderByDesc('sort')->paginate()->appends($request->except('page'));
|
||||
|
||||
return view('admin.article.index', compact('articles', 'categories'));
|
||||
}
|
||||
|
||||
public function store(ArticleRequest $request)
|
||||
|
||||
@@ -53,7 +53,7 @@ class SubscribeController extends Controller
|
||||
$query->whereBetween('request_time', [$request->input('start').' 00:00:00', $request->input('end').' 23:59:59']);
|
||||
}
|
||||
|
||||
$subscribeLogs = $query->latest()->paginate(20)->appends(\request('page'));
|
||||
$subscribeLogs = $query->latest()->paginate(20)->appends($request->except('page'));
|
||||
foreach ($subscribeLogs as $log) {
|
||||
// 跳过上报多IP的
|
||||
if ($log->request_ip) {
|
||||
|
||||
@@ -14,6 +14,40 @@
|
||||
@endcan
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<form class="form-row">
|
||||
<div class="form-group col-xxl-1 col-lg-1 col-md-1 col-sm-4">
|
||||
<input type="number" class="form-control" name="id" value="{{Request::query('id')}}" placeholder="ID"/>
|
||||
</div>
|
||||
<div class="form-group col-xxl-1 col-lg-3 col-md-3 col-4">
|
||||
<select class="form-control" id="type" name="type">
|
||||
<option value="" hidden>类 型</option>
|
||||
<option value="1">文章</option>
|
||||
<option value="2">公告</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-xxl-1 col-lg-3 col-md-3 col-4">
|
||||
<select class="form-control" id="category" name="category">
|
||||
<option value="" hidden>分 类</option>
|
||||
@foreach($categories as $category)
|
||||
<option value="{{$category->category}}">{{$category->category}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-xxl-1 col-lg-3 col-md-3 col-4">
|
||||
<select class="form-control" id="language" name="language">
|
||||
<option value="" hidden>语 言</option>
|
||||
@foreach (config('common.language') as $key => $value)
|
||||
<option value="{{$key}}">
|
||||
<i class="fi fi-{{$value[1]}}"></i> <span style="padding: inherit;">{{$value[0]}}</span>
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-xxl-1 col-lg-3 col-md-3 col-4 btn-group">
|
||||
<button type="submit" class="btn btn-primary">搜 索</button>
|
||||
<a href="{{route('admin.article.index')}}" class="btn btn-danger">{{trans('common.reset')}}</a>
|
||||
</div>
|
||||
</form>
|
||||
<table class="text-md-center" data-toggle="table" data-mobile-responsive="true">
|
||||
<thead class="thead-default">
|
||||
<tr>
|
||||
@@ -61,8 +95,8 @@
|
||||
<i class="icon wb-edit"></i></a>
|
||||
@endcan
|
||||
@can('admin.article.destroy')
|
||||
<button class="btn btn-outline-danger" onclick="delArticle('{{route('admin.article.destroy',$article->id)}}')">
|
||||
<i class="icon wb-close"></i></button>
|
||||
<a class="btn btn-outline-danger" href="javascript:delArticle('{{route('admin.article.destroy',$article->id)}}')">
|
||||
<i class="icon wb-close"></i></a>
|
||||
@endcan
|
||||
</div>
|
||||
@endcanany
|
||||
@@ -92,6 +126,14 @@
|
||||
<script src="/assets/global/vendor/bootstrap-table/extensions/mobile/bootstrap-table-mobile.min.js"></script>
|
||||
@can('admin.article.destroy')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#id').val('{{Request::query('id')}}');
|
||||
$('#type').val('{{Request::query('type')}}');
|
||||
$('#category').val('{{Request::query('category')}}');
|
||||
$('#language').val('{{Request::query('language')}}');
|
||||
$('select').on('change', function() { this.form.submit(); });
|
||||
});
|
||||
|
||||
// 删除文章
|
||||
function delArticle(url) {
|
||||
swal.fire({
|
||||
|
||||
Reference in New Issue
Block a user