JS实现为控件添加倒计时功能

楼主
我是社区第485122位番薯,欢迎点我头像关注我哦~
1. 概述1.1 问题描述

在有些报表需求中,需要为控件添加倒计时功能,限制到某一个时间点后能进行一项操作或不能进行某项操作,比如查询,导出功能等等,又需要人性化地显示还有多少时间,即倒计时功能,比如下图中我们限制这个报表在每天 17 点 50 分后才能查询:

当倒计时结束的时候,查询功能可用:


这种功能如何实现的呢?


1.2 实现思路

主要原理是利用控件的 setEnable(true)/setEnable(false) 来进行设置控件的可用与不可用状态,在获取时间的过程中,需要利用到 JavaScript 中的获取时间,利用 JavaScript 的定时器函数 setInterval(function(){},time) 来进行定时取得倒时时,并判断倒计时是否结束。


2. 操作步骤2.1 修改模板

以自带的 gettingstarted.cpt 模板为例,设置初始化时查询按钮不可用,如下图:

2.2 添加倒计时控制功能

为了简化控制流程,把 JavaScript 代码直接写在查询按钮的初始化后事件中,如下图:

代码如下:


2.3 预览效果

保存模板,点击分页预览,PC 端效果如下所示:

注:不支持移动端。

3. 模板下载

模板效果在线查看请点击:JS 实现为控件添加倒计时功能.cpt

已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\参数界面JS实例\08-JS实现为控件添加倒计时功能.cpt

点击下载模板:08-JS实现为控件添加倒计时功能.cpt


编辑于 2020-11-19 17:25  
编辑于 2020-11-19 17:26  
编辑于 2020-11-19 17:26  
分享扩散:

沙发
发表于 2022-3-8 12:53:09
模板无法下载,希望重新提供下载链接或者提供js代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1回帖数 1关注人数 9042浏览人数
最后回复于:2022-3-8 12:53

返回顶部 返回列表