list
列表页面
列表页面包含分页(根据指定条件)查询数据列表,添加,修改,删除按钮列表页面针对:添加按钮做了权限控制,具体逻辑在下文再详细描述
@layout("/common/layout.html"){
<div class="block-header">
<h2>参数管理</h2>
</div>
<div class="card">
<div class="card-body card-padding">
<div class="row row-lg">
<div class="col-sm-12">
<div class="hidden-xs" id="CfgTableToolbar" role="group">
<div class="col-sm-3">
<#NameCon id="cfgName" placeholder="参数名" />
</div>
<div class="col-sm-3">
<#NameCon id="cfgValue" placeholder="参数值" />
</div>
<#button name="搜索" icon="fa-search" clickFun="Cfg.search()"/>
<#button name="重置" icon="fa-refresh" clickFun="Cfg.reset()" btnCss="info" space="true"/>
@if(shiro.hasPermission("/cfg/add")){
<#button name="添加" icon="fa-plus" clickFun="Cfg.openAddCfg()" space="true"/>
@}
</div>
<#table id="CfgTable"/>
</div>
</div>
</div>
</div>
<script src="${ctxPath}/static/modular/system/cfg/cfg.js"></script>
@}
查询列表数据的js代码:
/**
* 系统参数管理初始化
*/
var Cfg = {
id: "CfgTable", //表格id
seItem: null, //选中的条目
table: null,
layerIndex: -1
};
/**
* 初始化表格的列
*/
Cfg.initColumn = function () {
return [
{field: 'selectItem', checkbox: true},
{title: 'ID', field: 'id', visible: true, align: 'center', valign: 'middle'},
{title: '参数名', field: 'cfgName', visible: true, align: 'center', valign: 'middle',formatter:function(data,row){
return '<a href="javascript:;" onclick="Cfg.openCfgDetail('+row.id+')">'+data+'</a>';
}},
{title: '参数值', field: 'cfgValue', visible: true, align: 'center', valign: 'middle'},
{title: '参数描述', field: 'cfgDesc', visible: true, align: 'center', valign: 'middle'},
{title: '操作',formatter:function(data,row){
return '<button type="button" class="btn btn-info btn-icon waves-effect waves-circle" onclick="Cfg.delete('+row.id+')" title="删除"><span class="zmdi zmdi-delete"></span></button>';
}}
];
};
/**
* 查询系统参数列表
*/
Cfg.search = function () {
var queryData = {};
queryData['cfgName'] = $("#cfgName").val();
queryData['cfgValue'] = $("#cfgValue").val();
Cfg.table.refresh({query: queryData});
};
Cfg.reset = function () {
$("#cfgName").val("");
$("#cfgValue").val("");
this.search();
};
$(function () {
var defaultColunms = Cfg.initColumn();
var table = new BSTable(Cfg.id, "/cfg/list", defaultColunms);
table.setPaginationType("server");
Cfg.table = table.init();
});
后台代码
CfgController
/**
* 跳转到参数首页
*/
@RequestMapping(value = "",method = RequestMethod.GET)
public String index() {
return PREFIX + "cfg.html";
}
/**
* 分页查询系统参数
*/
@RequestMapping(value = "/list",method = RequestMethod.POST)
@ResponseBody
public Object list(@RequestParam(required = false) String cfgName, @RequestParam(required = false) String cfgValue) {
Page<Cfg> page = new PageFactory<Cfg>().defaultPage();
if(StringUtils.isNotEmpty(cfgName)){
page.addFilter(SearchFilter.build("cfgName", SearchFilter.Operator.LIKE, cfgName));
}
if(StringUtils.isNotEmpty(cfgValue)){
page.addFilter(SearchFilter.build("cfgValue", SearchFilter.Operator.LIKE, cfgValue));
}
page = cfgService.queryPage(page);
return packForBT(page);
}