目录

一、导图

二、准备工作

三、通用方法介绍

1、方案1—Label标签

2、方案2—报表块

3、方案3—网页框

4、方案4—Echarts插件

四、Echarts联动方案

五、附件


一、导图

二、准备工作

1、安装插件
地址:https://market.fanruan.com/plugin/567c8601-d041-4981-8e8b-f658a4ef8b69

2、文件位置
Echarts相关文件放置工程目录下,比如放至../webroot下。

见文末百度云:echarts.rar

三、通用方法介绍

1、方案1—Label标签

(1)模版设置说明
js可以获取report0中数据集内容,将数据传到echarts中显示效果;此外,在使用的时候要引用Echarts的js文件

(2)初始化JS案例

//案例中用的label的名字为Label0,要用大写
setTimeout(function (){
$("div[widgetname=LABEL0]").empty();
$("div[widgetname=LABEL0]").append("<div style='width:100%;height:100%;' id='echa'></div>"); //上述标签中的id为echa
var myChart = echarts.init(document.getElementById("echa"));//引入报表快的数据,并转换为数组格式
strs1 = ss[0].split(",");
strs2 = aa[0].split(",");//以下需要添加指定图表的配置项和数据,可以直接进行替换
option = {xAxis: {type: 'category',data: strs1},yAxis: {type: 'value'},series: [{data: strs2,type: 'line'}]
};// 使用刚指定的配置项和数据显示图表。if (option && typeof option === "object") {myChart.setOption(option, true);}}, 500);

(3)预览效果

见文末百度云资源:外接echarts模板 (1).frm

2、方案2—报表块

(1)报表块设置
添加html,准备echarts图表用的div块

(2)初始化事件

(3)普通预览JS

setTimeout(function(){
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main2'));
var count=0;// 指定图表的配置项和数据,可以替换以下内容
var option = {
title: {
text: 'ECharts(报表块)'
},
tooltip: {},
legend: {
data: ['销量']
},
xAxis: {
data: xdata   //x轴数据
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: zdata   //z轴数据
}]
};// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);},1000);(4)数据自动刷新JS
setTimeout(function(){
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));//记录刷新的次数
var count=0;//获取数据
var sql = "SELECT * FROM 销量 limit 5";
var xdata = FR.remoteEvaluate('=sql("FRDemo","'+sql+'",2)');
var zdata = FR.remoteEvaluate('=sql("FRDemo","'+sql+'",5)');// 指定图表的配置项和数据
var option = {
title: {
text: 'ECharts(报表块+数据刷新)'+count
},
tooltip: {},
legend: {
data: ['销量']
},
xAxis: {
data: xdata
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: zdata
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);var ctimer1 = setInterval(function() {//zdata = FR.remoteEvaluate('ds1.select(val)');
zdata = FR.remoteEvaluate('=sql("FRDemo","'+sql+'",5)');//刷新时获取的数据
++count;option = {
title: {
text: 'ECharts(报表块+数据刷新)'+count
},
tooltip: {},
legend: {
data: ['销量']
},
xAxis: {
data: xdata   //x轴数据
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: zdata   //z轴数据
}]
};// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);},5000);
},1000);

(5)预览效果

见文末百度云资源:echarts示例.frm

3、方案3—网页框

(1)图表HTML(无参数)
参考图表:https://gallery.echartsjs.com/editor.html?c=xu9Sl6QC5,将生成的HTML文件放到工程中,如上面的echarts1.html,然后设置后引用路径

<!DOCTYPE html>
<html>
<head>
<meta charset="gbk">
<title>ECharts</title><!-- 引入 echarts.js -->
<script src="echarts/echarts.min.js"></script>
<script src="echarts/echart2.js"></script>
<script src="echarts/echart.js"></script>
<script type="text/javascript" src="echarts/getUrlParam.js"></script>
</head><body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 100%;height:100% ;position:absolute;"></div>
<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));// 以下需要添加指定图表的配置项和数据,可以直接进行替换option = {backgroundColor: "#38445E",grid: {
left: '12%',
top: '5%',
bottom: '12%',
right: '8%'
},xAxis: {data: ['驯鹿', '火箭', '飞机', '高铁', '轮船', '汽车', '跑步', '步行', ],axisTick: {
show: false
},
axisLine: {
lineStyle: {
color: 'rgba(255, 129, 109, 0.1)',
width: 1 //这里是为了突出显示加上的
}
},
axisLabel: {
textStyle: {
color: '#999',
fontSize: 12
}
}},yAxis: [{
splitNumber: 2,
axisTick: {
show: false
},
axisLine: {
lineStyle: {
color: 'rgba(255, 129, 109, 0.1)',
width: 1 //这里是为了突出显示加上的
}
},
axisLabel: {
textStyle: {
color: '#999'
}
},
splitArea: {
areaStyle: {
color: 'rgba(255,255,255,.5)'
}
},
splitLine: {
show: true,
lineStyle: {
color: 'rgba(255, 129, 109, 0.1)',
width: 0.5,
type: 'dashed'
}
}
}
],series: [{name: 'hill',type: 'pictorialBar',barCategoryGap: '0%',symbol: 'path://M0,10 L10,10 C5.5,10 5.5,5 5,0 C4.5,5 4.5,10 0,10 z',label: {
show: true,
position: 'top',
distance: 15,
color: '#DB5E6A',
fontWeight: 'bolder',
fontSize: 20,
},itemStyle: {normal: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [{
offset: 0,
color: 'rgba(232, 94, 106, .8)' //  0%  处的颜色
},
{
offset: 1,
color: 'rgba(232, 94, 106, .1)' //  100%  处的颜色
}
],
global: false //  缺省为  false
}
},
emphasis: {
opacity: 1
}},data: [123, 60, 25, 18, 12, 9, 2, 1],z: 10}]
};// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
</script>
</body>
</html>

