Authored by 鲁尚清

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

…master-v32-lushangqing
@@ -22,10 +22,41 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele @@ -22,10 +22,41 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
22 var accessToken = sessions.getToken()['access_token']; 22 var accessToken = sessions.getToken()['access_token'];
23 var checkList = common.checkPermission(accessToken); 23 var checkList = common.checkPermission(accessToken);
24 //资源详细页面相关调用函数,包含各种展示类型的 24 //资源详细页面相关调用函数,包含各种展示类型的
  25 +
  26 + let editKpiList = [];
25 var obj = { 27 var obj = {
26 detailTimer:[], 28 detailTimer:[],
27 timerTime: 180000, 29 timerTime: 180000,
28 sessions: layui.sessions, 30 sessions: layui.sessions,
  31 + // 获取编辑指标
  32 + getEditKpiList:function (){
  33 +
  34 + if(editKpiList.length != 0){
  35 + return editKpiList;
  36 + }
  37 + editKpiList = [];
  38 + admin.req({
  39 + url: common.domainName + '/api-web/manage/ddic/findSucDdics/topoBindKpiIds?access_token='+accessToken
  40 + , method: 'POST'
  41 + , async: false
  42 + , success: function (res) {
  43 + // 添加一个 空置,如果获取的值为空,则下次不请求
  44 + editKpiList.push('----');
  45 + $.each(res.data, function (i, v) {
  46 + editKpiList.push(v.ddicCode)
  47 + });
  48 + }
  49 + });
  50 + return editKpiList;
  51 + },
  52 + checkKpi : function (kpiId){
  53 + var data = {}
  54 + var kpiIds = kpiId.split(',');
  55 + $.each(kpiIds, function (i, v) {
  56 + data[v] = editKpiList.includes(v);
  57 + });
  58 + return data;
  59 + },
29 /** 60 /**
30 * 渲染文本展示,key、value展示的方式 61 * 渲染文本展示,key、value展示的方式
31 * @param targetId html存放目标id 62 * @param targetId html存放目标id
@@ -155,6 +186,7 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele @@ -155,6 +186,7 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
155 if (data.value) { 186 if (data.value) {
156 val = parseFloat(data.value).toFixed(2); 187 val = parseFloat(data.value).toFixed(2);
157 } 188 }
  189 +
158 //获取编辑状态 190 //获取编辑状态
159 var editFlag = localStorage.getItem("editFlag");//是否编辑状态 191 var editFlag = localStorage.getItem("editFlag");//是否编辑状态
160 var piechbox = '<div class="layui-form" style="float: left;top: 15px;position: relative;left: 12px;" >' + 192 var piechbox = '<div class="layui-form" style="float: left;top: 15px;position: relative;left: 12px;" >' +
@@ -162,13 +194,38 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele @@ -162,13 +194,38 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
162 'data-id="' + kpiId + '" data-kpiname="' + data.name + '" data-flag="' + data.flag + '" data-name='+data.name+'></div>'; 194 'data-id="' + kpiId + '" data-kpiname="' + data.name + '" data-flag="' + data.flag + '" data-name='+data.name+'></div>';
163 pie.find("li").attr("data-degree", val); 195 pie.find("li").attr("data-degree", val);
164 var resStyle = obj.alarmEleMatchStyle(data.flag,kpiId); 196 var resStyle = obj.alarmEleMatchStyle(data.flag,kpiId);
165 - //可编辑状态的性能指标  
166 - if(data.ident=='1' && editFlag && editFlag == "true"){  
167 - pie.find(".pie-half-text").html(piechbox+"<b><u style='"+resStyle+"'>"+val + "%</u></b>");  
168 - form.render();  
169 - }else{  
170 - pie.find(".pie-half-text").find("b").html("<u style='"+resStyle+"'>"+val + "%</u>"); //增加下划线 197 +
  198 + // Start Wang 2021/11/18 15:03 查询字典编辑指标,判断编辑状态
  199 + // // 可编辑状态的性能指标
  200 + // if(data.ident=='1' && editFlag && editFlag == "true"){
  201 + // pie.find(".pie-half-text").html(piechbox+"<b><u style='"+resStyle+"'>"+val + "%</u></b>");
  202 + // form.render();
  203 + // }else{
  204 + // pie.find(".pie-half-text").find("b").html("<u style='"+resStyle+"'>"+val + "%</u>"); //增加下划线
  205 + // }
  206 + // 获取配置指标
  207 + var kpiList = obj.getEditKpiList();
  208 +
  209 + // 没有配置字典指标则按照性能指标判断
  210 + if(kpiList.length == 1){
  211 + // 可编辑状态的性能指标
  212 + if(data.ident=='1' && editFlag && editFlag == "true"){
  213 + pie.find(".pie-half-text").html(piechbox+"<b><u style='"+resStyle+"'>"+val + "%</u></b>");
  214 + form.render();
  215 + }else{
  216 + pie.find(".pie-half-text").find("b").html("<u style='"+resStyle+"'>"+val + "%</u>"); //增加下划线
  217 + }
  218 + } else {
  219 + // 按照指标配置展示
  220 + let kpiObject = obj.checkKpi(kpiId)
  221 + if(kpiObject[data.id] && kpiObject[data.id] == true){
  222 + pie.find(".pie-half-text").html(piechbox+"<b><u style='"+resStyle+"'>"+val + "%</u></b>");
  223 + form.render();
  224 + } else {
  225 + pie.find(".pie-half-text").find("b").html("<u style='"+resStyle+"'>"+val + "%</u>"); //增加下划线
  226 + }
171 } 227 }
  228 + // End Wang 2021/11/18 15:04 查询字典编辑指标,判断编辑状态
172 229
173 pie.find(".pie-half-text").find("span").text(data.name); 230 pie.find(".pie-half-text").find("span").text(data.name);
174 pie.find(".pie-half-text").find("b").css('cursor','pointer'); //增加悬浮显示手指样式 231 pie.find(".pie-half-text").find("b").css('cursor','pointer'); //增加悬浮显示手指样式
@@ -1673,29 +1730,78 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele @@ -1673,29 +1730,78 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
1673 if (d[v.id] && d[v.id].kpiId) { 1730 if (d[v.id] && d[v.id].kpiId) {
1674 var value = d[v.id]; 1731 var value = d[v.id];
1675 var resStyle = obj.alarmEleMatchStyle(value.flag,v.id); 1732 var resStyle = obj.alarmEleMatchStyle(value.flag,v.id);
1676 - //拼接表空间名称、文件系统名称等等,如果是性能指标或者趋势指标,则可以下探  
1677 - if (value.kpiIdent == '1' || value.isWarning == '1') {  
1678 - var chbox = '';  
1679 - if(editFlag && editFlag == "true" && value.kpiIdent == '1'){  
1680 - chbox = '<input lay-filter="kpicheckboxfilter" type="checkbox" lay-skin="primary" name="identKpiCheckbox" ' +  
1681 - 'data-id="' + v.id + '" data-kpiname="' + v.name + '" data-flag="' + value.flag + '" data-name="' + kpiname + '" data-unit="'+v.unit+'">';  
1682 - }  
1683 - return chbox + '<a class="link showlinechart_' + tableId + '" style="padding-left:5px;'+resStyle+'" ' + 'data-isWarning="'+value.isWarning+'" data-ident="'+value.kpiIdent+'"'+  
1684 - 'data-trend="'+value.isTrend+'" data-id="' + v.id + '" data-kpiname="' + kpiname + '" data-name="' + v.name + '" data-flag="' + value.flag + '">' + value.kpiValue + '</a>' +  
1685 - '<a class="detail_row_menu hide" data-isWarning="'+value.isWarning+'" data-ident="'+value.kpiIdent+'" data-trend="'+value.isTrend+'" ' +  
1686 - 'data-id="' + v.id + '" data-kpiname="' + kpiname + '" data-name="' + v.name + '" data-flag="' + value.flag + '"' +  
1687 - 'data-canca="' + value.canCA + '" data-incaing="' + value.inCAing + '" data-restype="'+resType+'"' +  
1688 - '>' +  
1689 - '<img style="width: 20px;height: 20px;" src="/src/style/img/icon_row_menu.png"></a>'; 1733 + // Start Wang 2021/11/18 15:03 查询字典编辑指标,判断编辑状态
  1734 + // //拼接表空间名称、文件系统名称等等,如果是性能指标或者趋势指标,则可以下探
  1735 + // if (value.kpiIdent == '1' || value.isWarning == '1') {
  1736 + // var chbox = '';
  1737 + // if(editFlag && editFlag == "true" && value.kpiIdent == '1'){
  1738 + // chbox = '<input lay-filter="kpicheckboxfilter" type="checkbox" lay-skin="primary" name="identKpiCheckbox" ' +
  1739 + // 'data-id="' + v.id + '" data-kpiname="' + v.name + '" data-flag="' + value.flag + '" data-name="' + kpiname + '" data-unit="'+v.unit+'">';
  1740 + // }
  1741 + // return chbox + '<a class="link showlinechart_' + tableId + '" style="padding-left:5px;'+resStyle+'" ' + 'data-isWarning="'+value.isWarning+'" data-ident="'+value.kpiIdent+'"'+
  1742 + // 'data-trend="'+value.isTrend+'" data-id="' + v.id + '" data-kpiname="' + kpiname + '" data-name="' + v.name + '" data-flag="' + value.flag + '">' + value.kpiValue + '</a>' +
  1743 + // '<a class="detail_row_menu hide" data-isWarning="'+value.isWarning+'" data-ident="'+value.kpiIdent+'" data-trend="'+value.isTrend+'" ' +
  1744 + // 'data-id="' + v.id + '" data-kpiname="' + kpiname + '" data-name="' + v.name + '" data-flag="' + value.flag + '"' +
  1745 + // 'data-canca="' + value.canCA + '" data-incaing="' + value.inCAing + '" data-restype="'+resType+'"' +
  1746 + // '>' +
  1747 + // '<img style="width: 20px;height: 20px;" src="/src/style/img/icon_row_menu.png"></a>';
  1748 + //
  1749 + // } else {
  1750 + // var $html = addIconByValue(value.kpiValue);
  1751 + // //根据资源类型判断 修改样式
  1752 + // if($html!="" && resType!="" && resType=="HOST_X86SERVER" && $html=='<i class="iconfont icon-size serious">\ue668</i>'){
  1753 + // $html='<i class="iconfont icon-size grayColor">\ue61e</i>';
  1754 + // }
  1755 + // return '<a data-id="' + v.id + '"data-flag="' + value.flag + '">' + $html + value.kpiValue + '</a>';
  1756 + // }
  1757 + let arr = obj.getEditKpiList();
  1758 + var chbox = '<input lay-filter="kpicheckboxfilter" type="checkbox" lay-skin="primary" name="identKpiCheckbox" ' +
  1759 + 'data-id="' + v.id + '" data-kpiname="' + v.name + '" data-flag="' + value.flag + '" data-name="' + kpiname + '" data-unit="' + v.unit + '">';
  1760 + if(arr.length == 1){
  1761 + if (value.kpiIdent == '1' || value.isWarning == '1') {
  1762 +
  1763 + if (!(editFlag && editFlag == "true" && value.kpiIdent == '1')) {
  1764 + chbox = '';
  1765 + }
  1766 + return chbox + '<a class="link showlinechart_' + tableId + '" style="padding-left:5px;' + resStyle + '" ' + 'data-isWarning="' + value.isWarning + '" data-ident="' + value.kpiIdent + '"' +
  1767 + 'data-trend="' + value.isTrend + '" data-id="' + v.id + '" data-kpiname="' + kpiname + '" data-name="' + v.name + '" data-flag="' + value.flag + '">' + value.kpiValue + '</a>' +
  1768 + '<a class="detail_row_menu hide" data-isWarning="' + value.isWarning + '" data-ident="' + value.kpiIdent + '" data-trend="' + value.isTrend + '" ' +
  1769 + 'data-id="' + v.id + '" data-kpiname="' + kpiname + '" data-name="' + v.name + '" data-flag="' + value.flag + '"' +
  1770 + 'data-canca="' + value.canCA + '" data-incaing="' + value.inCAing + '" data-restype="' + resType + '"' +
  1771 + '>' +
  1772 + '<img style="width: 20px;height: 20px;" src="/src/style/img/icon_row_menu.png"></a>';
1690 1773
  1774 + } else {
  1775 + var $html = addIconByValue(value.kpiValue);
  1776 + //根据资源类型判断 修改样式
  1777 + if ($html != "" && resType != "" && resType == "HOST_X86SERVER" && $html == '<i class="iconfont icon-size serious">\ue668</i>') {
  1778 + $html = '<i class="iconfont icon-size grayColor">\ue61e</i>';
  1779 + }
  1780 + return '<a data-id="' + v.id + '"data-flag="' + value.flag + '">' + $html + value.kpiValue + '</a>';
  1781 + }
1691 } else { 1782 } else {
1692 - var $html = addIconByValue(value.kpiValue);  
1693 - //根据资源类型判断 修改样式  
1694 - if($html!="" && resType!="" && resType=="HOST_X86SERVER" && $html=='<i class="iconfont icon-size serious">\ue668</i>'){  
1695 - $html='<i class="iconfont icon-size grayColor">\ue61e</i>'; 1783 + var kpiId = d[v.id].kpiId;
  1784 + // 按照指标配置展示
  1785 + let kpiObject = obj.checkKpi(kpiId)
  1786 + if(kpiObject[kpiId] && kpiObject[kpiId] == true){
  1787 + return chbox + '<a class="link showlinechart_' + tableId + '" style="padding-left:5px;' + resStyle + '" ' + 'data-isWarning="' + value.isWarning + '" data-ident="' + value.kpiIdent + '"' +
  1788 + 'data-trend="' + value.isTrend + '" data-id="' + v.id + '" data-kpiname="' + kpiname + '" data-name="' + v.name + '" data-flag="' + value.flag + '">' + value.kpiValue + '</a>' +
  1789 + '<a class="detail_row_menu hide" data-isWarning="' + value.isWarning + '" data-ident="' + value.kpiIdent + '" data-trend="' + value.isTrend + '" ' +
  1790 + 'data-id="' + v.id + '" data-kpiname="' + kpiname + '" data-name="' + v.name + '" data-flag="' + value.flag + '"' +
  1791 + 'data-canca="' + value.canCA + '" data-incaing="' + value.inCAing + '" data-restype="' + resType + '"' +
  1792 + '>' +
  1793 + '<img style="width: 20px;height: 20px;" src="/src/style/img/icon_row_menu.png"></a>';
  1794 + } else {
  1795 + var $html = addIconByValue(value.kpiValue);
  1796 + //根据资源类型判断 修改样式
  1797 + if ($html != "" && resType != "" && resType == "HOST_X86SERVER" && $html == '<i class="iconfont icon-size serious">\ue668</i>') {
  1798 + $html = '<i class="iconfont icon-size grayColor">\ue61e</i>';
  1799 + }
  1800 + return '<a data-id="' + v.id + '"data-flag="' + value.flag + '">' + $html + value.kpiValue + '</a>';
1696 } 1801 }
1697 - return '<a data-id="' + v.id + '"data-flag="' + value.flag + '">' + $html + value.kpiValue + '</a>';  
1698 } 1802 }
  1803 +
  1804 + // End Wang 2021/11/18 15:03 查询字典编辑指标,判断编辑状态
1699 } else { 1805 } else {
1700 return d[v.id]; 1806 return d[v.id];
1701 } 1807 }
@@ -35,7 +35,21 @@ export default { @@ -35,7 +35,21 @@ export default {
35 { 35 {
36 name:'89.12.97.3', 36 name:'89.12.97.3',
37 datas:[1,1,1,1,1,1,1,1], 37 datas:[1,1,1,1,1,1,1,1],
38 - flag:'vmem' 38 + flag:'cpu'
  39 + }
  40 + ]
  41 + }
  42 + },
  43 + res2:{
  44 + code:'0',
  45 + data:{
  46 + kpiUnit:'%',
  47 + names:['20:10','21:10','22:15','23:15'],
  48 + series:[
  49 + {
  50 + name:'89.12.97.2',
  51 + datas:[1,1,1,1,1,1,1,1],
  52 + flag:'cpu'
39 } 53 }
40 ] 54 ]
41 } 55 }
@@ -73,7 +87,6 @@ export default { @@ -73,7 +87,6 @@ export default {
73 methods: { 87 methods: {
74 getData1(that){ 88 getData1(that){
75 // const { proxy } = Vue.getCurrentInstance(); 89 // const { proxy } = Vue.getCurrentInstance();
76 -  
77 var params = { 90 var params = {
78 resId: that.resId1, 91 resId: that.resId1,
79 kpiIds: that.kpiIds, 92 kpiIds: that.kpiIds,
@@ -89,10 +102,10 @@ export default { @@ -89,10 +102,10 @@ export default {
89 if(res.data.series && res.data.series.length>0){ 102 if(res.data.series && res.data.series.length>0){
90 resData=res.data; 103 resData=res.data;
91 }else{ 104 }else{
92 - resData=that.res1.data; 105 + resData=that.res2.data;
93 } 106 }
94 }else{ 107 }else{
95 - resData=that.res1.data; 108 + resData=that.res2.data;
96 109
97 } 110 }
98 that.allData.polyline.data.push(resData.series[0]) 111 that.allData.polyline.data.push(resData.series[0])
@@ -32,7 +32,21 @@ export default { @@ -32,7 +32,21 @@ export default {
32 names:['20:10','21:10','22:15','23:15'], 32 names:['20:10','21:10','22:15','23:15'],
33 series:[ 33 series:[
34 { 34 {
35 - name:'89.12.97.3', 35 + name:'80.12.97.7',
  36 + datas:[1,1,1,1,1,1,1,1],
  37 + flag:'cpu'
  38 + }
  39 + ]
  40 + }
  41 + },
  42 + res2:{
  43 + code:'0',
  44 + data:{
  45 + kpiUnit:'%',
  46 + names:['20:10','21:10','22:15','23:15'],
  47 + series:[
  48 + {
  49 + name:'80.12.97.8',
36 datas:[1,1,1,1,1,1,1,1], 50 datas:[1,1,1,1,1,1,1,1],
37 flag:'cpu' 51 flag:'cpu'
38 } 52 }
@@ -83,11 +97,11 @@ export default { @@ -83,11 +97,11 @@ export default {
83 if(res.data.series && res.data.series.length>0){ 97 if(res.data.series && res.data.series.length>0){
84 resData=res.data; 98 resData=res.data;
85 }else{ 99 }else{
86 - resData=that.res1.data; 100 + resData=that.res2.data;
87 } 101 }
88 102
89 }else{ 103 }else{
90 - resData=that.res1.data 104 + resData=that.res2.data
91 } 105 }
92 that.allData.polyline.data.push(resData.series[0]) 106 that.allData.polyline.data.push(resData.series[0])
93 that.updateChart() 107 that.updateChart()