1. 概述
需求其实挺简单,监控设备参数不在特定范围内,声音报警提示;
参考了分页浏览界面添加声音提示的文档,决策报表js获取报表块的单元格值;
2. 实现思路
1) 在决策报表中,添加声音标签,用html显示;
<audio id="music1" src="../../help/alarm.mp3" controls="controls" loop="loop"> Your browser does not support the audio element. </audio>
注:src中的资源为放在 \webroot\help文件夹下的本地mp3文件,也可使用网络资源;
效果如下:
2) 报表块中添加设备参数值到A1单元格,并设定报表块动态刷新;报表块的取值,js代码如下:
_g().options.form.getWidgetByName('report0').element.find('td[id^=A1-]').text();
注:此处取的是report0报表块的A1单元格的值,可根据实际情况修改;
3) 添加初始化事件,可以放在body下:
setTimeout(function() {
setInterval(
"var a = document.getElementById('music1');var b =
_g().options.form.getWidgetByName('report0').element.find('td[id^=A1-]').text();if(b<50){a.play();}",3000);
}, 1000);
注:(1) 需要setTimeout延迟执行,否则会报错,原因不明,疑似BUG;(2) 设定循环执行setInterval;