function regionSort(d1, d2) {
var sffqsyrate_1 = d1['sffqsyrate'];
var sffqsyrate_2 = d2['sffqsyrate'];
sffqsyrate_1 = sffqsyrate_1 == '-' ? -Infinity : Number(sffqsyrate_1);
sffqsyrate_2 = sffqsyrate_2 == '-' ? -Infinity : Number(sffqsyrate_2);
return sffqsyrate_2 - sffqsyrate_1;
}
function sffqsyrateSortAsc(d1, d2) {
var sffqsyrate_1 = d1['sffqsyrate'];
var sffqsyrate_2 = d2['sffqsyrate'];
sffqsyrate_1 = sffqsyrate_1 == '-' ? -Infinity : Number(sffqsyrate_1);
sffqsyrate_2 = sffqsyrate_2 == '-' ? -Infinity : Number(sffqsyrate_2);
return sffqsyrate_1 - sffqsyrate_2;
}
function xqhkrateSortDesc(d1, d2) {
var xqhkrate_1 = d1['xqhkrate'];
var xqhkrate_2 = d2['xqhkrate'];
xqhkrate_1 = xqhkrate_1 == '-' ? -Infinity : Number(xqhkrate_1);
xqhkrate_2 = xqhkrate_2 == '-' ? -Infinity : Number(xqhkrate_2);
return xqhkrate_2 - xqhkrate_1;
}
function xqhkrateSortAsc(d1, d2) {
var xqhkrate_1 = d1['xqhkrate'];
var xqhkrate_2 = d2['xqhkrate'];
xqhkrate_1 = xqhkrate_1 == '-' ? -Infinity : Number(xqhkrate_1);
xqhkrate_2 = xqhkrate_2 == '-' ? -Infinity : Number(xqhkrate_2);
return xqhkrate_1 - xqhkrate_2;
}
function tdrateSortDesc(d1, d2) {
var tdrate_1 = d1['tdrate'];
var tdrate_2 = d2['tdrate'];
tdrate_1 = tdrate_1 == '-' ? -Infinity : Number(tdrate_1);
tdrate_2 = tdrate_2 == '-' ? -Infinity : Number(tdrate_2);
return tdrate_2 - tdrate_1;
}
function tdrateSortAsc(d1, d2) {
var tdrate_1 = d1['tdrate'];
var tdrate_2 = d2['tdrate'];
tdrate_1 = tdrate_1 == '-' ? -Infinity : Number(tdrate_1);
tdrate_2 = tdrate_2 == '-' ? -Infinity : Number(tdrate_2);
return tdrate_1 - tdrate_2;
}
function tfrateSortDesc(d1, d2) {
var tfrate_1 = d1['tfrate'];
var tfrate_2 = d2['tfrate'];
tfrate_1 = tfrate_1 == '-' ? -Infinity : Number(tfrate_1);
tfrate_2 = tfrate_2 == '-' ? -Infinity : Number(tfrate_2);
return tfrate_2 - tfrate_1;
}
function tfrateSortAsc(d1, d2) {
var tfrate_1 = d1['tfrate'];
var tfrate_2 = d2['tfrate'];
tfrate_1 = tfrate_1 == '-' ? -Infinity : Number(tfrate_1);
tfrate_2 = tfrate_2 == '-' ? -Infinity : Number(tfrate_2);
return tfrate_1 - tfrate_2;
}
function processData(columnStr, dataStr, paramStr) {
var datas = JSON.parse(dataStr);
var queryParams = JSON.parse(paramStr);
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 == "`sffqsyrate`" && order['direction'] == 'asc') {
datas.sort(sffqsyrateSortAsc);
}
if (column == "`sffqsyrate`" && order['direction'] == 'desc') {
datas.sort(regionSort);
}
if (column == "`xqhkrate`" && order['direction'] == 'asc') {
datas.sort(xqhkrateSortAsc);
}
if (column == "`xqhkrate`" && order['direction'] == 'desc') {
datas.sort(xqhkrateSortDesc);
}
if (column == "`tdrate`" && order['direction'] == 'asc') {
datas.sort(tdrateSortAsc);
}
if (column == "`tdrate`" && order['direction'] == 'desc') {
datas.sort(tdrateSortDesc);
}
if (column == "`tfrate`" && order['direction'] == 'asc') {
datas.sort(tfrateSortAsc);
}
if (column == "`tfrate`" && order['direction'] == 'desc') {
datas.sort(tfrateSortDesc);
}
}
var index = -1;
for (var i = 0; i < datas.length; i++) {
var d = datas[i];
// 一个地区或者事业部,只有一个尾盘合计
if (d['project_name'] == '尾盘合计') {
index = i;
}
}
// 存在尾盘将尾盘合计置底
if (datas.length > 0 && index > -1) {
var d = datas[index];
datas.splice(datas.length, 0, d);
datas.splice(index, 1);
}
return JSON.stringify(datas);
}
console