1. 概述
1.1 问题描述
在决策报表中,监控数据,当数据不在监控范围内时,声音报警。
1.2 解决思路
在决策报表的报表块中添加声音标签及监控数据,报表块动态刷新,添加初始化事件,通过 JS 取监控数据判断,控制声音的播放。
注:不支持在数据决策平台中使用。
2. 示例
2.1 准备音频
准备一段 mp3 音频作为报警声音,如alarm.mp3:alarm.zip
将其放置在工程%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,预览时报警。如下图所示:
注:不支持移动端。
Chrome 浏览器中如无法正常播放警告声音,请在浏览器地址栏中输入 chrome://settings/content/sound,打开声音设置。
在允许播放的网页中添加 http://IP:端口/webroot/decision,即可实现自动播放报警声音。如下图所示:
3. 模板下载
点击下载附件:JS实现决策报表中添加声音报警.frm