(2)预览效果一

(3)图表HTML(接收参数)
模版设置说明:模版参数val,在网页框中会将值传给url参数value,然后HTML中会用语句UrlParam.paramValues("value")来接收url的value参数值,如下
// 接收url传入的参数
var value = UrlParam.paramValues("value");
var FRdata = []
FRdata.push(value)

(4)参考代码
以水球图为例,图表接收传来的参数后会显示对应的数值

<!DOCTYPE html>
<html>
<head>
<meta charset="gbk">
<title>ECharts</title><!-- 引入 echarts.js -->
<script src="echarts/echarts.min.js"></script>
<script src="echarts/echart2.js"></script>
<script src="echarts/echart.js"></script>
<script type="text/javascript" src="echarts/getUrlParam.js"></script></head>
<body><!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 100%;height:100% ;position:absolute;"></div>
<script type="text/javascript">// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));// 接收url传入的参数
var value = UrlParam.paramValues("value");
var FRdata = []
FRdata.push(value)// 指定图表的配置项和数据var option = {backgroundColor: '#06151D', // 图表大背景title: {text: '测试', // 图表标题textStyle: {fontWeight: 'normal',fontSize: 25, //字号color: 'rgb(0, 207, 233)' //字体颜色}},series: [{type: 'liquidFill',  //调用图表类型radius: '80%',  //水球图半径
color: ['#00CFE9'],  //水球波浪颜色data: FRdata,  // 水球波浪数backgroundStyle: {borderWidth: 5,   //内边框宽度borderColor: '#00CFE9',  //内边框颜色color: '#06151D' //水球内部背景 },label: {normal: {formatter: (value * 100).toFixed(2) + '%',  //显示数值格式textStyle: {fontSize: 50 //显示数值大小}}}}]
}// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
</script>
</body>
</html>

(5)预览效果二

无参数效果见:echart.frm、echarts.html
参数联动效果:echart2.frm、echarts1.html

4、方案4—Echarts插件

