需求开发
This commit is contained in:
parent
fc71ed727a
commit
9de98ef70a
|
|
@ -42,6 +42,7 @@
|
|||
let tableIns = null;
|
||||
let type = 1;
|
||||
let tableCode = 1;
|
||||
let evaluateTitle = decodeURIComponent(getUrlParam('evaluateTitle'));
|
||||
$(function () {
|
||||
|
||||
layui.use(['layer', 'laydate', 'table', 'excel'], function () {
|
||||
|
|
@ -137,12 +138,33 @@
|
|||
var htrs = Array.from(headerHead.querySelectorAll('tr'));
|
||||
|
||||
var bodysArr = new Array();
|
||||
|
||||
// ========== 新增:添加自定义表头行 ==========
|
||||
var customHeader = [];
|
||||
// 创建一个跨越所有列的单元格
|
||||
for(var i = 0; i < btdslength; i++) {
|
||||
if(i === 0) {
|
||||
customHeader.push(evaluateTitle); // 第一列显示标题
|
||||
} else {
|
||||
customHeader.push(null); // 其他列为空,用于合并
|
||||
}
|
||||
}
|
||||
bodysArr.push(customHeader);
|
||||
|
||||
// 添加合并信息,让自定义表头合并所有列
|
||||
var customMerge = {
|
||||
s: {r: 0, c: 0},
|
||||
e: {r: 0, c: btdslength - 1}
|
||||
};
|
||||
// ========== 新增结束 ==========
|
||||
|
||||
var point = new Array(); // 行,列
|
||||
for (var pi = 0; pi <= htrs.length + 1; pi++) {
|
||||
point[pi] = new Array();
|
||||
}
|
||||
point[0][0] = "qd"; // 起点
|
||||
var mergeArr = [];
|
||||
var mergeArr = [customMerge]; // 将自定义表头的合并信息加入数组
|
||||
|
||||
for (var j = 0; j < htrs.length; j++) { // 遍历tr
|
||||
var titles = [];
|
||||
var hths = Array.from(htrs[j].querySelectorAll("th"));
|
||||
|
|
@ -170,7 +192,11 @@
|
|||
for (var temp = 0; temp < colspan - 1; temp++) {
|
||||
titles.push(null);
|
||||
}
|
||||
mergeArr.push({s: {r: j, c: pindx}, e: {r: j + rowspan - 1, c: pindx + colspan - 1}}); // 添加合并数据参数 r的差R表示向下扩展R个单元格,c 的差C表示想右扩展C个单元格
|
||||
// 调整合并信息的行号,因为上面新增了一行
|
||||
mergeArr.push({
|
||||
s: {r: j + 1, c: pindx},
|
||||
e: {r: j + 1 + rowspan - 1, c: pindx + colspan - 1}
|
||||
});
|
||||
for (var qdi = 0; qdi < colspan; qdi++) {
|
||||
point[j + rowspan][pindx + qdi] = "qd"; // 添加完数据 ,添加起点记录
|
||||
}
|
||||
|
|
@ -183,6 +209,7 @@
|
|||
}
|
||||
bodysArr.push(titles);
|
||||
}
|
||||
|
||||
var widthArr = []; //这里改宽
|
||||
for (var j = 0; j < btrs.length; j++) {
|
||||
var contents = [];
|
||||
|
|
@ -221,6 +248,35 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ========== 新增:顶部标题的特殊样式 ==========
|
||||
var titleStyleStr = {
|
||||
alignment: {
|
||||
vertical: 'center',
|
||||
horizontal: 'center'
|
||||
},
|
||||
font: {
|
||||
sz: 18, // 大字号
|
||||
bold: true, // 加粗
|
||||
color: {rgb: "000000"} // 黑色
|
||||
},
|
||||
border: {
|
||||
top: {
|
||||
style: 'thin'
|
||||
},
|
||||
bottom: {
|
||||
style: 'thin'
|
||||
},
|
||||
left: {
|
||||
style: 'thin'
|
||||
},
|
||||
right: {
|
||||
style: 'thin'
|
||||
}
|
||||
}
|
||||
};
|
||||
// ========== 新增结束 ==========
|
||||
|
||||
var datas = [];
|
||||
for (var i = 0; i < bodysArr.length; i++) {
|
||||
var map = {};
|
||||
|
|
@ -229,52 +285,39 @@
|
|||
var dataName = "data_" + n;
|
||||
var das = thisData[n];
|
||||
var styMap = {};
|
||||
styMap['s'] = styleStr;
|
||||
|
||||
// ========== 修改:对第一行(顶部标题)应用特殊样式 ==========
|
||||
if (i === 0) {
|
||||
// 第一行使用标题样式
|
||||
styMap['s'] = titleStyleStr;
|
||||
} else {
|
||||
// 其他行使用普通样式
|
||||
styMap['s'] = styleStr;
|
||||
}
|
||||
// ========== 修改结束 ==========
|
||||
|
||||
styMap['v'] = das;
|
||||
map[dataName] = styMap;
|
||||
}
|
||||
datas.push(map);
|
||||
}
|
||||
|
||||
// var excel = layui.excel;
|
||||
// // 开始填充单元格背景颜色
|
||||
// // console.log(datas);
|
||||
// excel.setExportCellStyle(
|
||||
// datas, 'D1:Q300', {
|
||||
// s: {
|
||||
// fill: {bgColor: {indexed: 64}, fgColor: {rgb: "FFFF00"}},
|
||||
// alignment: {
|
||||
// horizontal: 'center',
|
||||
// vertical: 'center'
|
||||
// }
|
||||
// }
|
||||
// }, function (cell, newCell, row, config, currentRow, currentCol, fieldKey) {
|
||||
// // 回调参数,cell:原有数据,newCell:根据批量设置规则自动生成的样式,row:所在行数据,config:传入的配置,currentRow:当前行索引,currentCol:当前列索引,fieldKey:当前字段索引
|
||||
// // return ((currentRow + currentCol) % 2 === 0) ? newCell : cell;// 隔行隔列上色
|
||||
// // console.log(cell['v']);
|
||||
// if (cell['v'] == "疑似故障" || cell['v'] == "超上限值") {
|
||||
// return newCell;
|
||||
// } else {
|
||||
// return cell;
|
||||
// }
|
||||
// })
|
||||
// // console.log(data);
|
||||
// // 结束填充单元格背景颜色
|
||||
|
||||
var filename = tableCode === 1 ? '评价详情.xlsx' : tableCode === 2 ? '得分统计.xlsx' : '汇总统计.xlsx';
|
||||
|
||||
// 第一行行高40,其余行默认20
|
||||
// 调整行高配置,因为新增了一行
|
||||
var rowConf = excel.makeRowConfig({
|
||||
1: 40
|
||||
1: 40, // 自定义表头行高(第一行)
|
||||
2: 40 // 原第一行行高(第二行)
|
||||
}, 20)
|
||||
|
||||
excel.exportExcel({
|
||||
sheet: datas
|
||||
}, filename, 'xlsx', {
|
||||
extend: {
|
||||
sheet: {
|
||||
'!merges': mergeArr
|
||||
, '!cols': widthArr
|
||||
, '!rows': rowConf
|
||||
'!merges': mergeArr,
|
||||
'!cols': widthArr,
|
||||
'!rows': rowConf
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
|
|||
|
|
@ -250,7 +250,7 @@
|
|||
|
||||
//评价子页面
|
||||
function evaluatingSubpages(title, data) {
|
||||
openPage(title, './evaluateSummaryForm.html?type=' + title + '&templateId=' + data.templateId + '&id=' + data.id);
|
||||
openPage(title, './evaluateSummaryForm.html?type=' + title + '&templateId=' + data.templateId + '&id=' + data.id + '&evaluateTitle=' + data.evaluateTitle);
|
||||
}
|
||||
function openPage(title, url) {
|
||||
//如果是查看页面,不需要弹出层的确定按钮
|
||||
|
|
|
|||
Loading…
Reference in New Issue