Authored by 王涛
@@ -2148,6 +2148,42 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele @@ -2148,6 +2148,42 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
2148 } 2148 }
2149 barlinecharts.setOption(option); 2149 barlinecharts.setOption(option);
2150 }, 2150 },
  2151 + renderStoreAlarms:function (tableId,resId){
  2152 + var alarmlist = table.render({
  2153 + elem: '#' + tableId
  2154 + , url: common.domainName + '/api-web/busType/getStore'
  2155 + , where: {
  2156 + access_token: obj.sessions.getToken().access_token,
  2157 + ResId: resId
  2158 + }
  2159 + , height: 'auto'
  2160 + , page: {
  2161 + layout: ['count', 'prev', 'page', 'next', 'limit', 'skip']
  2162 + ,theme: '#1E9FFF'
  2163 + }
  2164 + , limit: 5
  2165 + , even: true
  2166 + , cols: [[
  2167 + {
  2168 + field: 'provider', title: '存储品牌型号', align: 'center', width: 421,
  2169 + }
  2170 + , {
  2171 + field: 'model', title: '存储序列号', align: 'center',width: 421, sort: true,
  2172 + }
  2173 + , {
  2174 + field: 'lunName', title: 'lun名称', align: 'center',width: 421
  2175 + }
  2176 + , {
  2177 + field: 'lunSize', title: '大小', align: 'center', width: 421,
  2178 + }
  2179 + ]],
  2180 + done: function (res) {
  2181 + if (res.data && res.data.length > 0) {
  2182 + document.getElementById("hostminicomputerpartition_storeMessage").style.display="block"
  2183 + }
  2184 + }
  2185 + })
  2186 + },
