反馈已提交

网络繁忙

决策报表控件联动ECharts图表

  • 文档创建者:Alicehyy
  • 历史版本:4
  • 最近更新:Alicehyy 于 2024-03-01
  • 1. 概述

    1.1 版本

    报表服务器版本插件版本
    11.0V1.0.0

    1.2 问题描述

    在决策报表的 body 中,直接使用控件绑定参数是可以实现 自动查询 的。但是,对 ECharts 图表来说,并不支持直接使用 body 中的控件实现联动。那么要实现 body 中的控件联动 ECharts 图表应该怎么做呢?

    1.3 解决思路

    给 body 中的控件添加「编辑后」事件,使用 FR.Chart.WebUtils.changeParameter() 给图表参数赋值,ECharts 图表利用 FR.remoteEvaluate() 接收参数实现 ECharts 图表动态展示。实现效果如下图所示:

    C5FD1432-2DE4-4978-959A-1C1F4BCE4DE0.GIF

    2. 示例

    2.1 准备模板

    在设计器中新建决策报表,新建两个数据集。

    ds1:SQL 查询语句为 SELECT * FROM 销量。获取销量表中全部数据。

    ds2:SQL 查询语句为SELECT * FROM 销量 WHERE 1=1  ${if(len(area) == 0,"","and 地区 = '" + area + "'")} ,实现参数 area 为空时获取全部数据,否则根据参数 area 获取对应数据。

    Snag_3a74a121.png

    2.2 设计模板

    2.2.1 拖入组件

    1)首先将 body 的布局方式修改为「绝对布局」。如下图所示:

    Snag_3a72ae98.png

    2)向 body 中拖入一个标签控件、下拉框控件、ECharts 图表。如下图所示:

    Snag_3a73caf5.png

    3)设置标签控件的控件值为 area: 。设置下拉框控件名称为「area」,数据字典为「数据查询」,选择 ds1 数据集,实际值和显示值均为「地区」字段。

    如下图所示:

    Snag_3a54e7e9.png

    2.2.2 添加编辑后事件

    给下拉框控件添加一个编辑后事件,输入 JavaScript 代码如下:

    FR.Chart.WebUtils.changeParameter({
    chartID:'chart0',
    para:{ 
    area:this.getValue()
          }
    })

    步骤如下图所示:

    Snag_3a596227.png

    2.2.3 添加图表数据结构

    双击 ECharts 图表,在配置中添加一个二维数组结构,绑定设置了参数的 ds2 数据集中的「销售员」和「销量」字段。如下图所示:

    Snag_3a5eeaa8.png

    2.2.4 编辑代码

    点击「代码编辑器」,因为 ds2 数据集中定义的参数为 $area ,所以通过 FR.remoteEvaluate("$area") 接收参数。输入代码如下所示:

    try
    {var area = FR.remoteEvaluate('$area');}
    catch(err){}
    const TABLE_DATA = getData("data1");
    option = {
          title: {subtext: area},
      legend: {},
      tooltip: {},
      dataset: {
        source: TABLE_DATA,
      },
      xAxis: { type: "category" },
      yAxis: {},
      series: [{ type: "bar" }],
    };

    如下图所示:

    Snag_3a6628c8.png


    2.3 效果预览

    保存报表,点击「PC端预览」,效果如 1.3 节实现效果所示。

    注:不支持移动端。

    3. 模板下载

    附件列表


    主题: 图表应用
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持