BootstrapTable 表格 checkbox 和 显示行

2017-09-27  本文已影响73人  赛亚人之神
var TableInit = function () {
    var oTableInit = new Object();
    //初始化Table
    oTableInit.Init = function () {
        $('#tablelist').bootstrapTable('destroy');//销毁之前的缓存表格数据
        $('#tablelist').bootstrapTable({
            url: basePath + '/manager/list.html',         //请求后台的URL(*)
            method: 'get',                      //请求方式(*)
            dataType: "json",
            toolbar: '#toolbar',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
            pagination: true,                   //是否显示分页(*)
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            queryParamsType: '',
            queryParams: function queryParams(params) {
                var param = {
                    pageNumber: params.pageNumber,
                    pageSize: params.pageSize

                };
                return param;
            },
            sidePagination: "server",          //分页方式:client客户端分页,server服务端分页(*)
            pageNumber: 1,                       //初始化加载第一页,默认第一页
            pageSize: 10,                       //每页的记录行数(*)
            pageList: [10, 25, 50, 100],        //可供选择的每页的行数(*)
            strictSearch: true,
            clickToSelect: true,                //是否启用点击选中行
            height: 460,                        //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
            uniqueId: "id",                     //每一行的唯一标识,一般为主键列
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            columns: [{

                // radio: true, // 单选
                checkbox: true,
                width: 50
            }, {
                title: '序号',
                width: 50,
                formatter: function (value, row, index) {
                    // 显示行号
                    var options = $('#tablelist').bootstrapTable('getOptions');
                    return options.pageSize * (options.pageNumber - 1) + index + 1;
                }

            }, {
                field: 'username',
                title: '用户名'
            }, {
                field: 'enabled',
                title: '是否有效'
            }, {
                field: 'accountNonExpired',
                title: '账号非过期'
            }, {
                field: 'accountNonLocked',
                title: '账号非锁定'
            }, {
                field: 'credentialsNonExpired',
                title: '非过期认证'
            }, {
                field: 'operation',
                title: '操作',
                align: 'center',
                width: 100,
                formatter: function (value, row, index) {
                    // 1: 第一种方式,在外部定义点击事件
                    // var a = '<a class = "edit fa fa-edit" onclick="updateRole(' + row.id + ');" title = "编辑" href="javascript:void(0)"></a>';
                    // var b = '<a class = "remove fa fa-trash-o" onclick="delRole(' + row.id + ');" title = "删除" href="javascript:void(0)"></a>';
                    // return a + '&nbsp;&nbsp;' + b;
                    // 2:第二种方式,通过定义 events: operateEvents 直接在定义点击事件
                    var s = '<a class = "save fa fa-save" title = "保存" href="javascript:void(0)"></a>';
                    var d = '<a class = "remove fa fa-trash-o" title = "删除" href="javascript:void(0)"></a>';
                    return s + '&nbsp;&nbsp;&nbsp;' + d;
                }, events: 'operateEvents'
            }
            ]
        });
        window.operateEvents = {
            'click .save': function (e, value, row, index) {
                var result = isConfirm();
                if(result) {
                showLoading();
                $.ajax({
                    type: "post",
                    dataType: "JSON",
                    data: row,
                    url: basePath + '/prizeAmount/save.html',
                    success: function (data) {
                        hideLoading();
                        if (0 == data.code) {
                            $('#tablelist').bootstrapTable('refresh', {url: basePath + '/prizeAmount/list.html',query: {organizeCode: organizeCode}});
                            showMessage(data.message);
                        } else {
                            showMessage(data.message);
                            // showMessage("删除失败,请联系管理员");
                        }
                    }
                });
                }else {
                    showMessage("确认已完成,不能进行保存");
                }
            },
            'click .remove': function (e, value, row, index) {
                var result = isConfirm();
                if(result) {
                    layer.confirm("确定要删除[" + row.staff_name + "]的记录吗?", {
                        btn: ['确定', '取消']
                    }, function () {
                        showLoading();
                        $.ajax({
                            type: "post",
                            data: {id: row.id},
                            dataType: "JSON",
                            url: basePath + '/prizeAmount/delete.html',
                            success: function (data) {
                                hideLoading();
                                if (0 == data.code) {
                                    $('#tablelist').bootstrapTable('refresh', {url: basePath + '/prizeAmount/list.html',query: {organizeCode: organizeCode}});
                                    showMessage(data.message);
                                } else {
                                    showMessage(data.message);
                                    // showMessage("删除失败,请联系管理员");
                                }
                            }
                        });
                    }, function () {

                    })

                }else {
                    showMessage("确认已完成,不能进行删除");
                }
            }
        };
    };

    //得到查询的参数
    oTableInit.queryParams = function (params) {
        var temp = {   //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的

        };
        return temp;
    };
    return oTableInit;
};
上一篇下一篇

猜你喜欢

热点阅读