yang-2018
$.dataTablesSettings = {
    deferRender: true,// 当处理大数据时,延迟渲染数据,有效提高Datatables处理能力
    bStateSave: true,//表格状态保持
    searching: false,//搜索框
    bPaginate: true, // 翻页功能
    bLengthChange: true, // 改变每页显示数据数量
    bFilter: true, // 过滤功能
    bInfo: true,// 页脚信息
    bAutoWidth: false,// 是否自动计算表格各列宽度
    iDisplayLength: 10,
    bProcessing: false,//加载动画
    serverSide: true, // 启用服务器端分页
    ajax: function (data, callback, settings) {
        showLoading();
        // 封装请求参数
        var param = {};
        param.limit = data.length;// 页面显示记录条数,在页面显示每页显示多少项的时候
        param.start = data.start;// 开始的记录序号
        param.page = (data.start / data.length) + 1;// 当前页码
        param.keywords = $("#keywords").val();
        param.park_id = $(\'#parks_value\').val();
        param.status = $(\'#status\').val();
        param.is_old = $(\'#is_old\').val();
        param.type_industry = $(\'#type_industry\').val();
        param.contract_type = $(\'#contract_type\').val();

        var len = data.order.length;
        if (len > 1) {
            // 第一次以id排序
            param.order = "id desc";
        } else {
            // 单排序条件
            if (data.order) {
                if (data.order[0].dir) {
                    var index = data.order[0].column;
                    var name = data.columns[index].name;
                    param.order = name + " " + data.order[0].dir;
                }
            }
        }

        $.ajax({
            type: \'post\',
            url: xxx,
            data: param,
            dataType: \'json\',
            success: function (res) {
                var returnData = {};
                returnData.draw = parseInt(data.draw);// 这里直接自行返回了draw计数器,应该由后台返回
                returnData.recordsTotal = res.total;
                returnData.recordsFiltered = res.total;// 后台不实现过滤功能,每次查询均视作全部结果
                returnData.data = res.data;
                callback(returnData);
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert("获取失败");
            }
        });
    },
    columns: [{
        data: function (mdata) {
            var html = \'\';
            html += \'<div class="checkbox"><input name="checks[]" value="\' + mdata.id + \'" class="select_checkbox" id="checkbox_\' + mdata.id + \'" type="checkbox"><label for="checkbox_\' + mdata.id + \'"></label></div>\';
            return html;
        },
        orderable: false
    }, {
        data: "pName",
        orderable: false
    }, {
        data: "name",
        name: "name"
    }, {
        data: "cName",
        orderable: false
    }, {
        data: "room",
        orderable: false
    }, {
        data: "legalperson",
        orderable: false
    }, {
        data: "contact_phone",
        orderable: false
    }, {
        data: function (mdata) {
            if (mdata.status == 0) {
                return "<span style=\'color: #f8ac59\'>未执行</span>";
            } else if (mdata.status == 1) {
                return "<span  style=\'color: #1c84c6\'>已执行</span>";
            } else {
                return "<span  style=\'color: #ed5565\'>已终止</span>";
            }
        },
        name: "status"
    }, {
        data: "start_date",
        name: "start_date"
    }, {
        data: "end_date",
        name: "end_date"
    }, {
        data: function (mdata) {
            if (mdata.is_c == 1) {
                return "<span  style=\'color: #1c84c6\'>已续签</span>";
            } else {
                return "<span  style=\'color: #a8a8a8\'>未续签</span>";
            }
        },
        name: "is_c"
    }, {
        data: "area",
        orderable: false
    }, {
        data: function (mdata) {
            return "<span style=\'color:red;font-weight:bold;\'>" + mdata.all_money + "</span>";
        },
        orderable: false
    }, {
        data: "uName",
        orderable: false
    }, {
        data: function (mdata) {
            var html = \'\';
            var mark = mdata.mark.replace(/\ +/g, "");
            if (mark) {
                var temp = mark.replace(/\n/g, "**");
                html = \'<a href="javascript:;" onclick="flag(\' + mdata.id + \', \\'\' + temp + \'\\')">\' + mark + \'</a>\';
            } else {
                html = \'<a href="javascript:;" onclick="flag(\' + mdata.id + \',\\'\' + mark + \'\\')"><i class="fa fa-flag"></i></a>\';
            }
            return html;
        },
        orderable: false
    }, {
        data: function (mdata) {
            var html = \'\';
            if (is_look == true) {
                html += \' <button type="button" class="btn btn-info btn-xs" onclick="look(\' + mdata.id + \')">查看</button>\';
            }
            if (is_edit == true && mdata.status == 0) {
                html += \' <button type="button" class="btn btn-primary btn-xs" onclick="edit(\' + mdata.id + \')">编辑</button>\';
            }
            if (is_change == true && mdata.status == 1) {
                html += \' <button type="button" class="btn btn-success btn-xs" onclick="continues(\' + mdata.id + \', \' + mdata.status + \', \\'\' + mdata.end_date + \'\\')">续租</button>\';
            }
            if (is_end == true && mdata.status != 2) {
                html += \' <button type="button" class="btn btn-danger btn-xs" onclick="endBargain(\' + mdata.id + \')">终止</button>\';
            }
            html += \' <button type="button" class="btn btn-default btn-xs" onclick="printBargain(\' + mdata.id + \')">打印</button>\';
            return html;
        },
        orderable: false
    }],
    fnInitComplete: function (oSettings, json) {
        hideLoading();
        //表格渲染完成执行
    },
    drawCallback: function () {
        //表格每画一次执行
    },
    columnDefs: [{
        "orderable": false,
        "targets": 0
    }],
    aaSorting: [[2, \'desc\'], [7, \'desc\'], [8, \'desc\'],[9, \'desc\'], [10,\'desc\']]
};
initTable = $(".dataTables-example").dataTable($.dataTablesSettings);

 

分类:

技术点:

相关文章:

  • 2021-08-01
  • 2022-12-23
  • 2021-04-12
  • 2022-12-23
  • 2021-07-07
  • 2021-06-25
  • 2021-09-18
猜你喜欢
  • 2022-12-23
  • 2021-12-26
  • 2021-10-13
  • 2021-10-26
  • 2021-06-13
  • 2021-11-09
  • 2021-12-16
相关资源
相似解决方案