diff --git a/src/main/resources/static/pages/evaluate/evaluationSummary/evaluateSummaryForm.html b/src/main/resources/static/pages/evaluate/evaluationSummary/evaluateSummaryForm.html index 637c554..818c620 100644 --- a/src/main/resources/static/pages/evaluate/evaluationSummary/evaluateSummaryForm.html +++ b/src/main/resources/static/pages/evaluate/evaluationSummary/evaluateSummaryForm.html @@ -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 } } }) diff --git a/src/main/resources/static/pages/evaluate/evaluationSummary/evaluateSummaryList.html b/src/main/resources/static/pages/evaluate/evaluationSummary/evaluateSummaryList.html index 8510867..1227a62 100644 --- a/src/main/resources/static/pages/evaluate/evaluationSummary/evaluateSummaryList.html +++ b/src/main/resources/static/pages/evaluate/evaluationSummary/evaluateSummaryList.html @@ -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) { //如果是查看页面,不需要弹出层的确定按钮