Authored by 张凯

feat:天津分支增加绿盟ads及绿盟ips页面,并调整负载均衡详情页

@@ -1199,18 +1199,39 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin', @@ -1199,18 +1199,39 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin',
1199 ], 1199 ],
1200 "NETSAFE_IPS": [ 1200 "NETSAFE_IPS": [
1201 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'}, 1201 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'},
  1202 + {field: 'ip', title: 'IP地址', minWidth: x_130, align: 'center', sort: true},
1202 { 1203 {
1203 - field: 'resName', title: '资源名称', minWidth: 250, sort: true, 1204 + field: 'resName', title: '资源名称', minWidth: x_350, sort: true,
1204 templet: '#resindex_resName' 1205 templet: '#resindex_resName'
1205 }, 1206 },
1206 - {field: 'ip', title: 'IP地址', width: 130, align: 'center', sort: true},  
1207 - {field: 'resTypeName', title: '资源类型', width: 101, align: 'center'},  
1208 - {field: 'adminName', title: '负责人', width: 123, align: 'center', sort: true},  
1209 - {field: 'adminPhone', title: '负责人电话', width: 118, align: 'center', sort: true},  
1210 - {field: 'state', title: '资源状态', width: 98, align: 'center', sort: true, templet: '#resStateTpl'},  
1211 - {field: 'health', title: '健康状态', width: 83, align: 'center', sort: true, templet: '#healthTpl'},  
1212 - {field: 'lastColTime', title: '最近采集时间', width: 161, align: 'center', sort: true},  
1213 - {field: 'linkState', title: '连接状态', align: 'center', width: 85, templet: '#linkStateTpl', sort: true} 1207 + {field: 'model', title: '型号', minWidth: x_130, align: 'center', sort: true, },
  1208 + {field: 'health', title: '健康状态', minWidth: x_110, align: 'center', sort: true, templet: '#healthTpl'},
  1209 + {field: 'cpuRate', title: 'CPU使用率', align: 'center', minWidth: x_120, templet: '#cpuRateTpl', sort: true},
  1210 + {field: 'memoryRate', title: '内存使用率', align: 'center', minWidth: x_120, templet: '#memoryRateTpl', sort: true},
  1211 + {field: 'lastColTime', title: '最近采集时间', minWidth: x_160, align: 'center', sort: true},
  1212 + {field: 'linkState', title: '连接状态', align: 'center', minWidth: x_110, templet: '#linkStateTpl', sort: true},
  1213 + {field: 'adminName', title: '负责人', minWidth: x_120, align: 'center', sort: true},
  1214 + {field: 'adminPhone', title: '负责人电话', minWidth: x_130, align: 'center', sort: true},
  1215 + {field: 'resTypeName', title: '资源类型', minWidth: x_110, align: 'center'},
  1216 + {field: 'state', title: '资源状态', minWidth: x_110, align: 'center', sort: true, templet: '#resStateTpl'}
  1217 + ],
  1218 + "NETSAFE_ADS": [
  1219 + //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'},
  1220 + {field: 'ip', title: 'IP地址', minWidth: x_130, align: 'center', sort: true},
  1221 + {
  1222 + field: 'resName', title: '资源名称', minWidth: x_350, sort: true,
  1223 + templet: '#resindex_resName'
  1224 + },
  1225 + {field: 'model', title: '型号', minWidth: x_130, align: 'center', sort: true, },
  1226 + {field: 'health', title: '健康状态', minWidth: x_110, align: 'center', sort: true, templet: '#healthTpl'},
  1227 + {field: 'cpuRate', title: 'CPU使用率', align: 'center', minWidth: x_120, templet: '#cpuRateTpl', sort: true},
  1228 + {field: 'memoryRate', title: '内存使用率', align: 'center', minWidth: x_120, templet: '#memoryRateTpl', sort: true},
  1229 + {field: 'lastColTime', title: '最近采集时间', minWidth: x_160, align: 'center', sort: true},
  1230 + {field: 'linkState', title: '连接状态', align: 'center', minWidth: x_110, templet: '#linkStateTpl', sort: true},
  1231 + {field: 'adminName', title: '负责人', minWidth: x_120, align: 'center', sort: true},
  1232 + {field: 'adminPhone', title: '负责人电话', minWidth: x_130, align: 'center', sort: true},
  1233 + {field: 'resTypeName', title: '资源类型', minWidth: x_110, align: 'center'},
  1234 + {field: 'state', title: '资源状态', minWidth: x_110, align: 'center', sort: true, templet: '#resStateTpl'}
1214 ], 1235 ],
1215 "NETSAFE_IDS": [ 1236 "NETSAFE_IDS": [
1216 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'}, 1237 //{type: 'numbers', title: '序号', align: 'center', fixed: 'left'},
@@ -3398,6 +3398,12 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele @@ -3398,6 +3398,12 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
3398 }else if (res.resType === 'NETSAFE_FIREWALL') { 3398 }else if (res.resType === 'NETSAFE_FIREWALL') {
3399 var str='NETSAFE_FIREWALL_'+res.provider; 3399 var str='NETSAFE_FIREWALL_'+res.provider;
3400 url = common.detailPath(str,res.resId) 3400 url = common.detailPath(str,res.resId)
  3401 + }else if (res.resType === 'NETSAFE_IPS') {
  3402 + var str='NETSAFE_IPS_'+res.provider;
  3403 + url = common.detailPath(str,res.resId)
  3404 + }else if (res.resType === 'NETSAFE_ADS') {
  3405 + var str='NETSAFE_ADS_'+res.provider;
  3406 + url = common.detailPath(str,res.resId)
3401 }else { 3407 }else {
3402 url = common.detailPath(res.resType,res.resId,protocol); 3408 url = common.detailPath(res.resType,res.resId,protocol);
3403 } 3409 }
@@ -3519,7 +3525,7 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele @@ -3519,7 +3525,7 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
3519 } 3525 }
3520 title += `<a class="layui-icon filterList" data-id=${resId} lay-tips="指标过滤清单" style="margin-left: 10px"><i class="iconfont">&#XE516;</i></a>`; 3526 title += `<a class="layui-icon filterList" data-id=${resId} lay-tips="指标过滤清单" style="margin-left: 10px"><i class="iconfont">&#XE516;</i></a>`;
3521 title += `<a class="layui-icon res-view-relation-topo" data-id=${resId} lay-tips="查看资源关系拓扑" style="margin-left: 10px"><i class="iconfont">&#XE515;</i></a>`; 3527 title += `<a class="layui-icon res-view-relation-topo" data-id=${resId} lay-tips="查看资源关系拓扑" style="margin-left: 10px"><i class="iconfont">&#XE515;</i></a>`;
3522 - if (resCategory === 'share' && hardwareFlag.endsWith("Y")) { 3528 + if (resCategory === 'share' && hardwareFlag && hardwareFlag.endsWith("Y")) {
3523 title += `<a class="layui-icon res-view-assets-details" data-ip=${ip} data-name=${name} data-restype=${resType} data-id=${resId} lay-tips="资产配置信息"><i class="iconfont">&#XE517;</i></a>`; 3529 title += `<a class="layui-icon res-view-assets-details" data-ip=${ip} data-name=${name} data-restype=${resType} data-id=${resId} lay-tips="资产配置信息"><i class="iconfont">&#XE517;</i></a>`;
3524 } 3530 }
3525 if (res.state == 'new' && hardwareFlag.endsWith("N")){ 3531 if (res.state == 'new' && hardwareFlag.endsWith("N")){
@@ -20,18 +20,18 @@ layui.define(['laypage', 'commonDetail', 'common', 'element', 'admin'], function @@ -20,18 +20,18 @@ layui.define(['laypage', 'commonDetail', 'common', 'element', 'admin'], function
20 } 20 }
21 commonDetail.bindTips(); 21 commonDetail.bindTips();
22 //基本信息 22 //基本信息
23 - var jbxxKpiId = 'KPIBB1082BE,KPI72E7FB4B,KPIE13DD9A3,KPI9F694F60,KPIDAC7AC64,KPICA591C11,KPIF74D9D2B'; 23 + var jbxxKpiId = 'KPIBB1082BE,KPI72E7FB4B,KPIE13DD9A3,KPI9F694F60,KPIDAC7AC64,KPICA591C11,KPIF74D9D2B,KPI9F694F60,KPIDAC7AC64';
24 // 关键信息 24 // 关键信息
25 //2020-02-07 xwx屏蔽:内存大小 与李腾飞确认采集不到,屏蔽 25 //2020-02-07 xwx屏蔽:内存大小 与李腾飞确认采集不到,屏蔽
26 - var zyxxKpiId = 'KPIA838A981,KPI4A216352'; 26 + var zyxxKpiId = 'KPIA838A981,KPI4A216352,KPI1584BE1C';
27 // 风扇信息 27 // 风扇信息
28 var haKpiIds = 'KPI28C9A37D,KPIF5D53796,KPI1A9360B6'; 28 var haKpiIds = 'KPI28C9A37D,KPIF5D53796,KPI1A9360B6';
29 // 硬盘信息 29 // 硬盘信息
30 //2020-02-07 xwx屏蔽:硬盘温度 与李腾飞确认采集不到,屏蔽 30 //2020-02-07 xwx屏蔽:硬盘温度 与李腾飞确认采集不到,屏蔽
31 - var diskKpiIds = 'KPI9D22EAB6,KPI29D42042,KPI1988842F,KPI50331084,KPI2C8A6D17'; 31 + var diskKpiIds = 'KPI9D22EAB6,KPI29D42042,KPI1988842F,KPI50331084,KPI2C8A6D17,KPI7E96CACC';
32 // 虚拟服务信息 32 // 虚拟服务信息
33 //2020-02-07 xwx屏蔽:启动状态,IP地址,端口号 与李腾飞确认采集不到,屏蔽 33 //2020-02-07 xwx屏蔽:启动状态,IP地址,端口号 与李腾飞确认采集不到,屏蔽
34 - var vsKpiIds = 'KPIFABFD741'; 34 + var vsKpiIds = 'KPIFABFD741,KPI39C76443,KPI9B417789,KPIFB844B8B';
35 35
36 reload() 36 reload()
37 37
  1 +//netsafe_ads_nsfocus.js
  2 +layui.define(['laypage', 'commonDetail','common'], function (exports) {
  3 + var commonDetail = layui.commonDetail;
  4 + var common = layui.common;
  5 + //对外暴露的接口
  6 + exports('netsafe_ads_nsfocus', function (data) {
  7 + var resId = '';
  8 + var provider = '';
  9 + var showFlag = common.getUrlParam("show");
  10 + if(showFlag && showFlag == '0'){
  11 + resId = common.getUrlParam("resId");
  12 + provider = common.getUrlParam("provider");
  13 + }else{
  14 + resId = data.resId;
  15 + provider = data.provider;
  16 + }
  17 + commonDetail.bindTips();
  18 +
  19 + //基本信息
  20 + var jbxxKpiId = 'KPI02F41E23,KPI9F694F60,KPI35BFAE04,KPI961872D9';
  21 + //重要信息
  22 + var zyKpiId = 'KPI8C8CDA73';
  23 + //接口信息kpiids
  24 + var interfaceinfoKpis = 'KPI49ACAAFD,KPI1A03F672,KPIB28E7495,KPIBD006E36,KPIE4B51D5C,KPI7E81DFB5,KPI7D3D3496,KPICFEE28E9';
  25 +
  26 + reload()
  27 +
  28 + //渲染页面
  29 + function reload() {
  30 + //基本信息
  31 + commonDetail.renderText('netsafe_ads_nsfocus_jbxx',resId,jbxxKpiId,null,null,null,"false");
  32 + //重要信息
  33 + commonDetail.renderText('netsafe_ads_nsfocus_zyxx',resId,zyKpiId,null,null,null,"false");
  34 + //CPU使用率性能曲线
  35 + commonDetail.renderLineCharat("netsafe_ads_nsfocus_cpu_linechart",resId,"KPI7054BC34","CPU使用率",'cpu');
  36 + //内存使用率性能曲线
  37 + commonDetail.renderLineCharat("netsafe_ads_nsfocus_mem_linechart",resId,"KPI31CB8D97","内存使用率",'mem');
  38 + //接口信息
  39 + commonDetail.renderTable("netsafe_ads_nsfocus_interface_info",false,resId,interfaceinfoKpis,'接口信息','interface','KPI49ACAAFD','ASC',10);
  40 + //活动告警
  41 + commonDetail.renderActiveAlarms("netsafe_ads_nsfocus_active_alram",resId);
  42 + }
  43 +
  44 + //定时任务
  45 + var timer = setInterval(function () {
  46 + reload()
  47 + },commonDetail.timerTime);
  48 + commonDetail.detailTimer.push(timer);
  49 + });
  50 +});
  1 +//netsafe_ips_nsfocus.js
  2 +layui.define(['laypage', 'commonDetail','common'], function (exports) {
  3 + var commonDetail = layui.commonDetail;
  4 + var common = layui.common;
  5 + //对外暴露的接口
  6 + exports('netsafe_ips_nsfocus', function (data) {
  7 + var resId = '';
  8 + var provider = '';
  9 + var showFlag = common.getUrlParam("show");
  10 + if(showFlag && showFlag == '0'){
  11 + resId = common.getUrlParam("resId");
  12 + provider = common.getUrlParam("provider");
  13 + }else{
  14 + resId = data.resId;
  15 + provider = data.provider;
  16 + }
  17 + commonDetail.bindTips();
  18 +
  19 + //基本信息
  20 + var jbxxKpiId = 'KPI02F41E23,KPI54DC5912,KPI2D507904,KPI9F694F60,KPI35BFAE04,KPI961872D9';
  21 + //重要信息
  22 + var zyKpiId = 'KPI8C8CDA73';
  23 + //接口信息kpiids
  24 + var interfaceinfoKpis = 'KPI49ACAAFD,KPI1A03F672,KPIB28E7495,KPIBD006E36,KPIE4B51D5C,KPI7E81DFB5,KPI7D3D3496,KPICFEE28E9';
  25 +
  26 + reload()
  27 +
  28 + //渲染页面
  29 + function reload() {
  30 + //基本信息
  31 + commonDetail.renderText('netsafe_ips_nsfocus_jbxx',resId,jbxxKpiId,null,null,null,"false");
  32 + //重要信息
  33 + commonDetail.renderText('netsafe_ips_nsfocus_zyxx',resId,zyKpiId,null,null,null,"false");
  34 + //TCP每秒会话数
  35 + commonDetail.renderLineCharat("netsafe_ips_nsfocus_link_linechart",resId,"KPI72FBD484","TCP每秒会话数",'session');
  36 + //CPU使用率性能曲线
  37 + commonDetail.renderLineCharat("netsafe_ips_nsfocus_cpu_linechart",resId,"KPI7054BC34","CPU使用率",'cpu');
  38 + //内存使用率性能曲线
  39 + commonDetail.renderLineCharat("netsafe_ips_nsfocus_mem_linechart",resId,"KPI31CB8D97","内存使用率",'mem');
  40 + //接口信息
  41 + commonDetail.renderTable("netsafe_ips_nsfocus_interface_info",false,resId,interfaceinfoKpis,'接口信息','interface','KPI49ACAAFD','ASC',10);
  42 + //活动告警
  43 + commonDetail.renderActiveAlarms("netsafe_ips_nsfocus_active_alram",resId);
  44 + }
  45 +
  46 + //定时任务
  47 + var timer = setInterval(function () {
  48 + reload()
  49 + },commonDetail.timerTime);
  50 + commonDetail.detailTimer.push(timer);
  51 + });
  52 +});
  1 +<!--netsafe_ads_nsfocus详细页面 绿盟科技ads-->
  2 +<article class="page-container template">
  3 + <div class="page-panel">
  4 + <div class="main">
  5 + <div class="layui-card">
  6 + <div class="layui-card-body">
  7 + <div class="lay-row">
  8 + <div class="lay-row-item">
  9 + <h5 class="lay-row-title">基本信息</h5>
  10 + <ul class="info-table" id="netsafe_ads_nsfocus_jbxx"></ul>
  11 + </div>
  12 + <div class="lay-row-item">
  13 + <h5 class="lay-row-title">重要信息</h5>
  14 + <ul class="info-table" id="netsafe_ads_nsfocus_zyxx"></ul>
  15 + </div>
  16 + <div class="lay-row-item layui-hide secLink">
  17 + <h5 class="lay-row-title">每秒新建连接数</h5>
  18 + <div id="netsafe_ads_nsfocus_sec_linechart" class="detail_line_chart"></div>
  19 + </div>
  20 + </div>
  21 + <div class="lay-row">
  22 + <div class="lay-row-item">
  23 + <h5 class="lay-row-title">CPU使用率</h5>
  24 + <div id="netsafe_ads_nsfocus_cpu_linechart" class="detail_line_chart"></div>
  25 + </div>
  26 + <div class="lay-row-item">
  27 + <h5 class="lay-row-title">内存使用率</h5>
  28 + <div id="netsafe_ads_nsfocus_mem_linechart" class="detail_line_chart"></div>
  29 + </div>
  30 + </div>
  31 + <div class="lay-row">
  32 + <div class="lay-row-item">
  33 + <h5 class="lay-row-title">接口信息<span id="netsafe_ads_nsfocus_interface_infoDownload" class="layui-table-link" style="margin-left: 10px;">下载</span><span id="netsafe_ads_nsfocus_interface_infoMore" class="layui-table-link">更多</span></h5>
  34 + <div id="netsafe_ads_nsfocus_interface_info"></div>
  35 + </div>
  36 + </div>
  37 + <div class="lay-row">
  38 + <div class="lay-row-item">
  39 + <h5 class="lay-row-title">实时告警动态</h5>
  40 + <div id="netsafe_ads_nsfocus_active_alram"></div>
  41 + </div>
  42 + </div>
  43 + </div>
  44 + </div>
  45 + </div>
  46 + </div>
  47 +</article>
  48 +<textarea id="netsafe_ads_nsfocus_param_id" style="display: none;">{{d}}</textarea>
  49 +<script>
  50 + layui.use('netsafe_ads_nsfocus', function (fn) {
  51 + var $ = layui.$;
  52 + var parm = $("#netsafe_ads_nsfocus_param_id").val();
  53 + if(parm.indexOf('{{d') != -1){
  54 + fn();
  55 + }else{
  56 + fn(JSON.parse(parm));
  57 + }
  58 + });
  59 +</script>
  1 +<!--netsafe_ips_nsfocus详细页面 绿盟科技ips-->
  2 +<article class="page-container template">
  3 + <div class="page-panel">
  4 + <div class="main">
  5 + <div class="layui-card">
  6 + <div class="layui-card-body">
  7 + <div class="lay-row">
  8 + <div class="lay-row-item">
  9 + <h5 class="lay-row-title">基本信息</h5>
  10 + <ul class="info-table" id="netsafe_ips_nsfocus_jbxx"></ul>
  11 + </div>
  12 + <div class="lay-row-item">
  13 + <h5 class="lay-row-title">重要信息</h5>
  14 + <ul class="info-table" id="netsafe_ips_nsfocus_zyxx"></ul>
  15 + </div>
  16 + <div class="lay-row-item">
  17 + <h5 class="lay-row-title">TCP每秒会话数</h5>
  18 + <div id="netsafe_ips_nsfocus_link_linechart" class="detail_line_chart"></div>
  19 + </div>
  20 + <div class="lay-row-item layui-hide secLink">
  21 + <h5 class="lay-row-title">每秒新建连接数</h5>
  22 + <div id="netsafe_ips_nsfocus_sec_linechart" class="detail_line_chart"></div>
  23 + </div>
  24 + </div>
  25 + <div class="lay-row">
  26 + <div class="lay-row-item">
  27 + <h5 class="lay-row-title">CPU使用率</h5>
  28 + <div id="netsafe_ips_nsfocus_cpu_linechart" class="detail_line_chart"></div>
  29 + </div>
  30 + <div class="lay-row-item">
  31 + <h5 class="lay-row-title">内存使用率</h5>
  32 + <div id="netsafe_ips_nsfocus_mem_linechart" class="detail_line_chart"></div>
  33 + </div>
  34 + </div>
  35 + <div class="lay-row">
  36 + <div class="lay-row-item">
  37 + <h5 class="lay-row-title">接口信息<span id="netsafe_ips_nsfocus_interface_infoDownload" class="layui-table-link" style="margin-left: 10px;">下载</span><span id="netsafe_ips_nsfocus_interface_infoMore" class="layui-table-link">更多</span></h5>
  38 + <div id="netsafe_ips_nsfocus_interface_info"></div>
  39 + </div>
  40 + </div>
  41 + <div class="lay-row">
  42 + <div class="lay-row-item">
  43 + <h5 class="lay-row-title">实时告警动态</h5>
  44 + <div id="netsafe_ips_nsfocus_active_alram"></div>
  45 + </div>
  46 + </div>
  47 + </div>
  48 + </div>
  49 + </div>
  50 + </div>
  51 +</article>
  52 +<textarea id="netsafe_ips_nsfocus_param_id" style="display: none;">{{d}}</textarea>
  53 +<script>
  54 + layui.use('netsafe_ips_nsfocus', function (fn) {
  55 + var $ = layui.$;
  56 + var parm = $("#netsafe_ips_nsfocus_param_id").val();
  57 + if(parm.indexOf('{{d') != -1){
  58 + fn();
  59 + }else{
  60 + fn(JSON.parse(parm));
  61 + }
  62 + });
  63 +</script>