【帆软FR】Echarts图表方案
目录
一、导图
二、准备工作
三、通用方法介绍
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图表方案相关推荐
- 帆软: FR.doHyperlinkByPost传参数。带集合到报表展示
html的script方式引入finereport.js vue方式引入finereport.js.普通的import方式引入不行.我是看的其他人写的.用了第五种:Vue组件中如何引入外部的js文件 ...
- 帆软 大屏BI模板(含报表滚动,图表联动等)下载
使用的FineReport内置FRDemo数据库,下载后放在帆软目录里就可以使用. 需要下载帆软的扩展图表插件,本地预览免费使用. 扩展图表插件- FineReport帮助文档 - 全面的报表使用教程 ...
- gis 大屏_gis大屏可视化应用技术方案_gis大屏可视化应用技术_gis大屏可视化应用 - 帆软...
如今大屏可视化的应用越来越普遍,在很多公共场合.交易大厅,以及企业的展览中心,大屏可视化都是非常震撼的.那么gis大屏可视化应用技术方案哪家公司靠谱?你需要掌握这2招选择标准. 一.gis大屏可视化应 ...
- 帆软单点登录_FineReport和泛微OA(Ecology)的单点登录集成方案
最近出现了很多关于帆软报表和泛微OA的集成问题,均出现在"单点登录"上.直接也有相关的文章介绍一些FineReport和泛微集成的背景.价值等,以及FineReport和OA的深度 ...
- FineReport(二)帆软报表图表的
一.关于帆软报表柱状图单列柱状图的用法 1.首先我们打开设计器新建一张模版 2.选中一片区域进行单元格合并,为图表做好区域准备 3.在区域进右键,单元格元素,选择插入图表 4.这里我们先选择柱状图 5 ...
- 帆软添加外部echarts插件不生效
背景:整体来说就是帆软从10升级到11后外部echart失效 帆软10.0版本,从echarts官网下载的插件添加到服务器是,放在目录时生效: 但是帆软11版本后没有webroot/scripts这个 ...
- 帆软(FineReport)报表学习——插入图表
接着帆软(FineReport)报表学习--一个简单的报表,新做一个带有图表的决策报表. 一.定义数据查询 首先定义数据查询totaldata,用条形图显示卖场数据: select dept,sum( ...
- 帆软-条形图点击柱子变色并联动图表js
版本:帆软10 预期效果:点击条形图chart2的柱子,柱子变成红色,并联动条形图chart1 实现步骤如下: 1.决策报表拖入条形图chart1.chart2,绑定数据集,并设置好样式: 2.在条形 ...
- 参与就有1000块,30W奖池你占一半 | 帆软开发者大赛招募
有哪些令你感到惊艳的数据可视化? 是低调渲染就让人惊叹的D3? 还是百度良心出品,易用易上手的Echarts? --- 如果你颇具审美还会开发,就放马过来吧!因为今年,帆软可视化插件大赛将重装来袭. ...
最新文章
- 兰蔻和雅诗兰黛哪个好_兰蔻、雅诗兰黛、修丽可,这些大牌护肤品,你会选择谁?...
- 跟着迪哥学python 经管之家_跟着迪哥学Python数据分析与机器学习实战
- 渗透中Meterpreter基本操作和对应的windows上的排查或者现象
- 关于 Google 发布的 JS 代码规范
- 组合数学 - 母函数的运用 + 模板 --- hdu : 2082
- AD库文件(元件库+封装库+3D模型)
- 树莓派搭建文件服务器
- “华为电气—艾默生”系——成就A股最多上市公司的创业群体
- BIOS 从FFFF0H处开始执行指令的理解
- 由膳食纤维选择性促进的肠道细菌缓解二型糖尿病
- 腾讯云学生服务器如何购买
- 全媒体运营师胡耀文教你:拆解电商运营万能公式
- 7-33 统计素数并求和(20 分)
- 如何更好地学习新概念英语
- 逆天了!看大二学生做的超写实CG卷尾猴!
- 【java毕业设计】基于JAVA+JSP+strust2的电子政务网设计与实现(毕业论文+程序源码)——电子政务网
- autoit几行代码实现QQ自动发送消息,点赞,去空间留言。
- jQuery系列 第八章 jQuery框架Ajax模块
- Q28:如何判断内存泄漏
- mysql deadlock found_mysql死锁 Deadlock found when trying to get lock; try restarting transaction