服务端分页:

//html
<div class="container-fluid">
<div style="margin-top:1em"></div>
<form action="${basePath}admin/wp/wpDayOrderReceivable.xhtml" class="form-inline" role="form" method="post">
<input type="hidden" name="isXls" id="isXls" />
<div class="form-group">
<label for="startTimeSearch" class="control-label">日期</label>
<div class="input-group date form_date">
<input class="form-control" id="startTime" name="startTime" type="text" value='$!DateUtil.format($!command.startTime,"yyyy-MM-dd")' onfocus="WdatePicker({minDate:'2014-12-01',maxDate:'$!command.endTime'})">
</div>
</div>
<div class="form-group">
<label for="endTimeSearch" class="control-label">-</label>
<div class="input-group date form_date" >
<input class="form-control" id="endTime" name="endTime" type="text" value='$!DateUtil.format($!command.endTime,"yyyy-MM-dd")' onfocus="WdatePicker()">
</div>
</div>
<div class="form-group">
<label for="payName" class="control-label">支付渠道</label>
<select id="payName" name="payName" class="form-control" onchange="Changed(this.value)">
$!{DisplayUtil.getWeipiaoDisplay($!{command.merchantNo})}
</select>
</div>
<div class="form-group">
<label for="merchantNo" class="control-label">商户号</label>
<select id="merchantNo" name="merchantNo" class="form-control">
</select>
<button type="button" onclick="javascript:refreshTable()" class="btn btn-default">查询</button>
</div>
<div class="form-group">
<button type="button" onclick="javascript:downloadxls()" class="btn btn-default">导出xls</button>
</div>
</form>
<br>
<table id="table" class="table table-hover table-bordered">
</table>
</div> //js
$(function () {
Changed('$!command.merchantNo');
$('#table').bootstrapTable({
url:"${basePath}admin/wp/wpDayOrderReceivable.xhtml",
method: 'get',
pagination: true,
sidePagination: "server",
pageSize: 10,
queryParams:getParams,
columns:[{
title: '交易时间',
field: 'transactiondate',
formatter: dateFormater
},{
title: 'ID',
field: 'id',
visible:false
},{
title: '支付渠道',
field: 'merchantName'
},{
title: '商户号',
field: 'merchantNo'
},{
title: '交易金额',
field: 'successAmount',
formatter: valueFormater
},{
title: '退款金额',
field: 'refundAmount',
formatter: valueFormater
},{
title: '应收金额',
field: 'yingshou',
formatter: valueFormater
},{
title: '详情',
formatter: operateFormatter
}]
})
}); function operateFormatter(value, row, index){
if(row.id){
var a='<a href="${basePath}admin/wp/wpOrderReceivableDetail.xhtml?id='+row.id+"&startTime="+row.transactiondate+"&merchantNo="+row.merchantNo+'" class="btn btn-default" role="button">详情</a>';
return a;
}
}
function fmoney(s, n) {
s = (s/100).toFixed(n) + "";
var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1];
t = "";
for (i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
}
return t.split("").reverse().join("") + "." + r;
}
function valueFormater(value, row, index){
var v=fmoney(value,2);
return v;
}
function dateFormater(value, row, index) {
if(value){
return value.substr(0,10)
}
}
function getParams(params){
params.startTime=$('#startTime').val();
params.endTime=$('#endTime').val();
params.merchantNo=$('#merchantNo').val();
return params;
}
function refreshTable() {
table.bootstrapTable('refresh');
}

后台逻辑代码:

返回格式:json  {total:23,rows[{...},{...}]}

 @RequestMapping("/admin/wp/wpDayOrderReceivable.xhtml")
public String getDayWeiPiaoOrderReceivable(CarDistributorCommand command, ModelMap model,HttpServletResponse response){
if(StringUtils.isBlank(command.getMerchantNo())){
return showJsonError(model,"merchantNo not null");
}
Integer count=weipiaoIncomeDetailService.getWeipiaoOrderReceivableCount(command);
List<WeipiaoOrderReceivable> lists=weipiaoIncomeDetailService.getWeipiaoOrderReceivable(command);
if (StringUtils.isNotBlank(command.getIsXls())) {
model.put("list",lists);
download("xls", response);
return "/weipiao/wporderReceivableXls.vm";
}
for(WeipiaoOrderReceivable wp:lists){
wp.setMerchantName(WeiPiaoCate.getWeipiao(wp.getMerchantNo()));
}
List<WeipiaoOrderReceivable> sums=weipiaoIncomeDetailService.getWeipiaoOrderReceivableMonth(command);
WeipiaoOrderReceivable w=sums.get(0);
w.setMerchantName(null);
w.setTransactiondate(null);
w.setMerchantNo("合计");
lists.add(w); Map<String,Object> map= Maps.newHashMap();
map.put("total",count);
map.put("rows",lists);
String resultJson = JsonUtils.writeObjectToJson(map);
return showDirectJson(model,resultJson);
}

