SOURCE

function regionSort(d1, d2) {

    var year_wcl_1 = d1['year_wcl'];
    var year_wcl_2 = d2['year_wcl'];

    year_wcl_1 = year_wcl_1 == '-' ? -Infinity : Number(year_wcl_1);
    year_wcl_2 = year_wcl_2 == '-' ? -Infinity : Number(year_wcl_2);

    return year_wcl_2 - year_wcl_1;
}

function wclSortAsc(d1, d2) {

    var year_wcl_1 = d1['year_wcl'];
    var year_wcl_2 = d2['year_wcl'];

    year_wcl_1 = year_wcl_1 == '-' ? -Infinity : Number(year_wcl_1);
    year_wcl_2 = year_wcl_2 == '-' ? -Infinity : Number(year_wcl_2);

    return year_wcl_1 - year_wcl_2;
}

function processData(columnStr, dataStr, paramStr) {
    var datas = JSON.parse(dataStr);
    var queryParams = JSON.parse(paramStr);
    var params = JSON.stringify(queryParams['params']);
    params = JSON.parse(params);
    var orders = JSON.stringify(queryParams['orders']);

    var order;
    if (orders != undefined) {
        orders = JSON.parse(orders);
        order = orders.length > 0 ? JSON.parse(JSON.stringify(orders[0])) : undefined;
    }

    if (order === undefined || (order['direction'] != 'asc' && order['direction'] != 'desc')) {
        datas.sort(regionSort);
    }

    if (order != undefined) {
        var column = order['column'];
        if (column == "`year_wcl`" && order['direction'] == 'asc') {
            datas.sort(wclSortAsc);
        }

        if (column == "`year_wcl`" && order['direction'] == 'desc') {
            datas.sort(regionSort);
        }
    }

    var index = -1;
    var indexs = [];
    for (var i = 0; i < datas.length; i++) {
        var d = datas[i];
        // 一个地区或者事业部,只有一个尾盘合计
        if (d['xm_name'] == '尾盘合计') {
            index = i;
        }

        var wp = d['is_wp'];
        if (wp != '非尾盘' && wp != '尾盘合计') {
            indexs.push(i);
        }
    }

    // 存在尾盘将尾盘合计置底
    if (datas.length > 0 && index > -1) {
        var d = datas[index];
        datas.splice(datas.length, 0, d);
        datas.splice(index, 1);
    }

    for (var i = 0; i < indexs.length; i++) {
        datas.splice(indexs[i], 1);
    }

    return JSON.stringify(datas);
}
console 命令行工具 X clear

                    
>
console