Authored by 鲁尚清

Merge branch 'master' of http://192.168.1.136:82/monitor_v3/hg-monitor-web into …

…master-v32-lushangqing
... ... @@ -69,39 +69,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect'
, even: true
, cols: [[
{title: '序号', align: "center", type: 'numbers',width: '3%'}
, {field: 'type', title: '通知类型', align: 'center', sort: true, width:130,
templet: function (d){
if(d.type) {
switch (d.type) {
case 10:
return '告警通知'
break;
case 11:
return '告警消除'
break;
case 13:
return '合并通知'
break;
case 20:
return '巡检报表通知'
break;
case 30:
return '系统通知'
break;
case 40:
return '工单通知'
break;
case 99:
return '测试通知'
break;
default:
return '测试通知'
break;
}
}else {
return '系统通知'
}
}}
, {field: 'typeName', title: '通知类型', align: 'center', sort: true, width:130}
, {field: 'way', title: '通知方式', align: 'center', sort: true, width:120,
templet: function (d){
switch (d.way){
... ... @@ -563,16 +531,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect'
resType: resType,
isSend: $('#notice_search_isSend').val()
};
var typeName = new Map();
typeName.set("10","告警通知");
typeName.set("11","告警消除");
//2021-10-15 添加合并通知 XuHaoJie
typeName.set("13","合并通知");
typeName.set("20","巡检报表通知");
typeName.set("30","系统通知");
typeName.set("40","工单通知");
typeName.set("99","测试通知");
typeName.set("0","测试通知");
$.ajax({
url: `${common.domainName}/api-web/notice/groupByType`,
method: 'GET',
... ... @@ -582,7 +541,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect'
var yData = [];
if (res && res.map) {
$.each(res.map.typeList,function (i,v) {
xData.push(typeName.get(v))
xData.push(v)
})
yData = res.map.countList;
}
... ...
... ... @@ -37,7 +37,27 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
noticeTimely.sendState = noticeTimely.sendState == 1 ? 1 : 0;
noticeTimely.state = noticeTimely.state == 2 ? 1 : 0;
form.val('form-noticeTimely-add', noticeTimely);
bloatedSite(noticeTimely.site);
$('[name="templates"]').val(noticeTimely.templates);
var setting = noticeTimely.msgSetting;
if(setting){
try{
// "[{\"fieldName\":\"noticeType\",\"condition\":\"2\",\"conditionVal\":\"2\",\"msgLevel\":\"3\"}]"
var arr = JSON.parse(setting);
if(arr){
$(arr).each(function (i,v){
addCondition(v);
})
}
}catch (e) {
}
}
//bloatedSite(noticeTimely.site);
bloatedParameter(noticeTimely);
if (response.data) {
$.each(response.data, function (i, v) {
... ... @@ -72,11 +92,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
},
});
//响应声音事件
form.on('select(noticeTimely_voice)', function(data){
var url='../src/style/mp3/'+data.value+'.mp3';
var audio=common.audioPlayer(url);
audio.playclip();
});
// form.on('select(noticeTimely_voice)', function(data){
// var url='../src/style/mp3/'+data.value+'.mp3';
// var audio=common.audioPlayer(url);
// audio.playclip();
// });
//选择用户
$("#noticeTimely-form-select-users").on("click",function (){
//获取
... ... @@ -100,28 +120,74 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
}
});
});
//添加消息状态
$("#editNoticeTimelyParamBtn").on("click",function () {
// 播放mp3
$("#playMp3").on("click",function () {
var name = $('#noticeTimely_voice').val();
var mp3Url = `/src/style/mp3/${name}.mp3`;
var player = new Audio(mp3Url);
player.play();
});
function addCondition(defVal){
var settingItem = $('#notice_timely_param_level');
var html = $("#noticeTimelyParamAddRowHtml").html();
$('#notice_timely_param_level').append(html);
settingItem.append(html);
$('#notice_timely_param_sql').removeClass('hide');
$('#notice_timely_param_level').removeClass('hide');
var number = $('#notice_timely_param_level').find('.notice_time_select_sql_value').length;
settingItem.removeClass('hide');
var number = settingItem.find('.notice_time_select_sql_value').length;
getRowName();
var ht = '';
rowNames.forEach(item => {
ht += '<option value="' + item + '">' + item + '</option>'
})
$('#notice_timely_param_level').find('.notice_time_select_sql_value').eq(number - 1).append(ht);
settingItem.find('.notice_time_select_sql_value').eq(number - 1).append(ht);
if (identifying == 0) {
$('#notice_timely_param_level').find('.notice_time_select_colour').eq(0).val(grade);
settingItem.find('.notice_time_select_colour').eq(0).val(grade);
identifying = 1;
}
settingItem.find('.delete-condition').eq(0).attr('id','id'+(new Date()).getTime());
settingItem.find('.delete-condition').on('click',function (){
var that = $(this);
layer.confirm('确认要删除吗?', {icon: 3}, function (index) {
that.parent().parent().remove();
layer.close(index);
});
})
if(defVal){
// 设置默认值
settingItem.find('.notice_time_select_sql_value').val(defVal.fieldName);
settingItem.find('.notice_time_select_symbol').val(defVal.condition);
settingItem.find('.layui-notice-time-btn').val(defVal.conditionVal);
settingItem.find('.notice_time_select_colour').val(defVal.msgLevel);
setDetailsTags(rowNames);
}
}
//添加消息状态
$("#editNoticeTimelyParamBtn").on("click",function () {
var rowNames = getRowName();
if(rowNames && rowNames.length == 0){
let testStatus = $('#layui-notice_timely_sql_test').attr('test-status');
if(!testStatus || testStatus != 'success'){
layer.msg('请先测试脚本!', {icon: 7,time:3000});
return;
}
}
addCondition();
})
//写入标签内容
function writeTagsInfo(data) {
var tags = `
<span id="tags_span_${data.id}" data-id="${data.id}" data-username="${data.username}"
<span id="tags_span_${data.id}" style="margin: 3px;" data-id="${data.id}" data-username="${data.username}"
data-nickname="${data.nickname}" data-phone="${data.phone}" ><em>${data.nickname}</em>
<button type="button" value="${data.id}" class="tagsclose close">×</button>
</span>
... ... @@ -179,9 +245,13 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
Object.assign(noticeTimely, form.val('form-noticeTimely-add'));
//状态是否为开启
noticeTimely.state = statusChange(document.querySelector("#switch_noticeTimely_state").checked ? 1 : 0);
noticeTimely.broadcast = statusChange(document.querySelector("#switch_noticeTimely_broadcast").checked ? 0 : 1);
noticeTimely.retry = statusChange(document.querySelector("#switch_noticeTimely_retry").checked ? 0 : 1);
noticeTimely.sendState = statusChange(document.querySelector("#switch_noticeTimely_sendState").checked ? 0 : 1);
// 是否广播消息 1是,2否
noticeTimely.broadcast = 2;//statusChange(document.querySelector("#switch_noticeTimely_broadcast").checked ? 0 : 1);
// 是否重发 1重发,2不重发
noticeTimely.retry = 2;//statusChange(document.querySelector("#switch_noticeTimely_retry").checked ? 0 : 1); //
// 发送状态 1已发送,2未发送
noticeTimely.sendState = 2;//statusChange(document.querySelector("#switch_noticeTimely_sendState").checked ? 0 : 1);
noticeTimely.noticeNames = userNames;
var noticeStateList = [];
//获取消息状态列表
... ... @@ -201,7 +271,10 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
noticeTimely.site = $('#notice_timely_select').val() + $('#notice_timely_site').val();
//获取配置参数
var map = getParam();
noticeTimely.grade = map.grade;
if(!map){
return ;
}
noticeTimely.msgSetting = JSON.stringify(map.msgSetting);
noticeTimely.templates = map.templates;
layer.load(2);
admin.req({
... ... @@ -324,15 +397,21 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
}
//测试按钮点击
$('#layui-notice_timely_sql_test').unbind("click").on("click", function () {
$('#layui-notice_timely_sql_test').unbind("click").on("click", function (e) {
e.preventDefault();
var sql = $('#layui-notice_timely_sql').val();
var type = $('#noticeTimely_type').val();
admin.req({
url: common.domainName + '/api-web/noticeTimely/executeSql'
, data: {
sql: sql
sql: sql,
type:type
}
, success: function (res) {
if (res && res.data && res.data.length > 0) {
// 增加测试成功属性
$('#layui-notice_timely_sql_test').attr('test-status','success');
//更新行数
var list = res.data;
//默认取值第一个
... ... @@ -345,57 +424,98 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
$(this).empty();
$(this).append(html);
})
layer.msg('验证SQL通过!', {icon: 1, time: 3000});
setDetailsTags(keys);
layer.msg('脚本验证通过!', {icon: 1, time: 3000});
} else {
layer.msg('验证SQL失败!', {icon: 7, time: 3000});
layer.msg('脚本验证失败,请检查!', {icon: 7, time: 3000});
}
}
});
});
function setDetailsTags(arr){
$('#details_tags').find('.layui-badge').remove();
var details_tags = '';
arr.forEach(item => {
details_tags += `<span id="tags_span_${item}" class="layui-badge layui-bg-blue" style="margin: 3px;" ><em>${item}</em></span>`;
})
$('#details_tags').append(details_tags);
$('#details_tags span').on('click',function (){
$('[name="templates"]').val($('[name="templates"]').val() + '#{'+$(this).text() + '}');
});
}
//获取配置参数
function getParam() {
var map = getRowName();
var pa = '';
map.rowNameList.forEach(item => {
pa += '#{' + item + '},';
})
if (pa != '') {
pa = pa.substring(0, pa.length - 1);
}
//获取模板和等级
var str = {
grade: '1',
templates: pa
var obj = {
msgSetting: null,
templates: null
};
var errMsg = '';
if (!$('#notice_timely_param_sql').hasClass('hide')) {
//获取模板信息
var val = $('#notice_timely_param_sql').find('textarea[name="details"]').eq(0).val();
str.templates = val ? val : pa;
var btn= $('#notice_timely_param_level').find('.layui-notice-time-btn').eq(0).val();
if(btn){
//获取颜色
//行名
var row = $('#notice_timely_param_level').find('.notice_time_select_sql_value').eq(0).val();
//条件
var condition = $('#notice_timely_param_level').find('.notice_time_select_symbol').eq(0).val();
//值1
var value1 = btn;
//颜色
var colour = $('#notice_timely_param_level').find('.notice_time_select_colour').eq(0).val();
//值2
var value2 = map.dataList[0][row] ? map.dataList[0][row] : '';
var sign = compareSize(value2, condition, value1);
//判断类型
if (sign) {
str.grade = colour;
// 获取模板信息
var val = $('#notice_timely_param_sql').find('textarea[name="templates"]').eq(0).val();
if(!val || val == '' || val == null){
var map = getRowName();
var pa = '';
map.rowNameList.forEach(item => {
pa += '#{' + item + '},';
})
if (pa != '') {
pa = pa.substring(0, pa.length - 1);
}
}else{
var colour = $('#notice_timely_param_level').find('.notice_time_select_colour').eq(0).val();
str.grade = colour;
val = pa;
}
obj.templates = val;
var arr = [];
// 获取条件行
var msgSettings = $('#notice_timely_param_level').find('.msgSetting');
if(msgSettings && msgSettings.length > 0){
$(msgSettings).each(function (i,v){
if(v){
var settingItem = $(v);
var fieldName = settingItem.find('.notice_time_select_sql_value').val();
var condition = settingItem.find('.notice_time_select_symbol').val();
var conditionVal = settingItem.find('.layui-notice-time-btn').val();
var msgLevel = settingItem.find('.notice_time_select_colour').val();
if(fieldName == '' || condition =='' || conditionVal ==''|| msgLevel =='' ||
fieldName == null || condition == null || conditionVal == null|| msgLevel == null){
if(errMsg != ''){
errMsg = "请完善展示设置的条件!";
}
return;
}
arr.push({
fieldName:fieldName,
condition:condition,
conditionVal:conditionVal,
msgLevel:msgLevel,
})
}
})
}
if(arr.length > 0){
obj.msgSetting = arr;
}
}
if(errMsg != ''){
layer.msg(errMsg.join('<br/>'), {icon: 7, time: 3000});
return undefined;
}
return str;
// 验证数据
return obj;
}
//比大小
... ... @@ -432,4 +552,4 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
return regPos.test(val) || regNeg.test(val);
}
});
});
\ No newline at end of file
});
... ...
... ... @@ -113,7 +113,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
elem: '#table-noticeTimely-state-list',
url: domainName + '/api-web/noticeTimely/statePage',
where: params,
height: 'full',
height: 'full-450',
limit: common.limit,
limits: common.limits,
page: {
... ... @@ -207,7 +207,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
var checked = d.state == 2 ? 'checked' : '';
return '<div><input type="checkbox" data-id="' + d.id + '" lay-filter="switch_noticeTimely_checkbox_state" name="state" lay-skin="switch" lay-text="启用|禁用" ' + checked + ' ></div>'
}
}, {
}, /*{
field: 'broadcast', title: '是否广播', align: 'center', width: '100',
templet: function (d) {
var checked = d.broadcast == 1 ? 'checked' : '';
... ... @@ -219,7 +219,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
var checked = d.retry == 1 ? 'checked' : '';
return '<div><input type="checkbox" data-id="' + d.id + '" lay-filter="switch_noticeTimely_checkbox_retry" name="retry" lay-skin="switch" lay-text="重发|不重发" ' + checked + ' ></div>'
}
}, {
}, */{
title: '操作', align: 'center', minWidth: '150', fixed: 'right',
templet:
'<div>' +
... ... @@ -246,7 +246,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
layer.open({
title: "已发送消息",
content: $("#noticeTimely-state-html").html(),
area: ['80%', '70%'],
area: ['80%', '670px'],
btns: ['确认', '取消'],
success: function (index) {
loadStateTable(id);
... ... @@ -341,4 +341,4 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl
});
}
});
});
\ No newline at end of file
});
... ...
... ... @@ -441,8 +441,7 @@ layui.extend({
//通过stompClient.subscribe订阅/topic/getResponse 目标(destination)发送的消息
stompClient.subscribe('/alarmQuery/', function (respnose) {
var alarmArr = JSON.parse(respnose.body);
var mp3Name = sessionStorage.getItem('mp3');
var audio = audioPlayer(`../src/style/mp3/${mp3Name}.mp3`)
$.each(alarmArr, function (i, v) {
if (v.alarmContent) {
(function (i) {
... ... @@ -461,11 +460,12 @@ layui.extend({
let isNotify = alarmByUser(v.alarmId, alarmType === 'alarm' ? 'b_alarm' : 'b_alarm_his');
if (isNotify) {
setTimeout(function () {
audio.playclip();
var mp3Name = sessionStorage.getItem('mp3');
audioPlayer(`../src/style/mp3/${mp3Name}.mp3`)
new msgTips({
dom: ".right-bottom-tips",
title: "告警消息",
message: `<p style="line-height: 40px">${v.alarmContent}</p>`,
message: `<p style="line-height: 20px">${v.alarmContent}</p>`,
duration: 10000,
space: 10,
firstSpace: 8,
... ... @@ -539,7 +539,7 @@ layui.extend({
new msgTips({
dom: ".right-bottom-tips",
title: title,
message: `<p style="line-height: 40px">${content}</p>`,
message: `<p style="line-height: 20px">${content}</p>`,
duration: 10000,
space: 10,
firstSpace: 8,
... ... @@ -551,7 +551,7 @@ layui.extend({
toastType: toastType,
type: 'click',
action: function () {
if (hash) {
if (hash && hash != '' && hash != null) {
if (hash.toLowerCase().indexOf("http://") != -1 && hash.toLowerCase().indexOf("https://") != -1) {
location.hash = hash;
} else {
... ... @@ -621,7 +621,7 @@ layui.extend({
// 订阅实时消息
stompClient.subscribe('/realTime/', function (respnose) {
console.log('实时信息: ' + respnose);
//console.log('实时信息: ' + respnose);
var data = respnose.body;
if (data) {
var obj = JSON.parse(data);
... ... @@ -633,7 +633,7 @@ layui.extend({
// 订阅用户消息
layui.use('element', function () {
stompClient.subscribe("/user/realTime/notifications/", function (respnose) {
console.log('专属信息: ' + respnose);
//console.log('专属信息: ' + respnose);
var data = respnose.body;
if (data) {
var obj = JSON.parse(data);
... ... @@ -648,17 +648,23 @@ layui.extend({
progressHandel(element,obj);
} else {
showTips(obj.content, obj.title, obj.msgType.toLowerCase(), obj.href, 1000, obj.queryResult);
if (typeof (obj.msgType) != "undefined") {
var str = '滑稽';
voiceList.forEach(item => {
if (item.type_ == obj.msgType) {
str = item.voice_;
}
})
var url = '../src/style/mp3/' + str + '.mp3';
var audio = audioPlayer(url);
audio.playclip();
var noticeVoice = '滑稽';
if(obj.voice){
noticeVoice = obj.voice;
}
var mp3Url = `/src/style/mp3/${noticeVoice}.mp3`;
audioPlayer(mp3Url);
// if (typeof (obj.msgType) != "undefined") {
// var str = '滑稽';
// voiceList.forEach(item => {
// if (item.type_ == obj.msgType) {
// str = item.voice_;
// }
// })
// var url = '../src/style/mp3/' + str + '.mp3';
// var audio = audioPlayer(url);
// audio.playclip();
// }
}
}
});
... ... @@ -701,20 +707,27 @@ layui.extend({
//音频播放
function audioPlayer(url) {
var audio = document.createElement('audio')
if (audio.canPlayType) {
var element = document.createElement('source')
element.setAttribute('src', url)
element.setAttribute('type', 'audio/mpeg')
audio.appendChild(element)
audio.load()
audio.playclip = function () {
audio.pause()
audio.currentTime = 0
audio.play()
}
return audio
try{
// var audio = document.createElement('audio')
// if (audio.canPlayType) {
// var element = document.createElement('source')
// element.setAttribute('src', url)
// element.setAttribute('type', 'audio/mpeg')
// audio.appendChild(element)
// audio.load()
// audio.playclip = function () {
// audio.pause()
// audio.currentTime = 0
// audio.play()
// }
// return audio
// }
var player = new Audio(url);
player.play();
}catch (e) {
console.log('已播放!');
}
}
var tryFunc = function () {
... ...
... ... @@ -197,4 +197,4 @@ layui.define(['layer', 'laytpl', 'form'], function (exports) {
exports('msgTips', MsgTips);
layui.link('../../src/style/css/tips.css')
layui.link('../../src/style/css/tipsFault.css')
})
\ No newline at end of file
})
... ...
... ... @@ -6,80 +6,96 @@
clear: both;
height: 0;
}
@font-face {font-family: "iconfont";
@font-face {
font-family: "iconfont";
src: url('../font/iconfont.eot?t=1545291398330'); /* IE9*/
src: url('../font/iconfont.eot?t=1545291398330#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAATwAAsAAAAAB1gAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFY870isY21hcAAAAYAAAABXAAABhmgk0b9nbHlmAAAB2AAAASIAAAE4K/A34GhlYWQAAAL8AAAALwAAADYTohMMaGhlYQAAAywAAAAcAAAAJAfeA4RobXR4AAADSAAAAAwAAAAMDAAAAGxvY2EAAANUAAAACAAAAAgANgCcbWF4cAAAA1wAAAAeAAAAIAEQAE5uYW1lAAADfAAAAUUAAAJtPlT+fXBvc3QAAATEAAAAKwAAAD14rrqieJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2BkYWCcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGByeVT7bxdzwv4EhhrmBoQEozAiSAwD04A0WeJztkMERgCAMBPcAeTgW4sOCfNmHrVEQbWAStAtvZnPJBT4BFiAbh1FAF8J1WqrIM2vkJd5Uc5H63dsY8LlJtqvmyf+p8muLur9T8mtNom8T9ACizRISAHicLY+/TsJQFMbPx61WUm6lSlsaiUhji0jSQQIslFQSdCurpMaEXdwM3ZxNdLOsdHR1lBcor+E7uIpexZOcnD/fl/PLIUYi2CT3QYx26YAItXZtX4V8CLOPrgfmoS4aMarACJP14m2eSVI2T1aMrZJ4IUmLeJYyluL6Er6UJf9y9vXI0o0yi9M/DNH3K7tnER1Tk86JHA8+xH0P9rYsmHrptwhUa0Nv9XPulu3WWyqcjg+x6XT7ODNMwxQGvWSyW6OMcWiFNyLHKBs7KBg8VaIgiJSU6xzrp72qEivV9aeFi54mF9wTtyBr/hDWgx023scvzXav1z5NrpaN0FYsk8MfiUd9cNO6K3JefA6Gy8G0kteOXKem5SvTwXIY/AAGcUEEAAB4nGNgZGBgAOJZq2oE4/ltvjJwszCAwA3H9DYE/X8FCwNzNJDLwcAEEgUAF4AJoQB4nGNgZGBgbvjfwBDDwgACQJKRARUwAwBHCQJsBAAAAAQAAAAEAAAAAAAAAAA2AJx4nGNgZGBgYGZwAmIQYAJiLiBkYPgP5jMAAA9SAV8AAHicZY9NTsMwEIVf+gekEqqoYIfkBWIBKP0Rq25YVGr3XXTfpk6bKokjx63UA3AejsAJOALcgDvwSCebNpbH37x5Y08A3OAHHo7fLfeRPVwyO3INF7gXrlN/EG6QX4SbaONVuEX9TdjHM6bCbXRheYPXuGL2hHdhDx18CNdwjU/hOvUv4Qb5W7iJO/wKt9Dx6sI+5l5XuI1HL/bHVi+cXqnlQcWhySKTOb+CmV7vkoWt0uqca1vEJlODoF9JU51pW91T7NdD5yIVWZOqCas6SYzKrdnq0AUb5/JRrxeJHoQm5Vhj/rbGAo5xBYUlDowxQhhkiMro6DtVZvSvsUPCXntWPc3ndFsU1P9zhQEC9M9cU7qy0nk6T4E9XxtSdXQrbsuelDSRXs1JErJCXta2VELqATZlV44RelzRiT8oZ0j/AAlabsgAAAB4nGNgYoAALgbsgJmRiZGZkYWBJTHTzIInMzm/IjOvIjMRSDEwAABGIwaAAA==') format('woff'),
url('../font/iconfont.ttf?t=1545291398330') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
url('../font/iconfont.svg?t=1545291398330#iconfont') format('svg'); /* iOS 4.1- */
}
src: url('../font/iconfont.eot?t=1545291398330#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAATwAAsAAAAAB1gAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFY870isY21hcAAAAYAAAABXAAABhmgk0b9nbHlmAAAB2AAAASIAAAE4K/A34GhlYWQAAAL8AAAALwAAADYTohMMaGhlYQAAAywAAAAcAAAAJAfeA4RobXR4AAADSAAAAAwAAAAMDAAAAGxvY2EAAANUAAAACAAAAAgANgCcbWF4cAAAA1wAAAAeAAAAIAEQAE5uYW1lAAADfAAAAUUAAAJtPlT+fXBvc3QAAATEAAAAKwAAAD14rrqieJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2BkYWCcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGByeVT7bxdzwv4EhhrmBoQEozAiSAwD04A0WeJztkMERgCAMBPcAeTgW4sOCfNmHrVEQbWAStAtvZnPJBT4BFiAbh1FAF8J1WqrIM2vkJd5Uc5H63dsY8LlJtqvmyf+p8muLur9T8mtNom8T9ACizRISAHicLY+/TsJQFMbPx61WUm6lSlsaiUhji0jSQQIslFQSdCurpMaEXdwM3ZxNdLOsdHR1lBcor+E7uIpexZOcnD/fl/PLIUYi2CT3QYx26YAItXZtX4V8CLOPrgfmoS4aMarACJP14m2eSVI2T1aMrZJ4IUmLeJYyluL6Er6UJf9y9vXI0o0yi9M/DNH3K7tnER1Tk86JHA8+xH0P9rYsmHrptwhUa0Nv9XPulu3WWyqcjg+x6XT7ODNMwxQGvWSyW6OMcWiFNyLHKBs7KBg8VaIgiJSU6xzrp72qEivV9aeFi54mF9wTtyBr/hDWgx023scvzXav1z5NrpaN0FYsk8MfiUd9cNO6K3JefA6Gy8G0kteOXKem5SvTwXIY/AAGcUEEAAB4nGNgZGBgAOJZq2oE4/ltvjJwszCAwA3H9DYE/X8FCwNzNJDLwcAEEgUAF4AJoQB4nGNgZGBgbvjfwBDDwgACQJKRARUwAwBHCQJsBAAAAAQAAAAEAAAAAAAAAAA2AJx4nGNgZGBgYGZwAmIQYAJiLiBkYPgP5jMAAA9SAV8AAHicZY9NTsMwEIVf+gekEqqoYIfkBWIBKP0Rq25YVGr3XXTfpk6bKokjx63UA3AejsAJOALcgDvwSCebNpbH37x5Y08A3OAHHo7fLfeRPVwyO3INF7gXrlN/EG6QX4SbaONVuEX9TdjHM6bCbXRheYPXuGL2hHdhDx18CNdwjU/hOvUv4Qb5W7iJO/wKt9Dx6sI+5l5XuI1HL/bHVi+cXqnlQcWhySKTOb+CmV7vkoWt0uqca1vEJlODoF9JU51pW91T7NdD5yIVWZOqCas6SYzKrdnq0AUb5/JRrxeJHoQm5Vhj/rbGAo5xBYUlDowxQhhkiMro6DtVZvSvsUPCXntWPc3ndFsU1P9zhQEC9M9cU7qy0nk6T4E9XxtSdXQrbsuelDSRXs1JErJCXta2VELqATZlV44RelzRiT8oZ0j/AAlabsgAAAB4nGNgYoAALgbsgJmRiZGZkYWBJTHTzIInMzm/IjOvIjMRSDEwAABGIwaAAA==') format('woff'),
url('../font/iconfont.ttf?t=1545291398330') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ url('../font/iconfont.svg?t=1545291398330#iconfont') format('svg'); /* iOS 4.1- */
}
.ez_tips {
position: fixed;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
z-index:9999999;
z-index: 9999999;
color: #fff;
opacity: .8;
background-position: 15px center;
background-repeat: no-repeat;
padding:5px 5px 15px 5px;
padding: 5px 5px 15px 5px;
transition: all .7s;
font-size: 14px;
/*box-shadow: 0 0 8px #999;*/
/*border:1px solid #8e7e7e;*/
}
.ez_tips.info {
background-color: #2f96b4;
}
.ez_tips.warning {
background-color: #f89406;
}
.ez_tips.error {
background-color: #bd362f;
}
.ez_tips.success {
background-color: #51a351;
}
.ez_tips .tips_icon_l {
width: 10px;
height: 10px;
}
.ez_tips.info .tips_icon_l {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=);
}
.ez_tips.success .tips_icon_l {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==);
}
.ez_tips.warning .tips_icon_l {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=);
}
.ez_tips.error .tips_icon_l {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=);
}
.ez_tips .tips_icon_r.close {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAABY0lEQVRIS7XVsUtVURgA8N/LTMQCachBEEXQhpBoEBVsiCCJXF3cFaFBGmxqcRGCaMgGGxvERnHwP2gUdHRwUhAcpNXlyJHz5PJ4997ntXvgcuFy+H7nO9937mmEEK7QrabRCCFcor+m+CJwgpE6gX3M1Ql8w6c6gQX8qRMYxGkJ8BN/8Rtdmbn/8B4beN0uRiN+DCEcYqIAuUgBXmAnITH4GzzDLh4VAR/xoySLiMzgJX7hbVnwGK+ZwROcIb6LxjlmEbHpopU3g9wAaZu+Y7VOYAjH6MlBqm9RJot1fGkDlBV5Dw9zi5wB4uqPMNYyuahN3+FrYZtmg4UQnuMAvf/j8N0WuQX5kDrkwX2RtkDqqiVs1QYkZAWbqJxJbgaZws9jG4+rZFMKpExi4eO9MXxXpCMgIX2I/6w1PO0U6hjIbFmElhM0UAbdGchA8fe8iM8Yz4MqAy3nZhRTmEzPq+b9cA2H83u5C1cF7AAAAABJRU5ErkJggg==);
}
.ez_tips.info:hover,.ez_tips.warning:hover,.ez_tips.error:hover,.ez_tips.success:hover {
.ez_tips.info:hover, .ez_tips.warning:hover, .ez_tips.error:hover, .ez_tips.success:hover {
box-shadow: 0 0 8px #000;
opacity: 1;
}
.ez_tips.active {
transform: translateX(0)!important;
transform: translateX(0) !important;
}
.ez_tips .title {
padding-bottom:10px;
padding-bottom: 10px;
text-align: center;
position: relative;
}
.ez_tips .title > i.tips_icon_l{
.ez_tips .title > i.tips_icon_l {
position: absolute;
width: 24px;
height: 24px;
left: 0;
top: 0;
}
.ez_tips .title > i.tips_icon_r.close{
.ez_tips .title > i.tips_icon_r.close {
position: absolute;
width: 24px;
height: 24px;
... ... @@ -89,12 +105,43 @@
opacity: 0;
transition: opacity .5s;
}
.ez_tips .title > i.tips_icon_r.close.active {
opacity: 1;
}
.ez_tips i {
font-style: normal;
}
.ez_tips .tips-message .num {
color: #fff000;
}
\ No newline at end of file
}
.ez_tips .tips-message {
max-height: 500px;
overflow: auto;
}
.ez_tips .tips-message::-webkit-scrollbar {
width: 5px;
height: 5px;
}
.ez_tips .tips-message::-webkit-scrollbar-track {
/*background-color: #bee1eb;*/
}
.ez_tips .tips-message::-webkit-scrollbar-thumb {
border-radius: 10px;
background-color: #f0f0f0;
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);
}
.ez_tips .tips-message::-webkit-scrollbar-thumb:hover {
/*background-color: #bee1eb*/
}
.ez_tips .tips-message::-webkit-scrollbar-thumb:active {
/*background-color: #bee1eb*/
}
... ...
... ... @@ -11,105 +11,103 @@
</div>
</div>
<div class="inline-half layui-inline">
<label class="layui-form-label">频率</label>
<div class="layui-input-inline">
<input type="text" id="sentFrequency_input_noticeTimely" name="frequency" lay-verify="required"
placeholder="请输入频率" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux" id="show_corn_info_frequency"
style="padding: 0!important;position: relative;line-height: 38px;display: flex;justify-content: center;margin: 0px;margin-left: 5px;">
<i class="layui-icon form-btn-icon">&#xe702;</i>
</div>
</div>
</div>
<div class="layui-form-item" style="display: flex;justify-content: space-between;">
<div class="layui-inline" style="flex: 1;">
<label class="layui-form-label">状态</label>
<div class="layui-input-inline" style="margin-left: 20px;;width: 100px">
<!-- <div class="layui-input-inline" style="width: calc(20vw - 142px);margin-right:65px;margin-left: 50px;">-->
<div class="layui-input-inline" style="padding-left: 6px">
<input type="checkbox" id="switch_noticeTimely_state" name="state" lay-skin="switch" lay-text="启用|禁用" value="0" >
</div>
</div>
<div class="layui-inline" style="flex: 1;">
<label class="layui-form-label" >是否广播</label>
<div class="layui-input-inline" style="margin-left: 20px;width: 100px">
<input type="checkbox" id="switch_noticeTimely_broadcast" name="broadcast" lay-skin="switch" lay-text="是|否" value="0" >
</div>
</div>
<div class="layui-inline" style="">
<label class="layui-form-label">是否轮循</label>
<div class="layui-input-inline" style="margin-left: 20px;width: 100px">
<input type="checkbox" id="switch_noticeTimely_retry" name="retry" lay-skin="switch" lay-text="轮循|不轮循" value="0" >
</div>
</div>
<div class="layui-inline" style="display: none !important;">
<label class="layui-form-label">发送状态</label>
<div class="layui-input-inline" style="width: calc(20vw - 142px);margin-right:0px;margin-left: 50px;">
<input type="checkbox" id="switch_noticeTimely_sendState" name="sendState" lay-skin="switch" lay-text="已发送|未发送" value="0" >
</div>
</div>
</div>
<div class="layui-form-item">
<div class="inline-half layui-inline" style="display: none!important;">
<label class="layui-form-label" style="font-size: 12px">重发延迟时间</label>
<div class="layui-input-inline">
<input type="text" name="retryTime" placeholder="请输入重发延迟时间(秒)" class="layui-input">
<div class="inline-half layui-inline" style="width: 100%">
<label class="layui-form-label">频率</label>
<div style="width: calc(100% - 110px)">
<div class="layui-input-inline" style="width: calc(100% - 10px);display: inline-flex;">
<input type="text" id="sentFrequency_input_noticeTimely" name="frequency" lay-verify="required"
placeholder="请输入频率" class="layui-input">
<i id="show_corn_info_frequency" class="layui-icon form-btn-icon" style="line-height: 32px;margin-left: 5px;">&#xe702;</i>
</div>
</div>
</div>
</div>
<!--添砖地址功能待优化-->
<!--<div class="layui-form-item">
<div class="inline-half layui-inline" style="width: 100%">
<label class="layui-form-label">跳转地址</label>
<div style="width: 95%">
<div class="layui-input-inline" style="width: 46%;">
<div style="width: calc(100% - 110px)">
<div class="layui-input-inline" style="width: 200px;">
<select id="notice_timely_select">
<option selected="selected" disabled="disabled" style='display: none' value=''></option>
</select>
</div>
<div class="layui-input-inline" style="margin-left: 1px;width: 52%;">
<div class="layui-input-inline" style="width: calc(100% - 210px);display: inline-flex;">
<input type="text" name="site" id="notice_timely_site" placeholder="请输入详情页地址" class="layui-input">
<i id="show_corn_info_state" class="layui-icon form-btn-icon" style="line-height: 32px;margin-left: 5px;">&#xe702;</i>
</div>
<div class="layui-form-mid layui-word-aux" id="show_corn_info_state"
style="padding: 0!important;position: relative;line-height: 38px;display: flex;justify-content: center;margin: 0px;margin-left: 5px;">
<i class="layui-icon form-btn-icon">&#xe702;</i>
</div>
</div>
</div>-->
<div class="layui-form-item">
<div class="inline-half layui-inline" style="width: 100%">
<label class="layui-form-label">发送用户</label>
<div style="width: calc(100% - 110px)">
<div class="layui-input-inline" style="width: calc(100% - 10px);display: inline-flex;">
<div class="tags" id="select_noticeTimely_id_user" style="width: calc(100% - 20px);border: solid 1px #D2D2D2;margin-top: 0px;height: 36px;"></div>
<i class="layui-icon form-btn-icon" id="noticeTimely-form-select-users" style="line-height: 36px;margin-left: 5px;">&#xe615;</i>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="inline-half layui-inline" style="display: none!important;">
<div class="inline-half layui-inline">
<label class="layui-form-label">响应声音</label>
<div class="layui-input-inline">
<select name="voice" id="noticeTimely_voice" lay-filter="noticeTimely_voice">
<option value="咳咳">咳咳</option>
<option value="微信提醒">微信提醒</option>
<option value="滑稽">滑稽</option>
</select>
<div style="display: flex">
<div style=" width: calc(100% - 60px);">
<select name="voice" id="noticeTimely_voice" lay-filter="noticeTimely_voice" >
<option value="14039">叮咚</option>
<option value="咳咳">咳咳</option>
<option value="微信提醒">微信提醒</option>
<option value="滑稽">滑稽</option>
</select>
</div>
<button type="button" class="layui-btn layui-btn-primary" id="playMp3" style="margin-left: 2px">
<i class="layui-icon">&#xe652;</i>
</button>
</div>
</div>
</div>
<div class="inline-half layui-inline" style="display: none!important;">
<div class="inline-half layui-inline">
<label class="layui-form-label">类型</label>
<div class="layui-input-inline">
<input type="text" name="type" placeholder="请输入类型" value="sql" readonly="readonly" class="layui-input">
<select name="type" id="noticeTimely_type" lay-filter="noticeTimely_type">
<option value="SQL">监控数据库</option>
<option value="TEXT">文本</option>
<!-- <option value="es">es</option>
<option value="influxdb">时序</option>
<option value="tdEngine">tdEngine</option>-->
</select>
<div style="padding: 3px">
文本支持:#{now} 当前时间格式:yyyy-MM-dd HH:mm:ss
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">用户</label>
<div class="layui-input-block tags-input" style="height: auto;width: 90% !important;">
<div class="tags" id="select_noticeTimely_id_user"></div>
</div>
<div class="layui-form-mid layui-word-aux" style="padding: 0!important;position: relative;top: -28px;left: 98%;justify-content: center;margin-left: 10px; "><i class="layui-icon form-btn-icon" id="noticeTimely-form-select-users">&#xe615;</i></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label textarea-label">内容</label>
<div class="layui-input-block" style="display: flex;flex-direction: column;align-items: flex-end;">
<textarea name="details" placeholder="请输入内容(SQL)" class="layui-textarea" id="layui-notice_timely_sql" style="width: 100%"></textarea>
<div style="width: 100px;height: auto;">
<div style="background-color: #1E9FFF;width: 90px;float: right;display: flex;justify-content: center;height: 40px;line-height: 40px;margin-top: 30px; color: #fff;"
id="layui-notice_timely_sql_test">测试
</div>
<textarea name="details" placeholder="请输入脚本内容" class="layui-textarea" id="layui-notice_timely_sql" style="width: 100%"></textarea>
<div style="width: 100%;padding: 10px 0px;">
<button id="layui-notice_timely_sql_test" class="layui-btn layui-btn-normal">测试脚本</button>
<span style="color: red">* 脚本尽量添加条件,否则一次性查询内容过多导致发送消息失败!(建议发送内容不超过200个汉字)</span>
</div>
</div>
</div>
<button id="btn-noticeTimely-submit" class="hide" lay-submit lay-filter="btn-noticeTimely-submit">提交</button>
</form>
<div class="layui-card-body layui-form-pane editNoticeTimelyParam-list" style="padding-top: 0px;">
... ... @@ -125,16 +123,18 @@
<div class="layui-form-item hide" id="notice_timely_param_sql">
<label class="layui-form-label textarea-label">展示内容</label>
<div class="layui-input-block" style="display: flex;">
<textarea name="details" placeholder="请输入展示内容" class="layui-textarea" style=""></textarea>
<textarea name="templates" placeholder="请输入展示内容" class="layui-textarea" style=""></textarea>
</div>
<div id="details_tags" style="width: 100%;display: flex;flex-wrap: wrap;"></div>
</div>
<div class="layui-form-item hide" id="notice_timely_param_level">
<label class="layui-form-label">展示设置</label>
<span style="color: red;line-height:36px">* 列表数据的状态设置办法:获取“第一条”数据的内容进行判断。</span>
</div>
</div>
</article>
<script type="text/html" id="noticeTimelyParamAddRowHtml">
<div class="layui-form-item">
<div class="layui-form-item msgSetting">
<div class="layui-inline" style="margin-left: 110px">
<div class="layui-notice-time-lable">当数据集中的</div>
<select class="layui-notice-time-select notice_time_select_sql_value">
... ... @@ -142,8 +142,8 @@
</select>
<div class="layui-notice-time-lable" style="width: 40px;">的值</div>
<select class="layui-notice-time-select notice_time_select_symbol">
<option value="0">大于</option>
<option value="1">小于</option>
<option value="0">大于(适用于数字类型、日期类型)</option>
<option value="1">小于(适用于数字类型、日期类型)</option>
<option value="2">等于</option>
</select>
<input type="text" class="layui-notice-time-btn" value="">
... ... @@ -153,7 +153,7 @@
<option value="2">重要(黄色)</option>
<option value="3">严重(红色)</option>
</select>
<div class="layui-notice-time-lable" style="width: 40px;">提示</div>
<div class="layui-notice-time-lable delete-condition" style="width: 40px;">删除</div>
</div>
</div>
</script>
... ... @@ -215,4 +215,4 @@
layui.use('noticeTimelyAdd', function (fn) {
fn({{d}});
});
</script>
\ No newline at end of file
</script>
... ...
... ... @@ -55,4 +55,4 @@
layui.use('noticeTimelyIndex', function (fn) {
fn();
});
</script>
\ No newline at end of file
</script>
... ...
... ... @@ -5,6 +5,7 @@
<link rel="icon" href="public/shui.png"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>智能综合监控平台</title>
<script src="public/lib/polyfill/polyfill.min.js"></script>
<script src="public/lib/vue/vue.global.prod.js"></script>
<script src="public/lib/vue/vue-router.global.prod.js"></script>
<script src="public/lib/vue/vuex.global.prod.js"></script>
... ...
/* Disable minification (remove `.min` from URL path) for more info */
(function(undefined) {var _mutation=function(){function e(e){return"function"==typeof Node?e instanceof Node:e&&"object"==typeof e&&e.nodeName&&e.nodeType>=1&&e.nodeType<=12}return function(n){if(1===n.length)return e(n[0])?n[0]:document.createTextNode(n[0]+"");for(var t=document.createDocumentFragment(),o=0;o<n.length;o++)t.appendChild(e(n[o])?n[o]:document.createTextNode(n[o]+""));return t}}();DocumentFragment.prototype.append=function(){this.appendChild(_mutation(arguments))};DocumentFragment.prototype.prepend=function(){this.insertBefore(_mutation(arguments),this.firstChild)};Document.prototype.after=Element.prototype.after=function(){if(this.parentNode){for(var t=Array.prototype.slice.call(arguments),e=this.nextSibling,o=e?t.indexOf(e):-1;-1!==o&&(e=e.nextSibling);)o=t.indexOf(e);this.parentNode.insertBefore(_mutation(arguments),e)}},"Text"in this&&(Text.prototype.after=Element.prototype.after);Document.prototype.append=Element.prototype.append=function(){this.appendChild(_mutation(arguments))};Document.prototype.before=Element.prototype.before=function(){if(this.parentNode){for(var e=Array.prototype.slice.call(arguments),t=this.previousSibling,o=t?e.indexOf(t):-1;-1!==o&&(t=t.previousSibling);)o=e.indexOf(t);this.parentNode.insertBefore(_mutation(arguments),t?t.nextSibling:this.parentNode.firstChild)}},"Text"in this&&(Text.prototype.before=Element.prototype.before);Element.prototype.matches=Element.prototype.webkitMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.mozMatchesSelector||function(e){for(var t=this,o=(t.document||t.ownerDocument).querySelectorAll(e),r=0;o[r]&&o[r]!==t;)++r;return!!o[r]};Element.prototype.closest=function(e){for(var n=this;n;){if(n.matches(e))return n;n="SVGElement"in window&&n instanceof SVGElement?n.parentNode:n.parentElement}return null};Document.prototype.prepend=Element.prototype.prepend=function(){this.insertBefore(_mutation(arguments),this.firstChild)};Document.prototype.replaceWith=Element.prototype.replaceWith=function(){this.parentNode&&this.parentNode.replaceChild(_mutation(arguments),this)},"Text"in this&&(Text.prototype.replaceWith=Element.prototype.replaceWith);!function(e){"use strict";function t(t){return!!t&&("Symbol"in e&&"iterator"in e.Symbol&&"function"==typeof t[Symbol.iterator]||!!Array.isArray(t))}function n(e){return"from"in Array?Array.from(e):Array.prototype.slice.call(e)}!function(){function r(e){var t="",n=!0;return e.forEach(function(e){var r=encodeURIComponent(e.name),a=encodeURIComponent(e.value);n||(t+="&"),t+=r+"="+a,n=!1}),t.replace(/%20/g,"+")}function a(e,t){var n=e.split("&");t&&-1===n[0].indexOf("=")&&(n[0]="="+n[0]);var r=[];n.forEach(function(e){if(0!==e.length){var t=e.indexOf("=");if(-1!==t)var n=e.substring(0,t),a=e.substring(t+1);else n=e,a="";n=n.replace(/\+/g," "),a=a.replace(/\+/g," "),r.push({name:n,value:a})}});var a=[];return r.forEach(function(e){a.push({name:decodeURIComponent(e.name),value:decodeURIComponent(e.value)})}),a}function i(e){if(c)return new s(e);var t=document.createElement("a");return t.href=e,t}function o(e){var i=this;this._list=[],e===undefined||null===e||(e instanceof o?this._list=a(String(e)):"object"==typeof e&&t(e)?n(e).forEach(function(e){if(!t(e))throw TypeError();var r=n(e);if(2!==r.length)throw TypeError();i._list.push({name:String(r[0]),value:String(r[1])})}):"object"==typeof e&&e?Object.keys(e).forEach(function(t){i._list.push({name:String(t),value:String(e[t])})}):(e=String(e),"?"===e.substring(0,1)&&(e=e.substring(1)),this._list=a(e))),this._url_object=null,this._setList=function(e){u||(i._list=e)};var u=!1;this._update_steps=function(){u||(u=!0,i._url_object&&("about:"===i._url_object.protocol&&-1!==i._url_object.pathname.indexOf("?")&&(i._url_object.pathname=i._url_object.pathname.split("?")[0]),i._url_object.search=r(i._list),u=!1))}}function u(e,t){var n=0;this.next=function(){if(n>=e.length)return{done:!0,value:undefined};var r=e[n++];return{done:!1,value:"key"===t?r.name:"value"===t?r.value:[r.name,r.value]}}}function l(t,n){function r(){var e=l.href.replace(/#$|\?$|\?(?=#)/g,"");l.href!==e&&(l.href=e)}function u(){m._setList(l.search?a(l.search.substring(1)):[]),m._update_steps()}if(!(this instanceof e.URL))throw new TypeError("Failed to construct 'URL': Please use the 'new' operator.");n&&(t=function(){if(c)return new s(t,n).href;var e;try{var r;if("[object OperaMini]"===Object.prototype.toString.call(window.operamini)?(e=document.createElement("iframe"),e.style.display="none",document.documentElement.appendChild(e),r=e.contentWindow.document):document.implementation&&document.implementation.createHTMLDocument?r=document.implementation.createHTMLDocument(""):document.implementation&&document.implementation.createDocument?(r=document.implementation.createDocument("http://www.w3.org/1999/xhtml","html",null),r.documentElement.appendChild(r.createElement("head")),r.documentElement.appendChild(r.createElement("body"))):window.ActiveXObject&&(r=new window.ActiveXObject("htmlfile"),r.write("<head></head><body></body>"),r.close()),!r)throw Error("base not supported");var a=r.createElement("base");a.href=n,r.getElementsByTagName("head")[0].appendChild(a);var i=r.createElement("a");return i.href=t,i.href}finally{e&&e.parentNode.removeChild(e)}}());var l=i(t||""),f=function(){if(!("defineProperties"in Object))return!1;try{var e={};return Object.defineProperties(e,{prop:{get:function(){return!0}}}),e.prop}catch(t){return!1}}(),h=f?this:document.createElement("a"),m=new o(l.search?l.search.substring(1):null);return m._url_object=h,Object.defineProperties(h,{href:{get:function(){return l.href},set:function(e){l.href=e,r(),u()},enumerable:!0,configurable:!0},origin:{get:function(){return"origin"in l?l.origin:this.protocol+"//"+this.host},enumerable:!0,configurable:!0},protocol:{get:function(){return l.protocol},set:function(e){l.protocol=e},enumerable:!0,configurable:!0},username:{get:function(){return l.username},set:function(e){l.username=e},enumerable:!0,configurable:!0},password:{get:function(){return l.password},set:function(e){l.password=e},enumerable:!0,configurable:!0},host:{get:function(){var e={"http:":/:80$/,"https:":/:443$/,"ftp:":/:21$/}[l.protocol];return e?l.host.replace(e,""):l.host},set:function(e){l.host=e},enumerable:!0,configurable:!0},hostname:{get:function(){return l.hostname},set:function(e){l.hostname=e},enumerable:!0,configurable:!0},port:{get:function(){return l.port},set:function(e){l.port=e},enumerable:!0,configurable:!0},pathname:{get:function(){return"/"!==l.pathname.charAt(0)?"/"+l.pathname:l.pathname},set:function(e){l.pathname=e},enumerable:!0,configurable:!0},search:{get:function(){return l.search},set:function(e){l.search!==e&&(l.search=e,r(),u())},enumerable:!0,configurable:!0},searchParams:{get:function(){return m},enumerable:!0,configurable:!0},hash:{get:function(){return l.hash},set:function(e){l.hash=e,r()},enumerable:!0,configurable:!0},toString:{value:function(){return l.toString()},enumerable:!1,configurable:!0},valueOf:{value:function(){return l.valueOf()},enumerable:!1,configurable:!0}}),h}var c,s=e.URL;try{if(s){if("searchParams"in(c=new e.URL("http://example.com")))return;"href"in c||(c=undefined)}}catch(h){}if(Object.defineProperties(o.prototype,{append:{value:function(e,t){this._list.push({name:e,value:t}),this._update_steps()},writable:!0,enumerable:!0,configurable:!0},"delete":{value:function(e){for(var t=0;t<this._list.length;)this._list[t].name===e?this._list.splice(t,1):++t;this._update_steps()},writable:!0,enumerable:!0,configurable:!0},get:{value:function(e){for(var t=0;t<this._list.length;++t)if(this._list[t].name===e)return this._list[t].value;return null},writable:!0,enumerable:!0,configurable:!0},getAll:{value:function(e){for(var t=[],n=0;n<this._list.length;++n)this._list[n].name===e&&t.push(this._list[n].value);return t},writable:!0,enumerable:!0,configurable:!0},has:{value:function(e){for(var t=0;t<this._list.length;++t)if(this._list[t].name===e)return!0;return!1},writable:!0,enumerable:!0,configurable:!0},set:{value:function(e,t){for(var n=!1,r=0;r<this._list.length;)this._list[r].name===e?n?this._list.splice(r,1):(this._list[r].value=t,n=!0,++r):++r;n||this._list.push({name:e,value:t}),this._update_steps()},writable:!0,enumerable:!0,configurable:!0},entries:{value:function(){return new u(this._list,"key+value")},writable:!0,enumerable:!0,configurable:!0},keys:{value:function(){return new u(this._list,"key")},writable:!0,enumerable:!0,configurable:!0},values:{value:function(){return new u(this._list,"value")},writable:!0,enumerable:!0,configurable:!0},forEach:{value:function(e){var t=arguments.length>1?arguments[1]:undefined;this._list.forEach(function(n,r){e.call(t,n.value,n.name)})},writable:!0,enumerable:!0,configurable:!0},toString:{value:function(){return r(this._list)},writable:!0,enumerable:!1,configurable:!0}}),"Symbol"in e&&"iterator"in e.Symbol&&(Object.defineProperty(o.prototype,e.Symbol.iterator,{value:o.prototype.entries,writable:!0,enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,e.Symbol.iterator,{value:function(){return this},writable:!0,enumerable:!0,configurable:!0})),s)for(var f in s)s.hasOwnProperty(f)&&"function"==typeof s[f]&&(l[f]=s[f]);e.URL=l,e.URLSearchParams=o}(),function(){if("1"!==new e.URLSearchParams([["a",1]]).get("a")||"1"!==new e.URLSearchParams({a:1}).get("a")){var r=e.URLSearchParams;e.URLSearchParams=function(e){if(e&&"object"==typeof e&&t(e)){var a=new r;return n(e).forEach(function(e){if(!t(e))throw TypeError();var r=n(e);if(2!==r.length)throw TypeError();a.append(r[0],r[1])}),a}return e&&"object"==typeof e?(a=new r,Object.keys(e).forEach(function(t){a.set(t,e[t])}),a):new r(e)}}}()}(self);}).call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});
\ No newline at end of file
... ...