需求开发
This commit is contained in:
parent
fc71ed727a
commit
9de98ef70a
|
|
@ -42,6 +42,7 @@
|
||||||
let tableIns = null;
|
let tableIns = null;
|
||||||
let type = 1;
|
let type = 1;
|
||||||
let tableCode = 1;
|
let tableCode = 1;
|
||||||
|
let evaluateTitle = decodeURIComponent(getUrlParam('evaluateTitle'));
|
||||||
$(function () {
|
$(function () {
|
||||||
|
|
||||||
layui.use(['layer', 'laydate', 'table', 'excel'], function () {
|
layui.use(['layer', 'laydate', 'table', 'excel'], function () {
|
||||||
|
|
@ -137,12 +138,33 @@
|
||||||
var htrs = Array.from(headerHead.querySelectorAll('tr'));
|
var htrs = Array.from(headerHead.querySelectorAll('tr'));
|
||||||
|
|
||||||
var bodysArr = new Array();
|
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(); // 行,列
|
var point = new Array(); // 行,列
|
||||||
for (var pi = 0; pi <= htrs.length + 1; pi++) {
|
for (var pi = 0; pi <= htrs.length + 1; pi++) {
|
||||||
point[pi] = new Array();
|
point[pi] = new Array();
|
||||||
}
|
}
|
||||||
point[0][0] = "qd"; // 起点
|
point[0][0] = "qd"; // 起点
|
||||||
var mergeArr = [];
|
var mergeArr = [customMerge]; // 将自定义表头的合并信息加入数组
|
||||||
|
|
||||||
for (var j = 0; j < htrs.length; j++) { // 遍历tr
|
for (var j = 0; j < htrs.length; j++) { // 遍历tr
|
||||||
var titles = [];
|
var titles = [];
|
||||||
var hths = Array.from(htrs[j].querySelectorAll("th"));
|
var hths = Array.from(htrs[j].querySelectorAll("th"));
|
||||||
|
|
@ -170,7 +192,11 @@
|
||||||
for (var temp = 0; temp < colspan - 1; temp++) {
|
for (var temp = 0; temp < colspan - 1; temp++) {
|
||||||
titles.push(null);
|
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++) {
|
for (var qdi = 0; qdi < colspan; qdi++) {
|
||||||
point[j + rowspan][pindx + qdi] = "qd"; // 添加完数据 ,添加起点记录
|
point[j + rowspan][pindx + qdi] = "qd"; // 添加完数据 ,添加起点记录
|
||||||
}
|
}
|
||||||
|
|
@ -183,6 +209,7 @@
|
||||||
}
|
}
|
||||||
bodysArr.push(titles);
|
bodysArr.push(titles);
|
||||||
}
|
}
|
||||||
|
|
||||||
var widthArr = []; //这里改宽
|
var widthArr = []; //这里改宽
|
||||||
for (var j = 0; j < btrs.length; j++) {
|
for (var j = 0; j < btrs.length; j++) {
|
||||||
var contents = [];
|
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 = [];
|
var datas = [];
|
||||||
for (var i = 0; i < bodysArr.length; i++) {
|
for (var i = 0; i < bodysArr.length; i++) {
|
||||||
var map = {};
|
var map = {};
|
||||||
|
|
@ -229,52 +285,39 @@
|
||||||
var dataName = "data_" + n;
|
var dataName = "data_" + n;
|
||||||
var das = thisData[n];
|
var das = thisData[n];
|
||||||
var styMap = {};
|
var styMap = {};
|
||||||
styMap['s'] = styleStr;
|
|
||||||
|
// ========== 修改:对第一行(顶部标题)应用特殊样式 ==========
|
||||||
|
if (i === 0) {
|
||||||
|
// 第一行使用标题样式
|
||||||
|
styMap['s'] = titleStyleStr;
|
||||||
|
} else {
|
||||||
|
// 其他行使用普通样式
|
||||||
|
styMap['s'] = styleStr;
|
||||||
|
}
|
||||||
|
// ========== 修改结束 ==========
|
||||||
|
|
||||||
styMap['v'] = das;
|
styMap['v'] = das;
|
||||||
map[dataName] = styMap;
|
map[dataName] = styMap;
|
||||||
}
|
}
|
||||||
datas.push(map);
|
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';
|
var filename = tableCode === 1 ? '评价详情.xlsx' : tableCode === 2 ? '得分统计.xlsx' : '汇总统计.xlsx';
|
||||||
|
|
||||||
// 第一行行高40,其余行默认20
|
// 调整行高配置,因为新增了一行
|
||||||
var rowConf = excel.makeRowConfig({
|
var rowConf = excel.makeRowConfig({
|
||||||
1: 40
|
1: 40, // 自定义表头行高(第一行)
|
||||||
|
2: 40 // 原第一行行高(第二行)
|
||||||
}, 20)
|
}, 20)
|
||||||
|
|
||||||
excel.exportExcel({
|
excel.exportExcel({
|
||||||
sheet: datas
|
sheet: datas
|
||||||
}, filename, 'xlsx', {
|
}, filename, 'xlsx', {
|
||||||
extend: {
|
extend: {
|
||||||
sheet: {
|
sheet: {
|
||||||
'!merges': mergeArr
|
'!merges': mergeArr,
|
||||||
, '!cols': widthArr
|
'!cols': widthArr,
|
||||||
, '!rows': rowConf
|
'!rows': rowConf
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -250,7 +250,7 @@
|
||||||
|
|
||||||
//评价子页面
|
//评价子页面
|
||||||
function evaluatingSubpages(title, data) {
|
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) {
|
function openPage(title, url) {
|
||||||
//如果是查看页面,不需要弹出层的确定按钮
|
//如果是查看页面,不需要弹出层的确定按钮
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue