diff --git a/application/admin/controller/Category.php b/application/admin/controller/Category.php index ca7e31f..b16c4d4 100644 --- a/application/admin/controller/Category.php +++ b/application/admin/controller/Category.php @@ -46,22 +46,33 @@ class Category extends Backend if ($this->request->isAjax()) { $search = $this->request->request("search"); + $type = $this->request->request("type"); + //构造父类select列表选项数据 $list = []; - if ($search) - { + foreach ($this->categorylist as $k => $v) { - if (stripos($v['name'], $search) !== false || stripos($v['nickname'], $search) !== false) - { - $list[] = $v; + if ($search) { + if ($v['type'] == $type && stripos($v['name'], $search) !== false || stripos($v['nickname'], $search) !== false) + { + if($type == "all" || $type == null) { + $list = $this->categorylist; + } else { + $list[] = $v; + } + } + } else { + if($type == "all" || $type == null) { + $list = $this->categorylist; + } else if ($v['type'] == $type){ + $list[] = $v; + } + } + } - } - else - { - $list = $this->categorylist; - } + $total = count($list); $result = array("total" => $total, "rows" => $list); diff --git a/application/admin/view/category/index.html b/application/admin/view/category/index.html index 3c07c85..da8cf50 100644 --- a/application/admin/view/category/index.html +++ b/application/admin/view/category/index.html @@ -1,6 +1,14 @@ <div class="panel panel-default panel-intro"> - {:build_heading()} + <div class="panel-heading"> + {:build_heading()} + <ul class="nav nav-tabs"> + <li class="active"><a href="all" data-toggle="tab">{:__('All')}</a></li> + {foreach name="typeList" item="vo"} + <li><a href="{$key}" data-toggle="tab">{$vo}</a></li> + {/foreach} + </ul> + </div> <div class="panel-body"> <div id="myTabContent" class="tab-content"> <div class="tab-pane fade active in" id="one"> diff --git a/public/assets/js/backend/category.js b/public/assets/js/backend/category.js index 6b9750f..6c4bb67 100644 --- a/public/assets/js/backend/category.js +++ b/public/assets/js/backend/category.js @@ -15,10 +15,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin } }); - var table = $("#table"); - // 初始化表格 - table.bootstrapTable({ + var table = $("#table"); + var tableOptions = { url: $.fn.bootstrapTable.defaults.extend.index_url, escape: false, pk: 'id', @@ -39,10 +38,33 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} ] ] - }); + }; + // 初始化表格 + table.bootstrapTable(tableOptions); // 为表格绑定事件 Table.api.bindevent(table); + + //绑定TAB事件 + $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) { + // var options = table.bootstrapTable(tableOptions); + var typeStr = $(this).attr("href"); + var options = table.bootstrapTable('getOptions'); + options.pageNumber = 1; + options.queryParams = function (params) { + // params.filter = JSON.stringify({type: typeStr}); + params.type = typeStr; + + return params; + }; + table.bootstrapTable('refresh', {}); + return false; + + }); + + //必须默认触发shown.bs.tab事件 + // $('ul.nav-tabs li.active a[data-toggle="tab"]').trigger("shown.bs.tab"); + }, add: function () { Controller.api.bindevent();