前台分页:

//html
<div class="container-fluid">
<div style="margin-top:1em"></div>
<form action="${basePath}admin/wp/wpOrderReceivableMonth.xhtml" class="form-inline" role="form" method="post">
<div class="form-group">
<label for="startTimeSearch" class="control-label">日期</label>
<div class="input-group date form_date">
<input class="form-control" name="startTime" type="text" value='$!DateUtil.format($!command.startTime,"yyyy-MM")' onclick="WdatePicker({dateFmt:'yyyy-MM'})">
</div>
<button type="button" onclick="javascript:document.forms[0].submit()" class="btn btn-default">查询</button>
</div>
</form>
<table id="table" class="table table-hover table-bordered" data-show-columns="true"
data-side-pagination="client"
data-pagination="true"
data-page-size="10">
<thead>
<tr>
<th data-field="date" data-sortable="true">期间</th>
<th data-field="mname" data-sortable="true">支付渠道</th>
<th data-field="mcode" data-sortable="true">商户号</th>
<th data-field="jiaoyi" data-sortable="true">交易金额</th>
<th data-field="tuikuan" data-sortable="true">退款金额</th>
<th data-field="yingshou" data-sortable="true">应收金额</th>
<th data-field="detail" data-sortable="true">详情</th>
</tr>
</thead>
</table>
</div>
//js
var table = $('#table');
$(function () {
var data = [
#set($a2=0)
#set($a3=0)
#set($a4=0)
#set($a5=0)
#set($a6=0)
#foreach($re in ${list})
{
"date": "$!DateUtil.format($!re.transactiondate,'yyyy-MM')",
"mname":"$!re.merchantName",
"mcode":"$!re.merchantNo",
#set($a2=$a2 + $!re.successAmount)
"jiaoyi": "$!VmUtils.formatPercent($!re.successAmount, 100, '###,##0.00')",
#set($a3=$a3 + $!re.refundAmount)
"tuikuan": "$!VmUtils.formatPercent($!re.refundAmount, 100, '###,##0.00')",
#set($a6=$a6 + $!re.yingshou)
"yingshou": "$!VmUtils.formatPercent($!re.yingshou, 100, '###,##0.00')",
"detail":'<a href="${basePath}admin/wp/wpOrderReceivable.xhtml?merchantNo=$!re.merchantNo&startTime=$!re.transactiondate" class="btn btn-default" role="button">详情</a>'
}
,
#end
{"date":"合计","mname":"","mcode":"","jiaoyi":"$!VmUtils.formatPercent($!a2, 100, '###,##0.00')","tuikuan":"$!VmUtils.formatPercent($!a3, 100, '###,##0.00')","yingshou":"$!VmUtils.formatPercent($!a6, 100, '###,##0.00')"}
];
table.bootstrapTable({data : data});
});

后台直接绑定数据:

@RequestMapping("/admin/wp/wpOrderReceivableMonth.xhtml")
public String getMonthWeiPiaoOrderReceivable(CarDistributorCommand command, ModelMap model){
if(command.getStartTime()==null){
command.setStartTime(DateUtil.getMonthFirstDay(DateUtil.getCurFullTimestamp()));
}
if(command.getEndTime()==null){
command.setEndTime(DateUtil.getNextMonthFirstDay(DateUtil.getCurFullTimestamp()));
}
List<WeipiaoOrderReceivable> wos=weipiaoIncomeDetailService.getWeipiaoOrderReceivableMonth(command);
model.put("command",command);
model.put("list",wos);
return "/weipiao/wporderReceivableMonth.vm";
}

