instances 模块搭建
|
@ -39,6 +39,7 @@
|
|||
"vue-area-linkage": "^5.1.0",
|
||||
"vue-cropper": "^0.5.4",
|
||||
"vue-i18n": "^8.7.0",
|
||||
"vue-infinite-scroll": "^2.0.2",
|
||||
"vue-loader": "^15.7.0",
|
||||
"vue-ls": "^3.2.0",
|
||||
"vue-photo-preview": "^1.1.3",
|
||||
|
|
BIN
src/assets/images/abnormalAlarm/alarm.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
src/assets/images/abnormalAlarm/cpu.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
src/assets/images/abnormalAlarm/email.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
src/assets/images/abnormalAlarm/icon-r.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
src/assets/images/abnormalAlarm/icon-y.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
src/assets/images/abnormalAlarm/partition.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
src/assets/images/abnormalAlarm/ram.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
src/assets/images/abnormalAlarm/running.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
src/assets/images/abnormalAlarm/times.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
src/assets/images/abnormalAlarm/warning.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
80
src/assets/less/TabMenu.less
Normal file
|
@ -0,0 +1,80 @@
|
|||
::v-deep {
|
||||
.ant-tabs{
|
||||
height: 100%;
|
||||
.ant-tabs-top-content{
|
||||
height: calc(100% - 50px);
|
||||
.ant-tabs-tabpane{
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
}
|
||||
.ant-tabs-bar{
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
margin: 0 0 10px 0;
|
||||
background-color: rgba(12, 235, 201, 0.05);
|
||||
border-top: 1px solid rgba(12, 235, 201, 0.3);
|
||||
border-bottom: 1px solid rgba(12, 235, 201, 0.3);
|
||||
}
|
||||
.ant-tabs-nav .ant-tabs-tab{
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
background-color: rgba(58, 236, 240, 0.22);
|
||||
font-family: BookmanOldStyle;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
font-stretch: normal;
|
||||
letter-spacing: 2px;
|
||||
color: #c9f6f6;
|
||||
margin: 0 0 0 10px;
|
||||
padding: 0 23px;
|
||||
position: relative;
|
||||
&::before{
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 7px;
|
||||
height: 29px;
|
||||
color: rgba(58, 236, 240, 0.22);
|
||||
border: 1px solid #569e9e;
|
||||
border-right: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
&::after{
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 7px;
|
||||
height: 29px;
|
||||
color: rgba(58, 236, 240, 0.22);
|
||||
border: 1px solid #569e9e;
|
||||
border-left: none;
|
||||
}
|
||||
&-active{
|
||||
&::before,
|
||||
&::after {
|
||||
border-color: #0cecca !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
.ant-tabs-ink-bar{
|
||||
display: none !important
|
||||
}
|
||||
.ant-tabs-nav .ant-tabs-tab-active{
|
||||
color: #2affdf;
|
||||
}
|
||||
.ant-row{
|
||||
height: 36px;
|
||||
line-height: 36px;
|
||||
}
|
||||
.ant-tabs-tab-prev, .ant-tabs-tab-next{
|
||||
color: #c9f6f6;
|
||||
}
|
||||
.ant-tabs-tab-prev:hover, .ant-tabs-tab-next:hover{
|
||||
color: #2affdf;
|
||||
}
|
||||
}
|
|
@ -442,90 +442,11 @@ export default {
|
|||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import "~@/assets/less/TabMenu.less";
|
||||
.chart-layout{
|
||||
height: 230px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
::v-deep {
|
||||
.ant-tabs{
|
||||
height: 100%;
|
||||
.ant-tabs-top-content{
|
||||
height: calc(100% - 50px);
|
||||
.ant-tabs-tabpane{
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
}
|
||||
.ant-tabs-bar{
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
margin: 0 0 10px 0;
|
||||
background-color: rgba(12, 235, 201, 0.05);
|
||||
border-top: 1px solid rgba(12, 235, 201, 0.3);
|
||||
border-bottom: 1px solid rgba(12, 235, 201, 0.3);
|
||||
}
|
||||
.ant-tabs-nav .ant-tabs-tab{
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
background-color: rgba(58, 236, 240, 0.22);
|
||||
font-family: BookmanOldStyle;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
font-stretch: normal;
|
||||
letter-spacing: 2px;
|
||||
color: #c9f6f6;
|
||||
margin: 0 0 0 10px;
|
||||
padding: 0 23px;
|
||||
position: relative;
|
||||
&::before{
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 7px;
|
||||
height: 29px;
|
||||
color: rgba(58, 236, 240, 0.22);
|
||||
border: 1px solid #569e9e;
|
||||
border-right: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
&::after{
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 7px;
|
||||
height: 29px;
|
||||
color: rgba(58, 236, 240, 0.22);
|
||||
border: 1px solid #569e9e;
|
||||
border-left: none;
|
||||
}
|
||||
&-active{
|
||||
&::before,
|
||||
&::after {
|
||||
border-color: #0cecca !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
.ant-tabs-ink-bar{
|
||||
display: none !important
|
||||
}
|
||||
.ant-tabs-nav .ant-tabs-tab-active{
|
||||
color: #2affdf;
|
||||
}
|
||||
.ant-row{
|
||||
height: 36px;
|
||||
line-height: 36px;
|
||||
}
|
||||
.ant-tabs-tab-prev, .ant-tabs-tab-next{
|
||||
color: #c9f6f6;
|
||||
}
|
||||
.ant-tabs-tab-prev:hover, .ant-tabs-tab-next:hover{
|
||||
color: #2affdf;
|
||||
}
|
||||
}
|
||||
.analysis-chart{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
<template>
|
||||
<div class="chart-title">
|
||||
<span>{{ title }}</span>
|
||||
<img src="@/assets/images/abnormalAlarm/title_right.png" alt="">
|
||||
<div class="right">
|
||||
<slot name="right">
|
||||
<img src="@/assets/images/abnormalAlarm/title_right.png" alt="">
|
||||
</slot>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
@ -35,7 +39,7 @@
|
|||
padding: 0 15px;
|
||||
background-color: rgba(12, 235, 201, 0.05);
|
||||
}
|
||||
img{
|
||||
.right{
|
||||
position: absolute;
|
||||
right: 15px;
|
||||
top: 50%;
|
||||
|
|
603
src/views/abnormalAlarm/serverMonitor/instances/details.vue
Normal file
|
@ -0,0 +1,603 @@
|
|||
<template>
|
||||
<div style="height: 100%;">
|
||||
<div class="content-top">
|
||||
<div style="width: calc( 100% - 562px);">
|
||||
<BoxTitle title="Basic lnformation"></BoxTitle>
|
||||
<div class="basic-info">
|
||||
<div
|
||||
class="basic-info-list"
|
||||
v-infinite-scroll="handleInfiniteOnLoad"
|
||||
:infinite-scroll-disabled="busy"
|
||||
:infinite-scroll-distance="5"
|
||||
>
|
||||
<a-list :dataSource="dataSource">
|
||||
<a-list-item :class="{ 'ant-list-item-active': index===currIndex}" slot="renderItem" slot-scope="item, index" @click="handleBasicItem(index)">
|
||||
<div>{{ item.name }}</div>
|
||||
</a-list-item>
|
||||
<div v-if="loading && !busy" class="demo-loading-container">
|
||||
<a-spin />
|
||||
</div>
|
||||
</a-list>
|
||||
</div>
|
||||
<div class="basic-info-detail">
|
||||
<a-row :gutter="10" style="height: 40px;">
|
||||
<a-col :span="6" style="height: 100%;">
|
||||
<div class="basic-info-detail-col">
|
||||
<div class="basic-info-detail-col-img">
|
||||
<img src="~@/assets/images/abnormalAlarm/running.png" alt="">
|
||||
</div>
|
||||
<div class="basic-info-detail-col-msg">
|
||||
<div class="basic-info-detail-col-msg-title">
|
||||
<div class="circle"></div>
|
||||
<div class="title">running state</div>
|
||||
</div>
|
||||
<div class="basic-info-detail-col-msg-num state">NORMAL</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="5" style="height: 100%;">
|
||||
<div class="basic-info-detail-col">
|
||||
<div class="basic-info-detail-col-img">
|
||||
<img src="~@/assets/images/abnormalAlarm/alarm.png" alt="">
|
||||
</div>
|
||||
<div class="basic-info-detail-col-msg">
|
||||
<div class="basic-info-detail-col-msg-title">
|
||||
<div class="circle"></div>
|
||||
<div class="title">Alarm SMS</div>
|
||||
</div>
|
||||
<div class="basic-info-detail-col-msg-num">16</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="6" style="height: 100%;padding-left:12px">
|
||||
<div class="basic-info-detail-col">
|
||||
<div class="basic-info-detail-col-img">
|
||||
<img src="~@/assets/images/abnormalAlarm/email.png" alt="">
|
||||
</div>
|
||||
<div class="basic-info-detail-col-msg">
|
||||
<div class="basic-info-detail-col-msg-title">
|
||||
<div class="circle"></div>
|
||||
<div class="title">Alarm email</div>
|
||||
</div>
|
||||
<div class="basic-info-detail-col-msg-num">16</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="7" style="height: 100%;">
|
||||
<div class="basic-info-detail-col">
|
||||
<div class="basic-info-detail-col-img">
|
||||
<img src="~@/assets/images/abnormalAlarm/warning.png" alt="">
|
||||
</div>
|
||||
<div class="basic-info-detail-col-msg">
|
||||
<div class="basic-info-detail-col-msg-title">
|
||||
<div class="circle"></div>
|
||||
<div class="title">Number of alarms</div>
|
||||
</div>
|
||||
<div class="basic-info-detail-col-msg-num">16</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="10" style="height: 40px;margin-top: 10px;">
|
||||
<a-col :span="6" style="height: 100%;">
|
||||
<div class="basic-info-detail-col">
|
||||
<div class="basic-info-detail-col-img">
|
||||
<img src="~@/assets/images/abnormalAlarm/times.png" alt="">
|
||||
</div>
|
||||
<div class="basic-info-detail-col-msg">
|
||||
<div class="basic-info-detail-col-msg-title">
|
||||
<div class="circle"></div>
|
||||
<div class="title">Run time</div>
|
||||
</div>
|
||||
<div class="basic-info-detail-col-msg-num">126.5h</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="5" style="height: 100%;">
|
||||
<div class="basic-info-detail-col">
|
||||
<div class="basic-info-detail-col-img">
|
||||
<img src="~@/assets/images/abnormalAlarm/ram.png" alt="">
|
||||
</div>
|
||||
<div class="basic-info-detail-col-msg">
|
||||
<div class="basic-info-detail-col-msg-title">
|
||||
<div class="circle"></div>
|
||||
<div class="title">RAM Size</div>
|
||||
</div>
|
||||
<div class="basic-info-detail-col-msg-num">28.9GB</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="6" style="height: 100%;padding-left:12px">
|
||||
<div class="basic-info-detail-col">
|
||||
<div class="basic-info-detail-col-img">
|
||||
<img src="~@/assets/images/abnormalAlarm/cpu.png" alt="">
|
||||
</div>
|
||||
<div class="basic-info-detail-col-msg">
|
||||
<div class="basic-info-detail-col-msg-title">
|
||||
<div class="circle"></div>
|
||||
<div class="title">CPU Cores</div>
|
||||
</div>
|
||||
<div class="basic-info-detail-col-msg-num">16</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="7" style="height: 100%;">
|
||||
<div class="basic-info-detail-col">
|
||||
<div class="basic-info-detail-col-img">
|
||||
<img src="~@/assets/images/abnormalAlarm/partition.png" alt="">
|
||||
</div>
|
||||
<div class="basic-info-detail-col-msg">
|
||||
<div class="basic-info-detail-col-msg-title">
|
||||
<div class="circle"></div>
|
||||
<div class="title">Total Disk Partition</div>
|
||||
</div>
|
||||
<div class="basic-info-detail-col-msg-num">16</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<div class="basic-info-detail-content">
|
||||
<a-row style="height: 100%;">
|
||||
<a-col :span="12">
|
||||
<a-row style="height: 26px;">
|
||||
<a-col :span="12" style="height: 26px;">
|
||||
<a-row style="height: 100%;">
|
||||
<a-col :span="12" class="basic-info-detail-content-key">Host Name:</a-col>
|
||||
<a-col :span="12" class="basic-info-detail-content-val">PC-01</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
<a-col :span="12" style="height: 26px;">
|
||||
<a-row style="height: 100%;">
|
||||
<a-col :span="12" class="basic-info-detail-content-key">OS Version:</a-col>
|
||||
<a-col :span="12" class="basic-info-detail-content-val">7.8 64-bit</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row style="height: 26px;">
|
||||
<a-col :span="12" style="height: 26px;">
|
||||
<a-row style="height: 100%;">
|
||||
<a-col :span="12" class="basic-info-detail-content-key">IP Address:</a-col>
|
||||
<a-col :span="12" class="basic-info-detail-content-val">192.168.1.1</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
<a-col :span="12" style="height: 26px;">
|
||||
<a-row style="height: 100%;">
|
||||
<a-col :span="12" class="basic-info-detail-content-key">Kernel version:</a-col>
|
||||
<a-col :span="12" class="basic-info-detail-content-val">2000</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row style="height: 26px;">
|
||||
<a-col :span="12" style="height: 26px;">
|
||||
<a-row style="height: 100%;">
|
||||
<a-col :span="12" class="basic-info-detail-content-key">OS Name:</a-col>
|
||||
<a-col :span="12" class="basic-info-detail-content-val">Centos</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
<a-col :span="12" style="height: 26px;">
|
||||
<a-row style="height: 100%;">
|
||||
<a-col :span="12" class="basic-info-detail-content-key">Bios Version:</a-col>
|
||||
<a-col :span="12" class="basic-info-detail-content-val">FX705GM.307</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row style="height: 26px;">
|
||||
<a-col :span="4" style="height: 26px;" class="basic-info-detail-content-key">CPU:</a-col>
|
||||
<a-col :span="20" style="height: 26px;" class="basic-info-detail-content-val">Inte(R)Core(TM)i7-8750H CPU@2.2GHz</a-col>
|
||||
</a-row>
|
||||
<a-row style="height: 26px;">
|
||||
<a-col :span="6" style="height: 26px;" class="basic-info-detail-content-key">Manufacturer:</a-col>
|
||||
<a-col :span="18" style="height: 26px;" class="basic-info-detail-content-val">ASUSTeK COMPUTER INC.</a-col>
|
||||
</a-row>
|
||||
<a-row style="height: 26px;">
|
||||
<a-col :span="8" style="height: 26px;" class="basic-info-detail-content-key">Server Agent Path:</a-col>
|
||||
<a-col :span="16" style="height: 26px;" class="basic-info-detail-content-val">C:\Agent\Default\Desktop</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-row style="height: 26px;">
|
||||
<a-col :span="11" style="height: 26px;">
|
||||
<a-row style="height: 100%;">
|
||||
<a-col :span="18" class="basic-info-detail-content-key">Network Lnterface:</a-col>
|
||||
<a-col :span="6" class="basic-info-detail-content-val">11</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
<a-col :span="13" style="height: 26px;">
|
||||
<a-row style="height: 100%;">
|
||||
<a-col :span="15" class="basic-info-detail-content-key">Location:</a-col>
|
||||
<a-col :span="9" class="basic-info-detail-content-val">China</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row style="height: 26px;">
|
||||
<a-col :span="11" style="height: 26px;">
|
||||
<a-row style="height: 100%;">
|
||||
<a-col :span="18" class="basic-info-detail-content-key">Time Zone:</a-col>
|
||||
<a-col :span="6" class="basic-info-detail-content-val">CST</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
<a-col :span="13" style="height: 26px;">
|
||||
<a-row style="height: 100%;">
|
||||
<a-col :span="15" class="basic-info-detail-content-key">Server Agent User:</a-col>
|
||||
<a-col :span="9" class="basic-info-detail-content-val">LocalSystem</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row style="height: 26px;">
|
||||
<a-col :span="6" style="height: 26px;" class="basic-info-detail-content-key">Start Time:</a-col>
|
||||
<a-col :span="18" style="height: 26px;" class="basic-info-detail-content-val">2023-03-01 14:00:01</a-col>
|
||||
</a-row>
|
||||
<a-row style="height: 26px;">
|
||||
<a-col :span="6" style="height: 26px;" class="basic-info-detail-content-key">Model Number:</a-col>
|
||||
<a-col :span="18" style="height: 26px;" class="basic-info-detail-content-val">TUF GamingFX705GM_FX86SM</a-col>
|
||||
</a-row>
|
||||
<a-row style="height: 26px;">
|
||||
<a-col :span="6" style="height: 26px;" class="basic-info-detail-content-key">Bios Supplier:</a-col>
|
||||
<a-col :span="18" style="height: 26px;" class="basic-info-detail-content-val">American Megatrends lnc.</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width:542px">
|
||||
<BoxTitle title="Alarm information"></BoxTitle>
|
||||
<div
|
||||
class="alarm-info-list"
|
||||
v-infinite-scroll="handleInfiniteAlarmInfo"
|
||||
:infinite-scroll-disabled="busy_alarm_info"
|
||||
:infinite-scroll-distance="10"
|
||||
>
|
||||
<a-list :dataSource="dataSource_alarm_info">
|
||||
<a-list-item slot="renderItem" slot-scope="item">
|
||||
<img class="alarm-info-list-img" src="@/assets/images/abnormalAlarm/icon-r.png" alt="">
|
||||
<div class="alarm-info-list-info">{{ JSON.parse(item.alarmInfo).info }}</div>
|
||||
<div class="alarm-info-list-date">{{ item.alarmStartDate }}</div>
|
||||
<a slot="actions" class="alarm-info-list-actions">Detail</a>
|
||||
</a-list-item>
|
||||
<div v-if="loading_alarm_info && !busy" class="demo-loading-container">
|
||||
<a-spin />
|
||||
</div>
|
||||
</a-list>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-center">
|
||||
<BoxTitle title="Event Timelinen">
|
||||
<template slot="right">asdfadf</template>
|
||||
</BoxTitle>
|
||||
</div>
|
||||
<div class="content-bottom">
|
||||
<div class="content-bottom-left">
|
||||
<div class="content-bottom-left-top">
|
||||
<a-row :gutter="20">
|
||||
<a-col class="gutter-row" :span="8">
|
||||
<BoxTitle title="CPU"></BoxTitle>
|
||||
</a-col>
|
||||
<a-col class="gutter-row" :span="8">
|
||||
<BoxTitle title="MEMORY"></BoxTitle>
|
||||
</a-col>
|
||||
<a-col class="gutter-row" :span="8">
|
||||
<BoxTitle title="LOADS"></BoxTitle>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
<div class="content-bottom-left-bottom">
|
||||
<BoxTitle title="CPU utilization">
|
||||
<template slot="right">asdfadf</template>
|
||||
</BoxTitle>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width:542px">
|
||||
<BoxTitle title="DISK"></BoxTitle>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BoxTitle from '../../components/boxTitle.vue';
|
||||
import infiniteScroll from 'vue-infinite-scroll';
|
||||
import { getAction,postAction,httpAction,deleteAction } from '@/api/manage'
|
||||
export default {
|
||||
directives: { infiniteScroll },
|
||||
components: {
|
||||
BoxTitle,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dataSource: [],
|
||||
loading: false,
|
||||
busy: false,
|
||||
ipagination:{
|
||||
current: 1,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
},
|
||||
dataSource_alarm_info: [],
|
||||
loading_alarm_info: false,
|
||||
busy_alarm_info: false,
|
||||
ipagination_alarm_info:{
|
||||
current: 1,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
},
|
||||
currIndex:null,
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.getSysServer(res => {
|
||||
this.loading = false
|
||||
if (res.success) {
|
||||
this.ipagination.total = res.result.total
|
||||
this.dataSource = res.result.records
|
||||
} else {
|
||||
this.$message.warning("This operation fails. Contact your system administrator")
|
||||
}
|
||||
});
|
||||
this.getServerAlarmHistory(res => {
|
||||
this.loading_alarm_info = false
|
||||
if (res.success) {
|
||||
this.ipagination_alarm_info.total = res.result.total
|
||||
this.dataSource_alarm_info = res.result.records
|
||||
} else {
|
||||
this.$message.warning("This operation fails. Contact your system administrator")
|
||||
}
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
getSysServer(callBack) {
|
||||
this.loading = true
|
||||
let params = {
|
||||
pageNo: this.ipagination.current,
|
||||
pageSize: this.ipagination.pageSize
|
||||
}
|
||||
getAction("/sysServer/findPage", params).then(res => {
|
||||
callBack(res)
|
||||
})
|
||||
},
|
||||
handleInfiniteOnLoad() {
|
||||
if (this.dataSource.length>0) {
|
||||
const dataSource = this.dataSource;
|
||||
this.loading = true;
|
||||
if (dataSource.length == this.ipagination.total) {
|
||||
this.$message.warning('Infinite List loaded all');
|
||||
this.busy = true;
|
||||
this.loading = false;
|
||||
return;
|
||||
} else {
|
||||
this.ipagination.current += 1
|
||||
this.getSysServer(res => {
|
||||
this.ipagination.total = res.result.total
|
||||
this.dataSource = dataSource.concat(res.result.records);
|
||||
this.loading = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
handleBasicItem(i) {
|
||||
this.currIndex = i
|
||||
},
|
||||
getServerAlarmHistory(callBack) {
|
||||
this.loading = true
|
||||
let params = {
|
||||
startDate: "2022-08-01",
|
||||
endDate: "2023-08-07",
|
||||
pageNo: this.ipagination_alarm_info.current,
|
||||
pageSize: this.ipagination_alarm_info.pageSize,
|
||||
}
|
||||
getAction("/sysServer/findAlarmHistory", params).then(res => {
|
||||
callBack(res)
|
||||
})
|
||||
},
|
||||
handleInfiniteAlarmInfo() {
|
||||
if (this.dataSource_alarm_info.length>0) {
|
||||
const dataSource_alarm_info = this.dataSource_alarm_info;
|
||||
this.loading_alarm_info = true;
|
||||
if (dataSource_alarm_info.length == this.ipagination_alarm_info.total) {
|
||||
this.$message.warning('Infinite List loaded all');
|
||||
this.busy_alarm_info = true;
|
||||
this.loading_alarm_info = false;
|
||||
return;
|
||||
} else {
|
||||
this.ipagination_alarm_info.current += 1
|
||||
this.getServerAlarmHistory(res => {
|
||||
this.ipagination_alarm_info.total = res.result.total
|
||||
this.dataSource_alarm_info = dataSource_alarm_info.concat(res.result.records);
|
||||
this.loading_alarm_info = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.content-top{
|
||||
width: 100%;
|
||||
height: 331px;
|
||||
// height: 43.5%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
.basic-info{
|
||||
width: 100%;
|
||||
height:291px;
|
||||
padding: 15px 0;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
&-list{
|
||||
height: 100%;
|
||||
width: 170px;
|
||||
overflow: auto;
|
||||
border: solid 1px rgba(65, 111, 127, 0.5);
|
||||
.ant-list-item{
|
||||
border: none;
|
||||
height: 32px;
|
||||
justify-content: center;
|
||||
font-family: ArialMT;
|
||||
font-size: 14px;
|
||||
letter-spacing: 1px;
|
||||
color: #ade6ee;
|
||||
cursor: pointer;
|
||||
}
|
||||
.ant-list-item:nth-child(even){
|
||||
background-color: rgba(13, 109, 118, 0.2);
|
||||
}
|
||||
.ant-list-item-active{
|
||||
background-color: rgb(15, 158, 171, 0.5) !important;
|
||||
color: #ffffff;
|
||||
}
|
||||
.demo-loading-container {
|
||||
position: absolute;
|
||||
bottom: 40px;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
&-detail{
|
||||
height: 100%;
|
||||
width: calc(100% - 185px);
|
||||
&-col{
|
||||
height: 100%;
|
||||
position: relative;
|
||||
&-img{
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
float: left;
|
||||
img{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
&-msg{
|
||||
float: left;
|
||||
height: 100%;
|
||||
margin-left: 15px;
|
||||
&-title{
|
||||
height: 14px;
|
||||
position: absolute;
|
||||
left: 47px;
|
||||
top: 2px;
|
||||
.circle{
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 50%;
|
||||
background-image: linear-gradient(90deg, #0e98a8 0%, #00fffc 100%),
|
||||
linear-gradient( #0cecca, #0cecca);
|
||||
background-blend-mode: normal, normal;
|
||||
}
|
||||
.title{
|
||||
position: absolute;
|
||||
left: 20px;
|
||||
top: 0;
|
||||
font-family: ArialMT;
|
||||
font-size: 14px;
|
||||
line-height: 14px;
|
||||
letter-spacing: 1px;
|
||||
color: #ade6ee;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
&-num{
|
||||
height: 20px;
|
||||
position: absolute;
|
||||
left: 47px;
|
||||
bottom: 0px;
|
||||
line-height: 20px;
|
||||
font-family: MicrogrammaD-MediExte;
|
||||
font-size: 20px;
|
||||
letter-spacing: 1px;
|
||||
color: #ffffff;
|
||||
}
|
||||
.state{
|
||||
font-size: 16px;
|
||||
letter-spacing: 1px;
|
||||
color: #06cdd3;
|
||||
}
|
||||
}
|
||||
}
|
||||
&-content{
|
||||
height: 161px;
|
||||
border: solid 1px rgba(65, 111, 127, 0.5);
|
||||
background-color: rgba(2, 40, 43, 0.5);
|
||||
margin-top: 10px;
|
||||
padding: 0 10px;
|
||||
&-key{
|
||||
font-family: ArialMT;
|
||||
font-size: 12px;
|
||||
line-height: 26px;
|
||||
color: #6ebad0;
|
||||
}
|
||||
&-val{
|
||||
font-family: ArialMT;
|
||||
font-size: 12px;
|
||||
line-height: 26px;
|
||||
color: #ade6ee;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.alarm-info-list{
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
font-family: ArialMT;
|
||||
font-size: 16px;
|
||||
.ant-list-item{
|
||||
border: none;
|
||||
height: 52px;
|
||||
letter-spacing: 1px;
|
||||
color: #ade6ee;
|
||||
}
|
||||
.ant-list-item:nth-child(odd){
|
||||
background-color: rgba(13, 109, 118, 0.2);
|
||||
}
|
||||
&-img{
|
||||
display: inline-block;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin-left: 12px;
|
||||
}
|
||||
&-info{
|
||||
display: inline-block;
|
||||
color: #ffffff;
|
||||
}
|
||||
&-date{
|
||||
display: inline-block;
|
||||
color: #90b4c5;
|
||||
}
|
||||
&-actions{
|
||||
|
||||
color: #17c6f2;
|
||||
}
|
||||
}
|
||||
}
|
||||
.content-center{
|
||||
width: 100%;
|
||||
height: 130px;
|
||||
// height: 14.9%;
|
||||
}
|
||||
.content-bottom{
|
||||
width: 100%;
|
||||
height: calc(100% - 461px);
|
||||
// height: 41.6%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
&-left{
|
||||
width: calc( 100% - 562px);
|
||||
height: 100%;
|
||||
&-top{
|
||||
width: 100%;
|
||||
height: 160px;
|
||||
}
|
||||
&-bottom{
|
||||
width: 100%;
|
||||
height: calc(100% - 160px);
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -1,15 +1,45 @@
|
|||
<template>
|
||||
<div>
|
||||
instances
|
||||
<div style="height: 100%;">
|
||||
<a-card :bordered="false" style="height:100%;margin-left: 20px;">
|
||||
<a-tabs default-active-key="detais" @change="handleTabChange">
|
||||
<a-tab-pane key="detais" tab="DETAILS">
|
||||
<Details></Details>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="service-process" tab="SERVICE AND PROCESS">
|
||||
SERVICE AND PROCESS
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="monitor" tab="MONITOR">
|
||||
MONITOR
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="cpu" tab="CPU">
|
||||
CPU
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="memory" tab="MEMORY">
|
||||
MEMORY
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="disk" tab="DISK">
|
||||
DISK
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
</a-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
|
||||
}
|
||||
import Details from './details.vue';
|
||||
export default {
|
||||
components: {
|
||||
Details,
|
||||
},
|
||||
methods: {
|
||||
handleTabChange(key) {
|
||||
console.log(key);
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
<style lang="less" scoped>
|
||||
@import "~@/assets/less/TabMenu.less";
|
||||
|
||||
</style>
|
|
@ -11622,6 +11622,11 @@ vue-i18n@^8.7.0:
|
|||
resolved "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.18.2.tgz#cd7c12f2e178e6faa23b0e3cfd2f7bac9305f8fc"
|
||||
integrity sha512-0X5nBTCZAVjlwcrPaYJwNs3iipBBTv0AUHwQUOa8yP3XbQGWKbRHqBb3OhCYtum/IHDD21d/df5Xd2VgyxbxfA==
|
||||
|
||||
vue-infinite-scroll@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.npmmirror.com/vue-infinite-scroll/-/vue-infinite-scroll-2.0.2.tgz#ca37a91fe92ee0ad3b74acf8682c00917144b711"
|
||||
integrity sha512-n+YghR059YmciANGJh9SsNWRi1YZEBVlODtmnb/12zI+4R72QZSWd+EuZ5mW6auEo/yaJXgxzwsuhvALVnm73A==
|
||||
|
||||
vue-loader@^13.0.5:
|
||||
version "13.7.3"
|
||||
resolved "https://registry.npmjs.org/vue-loader/-/vue-loader-13.7.3.tgz#e07440f78230a639d00ada4da7b96d0e9d62037f"
|
||||
|
|