服务端分页:

//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. [RK3288][Android6.0] 调试笔记 --- 录音音量从HAL到APP层会变小问题【转】

    本文转载自:http://blog.csdn.net/kris_fei/article/details/72783843?locationNum=9&fps=1 Platform: Rockc ...

  2. 7-80 HTML5新增的JS选择器

    7-80 HTML5新增的JS选择器 学习要点 HTML5新增的JS选择器 在传统的 JavaScript 开发中,原生的 JavaScript 所提供的 DOM 选择方法并不多,仅仅局限于通过 ta ...

  3. 洛谷 P1351 联合权值 —— 树形DP

    题目:https://www.luogu.org/problemnew/show/P1351 树形DP,别忘了子树之间的情况(拐一下距离为2). 代码如下: #include<iostream& ...

  4. SQLServer 存储过程 SET NOCOUNT { ON | OFF } 的使用

    在JDBC中调用 sql server 的存储过程时“该语句没有返回结果集”异常: 解决方法:在存储过程首行加上   SET NOCOUNT ON   使返回的结果中不包含有关受 Transact-S ...

  5. 2-4 原生小程序 - 自带组件及API

    获取用户的信息有两种,一种是不需要登录的,我们只需要获取用户的头像,还有微信的名.还有一种是登录的,就是登录后台校验的,就是获取用户的openid. webview,可以内嵌一个网页,类似于原生的开发 ...

  6. ElasticSearch NEST

    1. 什么是ElasticSearch? ElasticSearch is a powerful open source search and analytics engine that makes ...

  7. 基于CentOS7.5的 Rsync 服务详解

    第1章 Rsync概述 1.1 Rsync基本概述 rsync是一款开源的备份工具,可以在不同服务器(主机)之间进行同步备份, 可实现完全备份与增量备份,因此非常适合用于架构集中式备份或异地备份等应用 ...

  8. bzoj 1618: [Usaco2008 Nov]Buying Hay 购买干草【背包】

    好像是完全背包吧分不清了-- 好像是把数组二维压一维的时候,01背包倒序,完全背包正序 ```cpp include include using namespace std; const int N= ...

  9. git merge合并时遇上refusing to merge unrelated histories的解决方案

    如果git merge合并的时候出现refusing to merge unrelated histories的错误,原因是两个仓库不同而导致的,需要在后面加上--allow-unrelated-hi ...

  10. spring cloud config搭建说明例子(四)-补充配置文件

    服务端 ConfigServer pom.xml <dependency> <groupId>org.springframework.cloud</groupId> ...