(1)label0设置的初始化事件
以箱线图为例

FR.ECharts.create(this,{//三个与箱线图相关的配置文件,可以在附件文件中看到
js:['dms/boxplot.js','sms/boxplot.js','oms/boxplot.js'],//数据集名称为ds2,列名分别为产品类型和销量
ds:{
name:'ds2',
cols:'产品类型,销量'
},//一些图表配置,比如xk是x轴数据,也就是上面列名;vk是y轴的列值
def:{
xk:'产品类型',
vk:'销量',
vName:'销量',
title:'产品类型销量箱线图'
},//clickSeries这个方法就是点击图表时需要执行的方法,name是分类名,series是系列名,value是值
clickSeries:function( name, series, value ){//FR.BaseUtils.linkChart进行超链接,这个超链方法可以是FR图表超链Echarts,Echarts超链FR图表,Echarts超链Echarts、FR图表超链FR图表
FR.BaseUtils.linkChart('chart1',{pt:name});//联动chart1,将点击时name的值传给参数pt
}
});
FR.CTEST = this;(2)引用文件简介
以dms.js为例
;(function() {
FR.BaseUtils.import( 'plugins/dataTools.js', 'js' );
$.extend(FR.ECharts.MAKERS,{
dms_boxplot: function(  options, datas, def  ){//以下是图表配置信息,可以替换
var data = FR.BaseUtils.prepareBoxplotData( datas[def.xk], datas[def.vk] );//本例中def.xk就是'产品类型',datas[def.xk]就是获取对应列的数据
var xAxis = {
data: data.axisData
};
var series = [];
series.push({
data: data.boxData
});
series.push({
data: data.outliers
});//上述配置好参数后,直接返回就可以用
return {
xAxis:xAxis,
series:series
};
}});
})();

(3)预览效果

附件见:EchartsTest.frm

四、Echarts联动方案

1、准备工作
(1)需要先了解的文档:Label标签方案、报表块方案
(2)按照上述文档设置好,可以预览成功
2、Echarts联动Fr图表
(1)label的初始化事件中增加js

//params是点击时获取的对象,比如点击柱子时有一个对象,可以用params.name获取分类名,用params.series获取系列名,用params.value获取值
myChart.on('click', function (params) {FR.Chart.WebUtils.changeParameter('chart0', {"a": params.name,});});

(2)参考设置

(3)预览效果

3、Fr联动Echarts图表
(1)图表设置动态参数

(2)label接收参数

(3)效果

参考模版:echarts示例2.frm

五、附件

链接:https://pan.baidu.com/s/1vkQ0nhvycFmoiB9mo2eTsw

提取码:7c4s

对你有帮助的话,可以点赞+关注+收藏,更多知识分享持续更新~