2151 /** 2187 /**
2152 * 活动告警 2188 * 活动告警
2153 * @param tableId 2189 * @param tableId
@@ -95,6 +95,8 @@ layui.define(['commonDetail','common','sessions'], function (exports) { @@ -95,6 +95,8 @@ layui.define(['commonDetail','common','sessions'], function (exports) {
95 commonDetail.renderTable('hostminicomputerpartition_port_detection_id',false,resId,portDetTableKpiId,'端口存活侦测','port'); 95 commonDetail.renderTable('hostminicomputerpartition_port_detection_id',false,resId,portDetTableKpiId,'端口存活侦测','port');
96 //活动告警 96 //活动告警
97 commonDetail.renderActiveAlarms('hostminicomputerpartition_alarmlist',resId); 97 commonDetail.renderActiveAlarms('hostminicomputerpartition_alarmlist',resId);
  98 + //存储信息
  99 + commonDetail.renderStoreAlarms('hostminicomputerpartition_store',resId);
98 } 100 }
99 101
100 function findOracleRelationByResId() { 102 function findOracleRelationByResId() {
@@ -23,6 +23,12 @@ @@ -23,6 +23,12 @@
23 </div> 23 </div>
24 </div> 24 </div>
25 </div> 25 </div>
  26 + <div class="lay-row" id="hostminicomputerpartition_storeMessage" style="display:none;">
  27 + <div class="lay-row-item">
  28 + <h5 class="lay-row-title">存储信息</h5>
  29 + <div id="hostminicomputerpartition_store"></div>
  30 + </div>
  31 + </div>
26 <div class="lay-row"> 32 <div class="lay-row">
27 <div class="lay-row-item"> 33 <div class="lay-row-item">
28 <h5 class="lay-row-title">文件系统<span id="hostminicomputerpartition_sysfileDownload" class="layui-table-link" style="margin-left: 10px;">下载</span><span id="hostminicomputerpartition_sysfileMore" class="layui-table-link">更多</span></h5> 34 <h5 class="lay-row-title">文件系统<span id="hostminicomputerpartition_sysfileDownload" class="layui-table-link" style="margin-left: 10px;">下载</span><span id="hostminicomputerpartition_sysfileMore" class="layui-table-link">更多</span></h5>
@@ -67,7 +67,7 @@ @@ -67,7 +67,7 @@
67 </el-button> 67 </el-button>
68 68
69 </div> 69 </div>
70 - <div class="select-all"> 70 + <div class="select-all" v-if="isSelect">
71 <el-button type="primary" :size="$global.elementSize" @click="selectAll()" v-if="activeBtn == 'view'" > 71 <el-button type="primary" :size="$global.elementSize" @click="selectAll()" v-if="activeBtn == 'view'" >
72 {{selectText}} 72 {{selectText}}
73 73
@@ -75,7 +75,7 @@ @@ -75,7 +75,7 @@
75 75
76 76
77 </div> 77 </div>
78 - <!-- <div style="text-align: right;width: 150px"> 78 + <div style="text-align: right;width: 150px">
79 79
80 <el-button-group> 80 <el-button-group>
81 <el-button :size="$global.elementSize" :type="activeBtn == 'view' ? 'primary' : ''" 81 <el-button :size="$global.elementSize" :type="activeBtn == 'view' ? 'primary' : ''"
@@ -87,7 +87,7 @@ @@ -87,7 +87,7 @@
87 <i class="iconfont icon-liebiao"></i> 87 <i class="iconfont icon-liebiao"></i>
88 </el-button> 88 </el-button>
89 </el-button-group> 89 </el-button-group>
90 - </div>--> 90 + </div>
91 </div> 91 </div>
92 <!--列表--> 92 <!--列表-->
93 <div v-if="activeBtn == 'list'"> 93 <div v-if="activeBtn == 'list'">
@@ -42,6 +42,11 @@ export default { @@ -42,6 +42,11 @@ export default {
42 type: Boolean, 42 type: Boolean,
43 default: false 43 default: false
44 }, 44 },
  45 + //是否展示全选按钮
  46 + isSelect:{
  47 + type:Boolean,
  48 + default:false
  49 + }
45 }, 50 },
46 data() { 51 data() {
47 return { 52 return {
  1 +/**
  2 +* @desc 华为云网络设备(防火墙、交换机)
  3 +* @author wangfeng
  4 +* @date 2020/2/4 14:36
  5 +**/
  6 +layui.define(['commonDetail','common'], function (exports) {
  7 + var commonDetail = layui.commonDetail;
  8 + var common = layui.common;
  9 + //对外暴露的接口
  10 + exports('huawei_cloud_nethardware', function (data) {
  11 + var resId = '';
  12 + var resType = '';
  13 + var showFlag = common.getUrlParam("show");
  14 + if(showFlag && showFlag == '0'){
  15 + resId = common.getUrlParam("resId");
  16 + resType = common.getUrlParam("resType");
  17 + }else{
  18 + resId = data.resId;
  19 + resType = data.resType;
  20 + }
  21 + commonDetail.bindTips();
  22 + //基本信息
  23 + var jbxxKpi = "KPIE13DD9A3,KPIF74D9D2B,KPIFABFD741,KPIB718ADEC,KPI5858832B,KPI2DC9105C,KPI4419E8A1,KPIA47DE8B4,KPI7E81DFB5,KPI6F17667E, KPIF21A9F60, KPI81BAB2C4, KPI5364695E, KPI14E5F9B4, KPIC70A1E3D";
  24 +
  25 + reload()
  26 +
  27 + //渲染页面
  28 + function reload() {
  29 + //基本信息
  30 + commonDetail.renderTextCols("hauwei_cloude_nethardware_baseinfo",resId,jbxxKpi,2);
  31 + //维保信息 joke add 20200528
  32 + commonDetail.renderMaintenanceInfo('hauwei_cloude_nethardware_wbinfo',resId,resType);
  33 + //CPU平均使用率
  34 + commonDetail.renderGauge("hauwei_cloude_nethardware_cpurate",resId,"KPI961A9688");
  35 + //内存平均使用率
  36 + commonDetail.renderGauge("hauwei_cloude_nethardware_memrate",resId,"KPIE78B29FF");
  37 + // commonDetail.renderCircular("hauwei_cloude_nethardware_memrate",resId,"KPIE78B29FF","内存平均使用率","%");
  38 + //响应时长
  39 + commonDetail.renderLineCharat("hauwei_cloude_nethardware_responestimes",resId,"KPI7480987F","响应时长","");
  40 + //活动告警
  41 + commonDetail.renderActiveAlarms("hauwei_cloude_nethardware_activealarms",resId);
  42 + }
  43 +
  44 + //定时任务
  45 + var timer = setInterval(function () {
  46 + reload()
  47 + },commonDetail.timerTime);
  48 + commonDetail.detailTimer.push(timer);
  49 +
  50 + });
  51 +});
