反馈已提交

网络繁忙

查询不同时间周期的数据

  • 文档创建者:吴凡
  • 历史版本:6
  • 最近更新:Leo.Tsai 于 2021-06-02
  • 1. 概述

    1.1 问题描述

    决策报表查询指定区间日期数据时,希望可以通过点击按钮( 不在参数面板 )查询到最近的数据,例如:近7天、近14天等等。

    如下图所示:

    12.gif

    1.2 解决思路

    直接将开始和结束的两个日期控件拖入到 body 中,并添加一个按钮控件。

    给按钮控件设置 JS 点击事件,点击按钮后,对开始日期控件赋值,将日期传递到数据集的 SQL 语句中,查询对应的数据。

    2. 示例

    2.1 报表设计

    1)新建决策报表,新建数据集 ds1,SQL查询语句如下:

    SELECT * FROM 订单 where 1=1 

     ${if(len(starttime)=0,""," and 订购日期>='"+starttime+"'")}

     ${if(len(endtime)=0,""," and 订购日期<='"+endtime+"'")}

    Snag_fd08582.png

    2)如下图设计报表样式:

    1584000212488708.png

    3)如下图绑定折线图数据:

    Snag_fd7d2f4.png

    4)选中开始时间日期控件,控件名称重命名为starttime,设置一个默认的日期控件值,如下图所示:

    Snag_fd94f24.png

    5)选中结束时间日期控件,控件名称重命名为endtime,设置一个默认的日期控件值,如下图所示:

    Snag_fdd3c45.png

    6)以近七天按钮为例,添加 JS 点击事件,近14天按钮同理设置,只需要改下定义开始时间的公式即可。

    Snag_fddba1f.png

    JS 代码如下:

    var K1='${=date(2011,6,22)-7}';//定义开始时间
    //alert(K1);
    _g().getWidgetByName("starttime").setValue(K1);//把K1值赋给开始时间控件
    _g().getWidgetByName("starttime").fireEvent("afteredit");//触发开始控件的编辑后事件

    2.2 效果预览

    1)PC端

    保存报表,点击PC端预览,效果如 1.1 节所示。

    2)移动端

    1584001760758706.gif

    3. 模板下载

    已完成模板可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\frm\决策报表按钮查询最近日期的数据.frm

    点击下载模板:决策报表按钮查询最近日期的数据.frm

    4. 动态获取结束时间

    如果想要今天作为结束日期,然后往前推 7 天,这样动态的最近 7 天该如何实现呢?

    只需要将上面示例中按钮的点击事件代码替换成:

    var mydate = new Date(); //创建日期对象,返回值为当前日期(包含时分秒)
    var K1 = new Date();//用来处理前七天的日期
    K1.setDate(K1.getDate()-7); //设置日期对象中的“日”,为当前日-7
    //alert(K1);
    _g().getWidgetByName("starttime").setValue(K1);//把K1值赋给开始时间控件
    _g().getWidgetByName("starttime").fireEvent("afteredit");

    _g().getWidgetByName("endtime").setValue(mydate);//把K1值赋给结束时间控件
    _g().getWidgetByName("endtime").fireEvent("afteredit");
    //触发开始控件的编辑后事件

    附件列表


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

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

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

    不再提示

    10s后关闭



    AI

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