提交 9e08a8e5 编写于 作者: 孙建华

improve: 分类列表页展示两级且可页面内即时搜索

上级 d3ff4425
......@@ -12,7 +12,7 @@ class CategoryRepository
{
use Searchable;
public static function list($perPage, $condition = [])
public static function listSingle($perPage, $condition = [])
{
$data = Category::query()
->where(function ($query) use ($condition) {
......@@ -37,6 +37,42 @@ class CategoryRepository
];
}
public static function list($perPage, $condition = [])
{
$list = [];
$data = Category::query()
->where(function ($query) use ($condition) {
Searchable::buildQuery($query, $condition);
})
->orderBy('id', 'desc')
->paginate($perPage);
$data->each(function ($item, $key) use (&$list) {
xssFilter($item);
$item->editUrl = route('admin::category.edit', ['id' => $item->id]);
$item->parentName = $item->pid == 0 ? '顶级菜单' : $item->parent->name;
$item->entityName = $item->entity ? $item->entity->name : '';
unset($item->entity);
array_push($list, $item);
$item->children->each(function ($v, $k) use (&$list) {
$v->editUrl = route('admin::category.edit', ['id' => $v->id]);
//$v->parentName = $v->pid == 0 ? '顶级菜单' : $v->parent->name;
//$v->entityName = $v->entity ? $v->entity->name : '';
$v->name = '|--------' . $v->name;
array_push($list, $v);
});
unset($item->children);
});
return [
'code' => 0,
'msg' => '',
'count' => count($list),
'data' => $list,
];
}
public static function add($data)
{
return Category::query()->create($data);
......
......@@ -22,7 +22,7 @@
</form>
</div>
<div class="layui-card-body">
<table class="layui-table" lay-data="{url:'{{ route('admin::category.list') }}?{{ request()->getQueryString() }}', page:true, limit:50, id:'test', toolbar:'<div><a href=\'{{ route('admin::category.create') }}\'><i class=\'layui-icon layui-icon-add-1\'></i>新增分类</a></div>'}" lay-filter="test">
<table class="layui-table" lay-data="{url:'{{ route('admin::category.list') }}?{{ request()->getQueryString() }}', page:true, limit:50, id:'test', toolbar:'<div><a href=\'{{ route('admin::category.create') }}\'><i class=\'layui-icon layui-icon-add-1\'></i>新增分类</a><div class=\'layui-input-inline\'><input type=\'text\' name=\'word\' class=\'layui-input\' id=\'word\' placeholder=\'当前表格内搜索\'></div></div>'}" lay-filter="test">
<thead>
<tr>
<th lay-data="{field:'id', width:80, sort: true}">ID</th>
......@@ -57,5 +57,26 @@
elem: '#created_at',
range: '~'
});
$('#word').keyup(function () {
$('.layui-table tr').each(function(i, v){
$(v).css({"background-color": ""});
});
var word = $.trim($(this).val()).toLowerCase();
if (word.length === 0) {
return;
}
$('.layui-table tr').each(function(i, v){
$(v).find('td').each(function(ii, vv) {
if ($(vv).text().toLowerCase().indexOf(word) >= 0) {
$(v).css({"background-color": "yellow"});
return false;
}
});
});
});
</script>
@endsection
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册