即时消息功能增加对于es、influxdb、tdengine的支撑(支持监控数据库的查询操作/文本,es、influxdb、tdengine暂时不支持)
Showing
5 changed files
with
152 additions
and
75 deletions
@@ -38,7 +38,26 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | @@ -38,7 +38,26 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | ||
38 | noticeTimely.state = noticeTimely.state == 2 ? 1 : 0; | 38 | noticeTimely.state = noticeTimely.state == 2 ? 1 : 0; |
39 | form.val('form-noticeTimely-add', noticeTimely); | 39 | form.val('form-noticeTimely-add', noticeTimely); |
40 | $('[name="templates"]').val(noticeTimely.templates); | 40 | $('[name="templates"]').val(noticeTimely.templates); |
41 | - bloatedSite(noticeTimely.site); | 41 | + |
42 | + var setting = noticeTimely.msgSetting; | ||
43 | + if(setting){ | ||
44 | + try{ | ||
45 | + // "[{\"fieldName\":\"noticeType\",\"condition\":\"2\",\"conditionVal\":\"2\",\"msgLevel\":\"3\"}]" | ||
46 | + var arr = JSON.parse(setting); | ||
47 | + if(arr){ | ||
48 | + $(arr).each(function (i,v){ | ||
49 | + addCondition(v); | ||
50 | + }) | ||
51 | + } | ||
52 | + | ||
53 | + }catch (e) { | ||
54 | + | ||
55 | + } | ||
56 | + | ||
57 | + } | ||
58 | + | ||
59 | + | ||
60 | + //bloatedSite(noticeTimely.site); | ||
42 | bloatedParameter(noticeTimely); | 61 | bloatedParameter(noticeTimely); |
43 | if (response.data) { | 62 | if (response.data) { |
44 | $.each(response.data, function (i, v) { | 63 | $.each(response.data, function (i, v) { |
@@ -110,30 +129,60 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | @@ -110,30 +129,60 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | ||
110 | player.play(); | 129 | player.play(); |
111 | }); | 130 | }); |
112 | 131 | ||
113 | - //添加消息状态 | ||
114 | - $("#editNoticeTimelyParamBtn").on("click",function () { | ||
115 | - | ||
116 | - let testStatus = $('#layui-notice_timely_sql_test').attr('test-status'); | ||
117 | - if(!testStatus || testStatus != 'success'){ | ||
118 | - layer.msg('请先测试脚本!', {icon: 7,time:3000}); | ||
119 | - return; | ||
120 | - } | 132 | + function addCondition(defVal){ |
133 | + var settingItem = $('#notice_timely_param_level'); | ||
121 | 134 | ||
122 | var html = $("#noticeTimelyParamAddRowHtml").html(); | 135 | var html = $("#noticeTimelyParamAddRowHtml").html(); |
123 | - $('#notice_timely_param_level').append(html); | 136 | + settingItem.append(html); |
124 | $('#notice_timely_param_sql').removeClass('hide'); | 137 | $('#notice_timely_param_sql').removeClass('hide'); |
125 | - $('#notice_timely_param_level').removeClass('hide'); | ||
126 | - var number = $('#notice_timely_param_level').find('.notice_time_select_sql_value').length; | 138 | + settingItem.removeClass('hide'); |
139 | + var number = settingItem.find('.notice_time_select_sql_value').length; | ||
127 | getRowName(); | 140 | getRowName(); |
128 | var ht = ''; | 141 | var ht = ''; |
129 | rowNames.forEach(item => { | 142 | rowNames.forEach(item => { |
130 | ht += '<option value="' + item + '">' + item + '</option>' | 143 | ht += '<option value="' + item + '">' + item + '</option>' |
131 | }) | 144 | }) |
132 | - $('#notice_timely_param_level').find('.notice_time_select_sql_value').eq(number - 1).append(ht); | 145 | + settingItem.find('.notice_time_select_sql_value').eq(number - 1).append(ht); |
133 | if (identifying == 0) { | 146 | if (identifying == 0) { |
134 | - $('#notice_timely_param_level').find('.notice_time_select_colour').eq(0).val(grade); | 147 | + settingItem.find('.notice_time_select_colour').eq(0).val(grade); |
135 | identifying = 1; | 148 | identifying = 1; |
136 | } | 149 | } |
150 | + | ||
151 | + settingItem.find('.delete-condition').eq(0).attr('id','id'+(new Date()).getTime()); | ||
152 | + | ||
153 | + settingItem.find('.delete-condition').on('click',function (){ | ||
154 | + var that = $(this); | ||
155 | + layer.confirm('确认要删除吗?', {icon: 3}, function (index) { | ||
156 | + that.parent().parent().remove(); | ||
157 | + layer.close(index); | ||
158 | + }); | ||
159 | + }) | ||
160 | + | ||
161 | + if(defVal){ | ||
162 | + // 设置默认值 | ||
163 | + settingItem.find('.notice_time_select_sql_value').val(defVal.fieldName); | ||
164 | + settingItem.find('.notice_time_select_symbol').val(defVal.condition); | ||
165 | + settingItem.find('.layui-notice-time-btn').val(defVal.conditionVal); | ||
166 | + settingItem.find('.notice_time_select_colour').val(defVal.msgLevel); | ||
167 | + | ||
168 | + setDetailsTags(rowNames); | ||
169 | + } | ||
170 | + } | ||
171 | + | ||
172 | + //添加消息状态 | ||
173 | + $("#editNoticeTimelyParamBtn").on("click",function () { | ||
174 | + | ||
175 | + var rowNames = getRowName(); | ||
176 | + if(rowNames && rowNames.length == 0){ | ||
177 | + let testStatus = $('#layui-notice_timely_sql_test').attr('test-status'); | ||
178 | + if(!testStatus || testStatus != 'success'){ | ||
179 | + layer.msg('请先测试脚本!', {icon: 7,time:3000}); | ||
180 | + return; | ||
181 | + } | ||
182 | + } | ||
183 | + | ||
184 | + addCondition(); | ||
185 | + | ||
137 | }) | 186 | }) |
138 | //写入标签内容 | 187 | //写入标签内容 |
139 | function writeTagsInfo(data) { | 188 | function writeTagsInfo(data) { |
@@ -348,12 +397,16 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | @@ -348,12 +397,16 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | ||
348 | } | 397 | } |
349 | 398 | ||
350 | //测试按钮点击 | 399 | //测试按钮点击 |
351 | - $('#layui-notice_timely_sql_test').unbind("click").on("click", function () { | 400 | + $('#layui-notice_timely_sql_test').unbind("click").on("click", function (e) { |
401 | + e.preventDefault(); | ||
352 | var sql = $('#layui-notice_timely_sql').val(); | 402 | var sql = $('#layui-notice_timely_sql').val(); |
403 | + var type = $('#noticeTimely_type').val(); | ||
404 | + | ||
353 | admin.req({ | 405 | admin.req({ |
354 | url: common.domainName + '/api-web/noticeTimely/executeSql' | 406 | url: common.domainName + '/api-web/noticeTimely/executeSql' |
355 | , data: { | 407 | , data: { |
356 | - sql: sql | 408 | + sql: sql, |
409 | + type:type | ||
357 | } | 410 | } |
358 | , success: function (res) { | 411 | , success: function (res) { |
359 | if (res && res.data && res.data.length > 0) { | 412 | if (res && res.data && res.data.length > 0) { |
@@ -363,23 +416,15 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | @@ -363,23 +416,15 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | ||
363 | var list = res.data; | 416 | var list = res.data; |
364 | //默认取值第一个 | 417 | //默认取值第一个 |
365 | var keys = Object.keys(list[0]); | 418 | var keys = Object.keys(list[0]); |
366 | - var details_tags = ''; | ||
367 | var html = ''; | 419 | var html = ''; |
368 | keys.forEach(item => { | 420 | keys.forEach(item => { |
369 | html += '<option value="' + item + '">' + item + '</option>' | 421 | html += '<option value="' + item + '">' + item + '</option>' |
370 | - | ||
371 | - // | ||
372 | - details_tags += `<span id="tags_span_${item}" class="layui-badge layui-bg-blue" style="margin: 3px;" ><em>${item}</em></span>`; | ||
373 | }) | 422 | }) |
374 | $.each($('.notice_time_select_sql_value'), function (i, v) { | 423 | $.each($('.notice_time_select_sql_value'), function (i, v) { |
375 | $(this).empty(); | 424 | $(this).empty(); |
376 | $(this).append(html); | 425 | $(this).append(html); |
377 | }) | 426 | }) |
378 | - | ||
379 | - $('#details_tags').append(details_tags); | ||
380 | - $('#details_tags span').on('click',function (){ | ||
381 | - $('[name="templates"]').val($('[name="templates"]').val() + '#{'+$(this).text() + '}'); | ||
382 | - }); | 427 | + setDetailsTags(keys); |
383 | layer.msg('脚本验证通过!', {icon: 1, time: 3000}); | 428 | layer.msg('脚本验证通过!', {icon: 1, time: 3000}); |
384 | } else { | 429 | } else { |
385 | layer.msg('脚本验证失败,请检查!', {icon: 7, time: 3000}); | 430 | layer.msg('脚本验证失败,请检查!', {icon: 7, time: 3000}); |
@@ -388,21 +433,28 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | @@ -388,21 +433,28 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | ||
388 | }); | 433 | }); |
389 | }); | 434 | }); |
390 | 435 | ||
391 | - //获取配置参数 | ||
392 | - function getParam() { | ||
393 | - debugger | ||
394 | - var map = getRowName(); | ||
395 | - var pa = ''; | ||
396 | - map.rowNameList.forEach(item => { | ||
397 | - pa += '#{' + item + '},'; | 436 | + function setDetailsTags(arr){ |
437 | + | ||
438 | + $('#details_tags').find('.layui-badge').remove(); | ||
439 | + | ||
440 | + var details_tags = ''; | ||
441 | + arr.forEach(item => { | ||
442 | + details_tags += `<span id="tags_span_${item}" class="layui-badge layui-bg-blue" style="margin: 3px;" ><em>${item}</em></span>`; | ||
398 | }) | 443 | }) |
399 | - if (pa != '') { | ||
400 | - pa = pa.substring(0, pa.length - 1); | 444 | + |
445 | + $('#details_tags').append(details_tags); | ||
446 | + $('#details_tags span').on('click',function (){ | ||
447 | + $('[name="templates"]').val($('[name="templates"]').val() + '#{'+$(this).text() + '}'); | ||
448 | + }); | ||
401 | } | 449 | } |
450 | + | ||
451 | + //获取配置参数 | ||
452 | + function getParam() { | ||
453 | + | ||
402 | //获取模板和等级 | 454 | //获取模板和等级 |
403 | var obj = { | 455 | var obj = { |
404 | - msgSetting: '', | ||
405 | - templates: pa | 456 | + msgSetting: null, |
457 | + templates: null | ||
406 | }; | 458 | }; |
407 | 459 | ||
408 | var errMsg = ''; | 460 | var errMsg = ''; |
@@ -410,7 +462,19 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | @@ -410,7 +462,19 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | ||
410 | if (!$('#notice_timely_param_sql').hasClass('hide')) { | 462 | if (!$('#notice_timely_param_sql').hasClass('hide')) { |
411 | // 获取模板信息 | 463 | // 获取模板信息 |
412 | var val = $('#notice_timely_param_sql').find('textarea[name="templates"]').eq(0).val(); | 464 | var val = $('#notice_timely_param_sql').find('textarea[name="templates"]').eq(0).val(); |
413 | - obj.templates = val ? val : pa; | 465 | + if(!val || val == '' || val == null){ |
466 | + var map = getRowName(); | ||
467 | + var pa = ''; | ||
468 | + map.rowNameList.forEach(item => { | ||
469 | + pa += '#{' + item + '},'; | ||
470 | + }) | ||
471 | + if (pa != '') { | ||
472 | + pa = pa.substring(0, pa.length - 1); | ||
473 | + } | ||
474 | + val = pa; | ||
475 | + } | ||
476 | + | ||
477 | + obj.templates = val; | ||
414 | 478 | ||
415 | var arr = []; | 479 | var arr = []; |
416 | // 获取条件行 | 480 | // 获取条件行 |
@@ -113,7 +113,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | @@ -113,7 +113,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | ||
113 | elem: '#table-noticeTimely-state-list', | 113 | elem: '#table-noticeTimely-state-list', |
114 | url: domainName + '/api-web/noticeTimely/statePage', | 114 | url: domainName + '/api-web/noticeTimely/statePage', |
115 | where: params, | 115 | where: params, |
116 | - height: 'full', | 116 | + height: 'full-450', |
117 | limit: common.limit, | 117 | limit: common.limit, |
118 | limits: common.limits, | 118 | limits: common.limits, |
119 | page: { | 119 | page: { |
@@ -246,7 +246,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | @@ -246,7 +246,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | ||
246 | layer.open({ | 246 | layer.open({ |
247 | title: "已发送消息", | 247 | title: "已发送消息", |
248 | content: $("#noticeTimely-state-html").html(), | 248 | content: $("#noticeTimely-state-html").html(), |
249 | - area: ['80%', '70%'], | 249 | + area: ['80%', '670px'], |
250 | btns: ['确认', '取消'], | 250 | btns: ['确认', '取消'], |
251 | success: function (index) { | 251 | success: function (index) { |
252 | loadStateTable(id); | 252 | loadStateTable(id); |
@@ -441,8 +441,7 @@ layui.extend({ | @@ -441,8 +441,7 @@ layui.extend({ | ||
441 | //通过stompClient.subscribe订阅/topic/getResponse 目标(destination)发送的消息 | 441 | //通过stompClient.subscribe订阅/topic/getResponse 目标(destination)发送的消息 |
442 | stompClient.subscribe('/alarmQuery/', function (respnose) { | 442 | stompClient.subscribe('/alarmQuery/', function (respnose) { |
443 | var alarmArr = JSON.parse(respnose.body); | 443 | var alarmArr = JSON.parse(respnose.body); |
444 | - var mp3Name = sessionStorage.getItem('mp3'); | ||
445 | - var audio = audioPlayer(`../src/style/mp3/${mp3Name}.mp3`) | 444 | + |
446 | $.each(alarmArr, function (i, v) { | 445 | $.each(alarmArr, function (i, v) { |
447 | if (v.alarmContent) { | 446 | if (v.alarmContent) { |
448 | (function (i) { | 447 | (function (i) { |
@@ -461,7 +460,8 @@ layui.extend({ | @@ -461,7 +460,8 @@ layui.extend({ | ||
461 | let isNotify = alarmByUser(v.alarmId, alarmType === 'alarm' ? 'b_alarm' : 'b_alarm_his'); | 460 | let isNotify = alarmByUser(v.alarmId, alarmType === 'alarm' ? 'b_alarm' : 'b_alarm_his'); |
462 | if (isNotify) { | 461 | if (isNotify) { |
463 | setTimeout(function () { | 462 | setTimeout(function () { |
464 | - audio.playclip(); | 463 | + var mp3Name = sessionStorage.getItem('mp3'); |
464 | + audioPlayer(`../src/style/mp3/${mp3Name}.mp3`) | ||
465 | new msgTips({ | 465 | new msgTips({ |
466 | dom: ".right-bottom-tips", | 466 | dom: ".right-bottom-tips", |
467 | title: "告警消息", | 467 | title: "告警消息", |
@@ -551,7 +551,7 @@ layui.extend({ | @@ -551,7 +551,7 @@ layui.extend({ | ||
551 | toastType: toastType, | 551 | toastType: toastType, |
552 | type: 'click', | 552 | type: 'click', |
553 | action: function () { | 553 | action: function () { |
554 | - if (hash) { | 554 | + if (hash && hash != '' && hash != null) { |
555 | if (hash.toLowerCase().indexOf("http://") != -1 && hash.toLowerCase().indexOf("https://") != -1) { | 555 | if (hash.toLowerCase().indexOf("http://") != -1 && hash.toLowerCase().indexOf("https://") != -1) { |
556 | location.hash = hash; | 556 | location.hash = hash; |
557 | } else { | 557 | } else { |
@@ -621,7 +621,7 @@ layui.extend({ | @@ -621,7 +621,7 @@ layui.extend({ | ||
621 | 621 | ||
622 | // 订阅实时消息 | 622 | // 订阅实时消息 |
623 | stompClient.subscribe('/realTime/', function (respnose) { | 623 | stompClient.subscribe('/realTime/', function (respnose) { |
624 | - console.log('实时信息: ' + respnose); | 624 | + //console.log('实时信息: ' + respnose); |
625 | var data = respnose.body; | 625 | var data = respnose.body; |
626 | if (data) { | 626 | if (data) { |
627 | var obj = JSON.parse(data); | 627 | var obj = JSON.parse(data); |
@@ -633,7 +633,7 @@ layui.extend({ | @@ -633,7 +633,7 @@ layui.extend({ | ||
633 | // 订阅用户消息 | 633 | // 订阅用户消息 |
634 | layui.use('element', function () { | 634 | layui.use('element', function () { |
635 | stompClient.subscribe("/user/realTime/notifications/", function (respnose) { | 635 | stompClient.subscribe("/user/realTime/notifications/", function (respnose) { |
636 | - console.log('专属信息: ' + respnose); | 636 | + //console.log('专属信息: ' + respnose); |
637 | var data = respnose.body; | 637 | var data = respnose.body; |
638 | if (data) { | 638 | if (data) { |
639 | var obj = JSON.parse(data); | 639 | var obj = JSON.parse(data); |
@@ -648,17 +648,23 @@ layui.extend({ | @@ -648,17 +648,23 @@ layui.extend({ | ||
648 | progressHandel(element,obj); | 648 | progressHandel(element,obj); |
649 | } else { | 649 | } else { |
650 | showTips(obj.content, obj.title, obj.msgType.toLowerCase(), obj.href, 1000, obj.queryResult); | 650 | showTips(obj.content, obj.title, obj.msgType.toLowerCase(), obj.href, 1000, obj.queryResult); |
651 | - if (typeof (obj.msgType) != "undefined") { | ||
652 | - var str = '滑稽'; | ||
653 | - voiceList.forEach(item => { | ||
654 | - if (item.type_ == obj.msgType) { | ||
655 | - str = item.voice_; | ||
656 | - } | ||
657 | - }) | ||
658 | - var url = '../src/style/mp3/' + str + '.mp3'; | ||
659 | - var audio = audioPlayer(url); | ||
660 | - audio.playclip(); | ||
661 | - } | 651 | + var noticeVoice = '滑稽'; |
652 | + if(obj.voice){ | ||
653 | + noticeVoice = obj.voice; | ||
654 | + } | ||
655 | + var mp3Url = `/src/style/mp3/${noticeVoice}.mp3`; | ||
656 | + audioPlayer(mp3Url); | ||
657 | + // if (typeof (obj.msgType) != "undefined") { | ||
658 | + // var str = '滑稽'; | ||
659 | + // voiceList.forEach(item => { | ||
660 | + // if (item.type_ == obj.msgType) { | ||
661 | + // str = item.voice_; | ||
662 | + // } | ||
663 | + // }) | ||
664 | + // var url = '../src/style/mp3/' + str + '.mp3'; | ||
665 | + // var audio = audioPlayer(url); | ||
666 | + // audio.playclip(); | ||
667 | + // } | ||
662 | } | 668 | } |
663 | } | 669 | } |
664 | }); | 670 | }); |
@@ -701,20 +707,27 @@ layui.extend({ | @@ -701,20 +707,27 @@ layui.extend({ | ||
701 | 707 | ||
702 | //音频播放 | 708 | //音频播放 |
703 | function audioPlayer(url) { | 709 | function audioPlayer(url) { |
704 | - var audio = document.createElement('audio') | ||
705 | - if (audio.canPlayType) { | ||
706 | - var element = document.createElement('source') | ||
707 | - element.setAttribute('src', url) | ||
708 | - element.setAttribute('type', 'audio/mpeg') | ||
709 | - audio.appendChild(element) | ||
710 | - audio.load() | ||
711 | - audio.playclip = function () { | ||
712 | - audio.pause() | ||
713 | - audio.currentTime = 0 | ||
714 | - audio.play() | ||
715 | - } | ||
716 | - return audio | 710 | + try{ |
711 | + // var audio = document.createElement('audio') | ||
712 | + // if (audio.canPlayType) { | ||
713 | + // var element = document.createElement('source') | ||
714 | + // element.setAttribute('src', url) | ||
715 | + // element.setAttribute('type', 'audio/mpeg') | ||
716 | + // audio.appendChild(element) | ||
717 | + // audio.load() | ||
718 | + // audio.playclip = function () { | ||
719 | + // audio.pause() | ||
720 | + // audio.currentTime = 0 | ||
721 | + // audio.play() | ||
722 | + // } | ||
723 | + // return audio | ||
724 | + // } | ||
725 | + var player = new Audio(url); | ||
726 | + player.play(); | ||
727 | + }catch (e) { | ||
728 | + console.log('已播放!'); | ||
717 | } | 729 | } |
730 | + | ||
718 | } | 731 | } |
719 | 732 | ||
720 | var tryFunc = function () { | 733 | var tryFunc = function () { |
@@ -84,15 +84,15 @@ | @@ -84,15 +84,15 @@ | ||
84 | <label class="layui-form-label">类型</label> | 84 | <label class="layui-form-label">类型</label> |
85 | <div class="layui-input-inline"> | 85 | <div class="layui-input-inline"> |
86 | <select name="type" id="noticeTimely_type" lay-filter="noticeTimely_type"> | 86 | <select name="type" id="noticeTimely_type" lay-filter="noticeTimely_type"> |
87 | - <option value="sql">监控数据库</option> | ||
88 | - <option value="text">文本</option> | 87 | + <option value="SQL">监控数据库</option> |
88 | + <option value="TEXT">文本</option> | ||
89 | <!-- <option value="es">es</option> | 89 | <!-- <option value="es">es</option> |
90 | <option value="influxdb">时序</option> | 90 | <option value="influxdb">时序</option> |
91 | <option value="tdEngine">tdEngine</option>--> | 91 | <option value="tdEngine">tdEngine</option>--> |
92 | </select> | 92 | </select> |
93 | - <span> | 93 | + <div style="padding: 3px"> |
94 | 文本支持:#{now} 当前时间格式:yyyy-MM-dd HH:mm:ss | 94 | 文本支持:#{now} 当前时间格式:yyyy-MM-dd HH:mm:ss |
95 | - </span> | 95 | + </div> |
96 | </div> | 96 | </div> |
97 | </div> | 97 | </div> |
98 | </div> | 98 | </div> |
@@ -129,7 +129,7 @@ | @@ -129,7 +129,7 @@ | ||
129 | </div> | 129 | </div> |
130 | <div class="layui-form-item hide" id="notice_timely_param_level"> | 130 | <div class="layui-form-item hide" id="notice_timely_param_level"> |
131 | <label class="layui-form-label">展示设置</label> | 131 | <label class="layui-form-label">展示设置</label> |
132 | - <span style="color: red">* 列表数据的状态设置办法:获取“第一条”数据的内容进行判断;多条件之间的关系为“且”。</span> | 132 | + <span style="color: red;line-height:36px">* 列表数据的状态设置办法:获取“第一条”数据的内容进行判断。</span> |
133 | </div> | 133 | </div> |
134 | </div> | 134 | </div> |
135 | </article> | 135 | </article> |
@@ -153,7 +153,7 @@ | @@ -153,7 +153,7 @@ | ||
153 | <option value="2">重要(黄色)</option> | 153 | <option value="2">重要(黄色)</option> |
154 | <option value="3">严重(红色)</option> | 154 | <option value="3">严重(红色)</option> |
155 | </select> | 155 | </select> |
156 | - <div class="layui-notice-time-lable" style="width: 40px;">测试</div> | 156 | + <div class="layui-notice-time-lable delete-condition" style="width: 40px;">删除</div> |
157 | </div> | 157 | </div> |
158 | </div> | 158 | </div> |
159 | </script> | 159 | </script> |
-
Please register or login to post a comment