@@ -55,6 +55,9 @@ @@ -55,6 +55,9 @@
55 55
56 {{# } }} 56 {{# } }}
57 </script> 57 </script>
  58 + <li class="layui-nav-item" lay-tips="大屏">
  59 + <a href="javascript:;" layadmin-event="toBigScreen" ><img src="/src/style/img/icon-daping.png" style="width: 16px;height: 16px"></a>
  60 + </li>
58 61
59 <li class="layui-nav-item" lay-unselect> 62 <li class="layui-nav-item" lay-unselect>
60 <a href="javascript:;" layadmin-event="refresh" title="刷新"> 63 <a href="javascript:;" layadmin-event="refresh" title="刷新">
@@ -84,7 +87,8 @@ @@ -84,7 +87,8 @@
84 }} 87 }}
85 <li><input type="hidden" id="hq_entrance" value="{{roles}}"></li> 88 <li><input type="hidden" id="hq_entrance" value="{{roles}}"></li>
86 <dl class="layui-nav-child"> 89 <dl class="layui-nav-child">
87 - <dd layadmin-event="toBigScreen" style="text-align: left;"><a><img src="/src/style/img/icon-daping.png" style="width: 16px;height: 16px">&nbsp;&nbsp;大屏</a></dd> 90 + <!--调整到刷新旁边,此处去掉 lu 屏蔽 20211130-->
  91 + <!-- <dd layadmin-event="toBigScreen" style="text-align: left;"><a><img src="/src/style/img/icon-daping.png" style="width: 16px;height: 16px">&nbsp;&nbsp;大屏</a></dd>-->
88 <dd layadmin-event="toDZSWJScreen" style="text-align: left;"><a><img src="/src/style/img/icon-dianzishuiwuju.png" style="width: 16px;height: 16px">&nbsp;&nbsp;电子税务大屏</a></dd> 92 <dd layadmin-event="toDZSWJScreen" style="text-align: left;"><a><img src="/src/style/img/icon-dianzishuiwuju.png" style="width: 16px;height: 16px">&nbsp;&nbsp;电子税务大屏</a></dd>
89 <!--调整到首页旁边,此处去掉 joke 屏蔽 20211129--> 93 <!--调整到首页旁边,此处去掉 joke 屏蔽 20211129-->
90 <!-- <dd layadmin-event="toYTHViewScreen" style="text-align: left;"><a><img src="/src/style/img/icon-yitihuadaping.png" style="width: 16px;height: 16px">&nbsp;&nbsp;一体化视图</a></dd>--> 94 <!-- <dd layadmin-event="toYTHViewScreen" style="text-align: left;"><a><img src="/src/style/img/icon-yitihuadaping.png" style="width: 16px;height: 16px">&nbsp;&nbsp;一体化视图</a></dd>-->
@@ -109,11 +113,11 @@ @@ -109,11 +113,11 @@
109 <li class="layui-nav-item layui-show-xs-inline-block layui-hide-sm" lay-unselect> 113 <li class="layui-nav-item layui-show-xs-inline-block layui-hide-sm" lay-unselect>
110 <a href="javascript:;" layadmin-event="more"><i class="layui-icon layui-icon-more-vertical"></i></a> 114 <a href="javascript:;" layadmin-event="more"><i class="layui-icon layui-icon-more-vertical"></i></a>
111 </li> 115 </li>
112 - <li class="layui-nav-item layui-hide-xs" lay-unselect> 116 + <!-- <li class="layui-nav-item layui-hide-xs" lay-unselect>
113 <a href="javascript:;" layadmin-event="theme"> 117 <a href="javascript:;" layadmin-event="theme">
114 <i class="layui-icon layui-icon-theme"></i> 118 <i class="layui-icon layui-icon-theme"></i>
115 </a> 119 </a>
116 - </li> 120 + </li>-->
117 <li class="layui-nav-item layui-hide-xs" lay-unselect> 121 <li class="layui-nav-item layui-hide-xs" lay-unselect>
118 <a href="javascript:;" layadmin-event="fullscreen"> 122 <a href="javascript:;" layadmin-event="fullscreen">
119 <i class="layui-icon layui-icon-screen-full"></i> 123 <i class="layui-icon layui-icon-screen-full"></i>
  1 +<!--华为网络设备-->
  2 +<article class="page-container template">
  3 + <div class="page-panel">
  4 + <div class="main">
  5 + <div class="layui-card template_detail_content">
  6 + <div class="layui-card-body">
  7 + <div class="lay-row">
  8 + <div class="lay-row-item lay-row-item--auto-width">
  9 + <h5 class="lay-row-title">基本信息<i data-id="hauwei_cloude_nethardware_baseinfo" class="iconfont detail_base_info">&#xe61e;</i></h5>
  10 + <ul class="info-table" id="hauwei_cloude_nethardware_baseinfo"></ul>
  11 + </div>
  12 + <div class="lay-row-item lay-row-item--small">
  13 + <h5 class="lay-row-title">维保信息</h5>
  14 + <ul class="info-table" id="hauwei_cloude_nethardware_wbinfo"></ul>
  15 + </div>
  16 + </div>
  17 + <div class="lay-row">
  18 + <div class="lay-row-item lay-row-item--small">
  19 + <h5 class="lay-row-title">CPU平均使用率</h5>
  20 + <ul id="hauwei_cloude_nethardware_cpurate" class="pie-wrap dasboard">
  21 + <li data-degree="83" class="pie-half pie-half-border-color-3">
  22 + <div class="pie-half-text">
  23 + <b>0%</b>
  24 + <span>CPU平均使用率</span>
  25 + </div>
  26 + </li>
  27 + </ul>
  28 + </div>
  29 + <div class="lay-row-item lay-row-item--small">
  30 + <h5 class="lay-row-title">内存平均使用率</h5>
  31 +<!-- <div id="hauwei_cloude_nethardware_memrate" class="detail_circular_chart"></div>-->
  32 + <!--<div class="circular-half-text">-->
  33 + <!--<span>内存使用率</span>-->
  34 + <!--</div>-->
  35 + <ul id="hauwei_cloude_nethardware_memrate" class="pie-wrap dasboard">
  36 + <li data-degree="83" class="pie-half pie-half-border-color-3">
  37 + <div class="pie-half-text">
  38 + <b>0%</b>
  39 + <span>内存使用率</span>
  40 + </div>
  41 + </li>
  42 + </ul>
  43 + </div>
  44 + <div class="lay-row-item lay-row-item--auto-width">
  45 + <h5 class="lay-row-title">响应时长</h5>
  46 + <div id="hauwei_cloude_nethardware_responestimes" class="detail_line_chart"></div>
  47 + </div>
  48 + </div>
  49 + <div class="lay-row">
  50 + <div class="lay-row-item">
  51 + <h5 class="lay-row-title">实时告警动态</h5>
  52 + <div id="hauwei_cloude_nethardware_activealarms"></div>
  53 + </div>
  54 + </div>
  55 + </div>
  56 + </div>
  57 + </div>
  58 + </div>
  59 +</article>
  60 +<textarea id="huawei_cloud_nethardware_param_id" style="display: none;">{{d}}</textarea>
  61 +<script>
  62 + layui.use('huawei_cloud_nethardware', function (fn) {
  63 + var $ = layui.$;
  64 + var parm = $("#huawei_cloud_nethardware_param_id").val();
  65 + if(parm.indexOf('{{d') != -1){
  66 + fn();
  67 + }else{
  68 + fn(JSON.parse(parm));
  69 + }
  70 + });
  71 +</script>
