Authored by 鲁尚清

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

…master-v32-lushangqing
1 //告警策略 1 //告警策略
2 -layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], function (exports) { 2 +layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], function (exports) {
3 var $ = layui.$; 3 var $ = layui.$;
4 var form = layui.form; 4 var form = layui.form;
5 var laydate = layui.laydate; 5 var laydate = layui.laydate;
@@ -12,27 +12,72 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun @@ -12,27 +12,72 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun
12 var sessions = layui.sessions; 12 var sessions = layui.sessions;
13 var accessToken = sessions.getToken()['access_token']; 13 var accessToken = sessions.getToken()['access_token'];
14 console.log(data) 14 console.log(data)
  15 + admin.req({
  16 + url: common.domainName + '/api-web/manage/ddic/findSucDdics/alarm_strategy_type'
  17 + , method: 'POST'
  18 + , async: false
  19 + }).done(function (res) {
  20 + let radioData = res.data;
  21 + let htmlRadio = ' <option value="">=策略类型=</option>';
  22 + if (radioData && radioData.length > 0) {
  23 + radioData.map(item => {
  24 + htmlRadio += `<option value="` + item.ddicSort + `">` + item.ddicName + '</option>'
  25 + })
  26 + }
  27 + ;
  28 + $('#alarmpolicy_policyType_add').html(htmlRadio);
  29 + });
  30 + //编辑
  31 + debugger
  32 + if (data && data.id) {
  33 + // 获取通知合并策略的表达式
  34 + admin.req({
  35 + url: domainName + '/api-web/policyMerge/get?noticeMergePolicyId=' + data.id
  36 + , async: false
  37 + , done: function (res) {
  38 + $("#noticeMergeFlagExpr").val(res.data[0].noticeMergeExpr);
  39 + }
  40 + });
  41 + admin.req({
  42 + url: domainName + '/api-web/alarmPolicy/getbyId/' + data.id
  43 + , async: false
  44 + , done: function (res) {
  45 + exprToChar(res.object, 'alarmContentExpr');
  46 + exprToChar(res.object, 'cleanPolicy');
  47 + exprToChar(res.object, 'commonlyExpr');
  48 + exprToChar(res.object, 'importantExpr');
  49 + exprToChar(res.object, 'seriousExpr');
  50 + $("#alarm-policy-kpiName").val(res.object.kpiId + " " + res.object.kpiName);
  51 + $("#seriousTimes").val(res.object.seriousTimes);
  52 + $("#alarmpolicy_policyType_add").val(res.object.policyType);
  53 + form.render(null, 'add-alarmpolicy-form');
  54 + }
  55 + });
  56 + } else {
  57 + $("#alarmpolicy_policyType_add").val('1');
  58 + $("#seriousTimes").val('00:00:00 - 23:59:59');
  59 + }
15 form.render(null, 'add-alarmpolicy-form'); 60 form.render(null, 'add-alarmpolicy-form');
16 //初始化日期组件 61 //初始化日期组件
17 laydate.render({ 62 laydate.render({
18 elem: '#seriousTimes' 63 elem: '#seriousTimes'
19 - ,type: 'time'  
20 - ,range: true 64 + , type: 'time'
  65 + , range: true
21 }); 66 });
22 var resType = localStorage.getItem("currentResType"); 67 var resType = localStorage.getItem("currentResType");
23 -  
24 var NoticeMergeFlag = 'off'; 68 var NoticeMergeFlag = 'off';
25 // 获取合并通知开关是否开启 69 // 获取合并通知开关是否开启
26 getNoticeMergeFlag(); 70 getNoticeMergeFlag();
27 - function getNoticeMergeFlag(){ 71 +
  72 + function getNoticeMergeFlag() {
28 admin.req({ 73 admin.req({
29 url: common.domainName + '/api-web/manage/ddic/findSucDdics/noticeMergeFlag' 74 url: common.domainName + '/api-web/manage/ddic/findSucDdics/noticeMergeFlag'
30 , method: 'POST' 75 , method: 'POST'
31 , async: false 76 , async: false
32 , success: function (res) { 77 , success: function (res) {
33 $.each(res.data, function (i, v) { 78 $.each(res.data, function (i, v) {
34 - if(v.ddicCode == 'on'){  
35 - NoticeMergeFlag= 'on'; 79 + if (v.ddicCode == 'on') {
  80 + NoticeMergeFlag = 'on';
36 $('#noticeMergeTab').show(); 81 $('#noticeMergeTab').show();
37 } 82 }
38 }); 83 });
@@ -40,46 +85,19 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun @@ -40,46 +85,19 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun
40 }) 85 })
41 } 86 }
42 87
43 - //编辑  
44 - if(data && data.id){  
45 - admin.req({  
46 - url:domainName + '/api-web/alarmPolicy/getbyId/'+data.id  
47 - ,done:function (res){  
48 - exprToChar(res.object, 'alarmContentExpr');  
49 - exprToChar(res.object, 'cleanPolicy');  
50 - exprToChar(res.object, 'commonlyExpr');  
51 - exprToChar(res.object, 'importantExpr');  
52 - exprToChar(res.object, 'seriousExpr');  
53 - form.val("add-alarmpolicy-form",res.object);  
54 - $("#alarm-policy-kpiName").val(res.object.kpiId +" "+ res.object.kpiName);  
55 - $("#seriousTimes").val(res.object.seriousTimes);  
56 - $("#alarmPolicyType").val(res.object.policyType);  
57 - }  
58 - });  
59 - // 获取通知合并策略的表达式  
60 - admin.req({  
61 - url:domainName + '/api-web/policyMerge/get?noticeMergePolicyId='+data.id  
62 - ,done:function (res){  
63 - $("#noticeMergeFlagExpr").val(res.data[0].noticeMergeExpr);  
64 - }  
65 - });  
66 -  
67 - }else{  
68 - $("#seriousTimes").val('00:00:00 - 23:59:59');  
69 - }  
70 $('#btn-alarmpolicy-expr-add').unbind('click').on('click', function () { 88 $('#btn-alarmpolicy-expr-add').unbind('click').on('click', function () {
71 editNoticeExpr(); 89 editNoticeExpr();
72 return false; 90 return false;
73 }); 91 });
74 //全天 92 //全天
75 - $(".allday").on("click",function (){ 93 + $(".allday").on("click", function () {
76 var id = $(this).data("flag"); 94 var id = $(this).data("flag");
77 - $("#"+id).val('00:00:00 - 23:59:59'); 95 + $("#" + id).val('00:00:00 - 23:59:59');
78 }); 96 });
79 //工作时间 97 //工作时间
80 - $(".worktime").on("click",function (){ 98 + $(".worktime").on("click", function () {
81 var id = $(this).data("flag"); 99 var id = $(this).data("flag");
82 - $("#"+id).val('08:00:00 - 19:59:59'); 100 + $("#" + id).val('08:00:00 - 19:59:59');
83 }); 101 });
84 $('.noticeExpr').unbind('click').on('click', function () { 102 $('.noticeExpr').unbind('click').on('click', function () {
85 var id = $(this).prop('id'); 103 var id = $(this).prop('id');
@@ -91,7 +109,7 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun @@ -91,7 +109,7 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun
91 editNoticeExpr($(this).val(), alarmTimes, id); 109 editNoticeExpr($(this).val(), alarmTimes, id);
92 }); 110 });
93 //指标信息 111 //指标信息
94 - if(data.kpiId){ 112 + if (data.kpiId) {
95 $("#alarm-policy-kpiId").val(data.kpiId); 113 $("#alarm-policy-kpiId").val(data.kpiId);
96 $("#alarm-policy-kpiName").val(data.kpiId + " " + data.name); 114 $("#alarm-policy-kpiName").val(data.kpiId + " " + data.name);
97 } 115 }
@@ -99,48 +117,48 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun @@ -99,48 +117,48 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun
99 //告警规则类型切换事件 117 //告警规则类型切换事件
100 form.on('radio(alarm-policy-rule-type)', function (data) { 118 form.on('radio(alarm-policy-rule-type)', function (data) {
101 var flag = $(data.elem).data("flag"); 119 var flag = $(data.elem).data("flag");
102 - if(data.value == '1'){ 120 + if (data.value == '1') {
103 $(`.${flag}-tab-item`).find("div.cont-base").show(); 121 $(`.${flag}-tab-item`).find("div.cont-base").show();
104 - }else{ 122 + } else {
105 $(`.${flag}-tab-item`).find("div.cont-base").hide(); 123 $(`.${flag}-tab-item`).find("div.cont-base").hide();
106 $(`#${flag}Policy`).val(''); 124 $(`#${flag}Policy`).val('');
107 } 125 }
108 }); 126 });
109 //选择指标 127 //选择指标
110 - $("#alarmpolicy-form-select-kpi, #alarm-policy-kpiName").unbind('click').on("click",function (){  
111 - common.openWin("template/res/reskpilist","选择指标", {resType:null},["选择","取消"], function () { 128 + $("#alarmpolicy-form-select-kpi, #alarm-policy-kpiName").unbind('click').on("click", function () {
  129 + common.openWin("template/res/reskpilist", "选择指标", {resType: null}, ["选择", "取消"], function () {
112 var data = layui.reskpilist().getData(); 130 var data = layui.reskpilist().getData();
113 - if(data && data.length != 1){  
114 - layer.msg('只能选择一个指标!', {icon: 7,time:3000}); 131 + if (data && data.length != 1) {
  132 + layer.msg('只能选择一个指标!', {icon: 7, time: 3000});
115 return false; 133 return false;
116 } 134 }
117 - if(data && data.length > 0){ 135 + if (data && data.length > 0) {
118 $("#alarm-policy-kpiId").val(data[0].kpiId); 136 $("#alarm-policy-kpiId").val(data[0].kpiId);
119 $("#alarm-policy-kpiName").val(data[0].kpiId + " " + data[0].kpiName); 137 $("#alarm-policy-kpiName").val(data[0].kpiId + " " + data[0].kpiName);
120 $("#alarmPolicyName").val(data[0].kpiName + "告警策略"); 138 $("#alarmPolicyName").val(data[0].kpiName + "告警策略");
121 139
122 - var arry = [ "base", "cpu", "mem"]; 140 + var arry = ["base", "cpu", "mem"];
123 return true; 141 return true;
124 } 142 }
125 }); 143 });
126 }); 144 });
127 145
128 //增加一行策略表达式输入框 146 //增加一行策略表达式输入框
129 - $("i.policy-input-add").off("click").on("click",function (){ 147 + $("i.policy-input-add").off("click").on("click", function () {
130 var id = $(this).data("id"); 148 var id = $(this).data("id");
131 clonePolicyDoms(id); 149 clonePolicyDoms(id);
132 }); 150 });
133 //删除告警策略规则行 151 //删除告警策略规则行
134 - $("i.policy-input-del").on("click",function (){ 152 + $("i.policy-input-del").on("click", function () {
135 var id = $(this).data("id"); 153 var id = $(this).data("id");
136 $(`#${id}`).remove(); 154 $(`#${id}`).remove();
137 }); 155 });
138 156
139 157
140 //生成策略 158 //生成策略
141 - $("a.createpolicybtn").on("click",function (){ 159 + $("a.createpolicybtn").on("click", function () {
142 var kpiId = $("#alarm-policy-kpiId").val(); 160 var kpiId = $("#alarm-policy-kpiId").val();
143 - if(!kpiId){ 161 + if (!kpiId) {
144 layer.msg("请先选择指标!", { 162 layer.msg("请先选择指标!", {
145 icon: 7 163 icon: 7
146 , time: 3000 164 , time: 3000
@@ -148,30 +166,44 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun @@ -148,30 +166,44 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun
148 return false; 166 return false;
149 } 167 }
150 var policyFlag = $(this).data("flag"); 168 var policyFlag = $(this).data("flag");
151 - var conOjb = {"0":">","1":"<","2":"=","3":">=","4":"<=","5":"equals","6":"contains","7":"startsWith","8":"endsWith"}; 169 + var conOjb = {
  170 + "0": ">",
  171 + "1": "<",
  172 + "2": "=",
  173 + "3": ">=",
  174 + "4": "<=",
  175 + "5": "equals",
  176 + "6": "contains",
  177 + "7": "startsWith",
  178 + "8": "endsWith"
  179 + };
152 var doms = $(`[id^=${policyFlag}-policy-box]`); 180 var doms = $(`[id^=${policyFlag}-policy-box]`);
153 var policyStr = ''; 181 var policyStr = '';
154 - $(doms).each(function(i,v){ 182 + $(doms).each(function (i, v) {
155 var domId = $(v).attr("id"); 183 var domId = $(v).attr("id");
156 - if(domId.indexOf("condition") != -1){//条件 184 + if (domId.indexOf("condition") != -1) {//条件
157 var open = $(v).find('.layui-form-switch').hasClass("layui-form-onswitch"); 185 var open = $(v).find('.layui-form-switch').hasClass("layui-form-onswitch");
158 - if(open){ policyStr += "||" }else{ policyStr += "&&" }  
159 - }else{ //值  
160 - var conditon = $(v).find("."+policyFlag+"_condition").val();  
161 - var cls = policyFlag +"_value";  
162 - var conval = $(v).find('[flag="'+cls+'"]').val().trim();  
163 - if(conval){  
164 - if(conditon < 5){ //数字类的 186 + if (open) {
  187 + policyStr += "||"
  188 + } else {
  189 + policyStr += "&&"
  190 + }
  191 + } else { //值
  192 + var conditon = $(v).find("." + policyFlag + "_condition").val();
  193 + var cls = policyFlag + "_value";
  194 + var conval = $(v).find('[flag="' + cls + '"]').val().trim();
  195 + if (conval) {
  196 + if (conditon < 5) { //数字类的
165 policyStr += `Double.parseDouble([${kpiId},kpiValue])${conOjb[conditon]}${conval}`; 197 policyStr += `Double.parseDouble([${kpiId},kpiValue])${conOjb[conditon]}${conval}`;
166 - }else{ //字符串类的 198 + } else { //字符串类的
167 policyStr += `[${kpiId},kpiValue].${conOjb[conditon]}("${conval}")`; 199 policyStr += `[${kpiId},kpiValue].${conOjb[conditon]}("${conval}")`;
168 } 200 }
169 } 201 }
170 } 202 }
171 }); 203 });
172 - if(policyStr){ 204 + if (policyStr) {
173 $(`#${policyFlag}Policy`).val(policyStr); 205 $(`#${policyFlag}Policy`).val(policyStr);
174 - }else{ 206 + } else {
175 layer.msg("请先输入策略值!", { 207 layer.msg("请先输入策略值!", {
176 icon: 7 208 icon: 7
177 , time: 3000 209 , time: 3000
@@ -181,7 +213,7 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun @@ -181,7 +213,7 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun
181 }); 213 });
182 214
183 //保存策略 215 //保存策略
184 - $("#alarmpolicy-form-save-id").on("click",function (){ 216 + $("#alarmpolicy-form-save-id").on("click", function () {
185 var data = form.val("add-alarmpolicy-form"); 217 var data = form.val("add-alarmpolicy-form");
186 //移除非数进性的属性 218 //移除非数进性的属性
187 delete data['serious-policy-type']; 219 delete data['serious-policy-type'];
@@ -195,7 +227,7 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun @@ -195,7 +227,7 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun
195 data.commonlyTimes = $("#seriousTimes").val(); 227 data.commonlyTimes = $("#seriousTimes").val();
196 var that = this; 228 var that = this;
197 229
198 - if(!data.kpiId){ 230 + if (!data.kpiId) {
199 layer.msg("请先选择指标!", { 231 layer.msg("请先选择指标!", {
200 icon: 7 232 icon: 7
201 , time: 3000 233 , time: 3000
@@ -203,7 +235,7 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun @@ -203,7 +235,7 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun
203 return false; 235 return false;
204 } 236 }
205 237
206 - if(!data.kpiId || data.kpiId == ''){ 238 + if (!data.kpiId || data.kpiId == '') {
207 layer.msg("请先选择指标!", { 239 layer.msg("请先选择指标!", {
208 icon: 7 240 icon: 7
209 , time: 3000 241 , time: 3000
@@ -219,7 +251,7 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun @@ -219,7 +251,7 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun
219 return false; 251 return false;
220 } 252 }
221 253
222 - if(!data.alarmContentExpr || data.alarmContentExpr == ''){ 254 + if (!data.alarmContentExpr || data.alarmContentExpr == '') {
223 layer.msg("请先填写告警内容描述表达式!", { 255 layer.msg("请先填写告警内容描述表达式!", {
224 icon: 7 256 icon: 7
225 , time: 3000 257 , time: 3000
@@ -231,7 +263,7 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun @@ -231,7 +263,7 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun
231 var importantPolicy = data.seriousPolicy; 263 var importantPolicy = data.seriousPolicy;
232 var importantExpr = data.importantPolicy; 264 var importantExpr = data.importantPolicy;
233 var commonlyPolicy = data.commonlyPolicy; 265 var commonlyPolicy = data.commonlyPolicy;
234 - if((!importantPolicy || importantPolicy == '') && (!importantExpr || importantExpr == '') && (!commonlyPolicy || commonlyPolicy == '')){ 266 + if ((!importantPolicy || importantPolicy == '') && (!importantExpr || importantExpr == '') && (!commonlyPolicy || commonlyPolicy == '')) {
235 layer.msg("严重、重要和一般告警的表达式必须有一项不为空!", { 267 layer.msg("严重、重要和一般告警的表达式必须有一项不为空!", {
236 icon: 7 268 icon: 7
237 , time: 3000 269 , time: 3000
@@ -239,8 +271,8 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun @@ -239,8 +271,8 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun
239 return false; 271 return false;
240 } 272 }
241 273
242 - if(NoticeMergeFlag && NoticeMergeFlag == 'on'){  
243 - if(!data.noticeMergeFlagExpr || data.noticeMergeFlagExpr == ''){ 274 + if (NoticeMergeFlag && NoticeMergeFlag == 'on') {
  275 + if (!data.noticeMergeFlagExpr || data.noticeMergeFlagExpr == '') {
244 layer.msg("请先填写通知合并策略描述表达式!", { 276 layer.msg("请先填写通知合并策略描述表达式!", {
245 icon: 7 277 icon: 7
246 , time: 3000 278 , time: 3000
@@ -253,7 +285,8 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun @@ -253,7 +285,8 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun
253 * 保存通知合并策略 285 * 保存通知合并策略
254 */ 286 */
255 var noticeMergeFlagExpr = $("#noticeMergeFlagExpr").val() 287 var noticeMergeFlagExpr = $("#noticeMergeFlagExpr").val()
256 - function saveNoticeMerge(id){ 288 +
  289 + function saveNoticeMerge(id) {
257 var noticeMergeData = { 290 var noticeMergeData = {
258 "mergePolicyId": id, 291 "mergePolicyId": id,
259 "mergePolicyName": data.alarmPolicyName, 292 "mergePolicyName": data.alarmPolicyName,
@@ -263,44 +296,45 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun @@ -263,44 +296,45 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun
263 "kpiId": data.kpiId 296 "kpiId": data.kpiId
264 } 297 }
265 admin.req({ 298 admin.req({
266 - url : domainName + '/api-web/policyMerge/save?access_token='+accessToken  
267 - ,data:JSON.stringify(noticeMergeData)  
268 - ,type:'post'  
269 - ,contentType: "application/json; charset=utf-8"  
270 - ,done:function (res){  
271 - if(!res.success){  
272 - layer.msg(res.msg ? res.msg : '通知合并策略保存失败', { offset: '15px' , icon: 7 , time: 1000 }); 299 + url: domainName + '/api-web/policyMerge/save?access_token=' + accessToken
  300 + , data: JSON.stringify(noticeMergeData)
  301 + , type: 'post'
  302 + , contentType: "application/json; charset=utf-8"
  303 + , done: function (res) {
  304 + if (!res.success) {
  305 + layer.msg(res.msg ? res.msg : '通知合并策略保存失败', {offset: '15px', icon: 7, time: 1000});
273 } 306 }
274 } 307 }
275 }); 308 });
276 } 309 }
  310 +
277 charToExpr(data, 'alarmContentExpr'); 311 charToExpr(data, 'alarmContentExpr');
278 charToExpr(data, 'cleanPolicy'); 312 charToExpr(data, 'cleanPolicy');
279 charToExpr(data, 'commonlyExpr'); 313 charToExpr(data, 'commonlyExpr');
280 charToExpr(data, 'importantExpr'); 314 charToExpr(data, 'importantExpr');
281 charToExpr(data, 'seriousExpr'); 315 charToExpr(data, 'seriousExpr');
282 316
283 - form.on('submit(add-alarmpolicy-form)',function () { 317 + form.on('submit(add-alarmpolicy-form)', function () {
284 delete data.noticeMergeFlagExpr; 318 delete data.noticeMergeFlagExpr;
285 admin.req({ 319 admin.req({
286 - url : domainName + '/api-web/alarmPolicy/save?access_token='+accessToken  
287 - ,data:JSON.stringify(data)  
288 - ,type:'post'  
289 - ,contentType: "application/json; charset=utf-8"  
290 - ,done:function (res){  
291 - if(res.success){ 320 + url: domainName + '/api-web/alarmPolicy/save?access_token=' + accessToken
  321 + , data: JSON.stringify(data)
  322 + , type: 'post'
  323 + , contentType: "application/json; charset=utf-8"
  324 + , done: function (res) {
  325 + if (res.success) {
292 // 保存通知合并策略 326 // 保存通知合并策略
293 saveNoticeMerge(res.str); 327 saveNoticeMerge(res.str);
294 328
295 - localStorage.setItem("detailPageOfcustomPolicyId",res.str)  
296 - layer.msg(res.msg, { offset: '15px' , icon: 1 , time: 1000 },function (){ 329 + localStorage.setItem("detailPageOfcustomPolicyId", res.str)
  330 + layer.msg(res.msg, {offset: '15px', icon: 1, time: 1000}, function () {
297 localStorage.removeItem("currentResType"); 331 localStorage.removeItem("currentResType");
298 - if(layui.alarmpolicyIndex && layui.alarmpolicyIndex()){ 332 + if (layui.alarmpolicyIndex && layui.alarmpolicyIndex()) {
299 layui.alarmpolicyIndex().reloadAlarmPolicy() 333 layui.alarmpolicyIndex().reloadAlarmPolicy()
300 } 334 }
301 }); 335 });
302 - }else{  
303 - layer.msg(res.msg, { offset: '15px' , icon: 7 , time: 1000 }); 336 + } else {
  337 + layer.msg(res.msg, {offset: '15px', icon: 7, time: 1000});
304 } 338 }
305 } 339 }
306 }); 340 });
@@ -310,24 +344,24 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun @@ -310,24 +344,24 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun
310 }); 344 });
311 345
312 //克隆告警策略元素 346 //克隆告警策略元素
313 - function clonePolicyDoms(id){ 347 + function clonePolicyDoms(id) {
314 var times = new Date().getTime() 348 var times = new Date().getTime()
315 var cond = `<div class="layui-form-item cont-base" id="${id}-${times}-condition"> 349 var cond = `<div class="layui-form-item cont-base" id="${id}-${times}-condition">
316 <input type="checkbox" checked="" lay-skin="switch" lay-text="或|且"> 350 <input type="checkbox" checked="" lay-skin="switch" lay-text="或|且">
317 </div>`; 351 </div>`;
318 var clone = $(`#${id}`).clone(); 352 var clone = $(`#${id}`).clone();
319 - clone.attr("id",id+"-"+times).find("i.policy-input-add").addClass("hide")  
320 - .parent().parent().find("i.policy-input-del").attr("data-id",id + "-"+times).removeClass("hide") 353 + clone.attr("id", id + "-" + times).find("i.policy-input-add").addClass("hide")
  354 + .parent().parent().find("i.policy-input-del").attr("data-id", id + "-" + times).removeClass("hide")
321 .parent().parent().find("input.layui-input").val(""); 355 .parent().parent().find("input.layui-input").val("");
322 $(`#${id}`).after(clone).after(cond); 356 $(`#${id}`).after(clone).after(cond);
323 357
324 form.render(); 358 form.render();
325 //渲染新增事件 359 //渲染新增事件
326 - $("i.policy-input-add").off("click").on("click",function (){ 360 + $("i.policy-input-add").off("click").on("click", function () {
327 clonePolicyDoms($(this).data("id")); 361 clonePolicyDoms($(this).data("id"));
328 }); 362 });
329 //删除告警策略规则行 363 //删除告警策略规则行
330 - $("i.policy-input-del").off("click").on("click",function (){ 364 + $("i.policy-input-del").off("click").on("click", function () {
331 var id = $(this).data("id"); 365 var id = $(this).data("id");
332 $(`#${id}`).remove(); 366 $(`#${id}`).remove();
333 $(`#${id}-condition`).remove(); 367 $(`#${id}-condition`).remove();
@@ -335,7 +369,7 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun @@ -335,7 +369,7 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun
335 } 369 }
336 370
337 function editNoticeExpr(noticeExpr, alarmTimes, noticeType) { 371 function editNoticeExpr(noticeExpr, alarmTimes, noticeType) {
338 - var title = `<a class="layui-icon layui-icon-edit win_title_icon"></a>编辑通知表达式`; 372 + var title = `<a class="layui-icon layui-icon-edit win_title_icon"></a>编辑通知表达式`;
339 common.openWin('baseconfig/alarmpolicy/noticeExprEdit', title, { 373 common.openWin('baseconfig/alarmpolicy/noticeExprEdit', title, {
340 noticeExpr, 374 noticeExpr,
341 noticeType 375 noticeType
@@ -357,7 +391,7 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun @@ -357,7 +391,7 @@ layui.define(['form', 'admin', 'laydate', 'common','sessions','reskpilist'], fun
357 //如果是详情页过来的,则不能改变指标和默认状态 391 //如果是详情页过来的,则不能改变指标和默认状态
358 if (data && data.from === 'detail') { 392 if (data && data.from === 'detail') {
359 $("#alarmpolicy-form-select-kpi, #alarm-policy-kpiName").off('click'); 393 $("#alarmpolicy-form-select-kpi, #alarm-policy-kpiName").off('click');
360 - $('#add-alarmpolicy-form').find('[name="policyType"]').attr("disabled","disabled"); 394 + $('#add-alarmpolicy-form').find('[name="policyType"]').attr("disabled", "disabled");
361 } 395 }
362 }); 396 });
363 }); 397 });
@@ -18,9 +18,23 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect', @@ -18,9 +18,23 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect',
18 var checkList = common.checkPermission(accessToken); 18 var checkList = common.checkPermission(accessToken);
19 var resName = ''; 19 var resName = '';
20 resListSelectIds = []; 20 resListSelectIds = [];
  21 + admin.req({
  22 + url: common.domainName + '/api-web/manage/ddic/findSucDdics/alarm_strategy_type'
  23 + , method: 'POST'
  24 + , async: false
  25 + }).done(function (res) {
  26 + let radioData = res.data;
  27 + let htmlRadio = ' <option value="">=策略类型=</option>';
  28 + if (radioData && radioData.length > 0) {
  29 + radioData.map(item => {
  30 + htmlRadio += `<option value="` + item.ddicSort + `">`+ item.ddicName+'</option>'
  31 + })
  32 + };
  33 + $('#alarmpolicy_policyType').html(htmlRadio);
  34 + });
21 var table_data = []; 35 var table_data = [];
22 if (data && data.type == 'alarmTemplate') { 36 if (data && data.type == 'alarmTemplate') {
23 - $('#alarmpolicy_policyType').val('0'); 37 + $('#alarmpolicy_policyType').val('3');
24 $('#alarmpolicy_policyType').attr('disabled','disabled'); 38 $('#alarmpolicy_policyType').attr('disabled','disabled');
25 } else { 39 } else {
26 $('#alarmpolicy_policyType').val('1'); 40 $('#alarmpolicy_policyType').val('1');
@@ -98,13 +112,16 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect', @@ -98,13 +112,16 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect',
98 , even: true 112 , even: true
99 , cols: [[ 113 , cols: [[
100 {type: 'checkbox',field: 'checkbox'} 114 {type: 'checkbox',field: 'checkbox'}
101 - , {field: 'policyType', title: '策略类型', align: 'center', sort: true, width:120, 115 + , {field: 'policyType', title: '策略类型', align: 'center', sort: true, width:180,
102 templet: function(d){ 116 templet: function(d){
103 - var checked = '';  
104 - if(d.policyType == '1'){ //默认  
105 - checked = "checked"; 117 + switch (d.policyType){
  118 + case "1":
  119 + return "全局默认策略";
  120 + case "2":
  121 + return "全局非默认策略";
  122 + case "3":
  123 + return "模板策略";
106 } 124 }
107 - return `<input type="checkbox" id="${d.alarmPolicyId}" data-kpiid="${d.kpiId}" name="close" ${checked} lay-skin="switch" lay-filter="switchPolicyType" lay-text="默认|非默认">`;  
108 }} 125 }}
109 , { 126 , {
110 field: 'alarmPolicyName', title: '策略名称', align: 'center', sort: true, 127 field: 'alarmPolicyName', title: '策略名称', align: 'center', sort: true,
@@ -73,10 +73,13 @@ layui.define(['form','table', 'admin', 'common','sessions'], function (exports) @@ -73,10 +73,13 @@ layui.define(['form','table', 'admin', 'common','sessions'], function (exports)
73 var alarm_policy_tbody = ''; 73 var alarm_policy_tbody = '';
74 $.each(data,function (i,d){ 74 $.each(data,function (i,d){
75 var isDefault = ''; 75 var isDefault = '';
76 - if(d.policyType == '1'){ //默认  
77 - isDefault = '<button type="button" class="layui-btn layui-btn-warm layui-btn-radius layui-btn-xs p-0-15">默认</button>';  
78 - }else{  
79 - isDefault = '<button type="button" class="layui-btn layui-btn-primary layui-btn-radius layui-btn-xs p-0-15">非默认</button>'; 76 + switch (d.policyType){
  77 + case "1":
  78 + isDefault = "全局默认策略";
  79 + case "2":
  80 + isDefault = "全局非默认策略";
  81 + case "3":
  82 + isDefault = "模板策略";
80 } 83 }
81 var kpiIdent = ''; 84 var kpiIdent = '';
82 if(d.kpiIdent == '0'){ kpiIdent = "基本指标";} 85 if(d.kpiIdent == '0'){ kpiIdent = "基本指标";}
@@ -103,6 +103,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' @@ -103,6 +103,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions'
103 } 103 }
104 } 104 }
105 }); 105 });
  106 + reloadalarmtemplateTable();
  107 + return true;
106 }); 108 });
107 } else { 109 } else {
108 layer.msg("请至少选择一条数据!", {offset: '15px', icon: 7, time: 1000}); 110 layer.msg("请至少选择一条数据!", {offset: '15px', icon: 7, time: 1000});
@@ -491,6 +491,9 @@ layui.define(['common','sessions','commonDetail','mxClient','cascader'], functio @@ -491,6 +491,9 @@ layui.define(['common','sessions','commonDetail','mxClient','cascader'], functio
491 admin.req({ 491 admin.req({
492 url: common.domainName + '/api-web/mxgraph/getPage' 492 url: common.domainName + '/api-web/mxgraph/getPage'
493 , type: "get" 493 , type: "get"
  494 + , data: {
  495 + isDefault:1
  496 + }
494 , done: function (data) { 497 , done: function (data) {
495 var topolist = data.data; 498 var topolist = data.data;
496 if(topolist != null && topolist.length > 0){ 499 if(topolist != null && topolist.length > 0){
@@ -712,7 +715,7 @@ layui.define(['common','sessions','commonDetail','mxClient','cascader'], functio @@ -712,7 +715,7 @@ layui.define(['common','sessions','commonDetail','mxClient','cascader'], functio
712 715
713 //拓扑树组件渲染 716 //拓扑树组件渲染
714 $.ajax({ 717 $.ajax({
715 - url: common.domainName + '/api-web/mxgraph/getPageByTree?access_token=' + accessToken, 718 + url: common.domainName + '/api-web/mxgraph/getPageByTree?isDefault=1&access_token=' + accessToken,
716 type: 'get', 719 type: 'get',
717 success: function (res) { 720 success: function (res) {
718 if (res && res.data) { 721 if (res && res.data) {
@@ -736,4 +739,4 @@ layui.define(['common','sessions','commonDetail','mxClient','cascader'], functio @@ -736,4 +739,4 @@ layui.define(['common','sessions','commonDetail','mxClient','cascader'], functio
736 }) 739 })
737 740
738 }); 741 });
739 -});  
  742 +});
@@ -21,9 +21,9 @@ @@ -21,9 +21,9 @@
21 </div> 21 </div>
22 <div class="layui-inline"> 22 <div class="layui-inline">
23 <label class="layui-form-label">是否默认</label> 23 <label class="layui-form-label">是否默认</label>
24 - <div class="layui-input-inline padding-left-10">  
25 - <input type="radio" name="policyType" value="1" title="默认">  
26 - <input type="radio" name="policyType" value="0" title="非默认" checked> 24 + <div class="layui-input-inline">
  25 + <select lay-filter="alarmpolicy_policyType_add" id="alarmpolicy_policyType_add">
  26 + </select>
27 </div> 27 </div>
28 </div> 28 </div>
29 </div> 29 </div>
@@ -40,9 +40,9 @@ @@ -40,9 +40,9 @@
40 <div class="layui-inline"> 40 <div class="layui-inline">
41 <div class="layui-input-inline layui-input-inline--long"> 41 <div class="layui-input-inline layui-input-inline--long">
42 <select lay-filter="alarmpolicy_policyType" id="alarmpolicy_policyType"> 42 <select lay-filter="alarmpolicy_policyType" id="alarmpolicy_policyType">
43 - <option value="">=策略类型=</option>  
44 - <option value="1">默认</option>  
45 - <option value="0">非默认</option> 43 +<!-- <option value="">=策略类型=</option>-->
  44 +<!-- <option value="1">默认</option>-->
  45 +<!-- <option value="0">非默认</option>-->
46 </select> 46 </select>
47 </div> 47 </div>
48 </div> 48 </div>