
var tableObj = {
oTableInit: function () {
$('#safetyLineList').bootstrapTable({
url: 'exhibitGradeLineList',
toolbar: '#toolbar',
uniqueId: 'id',
pagination: true,
showRefresh:true,
showColumns:true,
sortOrder: "asc",
clickToSelect: false,
singleSelect: false,
sidePagination: "server", //服务端分页 server
paginationPreText: '上一页',
paginationNextText: '下一页',
queryParams: function (params) {
return {
offset: params.offset,
limit: params.limit,
order: params.order,
orderColumn: params.sort,
constructionId:$("#constructionId").val(),
exhibitionName:$("#exhibitionName").val()
};
},
onLoadSuccess: function (data) {
mergeCells(data.rows,"exhibitionName", "exhibitionName", 1, $('#safetyLineList'));
mergeCells(data.rows,"exhibitionName", "scores", 1, $('#safetyLineList'));
mergeCells(data.rows,"exhibitionName", "remarks", 1, $('#safetyLineList'));
mergeCells(data.rows,"exhibitionName","boothNumber", 1, $('#safetyLineList'));
mergeCells(data.rows, "exhibitionName","operate", 1, $('#safetyLineList'));
},
pageList: [10, 50, 100, 200, 500],
columns: [{
field:'checkbox',checkbox:true
}, {
field: 'exhibitionName',
title: '展会',
formatter:function(value,row,index){
return value;
}
}, {
field: 'boothName',
title: '展位',
formatter:function(value,row,index){
return value;
}
},{
field: 'recordType',
title: '记录类别',
formatter: function (value, row, index) {
return SAFETY_RECORDTYPE[value].NAME;
}
},{
field: 'recordContent',
title: '记录内容',
formatter: function (value, row, index) {
return value;
}
},{
field: 'boothNumber',
title: '评分参考',
formatter: function (value, row, index) {
var conten='<span>搭建<strong style="color:red">'+value+'</strong>家展位,报图次数<strong style="color:red">'+row.checkNumber+'</strong>次</span>';
return conten;
}
},{
field: 'scores',
title: '评分',
formatter: function (value, row, index) {
var color="#33B312"
if(parseInt(value)>=80){
color="#33B312";
}else if(60<=parseInt(value)&&parseInt(value)<80){
color="#FFC90E";
}else{
color="red";
}
var conten='<strong style="color:'+color+'">'+value+'</strong>';
return conten;
}
},{
field: 'remarks',
title: '说明',
formatter: function (value, row, index) {
return value;
}
},{
field: 'operate',
title: '操作',
align: 'left',
formatter: operateFormatter
}],
});
}
}
/**
* 合并单元格
* @param data 原始数据(在服务端完成排序)
* @param fieldName 合并属性名称
* @param colspan 合并列
* @param target 目标表格对象
*/
function mergeCells(data,exhibitionName,fieldName,colspan,target){
//声明一个map计算相同属性值在data对象出现的次数和
var sortMap = {};
for(var i = 0 ; i < data.length ; i++){
for(var prop in data[i]){
if(prop == exhibitionName){
var key = data[i][prop]
if(sortMap.hasOwnProperty(key)){
sortMap[key] = sortMap[key] * 1 + 1;
} else {
sortMap[key] = 1;
}
break;
}
}
}
for(var prop in sortMap){
console.log(prop,sortMap[prop])
}
var index = 0;
for(var prop in sortMap){
var count = sortMap[prop] * 1;
$(target).bootstrapTable('mergeCells',{index:index, field:fieldName, colspan: colspan, rowspan: count});
index += count;
}
}