【帆软FR】Echarts图表方案相关推荐

  1. 帆软: FR.doHyperlinkByPost传参数。带集合到报表展示

    html的script方式引入finereport.js vue方式引入finereport.js.普通的import方式引入不行.我是看的其他人写的.用了第五种:Vue组件中如何引入外部的js文件 ...

  2. 帆软 大屏BI模板(含报表滚动,图表联动等)下载

    使用的FineReport内置FRDemo数据库,下载后放在帆软目录里就可以使用. 需要下载帆软的扩展图表插件,本地预览免费使用. 扩展图表插件- FineReport帮助文档 - 全面的报表使用教程 ...

  3. gis 大屏_gis大屏可视化应用技术方案_gis大屏可视化应用技术_gis大屏可视化应用 - 帆软...

    如今大屏可视化的应用越来越普遍,在很多公共场合.交易大厅,以及企业的展览中心,大屏可视化都是非常震撼的.那么gis大屏可视化应用技术方案哪家公司靠谱?你需要掌握这2招选择标准. 一.gis大屏可视化应 ...

  4. 帆软单点登录_FineReport和泛微OA(Ecology)的单点登录集成方案

    最近出现了很多关于帆软报表和泛微OA的集成问题,均出现在"单点登录"上.直接也有相关的文章介绍一些FineReport和泛微集成的背景.价值等,以及FineReport和OA的深度 ...

  5. FineReport(二)帆软报表图表的

    一.关于帆软报表柱状图单列柱状图的用法 1.首先我们打开设计器新建一张模版 2.选中一片区域进行单元格合并,为图表做好区域准备 3.在区域进右键,单元格元素,选择插入图表 4.这里我们先选择柱状图 5 ...

  6. 帆软添加外部echarts插件不生效

    背景:整体来说就是帆软从10升级到11后外部echart失效 帆软10.0版本,从echarts官网下载的插件添加到服务器是,放在目录时生效: 但是帆软11版本后没有webroot/scripts这个 ...

  7. 帆软(FineReport)报表学习——插入图表

    接着帆软(FineReport)报表学习--一个简单的报表,新做一个带有图表的决策报表. 一.定义数据查询 首先定义数据查询totaldata,用条形图显示卖场数据: select dept,sum( ...

  8. 帆软-条形图点击柱子变色并联动图表js

    版本:帆软10 预期效果:点击条形图chart2的柱子,柱子变成红色,并联动条形图chart1 实现步骤如下: 1.决策报表拖入条形图chart1.chart2,绑定数据集,并设置好样式: 2.在条形 ...

  9. 参与就有1000块,30W奖池你占一半 | 帆软开发者大赛招募

    有哪些令你感到惊艳的数据可视化? 是低调渲染就让人惊叹的D3? 还是百度良心出品,易用易上手的Echarts? --- 如果你颇具审美还会开发,就放马过来吧!因为今年,帆软可视化插件大赛将重装来袭. ...

最新文章

  1. 兰蔻和雅诗兰黛哪个好_兰蔻、雅诗兰黛、修丽可,这些大牌护肤品,你会选择谁?...
  2. 跟着迪哥学python 经管之家_跟着迪哥学Python数据分析与机器学习实战
  3. 渗透中Meterpreter基本操作和对应的windows上的排查或者现象
  4. 关于 Google 发布的 JS 代码规范
  5. 组合数学 - 母函数的运用 + 模板 --- hdu : 2082
  6. AD库文件(元件库+封装库+3D模型)
  7. 树莓派搭建文件服务器
  8. “华为电气—艾默生”系——成就A股最多上市公司的创业群体
  9. BIOS 从FFFF0H处开始执行指令的理解
  10. 由膳食纤维选择性促进的肠道细菌缓解二型糖尿病
  11. 腾讯云学生服务器如何购买
  12. 全媒体运营师胡耀文教你:拆解电商运营万能公式
  13. 7-33 统计素数并求和(20 分)
  14. 如何更好地学习新概念英语
  15. 逆天了!看大二学生做的超写实CG卷尾猴!
  16. 【java毕业设计】基于JAVA+JSP+strust2的电子政务网设计与实现(毕业论文+程序源码)——电子政务网
  17. autoit几行代码实现QQ自动发送消息,点赞,去空间留言。
  18. jQuery系列 第八章 jQuery框架Ajax模块
  19. Q28:如何判断内存泄漏
  20. mysql deadlock found_mysql死锁 Deadlock found when trying to get lock; try restarting transaction

热门文章

  1. 什么是生命周期函数(钩子函数)
  2. 【Java篇】多线程详解
  3. beyond compare过期修复方法
  4. 【资料】【哈代/拉马努金】悼文
  5. Excel使用经验——Excel连接Oracle,发生3706错误的解决办法
  6. Docker服务卡死如何解决?
  7. (软考)计算机硬件及操作系统
  8. Oracle 安装时执行setup时出现乱码报错以及Oracle 11 Windows x64版下载地址和教程链接
  9. Mendeley教程(3)引用各种文献
  10. 企业微信裂变工具有哪些?企业微信裂变工具怎么用?