需要点地图轮播和联动,但是报表块就是没有吧参数传递过去,按照这个案例做的。 https://help.fanruan.com/finereport/doc-view-2554.html setTimeout(function() { //console.log(area); var autoTooltipDelay = 3; // 默认3s播放一个提示. // 第一步, 拿图表实例. var vanchart = FR.Chart.WebUtils.getChart('chart0').getChartWithIndex(0);
// 第二步, 筛选出区域名称满足的所有的系列的点, 用于传递给自动数据提示接口. var points = vanchart.series.reduce(function(points, ser) { return points.concat(ser.points); }, []).filter(function(point) { return area; //&& area.indexOf(point.name) >= 0; }); //console.log(points); // 第三步, 保存旧的显示提示方法 var oldChartShowTooltip = vanchart.showTooltip; // 第四步, 重写新的提示方法, 在提示的同时触发联动. vanchart.showTooltip = function(point) { oldChartShowTooltip.apply(vanchart, Array.prototype.slice.call(arguments)); var areaName = point.name; changeParameter(areaName); //console.log(areaName); } // 第五步, 使用轮播提示接口触发轮播数据提示 vanchart.openAutoTooltip(autoTooltipDelay * 1000, points);
// 修改参数, 联动其他图表或者组件. function changeParameter(areaName) { _g().getWidgetByName('report1').gotoPage(1,"{}",true); _g().getWidgetByName('report2').gotoPage(1,"{}",true); _g().getWidgetByName('report3').gotoPage(1,"{}",true); } }, 2000); 这里面我放了参数也还是不行 _g().getWidgetByName('report3').gotoPage(1,{area:areaName},true); |