bootstrap-table使用笔记的更多相关文章

  1. Bootstrap Table使用方法详解

    http://www.jb51.net/article/89573.htm bootstrap-table使用总结 bootstrap-table是在bootstrap-table的基础上写出来的,专 ...

  2. JS组件系列——表格组件神器:bootstrap table

    前言:之前一直在忙着各种什么效果,殊不知最基础的Bootstrap Table用法都没有涉及,罪过,罪过.今天补起来吧.上午博主由零开始自己从头到尾使用了一遍Bootstrap Table ,遇到不少 ...

  3. Bootstrap Table急速完美搭建后台管理系统

    Bootstrap Table是基于 Bootstrap 的 jQuery 表格插件,通过简单的设置,就可以拥有强大的单选.多选.排序.分页,以及编辑.导出.过滤(扩展)等等的功能:http://bo ...

  4. [转]JS组件系列——表格组件神器:bootstrap table

    原文地址:https://www.cnblogs.com/landeanfen/p/4976838.html 前言:之前一直在忙着各种什么效果,殊不知最基础的Bootstrap Table用法都没有涉 ...

  5. JS组件系列——表格组件神器:bootstrap table 包含了js对象的定义和对象成员函数的定义

    前言:之前一直在忙着各种什么效果,殊不知最基础的Bootstrap Table用法都没有涉及,罪过,罪过.今天补起来吧.上午博主由零开始自己从头到尾使用了一遍Bootstrap Table ,遇到不少 ...

  6. BootStrap table使用

    bootstrap table git address https://github.com/wenzhixin/bootstrap-table 引入文件 <link rel="sty ...

  7. bootstrap Table 中给某一特定值设置table选中

    bootstrap Table 中给某一特定值设置table选中 需求: 如图所示:左边地图人员选定,右边表格相应选中. 功能代码: //表格和图标联动 function changeTableSel ...

  8. JS组件系列——表格组件神器:bootstrap table(二:父子表和行列调序)

    前言:上篇 JS组件系列——表格组件神器:bootstrap table 简单介绍了下Bootstrap Table的基础用法,没想到讨论还挺热烈的.有园友在评论中提到了父子表的用法,今天就结合Boo ...

  9. JS组件系列——表格组件神器:bootstrap table(三:终结篇,最后的干货福利)

    前言:前面介绍了两篇关于bootstrap table的基础用法,这章我们继续来看看它比较常用的一些功能,来个终结篇吧,毛爷爷告诉我们做事要有始有终~~bootstrap table这东西要想所有功能 ...

  10. JS组件系列——Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案

    前言:最近项目里面需要用到表格的冻结列功能,所谓“冻结列”,就是某些情况下表格的列比较多,需要固定前面的几列,后面的列滚动.遗憾的是,bootstrap table里自带的fixed column功能 ...

随机推荐

  1. [Codeforces 425A] Sereja and Swaps

    [题目链接] https://codeforces.com/contest/425/problem/A [算法] 枚举最终序列的左端点和右端点 , 尝试用这段区间中小的数与区间外大的数交换 时间复杂度 ...

  2. 逻辑频道号---DVB NIT LCN

    先介绍NIT,NIT描述如下: 有一点要注意,NIT是对大网的描述,即NIT并不是描述当前的流,而是描述大网的某些或者全部流.如下图,TS流描述1-6共对6个频点不同的TS流进行了描述,具体对哪一个流 ...

  3. P4161 [SCOI2009]游戏

    传送门 首先这题的本质就是把\(n\)分成若干个数的和,求他们的\(lcm\)有多少种情况 然后据说有这么个结论:若\(p_1^{c_1}+p_2^{c_2}+...+p_m^{c_m}\leq n\ ...

  4. Moco模拟服务器post&get请求 (二)

    1.moco启动命令如下:java -jar moco-runner-0.12.0-standalone.jar 协议类型 -p 端口号 -c json配置文件 2.带参数的get请求 [ { &qu ...

  5. Maven构建的生命周期

    什么是构建生命周期 构建生命周期是一组阶段的序列(sequence of phases),每个阶段定义了目标被执行的顺序.这里的阶段是生命周期的一部分.举例说明,一个典型的 Maven 构建生命周期是 ...

  6. CSS布局大全

    前几天面试,问我某布局感觉回答不是很OK所以研究了一下各种布局. 一.单列布局 1.普通布局(头部.内容.底部) <div class="container"> < ...

  7. 使用nginx加zuul配置

    配置文件 $ ls -lrt -rw-r--r-- 1 root root 826 May 10 10:56 nginx.conf $ pwd /etc/nginx 增加配置 在http {}里 up ...

  8. [HAOI2006]均分数据

    题解 今天下午刚学了模拟退火 借这个题来总结下模拟退火的要注意的问题吧 1 : \(eps\)不要设的太大 2 : 初温\(T\)在2000左右就差不多可以了 3 : 注意题目要求是要求最大值还是最小 ...

  9. 贪心 FZU 2013 A short problem

    题目传送门 /* 题意:取长度不小于m的序列使得和最大 贪心:先来一个前缀和,只要长度不小于m,从m开始,更新起点k最小值和ans最大值 */ #include <cstdio> #inc ...

  10. .net引用System.Data.SQLite操作SQLite

    之所以要做这个笔记,是因为在.NET中使用System.Data.SQLite的时候,遇到了些问题,这些问题是相对于引用其他dll没有遇到过的,所以作个笔记,记录一下. 简单起见,首先建立一个控制台项 ...