修改渲染表格的数据和样式
,formatter:function (value,data,key) {
if(value=='' ||value==null)
return '';
return value;
}
, cellStyle: function (value, row, index) {
// console.log(row);
if (row.goods_name == '《合计》') {
return{
css:{
color:'red',
'font-size':'16px'
}
}
}else{
return{
css:{
color:'FFF'
}
}
}
}
示例2判断2个字段里面的值增加文字和颜色
{field: 'money', title: __('Money'), operate:'BETWEEN'
,formatter:function (value,data,key) {
if(value=='' ||value==null)
return '';
if(parseFloat(data.before)>parseFloat(data.after)){
return '-'+value;
}else{
return '+'+value;
}
}
, cellStyle: function (value, row, index) {
// console.log(row);
if(parseFloat(row.before)>parseFloat(row.after)){
return{
css:{
color:'red',
'font-size':'16px'
}
}
}else{
return{
css:{
color:'FFF'
}
}
}
}
},
//visible隐藏字段,operate隐藏通用搜索
{field: 'uid', title: __('Uid'),visible: false,operate: false},
表格导出不想要的字段内容
fixedColumns: true,
exportTypes: ['json', 'xml', 'csv', 'txt', 'doc', 'excel'],//可以导出的格式
exportOptions: {
fileName: 'he4966.cn_' + Moment().format("YYYY-MM-DD"), //导出名称
ignoreColumn: [0, 'operate', 'buttons', 'image', 'images' 'status'], //不导出字段 也可以是数字第几列
ignoreRow: [],
csvSeparator: "----",//文本分割
},
在表格里面的某个值点击跳转新打开页面
{field: 'items', title: __('Items'), formatter: Controller.api.formatter.newsList},
//在后面添加上自己定义的newsList
formatter: Controller.api.formatter.newsList
然后在
api: {
formatter: {
newsList: function (value, row, index) {
//这里手动构造URL
url = row.table_name.replace(/fa_/g, '')+"/index?cate_id" + "=" + row.id;
//方式一,直接返回class带有addtabsit的链接,这可以方便自定义显示内容
if(value>0){
return '<a href="' + url + '" class="label label-info addtabsit" title="' + __("查看文章列表 %s", row.name) + '">' + value + '</a>';
}else{
return value;
}
//方式二,直接调用Table.api.formatter.addtabs
// this.url = url;
// return Table.api.formatter.addtabs.call(this, value, row, index);
},
},
}
添加自定义操作按钮
示例代码
sortable: true, 某个字段降序升序
columns: [ [ {checkbox: true}, {field: 'id', title: __('Id')}, {field: 'name', title: __('Name'), operate: 'LIKE'}, {field: 'dcate_id', title: __('Dcate_id')}, {field: 'weigh',sortable: true, title: __('Weigh'), operate: false}, {field: 'dcate.name', title: __('Dcate.name'), operate: 'LIKE'}, {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, buttons: [ // { // name: 'click', // title: __('点击执行事件'), // classname: 'btn btn-xs btn-info btn-click', // icon: 'fa fa-leaf', // // dropdown: '更多',//如果包含dropdown,将会以下拉列表的形式展示 // click: function (data) { // Layer.alert("点击按钮执行的事件"); // }
// },
{
name: 'ok', text: '退款', title: '退款', icon: 'fa fa-leaf', confirm: '确定退款给用户吗?',
classname: 'btn btn-xs btn-success btn-ajax',
hidden:function(row){
if(row.status=='2' && row.pay_status=='1'){//支付状态:1=待支付,2=已支付,3=已过期
return false; //显示该按钮
}else{
return true; //隐藏该按钮
}
},
url: function(row){return 'goodsorder/refund?order='+row.order},
success:function(data, ret){
Layer.msg(ret.msg);
$(".btn-refresh").trigger("click");
},
error:function(err){
console.log(err);
}
},
{name:'detail',text:'查看领用生活物资捐赠报表',title:'查看领用生活物资捐赠报表',classname:'btn btn-xs btn-primary btn-dialog',icon:'fa fa-cogs',url:'/cms/stock/department_out1?department_id={ids}'}, { name: 'detail', text: __('出库总汇'), title: __('出库总汇'), classname: 'btn btn-xs btn-primary btn-dialog', icon: 'fa fa-list', url: '/cms/stock/department_out?department_id={ids}', callback: function (data) { Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
},
extend: 'data-area=\'["80%", "80%"]\'',//窗口大小定义
}, // { // name: 'ajax', // title: __('发送Ajax'), // classname: 'btn btn-xs btn-success btn-magic btn-ajax', // icon: 'fa fa-magic', // confirm: '确认发送Ajax请求?', // url: 'example/bootstraptable/detail', // success: function (data, ret) { // Layer.alert(ret.msg + ",返回数据:" + JSON.stringify(data)); // //如果需要阻止成功提示,则必须使用return false; // //return false; // }, // error: function (data, ret) { // console.log(data, ret); // Layer.alert(ret.msg); // return false; // } // }, // { // name: 'addtabs', // title: __('查看领取总汇'), // classname: 'btn btn-xs btn-warning btn-addtabs', // icon: 'fa fa-folder-o', // url: '/cms/stock/department_out?department_id={ids}' // } ],formatter: Table.api.formatter.operate} ] ]
用Layer点击图片放大(可用于自添加页面)
js里面添加
layer.photos({
photos: '.photos',//图片的上级选择器
tab: function(pic, layero){
console.log(pic) //当前图片的一些信息
}
});
<td style="text-align: center; vertical-align: middle; " class="photos">
<a href="javascript:"><img class="img-sm img-center" src="/image/he4996.cn.png"></a>
</td>
表格批量打印选中项
1 添加html按钮 (自行给没有权限的添加权限即可)
<a href="javascript:;" class="btn btn-danger btn-prints btn-disabled disabled {:$auth->check('goodsorder/prints')?'':'hide'}" title="{:__('prints')}" ><i class="fa fa-print"></i> {:__('prints')}</a>
2 修改require-table.js
在config里面添加 需要绑定的事件元素prints:'.btn-prints',
示例
config{
prints:'.btn-prints', //绑定事件名:给那个元素绑定事件
}
//button 在80行左右里面添加按钮 非必需
//prints: {
// name: 'prints', // icon: 'fa fa-print', // title: __('打印快递单'), // extend: 'data-toggle="tooltip"', // classname: 'btn btn-xs btn-danger btn-prints' // }, //在300行左右 // 刷新按钮事件后面添加都行 // 打印按钮事件 toolbar.on('click', Table.config.prints, function () { // table.bootstrapTable('refresh');//表格刷新 var that = this; var ids = Table.api.selectedids(table); console.log(ids); if (ids.length < 1) { Layer.msg('请选择需要打印的订单') return; } // Layer.msg('打印中请稍等'); var url = '/api/kuaidi/prints?self=true&ids2='+ids.join(',');//自行修改地址 var ids = ids.join(','); Fast.api.ajax({ url: url, data: {ids: ids} }, function () { table.trigger("uncheckbox"); table.bootstrapTable('refresh'); }); return false; // window.open(url); });
编辑窗口新打开窗口示例
edit: function () {
//添加添加按钮 新弹窗打开 <a href="javasript:;" joborder_id="{$row.id}" class="btn add-jobordermoney btn-info {:$auth->check('jobordermoney/add')?'':'hide'}" title="{:__('添加打款记录')}" ><i class="fa fa-plus javascript:; "></i> {:__('添加打款记录')}</a>
$('.add-jobordermoney').click(function () {
var joborder_id = $('.add-jobordermoney').attr('joborder_id');
Fast.api.open('/h.php/jobordermoney/add?joborder_id='+joborder_id, '添加打款记录',{
area:["60%", "70%"],
callback: function(data){
$(".refresh").trigger("click");//刷新当前页面的数据
//data值为test/detail页面中使用Fast.api.close(data)回调的值
}
});
// Backend.api.addtabs('/h.php/jobordermoney/add?joborder_id={$row.id}', '添加打款记录');
});
//刷新该页面 <button type="" class="btn refresh">{:__('刷新')}</button>
$('.refresh').click(function () {
// alert('刷新');
window.location.reload();
});
//删除表格里的某条数据 <td><a href="javascript:;" data-id="{$v.id}" class="del del-logbtn-info {:$auth->check('jobordermoney/del')?'':'hide'}">删除</a></td>
$('.del').click(function () {
var that = this;
// var id = $(this).attr('data-id');
layer.confirm('您确定要删除吗?', {
btn: ['确定','取消']
}, function(index){
var id = $(that).attr('data-id');
Fast.api.ajax("/h.php/jobordermoney/del?ids="+id, function(data, ret){
//data为使用$this->success("操作成功", "", $data);中$data的值
//ret为{"code":1 "data":$data, "msg":"操作成功"}
Layer.msg("删除成功");
window.location.reload();//刷新该页面
});
// window.location.reload();
}, function(index){
// Layer.msg("点击取消按钮执行的事件");
});
});
// $(".btn-refresh").trigger("click");
Controller.api.bindevent();
},
表格里面的按钮修改弹窗的大小
在index表格渲染后加入
//加在
table.bootstrapTable({});之后
table.on('post-body.bs.table',function(){
$(".btn-bill").data("area",["80%","80%"]); })
index: function () {
//加在最上面
$(".btn-add").data("area",["100%","100%"]);
$(".btn-edit").data("area",["100%","100%"]);
在某个按钮上修改大小如下
<a href="bill/users?type_status" class="btn-dialog addtabsit2 button" data-area='["75%","60%"]' title="用户">
<button type="button" class="btn btn-default" disabled>QQ496631085</button>
</a>
favisible动态显示selectpage表单验证失效
data-favisible="type=edit"