决策报表报表块刷新数据的问题

写了如下JS

var reportarray = ["REPORT0"];

var form = this.options.form;

window.fobject = {};

for (i = 0; i < reportarray.length; i++) {

fobject["flag" + i] = true;

}

for (i = 0; i < reportarray.length; i++) {

$("div[widgetname='" + reportarray[i] + "']").ready(function() {

var index = i;

let part;

var self = '$("div[widgetname="' + reportarray[i] + ']")';

var name = reportarray[i];

console.log(name)

setTimeout(function() {

if ($('.scrollDiv').length == 0)

{

if ($("div[widgetname=" + name + "]").find(".frozen-center").length == 1)

{

part = $("div[widgetname=" + name + "]").find(".frozen-center");

$("div[widgetname=" + name + "]").find(".frozen-north").css("overflow", "hidden");

$("div[widgetname=" + name + "]").find(".frozen-north").css("overflow-y", "hidden");

} else {

part = $("div[widgetname=" + name + "]").find(".reportContent");

}

} else {

part = $("div[widgetname=" + name + "]").find(".scrollDiv");

}

part.css("overflow", "hidden"); 

part.css("overflow-x", "hidden");

part.css("overflow-y", "hidden"); 条

part.mouseover(function() { //鼠标悬浮

fobject["flag" + index] = false;

part.css("overflow", "auto"); //显示滚动条,用以手动

part.css("overflow-x", "auto");

part.css("overflow-y", "auto"); 

});

part.mouseleave(function() { //鼠标离开,继续滚动 

fobject["flag" + index] = true;

part.css("overflow", "hidden"); //去除滚动条

part.css("overflow-x", "hidden");

part.css("overflow-y", "hidden"); 

});

var old = -1;

var a = 0;

var b = 0;

setInterval(function() {

if (fobject["flag" + index]) {

currentpos = part[0].scrollTop;

if (currentpos == old) {

part[0].scrollTop = 0;

a++;

} else {

old = currentpos;

//以25ms的速度每次滚动1.5PX 

part[0].scrollTop = currentpos + 1.5;

a++;

b++;

if (a % 100 == 0) {

form.getWidgetByName('REPORT0').gotoPage(1, "{}", true);

}

}

}

part.css("overflow", "hidden"); //去除滚动条

part.css("overflow-x", "hidden");

part.css("overflow-y", "hidden"); 

}, 25);

}, 300)

})

}

目前实现的效果就是,可以在限定时间内对报表块进行刷新并且滚动条不会重置会一直继续往下滚。但是如果一开始报表块没有数据的话刷新,刷新等待数据出来就没有滚动的功能了而且会一直闪屏。

请问怎么才能做到在报表块块没有数据时也在刷新出数据并且当数据超出报表块区域后会进行滚动?同时鼠标移入移出时间还要生效。

谢谢各位大佬

FineReport 普普通通的len 发布于 2021-12-28 12:22
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
shirokoLv6资深互助
发布于2021-12-28 13:08

image.png等待时间加到足够大一般就没事了

  • 2关注人数
  • 261浏览人数
  • 最后回答于:2021-12-28 13:08
    请选择关闭问题的原因
    确定 取消
    返回顶部