bootstrap-table使用笔记
服务端分页:
//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使用笔记的更多相关文章
- Bootstrap Table使用方法详解
http://www.jb51.net/article/89573.htm bootstrap-table使用总结 bootstrap-table是在bootstrap-table的基础上写出来的,专 ...
- JS组件系列——表格组件神器:bootstrap table
前言:之前一直在忙着各种什么效果,殊不知最基础的Bootstrap Table用法都没有涉及,罪过,罪过.今天补起来吧.上午博主由零开始自己从头到尾使用了一遍Bootstrap Table ,遇到不少 ...
- Bootstrap Table急速完美搭建后台管理系统
Bootstrap Table是基于 Bootstrap 的 jQuery 表格插件,通过简单的设置,就可以拥有强大的单选.多选.排序.分页,以及编辑.导出.过滤(扩展)等等的功能:http://bo ...
- [转]JS组件系列——表格组件神器:bootstrap table
原文地址:https://www.cnblogs.com/landeanfen/p/4976838.html 前言:之前一直在忙着各种什么效果,殊不知最基础的Bootstrap Table用法都没有涉 ...
- JS组件系列——表格组件神器:bootstrap table 包含了js对象的定义和对象成员函数的定义
前言:之前一直在忙着各种什么效果,殊不知最基础的Bootstrap Table用法都没有涉及,罪过,罪过.今天补起来吧.上午博主由零开始自己从头到尾使用了一遍Bootstrap Table ,遇到不少 ...
- BootStrap table使用
bootstrap table git address https://github.com/wenzhixin/bootstrap-table 引入文件 <link rel="sty ...
- bootstrap Table 中给某一特定值设置table选中
bootstrap Table 中给某一特定值设置table选中 需求: 如图所示:左边地图人员选定,右边表格相应选中. 功能代码: //表格和图标联动 function changeTableSel ...
- JS组件系列——表格组件神器:bootstrap table(二:父子表和行列调序)
前言:上篇 JS组件系列——表格组件神器:bootstrap table 简单介绍了下Bootstrap Table的基础用法,没想到讨论还挺热烈的.有园友在评论中提到了父子表的用法,今天就结合Boo ...
- JS组件系列——表格组件神器:bootstrap table(三:终结篇,最后的干货福利)
前言:前面介绍了两篇关于bootstrap table的基础用法,这章我们继续来看看它比较常用的一些功能,来个终结篇吧,毛爷爷告诉我们做事要有始有终~~bootstrap table这东西要想所有功能 ...
- JS组件系列——Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
前言:最近项目里面需要用到表格的冻结列功能,所谓“冻结列”,就是某些情况下表格的列比较多,需要固定前面的几列,后面的列滚动.遗憾的是,bootstrap table里自带的fixed column功能 ...
随机推荐
- go7---map
package main /* map 类似其它语言中的哈希表或者字典,以key-value形式存储数据 Key必须是支持==或!=比较运算的类型,不可以是函数.map或slice, 这3中类型都不能 ...
- ubuntu 截图工具 Shutter,设置快捷键 Ctrl+Alt+A
系统设置 键盘 快捷键 自定义快捷键
- 【NOI 2007】 社交网络
[题目链接] 点击打开链接 [算法] 首先,跑floyd,计算最短路和最短路径数 然后,计算答案,枚举k,s,t,若dist[s][k] + dist[k][t] = dist[s][t], 那么,点 ...
- SQLALchemy之ORM操作
1.仍然要创建引擎 2.创建session会话 (1)方式一 engine =create_engine("mysql+pymysql://root:123@127.0.0.1:3306/s ...
- P3564 [POI2014]BAR-Salad Bar
传送门 我是来帮加藤大佬写题解的--全世界都没找到加藤大佬写法的说明--很难受-- 首先我们把\(p\)看成\(1\),\(j\)看成\(-1\),一个区间满足条件就意味着这个区间的所有前缀和都大于等 ...
- 服务器出现 nginx 502 Bad Gateway
发生原因1.PHP FastCGI进程数不够用 当网站并发访问巨大时,php fastcgi的进程数不有一定的保障,因为cgi是单线程多进程工作的,也就是说cgi需要处理完一个页面后再继续下一个页面. ...
- spring 异常处理
1. 实现接口 HandlerExceptionResolver 捕获异常 2.@ExceptionHandler 在方法添加注解,捕获本地controller异常 3.@ControllerAdvi ...
- GIT学习之路第四天 远程仓库
本文参考廖雪峰老师的博客进行总结,完整学习请转廖雪峰博客 git的服务器---Github,自行注册github账号后,按下面的步骤操作: 第一步,事实上,本地Git仓库和Github仓库之间的传输是 ...
- 枚举+贪心 HDOJ 4932 Miaomiao's Geometry
题目传送门 /* 题意:有n个点,用相同的线段去覆盖,当点在线段的端点才行,还有线段之间不相交 枚举+贪心:有坑点是两个点在同时一条线段的两个端点上,枚举两点之间的距离或者距离一半,尽量往左边放,否则 ...
- Javascript DOM 编程艺术(第二版)读书笔记——基本语法
Javascript DOM 编程艺术(第二版),英Jeremy Keith.加Jeffrey Sambells著,杨涛.王建桥等译,人民邮电出版社. 学到这的时候,我发现一个问题:学习过程中,相当一 ...