Authored by 鲁尚清

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

…eb into master-500-dev-lushangqing
@@ -12,7 +12,6 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f @@ -12,7 +12,6 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f
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 - //lsq 是否默认从master迁移 2022-08-23  
16 admin.req({ 15 admin.req({
17 url: common.domainName + '/api-web/manage/ddic/findSucDdics/alarm_strategy_type' 16 url: common.domainName + '/api-web/manage/ddic/findSucDdics/alarm_strategy_type'
18 , method: 'POST' 17 , method: 'POST'
@@ -39,10 +38,10 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f @@ -39,10 +38,10 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f
39 exprToChar(res.object, 'commonlyExpr'); 38 exprToChar(res.object, 'commonlyExpr');
40 exprToChar(res.object, 'importantExpr'); 39 exprToChar(res.object, 'importantExpr');
41 exprToChar(res.object, 'seriousExpr'); 40 exprToChar(res.object, 'seriousExpr');
  41 + //lsq 告警策略回显 2022-08-19
42 form.val("add-alarmpolicy-form", res.object); 42 form.val("add-alarmpolicy-form", res.object);
43 $("#alarm-policy-kpiName").val(res.object.kpiId + " " + res.object.kpiName); 43 $("#alarm-policy-kpiName").val(res.object.kpiId + " " + res.object.kpiName);
44 $("#seriousTimes").val(res.object.seriousTimes); 44 $("#seriousTimes").val(res.object.seriousTimes);
45 - $("#alarmPolicyType").val(res.object.policyType);  
46 $("#alarmpolicy_policyType_add").val(res.object.policyType); 45 $("#alarmpolicy_policyType_add").val(res.object.policyType);
47 } 46 }
48 }); 47 });
@@ -51,12 +50,12 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f @@ -51,12 +50,12 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f
51 url: domainName + '/api-web/policyMerge/get?noticeMergePolicyId=' + data.id 50 url: domainName + '/api-web/policyMerge/get?noticeMergePolicyId=' + data.id
52 , async: false 51 , async: false
53 , done: function (res) { 52 , done: function (res) {
  53 + //lsq 告警策略回显 2022-08-19
54 if(res && res.data && res.data.length>0){ 54 if(res && res.data && res.data.length>0){
55 $("#noticeMergeFlagExpr").val(res.data[0].noticeMergeExpr); 55 $("#noticeMergeFlagExpr").val(res.data[0].noticeMergeExpr);
56 } 56 }
57 } 57 }
58 }); 58 });
59 -  
60 } else { 59 } else {
61 $("#alarmpolicy_policyType_add").val('1'); 60 $("#alarmpolicy_policyType_add").val('1');
62 $("#seriousTimes").val('00:00:00 - 23:59:59'); 61 $("#seriousTimes").val('00:00:00 - 23:59:59');
@@ -68,7 +67,6 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f @@ -68,7 +67,6 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f
68 , type: 'time' 67 , type: 'time'
69 , range: true 68 , range: true
70 }); 69 });
71 -  
72 var resType = localStorage.getItem("currentResType"); 70 var resType = localStorage.getItem("currentResType");
73 var NoticeMergeFlag = 'off'; 71 var NoticeMergeFlag = 'off';
74 // 获取合并通知开关是否开启 72 // 获取合并通知开关是否开启
@@ -81,7 +79,7 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f @@ -81,7 +79,7 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f
81 , async: false 79 , async: false
82 , success: function (res) { 80 , success: function (res) {
83 $.each(res.data, function (i, v) { 81 $.each(res.data, function (i, v) {
84 - if (v.ddicCode == 'on') { 82 + if (v.ddicCode == 'noticeMergeSwitch:on') {
85 NoticeMergeFlag = 'on'; 83 NoticeMergeFlag = 'on';
86 $('#noticeMergeTab').show(); 84 $('#noticeMergeTab').show();
87 } 85 }
@@ -90,7 +88,6 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f @@ -90,7 +88,6 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f
90 }) 88 })
91 } 89 }
92 90
93 -  
94 $('#btn-alarmpolicy-expr-add').unbind('click').on('click', function () { 91 $('#btn-alarmpolicy-expr-add').unbind('click').on('click', function () {
95 editNoticeExpr(); 92 editNoticeExpr();
96 return false; 93 return false;
@@ -250,13 +247,6 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f @@ -250,13 +247,6 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f
250 return false; 247 return false;
251 } 248 }
252 249
253 - if (!data.alarmContentExpr || data.alarmContentExpr == '') {  
254 - layer.msg("请先填写告警内容描述表达式!", {  
255 - icon: 7  
256 - , time: 3000  
257 - });  
258 - return false;  
259 - }  
260 if (!data.seriousTimes || data.seriousTimes == '') { 250 if (!data.seriousTimes || data.seriousTimes == '') {
261 layer.msg("请先填写告警时段!", { 251 layer.msg("请先填写告警时段!", {
262 icon: 7 252 icon: 7
@@ -265,7 +255,6 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f @@ -265,7 +255,6 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f
265 return false; 255 return false;
266 } 256 }
267 257
268 - if (NoticeMergeFlag && NoticeMergeFlag == 'on') {  
269 if (!data.alarmContentExpr || data.alarmContentExpr == '') { 258 if (!data.alarmContentExpr || data.alarmContentExpr == '') {
270 layer.msg("请先填写告警内容描述表达式!", { 259 layer.msg("请先填写告警内容描述表达式!", {
271 icon: 7 260 icon: 7
@@ -273,7 +262,6 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f @@ -273,7 +262,6 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f
273 }); 262 });
274 return false; 263 return false;
275 } 264 }
276 - }  
277 265
278 266
279 var importantPolicy = data.seriousPolicy; 267 var importantPolicy = data.seriousPolicy;
@@ -287,6 +275,7 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f @@ -287,6 +275,7 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f
287 return false; 275 return false;
288 } 276 }
289 277
  278 + if (NoticeMergeFlag && NoticeMergeFlag == 'on') {
290 if (!data.noticeMergeFlagExpr || data.noticeMergeFlagExpr == '') { 279 if (!data.noticeMergeFlagExpr || data.noticeMergeFlagExpr == '') {
291 layer.msg("请先填写通知合并策略描述表达式!", { 280 layer.msg("请先填写通知合并策略描述表达式!", {
292 icon: 7 281 icon: 7
@@ -294,7 +283,7 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f @@ -294,7 +283,7 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f
294 }); 283 });
295 return false; 284 return false;
296 } 285 }
297 - 286 + }
298 287
299 /** 288 /**
300 * 保存通知合并策略 289 * 保存通知合并策略
1 //告警策略 1 //告警策略
2 -layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect', 'treeTable'], function (exports) { 2 +layui.define(['table', 'form', 'admin', 'layer', 'common','sessions','xmSelect','treeTable'], function (exports) {
3 var $ = layui.$; 3 var $ = layui.$;
4 var form = layui.form; 4 var form = layui.form;
5 var layer = layui.layer; 5 var layer = layui.layer;
@@ -9,7 +9,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -9,7 +9,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
9 var xmSelect = layui.xmSelect; 9 var xmSelect = layui.xmSelect;
10 var treeTable = layui.treeTable; 10 var treeTable = layui.treeTable;
11 var domainName = common.domainName; 11 var domainName = common.domainName;
12 - 12 + var resListSelectIds = [];
13 //对外暴露的接口 13 //对外暴露的接口
14 exports('alarmpolicyIndex', function (data) { 14 exports('alarmpolicyIndex', function (data) {
15 var sessions = layui.sessions; 15 var sessions = layui.sessions;
@@ -17,10 +17,25 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -17,10 +17,25 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
17 //获得权限列表 17 //获得权限列表
18 var checkList = common.checkPermission(accessToken); 18 var checkList = common.checkPermission(accessToken);
19 var resName = ''; 19 var resName = '';
20 - 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 + });
  35 + var table_data = [];
21 if (data && data.type == 'alarmTemplate') { 36 if (data && data.type == 'alarmTemplate') {
22 - $('#alarmpolicy_policyType').val('0');  
23 - $('#alarmpolicy_policyType').attr('disabled', 'disabled'); 37 + $('#alarmpolicy_policyType').val('3');
  38 + $('#alarmpolicy_policyType').attr('disabled','disabled');
24 } else { 39 } else {
25 $('#alarmpolicy_policyType').val('1'); 40 $('#alarmpolicy_policyType').val('1');
26 } 41 }
@@ -32,28 +47,28 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -32,28 +47,28 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
32 } 47 }
33 }); 48 });
34 //查询按钮点击事件 joke add 20210428 49 //查询按钮点击事件 joke add 20210428
35 - $('#alarmpolicyQueryBtn').on('click', function () { 50 + $('#alarmpolicyQueryBtn').on('click',function () {
36 reloadAlarmPolicyTable(); 51 reloadAlarmPolicyTable();
37 }); 52 });
38 53
39 //指标类型 54 //指标类型
40 - form.on('select(alarmpolicy_kpitype)', function () { 55 + form.on('select(alarmpolicy_kpitype)', function(){
41 reloadAlarmPolicyTable(); 56 reloadAlarmPolicyTable();
42 }); 57 });
43 58
44 //指标分类 59 //指标分类
45 - form.on('select(alarmpolicy_category)', function () { 60 + form.on('select(alarmpolicy_category)', function(){
46 reloadAlarmPolicyTable(); 61 reloadAlarmPolicyTable();
47 }); 62 });
48 63
49 //策略类型分类 64 //策略类型分类
50 - form.on('select(alarmpolicy_policyType)', function () { 65 + form.on('select(alarmpolicy_policyType)', function(){
51 reloadAlarmPolicyTable(); 66 reloadAlarmPolicyTable();
52 }); 67 });
53 68
54 form.render(null, 'alarmpolicy-form'); 69 form.render(null, 'alarmpolicy-form');
55 //新增 70 //新增
56 - $("#alarmpolicy_create").unbind("click").on("click", function () { 71 + $("#alarmpolicy_create").unbind("click").on("click",function () {
57 if ($.inArray('back:alarmpolicy:save', checkList) == -1) { 72 if ($.inArray('back:alarmpolicy:save', checkList) == -1) {
58 layer.msg('暂无权限!', {icon: 7, time: 3000}); 73 layer.msg('暂无权限!', {icon: 7, time: 3000});
59 return; 74 return;
@@ -62,7 +77,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -62,7 +77,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
62 }); 77 });
63 78
64 //同步 79 //同步
65 - $("#alarmpolicy_sync").on("click", function () { 80 + $("#alarmpolicy_sync").on("click",function (){
66 if ($.inArray('back:alarmpolicy:synchronization', checkList) == -1) { 81 if ($.inArray('back:alarmpolicy:synchronization', checkList) == -1) {
67 layer.msg('暂无权限!', {icon: 7, time: 3000}); 82 layer.msg('暂无权限!', {icon: 7, time: 3000});
68 return; 83 return;
@@ -70,7 +85,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -70,7 +85,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
70 syncAlarmPolicy(); 85 syncAlarmPolicy();
71 }); 86 });
72 //删除 87 //删除
73 - $("#alarmpolicy_delete").unbind("click").on("click", function () { 88 + $("#alarmpolicy_delete").unbind("click").on("click",function () {
74 deleteAlarmPolicy(); 89 deleteAlarmPolicy();
75 }); 90 });
76 91
@@ -78,64 +93,58 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -78,64 +93,58 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
78 var alarmpolicyTable = table.render({ 93 var alarmpolicyTable = table.render({
79 elem: '#alarmpolicyTable' 94 elem: '#alarmpolicyTable'
80 , url: domainName + '/api-web/alarmPolicy/page' 95 , url: domainName + '/api-web/alarmPolicy/page'
81 - , where: {  
82 - access_token: accessToken,  
83 - alarmPolicyName: $("#alarmpolicykw").val(),  
84 - kpiIdent: $('#alarmpolicy_category').val(),  
85 - resType: $('#alarmpolicy_kpitype').val(),  
86 - policyType: $('#alarmpolicy_policyType').val(), 96 + , where:{
  97 + access_token:accessToken,
  98 + alarmPolicyName:$("#alarmpolicykw").val(),
  99 + kpiIdent:$('#alarmpolicy_category').val(),
  100 + resType:$('#alarmpolicy_kpitype').val(),
  101 + policyType:$('#alarmpolicy_policyType').val(),
87 resName: resName 102 resName: resName
88 } 103 }
89 , height: 'full-200' 104 , height: 'full-200'
90 , page: { 105 , page: {
91 layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'] 106 layout: ['count', 'prev', 'page', 'next', 'limit', 'skip']
92 - , theme: '#1E9FFF'//自定义分页主题颜色 107 + ,theme: '#1E9FFF'//自定义分页主题颜色
93 } 108 }
94 - , end: function (e) { 109 + , end: function(e){
95 form.render(); 110 form.render();
96 } 111 }
97 , even: true 112 , even: true
98 , cols: [[ 113 , cols: [[
99 - {type: 'checkbox'}  
100 - , {  
101 - field: 'policyType', title: '策略类型', align: 'center', sort: true, width: 120,  
102 - templet: function (d) {  
103 - var checked = '';  
104 - if (d.policyType == '1') { //默认  
105 - checked = "checked";  
106 - }  
107 - return `<input type="checkbox" id="${d.alarmPolicyId}" data-kpiid="${d.kpiId}" name="close" ${checked} lay-skin="switch" lay-filter="switchPolicyType" lay-text="默认|非默认">`;  
108 - } 114 + {type: 'checkbox',field: 'checkbox'}
  115 + , {field: 'policyType', title: '策略类型', align: 'center', sort: true, width:180,
  116 + templet: function(d){
  117 + switch (d.policyType){
  118 + case "1":
  119 + return "全局默认策略";
  120 + case "2":
  121 + return "全局非默认策略";
  122 + case "3":
  123 + return "模板策略";
109 } 124 }
  125 + }}
110 , { 126 , {
111 field: 'alarmPolicyName', title: '策略名称', align: 'center', sort: true, 127 field: 'alarmPolicyName', title: '策略名称', align: 'center', sort: true,
112 templet: '<div><span data-id="{{d.alarmPolicyId}}" class="layui-table-link view-alarmPolicy-name">{{d.alarmPolicyName}}</span></div>' 128 templet: '<div><span data-id="{{d.alarmPolicyId}}" class="layui-table-link view-alarmPolicy-name">{{d.alarmPolicyName}}</span></div>'
113 } 129 }
114 - , {  
115 - title: '资源类型', align: 'center', templet: function (d) { 130 + , {title: '资源类型', align: 'center',templet:function (d){
116 return `${d.resTypeName}` 131 return `${d.resTypeName}`
117 - }  
118 - }  
119 - , {field: 'kpiName', title: '指标', align: 'center', width: 240}  
120 - , {  
121 - title: '策略内容', align: 'center', templet: function (d) { 132 + }}
  133 + , {field: 'kpiName', title: '指标', align: 'center', width:240}
  134 + , {title: '策略内容', align: 'center',templet:function (d){
122 return `告警策略表达式:严重告警:【${d.seriousPolicy},<br>重要告警:【${d.importantPolicy},<br>一般告警:【${d.commonlyPolicy}】`; 135 return `告警策略表达式:严重告警:【${d.seriousPolicy},<br>重要告警:【${d.importantPolicy},<br>一般告警:【${d.commonlyPolicy}】`;
123 - }  
124 - }  
125 - , {  
126 - field: 'alarmTempTotal', title: '所属告警模板量', align: 'center', sort: true, width: 180,  
127 - templet: function (d) {  
128 - if (d.alarmTempTotal != '0') { 136 + }}
  137 + , {field: 'alarmTempTotal', title: '所属告警模板量', align: 'center', sort: true, width:180,
  138 + templet:function (d){
  139 + if(d.alarmTempTotal != '0'){
129 return `<div><span data-id="${d.alarmPolicyId}" class="layui-table-link view-alarm-template-total">${d.alarmTempTotal}</span></div>`; 140 return `<div><span data-id="${d.alarmPolicyId}" class="layui-table-link view-alarm-template-total">${d.alarmTempTotal}</span></div>`;
130 - } else { 141 + }else{
131 return d.alarmTempTotal; 142 return d.alarmTempTotal;
132 } 143 }
133 - }  
134 - } 144 + }}
135 // , {field: 'kpiTypes', title: '指标类型', align: 'center', sort: true,minWith:180} 145 // , {field: 'kpiTypes', title: '指标类型', align: 'center', sort: true,minWith:180}
136 - , {  
137 - field: 'kpiIdent', title: '指标类型', align: 'center', width: 120, templet: function (d) {  
138 - switch (d.kpiIdent) { 146 + , {field: 'kpiIdent', title: '指标类型', align: 'center', width:120, templet: function(d){
  147 + switch (d.kpiIdent){
139 case "0": 148 case "0":
140 return "基本指标"; 149 return "基本指标";
141 case "1": 150 case "1":
@@ -146,15 +155,13 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -146,15 +155,13 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
146 return "告警指标"; 155 return "告警指标";
147 156
148 } 157 }
149 - }  
150 - }  
151 - , {  
152 - field: 'syncFlag', title: '同步状态', align: 'center', sort: true, width: 120,  
153 - templet: function (d) { 158 + }}
  159 + , {field: 'syncFlag',title: '同步状态',align: 'center', sort: true,width:120,
  160 + templet: function(d){
154 if (d.policyType == '1') { //默认 161 if (d.policyType == '1') { //默认
155 - if (d.syncFlag != 1) { //未同步 162 + if(d.syncFlag != 1){ //未同步
156 return `<input type="checkbox" id="${d.alarmPolicyId}" name="close" lay-skin="switch" lay-filter="switchSyncPolicy" lay-text="已同步|未同步">`; 163 return `<input type="checkbox" id="${d.alarmPolicyId}" name="close" lay-skin="switch" lay-filter="switchSyncPolicy" lay-text="已同步|未同步">`;
157 - } else { 164 + }else{
158 return ' <button type="button" class="layui-btn layui-bg-green layui-btn-radius layui-btn-xs p-0-15">已同步</button>'; 165 return ' <button type="button" class="layui-btn layui-bg-green layui-btn-radius layui-btn-xs p-0-15">已同步</button>';
159 } 166 }
160 } else { 167 } else {
@@ -162,36 +169,36 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -162,36 +169,36 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
162 } 169 }
163 } 170 }
164 } 171 }
165 - , {  
166 - title: '操作', align: 'center', width: 100, fixed: 'right', 172 + , {title: '操作', align: 'center',width:100, fixed: 'right',
167 templet: '<div>' + 173 templet: '<div>' +
168 - '<button data-id="{{d.alarmPolicyId}}" lay-tips="删除" type="button" class="layui-btn layui-btn-xs layui-btn-normal delete-alarmPolicy-btn"><i class="layui-icon layui-icon-delete"></i></button>' + 174 + '<button data-id="{{d.alarmPolicyId}}" lay-tips="删除" type="button" class="layui-btn layui-btn-xs layui-btn-normal delete-alarmPolicy-btn"><i class="layui-icon layui-icon-delete"></i></button>'+
169 '</div>' 175 '</div>'
170 } 176 }
171 ]], 177 ]],
172 - done: function () { 178 + done:function (res) {
  179 + table_data = res.data;
173 //设置默认 180 //设置默认
174 - form.on('switch(switchPolicyType)', function (obj) { 181 + form.on('switch(switchPolicyType)', function(obj){
175 var alarmPolicyId = obj.elem.id; 182 var alarmPolicyId = obj.elem.id;
176 var alarmPolicyKpiId = $(obj.elem).data("kpiid"); 183 var alarmPolicyKpiId = $(obj.elem).data("kpiid");
177 - var isChecked = obj.elem.checked ? "1" : "0"; 184 + var isChecked = obj.elem.checked?"1":"0";
178 admin.req({ 185 admin.req({
179 - url: common.domainName + '/api-web/alarmPolicy/default'  
180 - , type: 'post'  
181 - , data: {  
182 - id: alarmPolicyId,  
183 - type: isChecked,  
184 - kpiId: alarmPolicyKpiId 186 + url:common.domainName + '/api-web/alarmPolicy/default'
  187 + , type : 'post'
  188 + , data:{
  189 + id:alarmPolicyId,
  190 + type:isChecked,
  191 + kpiId:alarmPolicyKpiId
185 } 192 }
186 }).done(function (res) { 193 }).done(function (res) {
187 - layer.msg(res.msg, {offset: '15px', icon: 1, time: 2000}, function () { 194 + layer.msg(res.msg, { offset: '15px' , icon: 1, time: 2000},function (){
188 reloadAlarmPolicyTable(); 195 reloadAlarmPolicyTable();
189 }); 196 });
190 }); 197 });
191 }); 198 });
192 199
193 //点击名称编辑 200 //点击名称编辑
194 - $(".view-alarmPolicy-name").off("click").on("click", function () { 201 + $(".view-alarmPolicy-name").off("click").on("click",function () {
195 if ($.inArray('back:alarmpolicy:update', checkList) == -1) { 202 if ($.inArray('back:alarmpolicy:update', checkList) == -1) {
196 layer.msg('暂无权限!', {icon: 7, time: 3000}); 203 layer.msg('暂无权限!', {icon: 7, time: 3000});
197 return; 204 return;
@@ -200,33 +207,85 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -200,33 +207,85 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
200 }); 207 });
201 208
202 //查看告警策略所属模板列表 209 //查看告警策略所属模板列表
203 - $(".view-alarm-template-total").on("click", function () { 210 + $(".view-alarm-template-total").on("click",function (){
204 var id = $(this).data("id"); 211 var id = $(this).data("id");
205 - common.openWin('baseconfig/alarmtemplate/list', "告警模板", {policyId: id}) 212 + common.openWin('baseconfig/alarmtemplate/list',"告警模板",{policyId:id})
206 }); 213 });
207 214
208 //设置同步 215 //设置同步
209 - form.on('switch(switchSyncPolicy)', function (obj) { 216 + form.on('switch(switchSyncPolicy)', function(obj){
210 var alarmPolicyId = obj.elem.id; 217 var alarmPolicyId = obj.elem.id;
211 syncAlarmPolicy(alarmPolicyId); 218 syncAlarmPolicy(alarmPolicyId);
212 }); 219 });
213 220
214 //删除 221 //删除
215 - $(".delete-alarmPolicy-btn").on("click", function () { 222 + $(".delete-alarmPolicy-btn").on("click",function () {
216 var id = $(this).data("id"); 223 var id = $(this).data("id");
217 deleteAlarmPolicy(id) 224 deleteAlarmPolicy(id)
218 }); 225 });
  226 +
  227 + //回显
  228 + if(data && data.oldData){
  229 + resListSelectIds = data.oldData;
  230 + $.each(res.data,function (i,e) {
  231 + $.each(data.oldData,function (j,k) {
  232 + if(e.alarmPolicyId === k){
  233 + var index= e.LAY_TABLE_INDEX;
  234 + $("[lay-id='alarmpolicyTable']").find('tr[data-index=' + index + '] input[name="layTableCheckbox"]').next().click();
  235 + }
  236 + })
  237 + })
  238 + }
  239 + }
  240 + });
  241 + //监听ckecked选中事件
  242 + table.on('checkbox(alarmpolicyTable)', function(obj){
  243 + if (obj.checked == true) {
  244 + if (obj.type == 'one' && resListSelectIds.indexOf(obj.data.resId) === -1) {//勾选单条
  245 + resListSelectIds.push(obj.data.alarmPolicyId);
  246 + }
  247 + if (obj.type == 'all') {//勾选全部
  248 + for (var i = 0; i < table_data.length; i++) {
  249 + if (resListSelectIds.indexOf(obj.data.alarmPolicyId) === -1) {
  250 + resListSelectIds.push(table_data[i].alarmPolicyId);
  251 + }
  252 + }
  253 + }
  254 + } else {
  255 + if (obj.type == 'one') {
  256 + for (var i = 0; i < resListSelectIds.length; i++) {
  257 + if (resListSelectIds[i] == obj.data.resId) {
  258 + resListSelectIds = resListSelectIds.filter(function (item) {
  259 + return item != resListSelectIds[i];
  260 + });
  261 + }
219 } 262 }
  263 + } else {
  264 + for (var i = 0; i < resListSelectIds.length; i++) {
  265 + for (var j = 0; j < table_data.length; j++) {
  266 + if (resListSelectIds[i] == table_data[j].resId) {
  267 + resListSelectIds = resListSelectIds.filter(function (item) {
  268 + return item != resListSelectIds[i];
220 }); 269 });
  270 + }
  271 + }
  272 + }
  273 + }
  274 + }
  275 +
  276 + // 跨域发送信息,不能删除
  277 + obj.data["checked"] = obj.checked;
  278 + window.top.postMessage({res:obj.data},"*");
221 279
  280 + })
222 //同步策略 281 //同步策略
223 - function syncAlarmPolicy(alarmPolicyId) { 282 + function syncAlarmPolicy(alarmPolicyId){
224 if (typeof (alarmPolicyId) != "string") { 283 if (typeof (alarmPolicyId) != "string") {
225 var ids = []; 284 var ids = [];
226 var data = table.checkStatus('alarmpolicyTable').data; 285 var data = table.checkStatus('alarmpolicyTable').data;
227 var flag = true; 286 var flag = true;
228 - if (data && data.length > 0) {  
229 - $.each(data, function (i, obj) { 287 + if(data && data.length > 0){
  288 + $.each(data,function (i,obj) {
230 if (obj.policyType == '0') { 289 if (obj.policyType == '0') {
231 flag = false 290 flag = false
232 } 291 }
@@ -234,11 +293,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -234,11 +293,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
234 }); 293 });
235 } 294 }
236 if (!flag) { 295 if (!flag) {
237 - layer.msg('非默认策略类型禁止同步!', {icon: 7, time: 2000}) 296 + layer.msg('非默认策略类型禁止同步!',{icon: 7,time:2000})
238 return; 297 return;
239 } 298 }
240 if (ids.length == 0) { 299 if (ids.length == 0) {
241 - layer.msg('请选择要同步的数据', {icon: 7, time: 2000}); 300 + layer.msg('请选择要同步的数据',{icon: 7,time:2000});
242 return; 301 return;
243 } 302 }
244 alarmPolicyId = ids.toString(); 303 alarmPolicyId = ids.toString();
@@ -257,20 +316,20 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -257,20 +316,20 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
257 }); 316 });
258 317
259 admin.req({ 318 admin.req({
260 - url: common.domainName + '/api-web/alarmPolicy/sync'  
261 - , data: {  
262 - ids: alarmPolicyId 319 + url:common.domainName + '/api-web/alarmPolicy/sync'
  320 + , data:{
  321 + ids:alarmPolicyId
263 } 322 }
264 }).done(function (res) { 323 }).done(function (res) {
265 layer.close(syncload) 324 layer.close(syncload)
266 - if (res.success) {  
267 - layer.msg(res.msg, {offset: '15px', icon: 1, time: 1000}, function () { 325 + if(res.success){
  326 + layer.msg(res.msg, { offset: '15px' , icon: 1 , time: 1000 },function (){
268 reloadAlarmPolicyTable(); 327 reloadAlarmPolicyTable();
269 }); 328 });
270 - } else {  
271 - layer.msg(res.msg, {offset: '15px', icon: 7, time: 1000}); 329 + }else{
  330 + layer.msg(res.msg, { offset: '15px' , icon: 7 , time: 1000 });
272 } 331 }
273 - }).error(function () { 332 + }).error(function (){
274 layer.close(syncload) 333 layer.close(syncload)
275 }); 334 });
276 } 335 }
@@ -278,12 +337,12 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -278,12 +337,12 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
278 //刷新表格 337 //刷新表格
279 function reloadAlarmPolicyTable() { 338 function reloadAlarmPolicyTable() {
280 alarmpolicyTable.reload({ 339 alarmpolicyTable.reload({
281 - where: {  
282 - access_token: accessToken,  
283 - alarmPolicyName: $("#alarmpolicykw").val(),  
284 - kpiIdent: $('#alarmpolicy_category').val(),  
285 - resType: $('#alarmpolicy_kpitype').val(),  
286 - policyType: $('#alarmpolicy_policyType').val(), 340 + where:{
  341 + access_token:accessToken,
  342 + alarmPolicyName:$("#alarmpolicykw").val(),
  343 + kpiIdent:$('#alarmpolicy_category').val(),
  344 + resType:$('#alarmpolicy_kpitype').val(),
  345 + policyType:$('#alarmpolicy_policyType').val(),
287 resName: resName 346 resName: resName
288 } 347 }
289 }); 348 });
@@ -298,13 +357,13 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -298,13 +357,13 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
298 if (typeof (id) != "string") { 357 if (typeof (id) != "string") {
299 var ids = []; 358 var ids = [];
300 var data = table.checkStatus('alarmpolicyTable').data; 359 var data = table.checkStatus('alarmpolicyTable').data;
301 - if (data && data.length > 0) {  
302 - $.each(data, function (i, obj) { 360 + if(data && data.length > 0){
  361 + $.each(data,function (i,obj) {
303 ids.push(obj.alarmPolicyId); 362 ids.push(obj.alarmPolicyId);
304 }); 363 });
305 } 364 }
306 if (ids.length == 0) { 365 if (ids.length == 0) {
307 - layer.msg('请选择要删除的数据', {icon: 7, time: 2000}); 366 + layer.msg('请选择要删除的数据',{icon: 7,time:2000});
308 return; 367 return;
309 } 368 }
310 id = ids.toString(); 369 id = ids.toString();
@@ -315,9 +374,10 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -315,9 +374,10 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
315 }, function () { 374 }, function () {
316 admin.req({ 375 admin.req({
317 url: common.domainName + '/api-web/alarmPolicy/delete' 376 url: common.domainName + '/api-web/alarmPolicy/delete'
318 - , type: "delete"  
319 - , data: {ids: id} 377 + ,type:"delete"
  378 + ,data:{ids:id}
320 }).done(function (res) { 379 }).done(function (res) {
  380 + if(res.success){
321 layer.msg('删除成功', { 381 layer.msg('删除成功', {
322 offset: '15px' 382 offset: '15px'
323 , icon: 1 383 , icon: 1
@@ -325,6 +385,10 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -325,6 +385,10 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
325 }, function () { 385 }, function () {
326 reloadAlarmPolicyTable(); 386 reloadAlarmPolicyTable();
327 }); 387 });
  388 + }else {
  389 + layer.msg( res.msg,{offset: '15px', icon: 2, time: 2000});
  390 + }
  391 +
328 }).error(function (error) { 392 }).error(function (error) {
329 console.log(error); 393 console.log(error);
330 }); 394 });
@@ -374,7 +438,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -374,7 +438,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
374 height: 'auto', 438 height: 'auto',
375 data: resTypeTree, 439 data: resTypeTree,
376 on: function (data) { 440 on: function (data) {
377 - if (data.isAdd) { 441 + if(data.isAdd){
378 if (data.arr.length != 0) { 442 if (data.arr.length != 0) {
379 resName = data.arr[0].name; 443 resName = data.arr[0].name;
380 } else { 444 } else {
@@ -388,13 +452,13 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -388,13 +452,13 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
388 }); 452 });
389 453
390 //新增、编辑策略表单 454 //新增、编辑策略表单
391 - function openPolicyForm(id) {  
392 - var title = id ? "编辑策略" : "新增策略"; 455 + function openPolicyForm(id){
  456 + var title = id?"编辑策略":"新增策略";
393 title = `<a class="layui-icon layui-icon-edit win_title_icon"></a>${title}`; 457 title = `<a class="layui-icon layui-icon-edit win_title_icon"></a>${title}`;
394 - common.openWin('baseconfig/alarmpolicy/add', title, {id: id}, ['保存', '取消'], function () { 458 + common.openWin('baseconfig/alarmpolicy/add',title, {id:id},['保存','取消'],function () {
395 $("#alarmpolicy-form-save-id").trigger("click"); 459 $("#alarmpolicy-form-save-id").trigger("click");
396 return true; 460 return true;
397 - }, null, ['90%', '90%']); 461 + },null,['90%','90%']);
398 } 462 }
399 463
400 //获取选中的数据 464 //获取选中的数据
@@ -402,6 +466,6 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -402,6 +466,6 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
402 return table.checkStatus('alarmpolicyTable').data; 466 return table.checkStatus('alarmpolicyTable').data;
403 } 467 }
404 468
405 - return {getData: getCheckAlarmPolicyData, reloadAlarmPolicy: reloadAlarmPolicyTable()}; 469 + return { getData: getCheckAlarmPolicyData,reloadAlarmPolicy:reloadAlarmPolicyTable()};
406 }); 470 });
407 }); 471 });
@@ -26,7 +26,6 @@ layui.define(['form', 'table', 'admin', 'common', 'sessions'], function (exports @@ -26,7 +26,6 @@ layui.define(['form', 'table', 'admin', 'common', 'sessions'], function (exports
26 26
27 //保存 27 //保存
28 $("#alarmtemplate-form-save-id").on("click", function () { 28 $("#alarmtemplate-form-save-id").on("click", function () {
29 - form.on('submit(add-alarmtemplate-form)', function () {  
30 var data = form.val("add-alarmtemplate-form"); 29 var data = form.val("add-alarmtemplate-form");
31 var policyIds = []; 30 var policyIds = [];
32 var policylist = $("#alarmtemplate-policy-table-body").find("tr"); 31 var policylist = $("#alarmtemplate-policy-table-body").find("tr");
@@ -54,13 +53,12 @@ layui.define(['form', 'table', 'admin', 'common', 'sessions'], function (exports @@ -54,13 +53,12 @@ layui.define(['form', 'table', 'admin', 'common', 'sessions'], function (exports
54 }); 53 });
55 54
56 return false;//必须要写,解决禁用submit提交,ajax方法才能正确执行,且表单不会自动刷新 55 return false;//必须要写,解决禁用submit提交,ajax方法才能正确执行,且表单不会自动刷新
57 - })  
58 }); 56 });
59 57
60 //选择策略 58 //选择策略
61 $("#add_alarmtemplate_policy").on("click", function () { 59 $("#add_alarmtemplate_policy").on("click", function () {
62 $('[lay-id="/baseconfig/alarmpolicy/index"]').find('.layui-tab-close').trigger('click'); 60 $('[lay-id="/baseconfig/alarmpolicy/index"]').find('.layui-tab-close').trigger('click');
63 - common.openWin("baseconfig/alarmpolicy/index", "选择策略", {}, ["选择", "取消"], function () { 61 + common.openWin("baseconfig/alarmpolicy/index", "选择策略", {type: 'alarmTemplate'}, ["选择", "取消"], function () {
64 var data = layui.alarmpolicyIndex().getData(); 62 var data = layui.alarmpolicyIndex().getData();
65 createAlarmtemplatePolicyTable(data); 63 createAlarmtemplatePolicyTable(data);
66 return true; 64 return true;
@@ -73,10 +71,13 @@ layui.define(['form', 'table', 'admin', 'common', 'sessions'], function (exports @@ -73,10 +71,13 @@ layui.define(['form', 'table', 'admin', 'common', 'sessions'], function (exports
73 var alarm_policy_tbody = ''; 71 var alarm_policy_tbody = '';
74 $.each(data, function (i, d) { 72 $.each(data, function (i, d) {
75 var isDefault = ''; 73 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>'; 74 + switch (d.policyType) {
  75 + case "1":
  76 + isDefault = "全局默认策略";
  77 + case "2":
  78 + isDefault = "全局非默认策略";
  79 + case "3":
  80 + isDefault = "模板策略";
80 } 81 }
81 var kpiIdent = ''; 82 var kpiIdent = '';
82 if (d.kpiIdent == '0') { 83 if (d.kpiIdent == '0') {
@@ -14,12 +14,14 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' @@ -14,12 +14,14 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions'
14 exports('alarmtemplateIndex', function (data) { 14 exports('alarmtemplateIndex', function (data) {
15 var policyId = (data && data.policyId) ? data.policyId : ""; 15 var policyId = (data && data.policyId) ? data.policyId : "";
16 var resIdList = (data && data.resIds) ? data.resIds : ''; 16 var resIdList = (data && data.resIds) ? data.resIds : '';
  17 + var resType = (data && common.isNotEmpty(data.resType)) ? data.resType : '';
17 var sessions = layui.sessions; 18 var sessions = layui.sessions;
18 var accessToken = sessions.getToken()['access_token']; 19 var accessToken = sessions.getToken()['access_token'];
19 //获得权限列表 20 //获得权限列表
20 var checkList = common.checkPermission(accessToken); 21 var checkList = common.checkPermission(accessToken);
21 -  
22 - 22 + var alarmTempId = '';
  23 + // 业务类型Id
  24 + var busId = '';
23 //回车搜索 25 //回车搜索
24 $('#alarmtemplatekw').keydown(function (e) { 26 $('#alarmtemplatekw').keydown(function (e) {
25 if (e.keyCode === 13) { 27 if (e.keyCode === 13) {
@@ -58,25 +60,27 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' @@ -58,25 +60,27 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions'
58 return; 60 return;
59 } 61 }
60 var tempData = table.checkStatus('alarmtemplateTable').data; 62 var tempData = table.checkStatus('alarmtemplateTable').data;
61 - if (tempData && tempData.length > 0) {  
62 - $('[lay-id="/baseconfig/alarmpolicy/index"]').find('.layui-tab-close').trigger('click');  
63 - var url = 'baseconfig/alarmpolicy/index';  
64 - var params = {type: 'alarmTemplate'};  
65 - view('commonViewModel').render(url, params).then(function (res) {  
66 - layer.open({  
67 - title: ["配置策略", 'font-size:18px;'],  
68 - type: 1,  
69 - area: ['90%', '90%'],  
70 - resize: false,  
71 - content: laytpl(res.body).render(JSON.stringify(params)),  
72 - btn: ["选择", "取消"],  
73 - id: 'alarm_template_Table_tactics',//设定一个id,防止重复弹出  
74 - success: function (index, layero) { 63 + var oldAlarmPolicyIdList = [];
  64 + if (tempData.length == 1) {
  65 + admin.req({
  66 + url: common.domainName + '/api-web/alarmPolicy/getbytempId/' + tempData[0].alarmTempId,
  67 + async: false,
  68 + error: function () {
  69 + layer.close(loading);
  70 + }
  71 + }).done(function (response) {
  72 + if (response) {
  73 + oldAlarmPolicyIdList = response.data.map(item => item.alarmPolicyId)
  74 + }
  75 + });
  76 + }else{
  77 + layer.msg("请至少选择一条数据!", {offset: '15px', icon: 7, time: 1000});
  78 + return false;
  79 + }
75 80
76 - },  
77 - yes: function (index, layero) { 81 + if (tempData && tempData.length > 0) {
  82 + common.openWin("baseconfig/alarmpolicy/index", "选择策略", {oldData: oldAlarmPolicyIdList,type:'alarmTemplate'}, ["选择", "取消"], function () {
78 var policyData = layui.alarmpolicyIndex().getData(); 83 var policyData = layui.alarmpolicyIndex().getData();
79 - if (policyData && policyData.length > 0) {  
80 var tempIds = [], policyIds = []; 84 var tempIds = [], policyIds = [];
81 $.each(tempData, function (i, v) { 85 $.each(tempData, function (i, v) {
82 tempIds.push(v.alarmTempId); 86 tempIds.push(v.alarmTempId);
@@ -87,54 +91,41 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' @@ -87,54 +91,41 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions'
87 admin.req({ 91 admin.req({
88 url: domainName + '/api-web/alarmtemplate/config/policy' 92 url: domainName + '/api-web/alarmtemplate/config/policy'
89 , type: 'post' 93 , type: 'post'
  94 + , async: false
90 , data: {tempIds: tempIds.toString(), policyIds: policyIds.toString()} 95 , data: {tempIds: tempIds.toString(), policyIds: policyIds.toString()}
91 , done: function (res) { 96 , done: function (res) {
92 if (res.success) { 97 if (res.success) {
93 layer.msg(res.msg, {offset: '15px', icon: 1, time: 1000}, function () { 98 layer.msg(res.msg, {offset: '15px', icon: 1, time: 1000}, function () {
94 layer.closeAll(); 99 layer.closeAll();
95 - reloadalarmtemplateTable();  
96 }); 100 });
97 } else { 101 } else {
98 layer.msg(res.msg, {offset: '15px', icon: 7, time: 1000}); 102 layer.msg(res.msg, {offset: '15px', icon: 7, time: 1000});
99 } 103 }
100 } 104 }
101 }); 105 });
102 - } else {  
103 - layer.msg("请至少选择一条策略", {offset: '15px', icon: 7, time: 1000});  
104 - return false;  
105 - } 106 + reloadalarmtemplateTable();
106 return true; 107 return true;
107 - }  
108 - })  
109 - })  
110 -  
111 - // common.openWin("baseconfig/alarmpolicy/index","配置策略",{type:'alarmTemplate'},["选择","取消"], function () {  
112 - //  
113 - // }); 108 + });
114 } else { 109 } else {
115 layer.msg("请至少选择一条数据!", {offset: '15px', icon: 7, time: 1000}); 110 layer.msg("请至少选择一条数据!", {offset: '15px', icon: 7, time: 1000});
116 } 111 }
117 112
118 }); 113 });
119 114
120 - //配置资源  
121 - $("#alarmtemplate_configres").on("click", function () {  
122 - if ($.inArray('back:alarmtemp:resource', checkList) == -1) {  
123 - layer.msg('暂无权限!', {icon: 7, time: 3000});  
124 - return; 115 + function getOldResIdList(tempIds){
  116 + var oldResIdList = [];
  117 + admin.req({
  118 + url: common.domainName + '/api-web/alarmtemplate/getResIdByTempId',
  119 + async: false,
  120 + data: {
  121 + tempId: tempIds.toString(),
  122 + },
  123 + }).done(function (response) {
  124 + if (response) {
  125 + oldResIdList = response.data.map(item => item.resId)
125 } 126 }
126 - var tempIds = [];  
127 - var data = table.checkStatus('alarmtemplateTable').data;  
128 - if (data && data.length > 0) {  
129 - $.each(data, function (i, obj) {  
130 - tempIds.push(obj.alarmTempId);  
131 }); 127 });
132 - }  
133 - if (tempIds.length != 1) {  
134 - layer.msg('请选择一条要配置的数据', {icon: 7, time: 2000});  
135 - return;  
136 - }  
137 - common.openWin("template/res/reslist", "配置资源", {}, ["选择", "取消"], function () { 128 + var saveResConfig = function (flag) {
138 var resObj = layui.reslist().getData(); 129 var resObj = layui.reslist().getData();
139 if (resObj && resObj.length > 0) { 130 if (resObj && resObj.length > 0) {
140 var resIds = []; 131 var resIds = [];
@@ -142,26 +133,66 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' @@ -142,26 +133,66 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions'
142 resIds.push(v.resId); 133 resIds.push(v.resId);
143 }) 134 })
144 admin.req({ 135 admin.req({
145 - url: domainName + '/api-web/manage/resource/alarmTemplate?resIds=' + resIds.toString() + '&alarmTempId=' + tempIds.toString() + '&access_token=' + accessToken, 136 + url: domainName + '/api-web/manage/resource/alarmTemplate?resIds=' + resIds.toString()+"&flag=" + flag + '&alarmTempId=' + tempIds.toString() + '&access_token=' + accessToken,
146 done: function (res) { 137 done: function (res) {
147 if (res.success) { 138 if (res.success) {
148 - layer.msg("配置成功!", {offset: '15px', icon: 1, time: 1000}, function () { 139 + layer.msg("配置成功!", {offset: '15px', icon: 1, time: 2000}, function () {
149 layer.closeAll(); 140 layer.closeAll();
150 reloadalarmtemplateTable(); 141 reloadalarmtemplateTable();
  142 +
151 }); 143 });
152 } else { 144 } else {
153 - layer.msg("配置失败,请重试或者与管理员联系!", {offset: '15px', icon: 7, time: 1000}); 145 + layer.msg("配置失败,请重试或者与管理员联系!", {offset: '15px', icon: 7, time: 2000});
154 } 146 }
155 } 147 }
156 }); 148 });
157 } else { 149 } else {
158 - layer.msg("请至少选择一条资源", {offset: '15px', icon: 7, time: 1000}); 150 + layer.msg("请至少选择一条资源", {offset: '15px', icon: 7, time: 2000});
159 return false; 151 return false;
160 } 152 }
161 return true; 153 return true;
  154 + }
  155 + //common.openWin("template/res/reslist", "配置资源", {oldData: oldResIdList}, ["新增","删除", "取消"], saveResConfig);
  156 + view('commonViewModel').render("template/res/reslist").then(function (res) {
  157 + layer.open({
  158 + type: 1,
  159 + id:'alarmtemplateRes',
  160 + area: ['80%', '81%'],
  161 + resize: false,
  162 + shadeClose: true,
  163 + content: laytpl(res.body).render(JSON.stringify({oldData: oldResIdList})),
  164 + btn: ["新增","删除", "取消"],
  165 + yes: function(index, layero){
  166 + saveResConfig('add');
  167 + },
  168 + btn2: function(index, layero){
  169 + saveResConfig('remove');
  170 + }
162 }); 171 });
163 }); 172 });
164 173
  174 + }
  175 +
  176 + //配置资源
  177 + $("#alarmtemplate_configres").on("click", function () {
  178 + if ($.inArray('back:alarmtemp:resource', checkList) == -1) {
  179 + layer.msg('暂无权限!', {icon: 7, time: 3000});
  180 + return;
  181 + }
  182 + var tempIds = [];
  183 + var data = table.checkStatus('alarmtemplateTable').data;
  184 + if (data && data.length > 0) {
  185 + $.each(data, function (i, obj) {
  186 + tempIds.push(obj.alarmTempId);
  187 + });
  188 + }
  189 + if (tempIds.length != 1) {
  190 + layer.msg('请选择一条要配置的数据', {icon: 7, time: 2000});
  191 + return;
  192 + }
  193 + getOldResIdList(tempIds);
  194 + });
  195 +
165 // 解除绑定 196 // 解除绑定
166 if (resIdList && resIdList.length > 0) { 197 if (resIdList && resIdList.length > 0) {
167 $('#alarmtemplate_unbindRes').removeClass('hide'); 198 $('#alarmtemplate_unbindRes').removeClass('hide');
@@ -218,7 +249,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' @@ -218,7 +249,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions'
218 , url: domainName + '/api-web/alarmtemplate/page' 249 , url: domainName + '/api-web/alarmtemplate/page'
219 , where: { 250 , where: {
220 access_token: accessToken, 251 access_token: accessToken,
221 - alarmTempName: $("#alarmtemplatekw").val(), 252 + keyWord: $("#alarmtemplatekw").val(),
222 policyId: policyId, 253 policyId: policyId,
223 resIdList: resIdList 254 resIdList: resIdList
224 } 255 }
@@ -230,7 +261,6 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' @@ -230,7 +261,6 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions'
230 , end: function (e) { 261 , end: function (e) {
231 form.render(); 262 form.render();
232 } 263 }
233 - , limit: 20  
234 , even: true 264 , even: true
235 , cols: [[ 265 , cols: [[
236 {type: 'checkbox'} 266 {type: 'checkbox'}
@@ -297,10 +327,16 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' @@ -297,10 +327,16 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions'
297 var trs = ''; 327 var trs = '';
298 $.each(res.data, function (i, d) { 328 $.each(res.data, function (i, d) {
299 var isDefault = ''; 329 var isDefault = '';
300 - if (d.policyType == '1') { //默认  
301 - isDefault = '<button type="button" class="layui-btn layui-btn-warm layui-btn-radius layui-btn-xs p-0-15">默认</button>';  
302 - } else {  
303 - isDefault = '<button type="button" class="layui-btn layui-btn-primary layui-btn-radius layui-btn-xs p-0-15">非默认</button>'; 330 + switch (d.policyType){
  331 + case "1":
  332 + isDefault = "全局默认策略";
  333 + break;
  334 + case "2":
  335 + isDefault = "全局非默认策略";
  336 + break;
  337 + case "3":
  338 + isDefault = "模板策略";
  339 + break;
304 } 340 }
305 var kpiIdent = ''; 341 var kpiIdent = '';
306 if (d.kpiIdent == '0') { 342 if (d.kpiIdent == '0') {
@@ -346,10 +382,87 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' @@ -346,10 +382,87 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions'
346 382
347 //查看告警模板的资源数量 383 //查看告警模板的资源数量
348 $(".view-alarmtemplate-res-total").on("click", function () { 384 $(".view-alarmtemplate-res-total").on("click", function () {
349 - var alarmTempId = $(this).data("id");  
350 - common.openWin("template/res/reslist", "资源列表", {alarmTempId: alarmTempId}, ["关闭"], function () {  
351 - return true;  
352 - }, null, ['90%', '80%']) 385 + alarmTempId = $(this).data("id");
  386 + layer.open({
  387 + title: ['绑定资源', 'font-size:18px;'],
  388 + type: 1,
  389 + area: ['90%','80%'],
  390 + resize:false,
  391 + btn: ['确定','取消'],
  392 + content: laytpl($('#tempResource').html()).render(JSON.stringify({})),
  393 + success: function (index, layero) {
  394 + renderResByTemp(resType)
  395 +
  396 + //新增资源权限
  397 + $('#addAuthResBtn').on('click', function () {
  398 + openResByTemp(alarmTempId,index)
  399 + })
  400 +
  401 + // 查询条件框回车查询事件
  402 + $('#res-keyword').keydown(function (e) {
  403 + if (e.keyCode === 13) {
  404 + renderResByTemp(resType);
  405 + }
  406 + });
  407 + //查询按钮事件
  408 + $('#tempResBut').unbind().on('click',function () {
  409 + renderResByTemp(resType);
  410 + });
  411 +
  412 + // 如果参数有busId
  413 + if(data && common.isNotEmpty(data.busId)){
  414 + busId = data.busId;
  415 + $("#templist_resListBizTypes").attr("disabled",true);
  416 + form.render()
  417 + }
  418 + //绑定业务下拉选择数据
  419 + common.bizTypeSelect("templist_resListBizTypes",function () {
  420 + $("#templist_resListBizTypes").val(busId);
  421 + form.render("select");
  422 + });
  423 + //绑定资源类型下拉选择
  424 + common.resTypeXmSelect({
  425 + el: '#templist_restype',
  426 + initValue: resType.split(','),
  427 + on(data) {
  428 + resType = data.arr.map(item => item.resTypeCode).join(',');
  429 + resType || (resType = 'all')
  430 + renderResByTemp(resType);
  431 + }
  432 + });
  433 + //绑定厂商下拉选择
  434 + common.providerSelect("templist_provider",function () {
  435 + form.render("select");
  436 + });
  437 +
  438 + form.render();
  439 + bindSelectEvent();
  440 + //绑定下拉搜索事件
  441 + function bindSelectEvent() {
  442 + //选择业务搜索
  443 + form.on('select(templist_resListBizTypes)', function(data){
  444 + busId = data.value;
  445 + renderResByTemp(resType);
  446 + });
  447 + // 资源状态
  448 + form.on('select(templist_resStatus)', function(data){
  449 + renderResByTemp(resType);
  450 + });
  451 + // 厂商
  452 + form.on('select(templist_provider)', function(data){
  453 + renderResByTemp(resType);
  454 + });
  455 + }
  456 +
  457 + //删除资源权限
  458 + $('#delAuthResBtn').on('click', function () {
  459 + deleteResTemp(alarmTempId)
  460 + })
  461 + },
  462 + yes: function(index, layero){
  463 + layer.close(index); //如果设定了yes回调,需进行手工关闭
  464 + }
  465 + });
353 }); 466 });
354 467
355 //设置同步 468 //设置同步
@@ -366,6 +479,119 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' @@ -366,6 +479,119 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions'
366 } 479 }
367 }); 480 });
368 481
  482 + //渲染用户所有资源权限列表表格
  483 + function renderResByTemp(resType) {
  484 + temResTable = table.render({
  485 + elem: '#res_temp_table',
  486 + url: common.domainName + '/api-web/home/res-list/' + (resType ? resType : 'all'),
  487 + where: {
  488 + access_token: accessToken,
  489 + resName: $('#res-keyword').val(),
  490 + busId: $("#templist_resListBizTypes").val(),
  491 + resHealth: $("#templist_resStatus").val(),
  492 + provider:$("#templist_provider").val(),
  493 + collectorId: '',
  494 + trapCollectorId: '',
  495 + alarmTempId: alarmTempId,
  496 + cutoverId: '',
  497 + targetType: '',
  498 + protocolFlag:'',
  499 + protocol:'',
  500 + editMode: 'true',
  501 + resCategory: 'resources'
  502 + },
  503 + height: 615,
  504 + cellMinWidth: 80,
  505 + page: {
  506 + layout: ['count', 'prev', 'page', 'next', 'limit', 'skip']
  507 + , theme: '#1E9FFF'
  508 + },
  509 + even: true,
  510 + cols: [[
  511 + {type:'checkbox'}
  512 + ,{type: 'numbers', title: '序号', align: 'center'}
  513 + , {
  514 + field: 'resName', title: '资源名称', align: 'center',sort:true,
  515 + templet: '<div><span resmanage-data-edit="{{d.resId}}" data-zymc="{{ d.resId }}" data-ip="{{ d.ip }}" data-resTypeName="{{ d.resTypeName }}" data-admin="{{ d.admin }}" data-restype="{{d.resType}}" data-name="{{d.resName}}" data-pingenable="{{d.pingEnable}}">{{ d.resName }}</span></div>'
  516 + }
  517 + , {field: 'ip', title: 'IP地址', align: 'center',sort:true,width:200}
  518 + , {field: 'port', title: '端口号', align: 'center',sort:true,width:200}
  519 + , {field: 'adminName', title: '负责人', align: 'center',sort:true,width:180}
  520 + , {field: 'resTypeName', title: '资源类型', align: 'center',sort:true,width:230}
  521 + , {field: 'state', title: '资源状态', align: 'center',sort:true,width:180, templet: function (d) {
  522 + switch (d.state) {
  523 + case "new" :
  524 + return '<button type="button" class="layui-btn layui-btn-warm layui-bg-gray layui-btn-radius layui-btn-xs p-0-15">未监控</button>'
  525 + case "monitor" :
  526 + return '<button type="button" class="layui-btn layui-btn-radius layui-bg-green layui-btn-xs p-0-15" style="background-color: #0BAC33 !important;">监控中</button>'
  527 + case "stop" :
  528 + return '<button type="button" class="layui-btn layui-btn-warm layui-bg-red layui-btn-radius layui-btn-xs p-0-15">暂停</button>'
  529 + default :
  530 + return '<button type="button" class="layui-btn layui-btn-warm layui-bg-gray layui-btn-radius layui-btn-xs p-0-15">未监控</button>'
  531 + }
  532 + }}
  533 + , {
  534 + title: '操作', fixed: 'right', align: 'center', fixed: 'right',width:100,
  535 + templet: '<div><span data-id="{{d.resId}}" class="layui-table-link tem_res_delete_btn">删除</span></div>'
  536 + }
  537 + ]],
  538 + done: function (res, curr, count) {
  539 + //删除
  540 + $('.tem_res_delete_btn').on('click', function () {
  541 + var id = $(this).data('id')
  542 + deleteResTemp(alarmTempId,id)
  543 + })
  544 + },
  545 + })
  546 + }
  547 +
  548 + //为用户添加资源权限
  549 + function openResByTemp(alarmTempId,index) {
  550 + getOldResIdList(alarmTempId);
  551 + }
  552 +
  553 + //删除对应的资源权限
  554 + function deleteResTemp(alarmTempId,id) {
  555 + if (typeof (id) != "string") {
  556 + var ids = [];
  557 + var data = table.checkStatus('res_temp_table').data;
  558 + if (data && data.length > 0) {
  559 + $.each(data, function (i, obj) {
  560 + ids.push(obj.resId);
  561 + });
  562 + }
  563 + if (ids.length == 0) {
  564 + layer.msg('请选择要删除的数据', {icon: 7, time: 2000});
  565 + return;
  566 + }
  567 + id = ids.toString();
  568 + }
  569 + //确认提示框
  570 + layer.confirm('您确定要删除绑定的该资源吗?', {
  571 + btn: ['确定', '取消'] //按钮
  572 + }, function () {
  573 + $.ajax({
  574 + url: common.domainName + '/api-web/alarmtemplate/deleteByResIdsAndTempIds?access_token=' + accessToken
  575 + , data: {
  576 + resIds: id,
  577 + tempIds: alarmTempId.toString()
  578 + }
  579 + }).done(function (res) {
  580 + layer.msg('删除成功', {
  581 + offset: '15px'
  582 + , icon: 1
  583 + , time: 2000
  584 + }, function () {
  585 + layer.closeAll();
  586 + reloadalarmtemplateTable()
  587 + });
  588 + }).error(function (error) {
  589 + console.log(error);
  590 + });
  591 + });
  592 + }
  593 +
  594 +
369 //刷新表格 595 //刷新表格
370 function reloadalarmtemplateTable() { 596 function reloadalarmtemplateTable() {
371 alarmtemplateTable.reload({ 597 alarmtemplateTable.reload({
@@ -373,7 +599,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' @@ -373,7 +599,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions'
373 access_token: accessToken, 599 access_token: accessToken,
374 policyId: policyId, 600 policyId: policyId,
375 resIdList: resIdList, 601 resIdList: resIdList,
376 - alarmTempName: $("#alarmtemplatekw").val() 602 + keyWord: $("#alarmtemplatekw").val()
377 } 603 }
378 }); 604 });
379 } 605 }
1 -<form class="layui-form layui-form-pane layui-form-flex" id="add-alarmpolicy-form" lay-filter="add-alarmpolicy-form"  
2 - name="add-alarmpolicy-form">  
3 - <input id="alarmPolicyId" name="alarmPolicyId" type="hidden">  
4 - <input name="syncFlag" type="hidden" value="0"> 1 +<form class="layui-form layui-form-pane layui-form-flex" lay-filter="add-alarmpolicy-form" name="add-alarmpolicy-form" id="add-alarmpolicy-form">
  2 + <input type="hidden" name="alarmPolicyId" id="alarmPolicyId">
  3 + <input type="hidden" name="syncFlag" value="0">
5 <fieldset class="layui-elem-field layui-field-title"> 4 <fieldset class="layui-elem-field layui-field-title">
6 <legend>基本信息</legend> 5 <legend>基本信息</legend>
7 </fieldset> 6 </fieldset>
@@ -9,25 +8,19 @@ @@ -9,25 +8,19 @@
9 <div class="layui-inline"> 8 <div class="layui-inline">
10 <label class="layui-form-label">指标</label> 9 <label class="layui-form-label">指标</label>
11 <div class="layui-input-inline" style="flex: 4.5"> 10 <div class="layui-input-inline" style="flex: 4.5">
12 - <input class="layui-input" id="alarm-policy-kpiId" name="kpiId" type="hidden">  
13 - <input class="layui-input" id="alarm-policy-kpiName" lay-reqtext="请选择指标" lay-verify="required"  
14 - readonly type="text">  
15 - </div>  
16 - <div class="layui-form-mid layui-word-aux" style="flex: 0.5"><i class="layui-icon form-btn-icon"  
17 - id="alarmpolicy-form-select-kpi"  
18 - style="margin-left: 20px">&#xe615;</i> 11 + <input type="hidden" id="alarm-policy-kpiId" name="kpiId" class="layui-input">
  12 + <input type="text" id="alarm-policy-kpiName" lay-verify="required" lay-reqtext="请选择指标" class="layui-input" readonly>
19 </div> 13 </div>
  14 + <div class="layui-form-mid layui-word-aux" style="flex: 0.5"><i class="layui-icon form-btn-icon" style="margin-left: 20px" id="alarmpolicy-form-select-kpi">&#xe615;</i></div>
20 </div> 15 </div>
21 <div class="layui-inline"> 16 <div class="layui-inline">
22 <label class="layui-form-label">策略名称</label> 17 <label class="layui-form-label">策略名称</label>
23 <div class="layui-input-inline"> 18 <div class="layui-input-inline">
24 - <input class="layui-input" id="alarmPolicyName" lay-reqtext="请输入策略名称" lay-verify="required"  
25 - name="alarmPolicyName" type="text"> 19 + <input type="text" class="layui-input" lay-verify="required" lay-reqtext="请输入策略名称" name="alarmPolicyName" id="alarmPolicyName">
26 </div> 20 </div>
27 </div> 21 </div>
28 <div class="layui-inline"> 22 <div class="layui-inline">
29 <label class="layui-form-label">是否默认</label> 23 <label class="layui-form-label">是否默认</label>
30 - <!-- lsq master迁移 2000-08-23 -->  
31 <div class="layui-input-inline"> 24 <div class="layui-input-inline">
32 <select lay-filter="alarmpolicy_policyType_add" id="alarmpolicy_policyType_add"> 25 <select lay-filter="alarmpolicy_policyType_add" id="alarmpolicy_policyType_add">
33 </select> 26 </select>
@@ -52,15 +45,13 @@ @@ -52,15 +45,13 @@
52 <div class="layui-inline"> 45 <div class="layui-inline">
53 <label class="layui-form-label">告警消除时间</label> 46 <label class="layui-form-label">告警消除时间</label>
54 <div class="layui-input-inline"> 47 <div class="layui-input-inline">
55 - <input autocomplete="false" class="layui-input" lay-tips="单位: 分钟" lay-verify="required|number"  
56 - name="autoClearTimes" type="number" value="0"> 48 + <input type="number" class="layui-input" lay-verify="required|number" lay-tips="单位: 分钟" name="autoClearTimes" value="0" autocomplete="false">
57 </div> 49 </div>
58 </div> 50 </div>
59 <div class="layui-inline"> 51 <div class="layui-inline">
60 <label class="layui-form-label">告警升级时间</label> 52 <label class="layui-form-label">告警升级时间</label>
61 <div class="layui-input-inline"> 53 <div class="layui-input-inline">
62 - <input autocomplete="false" class="layui-input" lay-tips="单位: 分钟" lay-verify="required|number" name="times"  
63 - type="number" value="0"> 54 + <input type="number" class="layui-input" lay-verify="required|number" lay-tips="单位: 分钟" name="times" value="0" autocomplete="false">
64 </div> 55 </div>
65 </div> 56 </div>
66 </div> 57 </div>
@@ -80,8 +71,7 @@ @@ -80,8 +71,7 @@
80 </div> 71 </div>
81 <fieldset class="layui-elem-field layui-field-title"> 72 <fieldset class="layui-elem-field layui-field-title">
82 <legend>告警策略 73 <legend>告警策略
83 - <button class="layui-btn layui-btn-xs layui-btn-normal fieldset-btn" id="btn-alarmpolicy-expr-add"  
84 - lay-tips="新增通知内容描述表达式"><i class="layui-icon">&#xe624;</i></button> 74 + <button class="layui-btn layui-btn-xs layui-btn-normal fieldset-btn" id="btn-alarmpolicy-expr-add" lay-tips="新增通知内容描述表达式"><i class="layui-icon">&#xe624;</i></button>
85 </legend> 75 </legend>
86 </fieldset> 76 </fieldset>
87 <div class="layui-tab layui-tab-card"> 77 <div class="layui-tab layui-tab-card">
@@ -102,8 +92,7 @@ @@ -102,8 +92,7 @@
102 <div class="box-group-right"> 92 <div class="box-group-right">
103 <div class="layui-form-item"> 93 <div class="layui-form-item">
104 <div class="layui-input-block"> 94 <div class="layui-input-block">
105 - <textarea class="layui-textarea noticeExpr" id="alarmContentExpr" name="alarmContentExpr"  
106 - placeholder="请输入内容" readonly></textarea> 95 + <textarea placeholder="请输入内容" class="layui-textarea noticeExpr" readonly id="alarmContentExpr" name="alarmContentExpr"></textarea>
107 </div> 96 </div>
108 </div> 97 </div>
109 </div> 98 </div>
@@ -116,12 +105,9 @@ @@ -116,12 +105,9 @@
116 <div class="box-group-right"> 105 <div class="box-group-right">
117 <div class="layui-form-item hide"> 106 <div class="layui-form-item hide">
118 <div class="layui-input-block"> 107 <div class="layui-input-block">
119 - <input checked data-flag="serious" lay-filter="alarm-policy-rule-type" name="serious-policy-type" title="基础"  
120 - type="radio" value="1">  
121 - <input data-flag="serious" lay-filter="alarm-policy-rule-type" name="serious-policy-type" title="正则" type="radio"  
122 - value="2">  
123 - <input data-flag="serious" lay-filter="alarm-policy-rule-type" name="serious-policy-type" title="自定义" type="radio"  
124 - value="3"> 108 + <input type="radio" name="serious-policy-type" data-flag="serious" value="1" title="基础" checked lay-filter="alarm-policy-rule-type">
  109 + <input type="radio" name="serious-policy-type" data-flag="serious" value="2" title="正则" lay-filter="alarm-policy-rule-type">
  110 + <input type="radio" name="serious-policy-type" data-flag="serious" value="3" title="自定义"lay-filter="alarm-policy-rule-type">
125 </div> 111 </div>
126 </div> 112 </div>
127 <div class="layui-form-item cont-base" id="serious-policy-box"> 113 <div class="layui-form-item cont-base" id="serious-policy-box">
@@ -139,14 +125,10 @@ @@ -139,14 +125,10 @@
139 </select> 125 </select>
140 </div> 126 </div>
141 <div class="layui-input-inline smallwith"> 127 <div class="layui-input-inline smallwith">
142 - <input autocomplete="off" class="layui-input" flag="serious_value" type="tel">  
143 - </div>  
144 - <div class="layui-form-mid layui-word-aux"><i class="layui-icon oper-icon policy-input-add"  
145 - data-id="serious-policy-box">&#xe624;</i>  
146 - </div>  
147 - <div class="layui-form-mid layui-word-aux"><i class="layui-icon oper-icon policy-input-del hide"  
148 - data-id="serious-policy-box">&#xe67e;</i> 128 + <input type="tel" autocomplete="off" class="layui-input" flag="serious_value">
149 </div> 129 </div>
  130 + <div class="layui-form-mid layui-word-aux"><i data-id="serious-policy-box" class="layui-icon oper-icon policy-input-add">&#xe624;</i></div>
  131 + <div class="layui-form-mid layui-word-aux"><i data-id="serious-policy-box" class="layui-icon oper-icon policy-input-del hide">&#xe67e;</i></div>
150 </div> 132 </div>
151 <div class="layui-form-item cont-base"> 133 <div class="layui-form-item cont-base">
152 <div class="layui-input-block"> 134 <div class="layui-input-block">
@@ -155,8 +137,7 @@ @@ -155,8 +137,7 @@
155 </div> 137 </div>
156 <div class="layui-form-item cont-other"> 138 <div class="layui-form-item cont-other">
157 <div class="layui-input-block"> 139 <div class="layui-input-block">
158 - <textarea class="layui-textarea" id="seriousPolicy" name="seriousPolicy"  
159 - placeholder="请输入内容"></textarea> 140 + <textarea placeholder="请输入内容" class="layui-textarea" id="seriousPolicy" name="seriousPolicy"></textarea>
160 </div> 141 </div>
161 </div> 142 </div>
162 </div> 143 </div>
@@ -167,27 +148,11 @@ @@ -167,27 +148,11 @@
167 <div class="box-group-right"> 148 <div class="box-group-right">
168 <div class="layui-form-item"> 149 <div class="layui-form-item">
169 <div class="layui-input-block"> 150 <div class="layui-input-block">
170 - <textarea class="layui-textarea noticeExpr" id="seriousExpr" name="seriousExpr"  
171 - placeholder="请输入内容" readonly></textarea> 151 + <textarea placeholder="请输入内容" class="layui-textarea noticeExpr" readonly id="seriousExpr" name="seriousExpr"></textarea>
172 </div> 152 </div>
173 </div> 153 </div>
174 </div> 154 </div>
175 </div> 155 </div>
176 -<!-- <hr>-->  
177 -<!-- <div class="content-box-group">-->  
178 -<!-- <div class="box-group-left">告警时段</div>-->  
179 -<!-- <div class="box-group-right">-->  
180 -<!-- <div class="layui-form-item">-->  
181 -<!-- <div class="layui-input-inline">-->  
182 -<!-- <input class="layui-input" id="seriousTimes" placeholder=" 选择告警时间段 " type="text">-->  
183 -<!-- </div>-->  
184 -<!-- <div class="layui-form-mid layui-word-aux allday" data-flag="seriousTimes" lay-tips="全天"-->  
185 -<!-- style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe637;</i></div>-->  
186 -<!-- <div class="layui-form-mid layui-word-aux worktime" data-flag="seriousTimes" lay-tips="工作时间"-->  
187 -<!-- style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe665;</i></div>-->  
188 -<!-- </div>-->  
189 -<!-- </div>-->  
190 -<!-- </div>-->  
191 </div> 156 </div>
192 <div class="layui-tab-item important-tab-item"> 157 <div class="layui-tab-item important-tab-item">
193 <!-- 重要告警 --> 158 <!-- 重要告警 -->
@@ -196,12 +161,9 @@ @@ -196,12 +161,9 @@
196 <div class="box-group-right"> 161 <div class="box-group-right">
197 <div class="layui-form-item hide"> 162 <div class="layui-form-item hide">
198 <div class="layui-input-block"> 163 <div class="layui-input-block">
199 - <input checked data-flag="important" lay-filter="alarm-policy-rule-type" name="important-policy-type"  
200 - title="基础" type="radio" value="1">  
201 - <input data-flag="important" lay-filter="alarm-policy-rule-type" name="important-policy-type" title="正则"  
202 - type="radio" value="2">  
203 - <input data-flag="important" lay-filter="alarm-policy-rule-type" name="important-policy-type" title="自定义"  
204 - type="radio" value="3"> 164 + <input type="radio" name="important-policy-type" data-flag="important" value="1" title="基础" checked lay-filter="alarm-policy-rule-type">
  165 + <input type="radio" name="important-policy-type" data-flag="important" value="2" title="正则" lay-filter="alarm-policy-rule-type">
  166 + <input type="radio" name="important-policy-type" data-flag="important" value="3" title="自定义"lay-filter="alarm-policy-rule-type">
205 </div> 167 </div>
206 </div> 168 </div>
207 <div class="layui-form-item cont-base" id="important-policy-box"> 169 <div class="layui-form-item cont-base" id="important-policy-box">
@@ -219,25 +181,19 @@ @@ -219,25 +181,19 @@
219 </select> 181 </select>
220 </div> 182 </div>
221 <div class="layui-input-inline smallwith"> 183 <div class="layui-input-inline smallwith">
222 - <input autocomplete="off" class="layui-input" flag="important_value" type="tel">  
223 - </div>  
224 - <div class="layui-form-mid layui-word-aux"><i class="layui-icon oper-icon policy-input-add"  
225 - data-id="important-policy-box">&#xe624;</i>  
226 - </div>  
227 - <div class="layui-form-mid layui-word-aux"><i class="layui-icon oper-icon policy-input-del hide"  
228 - data-id="important-policy-box">&#xe67e;</i> 184 + <input type="tel" autocomplete="off" class="layui-input" flag="important_value">
229 </div> 185 </div>
  186 + <div class="layui-form-mid layui-word-aux"><i data-id="important-policy-box" class="layui-icon oper-icon policy-input-add">&#xe624;</i></div>
  187 + <div class="layui-form-mid layui-word-aux"><i data-id="important-policy-box" class="layui-icon oper-icon policy-input-del hide">&#xe67e;</i></div>
230 </div> 188 </div>
231 <div class="layui-form-item cont-base"> 189 <div class="layui-form-item cont-base">
232 <div class="layui-input-block"> 190 <div class="layui-input-block">
233 - <a class="layui-btn layui-btn-sm layui-btn-normal createpolicybtn"  
234 - data-flag="important">生成策略</a> 191 + <a class="layui-btn layui-btn-sm layui-btn-normal createpolicybtn" data-flag="important">生成策略</a>
235 </div> 192 </div>
236 </div> 193 </div>
237 <div class="layui-form-item cont-other"> 194 <div class="layui-form-item cont-other">
238 <div class="layui-input-block"> 195 <div class="layui-input-block">
239 - <textarea class="layui-textarea" id="importantPolicy" name="importantPolicy"  
240 - placeholder="请输入内容"></textarea> 196 + <textarea placeholder="请输入内容" class="layui-textarea" id="importantPolicy" name="importantPolicy"></textarea>
241 </div> 197 </div>
242 </div> 198 </div>
243 </div> 199 </div>
@@ -248,28 +204,11 @@ @@ -248,28 +204,11 @@
248 <div class="box-group-right"> 204 <div class="box-group-right">
249 <div class="layui-form-item"> 205 <div class="layui-form-item">
250 <div class="layui-input-block"> 206 <div class="layui-input-block">
251 - <textarea class="layui-textarea noticeExpr" id="importantExpr" name="importantExpr"  
252 - placeholder="请输入内容" readonly></textarea> 207 + <textarea placeholder="请输入内容" class="layui-textarea noticeExpr" readonly id="importantExpr" name="importantExpr"></textarea>
253 </div> 208 </div>
254 </div> 209 </div>
255 </div> 210 </div>
256 </div> 211 </div>
257 -<!-- <hr>-->  
258 -<!-- <div class="content-box-group">-->  
259 -<!-- <div class="box-group-left">告警时段</div>-->  
260 -<!-- <div class="box-group-right">-->  
261 -<!-- <div class="layui-form-item">-->  
262 -<!-- <div class="layui-input-inline">-->  
263 -<!-- <input class="layui-input" id="importantTimes" placeholder=" 选择告警时间段 " type="text">-->  
264 -<!-- </div>-->  
265 -<!-- <div class="layui-form-mid layui-word-aux allday" data-flag="importantTimes" lay-tips="全天"-->  
266 -<!-- style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe637;</i></div>-->  
267 -<!-- <div class="layui-form-mid layui-word-aux worktime" data-flag="importantTimes"-->  
268 -<!-- lay-tips="工作时间" style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe665;</i>-->  
269 -<!-- </div>-->  
270 -<!-- </div>-->  
271 -<!-- </div>-->  
272 -<!-- </div>-->  
273 </div> 212 </div>
274 <div class="layui-tab-item commonly-tab-item"> 213 <div class="layui-tab-item commonly-tab-item">
275 <!-- 一般告警 --> 214 <!-- 一般告警 -->
@@ -278,12 +217,9 @@ @@ -278,12 +217,9 @@
278 <div class="box-group-right"> 217 <div class="box-group-right">
279 <div class="layui-form-item hide"> 218 <div class="layui-form-item hide">
280 <div class="layui-input-block"> 219 <div class="layui-input-block">
281 - <input checked data-flag="commonly" lay-filter="alarm-policy-rule-type" name="commonly-policy-type"  
282 - title="基础" type="radio" value="1">  
283 - <input data-flag="commonly" lay-filter="alarm-policy-rule-type" name="commonly-policy-type" title="正则"  
284 - type="radio" value="2">  
285 - <input data-flag="commonly" lay-filter="alarm-policy-rule-type" name="commonly-policy-type" title="自定义"  
286 - type="radio" value="3"> 220 + <input type="radio" name="commonly-policy-type" data-flag="commonly" value="1" title="基础" checked lay-filter="alarm-policy-rule-type">
  221 + <input type="radio" name="commonly-policy-type" data-flag="commonly" value="2" title="正则" lay-filter="alarm-policy-rule-type">
  222 + <input type="radio" name="commonly-policy-type" data-flag="commonly" value="3" title="自定义"lay-filter="alarm-policy-rule-type">
287 </div> 223 </div>
288 </div> 224 </div>
289 <div class="layui-form-item cont-base" id="commonly-policy-box"> 225 <div class="layui-form-item cont-base" id="commonly-policy-box">
@@ -301,14 +237,10 @@ @@ -301,14 +237,10 @@
301 </select> 237 </select>
302 </div> 238 </div>
303 <div class="layui-input-inline smallwith"> 239 <div class="layui-input-inline smallwith">
304 - <input autocomplete="off" class="layui-input" flag="commonly_value" type="tel">  
305 - </div>  
306 - <div class="layui-form-mid layui-word-aux"><i class="layui-icon oper-icon policy-input-add"  
307 - data-id="commonly-policy-box">&#xe624;</i>  
308 - </div>  
309 - <div class="layui-form-mid layui-word-aux"><i class="layui-icon oper-icon policy-input-del hide"  
310 - data-id="commonly-policy-box">&#xe67e;</i> 240 + <input type="tel" autocomplete="off" class="layui-input" flag="commonly_value">
311 </div> 241 </div>
  242 + <div class="layui-form-mid layui-word-aux"><i data-id="commonly-policy-box" class="layui-icon oper-icon policy-input-add">&#xe624;</i></div>
  243 + <div class="layui-form-mid layui-word-aux"><i data-id="commonly-policy-box" class="layui-icon oper-icon policy-input-del hide">&#xe67e;</i></div>
312 </div> 244 </div>
313 <div class="layui-form-item cont-base"> 245 <div class="layui-form-item cont-base">
314 <div class="layui-input-block"> 246 <div class="layui-input-block">
@@ -317,8 +249,7 @@ @@ -317,8 +249,7 @@
317 </div> 249 </div>
318 <div class="layui-form-item cont-other"> 250 <div class="layui-form-item cont-other">
319 <div class="layui-input-block"> 251 <div class="layui-input-block">
320 - <textarea class="layui-textarea" id="commonlyPolicy" name="commonlyPolicy"  
321 - placeholder="请输入内容"></textarea> 252 + <textarea placeholder="请输入内容" class="layui-textarea" id="commonlyPolicy" name="commonlyPolicy"></textarea>
322 </div> 253 </div>
323 </div> 254 </div>
324 </div> 255 </div>
@@ -329,28 +260,11 @@ @@ -329,28 +260,11 @@
329 <div class="box-group-right"> 260 <div class="box-group-right">
330 <div class="layui-form-item"> 261 <div class="layui-form-item">
331 <div class="layui-input-block"> 262 <div class="layui-input-block">
332 - <textarea class="layui-textarea noticeExpr" id="commonlyExpr" name="commonlyExpr"  
333 - placeholder="请输入内容" readonly></textarea> 263 + <textarea placeholder="请输入内容" class="layui-textarea noticeExpr" readonly id="commonlyExpr" name="commonlyExpr"></textarea>
334 </div> 264 </div>
335 </div> 265 </div>
336 </div> 266 </div>
337 </div> 267 </div>
338 -<!-- <hr>-->  
339 -<!-- <div class="content-box-group">-->  
340 -<!-- <div class="box-group-left">告警时段</div>-->  
341 -<!-- <div class="box-group-right">-->  
342 -<!-- <div class="layui-form-item">-->  
343 -<!-- <div class="layui-input-inline">-->  
344 -<!-- <input class="layui-input" id="commonlyTimes" placeholder=" 选择告警时间段 " type="text">-->  
345 -<!-- </div>-->  
346 -<!-- <div class="layui-form-mid layui-word-aux allday" data-flag="commonlyTimes" lay-tips="全天"-->  
347 -<!-- style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe637;</i></div>-->  
348 -<!-- <div class="layui-form-mid layui-word-aux worktime" data-flag="commonlyTimes"-->  
349 -<!-- lay-tips="工作时间" style="margin-right: 30px;"><i class="layui-icon form-btn-icon">&#xe665;</i>-->  
350 -<!-- </div>-->  
351 -<!-- </div>-->  
352 -<!-- </div>-->  
353 -<!-- </div>-->  
354 </div> 268 </div>
355 <div class="layui-tab-item filter-tab-item"> 269 <div class="layui-tab-item filter-tab-item">
356 <!-- 过滤表达式 --> 270 <!-- 过滤表达式 -->
@@ -359,12 +273,9 @@ @@ -359,12 +273,9 @@
359 <div class="box-group-right"> 273 <div class="box-group-right">
360 <div class="layui-form-item hide"> 274 <div class="layui-form-item hide">
361 <div class="layui-input-block"> 275 <div class="layui-input-block">
362 - <input checked data-flag="filter" lay-filter="alarm-policy-rule-type" name="filter-policy-type" title="基础"  
363 - type="radio" value="1">  
364 - <input data-flag="filter" lay-filter="alarm-policy-rule-type" name="filter-policy-type" title="正则" type="radio"  
365 - value="2">  
366 - <input data-flag="filter" lay-filter="alarm-policy-rule-type" name="filter-policy-type" title="自定义" type="radio"  
367 - value="3"> 276 + <input type="radio" name="filter-policy-type" data-flag="filter" value="1" title="基础" checked lay-filter="alarm-policy-rule-type">
  277 + <input type="radio" name="filter-policy-type" data-flag="filter" value="2" title="正则" lay-filter="alarm-policy-rule-type">
  278 + <input type="radio" name="filter-policy-type" data-flag="filter" value="3" title="自定义"lay-filter="alarm-policy-rule-type">
368 </div> 279 </div>
369 </div> 280 </div>
370 <div class="layui-form-item cont-base" id="filter-policy-box"> 281 <div class="layui-form-item cont-base" id="filter-policy-box">
@@ -382,14 +293,10 @@ @@ -382,14 +293,10 @@
382 </select> 293 </select>
383 </div> 294 </div>
384 <div class="layui-input-inline smallwith"> 295 <div class="layui-input-inline smallwith">
385 - <input autocomplete="off" class="layui-input" flag="filter_value" type="tel">  
386 - </div>  
387 - <div class="layui-form-mid layui-word-aux"><i class="layui-icon oper-icon policy-input-add"  
388 - data-id="filter-policy-box">&#xe624;</i>  
389 - </div>  
390 - <div class="layui-form-mid layui-word-aux"><i class="layui-icon oper-icon policy-input-del hide"  
391 - data-id="filter-policy-box">&#xe67e;</i> 296 + <input type="tel" autocomplete="off" class="layui-input" flag="filter_value">
392 </div> 297 </div>
  298 + <div class="layui-form-mid layui-word-aux"><i data-id="filter-policy-box" class="layui-icon oper-icon policy-input-add">&#xe624;</i></div>
  299 + <div class="layui-form-mid layui-word-aux"><i data-id="filter-policy-box" class="layui-icon oper-icon policy-input-del hide">&#xe67e;</i></div>
393 </div> 300 </div>
394 <div class="layui-form-item cont-base"> 301 <div class="layui-form-item cont-base">
395 <div class="layui-input-block"> 302 <div class="layui-input-block">
@@ -398,8 +305,7 @@ @@ -398,8 +305,7 @@
398 </div> 305 </div>
399 <div class="layui-form-item cont-other"> 306 <div class="layui-form-item cont-other">
400 <div class="layui-input-block"> 307 <div class="layui-input-block">
401 - <textarea class="layui-textarea" id="filterPolicy" name="filterPolicy"  
402 - placeholder="请输入内容"></textarea> 308 + <textarea placeholder="请输入内容" class="layui-textarea" id="filterPolicy" name="filterPolicy"></textarea>
403 </div> 309 </div>
404 </div> 310 </div>
405 </div> 311 </div>
@@ -412,14 +318,13 @@ @@ -412,14 +318,13 @@
412 <div class="box-group-right"> 318 <div class="box-group-right">
413 <div class="layui-form-item"> 319 <div class="layui-form-item">
414 <div class="layui-input-block"> 320 <div class="layui-input-block">
415 - <input checked name="clearWay" title="自动" type="radio" value="1">  
416 - <input name="clearWay" title="手动" type="radio" value="0"> 321 + <input type="radio" name="clearWay" value="1" title="自动" checked>
  322 + <input type="radio" name="clearWay" value="0" title="手动">
417 </div> 323 </div>
418 </div> 324 </div>
419 <div class="layui-form-item"> 325 <div class="layui-form-item">
420 <div class="layui-input-block"> 326 <div class="layui-input-block">
421 - <textarea class="layui-textarea noticeExpr" id="cleanPolicy" name="cleanPolicy"  
422 - placeholder="请输入内容" readonly></textarea> 327 + <textarea placeholder="请输入内容" class="layui-textarea noticeExpr" readonly id="cleanPolicy" name="cleanPolicy"></textarea>
423 </div> 328 </div>
424 </div> 329 </div>
425 </div> 330 </div>
@@ -432,8 +337,7 @@ @@ -432,8 +337,7 @@
432 <div class="box-group-right"> 337 <div class="box-group-right">
433 <div class="layui-form-item"> 338 <div class="layui-form-item">
434 <div class="layui-input-block"> 339 <div class="layui-input-block">
435 - <textarea class="layui-textarea" id="noticeMergeFlagExpr" name="noticeMergeFlagExpr"  
436 - placeholder="请输入内容"></textarea> 340 + <textarea placeholder="请输入内容" class="layui-textarea" id="noticeMergeFlagExpr" name="noticeMergeFlagExpr"></textarea>
437 </div> 341 </div>
438 </div> 342 </div>
439 </div> 343 </div>
@@ -442,12 +346,10 @@ @@ -442,12 +346,10 @@
442 </div> 346 </div>
443 </div> 347 </div>
444 348
445 -<!-- <button class="layui-btn hide" id="alarmpolicy-form-save-id" lay-submit type="submit">保存</button>-->  
446 <button type="submit" lay-submit class="layui-btn hide" id="alarmpolicy-form-save-id">保存</button> 349 <button type="submit" lay-submit class="layui-btn hide" id="alarmpolicy-form-save-id">保存</button>
447 -  
448 </form> 350 </form>
449 <script> 351 <script>
450 layui.use('alarmpolicyAdd', function (fn) { 352 layui.use('alarmpolicyAdd', function (fn) {
451 - fn({{ d }}); 353 + fn({{d}});
452 }); 354 });
453 </script> 355 </script>
1 <title>告警策略</title> 1 <title>告警策略</title>
2 <article class="page-container"> 2 <article class="page-container">
3 <div class="page-panel"> 3 <div class="page-panel">
4 - <div class="main commonDiv"> 4 + <div class="main">
5 <div class="layui-card"> 5 <div class="layui-card">
6 <div class="layui-card-header"> 6 <div class="layui-card-header">
7 <div class="layui-status search_panel"> 7 <div class="layui-status search_panel">
8 - <form class="layui-form layui-card-header layuiadmin-card-header-auto"  
9 - lay-filter="alarmpolicy-form"> 8 + <form class="layui-form layui-card-header layuiadmin-card-header-auto" lay-filter="alarmpolicy-form">
10 <div class="layui-form-item"> 9 <div class="layui-form-item">
11 <div class="layui-inline"> 10 <div class="layui-inline">
12 <div class="layui-input-inline layui-input-inline--long"> 11 <div class="layui-input-inline layui-input-inline--long">
13 - <input autocomplete="off" class="layui-input" id="alarmpolicykw"  
14 - lay-tips="关键字检索包含 </br>策略名称" name="alarmpolicykw" placeholder="输入关键字,回车搜索"  
15 - type="text"> 12 + <input type="text" id="alarmpolicykw" name="alarmpolicykw" lay-tips="关键字检索包含 </br>策略名称" placeholder="输入关键字,回车搜索" autocomplete="off" class="layui-input">
16 </div> 13 </div>
17 </div> 14 </div>
18 <div class="layui-inline"> 15 <div class="layui-inline">
19 <div class="layui-input-inline layui-input-inline--long"> 16 <div class="layui-input-inline layui-input-inline--long">
20 - <select id="alarmpolicy_category" lay-filter="alarmpolicy_category"> 17 + <select lay-filter="alarmpolicy_category" id="alarmpolicy_category">
21 <option value="">=指标分类=</option> 18 <option value="">=指标分类=</option>
22 <option value="0">基本指标</option> 19 <option value="0">基本指标</option>
23 <option value="1">性能指标</option> 20 <option value="1">性能指标</option>
@@ -28,7 +25,7 @@ @@ -28,7 +25,7 @@
28 </div> 25 </div>
29 <div class="layui-inline hide"> 26 <div class="layui-inline hide">
30 <div class="layui-input-inline layui-input-inline--long"> 27 <div class="layui-input-inline layui-input-inline--long">
31 - <select id="alarmpolicy_kpitype" lay-filter="alarmpolicy_kpitype"> 28 + <select lay-filter="alarmpolicy_kpitype" id="alarmpolicy_kpitype">
32 <option value="">=指标类型=</option> 29 <option value="">=指标类型=</option>
33 <option value="1">X86服务器</option> 30 <option value="1">X86服务器</option>
34 <option value="2">小型机</option> 31 <option value="2">小型机</option>
@@ -42,30 +39,29 @@ @@ -42,30 +39,29 @@
42 </div> 39 </div>
43 <div class="layui-inline"> 40 <div class="layui-inline">
44 <div class="layui-input-inline layui-input-inline--long"> 41 <div class="layui-input-inline layui-input-inline--long">
45 - <select id="alarmpolicy_policyType" lay-filter="alarmpolicy_policyType">  
46 - <option value="">=策略类型=</option>  
47 - <option value="1">默认</option>  
48 - <option value="0">非默认</option> 42 + <select lay-filter="alarmpolicy_policyType" id="alarmpolicy_policyType">
  43 + <!-- <option value="">=策略类型=</option>-->
  44 + <!-- <option value="1">默认</option>-->
  45 + <!-- <option value="0">非默认</option>-->
49 </select> 46 </select>
50 </div> 47 </div>
51 </div> 48 </div>
52 - <button class="layui-btn layui-btn-normal" id="alarmpolicyQueryBtn" type="button">  
53 - <!--lsq 查询按钮取消掉图标 2022-06-29-->  
54 - 查询 49 + <div class="layui-inline">
  50 + <button id="alarmpolicyQueryBtn" type="button" class="layui-btn layui-btn-normal" ><i
  51 + class="layui-icon layui-icon-search"></i>查询
55 </button> 52 </button>
56 </div> 53 </div>
  54 + </div>
57 <div class="layui-form-item"> 55 <div class="layui-form-item">
58 <div class="layui-inline"> 56 <div class="layui-inline">
59 <div class="layui-input-inline layui-input-inline--long"> 57 <div class="layui-input-inline layui-input-inline--long">
60 - <input class="layui-input" id="alarmpolicy_startdate" placeholder="开始时间"  
61 - type="text"> 58 + <input type="text" class="layui-input" id="alarmpolicy_startdate" placeholder="开始时间">
62 </div> 59 </div>
63 </div> 60 </div>
64 <div class="layui-inline layui-inline--sm">-</div> 61 <div class="layui-inline layui-inline--sm">-</div>
65 <div class="layui-inline"> 62 <div class="layui-inline">
66 <div class="layui-input-inline layui-input-inline--long"> 63 <div class="layui-input-inline layui-input-inline--long">
67 - <input class="layui-input" id="alarmpolicy_enddate" placeholder="结束时间"  
68 - type="text"> 64 + <input type="text" class="layui-input" id="alarmpolicy_enddate" placeholder="结束时间">
69 </div> 65 </div>
70 </div> 66 </div>
71 </div> 67 </div>
@@ -76,14 +72,11 @@ @@ -76,14 +72,11 @@
76 <div class="layui-card-body"> 72 <div class="layui-card-body">
77 <div class="layui-btn-container"> 73 <div class="layui-btn-container">
78 <button class="layui-btn layui-btn-sm layui-btn-normal" id="alarmpolicy_create"> 74 <button class="layui-btn layui-btn-sm layui-btn-normal" id="alarmpolicy_create">
79 - <i class="layui-icon">&#xe654;</i>新建  
80 - </button> 75 + <i class="layui-icon">&#xe654;</i>新建</button>
81 <button class="layui-btn layui-btn-sm layui-btn-normal" id="alarmpolicy_delete"> 76 <button class="layui-btn layui-btn-sm layui-btn-normal" id="alarmpolicy_delete">
82 - <i class="layui-icon">&#xe640;</i>删除  
83 - </button> 77 + <i class="layui-icon">&#xe640;</i>删除</button>
84 <button class="layui-btn layui-btn-sm layui-btn-normal" id="alarmpolicy_sync"> 78 <button class="layui-btn layui-btn-sm layui-btn-normal" id="alarmpolicy_sync">
85 - <i class="layui-icon">&#xe669;</i>同步  
86 - </button> 79 + <i class="layui-icon">&#xe669;</i>同步</button>
87 </div> 80 </div>
88 <table id="alarmpolicyTable"></table> 81 <table id="alarmpolicyTable"></table>
89 </div> 82 </div>
@@ -91,13 +84,16 @@ @@ -91,13 +84,16 @@
91 </div> 84 </div>
92 </div> 85 </div>
93 </article> 86 </article>
94 -<script lay-done="layui.data.sendParams(d.params)" template>  
95 -  
96 -</script> 87 +<textarea id="alarm_policyIndex_id" style="display: none;">{{d}}</textarea>
97 <script> 88 <script>
98 - layui.data.sendParams = function (params) {  
99 layui.use('alarmpolicyIndex', function (fn) { 89 layui.use('alarmpolicyIndex', function (fn) {
100 - fn(params); 90 + var $ = layui.$;
  91 + var param = $("#alarm_policyIndex_id").val();
  92 + if(param.indexOf('{{d') != -1){
  93 + fn();
  94 + }else{
  95 + fn(JSON.parse(param));
  96 + }
101 }); 97 });
102 - };  
103 </script> 98 </script>
  99 +
1 <!--告警模板--> 1 <!--告警模板-->
2 <style> 2 <style>
3 - .layui-table-box { 3 + .layui-table-box{
4 float: left; 4 float: left;
5 } 5 }
6 </style> 6 </style>
7 <form class="layui-form layui-form-pane" lay-filter="add-alarmtemplate-form" name="add-alarmtemplate-form"> 7 <form class="layui-form layui-form-pane" lay-filter="add-alarmtemplate-form" name="add-alarmtemplate-form">
8 - <input name="alarmTempId" type="hidden">  
9 - <input name="syncFlag" type="hidden" value="0"> 8 + <input type="hidden" name="alarmTempId">
  9 + <input type="hidden" name="syncFlag" value="0">
10 <fieldset class="layui-elem-field layui-field-title"> 10 <fieldset class="layui-elem-field layui-field-title">
11 <legend>基本信息</legend> 11 <legend>基本信息</legend>
12 </fieldset> 12 </fieldset>
13 <div class="layui-form-item"> 13 <div class="layui-form-item">
14 <label class="layui-form-label">模板名称<span style="color: red">*</span></label> 14 <label class="layui-form-label">模板名称<span style="color: red">*</span></label>
15 <div class="layui-input-block"> 15 <div class="layui-input-block">
16 - <input class="layui-input" id="alarmTemplateName" lay-reqtext="请输入模板名称" lay-verify="required" name="alarmTempName"  
17 - type="text"> 16 + <input type="text" id="alarmTemplateName" name="alarmTempName" lay-verify="required" lay-reqtext="请输入模板名称" class="layui-input">
18 </div> 17 </div>
19 </div> 18 </div>
20 <div class="layui-form-item"> 19 <div class="layui-form-item">
21 <label class="layui-form-label">模板描述</label> 20 <label class="layui-form-label">模板描述</label>
22 <div class="layui-input-block"> 21 <div class="layui-input-block">
23 - <input class="layui-input" id="alarmTemplateDesc" lay-reqtext="请输模板描述" name="alarmTempDesc" type="text"> 22 + <input type="text" id="alarmTemplateDesc" name="alarmTempDesc" lay-reqtext="请输模板描述" class="layui-input">
24 </div> 23 </div>
25 </div> 24 </div>
26 25
27 - <button class="layui-btn hide" id="alarmtemplate-form-save-id" lay-submit type="submit">保存</button> 26 + <button type="submit" lay-submit class="layui-btn hide" id="alarmtemplate-form-save-id">保存</button>
28 </form> 27 </form>
29 28
30 <div class="layui-form layui-form-pane"> 29 <div class="layui-form layui-form-pane">
@@ -35,13 +34,7 @@ @@ -35,13 +34,7 @@
35 </fieldset> 34 </fieldset>
36 <table class="layui-table"> 35 <table class="layui-table">
37 <thead> 36 <thead>
38 - <tr>  
39 - <th>策略名称</th>  
40 - <th>策略类型</th>  
41 - <th>指标信息</th>  
42 - <th>指标类型</th>  
43 - <th>操作</th>  
44 - </tr> 37 + <tr><th>策略名称</th><th>策略类型</th><th>指标信息</th><th>指标类型</th><th>操作</th></tr>
45 </thead> 38 </thead>
46 <tbody id="alarmtemplate-policy-table-body"></tbody> 39 <tbody id="alarmtemplate-policy-table-body"></tbody>
47 </table> 40 </table>
@@ -49,6 +42,6 @@ @@ -49,6 +42,6 @@
49 42
50 <script> 43 <script>
51 layui.use('alarmtemplateAdd', function (fn) { 44 layui.use('alarmtemplateAdd', function (fn) {
52 - fn({{ d }}); 45 + fn({{d}});
53 }); 46 });
54 </script> 47 </script>
@@ -67,6 +67,79 @@ @@ -67,6 +67,79 @@
67 </div> 67 </div>
68 <textarea class="hide" id="alarmtemplate-params">{{d}}</textarea> 68 <textarea class="hide" id="alarmtemplate-params">{{d}}</textarea>
69 </article> 69 </article>
  70 +
  71 +
  72 +<script id="tempResource" type="text/html">
  73 + <article class="page-container">
  74 + <div class="page-panel">
  75 + <div class="main">
  76 + <div class="layui-card">
  77 + <div class="layui-card-header">
  78 + <div class="layui-status">
  79 + <form class="layui-form layui-card-header layuiadmin-card-header-auto">
  80 + <div class="layui-form-item">
  81 + <div class="layui-inline">
  82 + <div class="layui-input-inline layui-input-inline--long">
  83 + <input type="text" id="res-keyword" placeholder="输入名称,回车搜索" autocomplete="off"
  84 + lay-tips="关键字检索包含: </br>资源名称</br>ip地址"
  85 + class="layui-input">
  86 + </div>
  87 + </div>
  88 + <div class="layui-inline">
  89 + <div class="layui-input-inline layui-input-inline--long">
  90 + <div id="templist_restype"></div>
  91 + </div>
  92 + </div>
  93 +
  94 + <div class="layui-inline">
  95 + <div class="layui-input-inline">
  96 + <select name="reslist_resStatus" id="templist_resStatus" lay-filter="templist_resStatus" lay-verify="required">
  97 + <option value="">=资源状态=</option>
  98 + <option value="1"></option>
  99 + <option value="2"></option>
  100 + <option value="3"></option>
  101 + </select>
  102 + </div>
  103 + </div>
  104 + <div class="layui-inline">
  105 + <div class="layui-input-inline">
  106 + <select name="label" id="templist_resListBizTypes" lay-filter="templist_resListBizTypes" lay-search>
  107 + <option value="">=选择业务=</option>
  108 + </select>
  109 + </div>
  110 + </div>
  111 + <div class="layui-inline">
  112 + <div class="layui-input-inline">
  113 + <select name="provider" id="templist_provider" lay-filter="templist_provider" lay-search>
  114 + <option value="">=选择厂商=</option>
  115 + </select>
  116 + </div>
  117 + </div>
  118 + <div class="layui-inline">
  119 + <button id="tempResBut" type="button" class="layui-btn layui-btn-normal" ><i
  120 + class="layui-icon layui-icon-search"></i>查
  121 + </button>
  122 + </div>
  123 + </div>
  124 + </form>
  125 + </div>
  126 + </div>
  127 + <div class="layui-card-body">
  128 + <div class="warn-btns">
  129 + <button id="addAuthResBtn" type="button" class="layui-btn layui-btn-sm layui-btn-normal"><i
  130 + class="layui-icon">&#xe654;</i>新增资
  131 + </button>
  132 + <button id="delAuthResBtn" type="button" class="layui-btn layui-btn-sm layui-btn-normal"><i
  133 + class="layui-icon">&#xe640;</i>删除资
  134 + </button>
  135 + </div>
  136 + <table id="res_temp_table"></table>
  137 + </div>
  138 + </div>
  139 + </div>
  140 + </div>
  141 + </article>
  142 +</script>
70 <!--<script template lay-done="layui.data.sendParams(d.params)"></script>--> 143 <!--<script template lay-done="layui.data.sendParams(d.params)"></script>-->
71 <script> 144 <script>
72 var params = document.getElementById("alarmtemplate-params").value; 145 var params = document.getElementById("alarmtemplate-params").value;
1 -<title>CMDB数据同步</title> 1 +<title>资产数据同步</title>
2 <iframe class="layadmin-iframe" frameborder="0" src="/vue3/index.html#/cmdbdatasync" style="height: 99.5%!important;"/> 2 <iframe class="layadmin-iframe" frameborder="0" src="/vue3/index.html#/cmdbdatasync" style="height: 99.5%!important;"/>