Merge branch 'master-prod-xwx2' into 'master-prod'
v32迁移prod See merge request !735
Showing
40 changed files
with
1252 additions
and
268 deletions
@@ -60,7 +60,7 @@ layui.define(['form','table', 'admin', 'common','sessions'], function (exports) | @@ -60,7 +60,7 @@ layui.define(['form','table', 'admin', 'common','sessions'], function (exports) | ||
60 | //选择策略 | 60 | //选择策略 |
61 | $("#add_alarmtemplate_policy").on("click",function (){ | 61 | $("#add_alarmtemplate_policy").on("click",function (){ |
62 | $('[lay-id="/baseconfig/alarmpolicy/index"]').find('.layui-tab-close').trigger('click'); | 62 | $('[lay-id="/baseconfig/alarmpolicy/index"]').find('.layui-tab-close').trigger('click'); |
63 | - common.openWin("baseconfig/alarmpolicy/index","选择策略",{},["选择","取消"], function () { | 63 | + common.openWin("baseconfig/alarmpolicy/index","选择策略",{type:'alarmTemplate'},["选择","取消"], function () { |
64 | var data = layui.alarmpolicyIndex().getData(); | 64 | var data = layui.alarmpolicyIndex().getData(); |
65 | createAlarmtemplatePolicyTable(data); | 65 | createAlarmtemplatePolicyTable(data); |
66 | return true; | 66 | return true; |
@@ -101,11 +101,6 @@ layui.define(['form','table', 'admin', 'common','sessions'], function (exports) | @@ -101,11 +101,6 @@ layui.define(['form','table', 'admin', 'common','sessions'], function (exports) | ||
101 | } | 101 | } |
102 | //删除 | 102 | //删除 |
103 | $(".delete-alarmtemplate-policy-btn").on("click",function (){ | 103 | $(".delete-alarmtemplate-policy-btn").on("click",function (){ |
104 | - var tr = $("#alarmtemplate-policy-table-body").find('tr').length | ||
105 | - if (tr <= 1){ | ||
106 | - layer.msg("告警模板至少绑定一条告警策略", { offset: '15px' , icon: 7 , time: 1000 }); | ||
107 | - return false; | ||
108 | - } | ||
109 | $(this).parent().parent().remove(); | 104 | $(this).parent().parent().remove(); |
110 | }); | 105 | }); |
111 | } | 106 | } |
@@ -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) { |
@@ -77,7 +79,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' | @@ -77,7 +79,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' | ||
77 | } | 79 | } |
78 | 80 | ||
79 | if (tempData && tempData.length > 0) { | 81 | if (tempData && tempData.length > 0) { |
80 | - common.openWin("baseconfig/alarmpolicy/index", "选择策略", {oldData: oldAlarmPolicyIdList}, ["选择", "取消"], function () { | 82 | + common.openWin("baseconfig/alarmpolicy/index", "选择策略", {oldData: oldAlarmPolicyIdList,type:'alarmTemplate'}, ["选择", "取消"], function () { |
81 | var policyData = layui.alarmpolicyIndex().getData(); | 83 | var policyData = layui.alarmpolicyIndex().getData(); |
82 | var tempIds = [], policyIds = []; | 84 | var tempIds = [], policyIds = []; |
83 | $.each(tempData, function (i, v) { | 85 | $.each(tempData, function (i, v) { |
@@ -108,25 +110,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' | @@ -108,25 +110,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' | ||
108 | 110 | ||
109 | }); | 111 | }); |
110 | 112 | ||
111 | - //配置资源 | ||
112 | - $("#alarmtemplate_configres").on("click", function () { | ||
113 | - if ($.inArray('back:alarmtemp:resource', checkList) == -1) { | ||
114 | - layer.msg('暂无权限!', {icon: 7, time: 3000}); | ||
115 | - return; | ||
116 | - } | ||
117 | - var tempIds = []; | ||
118 | - var data = table.checkStatus('alarmtemplateTable').data; | ||
119 | - if (data && data.length > 0) { | ||
120 | - $.each(data, function (i, obj) { | ||
121 | - tempIds.push(obj.alarmTempId); | ||
122 | - }); | ||
123 | - } | ||
124 | - if (tempIds.length != 1) { | ||
125 | - layer.msg('请选择一条要配置的数据', {icon: 7, time: 2000}); | ||
126 | - return; | ||
127 | - } | 113 | + function getOldResIdList(tempIds){ |
128 | var oldResIdList = []; | 114 | var oldResIdList = []; |
129 | - if (tempIds.length <= 1) { | ||
130 | admin.req({ | 115 | admin.req({ |
131 | url: common.domainName + '/api-web/alarmtemplate/getResIdByTempId', | 116 | url: common.domainName + '/api-web/alarmtemplate/getResIdByTempId', |
132 | async: false, | 117 | async: false, |
@@ -141,7 +126,6 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' | @@ -141,7 +126,6 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' | ||
141 | oldResIdList = response.data.map(item => item.resId) | 126 | oldResIdList = response.data.map(item => item.resId) |
142 | } | 127 | } |
143 | }); | 128 | }); |
144 | - } | ||
145 | common.openWin("template/res/reslist", "配置资源", {oldData: oldResIdList}, ["选择", "取消"], function () { | 129 | common.openWin("template/res/reslist", "配置资源", {oldData: oldResIdList}, ["选择", "取消"], function () { |
146 | var resObj = layui.reslist().getData(); | 130 | var resObj = layui.reslist().getData(); |
147 | if (resObj && resObj.length > 0) { | 131 | if (resObj && resObj.length > 0) { |
@@ -153,21 +137,42 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' | @@ -153,21 +137,42 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' | ||
153 | url: domainName + '/api-web/manage/resource/alarmTemplate?resIds=' + resIds.toString() + '&alarmTempId=' + tempIds.toString() + '&access_token=' + accessToken, | 137 | url: domainName + '/api-web/manage/resource/alarmTemplate?resIds=' + resIds.toString() + '&alarmTempId=' + tempIds.toString() + '&access_token=' + accessToken, |
154 | done: function (res) { | 138 | done: function (res) { |
155 | if (res.success) { | 139 | if (res.success) { |
156 | - layer.msg("配置成功!", {offset: '15px', icon: 1, time: 1000}, function () { | 140 | + layer.msg("配置成功!", {offset: '15px', icon: 1, time: 2000}, function () { |
157 | layer.closeAll(); | 141 | layer.closeAll(); |
158 | reloadalarmtemplateTable(); | 142 | reloadalarmtemplateTable(); |
143 | + | ||
159 | }); | 144 | }); |
160 | } else { | 145 | } else { |
161 | - layer.msg("配置失败,请重试或者与管理员联系!", {offset: '15px', icon: 7, time: 1000}); | 146 | + layer.msg("配置失败,请重试或者与管理员联系!", {offset: '15px', icon: 7, time: 2000}); |
162 | } | 147 | } |
163 | } | 148 | } |
164 | }); | 149 | }); |
165 | } else { | 150 | } else { |
166 | - layer.msg("请至少选择一条资源", {offset: '15px', icon: 7, time: 1000}); | 151 | + layer.msg("请至少选择一条资源", {offset: '15px', icon: 7, time: 2000}); |
167 | return false; | 152 | return false; |
168 | } | 153 | } |
169 | return true; | 154 | return true; |
170 | }); | 155 | }); |
156 | + } | ||
157 | + | ||
158 | + //配置资源 | ||
159 | + $("#alarmtemplate_configres").on("click", function () { | ||
160 | + if ($.inArray('back:alarmtemp:resource', checkList) == -1) { | ||
161 | + layer.msg('暂无权限!', {icon: 7, time: 3000}); | ||
162 | + return; | ||
163 | + } | ||
164 | + var tempIds = []; | ||
165 | + var data = table.checkStatus('alarmtemplateTable').data; | ||
166 | + if (data && data.length > 0) { | ||
167 | + $.each(data, function (i, obj) { | ||
168 | + tempIds.push(obj.alarmTempId); | ||
169 | + }); | ||
170 | + } | ||
171 | + if (tempIds.length != 1) { | ||
172 | + layer.msg('请选择一条要配置的数据', {icon: 7, time: 2000}); | ||
173 | + return; | ||
174 | + } | ||
175 | + getOldResIdList(tempIds); | ||
171 | }); | 176 | }); |
172 | 177 | ||
173 | // 解除绑定 | 178 | // 解除绑定 |
@@ -226,7 +231,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' | @@ -226,7 +231,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' | ||
226 | , url: domainName + '/api-web/alarmtemplate/page' | 231 | , url: domainName + '/api-web/alarmtemplate/page' |
227 | , where: { | 232 | , where: { |
228 | access_token: accessToken, | 233 | access_token: accessToken, |
229 | - alarmTempName: $("#alarmtemplatekw").val(), | 234 | + keyWord: $("#alarmtemplatekw").val(), |
230 | policyId: policyId, | 235 | policyId: policyId, |
231 | resIdList: resIdList | 236 | resIdList: resIdList |
232 | } | 237 | } |
@@ -354,10 +359,87 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' | @@ -354,10 +359,87 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' | ||
354 | 359 | ||
355 | //查看告警模板的资源数量 | 360 | //查看告警模板的资源数量 |
356 | $(".view-alarmtemplate-res-total").on("click", function () { | 361 | $(".view-alarmtemplate-res-total").on("click", function () { |
357 | - var alarmTempId = $(this).data("id"); | ||
358 | - common.openWin("template/res/reslist", "资源列表", {alarmTempId: alarmTempId}, ["关闭"], function () { | ||
359 | - return true; | ||
360 | - }, null, ['90%', '80%']) | 362 | + alarmTempId = $(this).data("id"); |
363 | + layer.open({ | ||
364 | + title: ['绑定资源', 'font-size:18px;'], | ||
365 | + type: 1, | ||
366 | + area: ['90%','80%'], | ||
367 | + resize:false, | ||
368 | + btn: ['确定','取消'], | ||
369 | + content: laytpl($('#tempResource').html()).render(JSON.stringify({})), | ||
370 | + success: function (index, layero) { | ||
371 | + renderResByTemp(resType) | ||
372 | + | ||
373 | + //新增资源权限 | ||
374 | + $('#addAuthResBtn').on('click', function () { | ||
375 | + openResByTemp(alarmTempId,index) | ||
376 | + }) | ||
377 | + | ||
378 | + // 查询条件框回车查询事件 | ||
379 | + $('#res-keyword').keydown(function (e) { | ||
380 | + if (e.keyCode === 13) { | ||
381 | + renderResByTemp(resType); | ||
382 | + } | ||
383 | + }); | ||
384 | + //查询按钮事件 | ||
385 | + $('#tempResBut').unbind().on('click',function () { | ||
386 | + renderResByTemp(resType); | ||
387 | + }); | ||
388 | + | ||
389 | + // 如果参数有busId | ||
390 | + if(data && common.isNotEmpty(data.busId)){ | ||
391 | + busId = data.busId; | ||
392 | + $("#templist_resListBizTypes").attr("disabled",true); | ||
393 | + form.render() | ||
394 | + } | ||
395 | + //绑定业务下拉选择数据 | ||
396 | + common.bizTypeSelect("templist_resListBizTypes",function () { | ||
397 | + $("#templist_resListBizTypes").val(busId); | ||
398 | + form.render("select"); | ||
399 | + }); | ||
400 | + //绑定资源类型下拉选择 | ||
401 | + common.resTypeXmSelect({ | ||
402 | + el: '#templist_restype', | ||
403 | + initValue: resType.split(','), | ||
404 | + on(data) { | ||
405 | + resType = data.arr.map(item => item.resTypeCode).join(','); | ||
406 | + resType || (resType = 'all') | ||
407 | + renderResByTemp(resType); | ||
408 | + } | ||
409 | + }); | ||
410 | + //绑定厂商下拉选择 | ||
411 | + common.providerSelect("templist_provider",function () { | ||
412 | + form.render("select"); | ||
413 | + }); | ||
414 | + | ||
415 | + form.render(); | ||
416 | + bindSelectEvent(); | ||
417 | + //绑定下拉搜索事件 | ||
418 | + function bindSelectEvent() { | ||
419 | + //选择业务搜索 | ||
420 | + form.on('select(templist_resListBizTypes)', function(data){ | ||
421 | + busId = data.value; | ||
422 | + renderResByTemp(resType); | ||
423 | + }); | ||
424 | + // 资源状态 | ||
425 | + form.on('select(templist_resStatus)', function(data){ | ||
426 | + renderResByTemp(resType); | ||
427 | + }); | ||
428 | + // 厂商 | ||
429 | + form.on('select(templist_provider)', function(data){ | ||
430 | + renderResByTemp(resType); | ||
431 | + }); | ||
432 | + } | ||
433 | + | ||
434 | + //删除资源权限 | ||
435 | + $('#delAuthResBtn').on('click', function () { | ||
436 | + deleteResTemp(alarmTempId) | ||
437 | + }) | ||
438 | + }, | ||
439 | + yes: function(index, layero){ | ||
440 | + layer.close(index); //如果设定了yes回调,需进行手工关闭 | ||
441 | + } | ||
442 | + }); | ||
361 | }); | 443 | }); |
362 | 444 | ||
363 | //设置同步 | 445 | //设置同步 |
@@ -374,6 +456,119 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' | @@ -374,6 +456,119 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' | ||
374 | } | 456 | } |
375 | }); | 457 | }); |
376 | 458 | ||
459 | + //渲染用户所有资源权限列表表格 | ||
460 | + function renderResByTemp(resType) { | ||
461 | + temResTable = table.render({ | ||
462 | + elem: '#res_temp_table', | ||
463 | + url: common.domainName + '/api-web/home/res-list/' + (resType ? resType : 'all'), | ||
464 | + where: { | ||
465 | + access_token: accessToken, | ||
466 | + resName: $('#res-keyword').val(), | ||
467 | + busId: $("#templist_resListBizTypes").val(), | ||
468 | + resHealth: $("#templist_resStatus").val(), | ||
469 | + provider:$("#templist_provider").val(), | ||
470 | + collectorId: '', | ||
471 | + trapCollectorId: '', | ||
472 | + alarmTempId: alarmTempId, | ||
473 | + cutoverId: '', | ||
474 | + targetType: '', | ||
475 | + protocolFlag:'', | ||
476 | + protocol:'', | ||
477 | + editMode: 'true', | ||
478 | + resCategory: 'resources' | ||
479 | + }, | ||
480 | + height: 615, | ||
481 | + cellMinWidth: 80, | ||
482 | + page: { | ||
483 | + layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'] | ||
484 | + , theme: '#1E9FFF' | ||
485 | + }, | ||
486 | + even: true, | ||
487 | + cols: [[ | ||
488 | + {type:'checkbox'} | ||
489 | + ,{type: 'numbers', title: '序号', align: 'center'} | ||
490 | + , { | ||
491 | + field: 'resName', title: '资源名称', align: 'center',sort:true, | ||
492 | + 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>' | ||
493 | + } | ||
494 | + , {field: 'ip', title: 'IP地址', align: 'center',sort:true,width:200} | ||
495 | + , {field: 'port', title: '端口号', align: 'center',sort:true,width:200} | ||
496 | + , {field: 'adminName', title: '负责人', align: 'center',sort:true,width:180} | ||
497 | + , {field: 'resTypeName', title: '资源类型', align: 'center',sort:true,width:230} | ||
498 | + , {field: 'state', title: '资源状态', align: 'center',sort:true,width:180, templet: function (d) { | ||
499 | + switch (d.state) { | ||
500 | + case "new" : | ||
501 | + return '<button type="button" class="layui-btn layui-btn-warm layui-bg-gray layui-btn-radius layui-btn-xs p-0-15">未监控</button>' | ||
502 | + case "monitor" : | ||
503 | + 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>' | ||
504 | + case "stop" : | ||
505 | + return '<button type="button" class="layui-btn layui-btn-warm layui-bg-red layui-btn-radius layui-btn-xs p-0-15">暂停</button>' | ||
506 | + default : | ||
507 | + return '<button type="button" class="layui-btn layui-btn-warm layui-bg-gray layui-btn-radius layui-btn-xs p-0-15">未监控</button>' | ||
508 | + } | ||
509 | + }} | ||
510 | + , { | ||
511 | + title: '操作', fixed: 'right', align: 'center', fixed: 'right',width:100, | ||
512 | + templet: '<div><span data-id="{{d.resId}}" class="layui-table-link tem_res_delete_btn">删除</span></div>' | ||
513 | + } | ||
514 | + ]], | ||
515 | + done: function (res, curr, count) { | ||
516 | + //删除 | ||
517 | + $('.tem_res_delete_btn').on('click', function () { | ||
518 | + var id = $(this).data('id') | ||
519 | + deleteResTemp(alarmTempId,id) | ||
520 | + }) | ||
521 | + }, | ||
522 | + }) | ||
523 | + } | ||
524 | + | ||
525 | + //为用户添加资源权限 | ||
526 | + function openResByTemp(alarmTempId,index) { | ||
527 | + getOldResIdList(alarmTempId); | ||
528 | + } | ||
529 | + | ||
530 | + //删除对应的资源权限 | ||
531 | + function deleteResTemp(alarmTempId,id) { | ||
532 | + if (typeof (id) != "string") { | ||
533 | + var ids = []; | ||
534 | + var data = table.checkStatus('res_temp_table').data; | ||
535 | + if (data && data.length > 0) { | ||
536 | + $.each(data, function (i, obj) { | ||
537 | + ids.push(obj.resId); | ||
538 | + }); | ||
539 | + } | ||
540 | + if (ids.length == 0) { | ||
541 | + layer.msg('请选择要删除的数据', {icon: 7, time: 2000}); | ||
542 | + return; | ||
543 | + } | ||
544 | + id = ids.toString(); | ||
545 | + } | ||
546 | + //确认提示框 | ||
547 | + layer.confirm('您确定要删除绑定的该资源吗?', { | ||
548 | + btn: ['确定', '取消'] //按钮 | ||
549 | + }, function () { | ||
550 | + $.ajax({ | ||
551 | + url: common.domainName + '/api-web/alarmtemplate/deleteByResIdsAndTempIds?access_token=' + accessToken | ||
552 | + , data: { | ||
553 | + resIds: id, | ||
554 | + tempIds: alarmTempId.toString() | ||
555 | + } | ||
556 | + }).done(function (res) { | ||
557 | + layer.msg('删除成功', { | ||
558 | + offset: '15px' | ||
559 | + , icon: 1 | ||
560 | + , time: 2000 | ||
561 | + }, function () { | ||
562 | + layer.closeAll(); | ||
563 | + reloadalarmtemplateTable() | ||
564 | + }); | ||
565 | + }).error(function (error) { | ||
566 | + console.log(error); | ||
567 | + }); | ||
568 | + }); | ||
569 | + } | ||
570 | + | ||
571 | + | ||
377 | //刷新表格 | 572 | //刷新表格 |
378 | function reloadalarmtemplateTable() { | 573 | function reloadalarmtemplateTable() { |
379 | alarmtemplateTable.reload({ | 574 | alarmtemplateTable.reload({ |
@@ -381,7 +576,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' | @@ -381,7 +576,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'reslist', 'sessions' | ||
381 | access_token: accessToken, | 576 | access_token: accessToken, |
382 | policyId: policyId, | 577 | policyId: policyId, |
383 | resIdList: resIdList, | 578 | resIdList: resIdList, |
384 | - alarmTempName: $("#alarmtemplatekw").val() | 579 | + keyWord: $("#alarmtemplatekw").val() |
385 | } | 580 | } |
386 | }); | 581 | }); |
387 | } | 582 | } |
@@ -27,7 +27,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | @@ -27,7 +27,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | ||
27 | , url: domainName + '/api-web/alarmtemplate/list' | 27 | , url: domainName + '/api-web/alarmtemplate/list' |
28 | , where:{ | 28 | , where:{ |
29 | access_token:accessToken, | 29 | access_token:accessToken, |
30 | - alarmTempName:$("#alarmtemplatekw").val(), | 30 | + keyWord:$("#alarmtemplatekw").val(), |
31 | policyId:policyId | 31 | policyId:policyId |
32 | } | 32 | } |
33 | , height: 'full-310' | 33 | , height: 'full-310' |
@@ -145,7 +145,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | @@ -145,7 +145,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions'], function | ||
145 | alarmtemplatelistTable.reload({ | 145 | alarmtemplatelistTable.reload({ |
146 | where:{ | 146 | where:{ |
147 | access_token:accessToken, | 147 | access_token:accessToken, |
148 | - alarmTempName:$("#alarmtemplatelistkw").val(), | 148 | + keyWord:$("#alarmtemplatelistkw").val(), |
149 | } | 149 | } |
150 | }); | 150 | }); |
151 | } | 151 | } |
@@ -880,7 +880,6 @@ layui.define(['table', 'form', 'admin', 'layer', 'laytpl', 'common', 'view', 'se | @@ -880,7 +880,6 @@ layui.define(['table', 'form', 'admin', 'layer', 'laytpl', 'common', 'view', 'se | ||
880 | } | 880 | } |
881 | //获取选中的数据 | 881 | //获取选中的数据 |
882 | function getCheckData() { | 882 | function getCheckData() { |
883 | - debugger | ||
884 | if(mode){ | 883 | if(mode){ |
885 | let arr = []; | 884 | let arr = []; |
886 | $.each($('[data-type="checkbox"] input'),function (i,v) { | 885 | $.each($('[data-type="checkbox"] input'),function (i,v) { |
@@ -67,10 +67,10 @@ layui.define(['table', 'form', 'laydate', 'common','sessions','laydate','admin', | @@ -67,10 +67,10 @@ layui.define(['table', 'form', 'laydate', 'common','sessions','laydate','admin', | ||
67 | , height: 'full-80' | 67 | , height: 'full-80' |
68 | , data: dataArr | 68 | , data: dataArr |
69 | , cols: [[ | 69 | , cols: [[ |
70 | - {field: 'dirctiveName', title: '指令名称', align: 'center', width: 230 | 70 | + {field: 'dirctiveName', title: '指令名称', align: 'center', minWidth: 230 |
71 | ,templet:'<div><span data-id="{{d.dirctiveId}}" >{{d.dirctiveName}}</span></div>'} | 71 | ,templet:'<div><span data-id="{{d.dirctiveId}}" >{{d.dirctiveName}}</span></div>'} |
72 | , {field: 'outputNum', title: '输出指标数量', align: 'center', width: 150} | 72 | , {field: 'outputNum', title: '输出指标数量', align: 'center', width: 150} |
73 | - , {field: 'frequencyType', title: '周期时间类型', align: 'center', minWidth: 80,templet: function (d) { | 73 | + , {field: 'frequencyType', title: '周期时间类型', align: 'center', width:180,minWidth: 180,templet: function (d) { |
74 | var html = '<select name="frequencyType" lay-filter="frequency-type">' + | 74 | var html = '<select name="frequencyType" lay-filter="frequency-type">' + |
75 | '<option value="often" >常用周期</option>'+ | 75 | '<option value="often" >常用周期</option>'+ |
76 | '<option value="cron">CronTab表达式</option>'+ | 76 | '<option value="cron">CronTab表达式</option>'+ |
@@ -83,7 +83,7 @@ layui.define(['table', 'form', 'laydate', 'common','sessions','laydate','admin', | @@ -83,7 +83,7 @@ layui.define(['table', 'form', 'laydate', 'common','sessions','laydate','admin', | ||
83 | }) | 83 | }) |
84 | return $dom.prop("outerHTML"); | 84 | return $dom.prop("outerHTML"); |
85 | }} | 85 | }} |
86 | - , {field: 'collFrequency', title: '周期', align: 'center', width: 220,templet:function (d) { | 86 | + , {field: 'collFrequency', title: '周期', align: 'center', width: 180,templet:function (d) { |
87 | var selectStr = getTableSelectDom().select; | 87 | var selectStr = getTableSelectDom().select; |
88 | var inputStr = getTableSelectDom().input; | 88 | var inputStr = getTableSelectDom().input; |
89 | if(d.frequencyType == 'often'){ | 89 | if(d.frequencyType == 'often'){ |
@@ -100,7 +100,7 @@ layui.define(['table', 'form', 'laydate', 'common','sessions','laydate','admin', | @@ -100,7 +100,7 @@ layui.define(['table', 'form', 'laydate', 'common','sessions','laydate','admin', | ||
100 | return $dom.prop("outerHTML"); | 100 | return $dom.prop("outerHTML"); |
101 | } | 101 | } |
102 | }} | 102 | }} |
103 | - , {title: '操作', align: 'center', minWidth: 100,templet: '<div><span checkTemplate-data-delete="{{d.dirctiveId}}" class="layui-table-link">删除</span>'} | 103 | + , {title: '操作', align: 'center', width:100,minWidth: 100,templet: '<div><span checkTemplate-data-delete="{{d.dirctiveId}}" class="layui-table-link">删除</span>'} |
104 | ]], | 104 | ]], |
105 | done: function (res, curr, count) { | 105 | done: function (res, curr, count) { |
106 | form.render(); | 106 | form.render(); |
@@ -501,6 +501,261 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele | @@ -501,6 +501,261 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele | ||
501 | }); | 501 | }); |
502 | }); | 502 | }); |
503 | }, | 503 | }, |
504 | + /**lsq 2022-07-05 | ||
505 | + *渲染环形图及链接数 | ||
506 | + * @param targetId 环形图区域ID | ||
507 | + * @param resId 资源ID | ||
508 | + * @param kpiId 指标ID,多个指标逗号隔开 | ||
509 | + * @param kpiname 指标名称 | ||
510 | + * @param titleName 环形图中心名称 | ||
511 | + * @param linkTargetId 链接状态区域ID | ||
512 | + * @param linkKpiId 链接状态区域的指标ID,多个指标逗号隔开 | ||
513 | + * */ | ||
514 | + renderPieChartLink:function(targetId,resId,kpiId,kpiname,titleName,linkTargetId,linkKpiId,flag,isBasic,hasTotal){ | ||
515 | + let title='CPU'; | ||
516 | + let colorsArr=['#37bca6','#b4d43a','#e85228','#5a5487'] | ||
517 | + if(titleName){ | ||
518 | + title=titleName | ||
519 | + } | ||
520 | + let allKpi=kpiId; | ||
521 | + let linkKpiIdArr=[]; | ||
522 | + var cpuPieChart = null; | ||
523 | + if(linkKpiId){ | ||
524 | + allKpi+=','+linkKpiId; | ||
525 | + linkKpiIdArr=linkKpiId.split(','); | ||
526 | + } | ||
527 | + var url = "/api-web/detail/block?resId=" + resId + "&kpiId=" + allKpi + "&hasTotal=" + hasTotal; | ||
528 | + if (flag) { | ||
529 | + url += '&flag=' + flag; | ||
530 | + } | ||
531 | + if (isBasic) { | ||
532 | + url += '&isBasic=' + isBasic; | ||
533 | + } | ||
534 | + admin.req({ | ||
535 | + url: common.domainName + url | ||
536 | + }).done(function (res) { | ||
537 | + let linkStr=''; | ||
538 | + setTimeout(function () { | ||
539 | + $('#' + targetId).find('.pie-circleStr').remove(); | ||
540 | + $('#' + targetId).find('.pie-legend').remove(); | ||
541 | + if (res.data && res.data.length > 0) { | ||
542 | + var data = res.data; | ||
543 | + let linkData = []; | ||
544 | + let pieData = []; | ||
545 | + let colors = []; | ||
546 | + data.map((item, i) => { | ||
547 | + if (linkKpiIdArr.indexOf(item.id) != -1) { | ||
548 | + //链接数据 | ||
549 | + linkData.push(item); | ||
550 | + } else { | ||
551 | + //百分比数据 | ||
552 | + pieData.push(item) | ||
553 | + colors.push(common.colorsArr[i]); | ||
554 | + } | ||
555 | + }) | ||
556 | + if (pieData.length > 0) { | ||
557 | + let seriesData = []; | ||
558 | + pieData.map(item => { | ||
559 | + let valArr = item.value.split('%'); | ||
560 | + let obj = item; | ||
561 | + obj.value = valArr[0]; | ||
562 | + seriesData.push(obj) | ||
563 | + }) | ||
564 | + | ||
565 | + // setTimeout(function () { | ||
566 | + $('#' + targetId).find('.pie-circleStr').remove(); | ||
567 | + $('#' + targetId).find('.pie-legend').remove(); | ||
568 | + //生成环形图 | ||
569 | + var option = { | ||
570 | + tooltip: { | ||
571 | + trigger: 'item', | ||
572 | + formatter: function (param) { | ||
573 | + var tips = param.marker + " " + param.name + ":" + param.value + param.data.unit + "</br>"; | ||
574 | + return tips; | ||
575 | + }, | ||
576 | + axisPointer: { | ||
577 | + type: 'shadow' | ||
578 | + } | ||
579 | + }, | ||
580 | + legend: { | ||
581 | + orient: 'vertical', | ||
582 | + x: '45%', | ||
583 | + y: 'center', | ||
584 | + formatter: ' ', | ||
585 | + itemHeight: '4', | ||
586 | + textStyle: { | ||
587 | + fontsize: "12px" | ||
588 | + } | ||
589 | + }, | ||
590 | + color: colorsArr, | ||
591 | + series: [ | ||
592 | + { | ||
593 | + type: 'pie', | ||
594 | + radius: ['60%', '95%'], | ||
595 | + center: ['20%', '50%'], | ||
596 | + data: seriesData, | ||
597 | + avoidLabelOverlap: false, | ||
598 | + stillShowZeroSum: true, | ||
599 | + label: { | ||
600 | + show: false, | ||
601 | + position: 'center' | ||
602 | + }, | ||
603 | + itemStyle: { | ||
604 | + borderColor: "#ffffff", | ||
605 | + borderWidth: '3' | ||
606 | + }, | ||
607 | + hoverAnimation: false, | ||
608 | + emphasis: { | ||
609 | + scale: true, | ||
610 | + scaleSize: 10, | ||
611 | + }, | ||
612 | + labelLine: { | ||
613 | + show: false | ||
614 | + }, | ||
615 | + } | ||
616 | + ] | ||
617 | + }; | ||
618 | + if (cpuPieChart === null) { | ||
619 | + cpuPieChart = echarts.init(document.getElementById(targetId)); | ||
620 | + } else { | ||
621 | + cpuPieChart.clear(); | ||
622 | + $('#' + targetId).html(''); | ||
623 | + } | ||
624 | + cpuPieChart.setOption(option); | ||
625 | + //中间圆圈 | ||
626 | + let circleStr = `<div class="pie-circleStr"><div class="pie-circleStr-title">` + title + `</div></div>`; | ||
627 | + $('#' + targetId).append(circleStr); | ||
628 | + //右侧详细内容 | ||
629 | + let legendStr = ` <div class="pie-legend">`; | ||
630 | + pieData.map((item, i) => { | ||
631 | + let fixedVal=Number(item.value).toFixed(2); | ||
632 | + let paramName = item.name.replace('CPU', '') | ||
633 | + legendStr += `<div class="pie-legend-item"> | ||
634 | + <span class="pie-legend-icon" style="background-color: ` + colorsArr[i] + `"></span> | ||
635 | + <span class="pie-legend-label">` + paramName + `:</span> | ||
636 | + <span class="pie-legend-num" data-kpiid="` + item.id + `" | ||
637 | + data-name="` + item.name + `" data-warning="1" data-ident="1" | ||
638 | + data-trend="0" data-flag="` + item.flag + `"> | ||
639 | + <span class="pie-num-val">` + fixedVal + item.unit + `</span> | ||
640 | + <a class="detail_row_menu hide" data-id="`+item.id+`" data-kpiid="` + item.id + `" | ||
641 | + data-name="` + item.name + `" data-kpiname="` + item.name + `" data-warning="1" data-ident="1" | ||
642 | + data-trend="0" data-flag="` + item.flag + `" data-unit="` + item.unit + `" | ||
643 | + data-hidem="true" data-canca="true" data-incaing="true" data-restype="` + item.resType + `"> | ||
644 | + <img style="width: 17px;height: 17px;" src="/src/style/img/icon_row_menu.png"> | ||
645 | + </a></span> | ||
646 | + </div>` | ||
647 | + }) | ||
648 | + legendStr += '</div>'; | ||
649 | + $('#' + targetId).append(legendStr); | ||
650 | + $('.pie-legend-num .pie-num-val').unbind('click').click(function () { | ||
651 | + let kpiId = $(this).parent().data('kpiid'); | ||
652 | + let flag = $(this).parent().data('flag'); | ||
653 | + let warning = $(this).parent().data('warning'); | ||
654 | + let ident = $(this).parent().data('ident'); | ||
655 | + let trend = $(this).parent().data('trend'); | ||
656 | + let name = $(this).parent().data('name'); | ||
657 | + var params = { | ||
658 | + resId: resId, | ||
659 | + kpiId: kpiId, | ||
660 | + flag: flag, | ||
661 | + warning: warning, | ||
662 | + ident: ident, | ||
663 | + trend: trend, | ||
664 | + name: name | ||
665 | + }; | ||
666 | + common.openLineChart(name, params); | ||
667 | + }) | ||
668 | + //点击扇形区域,打开性能曲线图 | ||
669 | + cpuPieChart.on('click', function (params) { | ||
670 | + let data = params.data; | ||
671 | + let kpiId = data.id; | ||
672 | + let flag = data.flag; | ||
673 | + let warning = data.isWarning; | ||
674 | + let ident = 1; | ||
675 | + let trend = 0; | ||
676 | + let name = data.name; | ||
677 | + var params = { | ||
678 | + resId: resId, | ||
679 | + kpiId: kpiId, | ||
680 | + flag: flag, | ||
681 | + warning: warning, | ||
682 | + ident: ident, | ||
683 | + trend: trend, | ||
684 | + name: name | ||
685 | + }; | ||
686 | + common.openLineChart(name, params); | ||
687 | + }); | ||
688 | + //监听告警压制等操作配置 | ||
689 | + $('#' + targetId).find('.pie-legend-num').hover(function () { | ||
690 | + var $that = $(this); | ||
691 | + var $btn = $that.find(".detail_row_menu"); | ||
692 | + if ($btn.length > 0) { | ||
693 | + $(".layui-card-body").find(".detail_row_menu:not(.hide)").addClass("hide") | ||
694 | + $btn.removeClass("hide"); | ||
695 | + } | ||
696 | + }); | ||
697 | + filterSuppressMonitor(resId); | ||
698 | + | ||
699 | + // }, 300) | ||
700 | + } | ||
701 | + if (linkData.length > 0) { | ||
702 | + linkData.map(item => { | ||
703 | + linkStr += `<div class="lay-row-item lay-row-item-num"> | ||
704 | + <div class="lay-row-title-label">` + item.name + `</div> | ||
705 | + <div class="lay-row-num" data-kpiid="` + item.id + `" | ||
706 | + data-name="` + item.name + `" data-warning="1" data-ident="1" | ||
707 | + data-trend="0" data-flag="` + item.flag + `" | ||
708 | + ><span class="lay-row-num-val">` + Math.round(item.value) + `</span> | ||
709 | + <a class="detail_row_menu hide" data-id="`+item.id+`" data-kpiid="` + item.id + `" | ||
710 | + data-name="` + item.name + `" data-kpiname="` + item.name + `" data-warning="1" data-ident="1" | ||
711 | + data-trend="0" data-flag="` + item.flag + `" data-unit="` + item.unit + `" | ||
712 | + data-hidem="true" data-canca="true" data-incaing="true" data-restype="` + item.resType + `" > | ||
713 | + <img style="width: 17px;height: 17px;" src="/src/style/img/icon_row_menu.png"> | ||
714 | + </a></div> | ||
715 | + </div>` | ||
716 | + }) | ||
717 | + } | ||
718 | + } else { | ||
719 | + linkStr = ''; | ||
720 | + } | ||
721 | + $("#"+linkTargetId).html(linkStr); | ||
722 | + | ||
723 | + //监听编辑状态下的复选框事件 | ||
724 | + getCheckedBoxData(); | ||
725 | + //监听告警压制等操作配置 | ||
726 | + $('#' + linkTargetId).find('.lay-row-item-num .lay-row-num').hover(function () { | ||
727 | + var $that = $(this); | ||
728 | + var $btn = $that.find(".detail_row_menu"); | ||
729 | + if ($btn.length > 0) { | ||
730 | + $(".layui-card-body").find(".detail_row_menu:not(.hide)").addClass("hide") | ||
731 | + $btn.removeClass("hide"); | ||
732 | + } | ||
733 | + }); | ||
734 | + //监听过滤压制等事件 | ||
735 | + filterSuppressMonitor(resId); | ||
736 | + //链接数值下探 ,打开性能曲线 | ||
737 | + $(".lay-row-item-num .lay-row-num .lay-row-num-val").unbind('click').click(function () { | ||
738 | + let kpiId=$(this).parent().data('kpiid'); | ||
739 | + let flag=$(this).parent().data('flag'); | ||
740 | + let warning=$(this).parent().data('warning'); | ||
741 | + let ident=$(this).parent().data('ident'); | ||
742 | + let trend=$(this).parent().data('trend'); | ||
743 | + let name=$(this).parent().data('name'); | ||
744 | + var params = { | ||
745 | + resId: resId, | ||
746 | + kpiId: kpiId, | ||
747 | + flag: flag, | ||
748 | + warning: warning, | ||
749 | + ident: ident, | ||
750 | + trend: trend, | ||
751 | + name: name | ||
752 | + }; | ||
753 | + common.openLineChart(name, params); | ||
754 | + }) | ||
755 | + | ||
756 | + }) | ||
757 | + }) | ||
758 | + }, | ||
504 | /** | 759 | /** |
505 | * 渲染饼状图 | 760 | * 渲染饼状图 |
506 | * @param targetId 饼状图区域ID | 761 | * @param targetId 饼状图区域ID |
@@ -34,6 +34,9 @@ layui.define(['commonDetail','common', 'admin'], function (exports) { | @@ -34,6 +34,9 @@ layui.define(['commonDetail','common', 'admin'], function (exports) { | ||
34 | var diskkpi = "KPI9D22EAB6,KPI5CA7AA50,KPI98183B26,KPI66BD013F,KPI3E6ED38B,KPI97373ED0,KPI95378FE0"; | 34 | var diskkpi = "KPI9D22EAB6,KPI5CA7AA50,KPI98183B26,KPI66BD013F,KPI3E6ED38B,KPI97373ED0,KPI95378FE0"; |
35 | // ogg信息 | 35 | // ogg信息 |
36 | var oggkpi = "KPI95C50C7C,KPIEC53A8C4,KPI03937134,KPI1A122D84,KPI16282DF0"; | 36 | var oggkpi = "KPI95C50C7C,KPIEC53A8C4,KPI03937134,KPI1A122D84,KPI16282DF0"; |
37 | + //lsq cpu百分比 2022-07-04 | ||
38 | + var cpupiekpi = "KPI1E378242,KPI41B4C1B4,KPI6AC0FB43,KPI6F620E2B"; | ||
39 | + var linkKpi = "KPI7C714058,KPID152C818,KPIA2EA1646,KPI780EFE90"; | ||
37 | if (os === 'windows'){ | 40 | if (os === 'windows'){ |
38 | $($("#x86server_filesysMore").parents(".lay-row-item")).hide(); | 41 | $($("#x86server_filesysMore").parents(".lay-row-item")).hide(); |
39 | $($("#x86server_inodeMore").parents(".lay-row-item")).hide(); | 42 | $($("#x86server_inodeMore").parents(".lay-row-item")).hide(); |
@@ -79,6 +82,8 @@ layui.define(['commonDetail','common', 'admin'], function (exports) { | @@ -79,6 +82,8 @@ layui.define(['commonDetail','common', 'admin'], function (exports) { | ||
79 | commonDetail.renderLineCharat("x86server_cpu_linechart", resId, "KPI7054BC34", "CPU使用率", "cpu"); | 82 | commonDetail.renderLineCharat("x86server_cpu_linechart", resId, "KPI7054BC34", "CPU使用率", "cpu"); |
80 | //内存使用率走势(12小时) | 83 | //内存使用率走势(12小时) |
81 | commonDetail.renderLineCharat("x86server_memery_linechart", resId, "KPI31CB8D97", "内存使用率", "mem"); | 84 | commonDetail.renderLineCharat("x86server_memery_linechart", resId, "KPI31CB8D97", "内存使用率", "mem"); |
85 | + //lsq cpu百分比 2022-07-04 | ||
86 | + commonDetail.renderPieChartLink("x86server_cpupie",resId,cpupiekpi,"CPU百分比",'CPU','x86server_linkdata',linkKpi); | ||
82 | 87 | ||
83 | if (os === 'windows') { | 88 | if (os === 'windows') { |
84 | //磁盘使用情况 | 89 | //磁盘使用情况 |
@@ -34,6 +34,9 @@ layui.define(['commonDetail','common', 'admin'], function (exports) { | @@ -34,6 +34,9 @@ layui.define(['commonDetail','common', 'admin'], function (exports) { | ||
34 | // ogg信息 | 34 | // ogg信息 |
35 | var oggkpi = "KPI95C50C7C,KPIEC53A8C4,KPI03937134,KPI1A122D84,KPI16282DF0"; | 35 | var oggkpi = "KPI95C50C7C,KPIEC53A8C4,KPI03937134,KPI1A122D84,KPI16282DF0"; |
36 | 36 | ||
37 | + //lsq cpu百分比 2022-07-04 | ||
38 | + var cpupiekpi = "KPI1E378242,KPI41B4C1B4,KPI6AC0FB43,KPI6F620E2B"; | ||
39 | + var linkKpi = "KPI7C714058,KPID152C818,KPIA2EA1646,KPI780EFE90"; | ||
37 | x86virtual(); | 40 | x86virtual(); |
38 | function x86virtual(){ | 41 | function x86virtual(){ |
39 | //资源状态 | 42 | //资源状态 |
@@ -52,6 +55,8 @@ layui.define(['commonDetail','common', 'admin'], function (exports) { | @@ -52,6 +55,8 @@ layui.define(['commonDetail','common', 'admin'], function (exports) { | ||
52 | commonDetail.renderLineCharat("x86virtual_cpu_linechart",resId,"KPI7054BC34","CPU使用率","cpu"); | 55 | commonDetail.renderLineCharat("x86virtual_cpu_linechart",resId,"KPI7054BC34","CPU使用率","cpu"); |
53 | //内存使用率走势(12小时) | 56 | //内存使用率走势(12小时) |
54 | commonDetail.renderLineCharat("x86virtual_memery_linechart",resId,"KPI31CB8D97","内存使用率","mem"); | 57 | commonDetail.renderLineCharat("x86virtual_memery_linechart",resId,"KPI31CB8D97","内存使用率","mem"); |
58 | + //lsq cpu百分比 2022-07-04 | ||
59 | + commonDetail.renderPieChartLink("x86virtual_cpupie",resId,cpupiekpi,"CPU百分比",'CPU','x86virtual_linkdata',linkKpi); | ||
55 | 60 | ||
56 | //磁盘IO读速率 | 61 | //磁盘IO读速率 |
57 | commonDetail.renderLineCharat("x86virtual_disk_ioread_linechart",resId,"KPI97373ED0","磁盘IO读速率","disk", null, 'KPI9D22EAB6'); | 62 | commonDetail.renderLineCharat("x86virtual_disk_ioread_linechart",resId,"KPI97373ED0","磁盘IO读速率","disk", null, 'KPI9D22EAB6'); |
@@ -34,9 +34,25 @@ layui.define(['common', 'admin', 'echarts', 'common', 'table', 'sessions'], func | @@ -34,9 +34,25 @@ layui.define(['common', 'admin', 'echarts', 'common', 'table', 'sessions'], func | ||
34 | }); | 34 | }); |
35 | //导出 | 35 | //导出 |
36 | $('#exportNoticeCountBtn').on("click", function () { | 36 | $('#exportNoticeCountBtn').on("click", function () { |
37 | - var url=common.domainName + '/api-web/bAlarm/noticeExport?access_token=' + accessToken + '&type=' + tablePeriod; | 37 | + var url = common.domainName + '/api-web/bAlarm/noticeExport?access_token=' + accessToken + '&type=' + tablePeriod; |
38 | window.open(url); | 38 | window.open(url); |
39 | }); | 39 | }); |
40 | + | ||
41 | + var alarmSendTips ; | ||
42 | + $(".detail_base_info").hover(function() { | ||
43 | + openMsg(); | ||
44 | + }, function() { | ||
45 | + layer.close(alarmSendTips); | ||
46 | + }); | ||
47 | + function openMsg() { | ||
48 | + alarmSendTips = layer.tips("<span style='color:#585858;'>" + | ||
49 | + "人员告警发送统计规则:<br>" + | ||
50 | + " • 一条告警可能存在多个通知人<br>" + | ||
51 | + " • 按照通知人统计告警发送数量<br>" + | ||
52 | + "</span>", | ||
53 | + '.detail_base_info',{tips:[2,'#F0F0F0'], time:0,area: ['auto', 'auto']}); | ||
54 | + } | ||
55 | + | ||
40 | //初始化柱状图页面 | 56 | //初始化柱状图页面 |
41 | function initNoticeCount() { | 57 | function initNoticeCount() { |
42 | $.ajax({ | 58 | $.ajax({ |
@@ -48,7 +64,32 @@ layui.define(['common', 'admin', 'echarts', 'common', 'table', 'sessions'], func | @@ -48,7 +64,32 @@ layui.define(['common', 'admin', 'echarts', 'common', 'table', 'sessions'], func | ||
48 | histogramECharts(res.map.business, 'count_notice_send_business', '业务子系统告警发送统计'); | 64 | histogramECharts(res.map.business, 'count_notice_send_business', '业务子系统告警发送统计'); |
49 | //初始化人员告警发送告警统计 | 65 | //初始化人员告警发送告警统计 |
50 | histogramECharts(res.map.user, 'count_notice_send_user', '人员告警发送统计'); | 66 | histogramECharts(res.map.user, 'count_notice_send_user', '人员告警发送统计'); |
67 | + | ||
68 | + $("#businessMore").unbind('click').on('click', function () { | ||
69 | + queryData('业务子系统告警发送统计', res.map.business) | ||
70 | + }) | ||
71 | + $("#userMore").unbind('click').on('click', function () { | ||
72 | + queryData('人员告警发送统计', res.map.user) | ||
73 | + }) | ||
74 | + } | ||
51 | } | 75 | } |
76 | + }) | ||
77 | + } | ||
78 | + | ||
79 | + //lsq 弹框打开更多 2022-06-21 | ||
80 | + function queryData(title, data) { | ||
81 | + let html = ` | ||
82 | + <div class="pie-chart pie-chart-custom" id="more_notice" style="height: 60vh;overflow:hidden"></div> | ||
83 | + ` | ||
84 | + layer.open({ | ||
85 | + type: 1 | ||
86 | + , title: title //不显示标题栏 | ||
87 | + , area: ["91%", "800px"] | ||
88 | + , id: 'moreData' //设定一个id,防止重复弹出 | ||
89 | + , btn: ['取消'] | ||
90 | + , content: html | ||
91 | + , success: function (layero, index) { | ||
92 | + histogramECharts(data, 'more_notice', title) | ||
52 | } | 93 | } |
53 | }) | 94 | }) |
54 | } | 95 | } |
@@ -65,7 +106,7 @@ layui.define(['common', 'admin', 'echarts', 'common', 'table', 'sessions'], func | @@ -65,7 +106,7 @@ layui.define(['common', 'admin', 'echarts', 'common', 'table', 'sessions'], func | ||
65 | , page: { | 106 | , page: { |
66 | layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'] | 107 | layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'] |
67 | , theme: '#1E9FFF'//自定义分页主题颜色 | 108 | , theme: '#1E9FFF'//自定义分页主题颜色 |
68 | - ,limits:[5,10,15,20] | 109 | + , limits: [5, 10, 15, 20] |
69 | } | 110 | } |
70 | , limit: '5' | 111 | , limit: '5' |
71 | , even: true | 112 | , even: true |
@@ -97,7 +138,7 @@ layui.define(['common', 'admin', 'echarts', 'common', 'table', 'sessions'], func | @@ -97,7 +138,7 @@ layui.define(['common', 'admin', 'echarts', 'common', 'table', 'sessions'], func | ||
97 | , page: { | 138 | , page: { |
98 | layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'] | 139 | layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'] |
99 | , theme: '#1E9FFF'//自定义分页主题颜色 | 140 | , theme: '#1E9FFF'//自定义分页主题颜色 |
100 | - ,limits:[5,10,15,20] | 141 | + , limits: [5, 10, 15, 20] |
101 | } | 142 | } |
102 | , limit: '5' | 143 | , limit: '5' |
103 | , even: true | 144 | , even: true |
@@ -149,7 +190,8 @@ layui.define(['common', 'admin', 'echarts', 'common', 'table', 'sessions'], func | @@ -149,7 +190,8 @@ layui.define(['common', 'admin', 'echarts', 'common', 'table', 'sessions'], func | ||
149 | var row = data.row; | 190 | var row = data.row; |
150 | //列 | 191 | //列 |
151 | var line = data.line; | 192 | var line = data.line; |
152 | - var myChart = echarts.init(document.getElementById(id)); | 193 | + let el = document.getElementById(id); |
194 | + var myChart = echarts.init(el); | ||
153 | var option; | 195 | var option; |
154 | option = { | 196 | option = { |
155 | tooltip: { | 197 | tooltip: { |
@@ -169,7 +211,7 @@ layui.define(['common', 'admin', 'echarts', 'common', 'table', 'sessions'], func | @@ -169,7 +211,7 @@ layui.define(['common', 'admin', 'echarts', 'common', 'table', 'sessions'], func | ||
169 | grid: { | 211 | grid: { |
170 | left: '3%', | 212 | left: '3%', |
171 | right: '4%', | 213 | right: '4%', |
172 | - bottom: '12%',//lsq 2022-03-10 | 214 | + bottom: '12%', |
173 | top: '20', | 215 | top: '20', |
174 | containLabel: true | 216 | containLabel: true |
175 | }, | 217 | }, |
@@ -184,7 +226,7 @@ layui.define(['common', 'admin', 'echarts', 'common', 'table', 'sessions'], func | @@ -184,7 +226,7 @@ layui.define(['common', 'admin', 'echarts', 'common', 'table', 'sessions'], func | ||
184 | color: '#000000', | 226 | color: '#000000', |
185 | show: true, | 227 | show: true, |
186 | interval: 0, | 228 | interval: 0, |
187 | - rotate: 10,//lsq 2022-03-10 x轴标签不需要角度,注释 | 229 | + rotate: 10, |
188 | fontSize: '10', | 230 | fontSize: '10', |
189 | }, | 231 | }, |
190 | } | 232 | } |
@@ -197,7 +239,7 @@ layui.define(['common', 'admin', 'echarts', 'common', 'table', 'sessions'], func | @@ -197,7 +239,7 @@ layui.define(['common', 'admin', 'echarts', 'common', 'table', 'sessions'], func | ||
197 | series: [ | 239 | series: [ |
198 | { | 240 | { |
199 | type: 'bar', | 241 | type: 'bar', |
200 | - barWidth: '20',//lsq 2022-03-10 柱子宽度更改 | 242 | + barWidth: '20', |
201 | data: line, | 243 | data: line, |
202 | itemStyle: { | 244 | itemStyle: { |
203 | normal: { | 245 | normal: { |
@@ -219,17 +261,17 @@ layui.define(['common', 'admin', 'echarts', 'common', 'table', 'sessions'], func | @@ -219,17 +261,17 @@ layui.define(['common', 'admin', 'echarts', 'common', 'table', 'sessions'], func | ||
219 | } | 261 | } |
220 | } | 262 | } |
221 | ], | 263 | ], |
222 | - //start x轴拖动 lsq 2022-03-10 | 264 | + //x轴拖动 |
223 | dataZoom: [ | 265 | dataZoom: [ |
224 | { | 266 | { |
267 | + show: id == 'more_notice' ? true : false, | ||
225 | type: "slider", | 268 | type: "slider", |
226 | realtime: true, //拖动滚动条时是否动态的更新图表数据 | 269 | realtime: true, //拖动滚动条时是否动态的更新图表数据 |
227 | height: 25, //滚动条高度 | 270 | height: 25, //滚动条高度 |
228 | - start: 5, //滚动条开始位置(共100等份) | ||
229 | - end: 55 //结束位置(共100等份) | 271 | + start: 0, //滚动条开始位置(共100等份) |
272 | + end: 12 //结束位置(共100等份)//lsq x轴缩放距离调整 2022-05-25 | ||
230 | } | 273 | } |
231 | ], | 274 | ], |
232 | - //end lsq 2022-03-10 | ||
233 | }; | 275 | }; |
234 | myChart.setOption(option) | 276 | myChart.setOption(option) |
235 | } | 277 | } |
1 | //通知查询 | 1 | //通知查询 |
2 | -layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect', 'echarts'], function (exports) { | 2 | +layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect', 'echarts','laydate'], 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,6 +9,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' | @@ -9,6 +9,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' | ||
9 | var domainName = common.domainName; | 9 | var domainName = common.domainName; |
10 | var xmSelect = layui.xmSelect; | 10 | var xmSelect = layui.xmSelect; |
11 | var echarts = layui.echarts; | 11 | var echarts = layui.echarts; |
12 | + var laydate = layui.laydate; | ||
12 | 13 | ||
13 | //对外暴露的接口 | 14 | //对外暴露的接口 |
14 | exports('noticeIndex', function (data) { | 15 | exports('noticeIndex', function (data) { |
@@ -23,7 +24,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' | @@ -23,7 +24,8 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' | ||
23 | var noticeUserChart = echarts.init(document.getElementById('notice_chart_user')); | 24 | var noticeUserChart = echarts.init(document.getElementById('notice_chart_user')); |
24 | var noticeTypeChart = echarts.init(document.getElementById('notice_chart_type')); | 25 | var noticeTypeChart = echarts.init(document.getElementById('notice_chart_type')); |
25 | // var noticeUserChartNew = echarts.init(document.getElementById('notice_chart_user_new')); | 26 | // var noticeUserChartNew = echarts.init(document.getElementById('notice_chart_user_new')); |
26 | - | 27 | + // lsq 告警指标 2022-07-05 |
28 | + var alarmKpi= ''; | ||
27 | //回车搜索 | 29 | //回车搜索 |
28 | $('#notice_search_keyword').keydown(function (e) { | 30 | $('#notice_search_keyword').keydown(function (e) { |
29 | if (e.keyCode === 13) { | 31 | if (e.keyCode === 13) { |
@@ -43,6 +45,44 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' | @@ -43,6 +45,44 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' | ||
43 | $('#queryMore').on('click',function(){ | 45 | $('#queryMore').on('click',function(){ |
44 | queryData(); | 46 | queryData(); |
45 | }); | 47 | }); |
48 | + | ||
49 | + $('button[data-period]').on('click',function(){ | ||
50 | + var that = $(this); | ||
51 | + that.addClass('active'); | ||
52 | + that.removeClass('layui-btn-primary'); | ||
53 | + var currentVal = that.attr('data-period'); | ||
54 | + $.each($('button[data-period]'), function(index , el){ | ||
55 | + var itemEl = $(el); | ||
56 | + var val = itemEl.attr('data-period'); | ||
57 | + if(currentVal != val){ | ||
58 | + itemEl.addClass('layui-btn-primary'); | ||
59 | + itemEl.removeClass('active'); | ||
60 | + } | ||
61 | + }); | ||
62 | + | ||
63 | + // yyyy-MM-dd HH:mm:ss - yyyy-MM-dd HH:mm:ss | ||
64 | + if(currentVal == 'custom'){ | ||
65 | + laydate.render({ | ||
66 | + elem: '#dataPeriodCustom', //指定元素 | ||
67 | + range: true, | ||
68 | + type: 'datetime', | ||
69 | + isInitValue: false, | ||
70 | + isPreview: false, | ||
71 | + value : new Date(), | ||
72 | + format:'yyyy-MM-dd HH:mm:ss', | ||
73 | + show: true, //直接显示 | ||
74 | + done: function(value, date, endDate){ | ||
75 | + that.attr('data-val',value); | ||
76 | + reloadData(); | ||
77 | + } | ||
78 | + }); | ||
79 | + return; | ||
80 | + } | ||
81 | + reloadData(); | ||
82 | + }); | ||
83 | + | ||
84 | + | ||
85 | + | ||
46 | form.render(); | 86 | form.render(); |
47 | 87 | ||
48 | getChartData(); | 88 | getChartData(); |
@@ -56,7 +96,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' | @@ -56,7 +96,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' | ||
56 | busId: busId, | 96 | busId: busId, |
57 | resType: resType, | 97 | resType: resType, |
58 | usernames:userNames, | 98 | usernames:userNames, |
59 | - isSend: $('#notice_search_isSend').val() | 99 | + isSend: $('#notice_search_isSend').val(), |
100 | + alarmKpi: $("#noticeAlarmKpiSearchBox").val(), | ||
101 | + way:$('#noticeWaySearchBox').val(), | ||
102 | + dataPeriod: $('button[data-period].active').attr('data-period'), | ||
103 | + timeRange: $('button[data-period].active').attr('data-val') | ||
60 | } | 104 | } |
61 | , height: 'full-380' | 105 | , height: 'full-380' |
62 | , page: { | 106 | , page: { |
@@ -284,10 +328,43 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' | @@ -284,10 +328,43 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' | ||
284 | 328 | ||
285 | } | 329 | } |
286 | }); | 330 | }); |
331 | + // lsq 告警指标下拉列表 2022-07-05 | ||
332 | + $.ajax({ | ||
333 | + url: common.domainName + '/api-web/manage/kpi/findKpiInAlarm?access_token='+accessToken+'&tableName=b_alarm', | ||
334 | + type: "get", | ||
335 | + success:function (res) { | ||
336 | + var kpis = res.data; | ||
337 | + var html = '<option value="">=指标名称=</option>' | ||
338 | + $.each(kpis,function (i,e) { | ||
339 | + html+='<option value="'+e.kpiId+'">'+e.kpiName+'</option>' | ||
340 | + }) | ||
341 | + $("#noticeAlarmKpiSearchBox").html(''); | ||
342 | + $("#noticeAlarmKpiSearchBox").append(html); | ||
343 | + form.render(); | ||
344 | + } | ||
345 | + }) | ||
346 | + //lsq 通知方式下拉列表 2022-07-07 | ||
347 | + $.ajax({ | ||
348 | + url: domainName + '/api-web/manage/ddic/findSucDdics/notice_type?access_token='+accessToken, | ||
349 | + type: "POST", | ||
350 | + success:function (res) { | ||
351 | + var ways = res.data; | ||
352 | + var html = '<option value="">=通知方式=</option>' | ||
353 | + $.each(ways,function (i,e) { | ||
354 | + html+='<option value="'+e.ddicCode+'">'+e.ddicName+'</option>' | ||
355 | + }) | ||
356 | + $("#noticeWaySearchBox").html(''); | ||
357 | + $("#noticeWaySearchBox").append(html); | ||
358 | + form.render(); | ||
359 | + } | ||
360 | + }) | ||
287 | 361 | ||
288 | //刷新表格 | 362 | //刷新表格 |
289 | function reloadTable() { | 363 | function reloadTable() { |
290 | noticeTable.reload({ | 364 | noticeTable.reload({ |
365 | + page: { | ||
366 | + curr: 1 | ||
367 | + }, | ||
291 | where:{ | 368 | where:{ |
292 | access_token:accessToken, | 369 | access_token:accessToken, |
293 | keyword: $('#notice_search_keyword').val(), | 370 | keyword: $('#notice_search_keyword').val(), |
@@ -295,7 +372,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' | @@ -295,7 +372,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' | ||
295 | resType: resType, | 372 | resType: resType, |
296 | isSend: $('#notice_search_isSend').val(), | 373 | isSend: $('#notice_search_isSend').val(), |
297 | usernames:userNames, | 374 | usernames:userNames, |
298 | - page: 1 | 375 | + page: 1, |
376 | + alarmKpi: $("#noticeAlarmKpiSearchBox").val(), | ||
377 | + way:$('#noticeWaySearchBox').val(), | ||
378 | + dataPeriod: $('button[data-period].active').attr('data-period'), | ||
379 | + timeRange: $('button[data-period].active').attr('data-val') | ||
299 | } | 380 | } |
300 | }); | 381 | }); |
301 | } | 382 | } |
@@ -504,7 +585,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' | @@ -504,7 +585,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' | ||
504 | left: '1%', | 585 | left: '1%', |
505 | bottom: -5, | 586 | bottom: -5, |
506 | start: 0, | 587 | start: 0, |
507 | - end: 50 //初始化滚动条 | 588 | + end: 20 //初始化滚动条 |
508 | } | 589 | } |
509 | ], | 590 | ], |
510 | } | 591 | } |
@@ -529,7 +610,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' | @@ -529,7 +610,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' | ||
529 | keyword: $('#notice_search_keyword').val(), | 610 | keyword: $('#notice_search_keyword').val(), |
530 | busId: busId, | 611 | busId: busId, |
531 | resType: resType, | 612 | resType: resType, |
532 | - isSend: $('#notice_search_isSend').val() | 613 | + isSend: $('#notice_search_isSend').val(), |
614 | + alarmKpi: $("#noticeAlarmKpiSearchBox").val(), | ||
615 | + way:$('#noticeWaySearchBox').val(), | ||
616 | + dataPeriod: $('button[data-period].active').attr('data-period'), | ||
617 | + timeRange: $('button[data-period].active').attr('data-val') | ||
533 | }; | 618 | }; |
534 | 619 | ||
535 | $.ajax({ | 620 | $.ajax({ |
@@ -558,7 +643,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' | @@ -558,7 +643,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' | ||
558 | var yData = res.map.countList; | 643 | var yData = res.map.countList; |
559 | var xData = res.map.userList; | 644 | var xData = res.map.userList; |
560 | //展示前20条数据 @Editor LH | 645 | //展示前20条数据 @Editor LH |
561 | - loadNoticeChart(noticeUserChart,xData.slice(0, 20), yData.slice(0, 20)); | 646 | + loadNoticeChart(noticeUserChart,xData.slice(0, 15), yData.slice(0, 15)); |
562 | } | 647 | } |
563 | } | 648 | } |
564 | }) | 649 | }) |
@@ -583,7 +668,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' | @@ -583,7 +668,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','sessions', 'xmSelect' | ||
583 | keyword: $('#notice_search_keyword').val(), | 668 | keyword: $('#notice_search_keyword').val(), |
584 | busId: busId, | 669 | busId: busId, |
585 | resType: resType, | 670 | resType: resType, |
586 | - isSend: $('#notice_search_isSend').val() | 671 | + isSend: $('#notice_search_isSend').val(), |
672 | + alarmKpi: $("#noticeAlarmKpiSearchBox").val(), | ||
673 | + way:$('#noticeWaySearchBox').val(), | ||
674 | + dataPeriod: $('button[data-period].active').attr('data-period'), | ||
675 | + timeRange: $('button[data-period].active').attr('data-val') | ||
587 | }; | 676 | }; |
588 | var noticeTypeChartNew = echarts.init(document.getElementById('notice_chart_type_new')); | 677 | var noticeTypeChartNew = echarts.init(document.getElementById('notice_chart_type_new')); |
589 | $.ajax({ | 678 | $.ajax({ |
@@ -253,33 +253,36 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | @@ -253,33 +253,36 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | ||
253 | // 发送状态 1已发送,2未发送 | 253 | // 发送状态 1已发送,2未发送 |
254 | noticeTimely.sendState = 2;//statusChange(document.querySelector("#switch_noticeTimely_sendState").checked ? 0 : 1); | 254 | noticeTimely.sendState = 2;//statusChange(document.querySelector("#switch_noticeTimely_sendState").checked ? 0 : 1); |
255 | noticeTimely.noticeNames = userNames; | 255 | noticeTimely.noticeNames = userNames; |
256 | - var noticeStateList = []; | ||
257 | - //获取消息状态列表 | ||
258 | - $.each($('#editNoticeTimely_add_table').find('tbody tr'), function (i, v) { | ||
259 | - var noticeState = {}; | ||
260 | - noticeState.noticeName = $(this).find('input[name="noticeName"]').val(); | ||
261 | - noticeState.sendTime = $(this).find('input[name="sendTime"]').val(); | ||
262 | - noticeState.sendContent = $(this).find('input[name="sendContent"]').val(); | ||
263 | - noticeState.noticeState = $(this).find('select[name="noticeState"]').val(); | ||
264 | - noticeStateList.push(noticeState); | ||
265 | - }); | ||
266 | - noticeTimely.noticeStateList = noticeStateList; | 256 | + // var noticeStateList = []; |
257 | + // //获取消息状态列表 | ||
258 | + // $.each($('#editNoticeTimely_add_table').find('tbody tr'), function (i, v) { | ||
259 | + // var noticeState = {}; | ||
260 | + // noticeState.noticeName = $(this).find('input[name="noticeName"]').val(); | ||
261 | + // noticeState.sendTime = $(this).find('input[name="sendTime"]').val(); | ||
262 | + // noticeState.sendContent = $(this).find('input[name="sendContent"]').val(); | ||
263 | + // noticeState.noticeState = $(this).find('select[name="noticeState"]').val(); | ||
264 | + // noticeStateList.push(noticeState); | ||
265 | + // }); | ||
266 | + // noticeTimely.noticeStateList = noticeStateList; | ||
267 | if (!noticeTimely.noticeNames) { | 267 | if (!noticeTimely.noticeNames) { |
268 | layer.msg('请选择用户', {icon: 7, time: 3000}); | 268 | layer.msg('请选择用户', {icon: 7, time: 3000}); |
269 | return false; | 269 | return false; |
270 | } | 270 | } |
271 | - if (!noticeTimely.templates) { | ||
272 | - layer.msg('请配置自定义展示中的展示内容', {icon: 7, time: 3000}); | ||
273 | - return false; | ||
274 | - } | 271 | + |
275 | noticeTimely.site = $('#notice_timely_select').val() + $('#notice_timely_site').val(); | 272 | noticeTimely.site = $('#notice_timely_select').val() + $('#notice_timely_site').val(); |
276 | //获取配置参数 | 273 | //获取配置参数 |
277 | var map = getParam(); | 274 | var map = getParam(); |
278 | if(!map){ | 275 | if(!map){ |
279 | - return ; | 276 | + return false; |
280 | } | 277 | } |
278 | + if(map.msgSetting && map.msgSetting != '' && map.msgSetting != null){ | ||
281 | noticeTimely.msgSetting = JSON.stringify(map.msgSetting); | 279 | noticeTimely.msgSetting = JSON.stringify(map.msgSetting); |
280 | + } | ||
282 | noticeTimely.templates = map.templates; | 281 | noticeTimely.templates = map.templates; |
282 | + if (!noticeTimely.templates || noticeTimely.templates == '' || noticeTimely.templates == null) { | ||
283 | + layer.msg('请配置自定义展示中的展示内容', {icon: 7, time: 3000}); | ||
284 | + return false; | ||
285 | + } | ||
283 | layer.load(2); | 286 | layer.load(2); |
284 | admin.req({ | 287 | admin.req({ |
285 | url: domainName + '/api-web/noticeTimely/save?access_token=' + accessToken, | 288 | url: domainName + '/api-web/noticeTimely/save?access_token=' + accessToken, |
@@ -457,27 +460,28 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | @@ -457,27 +460,28 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | ||
457 | 460 | ||
458 | //获取模板和等级 | 461 | //获取模板和等级 |
459 | var obj = { | 462 | var obj = { |
460 | - msgSetting: null, | ||
461 | - templates: null | 463 | + msgSetting: '', |
464 | + templates: $('#notice_timely_param_sql').find('textarea[name="templates"]').eq(0).val() | ||
462 | }; | 465 | }; |
463 | 466 | ||
464 | var errMsg = ''; | 467 | var errMsg = ''; |
465 | 468 | ||
466 | if (!$('#notice_timely_param_sql').hasClass('hide')) { | 469 | if (!$('#notice_timely_param_sql').hasClass('hide')) { |
467 | // 获取模板信息 | 470 | // 获取模板信息 |
468 | - var val = $('#notice_timely_param_sql').find('textarea[name="templates"]').eq(0).val(); | 471 | + var val = obj.templates; |
469 | if(!val || val == '' || val == null){ | 472 | if(!val || val == '' || val == null){ |
470 | var map = getRowName(); | 473 | var map = getRowName(); |
471 | - var pa = ''; | 474 | + var exp = []; |
475 | + var templatesVal = ''; | ||
472 | map.rowNameList.forEach(item => { | 476 | map.rowNameList.forEach(item => { |
473 | - pa += '#{' + item + '},'; | 477 | + exp.push('#{' + item + '}') |
474 | }) | 478 | }) |
475 | - if (pa != '') { | ||
476 | - pa = pa.substring(0, pa.length - 1); | 479 | + |
480 | + if (exp.length > 0) { | ||
481 | + templatesVal = exp.join(","); | ||
477 | } | 482 | } |
478 | - val = pa; | 483 | + val = templatesVal; |
479 | } | 484 | } |
480 | - | ||
481 | obj.templates = val; | 485 | obj.templates = val; |
482 | 486 | ||
483 | var arr = []; | 487 | var arr = []; |
@@ -186,45 +186,47 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | @@ -186,45 +186,47 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'treeTabl | ||
186 | cols: [[{ | 186 | cols: [[{ |
187 | type: 'checkbox' | 187 | type: 'checkbox' |
188 | }, { | 188 | }, { |
189 | - field: 'name', title: '名称', align: 'center', width: '250', | 189 | + field: 'name', title: '名称', align: 'center', minWidth: '100', |
190 | templet: | 190 | templet: |
191 | '<div>' + | 191 | '<div>' + |
192 | ' <span data-id="{{d.id}}" class="link link-noticeTimely-edit">{{d.name}}</span>' + | 192 | ' <span data-id="{{d.id}}" class="link link-noticeTimely-edit">{{d.name}}</span>' + |
193 | '</div>' | 193 | '</div>' |
194 | }, { | 194 | }, { |
195 | - field: 'details', title: '内容', align: 'left', minWidth: '650', | 195 | + field: 'details', title: '内容', align: 'left', width: '15%', |
196 | templet: function (d) { | 196 | templet: function (d) { |
197 | // return '<input type="text" class="layui-input" style= "background-color:transparent;border:0;padding-bottom: 10px" readonly="readonly" name="details" value="' + d.details + '">' | 197 | // return '<input type="text" class="layui-input" style= "background-color:transparent;border:0;padding-bottom: 10px" readonly="readonly" name="details" value="' + d.details + '">' |
198 | return '<code>' + d.details + '</code>' | 198 | return '<code>' + d.details + '</code>' |
199 | } | 199 | } |
200 | }, { | 200 | }, { |
201 | - field: 'frequency', title: '频率', align: 'center', width: '130' | 201 | + field: 'frequency', title: '频率', align: 'center', minWidth: '120' |
202 | }, { | 202 | }, { |
203 | field: 'noticeNicknames', title: '用户', align: 'center', minWidth: '180' | 203 | field: 'noticeNicknames', title: '用户', align: 'center', minWidth: '180' |
204 | }, { | 204 | }, { |
205 | - field: 'state', title: '是否启用', align: 'center', width: '100', | 205 | + field: 'lastSendTime', title: '最后发送时间', align: 'center', minWidth: '170',templet: function (d) { |
206 | + if(d.noticeStateNew && d.noticeStateNew.sendTime){ | ||
207 | + return d.noticeStateNew.sendTime; | ||
208 | + } | ||
209 | + return ''; | ||
210 | + } | ||
211 | + },{ | ||
212 | + field: 'lastSendContent', title: '最后发送内容', align: 'center', minWidth: '200',templet: function (d) { | ||
213 | + if(d.noticeStateNew && d.noticeStateNew.sendContent){ | ||
214 | + return d.noticeStateNew.sendContent; | ||
215 | + } | ||
216 | + return ''; | ||
217 | + } | ||
218 | + },{ | ||
219 | + field: 'state', title: '是否启用', align: 'center', minWidth: '60', | ||
206 | templet: function (d) { | 220 | templet: function (d) { |
207 | var checked = d.state == 2 ? 'checked' : ''; | 221 | var checked = d.state == 2 ? 'checked' : ''; |
208 | return '<div><input type="checkbox" data-id="' + d.id + '" lay-filter="switch_noticeTimely_checkbox_state" name="state" lay-skin="switch" lay-text="启用|禁用" ' + checked + ' ></div>' | 222 | return '<div><input type="checkbox" data-id="' + d.id + '" lay-filter="switch_noticeTimely_checkbox_state" name="state" lay-skin="switch" lay-text="启用|禁用" ' + checked + ' ></div>' |
209 | } | 223 | } |
210 | - }, /*{ | ||
211 | - field: 'broadcast', title: '是否广播', align: 'center', width: '100', | ||
212 | - templet: function (d) { | ||
213 | - var checked = d.broadcast == 1 ? 'checked' : ''; | ||
214 | - return '<div><input type="checkbox" data-id="' + d.id + '" lay-filter="switch_noticeTimely_checkbox_broadcast" name="broadcast" lay-skin="switch" lay-text="是|否" ' + checked + ' ></div>' | ||
215 | - } | ||
216 | }, { | 224 | }, { |
217 | - field: 'retry', title: '是否轮循', align: 'center', width: '100', | ||
218 | - templet: function (d) { | ||
219 | - var checked = d.retry == 1 ? 'checked' : ''; | ||
220 | - return '<div><input type="checkbox" data-id="' + d.id + '" lay-filter="switch_noticeTimely_checkbox_retry" name="retry" lay-skin="switch" lay-text="重发|不重发" ' + checked + ' ></div>' | ||
221 | - } | ||
222 | - }, */{ | ||
223 | - title: '操作', align: 'center', minWidth: '150', fixed: 'right', | 225 | + title: '操作', align: 'center', minWidth: '80', fixed: 'right', |
224 | templet: | 226 | templet: |
225 | '<div>' + | 227 | '<div>' + |
226 | ' <button data-id="{{d.id}}" class="layui-btn layui-btn-xs layui-btn-normal link-noticeTimely-delete" lay-tips="删除"><i class="layui-icon"></i></button>' + | 228 | ' <button data-id="{{d.id}}" class="layui-btn layui-btn-xs layui-btn-normal link-noticeTimely-delete" lay-tips="删除"><i class="layui-icon"></i></button>' + |
227 | - ' <button data-id="{{d.id}}" class="layui-btn layui-btn-xs layui-btn-normal link-noticeTimely-history" lay-tips="历史记录"><i class="layui-icon"></i></button>' + | 229 | + ' <button data-id="{{d.id}}" class="layui-btn layui-btn-xs layui-btn-normal link-noticeTimely-history" lay-tips="历史记录"><i class="layui-icon"></i></button>' + |
228 | '</div>' | 230 | '</div>' |
229 | }]], | 231 | }]], |
230 | done: function (res) { | 232 | done: function (res) { |
1 | +layui.define(['table', 'laydate', 'admin', 'view', 'common', 'sessions'], function (exports) { | ||
2 | + var $ = layui.$; | ||
3 | + var view = layui.view; | ||
4 | + var table = layui.table; | ||
5 | + var common = layui.common; | ||
6 | + var laydate = layui.laydate; | ||
7 | + var admin = layui.admin; | ||
8 | + | ||
9 | + //对外暴露的接口 | ||
10 | + exports('onlineUser', function () { | ||
11 | + var sessions = layui.sessions; | ||
12 | + var accessToken = sessions.getToken().access_token; | ||
13 | + var loginLog = ""; | ||
14 | + var cols = [{field: 'loginTime', title: '登录时间', align: 'center'} | ||
15 | + , {field: 'loginIp', title: 'IP地址', align: 'center'} | ||
16 | + , {field: 'nickname', title: '登录用户', align: 'center'} | ||
17 | + , {field: 'orgName', title: '所属部门', align: 'center'}]; | ||
18 | + | ||
19 | + loginLogTable(); | ||
20 | + | ||
21 | + function loginLogTable() { | ||
22 | + loginLog = table.render({ | ||
23 | + elem: '#onlineUserTable' | ||
24 | + , height: 'full-auto' | ||
25 | + , cellMinWidth: 0 | ||
26 | + , page: 1 | ||
27 | + , limit: 10 | ||
28 | + , url: common.domainName + '/api-log/sysLogin/findLogUser?access_token=' + accessToken | ||
29 | + , cols: [cols] | ||
30 | + , done: function (res, curr, count) { | ||
31 | + } | ||
32 | + }); | ||
33 | + } | ||
34 | + | ||
35 | + //刷新表格 | ||
36 | + function reloadTable() { | ||
37 | + loginLog.reload({ | ||
38 | + page: { | ||
39 | + curr: 1 | ||
40 | + } | ||
41 | + , where: { | ||
42 | + access_token: accessToken, | ||
43 | + username: $("#loginAccount").val(), | ||
44 | + startTime: $("#loginLogStartdate").val(), | ||
45 | + endTime: $("#loginLogEnddate").val(), | ||
46 | + mark: $("#loginLonMark").val(), | ||
47 | + orgIds: settingOrgSelect.getValue("valueStr") | ||
48 | + } | ||
49 | + }); | ||
50 | + } | ||
51 | + }); | ||
52 | +}); |
@@ -19,8 +19,9 @@ layui.define(['admin', 'form', 'table', 'element', 'sessions', 'common', 'echart | @@ -19,8 +19,9 @@ layui.define(['admin', 'form', 'table', 'element', 'sessions', 'common', 'echart | ||
19 | var currSelect = 0; | 19 | var currSelect = 0; |
20 | var list = []; | 20 | var list = []; |
21 | var dataList = []; | 21 | var dataList = []; |
22 | - var date = new Date().getFullYear(); | ||
23 | - | 22 | + var date = '2021'; |
23 | + //lsq 调用获取今年和去年年份 2022-07-04 | ||
24 | + getYearDate(); | ||
24 | getChartData(); | 25 | getChartData(); |
25 | // loadAlarmOverChart1(alarmTrendChart,null,'24小时趋势表'); | 26 | // loadAlarmOverChart1(alarmTrendChart,null,'24小时趋势表'); |
26 | loadResourceTable('resType','overviewResTypeTable'); | 27 | loadResourceTable('resType','overviewResTypeTable'); |
@@ -41,12 +42,7 @@ layui.define(['admin', 'form', 'table', 'element', 'sessions', 'common', 'echart | @@ -41,12 +42,7 @@ layui.define(['admin', 'form', 'table', 'element', 'sessions', 'common', 'echart | ||
41 | $("#overview_time button").on("click",function () { | 42 | $("#overview_time button").on("click",function () { |
42 | $("#overview_time button").removeClass("active"); | 43 | $("#overview_time button").removeClass("active"); |
43 | $(this).addClass("active"); | 44 | $(this).addClass("active"); |
44 | - // date = $(this).data("years"); | ||
45 | - if($(this).data("years")=='lastYear'){ | ||
46 | - date = new Date().getFullYear()-1; | ||
47 | - }else if($(this).data("years")=='year'){ | ||
48 | - date=new Date().getFullYear(); | ||
49 | - } | 45 | + date = $(this).data("years"); |
50 | if (currSelect === 0) { | 46 | if (currSelect === 0) { |
51 | loadResourceTable('resType','overviewResTypeTable'); | 47 | loadResourceTable('resType','overviewResTypeTable'); |
52 | } else if (currSelect === 1) { | 48 | } else if (currSelect === 1) { |
@@ -440,5 +436,22 @@ layui.define(['admin', 'form', 'table', 'element', 'sessions', 'common', 'echart | @@ -440,5 +436,22 @@ layui.define(['admin', 'form', 'table', 'element', 'sessions', 'common', 'echart | ||
440 | alink.click(); | 436 | alink.click(); |
441 | document.body.removeChild(alink); | 437 | document.body.removeChild(alink); |
442 | } | 438 | } |
439 | + | ||
440 | + //lsq 获取今年和去年的年份赋值给按钮 2022-07-04 | ||
441 | + function getYearDate(){ | ||
442 | + let myDate=new Date(); | ||
443 | + let thisYear=getDateTime(myDate); | ||
444 | + myDate.setFullYear(myDate.getFullYear()-1); | ||
445 | + let lastYear=getDateTime(myDate); | ||
446 | + $('#thisYear').attr('data-years',thisYear); | ||
447 | + $('#lastYear').attr('data-years',lastYear); | ||
448 | + date=thisYear; | ||
449 | + } | ||
450 | + //获取时间点 转年月日的方法 | ||
451 | + function getDateTime(newDate){ | ||
452 | + let year=newDate.getFullYear();//获取年 | ||
453 | + return year; | ||
454 | + } | ||
455 | + | ||
443 | }); | 456 | }); |
444 | }); | 457 | }); |
@@ -27,10 +27,10 @@ layui.define(['table', 'form', 'sessions', 'common', 'view', 'admin'], function | @@ -27,10 +27,10 @@ layui.define(['table', 'form', 'sessions', 'common', 'view', 'admin'], function | ||
27 | } | 27 | } |
28 | }); | 28 | }); |
29 | 29 | ||
30 | - // //按钮搜索 | ||
31 | - // $('#heartbeatQueryBtn').unbind().on('click',function (e) { | ||
32 | - // reloadTable(); | ||
33 | - // }) | 30 | + //按钮搜索 |
31 | + $('#heartbeatQueryBtn').unbind().on('click',function (e) { | ||
32 | + reloadTable(); | ||
33 | + }) | ||
34 | 34 | ||
35 | 35 | ||
36 | // 渲染表格 | 36 | // 渲染表格 |
@@ -63,10 +63,12 @@ layui.define(['table', 'form', 'sessions', 'common', 'view', 'admin'], function | @@ -63,10 +63,12 @@ layui.define(['table', 'form', 'sessions', 'common', 'view', 'admin'], function | ||
63 | }, { | 63 | }, { |
64 | field: 'currTime', title: '最近心跳时间', align: 'center',sort: true, | 64 | field: 'currTime', title: '最近心跳时间', align: 'center',sort: true, |
65 | templet: function (d) { | 65 | templet: function (d) { |
66 | + var durationVal = $('[name="durationVal"]').val(); | ||
67 | + if(!durationVal || durationVal == '' || durationVal == null){ | ||
68 | + durationVal = 10; | ||
69 | + } | ||
66 | var beatTime = new Date(d.currTime); | 70 | var beatTime = new Date(d.currTime); |
67 | - var time = new Date(); | ||
68 | - time.setMinutes(time.getMinutes() - 10); | ||
69 | - if (time > beatTime) { | 71 | + if (d.between > parseInt(durationVal)) { |
70 | return `<div class="red">${beatTime.format("yyyy-MM-dd HH:mm:ss")}</div>` | 72 | return `<div class="red">${beatTime.format("yyyy-MM-dd HH:mm:ss")}</div>` |
71 | } else { | 73 | } else { |
72 | return `<div>${beatTime.format("yyyy-MM-dd HH:mm:ss")}</div>` | 74 | return `<div>${beatTime.format("yyyy-MM-dd HH:mm:ss")}</div>` |
@@ -85,7 +87,7 @@ layui.define(['table', 'form', 'sessions', 'common', 'view', 'admin'], function | @@ -85,7 +87,7 @@ layui.define(['table', 'form', 'sessions', 'common', 'view', 'admin'], function | ||
85 | heartbeatTable.reload({ | 87 | heartbeatTable.reload({ |
86 | where: { | 88 | where: { |
87 | access_token: accessToken, | 89 | access_token: accessToken, |
88 | - keyword: $('#condition-heartbeat-name').val(), | 90 | + keyword: $('#condition-heartbeat-name').val() |
89 | }, | 91 | }, |
90 | page: { | 92 | page: { |
91 | curr: 1 | 93 | curr: 1 |
@@ -38,18 +38,21 @@ layui.define(['table', 'laydate', 'admin', 'view', 'common', 'sessions'], functi | @@ -38,18 +38,21 @@ layui.define(['table', 'laydate', 'admin', 'view', 'common', 'sessions'], functi | ||
38 | , {field: 'loginIp', title: 'IP地址', align: 'center'} | 38 | , {field: 'loginIp', title: 'IP地址', align: 'center'} |
39 | , {field: 'nickname', title: '登录用户', align: 'center'} | 39 | , {field: 'nickname', title: '登录用户', align: 'center'} |
40 | , {field: 'orgName', title: '所属部门', align: 'center'}] | 40 | , {field: 'orgName', title: '所属部门', align: 'center'}] |
41 | - url = common.domainName +'/api-log/sysLogin/findLogPage?access_token='+accessToken | 41 | + url = common.domainName + '/api-log/sysLogin/findLogPage?access_token=' + accessToken |
42 | loginLogTable() | 42 | loginLogTable() |
43 | $("#loginUserNum").unbind("click").on('click', function () { | 43 | $("#loginUserNum").unbind("click").on('click', function () { |
44 | - $("#loginLonMark").val("mark") | ||
45 | - $("#loginAccount").val(""), | ||
46 | - $("#loginLogStartdate").val(""), | ||
47 | - $("#loginLogEnddate").val(""), | ||
48 | - reloadTable(); | 44 | + // $("#loginLonMark").val("mark") |
45 | + // $("#loginAccount").val(""), | ||
46 | + // $("#loginLogStartdate").val(""), | ||
47 | + // $("#loginLogEnddate").val(""), | ||
48 | + // reloadTable(); | ||
49 | + common.openWin('setting/onlineUser', '在线用户', {}, [], function f() { | ||
50 | + | ||
51 | + }, null, ['60%', '45%']); | ||
49 | }) | 52 | }) |
50 | } else { | 53 | } else { |
51 | $("#generalUserHeader").show(); | 54 | $("#generalUserHeader").show(); |
52 | - url = common.domainName +'/api-log/sysLogin/findList?access_token='+accessToken | 55 | + url = common.domainName + '/api-log/sysLogin/findList?access_token=' + accessToken |
53 | paga = false; | 56 | paga = false; |
54 | cols = [{field: 'loginTime', title: '登录时间', align: 'center'} | 57 | cols = [{field: 'loginTime', title: '登录时间', align: 'center'} |
55 | , {field: 'loginIp', title: 'IP地址', align: 'center'} | 58 | , {field: 'loginIp', title: 'IP地址', align: 'center'} |
@@ -121,14 +124,14 @@ layui.define(['table', 'laydate', 'admin', 'view', 'common', 'sessions'], functi | @@ -121,14 +124,14 @@ layui.define(['table', 'laydate', 'admin', 'view', 'common', 'sessions'], functi | ||
121 | } | 124 | } |
122 | } | 125 | } |
123 | }, | 126 | }, |
124 | - on: function(data){ | 127 | + on: function (data) { |
125 | setTimeout(reloadTable, 0) | 128 | setTimeout(reloadTable, 0) |
126 | }, | 129 | }, |
127 | data: res.data | 130 | data: res.data |
128 | }) | 131 | }) |
129 | - if(settingOrgSelect){ | 132 | + if (settingOrgSelect) { |
130 | //追加样式 | 133 | //追加样式 |
131 | - $('#settingOrgId').find('.xm-body').eq(0).css("width","230px"); | 134 | + $('#settingOrgId').find('.xm-body').eq(0).css("width", "230px"); |
132 | } | 135 | } |
133 | } | 136 | } |
134 | }) | 137 | }) |
@@ -141,7 +144,11 @@ layui.define(['table', 'laydate', 'admin', 'view', 'common', 'sessions'], functi | @@ -141,7 +144,11 @@ layui.define(['table', 'laydate', 'admin', 'view', 'common', 'sessions'], functi | ||
141 | reloadTable(); | 144 | reloadTable(); |
142 | } | 145 | } |
143 | }); | 146 | }); |
144 | - | 147 | + //lsq 登录日志页增加搜索按钮 2022-06-30 |
148 | + $('#settingQueryBtn').unbind('click').on('click', function () { | ||
149 | + $("#loginLonMark").val("") | ||
150 | + reloadTable(); | ||
151 | + }) | ||
145 | $('[data-setting-pwd]').click(function () { | 152 | $('[data-setting-pwd]').click(function () { |
146 | view('data-setting-pwd').render('template/user/password').then(function (res) { | 153 | view('data-setting-pwd').render('template/user/password').then(function (res) { |
147 | layer.open({ | 154 | layer.open({ |
@@ -154,7 +161,7 @@ layui.define(['table', 'laydate', 'admin', 'view', 'common', 'sessions'], functi | @@ -154,7 +161,7 @@ layui.define(['table', 'laydate', 'admin', 'view', 'common', 'sessions'], functi | ||
154 | }); | 161 | }); |
155 | 162 | ||
156 | function loginLogTable() { | 163 | function loginLogTable() { |
157 | - if (localStorage.getItem("lgn") === 'admin' || localStorage.getItem("lgn") === 'root' ){ | 164 | + if (localStorage.getItem("lgn") === 'admin' || localStorage.getItem("lgn") === 'root') { |
158 | loginLog = table.render({ | 165 | loginLog = table.render({ |
159 | elem: '#settingLoginRecord' | 166 | elem: '#settingLoginRecord' |
160 | , height: 'full-170' | 167 | , height: 'full-170' |
@@ -168,12 +175,12 @@ layui.define(['table', 'laydate', 'admin', 'view', 'common', 'sessions'], functi | @@ -168,12 +175,12 @@ layui.define(['table', 'laydate', 'admin', 'view', 'common', 'sessions'], functi | ||
168 | if (res && res.data && res.data.length > 0) { | 175 | if (res && res.data && res.data.length > 0) { |
169 | $('#lastLogin').text(res.data[0].loginTime); | 176 | $('#lastLogin').text(res.data[0].loginTime); |
170 | } | 177 | } |
171 | - if(res.object){ | 178 | + if (res.object) { |
172 | $('#loginUserNum').text(res.object); | 179 | $('#loginUserNum').text(res.object); |
173 | } | 180 | } |
174 | } | 181 | } |
175 | }); | 182 | }); |
176 | - }else{ | 183 | + } else { |
177 | loginLog = table.render({ | 184 | loginLog = table.render({ |
178 | elem: '#settingLoginRecord' | 185 | elem: '#settingLoginRecord' |
179 | , height: 'full-170' | 186 | , height: 'full-170' |
@@ -187,7 +194,7 @@ layui.define(['table', 'laydate', 'admin', 'view', 'common', 'sessions'], functi | @@ -187,7 +194,7 @@ layui.define(['table', 'laydate', 'admin', 'view', 'common', 'sessions'], functi | ||
187 | if (res && res.data && res.data.length > 0) { | 194 | if (res && res.data && res.data.length > 0) { |
188 | $('#lastLogin').text(res.data[0].loginTime); | 195 | $('#lastLogin').text(res.data[0].loginTime); |
189 | } | 196 | } |
190 | - if(res.object){ | 197 | + if (res.object) { |
191 | $('#loginUserNum').text(res.object); | 198 | $('#loginUserNum').text(res.object); |
192 | } | 199 | } |
193 | } | 200 | } |
@@ -42,7 +42,20 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate' | @@ -42,7 +42,20 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate' | ||
42 | 42 | ||
43 | //按钮搜索 | 43 | //按钮搜索 |
44 | $('#systemNoticeQueryBtn').unbind().on('click',function (e) { | 44 | $('#systemNoticeQueryBtn').unbind().on('click',function (e) { |
45 | - reloadTable(); | 45 | + if(!noticeTable){ |
46 | + return; | ||
47 | + } | ||
48 | + conditions.noticeTempName = $('#condition-template-noticeTempName').val().trim(); | ||
49 | + conditions.startTime = $('#condition-template-startTime').val().trim(); | ||
50 | + conditions.endTime = $('#condition-template-endTime').val().trim(); | ||
51 | + conditions.access_token = accessToken | ||
52 | + // 刷新表格 | ||
53 | + noticeTable.reload({ | ||
54 | + where: conditions, | ||
55 | + page: { | ||
56 | + curr: 1 | ||
57 | + } | ||
58 | + }); | ||
46 | }) | 59 | }) |
47 | 60 | ||
48 | // 新增按钮 | 61 | // 新增按钮 |
@@ -83,6 +96,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate' | @@ -83,6 +96,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate' | ||
83 | conditions.startTime = $('#condition-template-startTime').val().trim(); | 96 | conditions.startTime = $('#condition-template-startTime').val().trim(); |
84 | conditions.endTime = $('#condition-template-endTime').val().trim(); | 97 | conditions.endTime = $('#condition-template-endTime').val().trim(); |
85 | noticeTable = table.render({ | 98 | noticeTable = table.render({ |
99 | + id:'systemNoticeNoticeTable', | ||
86 | elem: '#notice-table', | 100 | elem: '#notice-table', |
87 | url: domainName + '/api-web/manage/noticetemp/page?access_token=' + accessToken, | 101 | url: domainName + '/api-web/manage/noticetemp/page?access_token=' + accessToken, |
88 | where: conditions, | 102 | where: conditions, |
@@ -96,7 +110,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate' | @@ -96,7 +110,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate' | ||
96 | cols: [[{ | 110 | cols: [[{ |
97 | type: 'checkbox' | 111 | type: 'checkbox' |
98 | }, { | 112 | }, { |
99 | - field: 'noticeTempName', title: '模板名称', align: 'left',minWidth:400, | 113 | + field: 'noticeTempName', title: '模板名称', align: 'left',minWidth:400, sort: true, |
100 | templet: | 114 | templet: |
101 | '<div>' + | 115 | '<div>' + |
102 | ' <span' + | 116 | ' <span' + |
@@ -129,33 +143,31 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate' | @@ -129,33 +143,31 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate' | ||
129 | // } | 143 | // } |
130 | // } | 144 | // } |
131 | , { | 145 | , { |
132 | - field: 'subPersonSum', title: '订阅人数', align: 'center', | 146 | + field: 'subPersonSum', title: '订阅用户', align: 'center', |
133 | templet: function (d) { | 147 | templet: function (d) { |
134 | if (!d.noticeTempUserList) { | 148 | if (!d.noticeTempUserList) { |
135 | return ''; | 149 | return ''; |
136 | } else { | 150 | } else { |
137 | var userList = []; | 151 | var userList = []; |
138 | - var userName = '' | ||
139 | $.each(d.noticeTempUserList,function (i,v) { | 152 | $.each(d.noticeTempUserList,function (i,v) { |
140 | userList.push(v.nickname); | 153 | userList.push(v.nickname); |
141 | }) | 154 | }) |
142 | - userName = userList.toString(); | ||
143 | // return '<span data-subid="' + d.subId + '" class="layui-table-link link-notice-temp-view-user" style="width: 100%;">' + userName + '</span>'; | 155 | // return '<span data-subid="' + d.subId + '" class="layui-table-link link-notice-temp-view-user" style="width: 100%;">' + userName + '</span>'; |
144 | - return '<span>' + userName + '</span>'; | 156 | + return userList.join(","); |
145 | } | 157 | } |
146 | } | 158 | } |
147 | - }, { | ||
148 | - field: 'lastNoticeTime', title: '最后一次通知时间', align: 'center', templet: function (d) { | 159 | + }, /*{ |
160 | + field: 'lastNoticeTime', title: '最后一次通知时间', align: 'center', sort: true, templet: function (d) { | ||
149 | if (d.alarmNoticeHis.updateTime) { | 161 | if (d.alarmNoticeHis.updateTime) { |
150 | return '<span class="layui-table-link link-notice-temp-view-notice" data-subid="' + d.subId + '" data-index="' + d.LAY_TABLE_INDEX + '">' + d.alarmNoticeHis.updateTime + '</span>' | 162 | return '<span class="layui-table-link link-notice-temp-view-notice" data-subid="' + d.subId + '" data-index="' + d.LAY_TABLE_INDEX + '">' + d.alarmNoticeHis.updateTime + '</span>' |
151 | } else { | 163 | } else { |
152 | return '' | 164 | return '' |
153 | } | 165 | } |
154 | } | 166 | } |
167 | + },*/ { | ||
168 | + field: 'frequency', title: '通知频率', align: 'center',sort:true | ||
155 | }, { | 169 | }, { |
156 | - field: 'frequency', title: '通知频率', align: 'center' | ||
157 | - }, { | ||
158 | - field: 'tempStatus', title: '状态', align: 'center', | 170 | + field: 'tempStatus', title: '状态', align: 'center',sort: true, |
159 | templet: function (d) { | 171 | templet: function (d) { |
160 | var checked = ''; | 172 | var checked = ''; |
161 | if(d.enable == '1'){ //默认 | 173 | if(d.enable == '1'){ //默认 |
@@ -178,6 +190,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate' | @@ -178,6 +190,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate' | ||
178 | templet: | 190 | templet: |
179 | '<div>' + | 191 | '<div>' + |
180 | ' <button data-id="{{d.noticeTempId}}" lay-tips="删除" type="button" class="layui-btn layui-btn-xs layui-btn-normal link-notice-temp-delete"><i class="layui-icon layui-icon-delete"></i></button>' + | 192 | ' <button data-id="{{d.noticeTempId}}" lay-tips="删除" type="button" class="layui-btn layui-btn-xs layui-btn-normal link-notice-temp-delete"><i class="layui-icon layui-icon-delete"></i></button>' + |
193 | + ' <button data-id="{{d.noticeTempId}}" data-subId="{{d.subId}}" lay-tips="发送" type="button" class="layui-btn layui-btn-xs layui-btn-normal link-notice-temp-send"><i class="layui-icon layui-icon-release"></i></button>' + | ||
181 | '</div>' | 194 | '</div>' |
182 | }]], | 195 | }]], |
183 | done: function (res) { | 196 | done: function (res) { |
@@ -214,6 +227,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate' | @@ -214,6 +227,11 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate' | ||
214 | saveNotice($(this).data('id'),$(this).data("subid"),res.data[$(this).data('index')]); | 227 | saveNotice($(this).data('id'),$(this).data("subid"),res.data[$(this).data('index')]); |
215 | }); | 228 | }); |
216 | 229 | ||
230 | + // 手动发送 | ||
231 | + $('.link-notice-temp-send').click(function () { | ||
232 | + openUserWindow($(this).data('subid'),res.data[$(this).data('index')]); | ||
233 | + }); | ||
234 | + | ||
217 | // 绑定订阅事件 | 235 | // 绑定订阅事件 |
218 | $('.link-notice-temp-bind-sub').click(function () { | 236 | $('.link-notice-temp-bind-sub').click(function () { |
219 | var noticeTempId = $(this).data('id'); | 237 | var noticeTempId = $(this).data('id'); |
@@ -391,6 +409,22 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate' | @@ -391,6 +409,22 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laydate' | ||
391 | // }); | 409 | // }); |
392 | } | 410 | } |
393 | }); | 411 | }); |
412 | + | ||
413 | + | ||
414 | + //触发排序事件 | ||
415 | + table.on('sort(notice-table)', function(obj){ | ||
416 | + var type = !obj.type ? 'desc' : obj.type; | ||
417 | + | ||
418 | + conditions.orderKey = ` ${obj.field} ${type}` | ||
419 | + //尽管我们的 table 自带排序功能,但并没有请求服务端。 | ||
420 | + //有些时候,你可能需要根据当前排序的字段,重新向服务端发送请求,从而实现服务端排序,如: | ||
421 | + table.reload('systemNoticeNoticeTable', { | ||
422 | + initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。 | ||
423 | + ,where: conditions | ||
424 | + }); | ||
425 | + | ||
426 | + //layer.msg('服务端排序。order by '+ obj.field + ' ' + obj.type); | ||
427 | + }); | ||
394 | } | 428 | } |
395 | 429 | ||
396 | //发送通知弹窗 | 430 | //发送通知弹窗 |
@@ -1056,7 +1056,6 @@ layui.define(['table', 'form', 'admin', 'layer', 'upload', 'common', 'sessions', | @@ -1056,7 +1056,6 @@ layui.define(['table', 'form', 'admin', 'layer', 'upload', 'common', 'sessions', | ||
1056 | btn: ['完成'], | 1056 | btn: ['完成'], |
1057 | content: laytpl(res.body).render(JSON.stringify({username:usernames})), | 1057 | content: laytpl(res.body).render(JSON.stringify({username:usernames})), |
1058 | yes: function (index, layero) {//保存业务授权 | 1058 | yes: function (index, layero) {//保存业务授权 |
1059 | - debugger | ||
1060 | var busType = layui.bustype({username:usernames[0], mode: 'bind'}); | 1059 | var busType = layui.bustype({username:usernames[0], mode: 'bind'}); |
1061 | var busTypeData = busType.getData(); | 1060 | var busTypeData = busType.getData(); |
1062 | var loding = layer.load(2); | 1061 | var loding = layer.load(2); |
@@ -8044,3 +8044,94 @@ form[lay-filter="activewarning-form"] .layui-inline { | @@ -8044,3 +8044,94 @@ form[lay-filter="activewarning-form"] .layui-inline { | ||
8044 | text-decoration: underline; | 8044 | text-decoration: underline; |
8045 | } | 8045 | } |
8046 | /*end lsq 2022-06-28*/ | 8046 | /*end lsq 2022-06-28*/ |
8047 | +/*lsq 指令模板编辑指令时的指令名称样式 2022-07-04*/ | ||
8048 | +.table-edit.table-edit-textoverflow td[data-field="dirctiveName"] .layui-table-cell{ | ||
8049 | + overflow: hidden; | ||
8050 | + text-overflow: ellipsis; | ||
8051 | + white-space: nowrap; | ||
8052 | + | ||
8053 | +} | ||
8054 | +/*lsq x86新增指标在详情页下的样式 2022-07-04*/ | ||
8055 | +.template .lay-row-item-num { | ||
8056 | + background-color: #f8f8f8; | ||
8057 | + display: flex; | ||
8058 | + justify-content: space-around; | ||
8059 | + align-items: center; | ||
8060 | + min-height: 64px; | ||
8061 | +} | ||
8062 | +.template .lay-row-item-num .lay-row-num{ | ||
8063 | + text-decoration: underline; | ||
8064 | + font-size: 32px; | ||
8065 | + cursor: pointer; | ||
8066 | +} | ||
8067 | +.cpupie_chart{ | ||
8068 | + width:100%; | ||
8069 | +} | ||
8070 | +.cpupie_chart div:first-child{ | ||
8071 | + z-index: 99; | ||
8072 | +} | ||
8073 | +.pie-circleStr{ | ||
8074 | + position: absolute; | ||
8075 | + top: 0; | ||
8076 | + left: 0; | ||
8077 | + right: 60%; | ||
8078 | + bottom: 0px; | ||
8079 | + display: flex; | ||
8080 | + align-items: center; | ||
8081 | + justify-content: center; | ||
8082 | + font-size: 16px; | ||
8083 | + z-index: 9; | ||
8084 | +} | ||
8085 | +.pie-circleStr-title{ | ||
8086 | + border: 1px solid #CCCCCC; | ||
8087 | + height: 55px; | ||
8088 | + width: 55px; | ||
8089 | + border-radius: 50%; | ||
8090 | + display: flex; | ||
8091 | + justify-content: center; | ||
8092 | + align-items: center; | ||
8093 | +} | ||
8094 | +.pie-legend{ | ||
8095 | + position: absolute; | ||
8096 | + top: 0; | ||
8097 | + right: 0; | ||
8098 | + left: 55%; | ||
8099 | + height: 115px; | ||
8100 | + display: flex; | ||
8101 | + flex-flow: column; | ||
8102 | + justify-content: center; | ||
8103 | + z-index: 100; | ||
8104 | +} | ||
8105 | +.pie-legend-item{ | ||
8106 | + display:flex; | ||
8107 | + align-items: center; | ||
8108 | + font-size: 12px; | ||
8109 | + line-height: 23px; | ||
8110 | +} | ||
8111 | +.pie-legend-icon{ | ||
8112 | + width:20px; | ||
8113 | + height:4px; | ||
8114 | + margin-right: 3px; | ||
8115 | + display: none; | ||
8116 | +} | ||
8117 | +.pie-legend-num{ | ||
8118 | + cursor: pointer; | ||
8119 | + color:#1e9fff; | ||
8120 | + text-decoration: underline; | ||
8121 | +} | ||
8122 | +/*lsq 通知查询搜索栏 2022-07-05*/ | ||
8123 | +.search_button_group{ | ||
8124 | + display: flex; | ||
8125 | + justify-content: space-between; | ||
8126 | + padding:6px; | ||
8127 | +} | ||
8128 | +.card_header_search_button{ | ||
8129 | + width:330px; | ||
8130 | +} | ||
8131 | +.quick_search span{ | ||
8132 | + background-color: #1e9fff; | ||
8133 | + border-radius: 8px; | ||
8134 | + padding: 5px; | ||
8135 | + color: #fff; | ||
8136 | + cursor: pointer; | ||
8137 | +} |
@@ -69,8 +69,8 @@ | @@ -69,8 +69,8 @@ | ||
69 | <li>业务系统</li> | 69 | <li>业务系统</li> |
70 | <li>业务域</li> | 70 | <li>业务域</li> |
71 | <div class="layui-btn-group time-group" id="overview_time" style="margin-left: 60%"> | 71 | <div class="layui-btn-group time-group" id="overview_time" style="margin-left: 60%"> |
72 | - <button type="button" class="layui-btn layui-btn-primary layui-btn-sm" data-years="lastYear">去年</button> | ||
73 | - <button type="button" class="layui-btn layui-btn-primary layui-btn-sm active" data-years="year">今年</button> | 72 | + <button type="button" class="layui-btn layui-btn-primary layui-btn-sm" id="lastYear" data-years="2020">去年</button> |
73 | + <button type="button" class="layui-btn layui-btn-primary layui-btn-sm active" id="thisYear" data-years="2021">今年</button> | ||
74 | </div> | 74 | </div> |
75 | <button class="layui-btn layui-btn-sm layui-btn-normal tab-button" id="btn_overview_export_excel"> | 75 | <button class="layui-btn layui-btn-sm layui-btn-normal tab-button" id="btn_overview_export_excel"> |
76 | <i class="layui-icon"></i>导出到Excel | 76 | <i class="layui-icon"></i>导出到Excel |
@@ -9,7 +9,7 @@ | @@ -9,7 +9,7 @@ | ||
9 | <div class="layui-form-item"> | 9 | <div class="layui-form-item"> |
10 | <div class="layui-inline"> | 10 | <div class="layui-inline"> |
11 | <div class="layui-input-inline layui-input-inline--long"> | 11 | <div class="layui-input-inline layui-input-inline--long"> |
12 | - <input type="text" id="alarmtemplatekw" lay-tips="关键字检索包含 </br>模板名称" name="alarmtemplatekw" placeholder="输入关键字,回车搜索" autocomplete="off" class="layui-input"> | 12 | + <input type="text" id="alarmtemplatekw" lay-tips="关键字检索包含 </br>模板名称</br>资源名称" name="alarmtemplatekw" placeholder="输入关键字,回车搜索" autocomplete="off" class="layui-input"> |
13 | </div> | 13 | </div> |
14 | </div> | 14 | </div> |
15 | <div class="layui-inline"> | 15 | <div class="layui-inline"> |
@@ -57,6 +57,78 @@ | @@ -57,6 +57,78 @@ | ||
57 | </div> | 57 | </div> |
58 | <textarea class="hide" id="alarmtemplate-params">{{d}}</textarea> | 58 | <textarea class="hide" id="alarmtemplate-params">{{d}}</textarea> |
59 | </article> | 59 | </article> |
60 | + | ||
61 | +<script id="tempResource" type="text/html"> | ||
62 | + <article class="page-container"> | ||
63 | + <div class="page-panel"> | ||
64 | + <div class="main"> | ||
65 | + <div class="layui-card"> | ||
66 | + <div class="layui-card-header"> | ||
67 | + <div class="layui-status"> | ||
68 | + <form class="layui-form layui-card-header layuiadmin-card-header-auto"> | ||
69 | + <div class="layui-form-item"> | ||
70 | + <div class="layui-inline"> | ||
71 | + <div class="layui-input-inline layui-input-inline--long"> | ||
72 | + <input type="text" id="res-keyword" placeholder="输入名称,回车搜索" autocomplete="off" | ||
73 | + lay-tips="关键字检索包含: </br>资源名称</br>ip地址" | ||
74 | + class="layui-input"> | ||
75 | + </div> | ||
76 | + </div> | ||
77 | + <div class="layui-inline"> | ||
78 | + <div class="layui-input-inline layui-input-inline--long"> | ||
79 | + <div id="templist_restype"></div> | ||
80 | + </div> | ||
81 | + </div> | ||
82 | + | ||
83 | + <div class="layui-inline"> | ||
84 | + <div class="layui-input-inline"> | ||
85 | + <select name="reslist_resStatus" id="templist_resStatus" lay-filter="templist_resStatus" lay-verify="required"> | ||
86 | + <option value="">=资源状态=</option> | ||
87 | + <option value="1">中</option> | ||
88 | + <option value="2">良</option> | ||
89 | + <option value="3">优</option> | ||
90 | + </select> | ||
91 | + </div> | ||
92 | + </div> | ||
93 | + <div class="layui-inline"> | ||
94 | + <div class="layui-input-inline"> | ||
95 | + <select name="label" id="templist_resListBizTypes" lay-filter="templist_resListBizTypes" lay-search> | ||
96 | + <option value="">=选择业务=</option> | ||
97 | + </select> | ||
98 | + </div> | ||
99 | + </div> | ||
100 | + <div class="layui-inline"> | ||
101 | + <div class="layui-input-inline"> | ||
102 | + <select name="provider" id="templist_provider" lay-filter="templist_provider" lay-search> | ||
103 | + <option value="">=选择厂商=</option> | ||
104 | + </select> | ||
105 | + </div> | ||
106 | + </div> | ||
107 | + <div class="layui-inline"> | ||
108 | + <button id="tempResBut" type="button" class="layui-btn layui-btn-normal" ><i | ||
109 | + class="layui-icon layui-icon-search"></i>查询 | ||
110 | + </button> | ||
111 | + </div> | ||
112 | + </div> | ||
113 | + </form> | ||
114 | + </div> | ||
115 | + </div> | ||
116 | + <div class="layui-card-body"> | ||
117 | + <div class="warn-btns"> | ||
118 | + <button id="addAuthResBtn" type="button" class="layui-btn layui-btn-sm layui-btn-normal"><i | ||
119 | + class="layui-icon"></i>新增资源 | ||
120 | + </button> | ||
121 | + <button id="delAuthResBtn" type="button" class="layui-btn layui-btn-sm layui-btn-normal"><i | ||
122 | + class="layui-icon"></i>删除资源 | ||
123 | + </button> | ||
124 | + </div> | ||
125 | + <table id="res_temp_table"></table> | ||
126 | + </div> | ||
127 | + </div> | ||
128 | + </div> | ||
129 | + </div> | ||
130 | + </article> | ||
131 | +</script> | ||
60 | <!--<script template lay-done="layui.data.sendParams(d.params)"></script>--> | 132 | <!--<script template lay-done="layui.data.sendParams(d.params)"></script>--> |
61 | <script> | 133 | <script> |
62 | var params = document.getElementById("alarmtemplate-params").value; | 134 | var params = document.getElementById("alarmtemplate-params").value; |
@@ -36,7 +36,7 @@ | @@ -36,7 +36,7 @@ | ||
36 | <a class="layui-btn layui-btn-xs layui-btn-normal" id="checkTemplateChooseKpi"><i class="layui-icon"></i></a> | 36 | <a class="layui-btn layui-btn-xs layui-btn-normal" id="checkTemplateChooseKpi"><i class="layui-icon"></i></a> |
37 | </legend> | 37 | </legend> |
38 | </fieldset> | 38 | </fieldset> |
39 | - <div class="layui-form-item table-edit"> | 39 | + <div class="layui-form-item table-edit table-edit-textoverflow"> |
40 | <table id="checkTemplate_add_table"></table> | 40 | <table id="checkTemplate_add_table"></table> |
41 | </div> | 41 | </div> |
42 | </form> | 42 | </form> |
@@ -17,9 +17,9 @@ | @@ -17,9 +17,9 @@ | ||
17 | <div class="page-panel"> | 17 | <div class="page-panel"> |
18 | <div class="main"> | 18 | <div class="main"> |
19 | <div class="layui-card" style="overflow: hidden"> | 19 | <div class="layui-card" style="overflow: hidden"> |
20 | - <div class="layui-card-header"> | 20 | + <div class="layui-card-header" style=" padding: 0 3px;"> |
21 | <div class="layui-status search_panel"> | 21 | <div class="layui-status search_panel"> |
22 | - <form class="layui-form layui-card-header layuiadmin-card-header-auto" lay-filter="notice_search_form"> | 22 | + <form style="padding:5px 0 0 0;" class="layui-form layui-card-header layuiadmin-card-header-auto" lay-filter="notice_search_form"> |
23 | <div class="layui-form-item"> | 23 | <div class="layui-form-item"> |
24 | <div class="layui-inline"> | 24 | <div class="layui-inline"> |
25 | <div class="layui-input-inline layui-input-inline--long"> | 25 | <div class="layui-input-inline layui-input-inline--long"> |
@@ -45,13 +45,36 @@ | @@ -45,13 +45,36 @@ | ||
45 | </div> | 45 | </div> |
46 | </div> | 46 | </div> |
47 | <!--发送状态--> | 47 | <!--发送状态--> |
48 | - <div class="layui-inline"> | ||
49 | - <div class="layui-input-inline layui-input-inline--long"> | 48 | + <!--<div class="layui-inline"> |
49 | + <div class="layui-input-inline layui-input-inline--long"> | ||
50 | <select id="notice_search_isSend" lay-filter="notice_search_isSend"> | 50 | <select id="notice_search_isSend" lay-filter="notice_search_isSend"> |
51 | <option value="1">已发送</option> | 51 | <option value="1">已发送</option> |
52 | <option value="">待发送</option> | 52 | <option value="">待发送</option> |
53 | </select> | 53 | </select> |
54 | </div> | 54 | </div> |
55 | + </div>--> | ||
56 | + <!--lsq 告警指标 2022-07-05--> | ||
57 | + <div class="layui-inline"> | ||
58 | + <div class="layui-input-inline"> | ||
59 | + <select name="alarmKpi" lay-filter="alarmKpiSearch" lay-search="" id="noticeAlarmKpiSearchBox"> | ||
60 | + </select> | ||
61 | + </div> | ||
62 | + </div> | ||
63 | + <!--lsq 通知方式 2022-07-05--> | ||
64 | + <div class="layui-inline"> | ||
65 | + <div class="layui-input-inline"> | ||
66 | + <select name="way" lay-filter="noticeWaySearch" llay-search="" id="noticeWaySearchBox"> | ||
67 | + </select> | ||
68 | + </div> | ||
69 | + </div> | ||
70 | + <div class="layui-inline"> | ||
71 | + <div class="layui-btn-group"> | ||
72 | + <button type="button" class="layui-btn layui-btn-primary" data-period="all">全部</button> | ||
73 | + <button type="button" class="layui-btn active" data-period="today">今天</button> | ||
74 | + <button type="button" class="layui-btn layui-btn-primary" data-period="week">本周</button> | ||
75 | + <button type="button" class="layui-btn layui-btn-primary" data-period="month">本月</button> | ||
76 | + <button type="button" class="layui-btn layui-btn-primary" data-period="custom" id="dataPeriodCustom">自定义</button> | ||
77 | + </div> | ||
55 | </div> | 78 | </div> |
56 | <div class="layui-inline"> | 79 | <div class="layui-inline"> |
57 | <button id="noticeSearchQueryBtn" type="button" class="layui-btn layui-btn-normal" ><i | 80 | <button id="noticeSearchQueryBtn" type="button" class="layui-btn layui-btn-normal" ><i |
@@ -60,6 +83,7 @@ | @@ -60,6 +83,7 @@ | ||
60 | </div> | 83 | </div> |
61 | </div> | 84 | </div> |
62 | </form> | 85 | </form> |
86 | + | ||
63 | </div> | 87 | </div> |
64 | </div> | 88 | </div> |
65 | <div style="display: flex" class="layui-card-echart"> | 89 | <div style="display: flex" class="layui-card-echart"> |
@@ -86,9 +86,9 @@ | @@ -86,9 +86,9 @@ | ||
86 | <select name="type" id="noticeTimely_type" lay-filter="noticeTimely_type"> | 86 | <select name="type" id="noticeTimely_type" lay-filter="noticeTimely_type"> |
87 | <option value="SQL">监控数据库</option> | 87 | <option value="SQL">监控数据库</option> |
88 | <option value="TEXT">文本</option> | 88 | <option value="TEXT">文本</option> |
89 | - <!-- <option value="es">es</option> | ||
90 | - <option value="influxdb">时序</option> | ||
91 | - <option value="tdEngine">tdEngine</option>--> | 89 | + <option value="ES">es</option> |
90 | + <option value="INFLUXDB">时序</option> | ||
91 | + <!-- <option value="tdEngine">tdEngine</option>--> | ||
92 | </select> | 92 | </select> |
93 | <div style="padding: 3px"> | 93 | <div style="padding: 3px"> |
94 | 文本支持:#{now} 当前时间格式:yyyy-MM-dd HH:mm:ss | 94 | 文本支持:#{now} 当前时间格式:yyyy-MM-dd HH:mm:ss |
@@ -13,8 +13,7 @@ | @@ -13,8 +13,7 @@ | ||
13 | </div> | 13 | </div> |
14 | </div> | 14 | </div> |
15 | <div class="layui-inline"> | 15 | <div class="layui-inline"> |
16 | - <button id="noticeTimelyQueryBtn" type="button" class="layui-btn layui-btn-normal" ><i | ||
17 | - class="layui-icon layui-icon-search"></i>查询 | 16 | + <button id="noticeTimelyQueryBtn" type="button" class="layui-btn layui-btn-normal" >查询 |
18 | </button> | 17 | </button> |
19 | </div> | 18 | </div> |
20 | </div> | 19 | </div> |
@@ -6,7 +6,7 @@ | @@ -6,7 +6,7 @@ | ||
6 | <div class="layui-card-header"> | 6 | <div class="layui-card-header"> |
7 | <div class="layui-status"> | 7 | <div class="layui-status"> |
8 | <form class="layui-form layui-card-header layuiadmin-card-header-auto"> | 8 | <form class="layui-form layui-card-header layuiadmin-card-header-auto"> |
9 | - <div class="layui-form-item"> | 9 | + <div class="layui-form-item" style="display: inline-flex;"> |
10 | <div class="layui-inline"> | 10 | <div class="layui-inline"> |
11 | <div class="layui-input-inline layui-input-inline--long" style="width: 180px;"> | 11 | <div class="layui-input-inline layui-input-inline--long" style="width: 180px;"> |
12 | <input type="text" id="condition-heartbeat-name" | 12 | <input type="text" id="condition-heartbeat-name" |
@@ -14,11 +14,15 @@ | @@ -14,11 +14,15 @@ | ||
14 | placeholder="输入关键字,回车搜索" autocomplete="off" class="layui-input"> | 14 | placeholder="输入关键字,回车搜索" autocomplete="off" class="layui-input"> |
15 | </div> | 15 | </div> |
16 | </div> | 16 | </div> |
17 | -<!-- <div class="layui-inline">--> | ||
18 | -<!-- <button id="heartbeatQueryBtn" type="button" class="layui-btn layui-btn-normal" ><i--> | ||
19 | -<!-- class="layui-icon layui-icon-search"></i>查询--> | ||
20 | -<!-- </button>--> | ||
21 | -<!-- </div>--> | 17 | + <div class="layui-inline" style="display: flex;flex-wrap: nowrap;width: 250px"> |
18 | + <div>超过最近心跳范围:</div> | ||
19 | + <input type="number" name="durationVal" style="width: 80px" | ||
20 | + lay-tips="超过最近心跳时间(单位:分钟)的心跳,<br/>在表格最近心跳列中文字颜色使用<span style='color:red'>红色</span>字体标识" placeholder="最近心跳时间" value="10" class="layui-input"> | ||
21 | + <div>分钟</div> | ||
22 | + </div> | ||
23 | + <div class="layui-inline"> | ||
24 | + <button id="heartbeatQueryBtn" type="button" class="layui-btn layui-btn-normal">查询</button> | ||
25 | + </div> | ||
22 | </div> | 26 | </div> |
23 | </form> | 27 | </form> |
24 | </div> | 28 | </div> |
@@ -163,7 +163,10 @@ | @@ -163,7 +163,10 @@ | ||
163 | <p class="biz-count">业务总数<span id="bizTotal">0</span></p> | 163 | <p class="biz-count">业务总数<span id="bizTotal">0</span></p> |
164 | </div> | 164 | </div> |
165 | <div class="layui-card-body"> | 165 | <div class="layui-card-body"> |
166 | - <input type="text" placeholder="搜索..." autocomplete="off" class="layui-input layui-input-search"> | 166 | + <div> |
167 | + <input type="search" placeholder="搜索..." lay-tips="关键字检索包含: </br>资源名称</br>ip地址</br>资源类型</br>操作系统类型" id="bizInputSearch" autocomplete="off" class="layui-input layui-input-search" style="width: 180px"> | ||
168 | + <button class="layui-btn layui-btn-sm layui-btn-normal" id="bizSearch" style="width: 50px;height: 30px;margin-top: -6px;">查询</button> | ||
169 | + </div> | ||
167 | <div id="bizindextree"></div> | 170 | <div id="bizindextree"></div> |
168 | </div> | 171 | </div> |
169 | </div> | 172 | </div> |
@@ -18,12 +18,21 @@ | @@ -18,12 +18,21 @@ | ||
18 | <div class="layui-card-body noticeCount-ECharts" id="count_notice_send"> | 18 | <div class="layui-card-body noticeCount-ECharts" id="count_notice_send"> |
19 | <div class="layui-noticeCount-ECharts"> | 19 | <div class="layui-noticeCount-ECharts"> |
20 | <div> | 20 | <div> |
21 | - <h5 class="lay-row-title" style="color: #666;">业务子系统告警发送统计</h5> | ||
22 | - <div class="pie-chart pie-chart-custom" id="count_notice_send_business" style="height: 30vh"></div> | 21 | + <h5 class="lay-row-title"> |
22 | + 业务子系统告警发送统计 | ||
23 | + <span id="businessMore">查看更多</span> | ||
24 | + | ||
25 | + </h5> | ||
26 | + <div class="pie-chart pie-chart-custom" id="count_notice_send_business" | ||
27 | + style="height: 30vh"></div> | ||
23 | </div> | 28 | </div> |
24 | <div> | 29 | <div> |
25 | - <h5 class="lay-row-title" style="color: #666;">人员告警发送统计</h5> | ||
26 | - <div class="pie-chart pie-chart-custom" id="count_notice_send_user" style="height: 30vh"></div> | 30 | + <h5 class="lay-row-title">人员告警发送统计 |
31 | + <i class="iconfont detail_base_info" style="color:rgb(30,159,255);"></i> | ||
32 | + <span id="userMore">查看更多</span> | ||
33 | + </h5> | ||
34 | + <div class="pie-chart pie-chart-custom" id="count_notice_send_user" | ||
35 | + style="height: 30vh"></div> | ||
27 | </div> | 36 | </div> |
28 | </div> | 37 | </div> |
29 | </div> | 38 | </div> |
@@ -274,9 +274,10 @@ | @@ -274,9 +274,10 @@ | ||
274 | <div class="layui-card"> | 274 | <div class="layui-card"> |
275 | 275 | ||
276 | <div class="layui-card-body"> | 276 | <div class="layui-card-body"> |
277 | - <!-- | ||
278 | - <input type="text" placeholder="搜索..." autocomplete="off" class="layui-input layui-input-search"> | ||
279 | - --> | 277 | + <div> |
278 | + <input type="search" placeholder="搜索..." autocomplete="off" lay-tips="关键字检索包含: </br>资源名称</br>ip地址</br>资源类型</br>操作系统类型" id="inputSearch" class="layui-input layui-input-search" style="width: 180px"> | ||
279 | + <button class="layui-btn layui-btn-sm layui-btn-normal" id="resSearch" style="width: 50px;height: 30px;margin-top: -6px;">查询</button> | ||
280 | + </div> | ||
280 | <div id="resindextree"></div> | 281 | <div id="resindextree"></div> |
281 | </div> | 282 | </div> |
282 | </div> | 283 | </div> |
@@ -2,12 +2,12 @@ | @@ -2,12 +2,12 @@ | ||
2 | 2 | ||
3 | <article class="page-container setting"> | 3 | <article class="page-container setting"> |
4 | <div class="page-panel"> | 4 | <div class="page-panel"> |
5 | - <div class="main"> | 5 | + <div class="main commonDiv"> |
6 | <div class="layui-card"> | 6 | <div class="layui-card"> |
7 | <div class="setting-main" id="generalUserHeader"> | 7 | <div class="setting-main" id="generalUserHeader"> |
8 | <div class="setting-item"> | 8 | <div class="setting-item"> |
9 | <h5 class="setting-item-title">登录历史<br><span>以下为您最近10次登录记录,若存在异常情况,请在核实后尽快 <span | 9 | <h5 class="setting-item-title">登录历史<br><span>以下为您最近10次登录记录,若存在异常情况,请在核实后尽快 <span |
10 | - data-setting-pwd class="link">修改密码</span></span></h5> | 10 | + class="link" data-setting-pwd>修改密码</span></span></h5> |
11 | <!-- <div id="settingLoginRecord"></div>--> | 11 | <!-- <div id="settingLoginRecord"></div>--> |
12 | </div> | 12 | </div> |
13 | </div> | 13 | </div> |
@@ -18,21 +18,21 @@ | @@ -18,21 +18,21 @@ | ||
18 | <div class="layui-form-item"> | 18 | <div class="layui-form-item"> |
19 | <div class="layui-inline"> | 19 | <div class="layui-inline"> |
20 | <div class="layui-input-inline layui-input-inline--long"> | 20 | <div class="layui-input-inline layui-input-inline--long"> |
21 | - <input type="text" id="loginAccount" name="loginAccount" | ||
22 | - placeholder="登录用户" autocomplete="off" class="layui-input"> | 21 | + <input autocomplete="off" class="layui-input" id="loginAccount" |
22 | + name="loginAccount" placeholder="登录用户" type="text"> | ||
23 | </div> | 23 | </div> |
24 | </div> | 24 | </div> |
25 | <div class="layui-inline"> | 25 | <div class="layui-inline"> |
26 | <div class="layui-input-inline layui-input-inline--long"> | 26 | <div class="layui-input-inline layui-input-inline--long"> |
27 | - <input type="text" class="layui-input" id="loginLogStartdate" | ||
28 | - placeholder="开始时间"> | 27 | + <input class="layui-input" id="loginLogStartdate" placeholder="开始时间" |
28 | + type="text"> | ||
29 | </div> | 29 | </div> |
30 | </div> | 30 | </div> |
31 | <div class="layui-inline layui-inline--sm">-</div> | 31 | <div class="layui-inline layui-inline--sm">-</div> |
32 | <div class="layui-inline"> | 32 | <div class="layui-inline"> |
33 | <div class="layui-input-inline layui-input-inline--long"> | 33 | <div class="layui-input-inline layui-input-inline--long"> |
34 | - <input type="text" class="layui-input" id="loginLogEnddate" | ||
35 | - placeholder="结束时间"> | 34 | + <input class="layui-input" id="loginLogEnddate" placeholder="结束时间" |
35 | + type="text"> | ||
36 | </div> | 36 | </div> |
37 | </div> | 37 | </div> |
38 | <div class="layui-inline"> | 38 | <div class="layui-inline"> |
@@ -40,12 +40,16 @@ | @@ -40,12 +40,16 @@ | ||
40 | <div id="settingOrgId"></div> | 40 | <div id="settingOrgId"></div> |
41 | </div> | 41 | </div> |
42 | </div> | 42 | </div> |
43 | + <button class="layui-btn layui-btn-normal" id="settingQueryBtn" type="button"> | ||
44 | + 查询 | ||
45 | + </button> | ||
43 | </div> | 46 | </div> |
44 | </form> | 47 | </form> |
45 | - <div class="layui-form-item" style="display: block;"> | 48 | + <div class="layui-form-item" style="display: block;margin-bottom: 0;"> |
46 | <input id="loginLonMark" type="hidden"> | 49 | <input id="loginLonMark" type="hidden"> |
47 | <div class="layui-input-inline" style="width: 200px;font-size: 18px"> | 50 | <div class="layui-input-inline" style="width: 200px;font-size: 18px"> |
48 | - <p class="ordering_header_right">当前在线用户数:<label id="loginUserNum" class="link">0</label> 位</p> | 51 | + <p class="ordering_header_right">当前在线用户数:<label class="link" id="loginUserNum">0</label> |
52 | + 位</p> | ||
49 | </div> | 53 | </div> |
50 | </div> | 54 | </div> |
51 | </div> | 55 | </div> |
@@ -55,25 +59,25 @@ | @@ -55,25 +59,25 @@ | ||
55 | </div> | 59 | </div> |
56 | </div> | 60 | </div> |
57 | </div> | 61 | </div> |
58 | -<!-- <div class="left">--> | ||
59 | -<!-- <div class="layui-card">--> | ||
60 | -<!-- <div class="layui-card-body">--> | ||
61 | -<!-- <div class="user-info">--> | ||
62 | -<!-- <div class="user-head">--> | ||
63 | -<!-- <img src="/src/style/res/header.jpg">--> | ||
64 | -<!-- <span id="nickname">管理员</span>--> | ||
65 | -<!-- </div>--> | ||
66 | -<!-- <p class="user-date">最后一次登录:<label id="lastLogin"></label></p>--> | ||
67 | -<!-- <ul class="user-setting">--> | ||
68 | -<!-- <li>快速通道</li>--> | ||
69 | -<!-- <li data-setting-pwd class="link">修改密码</li>--> | ||
70 | -<!-- <li>手机:<label id="mobile"></label></li>--> | ||
71 | -<!-- <!–<li>手机: 152****9999<span data-setting-phone class="link">修改</span></li>–>--> | ||
72 | -<!-- </ul>--> | ||
73 | -<!-- </div>--> | ||
74 | -<!-- </div>--> | ||
75 | -<!-- </div>--> | ||
76 | -<!-- </div>--> | 62 | + <!-- <div class="left">--> |
63 | + <!-- <div class="layui-card">--> | ||
64 | + <!-- <div class="layui-card-body">--> | ||
65 | + <!-- <div class="user-info">--> | ||
66 | + <!-- <div class="user-head">--> | ||
67 | + <!-- <img src="/src/style/res/header.jpg">--> | ||
68 | + <!-- <span id="nickname">管理员</span>--> | ||
69 | + <!-- </div>--> | ||
70 | + <!-- <p class="user-date">最后一次登录:<label id="lastLogin"></label></p>--> | ||
71 | + <!-- <ul class="user-setting">--> | ||
72 | + <!-- <li>快速通道</li>--> | ||
73 | + <!-- <li data-setting-pwd class="link">修改密码</li>--> | ||
74 | + <!-- <li>手机:<label id="mobile"></label></li>--> | ||
75 | + <!-- <!–<li>手机: 152****9999<span data-setting-phone class="link">修改</span></li>–>--> | ||
76 | + <!-- </ul>--> | ||
77 | + <!-- </div>--> | ||
78 | + <!-- </div>--> | ||
79 | + <!-- </div>--> | ||
80 | + <!-- </div>--> | ||
77 | </div> | 81 | </div> |
78 | </article> | 82 | </article> |
79 | 83 |
@@ -63,6 +63,12 @@ | @@ -63,6 +63,12 @@ | ||
63 | 63 | ||
64 | <div class="lay-row"> | 64 | <div class="lay-row"> |
65 | <div class="lay-row-item"> | 65 | <div class="lay-row-item"> |
66 | + <h5 class="lay-row-title">CPU百分比 | ||
67 | + </h5> | ||
68 | + <div id="x86server_cpupie" class="pie-wrap dasboard cpupie_chart"> | ||
69 | + </div> | ||
70 | + </div> | ||
71 | + <div class="lay-row-item"> | ||
66 | <h5 class="lay-row-title">CPU使用率 | 72 | <h5 class="lay-row-title">CPU使用率 |
67 | <a class="detail_row_menu hide"> | 73 | <a class="detail_row_menu hide"> |
68 | <img style="width: 17px;height: 17px;" src="/src/style/img/icon_row_menu.png"> | 74 | <img style="width: 17px;height: 17px;" src="/src/style/img/icon_row_menu.png"> |
@@ -62,6 +62,12 @@ | @@ -62,6 +62,12 @@ | ||
62 | </div> | 62 | </div> |
63 | <div class="lay-row"> | 63 | <div class="lay-row"> |
64 | <div class="lay-row-item"> | 64 | <div class="lay-row-item"> |
65 | + <h5 class="lay-row-title">CPU百分比 | ||
66 | + </h5> | ||
67 | + <div id="x86virtual_cpupie" class="pie-wrap dasboard cpupie_chart"> | ||
68 | + </div> | ||
69 | + </div> | ||
70 | + <div class="lay-row-item"> | ||
65 | <h5 class="lay-row-title">CPU使用率 | 71 | <h5 class="lay-row-title">CPU使用率 |
66 | <a class="detail_row_menu hide"> | 72 | <a class="detail_row_menu hide"> |
67 | <img style="width: 17px;height: 17px;" src="/src/style/img/icon_row_menu.png"> | 73 | <img style="width: 17px;height: 17px;" src="/src/style/img/icon_row_menu.png"> |
@@ -106,6 +112,25 @@ | @@ -106,6 +112,25 @@ | ||
106 | </ul> | 112 | </ul> |
107 | </div> | 113 | </div> |
108 | </div> | 114 | </div> |
115 | + <!--lsq x86新增的指标信息 2022-07-04--> | ||
116 | + <div class="lay-row" id="x86virtual_linkdata"> | ||
117 | + <!--<div class="lay-row-item lay-row-item-num"> | ||
118 | + <div class="lay-row-title-label">总链接数</div> | ||
119 | + <div class="lay-row-num">23</div> | ||
120 | + </div> | ||
121 | + <div class="lay-row-item lay-row-item-num"> | ||
122 | + <div class="lay-row-title-label">保持状态链接数</div> | ||
123 | + <div class="lay-row-num"></div> | ||
124 | + </div> | ||
125 | + <div class="lay-row-item lay-row-item-num"> | ||
126 | + <div class="lay-row-title-label">time_wait状态链接数</div> | ||
127 | + <div class="lay-row-num"></div> | ||
128 | + </div> | ||
129 | + <div class="lay-row-item lay-row-item-num"> | ||
130 | + <div class="lay-row-title-label">close_wait状态链接数</div> | ||
131 | + <div class="lay-row-num"></div> | ||
132 | + </div>--> | ||
133 | + </div> | ||
109 | <div class="lay-row"> | 134 | <div class="lay-row"> |
110 | <div class="lay-row-item"> | 135 | <div class="lay-row-item"> |
111 | <h5 class="lay-row-title">文件系统<span id="x86virtual_filesysDownload" class="layui-table-link" style="margin-left: 10px;">下载</span><span id="x86virtual_filesysMore" class="layui-table-link">更多</span></h5> | 136 | <h5 class="lay-row-title">文件系统<span id="x86virtual_filesysDownload" class="layui-table-link" style="margin-left: 10px;">下载</span><span id="x86virtual_filesysMore" class="layui-table-link">更多</span></h5> |
@@ -383,6 +383,7 @@ | @@ -383,6 +383,7 @@ | ||
383 | ,trigger: 'focus' //呼出控件的事件 | 383 | ,trigger: 'focus' //呼出控件的事件 |
384 | ,show: false //是否直接显示,如果设置true,则默认直接显示控件 | 384 | ,show: false //是否直接显示,如果设置true,则默认直接显示控件 |
385 | ,showBottom: true //是否显示底部栏 | 385 | ,showBottom: true //是否显示底部栏 |
386 | + ,isPreview: true //是否显示值预览 | ||
386 | ,btns: ['clear', 'now', 'confirm'] //右下角显示的按钮,会按照数组顺序排列 | 387 | ,btns: ['clear', 'now', 'confirm'] //右下角显示的按钮,会按照数组顺序排列 |
387 | ,lang: 'cn' //语言,只支持cn/en,即中文和英文 | 388 | ,lang: 'cn' //语言,只支持cn/en,即中文和英文 |
388 | ,theme: 'default' //主题 | 389 | ,theme: 'default' //主题 |
@@ -843,7 +844,7 @@ | @@ -843,7 +844,7 @@ | ||
843 | 844 | ||
844 | ,elem = that.bindElem || options.elem[0] | 845 | ,elem = that.bindElem || options.elem[0] |
845 | ,valType = that.isInput(elem) ? 'val' : 'html' | 846 | ,valType = that.isInput(elem) ? 'val' : 'html' |
846 | - ,value = that.isInput(elem) ? elem.value : (options.position === 'static' ? '' : elem.innerHTML) | 847 | + ,value = that.isInput(elem) ? elem.value : (options.position === 'static' ? '' : '') |
847 | 848 | ||
848 | //校验日期有效数字 | 849 | //校验日期有效数字 |
849 | ,checkValid = function(dateTime){ | 850 | ,checkValid = function(dateTime){ |
@@ -1411,6 +1412,9 @@ | @@ -1411,6 +1412,9 @@ | ||
1411 | ,elem = that.bindElem || options.elem[0] | 1412 | ,elem = that.bindElem || options.elem[0] |
1412 | ,valType = that.isInput(elem) ? 'val' : 'html' | 1413 | ,valType = that.isInput(elem) ? 'val' : 'html' |
1413 | 1414 | ||
1415 | + if(!options.isPreview){ | ||
1416 | + return this; | ||
1417 | + } | ||
1414 | options.position === 'static' || lay(elem)[valType](value || ''); | 1418 | options.position === 'static' || lay(elem)[valType](value || ''); |
1415 | return this; | 1419 | return this; |
1416 | }; | 1420 | }; |
@@ -12,7 +12,7 @@ server: | @@ -12,7 +12,7 @@ server: | ||
12 | key-store-password: Hg0801.. | 12 | key-store-password: Hg0801.. |
13 | key-password: Hg0801.. | 13 | key-password: Hg0801.. |
14 | url: | 14 | url: |
15 | - gateway: http://192.168.0.104:9200 | 15 | + gateway: https://192.168.0.69:8080 |
16 | inspection_web: http://127.0.0.1:8082 | 16 | inspection_web: http://127.0.0.1:8082 |
17 | assetsweb: http://127.0.0.1:8082 | 17 | assetsweb: http://127.0.0.1:8082 |
18 | mxgraph_editor: http://127.0.0.1:8085 | 18 | mxgraph_editor: http://127.0.0.1:8085 |
@@ -36,6 +36,8 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | @@ -36,6 +36,8 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | ||
36 | var bizParentList; | 36 | var bizParentList; |
37 | // 资源视图表格 | 37 | // 资源视图表格 |
38 | var bizListTable; | 38 | var bizListTable; |
39 | + var busHealthKeyWord = ''; | ||
40 | + var busIndexKeyWord = ''; | ||
39 | //点击卡片 | 41 | //点击卡片 |
40 | $('#bizindexTable').unbind('click').on('click', '[data-biz-card]', function () { | 42 | $('#bizindexTable').unbind('click').on('click', '[data-biz-card]', function () { |
41 | var resType = $(this).data("biz-card"); | 43 | var resType = $(this).data("biz-card"); |
@@ -58,9 +60,16 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | @@ -58,9 +60,16 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | ||
58 | common.viewBizTopo($(this).data('busid')); | 60 | common.viewBizTopo($(this).data('busid')); |
59 | return false; | 61 | return false; |
60 | }); | 62 | }); |
63 | + | ||
64 | + //搜索按钮 | ||
65 | + $('#bizSearch').unbind('click').on('click',function (){ | ||
66 | + busIndexKeyWord = $('#bizInputSearch').val(); | ||
67 | + loadBizTree(busIndexKeyWord) | ||
68 | + }) | ||
61 | //回车搜索 | 69 | //回车搜索 |
62 | $('#bizindex_keyword').keydown(function (e) { | 70 | $('#bizindex_keyword').keydown(function (e) { |
63 | if (e.keyCode === 13) { | 71 | if (e.keyCode === 13) { |
72 | + busIndexKeyWord = $(this).val(); | ||
64 | // renderList(busId, curBizResType); | 73 | // renderList(busId, curBizResType); |
65 | reloadTable(); | 74 | reloadTable(); |
66 | return false; | 75 | return false; |
@@ -93,6 +102,7 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | @@ -93,6 +102,7 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | ||
93 | $('#biztreeTableContent').hide(); | 102 | $('#biztreeTableContent').hide(); |
94 | $('#bizDetailContent').empty(); | 103 | $('#bizDetailContent').empty(); |
95 | $('#bizDetailContent').hide(); | 104 | $('#bizDetailContent').hide(); |
105 | + // $('#bizindex_keyword').val(busIndexKeyWord) | ||
96 | var bizindexTable = $('#bizindexTable'); | 106 | var bizindexTable = $('#bizindexTable'); |
97 | autoHeight(bizindexTable); | 107 | autoHeight(bizindexTable); |
98 | window.setResizeEvents('autoHeight', autoHeight); | 108 | window.setResizeEvents('autoHeight', autoHeight); |
@@ -117,8 +127,9 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | @@ -117,8 +127,9 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | ||
117 | autoHeight(bizindexTable); | 127 | autoHeight(bizindexTable); |
118 | window.setResizeEvents('autoHeight', autoHeight); | 128 | window.setResizeEvents('autoHeight', autoHeight); |
119 | admin.req({ | 129 | admin.req({ |
120 | - url: common.domainName + '/api-web/home/resource/countResourceGroupByBusType', | ||
121 | - }).done(function (res) { | 130 | + url: common.domainName + '/api-web/home/resource/countResourceGroupByBusType?keyword='+busHealthKeyWord, |
131 | + sync: true | ||
132 | + }).always(function (res) { | ||
122 | layer.close(loading); | 133 | layer.close(loading); |
123 | laytpl($('#bizindexTpl').html()).render({list: res.data, isBiz: true}, function (html) { | 134 | laytpl($('#bizindexTpl').html()).render({list: res.data, isBiz: true}, function (html) { |
124 | bizindexTable.html(html); | 135 | bizindexTable.html(html); |
@@ -171,6 +182,7 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | @@ -171,6 +182,7 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | ||
171 | if (val == '' || val == null || val == undefined) { | 182 | if (val == '' || val == null || val == undefined) { |
172 | val = ''; | 183 | val = ''; |
173 | } | 184 | } |
185 | + busHealthKeyWord = val; | ||
174 | admin.req({ | 186 | admin.req({ |
175 | url: common.domainName + '/api-web/home/business/getBusTree?keyword=' + val + '¬Exist=machineroom', | 187 | url: common.domainName + '/api-web/home/business/getBusTree?keyword=' + val + '¬Exist=machineroom', |
176 | sync: true, | 188 | sync: true, |
@@ -183,6 +195,7 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | @@ -183,6 +195,7 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | ||
183 | showLine: false, | 195 | showLine: false, |
184 | data: data, | 196 | data: data, |
185 | click: function (node) { | 197 | click: function (node) { |
198 | + // $('#bizindex_keyword').val(busIndexKeyWord) | ||
186 | if (node && node.data && node.data.children && node.data.children.length == 1) { | 199 | if (node && node.data && node.data.children && node.data.children.length == 1) { |
187 | $('[data-id="' + node.data.children[0].id + '"]').find('.layui-tree-iconClick:first').click() | 200 | $('[data-id="' + node.data.children[0].id + '"]').find('.layui-tree-iconClick:first').click() |
188 | } | 201 | } |
@@ -262,6 +275,8 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | @@ -262,6 +275,8 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | ||
262 | $(".layui-input-search").keyup(function (e) { | 275 | $(".layui-input-search").keyup(function (e) { |
263 | if (e.keyCode === 13) { | 276 | if (e.keyCode === 13) { |
264 | loadBizTree($(this).val()) | 277 | loadBizTree($(this).val()) |
278 | + busIndexKeyWord = $(this).val(); | ||
279 | + busHealthKeyWord = $(this).val(); | ||
265 | } | 280 | } |
266 | }); | 281 | }); |
267 | 282 | ||
@@ -371,7 +386,6 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | @@ -371,7 +386,6 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | ||
371 | $('#biztreeTableContent').hide(); | 386 | $('#biztreeTableContent').hide(); |
372 | 387 | ||
373 | //清除查询条件 | 388 | //清除查询条件 |
374 | - $("#bizindex_keyword").val(""); | ||
375 | $("#biz_resStatus").val(""); | 389 | $("#biz_resStatus").val(""); |
376 | $("#biz_res_colony").val(""); | 390 | $("#biz_res_colony").val(""); |
377 | $("#biz_res_cluster").val(""); | 391 | $("#biz_res_cluster").val(""); |
@@ -407,7 +421,7 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | @@ -407,7 +421,7 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | ||
407 | , url: common.domainName + '/api-web/home/res-list/' + resTypeList.toString() | 421 | , url: common.domainName + '/api-web/home/res-list/' + resTypeList.toString() |
408 | , where: { | 422 | , where: { |
409 | access_token: accessToken, | 423 | access_token: accessToken, |
410 | - resName: $("#bizindex_keyword").val(), | 424 | + resName:busIndexKeyWord, |
411 | resHealth: $("#biz_resStatus").val(), | 425 | resHealth: $("#biz_resStatus").val(), |
412 | busId: busId, | 426 | busId: busId, |
413 | colonlyId: $("#biz_res_colony").val(), | 427 | colonlyId: $("#biz_res_colony").val(), |
@@ -466,11 +480,12 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | @@ -466,11 +480,12 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | ||
466 | $('#biztreeTableContent').hide(); | 480 | $('#biztreeTableContent').hide(); |
467 | $('#bizDetailContent').empty(); | 481 | $('#bizDetailContent').empty(); |
468 | $('#bizDetailContent').hide(); | 482 | $('#bizDetailContent').hide(); |
483 | + // $('#bizindex_keyword').val(busIndexKeyWord) | ||
469 | var bizindexTable = $('#bizindexTable'); | 484 | var bizindexTable = $('#bizindexTable'); |
470 | autoHeight(bizindexTable); | 485 | autoHeight(bizindexTable); |
471 | window.setResizeEvents('autoHeight', autoHeight); | 486 | window.setResizeEvents('autoHeight', autoHeight); |
472 | admin.req({ | 487 | admin.req({ |
473 | - url: common.domainName + "/api-web/datavis/getResTotal/?busId=" + bizId | 488 | + url: common.domainName + "/api-web/datavis/getResTotal/?busId=" + bizId +"&keyWord="+busHealthKeyWord |
474 | , done: function (res) { | 489 | , done: function (res) { |
475 | laytpl($('#bizindexTpl').html()).render({list: res.data}, function (html) { | 490 | laytpl($('#bizindexTpl').html()).render({list: res.data}, function (html) { |
476 | bizindexTable.html(html); | 491 | bizindexTable.html(html); |
@@ -506,7 +521,7 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | @@ -506,7 +521,7 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | ||
506 | , drag: {toolbar: false} | 521 | , drag: {toolbar: false} |
507 | , where: { | 522 | , where: { |
508 | access_token: accessToken, | 523 | access_token: accessToken, |
509 | - resName: $("#bizindex_keyword").val(), | 524 | + resName: busIndexKeyWord, |
510 | resHealth: $("#biz_resStatus").val(), | 525 | resHealth: $("#biz_resStatus").val(), |
511 | busId: busId, | 526 | busId: busId, |
512 | colonlyId: $("#biz_res_colony").val(), | 527 | colonlyId: $("#biz_res_colony").val(), |
@@ -566,7 +581,7 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | @@ -566,7 +581,7 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | ||
566 | $('#bizDetailContent').empty(); | 581 | $('#bizDetailContent').empty(); |
567 | $('#bizDetailContent').hide(); | 582 | $('#bizDetailContent').hide(); |
568 | $('#biztreeTableContent').hide(); | 583 | $('#biztreeTableContent').hide(); |
569 | - | 584 | + // $('#bizindex_keyword').val(busIndexKeyWord) |
570 | renderBizSerach(resType, busId); | 585 | renderBizSerach(resType, busId); |
571 | 586 | ||
572 | form.render(null, 'biz-list-form'); | 587 | form.render(null, 'biz-list-form'); |
@@ -589,7 +604,7 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | @@ -589,7 +604,7 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | ||
589 | , url: common.domainName + '/api-web/home/res-list/' + resType | 604 | , url: common.domainName + '/api-web/home/res-list/' + resType |
590 | , where: { | 605 | , where: { |
591 | access_token: accessToken, | 606 | access_token: accessToken, |
592 | - resName: $("#bizindex_keyword").val(), | 607 | + resName: busIndexKeyWord, |
593 | resHealth: $("#biz_resStatus").val(), | 608 | resHealth: $("#biz_resStatus").val(), |
594 | busId: busId, | 609 | busId: busId, |
595 | colonlyId: $("#biz_res_colony").val(), | 610 | colonlyId: $("#biz_res_colony").val(), |
@@ -841,7 +856,6 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | @@ -841,7 +856,6 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | ||
841 | //加载资源池、集群等查询条件 | 856 | //加载资源池、集群等查询条件 |
842 | function renderBizSerach(resType, busId, subflag) { | 857 | function renderBizSerach(resType, busId, subflag) { |
843 | //清空查询条件 joke add 20200409 开始 | 858 | //清空查询条件 joke add 20200409 开始 |
844 | - $('#bizindex_keyword').val(''); | ||
845 | $('#biz_resStatus').val(''); | 859 | $('#biz_resStatus').val(''); |
846 | $('#biz_res_colony').val(''); | 860 | $('#biz_res_colony').val(''); |
847 | $('#biz_res_cluster').val(''); | 861 | $('#biz_res_cluster').val(''); |
@@ -993,7 +1007,7 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | @@ -993,7 +1007,7 @@ layui.define(['tree', 'laypage', 'laytpl', 'admin', 'form', 'table', 'commonCols | ||
993 | } | 1007 | } |
994 | ,where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式) | 1008 | ,where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式) |
995 | access_token: accessToken, | 1009 | access_token: accessToken, |
996 | - resName: $("#bizindex_keyword").val(), | 1010 | + resName: busIndexKeyWord, |
997 | resHealth: $("#biz_resStatus").val(), | 1011 | resHealth: $("#biz_resStatus").val(), |
998 | busId: busId, | 1012 | busId: busId, |
999 | colonlyId: $("#biz_res_colony").val(), | 1013 | colonlyId: $("#biz_res_colony").val(), |
@@ -262,6 +262,7 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', | @@ -262,6 +262,7 @@ layui.define(['table', 'form', 'laydate', 'admin', 'layer', 'laytpl', 'common', | ||
262 | } | 262 | } |
263 | , {field: 'updateTime', title: '告警时间', align: 'center', minWidth: 180, sort: true} | 263 | , {field: 'updateTime', title: '告警时间', align: 'center', minWidth: 180, sort: true} |
264 | , {field: 'alarmTime', title: '首次告警时间', align: 'center', minWidth: 180, sort: true} | 264 | , {field: 'alarmTime', title: '首次告警时间', align: 'center', minWidth: 180, sort: true} |
265 | + , {field: 'clearTime', title: '消除时间', align: 'center', width: 190} | ||
265 | , {field: 'durationStr', title: '持续时间', align: 'center', width: 190} | 266 | , {field: 'durationStr', title: '持续时间', align: 'center', width: 190} |
266 | , { | 267 | , { |
267 | title: '操作', align: 'center', minWidth: 100, | 268 | title: '操作', align: 'center', minWidth: 100, |
@@ -19,7 +19,8 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | @@ -19,7 +19,8 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | ||
19 | var admin = layui.admin; | 19 | var admin = layui.admin; |
20 | var commonDetail = layui.commonDetail; | 20 | var commonDetail = layui.commonDetail; |
21 | var domainName = common.domainName; | 21 | var domainName = common.domainName; |
22 | - | 22 | + var resHealthKeyWord = ''; |
23 | + var resindexKeyword = ''; | ||
23 | var resTypeSelectExclude = ['HOST_MINICOMPUTER', 'HOST_MINICOMPUTER_SERVER', 'HOST_BMC', 'HOST_X86SERVER'] | 24 | var resTypeSelectExclude = ['HOST_MINICOMPUTER', 'HOST_MINICOMPUTER_SERVER', 'HOST_BMC', 'HOST_X86SERVER'] |
24 | 25 | ||
25 | var curTreeNode = ''; | 26 | var curTreeNode = ''; |
@@ -55,8 +56,8 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | @@ -55,8 +56,8 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | ||
55 | $('#resindexTable').on('click', '[data-res-card]', function () { | 56 | $('#resindexTable').on('click', '[data-res-card]', function () { |
56 | var nodeId = $(this).attr("data-res-card"); | 57 | var nodeId = $(this).attr("data-res-card"); |
57 | currentResType = nodeId;//将当前点击的资源类型付给参数 | 58 | currentResType = nodeId;//将当前点击的资源类型付给参数 |
58 | - selectedTreeNode('[data-id="' + currentResType + '"]','[data-id="' + currentResType.split('_')[0] + '"]'); | ||
59 | - renderList(currentResType,''); | 59 | + selectedTreeNode('[data-id="' + currentResType + '"]', '[data-id="' + currentResType.split('_')[0] + '"]'); |
60 | + renderList(currentResType, ''); | ||
60 | // renderList($(this).data("res-card")); | 61 | // renderList($(this).data("res-card")); |
61 | // $("div[data-id='"+nodeId+"']").find(".layui-tree-entry:first span.layui-tree-txt").trigger("click") | 62 | // $("div[data-id='"+nodeId+"']").find(".layui-tree-entry:first span.layui-tree-txt").trigger("click") |
62 | }); | 63 | }); |
@@ -126,7 +127,7 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | @@ -126,7 +127,7 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | ||
126 | $('#resDetailContent').empty(); | 127 | $('#resDetailContent').empty(); |
127 | $('#resDetailContent').hide(); | 128 | $('#resDetailContent').hide(); |
128 | $('#treeTableContent').hide(); | 129 | $('#treeTableContent').hide(); |
129 | - | 130 | + // $('#resindex_keyword').val(resindexKeyword) |
130 | //如果是阿里云,则显示阿里云的列表 | 131 | //如果是阿里云,则显示阿里云的列表 |
131 | if(resType && resType == 'ALI_CLOUD_PLAT'){ | 132 | if(resType && resType == 'ALI_CLOUD_PLAT'){ |
132 | $(".resindexlist").show(); | 133 | $(".resindexlist").show(); |
@@ -141,7 +142,7 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | @@ -141,7 +142,7 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | ||
141 | 142 | ||
142 | window.setResizeEvents('autoHeight', autoHeight); | 143 | window.setResizeEvents('autoHeight', autoHeight); |
143 | admin.req({ | 144 | admin.req({ |
144 | - url: common.domainName + '/api-web/home/resource/healthByResType?pResType=' + resType, | 145 | + url: common.domainName + '/api-web/home/resource/healthByResType?pResType=' + resType +'&keyword=' + resHealthKeyWord, |
145 | }).done(function (res) { | 146 | }).done(function (res) { |
146 | laytpl($('#resindexTpl').html()).render({list: res.data}, function (html) { | 147 | laytpl($('#resindexTpl').html()).render({list: res.data}, function (html) { |
147 | resindexTable.html(html); | 148 | resindexTable.html(html); |
@@ -149,40 +150,7 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | @@ -149,40 +150,7 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | ||
149 | }); | 150 | }); |
150 | } | 151 | } |
151 | 152 | ||
152 | - admin.req({ | ||
153 | - url: common.domainName + '/api-web/home/resType/getTree?notExist=machineroom&table=resources&exist=HOST_MINICOMPUTER_SERVER', | ||
154 | - type: 'get', | ||
155 | - sync: true, | ||
156 | - done: function (res) { | ||
157 | - layer.close(loading); | ||
158 | - loadResTree(res.data); | ||
159 | - //joke add 20200407,如果没有资源树,则默认资源页给提示无数据 开始 | ||
160 | - if (res.data.length === 0) { | ||
161 | - var resindexTable = $('#resindexTable'); | ||
162 | - autoHeight(resindexTable); | ||
163 | - laytpl($('#resindexTpl').html()).render({list: res.data}, function (html) { | ||
164 | - resindexTable.html(html); | ||
165 | - }); | ||
166 | - } | ||
167 | - loadParamSelect(); | ||
168 | - //joke add 20200407,如果没有资源树,则默认资源页给提示无数据 开始 | ||
169 | - } | ||
170 | - }).error(function () { | ||
171 | - layer.close(loading); | ||
172 | - //joke add 20200407 | ||
173 | - //树无数据提示 | ||
174 | - tree.render({ | ||
175 | - elem: '#resindextree', | ||
176 | - showLine: false, | ||
177 | - data: new Array() | ||
178 | - }); | ||
179 | - //右侧无数据提示 | ||
180 | - var resindexTable = $('#resindexTable'); | ||
181 | - autoHeight(resindexTable); | ||
182 | - laytpl($('#resindexTpl').html()).render({list: new Array()}, function (html) { | ||
183 | - resindexTable.html(html); | ||
184 | - }); | ||
185 | - }); | 153 | + |
186 | 154 | ||
187 | //不带分页的列表 | 155 | //不带分页的列表 |
188 | function renderTableList(resType) { | 156 | function renderTableList(resType) { |
@@ -243,7 +211,45 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | @@ -243,7 +211,45 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | ||
243 | }); | 211 | }); |
244 | } | 212 | } |
245 | //左侧树 | 213 | //左侧树 |
246 | - function loadResTree(data) { | 214 | + function loadResTree(val) { |
215 | + admin.req({ | ||
216 | + url: common.domainName + '/api-web/home/resType/getTree?notExist=machineroom&table=resources&exist=HOST_MINICOMPUTER_SERVER&keyword='+val, | ||
217 | + type: 'get', | ||
218 | + sync: true, | ||
219 | + done: function (res) { | ||
220 | + layer.close(loading); | ||
221 | + treeList(res.data); | ||
222 | + //joke add 20200407,如果没有资源树,则默认资源页给提示无数据 开始 | ||
223 | + if (res.data.length === 0) { | ||
224 | + var resindexTable = $('#resindexTable'); | ||
225 | + autoHeight(resindexTable); | ||
226 | + laytpl($('#resindexTpl').html()).render({list: res.data}, function (html) { | ||
227 | + resindexTable.html(html); | ||
228 | + }); | ||
229 | + renderIndex('') | ||
230 | + } | ||
231 | + loadParamSelect(); | ||
232 | + //joke add 20200407,如果没有资源树,则默认资源页给提示无数据 开始 | ||
233 | + } | ||
234 | + }).error(function () { | ||
235 | + layer.close(loading); | ||
236 | + //joke add 20200407 | ||
237 | + //树无数据提示 | ||
238 | + tree.render({ | ||
239 | + elem: '#resindextree', | ||
240 | + showLine: false, | ||
241 | + data: new Array() | ||
242 | + }); | ||
243 | + //右侧无数据提示 | ||
244 | + var resindexTable = $('#resindexTable'); | ||
245 | + autoHeight(resindexTable); | ||
246 | + laytpl($('#resindexTpl').html()).render({list: new Array()}, function (html) { | ||
247 | + resindexTable.html(html); | ||
248 | + }); | ||
249 | + }); | ||
250 | + } | ||
251 | + | ||
252 | + function treeList(data){ | ||
247 | //默认展开全部一级节点 | 253 | //默认展开全部一级节点 |
248 | $.each(data,function (i,v) { | 254 | $.each(data,function (i,v) { |
249 | v.spread = true; | 255 | v.spread = true; |
@@ -309,7 +315,6 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | @@ -309,7 +315,6 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | ||
309 | } | 315 | } |
310 | } | 316 | } |
311 | } | 317 | } |
312 | - | ||
313 | //回选树节点 | 318 | //回选树节点 |
314 | function selectedTreeNode(target,parentTarget) { | 319 | function selectedTreeNode(target,parentTarget) { |
315 | var el = $(target).find('.layui-tree-txt').eq(0); | 320 | var el = $(target).find('.layui-tree-txt').eq(0); |
@@ -687,12 +692,27 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | @@ -687,12 +692,27 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | ||
687 | //回车搜索 | 692 | //回车搜索 |
688 | $('#resindex_keyword').keydown(function (e) { | 693 | $('#resindex_keyword').keydown(function (e) { |
689 | if (e.keyCode === 13) { | 694 | if (e.keyCode === 13) { |
695 | + resindexKeyword = $(this).val(); | ||
690 | // renderList(currentResType); | 696 | // renderList(currentResType); |
691 | reloadTable(); | 697 | reloadTable(); |
692 | return false; | 698 | return false; |
693 | } | 699 | } |
694 | }); | 700 | }); |
701 | + $(".layui-input-search").keydown(function (e) { | ||
702 | + if (e.keyCode === 13) { | ||
703 | + resHealthKeyWord = $(this).val(); | ||
704 | + resindexKeyword = $(this).val(); | ||
705 | + loadResTree($(this).val()); | ||
695 | 706 | ||
707 | + } | ||
708 | + }); | ||
709 | + //搜索按钮 | ||
710 | + $('#resSearch').unbind('click').on('click',function (){ | ||
711 | + resindexKeyword = $('#inputSearch').val(); | ||
712 | + resHealthKeyWord = $('#inputSearch').val(); | ||
713 | + loadResTree(resindexKeyword) | ||
714 | + }) | ||
715 | + loadResTree(''); | ||
696 | //资源详细信息 | 716 | //资源详细信息 |
697 | function renderDetail(resId, resType) { | 717 | function renderDetail(resId, resType) { |
698 | $('#resIndexContent').hide(); | 718 | $('#resIndexContent').hide(); |
@@ -950,7 +970,7 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | @@ -950,7 +970,7 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | ||
950 | , url: common.domainName + '/api-web/home/res-list/' + resType | 970 | , url: common.domainName + '/api-web/home/res-list/' + resType |
951 | , where: { | 971 | , where: { |
952 | access_token: accessToken, | 972 | access_token: accessToken, |
953 | - resName: $("#resindex_keyword").val(), | 973 | + resName: resindexKeyword, |
954 | busId: bizId, | 974 | busId: bizId, |
955 | resHealth: $("#resStatus").val(), | 975 | resHealth: $("#resStatus").val(), |
956 | colonlyId: $("#res_colony").val(), | 976 | colonlyId: $("#res_colony").val(), |
@@ -1040,6 +1060,7 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | @@ -1040,6 +1060,7 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | ||
1040 | $('#resDetailContent').empty(); | 1060 | $('#resDetailContent').empty(); |
1041 | $('#resDetailContent').hide(); | 1061 | $('#resDetailContent').hide(); |
1042 | $('#treeTableContent').hide(); | 1062 | $('#treeTableContent').hide(); |
1063 | + // $('#resindex_keyword').val(resindexKeyword) | ||
1043 | //加载查询条件 | 1064 | //加载查询条件 |
1044 | renderSerach(resType); | 1065 | renderSerach(resType); |
1045 | 1066 | ||
@@ -1077,7 +1098,7 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | @@ -1077,7 +1098,7 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | ||
1077 | , url: common.domainName + '/api-web/home/res-list/' + resType | 1098 | , url: common.domainName + '/api-web/home/res-list/' + resType |
1078 | , where: { | 1099 | , where: { |
1079 | access_token: accessToken, | 1100 | access_token: accessToken, |
1080 | - resName: $("#resindex_keyword").val() !== '' ? $("#resindex_keyword").val() : id, | 1101 | + resName: resindexKeyword !== '' ? resindexKeyword : id, |
1081 | busId: bizId, | 1102 | busId: bizId, |
1082 | resHealth: $("#resStatus").val(), | 1103 | resHealth: $("#resStatus").val(), |
1083 | colonlyId: $("#res_colony").val(), | 1104 | colonlyId: $("#res_colony").val(), |
@@ -1108,8 +1129,7 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | @@ -1108,8 +1129,7 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | ||
1108 | resTopo(); | 1129 | resTopo(); |
1109 | 1130 | ||
1110 | commonCols.colsClickEvent(editFlag); | 1131 | commonCols.colsClickEvent(editFlag); |
1111 | - | ||
1112 | - loadRightResTypeSelectEvent(curTreeNode.data.id, "normal", res.obj); | 1132 | + loadRightResTypeSelectEvent(curTreeNode.id ? curTreeNode.id : curTreeNode.data.id, "normal", res.obj); |
1113 | 1133 | ||
1114 | //表格排序监听 joke add 20200408 | 1134 | //表格排序监听 joke add 20200408 |
1115 | table.on('sort(resListTable)', function (obj) { | 1135 | table.on('sort(resListTable)', function (obj) { |
@@ -1164,7 +1184,6 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | @@ -1164,7 +1184,6 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | ||
1164 | //加载资源池、集群等查询条件 | 1184 | //加载资源池、集群等查询条件 |
1165 | function renderSerach(resType,subflag) { | 1185 | function renderSerach(resType,subflag) { |
1166 | //清空查询条件 joke add 20200409 开始 | 1186 | //清空查询条件 joke add 20200409 开始 |
1167 | - $('#resindex_keyword').val(''); | ||
1168 | $('#resStatus').val(''); | 1187 | $('#resStatus').val(''); |
1169 | // $('#resListBizTypes').val(''); | 1188 | // $('#resListBizTypes').val(''); |
1170 | if(xmSelect.get("#resListBizTypes") && xmSelect.get("#resListBizTypes")[0]){ | 1189 | if(xmSelect.get("#resListBizTypes") && xmSelect.get("#resListBizTypes")[0]){ |
@@ -1398,7 +1417,6 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | @@ -1398,7 +1417,6 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | ||
1398 | //加载右侧资源类型下拉框 | 1417 | //加载右侧资源类型下拉框 |
1399 | function loadRightResTypeSelectEvent(resType, type, obj) { | 1418 | function loadRightResTypeSelectEvent(resType, type, obj) { |
1400 | layer.closeAll('tips'); | 1419 | layer.closeAll('tips'); |
1401 | - | ||
1402 | var str = ''; | 1420 | var str = ''; |
1403 | var domStr = 'resListContent' | 1421 | var domStr = 'resListContent' |
1404 | var fun = reloadTable; | 1422 | var fun = reloadTable; |
@@ -1440,10 +1458,10 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | @@ -1440,10 +1458,10 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | ||
1440 | } | 1458 | } |
1441 | 1459 | ||
1442 | }); | 1460 | }); |
1443 | - if(resType == 'HOST_MINICOMPUTER' || resType=='HUAWEI_CLOUD_CLUSTER' || resType=='HUAWEI_CLOUD_COLONY' || resType=='HUAWEI_CLOUD_PHYSICSHOST' || | 1461 | + if (resType == 'HOST_MINICOMPUTER' || resType == 'HUAWEI_CLOUD_CLUSTER' || resType == 'HUAWEI_CLOUD_COLONY' || resType == 'HUAWEI_CLOUD_PHYSICSHOST' || |
1444 | resType == 'HUAWEI_CLOUD_STORAGE' || resType == 'HUAWEI_CLOUD_SWITCHBOARD' || resType == 'HUAWEI_CLOUD_FIREWALL' || resType == 'ALI_CLOUD_RDS' | 1462 | resType == 'HUAWEI_CLOUD_STORAGE' || resType == 'HUAWEI_CLOUD_SWITCHBOARD' || resType == 'HUAWEI_CLOUD_FIREWALL' || resType == 'ALI_CLOUD_RDS' |
1445 | - || resType == 'ALI_CLOUD_SLB' || resType == 'ALI_CLOUD_OSS'||resType=='VIRTUALIZATION_VMWARE_VHOST'||resType=='MIDDLEWARE_WEBLOGIC' | ||
1446 | - ){//屏蔽连接状态 | 1463 | + || resType == 'ALI_CLOUD_SLB' || resType == 'ALI_CLOUD_OSS' || resType == 'VIRTUALIZATION_VMWARE_VHOST' || resType == 'MIDDLEWARE_WEBLOGIC' |
1464 | + ) {//屏蔽连接状态 | ||
1447 | $('.info-box-count').eq(3).hide(); | 1465 | $('.info-box-count').eq(3).hide(); |
1448 | $('#link_state_div').hide(); | 1466 | $('#link_state_div').hide(); |
1449 | } | 1467 | } |
@@ -1459,7 +1477,7 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | @@ -1459,7 +1477,7 @@ layui.define(['common', 'tree', 'laypage', 'laytpl', 'admin', 'form', 'table', ' | ||
1459 | } | 1477 | } |
1460 | , where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式) | 1478 | , where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式) |
1461 | access_token: accessToken, | 1479 | access_token: accessToken, |
1462 | - resName: $("#resindex_keyword").val(), | 1480 | + resName: resindexKeyword, |
1463 | busId: bizId, | 1481 | busId: bizId, |
1464 | resHealth: $("#resStatus").val(), | 1482 | resHealth: $("#resStatus").val(), |
1465 | colonlyId: $("#res_colony").val(), | 1483 | colonlyId: $("#res_colony").val(), |
-
Please register or login to post a comment