HiPrint打印多层table表头渲染数据bug修复

hiprint.bundle.js 源码1740行代码,TableExcelHelper.getOrderdColumns方法修复

TableExcelHelper.getOrderdColumns = function (t) {
            	var maxRow = t.totalLayer;
                var ret = [];
                // 查找下层节点数据
                var rowColStartMap = {};
                var findLeafCol = function(nextRow, colspan){
                    var matchCols = [];
                    var start = rowColStartMap[nextRow]?rowColStartMap[nextRow]+1:0;
                    for(var i=start;i<t[nextRow].length;i++){
                        if(i - start >= colspan){
                            break;
                        }
                        if(t[nextRow][i].colspan > 1){
                            var dRet = findLeafCol(nextRow+1, t[nextRow][i].colspan);
                            dRet.forEach(function(dt){
                                matchCols.push(dt);
                            });
                        }else{
                            matchCols.push(t[nextRow][i]);
                        }
                        rowColStartMap[nextRow] = i;
                    }
                    return matchCols;
                }
                // 从顶部迭代
                var startRow = 0;
                t[startRow].forEach(function (t) {
                    if(maxRow == t.rowspan || 1 == t.colspan){
                        // 行到底层或者只占1列的数据
                        ret.push(t);
                    }else{
                        // 从next row取数据
                        var matchCols = findLeafCol(startRow+1, t.colspan);
                        matchCols.forEach(function(mt){
                            ret.push(mt);
                        });
                    }
                });
                return ret;
            }

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值