Authored by wangtao

Merge branch 'master-500-dev' of http://113.200.75.45:82/monitor_v3/hg-monitor-w…

…eb into master-500-dev
... ... @@ -19,16 +19,7 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f
, type: 'time'
, range: true
});
laydate.render({
elem: '#importantTimes'
, type: 'time'
, range: true
});
laydate.render({
elem: '#commonlyTimes'
, type: 'time'
, range: true
});
var resType = localStorage.getItem("currentResType");
var NoticeMergeFlag = 'off';
// 获取合并通知开关是否开启
... ... @@ -63,8 +54,6 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f
form.val("add-alarmpolicy-form", res.object);
$("#alarm-policy-kpiName").val(res.object.kpiId + " " + res.object.kpiName);
$("#seriousTimes").val(res.object.seriousTimes);
$("#importantTimes").val(res.object.importantTimes);
$("#commonlyTimes").val(res.object.commonlyTimes);
$("#alarmPolicyType").val(res.object.policyType);
}
});
... ... @@ -78,8 +67,6 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f
} else {
$("#seriousTimes").val('00:00:00 - 23:59:59');
$("#importantTimes").val('00:00:00 - 23:59:59');
$("#commonlyTimes").val('00:00:00 - 23:59:59');
}
$('#btn-alarmpolicy-expr-add').unbind('click').on('click', function () {
editNoticeExpr();
... ... @@ -219,8 +206,8 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f
delete data['commonly-policy-type'];
delete data['alarmcotent-policy-type'];
data.seriousTimes = $("#seriousTimes").val();
data.importantTimes = $("#importantTimes").val();
data.commonlyTimes = $("#commonlyTimes").val();
data.importantTimes = $("#seriousTimes").val();
data.commonlyTimes = $("#seriousTimes").val();
var that = this;
if (!data.kpiId) {
... ... @@ -246,6 +233,13 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f
});
return false;
}
if (!data.seriousTimes || data.seriousTimes == '') {
layer.msg("请先填写告警时段!", {
icon: 7
, time: 3000
});
return false;
}
if (NoticeMergeFlag && NoticeMergeFlag == 'on') {
if (!data.alarmContentExpr || data.alarmContentExpr == '') {
... ... @@ -369,7 +363,6 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f
var title = `<a class="layui-icon layui-icon-edit win_title_icon"></a>编辑通知表达式`;
common.openWin('baseconfig/alarmpolicy/noticeExprEdit', title, {
noticeExpr,
alarmTimes,
noticeType
}, ['保存', '取消'], function (index) {
$("#btn-noticeExpr-submit").click();
... ...
... ... @@ -393,7 +393,7 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
var resStyle = obj.alarmEleMatchStyle(ar.flag, ar.kpiId);
span += ' <span ' + menuId + ' style="text-align:left;width:40%">' + ar.kpiName + '</span>' +
'<span title="' + titleStr + '" style="width:60%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' + resStyle + '">'
+ $html + valueStr + '</span>';
+ $html + valueStr +(ar.unit?ar.unit:'')+ '</span>';
//补充空白区域
if (v.length < cols) {
var l = cols - v.length;
... ...
... ... @@ -379,6 +379,30 @@ layui.define(['form', 'table', 'admin', 'layer', 'laytpl', 'common', 'view', 'se
' </span>' +
'</div>'
}
//lsq 增加菜单类型列 2022-08-11
, {field: 'type', title: '菜单类型', align: 'center', sort: true,
templet: function (d){
// 1:监控菜单,2:巡检菜单,3:个人工作台,4:系统菜单,5:跳转菜单,6:报表菜单,7:CMDB菜单
switch (d.type) {
case 1:
return '<span class="layui-badge layui-bg-orange">监控菜单</span>';
case 2:
return '<span class="layui-badge layui-bg-green">巡检菜单</span>';
case 3:
return '<span class="layui-badge layui-bg-cyan">个人工作台</span>';
case 4:
return '<span class="layui-badge layui-bg-blue">系统菜单</span>';
case 5:
return '<span class="layui-badge layui-bg-black">跳转菜单</span>';
case 6:
return '<span class="layui-badge layui-bg-gray">报表菜单</span>';
case 7:
return '<span class="layui-badge layui-bg-red">CMDB菜单</span>';
default:
return '';
}
}
}
, {field: 'path', title: '路径', align: 'center', sort: true}
, {
field: 'hidden',
... ... @@ -428,7 +452,8 @@ layui.define(['form', 'table', 'admin', 'layer', 'laytpl', 'common', 'view', 'se
data: JSON.stringify(menu),
contentType: "application/json;charset=utf-8",
success: function (res) {
if (res.resp_code == 0) {
//lsq 失去焦点后保存提示操作失败,接口返回的是code,将resp_code改成code 2022-08-11
if (res.code == 0) {
layer.msg('操作成功', {icon: 1, time: 2000});
} else {
layer.msg('操作失败', {icon: 2, time: 2000});
... ...
... ... @@ -217,7 +217,6 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate'
useList.forEach(item => {
if (['serious', 'important', 'commonly'].includes(item)) {
$('#' + item + "Expr").val(info.noticeExpr);
$('#' + item + "Times").val(info.alarmTimes);
} else {
$('#' + item).val(info.noticeExpr);
}
... ...
... ... @@ -8,7 +8,8 @@ layui.define(['element', 'admin'], function (exports) {
data: {
contextmenuTips: null,
contextmenus: [],
classNams: []
classNams: [],
handleLog: [] //lsq 页面点击操作集
},
getCurrentHash: function () {
return window.location.hash;
... ... @@ -80,12 +81,111 @@ layui.define(['element', 'admin'], function (exports) {
* 鼠标点击事件
*/
bindClickEvent(){
let that=this;
var eventKeys = ['a','button','[data-bizid]','.layui-table-link'];
// 菜单点击
$('#LAY-system-side-menu li a').click(function (e){
console.log($(this).text());
e.preventDefault();
});
if(!$('#LAY-system-side-menu li a').hasClass("on_fn")){
$('#LAY-system-side-menu li a').on('click',(function (e){
e.preventDefault();
//start lsq 元素鼠标点击事件操作 2022-08-11
//绑定事件时增加一个class防止多次绑定事件
$(this).addClass("on_fn");
// 获取当前点击的菜单 2022-08-11
if($(this).parent('li').length>0){
//如果菜单是第一级,则清空菜单数组,重新插入
that.data.handleLog=[];
}
that.pushArrNoRepeat($(this),1);
}));
}
//lsq 给页面的元素绑定点击事件 2022-08-11
setTimeout(function(){
that.bindElemClickEvent();
},500)
},
/**
* @desc 点击元素插入数组时的处理
* @author lsq
* @date 2022-08-11
* @param thisObj 为点击的元素
* @param flg 1菜单
*/
pushArrNoRepeat (thisObj,flg) {
let that=this;
// 获取当前元素名称正则表达式
var reg = sessionStorage.getItem('regular');
// 获取当前点击的元素的内容
let text=thisObj.text()?thisObj.text().trim().replace(reg, ""):'';
// 获取当前点击的元素的lay-href-type值
let menuType=thisObj.attr('lay-href-type')?thisObj.attr('lay-href-type'):'';
// 获取当前点击的菜单的路由地址
let layHref=thisObj.attr('lay-href')?thisObj.attr('lay-href'):'';
let eleObj={
text:text,
menuType:menuType,
layHref:layHref
}
//数组中无当前点击的元素时再将当前点击元素加入到数组中
let textArr=[];
that.data.handleLog.map(item=>{
textArr.push(item.text)
})
if(textArr.indexOf(text)==-1){
if(flg && !layHref){
// 如果当前点击的菜单元素没有路由地址则删除
that.data.handleLog.splice(1) ;
}
that.data.handleLog.push(eleObj)
}
console.log(text,that.data.handleLog);
},
/**
* 页面其他元素绑定事件
* @author lsq
* @date 2022-08-11
*/
clickEventHandle (thisObj) {
let that=this;
//绑定事件时增加一个class防止多次绑定事件
thisObj.addClass("on_fn");
that.pushArrNoRepeat(thisObj);
// 把点击的元素按顺序展示
let handleStr='';
let menuStrArr=[];
let menuStrArrSecond=[];
that.data.handleLog.map(item=>{
if(item.menuType){
menuStrArr.push(item.text)
}else{
menuStrArrSecond.push(item.text)
}
})
if(menuStrArr.length>0){
handleStr=menuStrArr.join('->');
}
if(menuStrArrSecond.length>0){
handleStr+='->'+menuStrArrSecond.join(',');
}
console.log("abc",handleStr)
},
/**
* 页面其他元素绑定事件
* @author lsq
* @date 2022-08-11
*/
bindElemClickEvent() {
let that=this;
var eventKeys = ['button','[data-bizid]','.layui-table-link'];
eventKeys.map(item=>{
if(!$(item).hasClass("on_fn")){
$(item).on('click',(function (e){
e.preventDefault();
that.clickEventHandle($(this))
}))
}
})
},
/**
* 绑定鼠标右键事件
... ... @@ -93,7 +193,6 @@ layui.define(['element', 'admin'], function (exports) {
bindContextMenuEvent() {
var that = this;
var contextmenus = that.data.contextmenus;
var bindContextEvent = function (selector, index) {
var el = $(selector);
... ... @@ -136,22 +235,21 @@ layui.define(['element', 'admin'], function (exports) {
that.getTipsDetail(elementName, thatItem);
})
}, 1000)
}
// 循环绑定事件
var bind = function () {
$(contextmenus).each(function (index) {
let val = contextmenus[index];
if (val.indexOf('el::') != -1) {
let elName = val.replace('el::', '');
bindContextEvent(elName, 0);
}
})
//lsq 表格数据中的元素有时绑定不了事件,加延时 2022-08-11
setTimeout(function (){
$(contextmenus).each(function (index) {
let val = contextmenus[index];
if (val.indexOf('el::') != -1) {
let elName = val.replace('el::', '');
bindContextEvent(elName, 0);
}
})
},300)
}
// 获取当前页面,是否在配置中
var page = that.getCurrentHash();
$(contextmenus).each(function (index) {
... ... @@ -164,7 +262,6 @@ layui.define(['element', 'admin'], function (exports) {
}
}
})
// 点击关闭所有tips
$(document).on('click', function (event) {
layer.closeAll('tips');
... ...
... ... @@ -63,6 +63,20 @@
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">告警时段</label>
<div class="layui-input-inline">
<div class="layui-input-inline">
<input class="layui-input" id="seriousTimes" placeholder=" 选择告警时间段 " type="text">
</div>
<div class="layui-form-mid layui-word-aux allday" data-flag="seriousTimes" lay-tips="全天"
style="margin-left: 15px;"><i class="layui-icon form-btn-icon">&#xe637;</i></div>
<div class="layui-form-mid layui-word-aux worktime" data-flag="seriousTimes" lay-tips="工作时间"
style="margin-left: 15px;"><i class="layui-icon form-btn-icon">&#xe665;</i></div>
</div>
</div>
</div>
<fieldset class="layui-elem-field layui-field-title">
<legend>告警策略
<button class="layui-btn layui-btn-xs layui-btn-normal fieldset-btn" id="btn-alarmpolicy-expr-add"
... ... @@ -158,21 +172,21 @@
</div>
</div>
</div>
<hr>
<div class="content-box-group">
<div class="box-group-left">告警时段</div>
<div class="box-group-right">
<div class="layui-form-item">
<div class="layui-input-inline">
<input class="layui-input" id="seriousTimes" placeholder=" 选择告警时间段 " type="text">
</div>
<div class="layui-form-mid layui-word-aux allday" data-flag="seriousTimes" lay-tips="全天"
style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe637;</i></div>
<div class="layui-form-mid layui-word-aux worktime" data-flag="seriousTimes" lay-tips="工作时间"
style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe665;</i></div>
</div>
</div>
</div>
<!-- <hr>-->
<!-- <div class="content-box-group">-->
<!-- <div class="box-group-left">告警时段</div>-->
<!-- <div class="box-group-right">-->
<!-- <div class="layui-form-item">-->
<!-- <div class="layui-input-inline">-->
<!-- <input class="layui-input" id="seriousTimes" placeholder=" 选择告警时间段 " type="text">-->
<!-- </div>-->
<!-- <div class="layui-form-mid layui-word-aux allday" data-flag="seriousTimes" lay-tips="全天"-->
<!-- style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe637;</i></div>-->
<!-- <div class="layui-form-mid layui-word-aux worktime" data-flag="seriousTimes" lay-tips="工作时间"-->
<!-- style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe665;</i></div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
</div>
<div class="layui-tab-item important-tab-item">
<!-- 重要告警 -->
... ... @@ -239,22 +253,22 @@
</div>
</div>
</div>
<hr>
<div class="content-box-group">
<div class="box-group-left">告警时段</div>
<div class="box-group-right">
<div class="layui-form-item">
<div class="layui-input-inline">
<input class="layui-input" id="importantTimes" placeholder=" 选择告警时间段 " type="text">
</div>
<div class="layui-form-mid layui-word-aux allday" data-flag="importantTimes" lay-tips="全天"
style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe637;</i></div>
<div class="layui-form-mid layui-word-aux worktime" data-flag="importantTimes"
lay-tips="工作时间" style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe665;</i>
</div>
</div>
</div>
</div>
<!-- <hr>-->
<!-- <div class="content-box-group">-->
<!-- <div class="box-group-left">告警时段</div>-->
<!-- <div class="box-group-right">-->
<!-- <div class="layui-form-item">-->
<!-- <div class="layui-input-inline">-->
<!-- <input class="layui-input" id="importantTimes" placeholder=" 选择告警时间段 " type="text">-->
<!-- </div>-->
<!-- <div class="layui-form-mid layui-word-aux allday" data-flag="importantTimes" lay-tips="全天"-->
<!-- style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe637;</i></div>-->
<!-- <div class="layui-form-mid layui-word-aux worktime" data-flag="importantTimes"-->
<!-- lay-tips="工作时间" style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe665;</i>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
</div>
<div class="layui-tab-item commonly-tab-item">
<!-- 一般告警 -->
... ... @@ -320,22 +334,22 @@
</div>
</div>
</div>
<hr>
<div class="content-box-group">
<div class="box-group-left">告警时段</div>
<div class="box-group-right">
<div class="layui-form-item">
<div class="layui-input-inline">
<input class="layui-input" id="commonlyTimes" placeholder=" 选择告警时间段 " type="text">
</div>
<div class="layui-form-mid layui-word-aux allday" data-flag="commonlyTimes" lay-tips="全天"
style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe637;</i></div>
<div class="layui-form-mid layui-word-aux worktime" data-flag="commonlyTimes"
lay-tips="工作时间" style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe665;</i>
</div>
</div>
</div>
</div>
<!-- <hr>-->
<!-- <div class="content-box-group">-->
<!-- <div class="box-group-left">告警时段</div>-->
<!-- <div class="box-group-right">-->
<!-- <div class="layui-form-item">-->
<!-- <div class="layui-input-inline">-->
<!-- <input class="layui-input" id="commonlyTimes" placeholder=" 选择告警时间段 " type="text">-->
<!-- </div>-->
<!-- <div class="layui-form-mid layui-word-aux allday" data-flag="commonlyTimes" lay-tips="全天"-->
<!-- style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe637;</i></div>-->
<!-- <div class="layui-form-mid layui-word-aux worktime" data-flag="commonlyTimes"-->
<!-- lay-tips="工作时间" style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe665;</i>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
</div>
<div class="layui-tab-item filter-tab-item">
<!-- 过滤表达式 -->
... ...
... ... @@ -14,18 +14,18 @@
<input data-type="cleanPolicy" lay-filter="cbo-noticeExpr-use" title="告警消除" type="checkbox">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">告警时段</label>
<div class="layui-form-block">
<div class="layui-input-inline">
<input class="layui-input" name="alarmTimes" placeholder=" 选择告警时间段 " type="text">
</div>
<div class="layui-form-mid layui-word-aux noticeExpr-allday" lay-tips="全天"
style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe637;</i></div>
<div class="layui-form-mid layui-word-aux noticeExpr-worktime" lay-tips="工作时间"
style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe665;</i></div>
</div>
</div>
<!-- <div class="layui-form-item">-->
<!-- <label class="layui-form-label">告警时段</label>-->
<!-- <div class="layui-form-block">-->
<!-- <div class="layui-input-inline">-->
<!-- <input class="layui-input" name="alarmTimes" placeholder=" 选择告警时间段 " type="text">-->
<!-- </div>-->
<!-- <div class="layui-form-mid layui-word-aux noticeExpr-allday" lay-tips="全天"-->
<!-- style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe637;</i></div>-->
<!-- <div class="layui-form-mid layui-word-aux noticeExpr-worktime" lay-tips="工作时间"-->
<!-- style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe665;</i></div>-->
<!-- </div>-->
<!-- </div>-->
<div class="layui-form-item">
<label class="layui-form-label">模式</label>
<div class="layui-input-block">
... ...
... ... @@ -24,7 +24,7 @@
</dependencies>
<build>
<finalName>nxweb-0.0.1-SNAPSHOT</finalName>
<finalName>nxweb_${timestamp}</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
... ... @@ -35,6 +35,22 @@
</resources>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.4</version>
<configuration>
<timestampFormat>yyyyMMdd</timestampFormat>
</configuration>
<executions>
<execution>
<goals>
<goal>create-timestamp</goal>
</goals>
</execution>
</executions>
<inherited>false</inherited>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
... ...
... ... @@ -24,7 +24,7 @@
</dependencies>
<build>
<finalName>qhweb</finalName>
<finalName>qhweb_${timestamp}</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
... ... @@ -35,6 +35,22 @@
</resources>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.4</version>
<configuration>
<timestampFormat>yyyyMMdd</timestampFormat>
</configuration>
<executions>
<execution>
<goals>
<goal>create-timestamp</goal>
</goals>
</execution>
</executions>
<inherited>false</inherited>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
... ...