@@ -113,7 +113,7 @@ @@ -113,7 +113,7 @@
113 <cm-table-page :columns="columns" :dataList="tabSecondList" @loaddata="loadSecondList" 113 <cm-table-page :columns="columns" :dataList="tabSecondList" @loaddata="loadSecondList"
114 :showIndex="true" 114 :showIndex="true"
115 :showBorder="true" :loading="false" 115 :showBorder="true" :loading="false"
116 - :showPage="false" :showTools="true" :height="(height - 500)"> 116 + :showPage="true" :showTools="true" :height="(height - 500)">
117 <template #tools="{scope}"> 117 <template #tools="{scope}">
118 <el-button type="text" size="small" @click.prevent="addRes(scope.row,scope.$index)"> 118 <el-button type="text" size="small" @click.prevent="addRes(scope.row,scope.$index)">
119 <i class="el-icon-plus"/> 添加 119 <i class="el-icon-plus"/> 添加
1 <div class="container"> 1 <div class="container">
2 - <cm-document></cm-document> 2 + <cm-document :isSelect="true"></cm-document>
3 </div> 3 </div>
@@ -181,7 +181,8 @@ export default { @@ -181,7 +181,8 @@ export default {
181 } 181 }
182 } 182 }
183 const goJump=()=>{ 183 const goJump=()=>{
184 - proxy.$router.push({path:'/zj/dp',query: {access_token:localStorage.getItem('access_token')}}) 184 + // proxy.$router.push({path:'/zj/dp',query: {access_token:localStorage.getItem('access_token')}})
  185 + window.open(sessionStorage.getItem("ythView") + '?access_token=' + localStorage.getItem("access_token"));
185 } 186 }
186 187
187 return{ 188 return{