');
@@ -289,7 +296,7 @@ function showEditNotifyDiv(jsonObjParam) {
sb.append( '
');
sb.append( '
');
sb.append( '
条件定义');
- sb.append( '
');
+ sb.append( '
');
$.each(jsonObj.conditions,function(index,obj){
if(obj.func && obj.func.indexOf("count>")>-1){
obj.cparam = obj.func.substr(6);
@@ -304,9 +311,9 @@ function showEditNotifyDiv(jsonObjParam) {
}
var html;
if(isOwner){
- html = '
'+StgyClass.formatShowWhere(obj)+''+JSON.stringify(obj)+'
';
+ html = '
'+StgyClass.formatShowWhere(obj)+''+JSON.stringify(obj)+'
';
}else{
- html = '
'+StgyClass.formatShowWhere(obj)+''+JSON.stringify(obj)+'
';
+ html = '
'+StgyClass.formatShowWhere(obj)+''+JSON.stringify(obj)+'
';
}
sb.append( html);
});
@@ -427,46 +434,7 @@ function showEditNotifyDiv(jsonObjParam) {
}
-/**
- * 条件窗口操作 begin
- */
-
-function initConditionsDiv(thisObj) {
- var sb=new StringBuffer();
-
- sb.append('
');
- var div = document.createElement('div');
- div.innerHTML = sb.toString();
- document.body.appendChild(div);
-}
/**
* 触发动作添加窗口
@@ -496,7 +464,7 @@ function initActionDiv(isOwner) {
sb.append( '
');
sb.append( '
');
sb.append( '
');
- sb.append( '
')
+ sb.append( '
');
sb.append( '');
if(isOwner=="true"){
@@ -527,59 +495,210 @@ function initActionDiv(isOwner) {
*/
function showCon(thisObj,type){
actionConf.actionObj=thisObj.parentNode;
- $("#contype").val(type);
- //clear
- $("#contExpr").val("");
- $("#conRange").val("");
- $("#conFunc").val("0");
- $("#conFuncParam").val("");
- $("#conFuncParam").hide();
- $("#conditionsErrMsg").hide();
- //还原只读
- $("#whereSaveButton").show();
- $("#contExpr").removeAttr("readonly");
- $("#conRange").removeAttr("readonly");
- $("#conFunc").removeAttr("disabled");
- $("#conFuncParam").removeAttr("readonly");
-
+ $("#pageType").val(type);
if("EDIT" == type){
var jsonValue = JSON.parse(thisObj.parentNode.getElementsByTagName("span")[0].textContent);
- $("#contExpr").val(jsonValue.expr);
- $("#conRange").val(jsonValue.range);
- $("#conFunc").val((null == jsonValue.func?0:jsonValue.func));
- if("count" == jsonValue.func){
- $("#conFuncParam").val(jsonValue.cparam);
- $("#conFuncParam").show();
- }
- //不是归属用户,则只读
+ $("#condType").attr("disabled","disabled");
var isOwner = $("#isOwner").val();
- if(isOwner!="true"){
- $("#whereSaveButton").hide();
- $("#contExpr").attr("readonly","readonly");
- $("#conRange").attr("readonly","readonly");
- $("#conFunc").attr("disabled","disabled");
- $("#conFuncParam").attr("readonly","readonly");
-
- //只读CSS
- $("#contExpr").attr("class","displayMsgInput listIndex");
- $("#conRange").attr("class","displayMsgInput listIndex");
- $("#conFuncParam").attr("class","displayMsgInput listIndex");
- }else{
- //还原默认CSS
- $("#contExpr").attr("class","form-control input_must");
- $("#conRange").attr("class","form-control");
- $("#conFuncParam").attr("class","form-control input_must");
+ if(!jsonValue.type||jsonValue.type=="stream"){
+ $("#condType").val("stream");
+ $("#contExpr").val(jsonValue.expr);
+ $("#conRange").val(jsonValue.range);
+ $("#conFunc").val((null == jsonValue.func?0:jsonValue.func));
+ if("count" == jsonValue.func){
+ $("#conFuncParam").val(jsonValue.cparam);
+ $("#conFuncParam").show();
+ }
+ //不是归属用户,则只读
+ if(isOwner!="true"){
+ $("#whereSaveButton").hide();
+ $("#contExpr").attr("readonly","readonly");
+ $("#conRange").attr("readonly","readonly");
+ $("#conFunc").attr("disabled","disabled");
+ $("#conFuncParam").attr("readonly","readonly");
+
+ //只读CSS
+ $("#contExpr").attr("class","form-control");
+ $("#conRange").attr("class","form-control");
+ $("#conFuncParam").attr("class","form-control");
+ $("#whereSaveButton").hide();
+ }
+ }else{
+ var type;
+ if(jsonValue.interval){
+ type="link-relative";
+ }else{
+ type="base-relative";
+ }
+ $("#condType").val(type);
+ typeChangeShow(type);
+ $("#time_from").val(jsonValue.time_from);
+ $("#time_to").val(jsonValue.time_to);
+ $("#conMetric").val(jsonValue.metric);
+ $("#conUpperLimit").val(jsonValue.upperLimit);
+ $("#conLowerLimit").val(jsonValue.lowerLimit);
+ $("#conAggr").val(jsonValue.aggr);
+ if(type=="link-relative"){
+ $("#conInterval").val(jsonValue.interval);
+ showUnit(jsonValue.unit);
+ }else{
+ showUnit(jsonValue.unit);
+ }
+ if(isOwner!="true"){
+ $("#time_from").attr("readonly","readonly");
+ $("#time_to").attr("readonly","readonly");
+ $("#conMetric").attr("readonly","readonly");
+ $("#conUpperLimit").attr("readonly","readonly");
+ $("#conLowerLimit").attr("readonly","readonly");
+ $("#conMetric").attr("class","form-control");
+ $("#conUpperLimit").attr("class","form-control");
+ $("#conLowerLimit").attr("class","form-control");
+ $("#conAggr").attr("disabled","disabled");
+ if(type=="link-relative"){
+ $("#conInterval").attr("readonly","readonly");
+ $("#conInterval").attr("class","form-control");
+ }
+ $("#whereSaveButton").hide();
+ }
}
- }else{
- //默认CSS
- $("#contExpr").attr("class","form-control input_must");
- $("#conRange").attr("class","form-control");
- $("#conFuncParam").attr("class","form-control input_must");
+
}
- $("#conditionsDiv").modal({backdrop: 'static', keyboard: false});
- $("#conditionsDiv").modal();
+}
+
+function showUnit(unit){
+ $("#unit").val(unit);
+ $("#opt"+unit).attr("class","btn btn-default active");
+}
+/**
+ * 条件定义页面
+ */
+function showCondDiv(thisObj,type) {
+
+ var isOwner = $("#isOwner").val();
+ /**
+ * 显示条件定义(弹出新元素)
+ */
+ actionConf.actionObj=thisObj.parentNode;
+
+ var sb = new StringBuffer();
+ sb.append("
");
+ sb.append("条件定义");
+ sb.append("
");
+ sb.append("
");
+ sb.append( "
');
+
+ sb.append( '
');
+ /**
+ * 普通预警条件编辑
+ */
+ sb.append( '
');
+
+ sb.append( '
');
+ sb.append( '
');
+ sb.append( "
');
+ sb.append( ')\" style="display:none" onkeyup="this.value=this.value.replace(\/\\D/g,\'\')" onafterpaste="this.value=this.value.replace(\/\\D/g,\'\')">
');
+ sb.append( '
');
+
+ /**
+ * 同环比预警条件编辑
+ */
+ sb.append( '
');
+ sb.append( '
');
+
+ /**
+ * 保存按钮
+ */
+ sb.append( '
');
+ sb.append( '');
+ sb.append( '必输项不能为空');
+ sb.append( '
');
+
+ HtmlHelper.id("condDiv").innerHTML = sb.toString();
+ initTimeControl();
+ showCon(thisObj,type);
+ window.winmgr.hide("objectDiv");
+ window.winmgr.show("condDiv");
}
@@ -591,6 +710,73 @@ function funcChangeShow(thisObj,showId){
}
}
+function typeChangeShow(type){
+ var divs=["stream","timer","link-relative","base-relative"];
+ divs.forEach(div=>{
+ $("#"+div).hide();
+ })
+ if("stream"!=type){
+ $("#timer").show();
+ }
+ $("#"+type).show();
+
+}
+/**
+ * 初始化时间控件
+ */
+function initTimeControl(){
+ $('.form_datetime').datetimepicker({
+ language : 'zh-CN',
+ autoclose : true,
+ minuteStep : 1,
+ todayBtn : true,
+ });
+
+ $('.form_datetime_start').datetimepicker({
+ language : 'zh-CN',
+ autoclose : true,
+ minuteStep : 1,
+ todayBtn : true,
+ });
+
+ $('.form_datetime_end').datetimepicker({
+ language : 'zh-CN',
+ autoclose : true,
+ minuteStep : 1,
+ todayBtn : true,
+ });
+
+
+ //事件绑定
+ $(".form_datetime").on('show', function(ev){
+ /*背景灰层添加*/
+ var hideBg = '
';
+ $('body').append(hideBg);
+ //document.body.innerHTML += hideBg;
+
+ });
+ $(".form_datetime").on('hide', function(ev){
+ /*背景灰层移除*/
+ document.getElementById("hideBg").style.display="none";
+ var removeObj = document.getElementById("hideBg");
+ removeObj.parentNode.removeChild(removeObj);
+ });
+
+ $('.my_datetime_pick').datetimepicker({
+ language : 'zh-CN',
+ autoclose : true,
+ minuteStep : 1,
+ minView: 1,
+ todayBtn : true,
+ });
+}
+
+function changeTimeUnit(value){
+ $("#unit").val(value);
+}
+
+
+
function actionChangeShow(type){
if("ADD" == type){
if("threadanalysis" == $("#actionTypeSel").val()){
@@ -710,22 +896,50 @@ function getSelUiConfKeysValue(a, b) {
return result;
}
function conditionsAppend(){
- if(checkFunc()){
- var jsonObject = {"expr":HtmlHelper.inputXSSFilter($("#contExpr").val()),"range":HtmlHelper.inputXSSFilter($("#conRange").val()),"func":HtmlHelper.inputXSSFilter($("#conFunc").val()),"cparam":HtmlHelper.inputXSSFilter($("#conFuncParam").val())};
+ if(checkFunc()){
+ var jsonObject;
+ if("stream"==$("#condType").val()){
+ jsonObject = {"type":"stream","expr":HtmlHelper.inputXSSFilter($("#contExpr").val()),"range":HtmlHelper.inputXSSFilter($("#conRange").val()),"func":HtmlHelper.inputXSSFilter($("#conFunc").val()),"cparam":HtmlHelper.inputXSSFilter($("#conFuncParam").val())};
+ }else{
+ jsonObject = {"type":"timer","time_from":HtmlHelper.inputXSSFilter($("#time_from").val()),"time_to":HtmlHelper.inputXSSFilter($("#time_to").val()),"metric":HtmlHelper.inputXSSFilter($("#conMetric").val()),"upperLimit":HtmlHelper.inputXSSFilter($("#conUpperLimit").val()),"lowerLimit":HtmlHelper.inputXSSFilter($("#conLowerLimit").val()),"aggr":HtmlHelper.inputXSSFilter($("#conAggr").val())};
+ if("link-relative"==$("#condType").val()){
+ jsonObject["interval"]=HtmlHelper.inputXSSFilter($("#conInterval").val());
+ jsonObject["unit"]=HtmlHelper.inputXSSFilter($("#unit").val());
+ }else{
+ jsonObject["unit"]=HtmlHelper.inputXSSFilter($("#unit").val());
+ }
+ }
appendConditions(jsonObject);
- $("#conditionsDiv").modal('hide');
+ window.winmgr.hide("condDiv");
+ window.winmgr.show("objectDiv");
}
}
function checkFunc(){
var result = true;
- if(!$("#contExpr").val()){
- result = false;
- }else if("count" == $("#conFunc").val() && !$("#conFuncParam").val()){
- result = false;
+ if("stream"==$("#condType").val()){
+ if(!$("#contExpr").val()){
+ result = false;
+ }else if("count" == $("#conFunc").val() && !$("#conFuncParam").val()){
+ result = false;
+ }
+ }else{
+ if(!$("#time_from").val()||!$("#time_to").val()||!$("#conMetric").val()||!$("#conUpperLimit").val()||!$("#conLowerLimit").val()||!$("#conAggr").val()){
+ result = false;
+ }
+ if("link-relative"==$("#condType").val()){
+ if(!$("#conInterval").val()||!$("#unit").val()){
+ result = false;
+ }
+ }else{
+ if(!$("#unit").val()){
+ result = false;
+ }
+ }
}
+
if(result){
$("#conditionsErrMsg").hide();
}else{
@@ -735,7 +949,7 @@ function checkFunc(){
return result;
}
function appendConditions(jsonObj) {
- var type = $("#contype").val();
+ var type = $("#pageType").val();
if("ADD"==type){
var newNode = document.createElement("div");
var stgyDivId = StgyClass.randomId()+"_stgySpan";
@@ -750,7 +964,7 @@ function appendConditions(jsonObj) {
function getHtmlAndSetId(stgyDivId){
jsonObj.id = stgyDivId;//赋值id
- var html = StgyClass.formatShowWhere(jsonObj)+'
'+JSON.stringify(jsonObj)+'';
+ var html = StgyClass.formatShowWhere(jsonObj)+'
'+JSON.stringify(jsonObj)+'';
return html;
}
}
@@ -1004,6 +1218,7 @@ function openHelpDiv() {
window.open("file/help.htm","apphub.help");
}
+
/**
* 策略表达式处理类
*/
@@ -1192,17 +1407,47 @@ var StgyClass = {
return "";
}
- var result = json.expr;
-
- if(json.range && json.range!=""){
- result += ","+json.range;
- }
+ var result;
- if(json.func && json.func!=0 && json.func=="count"){
- result += ","+json.func+">"+json.cparam;
- }else if(json.func && json.func!=0){
- result += ","+json.func;
- }
+ if(!json.type||json.type=="stream"){
+ result = json.expr;
+
+ if(json.range && json.range!=""){
+ result += ","+json.range;
+ }
+
+ if(json.func && json.func!=0 && json.func=="count"){
+ result += ","+json.func+">"+json.cparam;
+ }else if(json.func && json.func!=0){
+ result += ","+json.func;
+ }
+ }else{
+ result = json.metric+","+json.time_from+"-"+json.time_to+","+json.aggr+",";
+ if(json.interval){
+ result+=json.interval+" ";
+
+ }
+ switch(json.unit){
+ case "6":
+ result+="min";
+ break;
+ case "5":
+ result+="hour";
+ break;
+ case "1":
+ result+="day";
+ break;
+ case "2":
+ result+="week";
+ break;
+ case "3":
+ result+="month";
+ break;
+ case "4":
+ result+="year";
+ break;
+ }
+ }
return result;
},
diff --git a/com.creditease.uav.console/src/main/webapp/uavapp_godeye/notifystgy/main.html b/com.creditease.uav.console/src/main/webapp/uavapp_godeye/notifystgy/main.html
index 7f7bdae3..007d703b 100644
--- a/com.creditease.uav.console/src/main/webapp/uavapp_godeye/notifystgy/main.html
+++ b/com.creditease.uav.console/src/main/webapp/uavapp_godeye/notifystgy/main.html
@@ -10,7 +10,8 @@
-
+
+
@@ -25,7 +26,9 @@
-
+
+
+
@@ -34,5 +37,6 @@
+