历史版本7 :JS实现决策报表中添加声音报警 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 问题描述

在决策报表中,监控数据,当不数据不在监控范围内时,声音报警。

1.2 解决思路

在决策报表的报表块中添加声音标签及监控数据,报表块动态刷新,添加初始化事件,通过 JS 取监控数据判断,控制声音的播放。

注:不支持在数据决策平台中使用。

2. 示例编辑

2.1 准备音频

准备一段 mp3 音频作为报警声音,如alarm.mp3,将其放置在工程%FR_HOME%\webroot\help 目录下。如下图所示:

注:若修改了音频的名称,后面 HTML 代码中也要做相应修改。

2.2 准备模板

1)新建决策报表,添加报表块 report0,在报表块 A1 单元格中输入数字 60。

2)A2单元格中输入 HTML代码,将单元格显示方式修改为「用HTML显示内容」,用来呈现声音播放效果。

如下图所示:

HTML代码如下:

<audio id="music1" src="../../help/alarm.mp3" controls="controls"  loop="loop"> Your browser does not support the audio element. </audio>

2.3 添加事件

点击决策报表的 body ,为其添加一个「初始化」事件。如下图所示:

JavaScript 代码如下:

注:代码中判断 A1 单元格内容小于 50 就报警,若需修改,可在相应位置修改。

//获取A1单元格中值,若值<50,则报警
setTimeout(function() { 
setInterval("var a = document.getElementById('music1');var b = _g().getWidgetByName('report0').element.find('td[id^=A1-]').text();if(b<50){a.play();}",3000);

}, 1000);  

2.4 效果预览

保存模板,点击「分页预览」,A1 单元格值为 60,不报警,修改其值为 34,预览时报警。如下图所示:

注:不支持移动端。

image.png

3. 模板下载编辑