Authored by wf

trap采集器绑定的资源增加告警过滤

@@ -136,7 +136,14 @@ layui.define(['table', 'form', 'sessions', 'common', 'view', 'admin', 'upload', @@ -136,7 +136,14 @@ layui.define(['table', 'form', 'sessions', 'common', 'view', 'admin', 'upload',
136 '</div>' 136 '</div>'
137 }, { 137 }, {
138 field: 'resCount', title: '绑定资源', align: 'right', sort: true, minWidth: 105, 138 field: 'resCount', title: '绑定资源', align: 'right', sort: true, minWidth: 105,
139 - templet: '<div><span data-index="{{d.LAY_TABLE_INDEX}}" data-collectorid="{{d.collectorId}}" data-colltype="{{d.collType}}" class="layui-table-link link-collector-reslist">{{d.resCount}}</span></div>' 139 + templet: '<div>' +
  140 + '<span data-index="{{d.LAY_TABLE_INDEX}}" ' +
  141 + 'data-collectorid="{{d.collectorId}}" ' +
  142 + 'data-collectname="{{d.collectorName}}" ' +
  143 + 'data-colltype="{{d.collType}}" ' +
  144 + 'class="layui-table-link link-collector-reslist">{{d.resCount}}' +
  145 + '</span>' +
  146 + '</div>'
140 }, { 147 }, {
141 title: '采集类型', field: 'collType', align: 'center', sort: true, minWidth: 125, 148 title: '采集类型', field: 'collType', align: 'center', sort: true, minWidth: 125,
142 templet: function (d) { 149 templet: function (d) {
@@ -219,12 +226,14 @@ layui.define(['table', 'form', 'sessions', 'common', 'view', 'admin', 'upload', @@ -219,12 +226,14 @@ layui.define(['table', 'form', 'sessions', 'common', 'view', 'admin', 'upload',
219 if (!common.hasPermission('back:collector:addResources')){ 226 if (!common.hasPermission('back:collector:addResources')){
220 return; 227 return;
221 } 228 }
222 - collectorId = $(this).data('collectorid'); 229 + var collectorId = $(this).data('collectorid');
  230 + var collectorName = $(this).data("collectname");
223 var collType = $(this).data('colltype'); 231 var collType = $(this).data('colltype');
224 var params = {}; 232 var params = {};
225 if (collType === 'collType_trap') { 233 if (collType === 'collType_trap') {
226 params = { 234 params = {
227 - trapCollectorId: collectorId 235 + trapCollectorId: collectorId,
  236 + collectorName: collectorName
228 } 237 }
229 } else { 238 } else {
230 params = { 239 params = {
@@ -24,6 +24,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -24,6 +24,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
24 // 采集器编号查询条件 24 // 采集器编号查询条件
25 var collectorId = (data && data.collectorId) ? data.collectorId : ''; 25 var collectorId = (data && data.collectorId) ? data.collectorId : '';
26 var trapCollectorId = (data && data.trapCollectorId) ? data.trapCollectorId : ''; //trap采集器绑定资源查询 joke add 20210723 26 var trapCollectorId = (data && data.trapCollectorId) ? data.trapCollectorId : ''; //trap采集器绑定资源查询 joke add 20210723
  27 + var collectorName = (data && data.collectorName) ? data.collectorName : "";
  28 + var isTrap = (data && data.trapCollectorId) ? true : false;
27 var alarmTempId = (data && data.alarmTempId) ? data.alarmTempId : ''; 29 var alarmTempId = (data && data.alarmTempId) ? data.alarmTempId : '';
28 var writeBackResList = (data && data.writeBackResList) ? data.writeBackResList : ''; 30 var writeBackResList = (data && data.writeBackResList) ? data.writeBackResList : '';
29 var cutoverId = '', targetType = '',haveNum=0; 31 var cutoverId = '', targetType = '',haveNum=0;
@@ -148,8 +150,12 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -148,8 +150,12 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
148 templet: function (d){ 150 templet: function (d){
149 let str = '<div>' + 151 let str = '<div>' +
150 '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-tips="资源解绑" collector-data-unbindRes="' + d.resId + '"><i class="layui-icon layui-icon-unlink"></i></button>' 152 '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-tips="资源解绑" collector-data-unbindRes="' + d.resId + '"><i class="layui-icon layui-icon-unlink"></i></button>'
151 - '</div>'  
152 - return str 153 + if (isTrap) {
  154 + str += '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-tips="告警过滤" ' +
  155 + 'collector-data-filteralarms-name = "'+d.resName+'" ' +
  156 + 'collector-data-filteralarms="' + d.resId + '"><i class="layui-icon layui-icon-fonts-clear"></i></button>';
  157 + }
  158 + return str + '</div>';
153 } 159 }
154 } 160 }
155 ]], 161 ]],
@@ -204,7 +210,68 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect @@ -204,7 +210,68 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect
204 layer.msg('解绑失败', {icon: 2}); 210 layer.msg('解绑失败', {icon: 2});
205 } 211 }
206 }) 212 })
207 - }) 213 + });
  214 +
  215 + // 告警清除
  216 + $('body').on('click','button[collector-data-filteralarms]',function (){
  217 +
  218 + // 点击该按钮,弹出对话框,上方显示采集器名称(不可编辑),
  219 + // 资源名称(不可编辑),下方有个文本域,可以输入过滤内容,过滤内容不能为空。
  220 + // 点击保存根据采集器id,资源id将过滤内容更新到b_trap_config表的filter字段中。
  221 +
  222 + let resId = $(this).attr('collector-data-filteralarms');
  223 + let resName = $(this).attr('collector-data-filteralarms-name');
  224 + let content = `
  225 + <form class="layui-form" lay-filter="collectorFilterAlarmsForm">
  226 + <div class="layui-form-item">
  227 + <label class="layui-form-label">采集器:</label>
  228 + <div class="layui-input-block" style="line-height: 36px;">${collectorName}</div>
  229 + <input type="hidden" id="trapCollectorId" name="trapCollectorId" value="${trapCollectorId}">
  230 + </div>
  231 + <div class="layui-form-item">
  232 + <label class="layui-form-label">资源名称:</label>
  233 + <div class="layui-input-block" style="line-height: 36px;">${resName}</div>
  234 + <input type="hidden" id="resourceId" name="resourceId" value="${resId}">
  235 + </div>
  236 + <div class="layui-form-item">
  237 + <label class="layui-form-label"><span style="color: red;">*</span>过滤内容:</label>
  238 + <div class="layui-input-inline">
  239 + <textarea class="layui-textarea" name="filterContent" placeholder="请输入描述"></textarea>
  240 + </div>
  241 + </div>
  242 + </form>
  243 + `
  244 + layer.open({
  245 + type: 1
  246 + , title: '告警过滤' //不显示标题栏
  247 + , closeBtn: false
  248 + , area: ['500px', '500px']
  249 + , shade: 0.8
  250 + , resize: false
  251 + , id: 'collector-filter-alarms-res-win' //设定一个id,防止重复弹出
  252 + , btn: ['确定','返回']
  253 + , content: content
  254 + , yes: function (index, layero) {
  255 + var formData = form.val('collectorFilterAlarmsForm');
  256 + admin.req({
  257 + url: domainName + '/api-web/trapoid/update/filter',
  258 + type: 'POST',
  259 + contentType: 'application/json',
  260 + data: JSON.stringify(formData),
  261 + }).done(function (response) {
  262 + if (response.success) {
  263 + layer.msg('操作成功', {icon: 1, timeout: 3000});
  264 + } else {
  265 + layer.msg('操作失败!', {icon: 2, timeout: 3000});
  266 + }
  267 + });
  268 +
  269 + layer.close(index);
  270 + }
  271 + });
  272 +
  273 + });
  274 +
208 } 275 }
209 }); 276 });
210 277