agent的6个原数据列表页面、收益管理页面调测
This commit is contained in:
260
src/api/agentCollect/collectData.js
Normal file
260
src/api/agentCollect/collectData.js
Normal file
@@ -0,0 +1,260 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
/** ------------------cpuData------------------- */
|
||||
// 查询列表
|
||||
export function listCpuInfo(data) {
|
||||
return request({
|
||||
url: '/rocketmq/cpuInfo/list',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询详细
|
||||
export function getCpuInfo(Id) {
|
||||
return request({
|
||||
url: '/rocketmq/cpuInfo/' + Id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增
|
||||
export function addCpuInfo(data) {
|
||||
return request({
|
||||
url: '/rocketmq/cpuInfo',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改
|
||||
export function updateCpuInfo(data) {
|
||||
return request({
|
||||
url: '/rocketmq/cpuInfo',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除
|
||||
export function delCpuInfo(Ids) {
|
||||
return request({
|
||||
url: '/rocketmq/cpuInfo/' + Ids,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
/** ------------------磁盘数据diskData------------------- */
|
||||
// 查询列表
|
||||
export function listDiskInfo(data) {
|
||||
return request({
|
||||
url: '/rocketmq/diskInfo/list',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询详细
|
||||
export function getDiskInfo(Id) {
|
||||
return request({
|
||||
url: '/rocketmq/diskInfo/' + Id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增
|
||||
export function addDiskInfo(data) {
|
||||
return request({
|
||||
url: '/rocketmq/diskInfo',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改
|
||||
export function updateDiskInfo(data) {
|
||||
return request({
|
||||
url: '/rocketmq/diskInfo',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除
|
||||
export function delDiskInfo(Ids) {
|
||||
return request({
|
||||
url: '/rocketmq/diskInfo/' + Ids,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
/** ------------------容器数据dockerData------------------- */
|
||||
// 查询列表
|
||||
export function listDockerInfo(data) {
|
||||
return request({
|
||||
url: '/rocketmq/dockerInfo/list',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询详细
|
||||
export function getDockerInfo(Id) {
|
||||
return request({
|
||||
url: '/rocketmq/dockerInfo/' + Id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增
|
||||
export function addDockerInfo(data) {
|
||||
return request({
|
||||
url: '/rocketmq/dockerInfo',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改
|
||||
export function updateDockerInfo(data) {
|
||||
return request({
|
||||
url: '/rocketmq/dockerInfo',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除
|
||||
export function delDockerInfo(Ids) {
|
||||
return request({
|
||||
url: '/rocketmq/dockerInfo/' + Ids,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
/** ------------------内存信息数据memoryData------------------- */
|
||||
// 查询列表
|
||||
export function listMemoryInfo(data) {
|
||||
return request({
|
||||
url: '/rocketmq/memoryInfo/list',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询详细
|
||||
export function getMemoryInfo(Id) {
|
||||
return request({
|
||||
url: '/rocketmq/memoryInfo/' + Id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增
|
||||
export function addMemoryInfo(data) {
|
||||
return request({
|
||||
url: '/rocketmq/memoryInfo',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改
|
||||
export function updateMemoryInfo(data) {
|
||||
return request({
|
||||
url: '/rocketmq/memoryInfo',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除
|
||||
export function delMemoryInfo(Ids) {
|
||||
return request({
|
||||
url: '/rocketmq/memoryInfo/' + Ids,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
/** ------------------挂载点信息数据mountPointData------------------- */
|
||||
// 查询列表
|
||||
export function listMountPointInfo(data) {
|
||||
return request({
|
||||
url: '/rocketmq/mountPointInfo/list',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询详细
|
||||
export function getMountPointInfo(Id) {
|
||||
return request({
|
||||
url: '/rocketmq/mountPointInfo/' + Id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增
|
||||
export function addMountPointInfo(data) {
|
||||
return request({
|
||||
url: '/rocketmq/mountPointInfo',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改
|
||||
export function updateMountPointInfo(data) {
|
||||
return request({
|
||||
url: '/rocketmq/mountPointInfo',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除
|
||||
export function delMountPointInfo(Ids) {
|
||||
return request({
|
||||
url: '/rocketmq/mountPointInfo/' + Ids,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
/** ------------------系统信息数据systemData------------------- */
|
||||
// 查询列表
|
||||
export function listSystemInfo(data) {
|
||||
return request({
|
||||
url: '/rocketmq/systemInfo/list',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询详细
|
||||
export function getSystemInfo(Id) {
|
||||
return request({
|
||||
url: '/rocketmq/systemInfo/' + Id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增
|
||||
export function addSystemInfo(data) {
|
||||
return request({
|
||||
url: '/rocketmq/systemInfo',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改
|
||||
export function updateSystemInfo(data) {
|
||||
return request({
|
||||
url: '/rocketmq/systemInfo',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除
|
||||
export function delSystemInfo(Ids) {
|
||||
return request({
|
||||
url: '/rocketmq/systemInfo/' + Ids,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
<div>
|
||||
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" :label-width="config && config.labelWidth || '130px'" class="demo-ruleForm">
|
||||
<el-row v-for="(formItem,index) of formList">
|
||||
<h4 class="form-header h4">{{formItem.config.title}}</h4>
|
||||
<h4 v-if="formItem && formItem.config && formItem.config.title" class="form-header h4">{{formItem.config.title}}</h4>
|
||||
<el-col v-for="(formVal,key,index) of formItem['controls']" :span="formVal.span" v-if="!formVal.hidden" :style="formVal.style">
|
||||
<el-form-item
|
||||
:key="index"
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- 表格头部按钮 -->
|
||||
<el-row :gutter="10" class="mb8" v-if="config && config.tableButton && config.tableButton.top">
|
||||
<template v-for="item of config.tableButton.top">
|
||||
<el-col :span="1.5">
|
||||
<el-button :type="item.type" plain size="mini" :icon="item.icon" @click="handleClick(item,{})" :hasPermi="[item.hasPermi]">{{item.content}}</el-button>
|
||||
</el-col>
|
||||
</template>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="renderList" :columns="columns"></right-toolbar>
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<template v-if="config && config.tableButton && config.tableButton.top">
|
||||
<el-col :span="1.5" v-for="item of config.tableButton.top">
|
||||
<el-button :type="item.type" plain size="mini" :icon="item.icon" @click="handleClick(item,{})" :hasPermi="[item.hasPermi]">{{item.content}}</el-button>
|
||||
</el-col>
|
||||
</template>
|
||||
<right-toolbar v-if="!(config && config.colTopHiddenIcon)" :showSearch.sync="showSearch" @queryTable="renderList" :columns="columns"></right-toolbar>
|
||||
</el-row>
|
||||
<!-- 表格数据 -->
|
||||
<el-table v-loading="loading" :data="tableList" ref="selChangeList" @selection-change="handleSelectionChange">
|
||||
<el-table-column v-if="!(config && config.colHiddenCheck)" type="selection" width="55" align="center" />
|
||||
<el-table v-loading="loading" :data="tableList" ref="selChangeList" highlight-selection-row @selection-change="handleSelectionChange">
|
||||
<el-table-column v-if="!(config && config.colHiddenCheck)" fixed type="selection" width="55" align="center" />
|
||||
<template v-for="(column, key, index) of columns">
|
||||
<el-table-column :label="column.label" :key="key" :prop="key" :width="column.width" min-width="100px" v-if="column && column.visible" align="center" :show-overflow-tooltip="true">
|
||||
<el-table-column v-if="column && column.visible" :label="column.label" :key="key" :prop="key" :width="column.width" :min-width="column.minWidth || '100px'" align="center" :show-overflow-tooltip="true">
|
||||
<!-- 插槽 自定义列表表头数据格式 -->
|
||||
<template #header v-if="column && column.slotHeaderName">
|
||||
<span>{{column.label}}</span>
|
||||
@@ -74,7 +74,8 @@
|
||||
config: {
|
||||
type: Object,
|
||||
default: () => ({
|
||||
colHiddenCheck: false
|
||||
colHiddenCheck: false,
|
||||
colTopHiddenIcon: false
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1,93 +1,93 @@
|
||||
<template>
|
||||
<div class="sidebar-logo-container" :class="{'collapse':collapse}" :style="{ backgroundColor: sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground }">
|
||||
<transition name="sidebarLogoFade">
|
||||
<router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
|
||||
<img v-if="logo" :src="logo" class="sidebar-logo" />
|
||||
<h1 v-else class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>
|
||||
</router-link>
|
||||
<router-link v-else key="expand" class="sidebar-logo-link" to="/">
|
||||
<img v-if="logo" :src="logo" class="sidebar-logo" />
|
||||
<h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>
|
||||
</router-link>
|
||||
</transition>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import logoImg from '@/assets/logo/logo.png'
|
||||
import variables from '@/assets/styles/variables.scss'
|
||||
|
||||
export default {
|
||||
name: 'SidebarLogo',
|
||||
props: {
|
||||
collapse: {
|
||||
type: Boolean,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
variables() {
|
||||
return variables
|
||||
},
|
||||
sideTheme() {
|
||||
return this.$store.state.settings.sideTheme
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
title: process.env.VUE_APP_TITLE,
|
||||
logo: logoImg
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.sidebarLogoFade-enter-active {
|
||||
transition: opacity 1.5s;
|
||||
}
|
||||
|
||||
.sidebarLogoFade-enter,
|
||||
.sidebarLogoFade-leave-to {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.sidebar-logo-container {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
background: #2b2f3a;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
|
||||
& .sidebar-logo-link {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
|
||||
& .sidebar-logo {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
vertical-align: middle;
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
& .sidebar-title {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
color: #fff;
|
||||
font-weight: 600;
|
||||
line-height: 50px;
|
||||
font-size: 14px;
|
||||
font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
&.collapse {
|
||||
.sidebar-logo {
|
||||
margin-right: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<div class="sidebar-logo-container" :class="{'collapse':collapse}" :style="{ backgroundColor: sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground }">
|
||||
<transition name="sidebarLogoFade">
|
||||
<router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
|
||||
<img v-if="logo" :src="logo" class="sidebar-logo" />
|
||||
<h1 v-else class="sidebar-title" style="font-size: 16px;" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>
|
||||
</router-link>
|
||||
<router-link v-else key="expand" class="sidebar-logo-link" to="/">
|
||||
<img v-if="logo" :src="logo" class="sidebar-logo" />
|
||||
<h1 class="sidebar-title" style="font-size: 16px;" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>
|
||||
</router-link>
|
||||
</transition>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import logoImg from '@/assets/logo/logo.png'
|
||||
import variables from '@/assets/styles/variables.scss'
|
||||
|
||||
export default {
|
||||
name: 'SidebarLogo',
|
||||
props: {
|
||||
collapse: {
|
||||
type: Boolean,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
variables() {
|
||||
return variables
|
||||
},
|
||||
sideTheme() {
|
||||
return this.$store.state.settings.sideTheme
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
title: process.env.VUE_APP_TITLE,
|
||||
logo: logoImg
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.sidebarLogoFade-enter-active {
|
||||
transition: opacity 1.5s;
|
||||
}
|
||||
|
||||
.sidebarLogoFade-enter,
|
||||
.sidebarLogoFade-leave-to {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.sidebar-logo-container {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
background: #2b2f3a;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
|
||||
& .sidebar-logo-link {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
|
||||
& .sidebar-logo {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
vertical-align: middle;
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
& .sidebar-title {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
color: #fff;
|
||||
font-weight: 600;
|
||||
line-height: 50px;
|
||||
font-size: 14px;
|
||||
font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
&.collapse {
|
||||
.sidebar-logo {
|
||||
margin-right: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -384,6 +384,21 @@ export const dynamicRoutes = [
|
||||
}
|
||||
]
|
||||
},
|
||||
// agent采集数据
|
||||
{
|
||||
path: '/agentCollect/cpuData/view',
|
||||
component: Layout,
|
||||
hidden: true,
|
||||
permissions: ['agentCollect:cpuData:view'],
|
||||
children: [
|
||||
{
|
||||
path: ':id?',
|
||||
component: () => import('@/views/agentCollect/cpuData/cpuDataView'),
|
||||
name: 'cpuDataView',
|
||||
meta: { title: 'cpu数据详情', activeMenu: '/agentCollect/cpuData' }
|
||||
}
|
||||
]
|
||||
},
|
||||
]
|
||||
|
||||
// 防止连续点击多次路由报错
|
||||
|
||||
155
src/views/agentCollect/cpuData/cpuData.vue
Normal file
155
src/views/agentCollect/cpuData/cpuData.vue
Normal file
@@ -0,0 +1,155 @@
|
||||
<template>
|
||||
<div class="app-container pageTopForm">
|
||||
<el-form :model="queryParams" ref="queryRef" v-show="showSearch" label-width="80px" class="demo-ruleForm">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="客户端ID" prop="clientId">
|
||||
<el-input
|
||||
v-model="queryParams.clientId"
|
||||
placeholder="请输入客户端ID"
|
||||
clearable
|
||||
@keyup.enter="handleQuery">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item class="lastBtnSty">
|
||||
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
<!-- 表格数据 -->
|
||||
<TableList :columns="columns" :config="config" :queryParams="queryParams" :tableList="tableList" @fnClick="callback" @fnRenderList="getList" @value-change="handleValueChange"></TableList>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import TableList from "@/components/table/index.vue";
|
||||
import {listCpuInfo, delCpuInfo} from "@/api/agentCollect/collectData";
|
||||
export default {
|
||||
name: 'CpuData',
|
||||
components: {TableList},
|
||||
data() {
|
||||
return {
|
||||
tableList: [],
|
||||
loading: true,
|
||||
showSearch: true,
|
||||
// 列显隐信息
|
||||
columns: {
|
||||
id: {label: `ID`},
|
||||
clientId: {label: `客户端ID`, minWidth: '160', visible: true},
|
||||
createTime: {label: `创建时间`, minWidth: '160', visible: true},
|
||||
avg1: {label: `CPU1分钟负载`, minWidth: '150', visible: true},
|
||||
avg5: {label: `CPU5分钟负载`, minWidth: '150', visible: true},
|
||||
avg15: {label: `CPU15分钟负载`, minWidth: '150', visible: true},
|
||||
interrupt: {label: `CPU硬件中断提供服务时间`, minWidth: '200', visible: true},
|
||||
uti: {label: `CPU使用率(%)`, minWidth: '150', visible: true},
|
||||
num: {label: `CPU数量(核数)`, minWidth: '150', visible: true},
|
||||
normal: {label: `CPU正常运行时间`, minWidth: '150', visible: true},
|
||||
idle: {label: `CPU空闲时间`, minWidth: '150', visible: true},
|
||||
iowait: {label: `CPU等待响应时间`, minWidth: '150', visible: true},
|
||||
system: {label: `CPU系统时间`, minWidth: '150', visible: true},
|
||||
noresp: {label: `CPU软件无响应时间`, minWidth: '200', visible: true},
|
||||
user: {label: `CPU用户进程所花费的时间`, minWidth: '200', visible: true},
|
||||
},
|
||||
config: {
|
||||
tableButton: {
|
||||
top: [
|
||||
{content: '新增', fnCode: 'add', type: 'primary', icon: 'el-icon-plus', hasPermi: 'agentCollect:cpuData:add'},
|
||||
{content: '删除', fnCode: 'delete', type: 'danger', icon: 'el-icon-delete', hasPermi: 'agentCollect:cpuData:delete'},
|
||||
{content: '导出', fnCode: 'export', type: 'primary', icon: 'el-icon-download', hasPermi: 'agentCollect:cpuData:export'},
|
||||
],
|
||||
line: [
|
||||
{content: '修改', fnCode: 'edit', type: 'text', icon: 'el-icon-edit', hasPermi: 'agentCollect:cpuData:edit'},
|
||||
]
|
||||
}
|
||||
},
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
activated() {
|
||||
// this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询角色列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
let newParams = Object.assign({},{...this.queryParams}, {total: 0});
|
||||
listCpuInfo(newParams).then(response => {
|
||||
this.tableList = response.rows;
|
||||
this.queryParams.total = response.total;
|
||||
this.loading = false;
|
||||
})
|
||||
},
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryRef");
|
||||
this.handleQuery();
|
||||
},
|
||||
|
||||
// 处理子组件传递的新值
|
||||
handleValueChange(newValue) {
|
||||
// 父组件更新自身数据,实现同步
|
||||
this.showSearch = newValue;
|
||||
// console.log('父组件拿到新值:', newValue);
|
||||
},
|
||||
callback(result, rowData, selectChange, selectList) {
|
||||
if (result && result.fnCode) {
|
||||
switch (result.fnCode) {
|
||||
case 'add':
|
||||
// this.$router.push({path:'/agentCollect/cpuData/view'});
|
||||
break;
|
||||
case 'edit':
|
||||
// this.$router.push({
|
||||
// path:'/agentCollect/cpuData/view',
|
||||
// query:{
|
||||
// id: rowData.id
|
||||
// }
|
||||
// });
|
||||
break;
|
||||
case 'delete':
|
||||
this.$modal.confirm('是否确认删除数据项?').then(function() {
|
||||
return delCpuInfo(selectChange)
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功")
|
||||
}).catch(() => {});
|
||||
break;
|
||||
case 'export':
|
||||
let dataList = [];
|
||||
Object.keys(this.columns).forEach(item => {
|
||||
if (item.visible) {
|
||||
dataList.push(item.prop);
|
||||
}
|
||||
});
|
||||
this.download("rocketmq/cpuInfo/export", {
|
||||
properties: dataList
|
||||
}, `CPU数据_${new Date().getTime()}.xlsx`);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
::v-deep .lastBtnSty .el-form-item__content{
|
||||
margin-left: unset!important;
|
||||
}
|
||||
</style>
|
||||
89
src/views/agentCollect/cpuData/cpuDataView.vue
Normal file
89
src/views/agentCollect/cpuData/cpuDataView.vue
Normal file
@@ -0,0 +1,89 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<Form :formList="formList" :ruleFormData="ruleForm" @fnClick="callback"></Form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import Form from '@/components/form/index.vue';
|
||||
import {addCpuInfo, getCpuInfo, updateCpuInfo} from "@/api/agentCollect/collectData"
|
||||
export default {
|
||||
name: 'CpuDataView',
|
||||
components: {Form},
|
||||
data() {
|
||||
return {
|
||||
ruleForm: {},
|
||||
formList: [],
|
||||
paramsData: {}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.paramsData = this.$route && this.$route.query;
|
||||
if (this.paramsData && this.paramsData.id) {
|
||||
this.getFormDataList(this.paramsData.id);
|
||||
}
|
||||
this.fnFormList();
|
||||
},
|
||||
methods: {
|
||||
// formList集合
|
||||
fnFormList(objVal) {
|
||||
this.formList = [{
|
||||
config: {title: '基本信息'},
|
||||
controls: {
|
||||
id: {label: 'ID',hidden: true},
|
||||
clientId: {label: `客户端ID`, span: 12, type: 'input',},
|
||||
avg1: {label: `CPU1分钟负载`, span: 12, type: 'input',},
|
||||
avg5: {label: `CPU5分钟负载`, span: 12, type: 'input'},
|
||||
avg15: {label: `CPU15分钟负载`, span: 12, type: 'input'},
|
||||
interrupt: {label: `CPU硬件中断提供服务时间(秒)`, span: 12, type: 'input'},
|
||||
uti: {label: `CPU使用率(%)`, width: '150', span: 12, type: 'input'},
|
||||
num: {label: `CPU数量(核数)`, width: '150', span: 12, type: 'input'},
|
||||
normal: {label: `CPU正常运行时间(秒)`, span: 12, type: 'input'},
|
||||
idle: {label: `CPU空闲时间(秒)`, span: 12, type: 'input'},
|
||||
iowait: {label: `CPU等待响应时间(秒)`, span: 12, type: 'input'},
|
||||
system: {label: `CPU系统时间(秒)`,span: 12, type: 'input'},
|
||||
noresp: {label: `CPU软件无响应时间(秒)`, span: 12, type: 'input'},
|
||||
user: {label: `CPU用户进程所花费的时间(秒)`, span: 12, type: 'input'},
|
||||
}
|
||||
}];
|
||||
},
|
||||
// 获取详情
|
||||
getFormDataList(id) {
|
||||
getCpuInfo(id).then(val => {
|
||||
if (val && val.data) {
|
||||
val.data['includedDevices'] = val.data['includedDevices'].split(',');
|
||||
this.ruleForm = val.data;
|
||||
}
|
||||
}).catch(() => {
|
||||
this.$modal.msgError("操作失败")
|
||||
});
|
||||
},
|
||||
// 监听事件
|
||||
callback(result, dataVal, formVal) {
|
||||
if (result && result.fnCode) {
|
||||
switch (result.fnCode) {
|
||||
case 'submit':
|
||||
dataVal['includedDevices'] = dataVal['includedDevices'].join();
|
||||
let fnType = addCpuInfo;
|
||||
if (dataVal && dataVal.id) {
|
||||
fnType = updateCpuInfo;
|
||||
}
|
||||
fnType(dataVal).then(response => {
|
||||
this.$modal.msgSuccess(response.msg);
|
||||
this.$router.push("/resource/group")
|
||||
}).catch(() => {
|
||||
this.$modal.msgError("操作失败")
|
||||
});
|
||||
break;
|
||||
case 'cancle':
|
||||
this.$router.push("/resource/group");
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
</style>
|
||||
152
src/views/agentCollect/diskData/diskData.vue
Normal file
152
src/views/agentCollect/diskData/diskData.vue
Normal file
@@ -0,0 +1,152 @@
|
||||
<template>
|
||||
<div class="app-container pageTopForm">
|
||||
<el-form :model="queryParams" ref="queryRef" v-show="showSearch" label-width="80px" class="demo-ruleForm">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="客户端ID" prop="clientId">
|
||||
<el-input
|
||||
v-model="queryParams.clientId"
|
||||
placeholder="请输入客户端ID"
|
||||
clearable
|
||||
@keyup.enter="handleQuery">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item class="lastBtnSty">
|
||||
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
<!-- 表格数据 -->
|
||||
<TableList :columns="columns" :config="config" :queryParams="queryParams" :tableList="tableList" @fnClick="callback" @fnRenderList="getList" @value-change="handleValueChange"></TableList>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import TableList from "@/components/table/index.vue";
|
||||
import {listDiskInfo, delDiskInfo} from "@/api/agentCollect/collectData"
|
||||
export default {
|
||||
name: 'DiskData',
|
||||
components: {TableList},
|
||||
data() {
|
||||
return {
|
||||
tableList: [],
|
||||
loading: true,
|
||||
showSearch: true,
|
||||
// 列显隐信息
|
||||
columns: {
|
||||
id: {label: `ID`},
|
||||
clientId: {label: `客户端ID`, minWidth: '160', visible: true},
|
||||
createTime: {label: `创建时间`, minWidth: '160', visible: true},
|
||||
name: {label: `磁盘名称`, minWidth: '150', visible: true},
|
||||
serial: {label: `磁盘序列号`, minWidth: '150', visible: true},
|
||||
total: {label: `磁盘总大小(GB)`, minWidth: '150', visible: true},
|
||||
writeSpeed: {label: `磁盘写入速率(字节/秒)`, minWidth: '200', visible: true},
|
||||
readSpeed: {label: `磁盘读取速率(字节/秒)`, minWidth: '150', visible: true},
|
||||
writeTimes: {label: `磁盘写入次数`, minWidth: '150', visible: true},
|
||||
readTimes: {label: `磁盘读取次数`, minWidth: '150', visible: true},
|
||||
writeBytes: {label: `磁盘写入总字节数`, minWidth: '150', visible: true},
|
||||
readBytes: {label: `磁盘读取总字节数`, minWidth: '150', visible: true},
|
||||
},
|
||||
config: {
|
||||
tableButton: {
|
||||
top: [
|
||||
{content: '新增', fnCode: 'add', type: 'primary', icon: 'el-icon-plus', hasPermi: 'agentCollect:diskData:add'},
|
||||
{content: '删除', fnCode: 'delete', type: 'danger', icon: 'el-icon-delete', hasPermi: 'agentCollect:diskData:delete'},
|
||||
{content: '导出', fnCode: 'export', type: 'primary', icon: 'el-icon-download', hasPermi: 'agentCollect:diskData:export'},
|
||||
],
|
||||
line: [
|
||||
{content: '修改', fnCode: 'edit', type: 'text', icon: 'el-icon-edit', hasPermi: 'agentCollect:diskData:edit'},
|
||||
]
|
||||
}
|
||||
},
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
activated() {
|
||||
// this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询角色列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
let newParams = Object.assign({},{...this.queryParams}, {total: 0});
|
||||
listDiskInfo(newParams).then(response => {
|
||||
this.tableList = response.rows;
|
||||
this.queryParams.total = response.total;
|
||||
this.loading = false;
|
||||
})
|
||||
},
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryRef");
|
||||
this.handleQuery();
|
||||
},
|
||||
|
||||
// 处理子组件传递的新值
|
||||
handleValueChange(newValue) {
|
||||
// 父组件更新自身数据,实现同步
|
||||
this.showSearch = newValue;
|
||||
// console.log('父组件拿到新值:', newValue);
|
||||
},
|
||||
callback(result, rowData, selectChange, selectList) {
|
||||
if (result && result.fnCode) {
|
||||
switch (result.fnCode) {
|
||||
case 'add':
|
||||
// this.$router.push({path:'/agentCollect/diskData/view'});
|
||||
break;
|
||||
case 'edit':
|
||||
// this.$router.push({
|
||||
// path:'/agentCollect/diskData/view',
|
||||
// query:{
|
||||
// id: rowData.id
|
||||
// }
|
||||
// });
|
||||
break;
|
||||
case 'delete':
|
||||
this.$modal.confirm('是否确认删除数据项?').then(function() {
|
||||
return delDiskInfo(selectChange)
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功")
|
||||
}).catch(() => {});
|
||||
break;
|
||||
case 'export':
|
||||
let dataList = [];
|
||||
Object.keys(this.columns).forEach(item => {
|
||||
if (item.visible) {
|
||||
dataList.push(item.prop);
|
||||
}
|
||||
});
|
||||
this.download("rocketmq/diskInfo/export", {
|
||||
properties: dataList
|
||||
}, `磁盘数据_${new Date().getTime()}.xlsx`);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
::v-deep .lastBtnSty .el-form-item__content{
|
||||
margin-left: unset!important;
|
||||
}
|
||||
</style>
|
||||
149
src/views/agentCollect/dockerData/dockerData.vue
Normal file
149
src/views/agentCollect/dockerData/dockerData.vue
Normal file
@@ -0,0 +1,149 @@
|
||||
<template>
|
||||
<div class="app-container pageTopForm">
|
||||
<el-form :model="queryParams" ref="queryRef" v-show="showSearch" label-width="80px" class="demo-ruleForm">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="容器名称" prop="name">
|
||||
<el-input
|
||||
v-model="queryParams.name"
|
||||
placeholder="请输入容器名称"
|
||||
clearable
|
||||
@keyup.enter="handleQuery">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item class="lastBtnSty">
|
||||
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
<!-- 表格数据 -->
|
||||
<TableList :columns="columns" :config="config" :queryParams="queryParams" :tableList="tableList" @fnClick="callback" @fnRenderList="getList" @value-change="handleValueChange"></TableList>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import TableList from "@/components/table/index.vue";
|
||||
import {listDockerInfo, delDockerInfo} from "@/api/agentCollect/collectData"
|
||||
export default {
|
||||
name: 'DockerData',
|
||||
components: {TableList},
|
||||
data() {
|
||||
return {
|
||||
tableList: [],
|
||||
loading: true,
|
||||
showSearch: true,
|
||||
// 列显隐信息
|
||||
columns: {
|
||||
id: {label: `ID`},
|
||||
name: {label: `容器名称`, minWidth: '200', visible: true},
|
||||
createTime: {label: `创建时间`, minWidth: '160', visible: true},
|
||||
status: {label: `容器状态`, minWidth: '160', visible: true},
|
||||
cpuUtil: {label: `容器CPU使用率(%)`, minWidth: '150', visible: true},
|
||||
memUtil: {label: `容器内存使用率(%)`, minWidth: '150', visible: true},
|
||||
netInSpeed: {label: `容器网络接收速率(KB/s)`, minWidth: '200', visible: true},
|
||||
netOutSpeed: {label: `容器网络发送速率(KB/s)`, minWidth: '200', visible: true},
|
||||
clientId: {label: `设备唯一标识`, minWidth: '160', visible: true},
|
||||
},
|
||||
config: {
|
||||
tableButton: {
|
||||
top: [
|
||||
{content: '新增', fnCode: 'add', type: 'primary', icon: 'el-icon-plus', hasPermi: 'agentCollect:dockerData:add'},
|
||||
{content: '删除', fnCode: 'delete', type: 'danger', icon: 'el-icon-delete', hasPermi: 'agentCollect:dockerData:delete'},
|
||||
{content: '导出', fnCode: 'export', type: 'primary', icon: 'el-icon-download', hasPermi: 'agentCollect:dockerData:export'},
|
||||
],
|
||||
line: [
|
||||
{content: '修改', fnCode: 'edit', type: 'text', icon: 'el-icon-edit', hasPermi: 'agentCollect:dockerData:edit'},
|
||||
]
|
||||
}
|
||||
},
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
activated() {
|
||||
// this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询角色列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
let newParams = Object.assign({},{...this.queryParams}, {total: 0});
|
||||
listDockerInfo(newParams).then(response => {
|
||||
this.tableList = response.rows;
|
||||
this.queryParams.total = response.total;
|
||||
this.loading = false;
|
||||
})
|
||||
},
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryRef");
|
||||
this.handleQuery();
|
||||
},
|
||||
|
||||
// 处理子组件传递的新值
|
||||
handleValueChange(newValue) {
|
||||
// 父组件更新自身数据,实现同步
|
||||
this.showSearch = newValue;
|
||||
// console.log('父组件拿到新值:', newValue);
|
||||
},
|
||||
callback(result, rowData, selectChange, selectList) {
|
||||
if (result && result.fnCode) {
|
||||
switch (result.fnCode) {
|
||||
case 'add':
|
||||
// this.$router.push({path:'/agentCollect/dockerData/view'});
|
||||
break;
|
||||
case 'edit':
|
||||
// this.$router.push({
|
||||
// path:'/agentCollect/dockerData/view',
|
||||
// query:{
|
||||
// id: rowData.id
|
||||
// }
|
||||
// });
|
||||
break;
|
||||
case 'delete':
|
||||
this.$modal.confirm('是否确认删除数据项?').then(function() {
|
||||
return delDockerInfo(selectChange)
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功")
|
||||
}).catch(() => {});
|
||||
break;
|
||||
case 'export':
|
||||
let dataList = [];
|
||||
Object.keys(this.columns).forEach(item => {
|
||||
if (item.visible) {
|
||||
dataList.push(item.prop);
|
||||
}
|
||||
});
|
||||
this.download("rocketmq/dockerInfo/export", {
|
||||
properties: dataList
|
||||
}, `容器数据_${new Date().getTime()}.xlsx`);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
::v-deep .lastBtnSty .el-form-item__content{
|
||||
margin-left: unset!important;
|
||||
}
|
||||
</style>
|
||||
149
src/views/agentCollect/memoryData/memoryData.vue
Normal file
149
src/views/agentCollect/memoryData/memoryData.vue
Normal file
@@ -0,0 +1,149 @@
|
||||
<template>
|
||||
<div class="app-container pageTopForm">
|
||||
<el-form :model="queryParams" ref="queryRef" v-show="showSearch" label-width="80px" class="demo-ruleForm">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="客户端ID" prop="clientId">
|
||||
<el-input
|
||||
v-model="queryParams.clientId"
|
||||
placeholder="请输入客户端ID"
|
||||
clearable
|
||||
@keyup.enter="handleQuery">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item class="lastBtnSty">
|
||||
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
<!-- 表格数据 -->
|
||||
<TableList :columns="columns" :config="config" :queryParams="queryParams" :tableList="tableList" @fnClick="callback" @fnRenderList="getList" @value-change="handleValueChange"></TableList>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import TableList from "@/components/table/index.vue";
|
||||
import {listMemoryInfo, delMemoryInfo} from "@/api/agentCollect/collectData"
|
||||
export default {
|
||||
name: 'MemoryData',
|
||||
components: {TableList},
|
||||
data() {
|
||||
return {
|
||||
tableList: [],
|
||||
loading: true,
|
||||
showSearch: true,
|
||||
// 列显隐信息
|
||||
columns: {
|
||||
id: {label: `ID`},
|
||||
clientId: {label: `客户端ID`, minWidth: '160', visible: true},
|
||||
createTime: {label: `创建时间`, minWidth: '160', visible: true},
|
||||
swapSizeFree: {label: `交换卷/文件的可用空间(字节)`, minWidth: '200', visible: true},
|
||||
untilzation: {label: `内存利用率(%)`, minWidth: '150', visible: true},
|
||||
swapSizePercent: {label: `可用交换空间百分比(%)`, minWidth: '200', visible: true},
|
||||
available: {label: `可用内存(字节)`, minWidth: '200', visible: true},
|
||||
percent: {label: `可用内存百分比(%)`, minWidth: '150', visible: true},
|
||||
total: {label: `总内存(字节)`, minWidth: '150', visible: true}
|
||||
},
|
||||
config: {
|
||||
tableButton: {
|
||||
top: [
|
||||
{content: '新增', fnCode: 'add', type: 'primary', icon: 'el-icon-plus', hasPermi: 'agentCollect:memoryData:add'},
|
||||
{content: '删除', fnCode: 'delete', type: 'danger', icon: 'el-icon-delete', hasPermi: 'agentCollect:memoryData:delete'},
|
||||
{content: '导出', fnCode: 'export', type: 'primary', icon: 'el-icon-download', hasPermi: 'agentCollect:memoryData:export'},
|
||||
],
|
||||
line: [
|
||||
{content: '修改', fnCode: 'edit', type: 'text', icon: 'el-icon-edit', hasPermi: 'agentCollect:memoryData:edit'},
|
||||
]
|
||||
}
|
||||
},
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
activated() {
|
||||
// this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询角色列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
let newParams = Object.assign({},{...this.queryParams}, {total: 0});
|
||||
listMemoryInfo(newParams).then(response => {
|
||||
this.tableList = response.rows;
|
||||
this.queryParams.total = response.total;
|
||||
this.loading = false;
|
||||
})
|
||||
},
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryRef");
|
||||
this.handleQuery();
|
||||
},
|
||||
|
||||
// 处理子组件传递的新值
|
||||
handleValueChange(newValue) {
|
||||
// 父组件更新自身数据,实现同步
|
||||
this.showSearch = newValue;
|
||||
// console.log('父组件拿到新值:', newValue);
|
||||
},
|
||||
callback(result, rowData, selectChange, selectList) {
|
||||
if (result && result.fnCode) {
|
||||
switch (result.fnCode) {
|
||||
case 'add':
|
||||
// this.$router.push({path:'/agentCollect/memoryData/view'});
|
||||
break;
|
||||
case 'edit':
|
||||
// this.$router.push({
|
||||
// path:'/agentCollect/memoryData/view',
|
||||
// query:{
|
||||
// id: rowData.id
|
||||
// }
|
||||
// });
|
||||
break;
|
||||
case 'delete':
|
||||
this.$modal.confirm('是否确认删除数据项?').then(function() {
|
||||
return delMemoryInfo(selectChange)
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功")
|
||||
}).catch(() => {});
|
||||
break;
|
||||
case 'export':
|
||||
let dataList = [];
|
||||
Object.keys(this.columns).forEach(item => {
|
||||
if (item.visible) {
|
||||
dataList.push(item.prop);
|
||||
}
|
||||
});
|
||||
this.download("rocketmq/memoryInfo/export", {
|
||||
properties: dataList
|
||||
}, `内存信息数据_${new Date().getTime()}.xlsx`);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
::v-deep .lastBtnSty .el-form-item__content{
|
||||
margin-left: unset!important;
|
||||
}
|
||||
</style>
|
||||
148
src/views/agentCollect/mountPointData/mountPointData.vue
Normal file
148
src/views/agentCollect/mountPointData/mountPointData.vue
Normal file
@@ -0,0 +1,148 @@
|
||||
<template>
|
||||
<div class="app-container pageTopForm">
|
||||
<el-form :model="queryParams" ref="queryRef" v-show="showSearch" label-width="80px" class="demo-ruleForm">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="客户端ID" prop="clientId">
|
||||
<el-input
|
||||
v-model="queryParams.clientId"
|
||||
placeholder="请输入客户端ID"
|
||||
clearable
|
||||
@keyup.enter="handleQuery">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item class="lastBtnSty">
|
||||
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
<!-- 表格数据 -->
|
||||
<TableList :columns="columns" :config="config" :queryParams="queryParams" :tableList="tableList" @fnClick="callback" @fnRenderList="getList" @value-change="handleValueChange"></TableList>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import TableList from "@/components/table/index.vue";
|
||||
import {listMountPointInfo, delMountPointInfo} from "@/api/agentCollect/collectData"
|
||||
export default {
|
||||
name: 'MountPointData',
|
||||
components: {TableList},
|
||||
data() {
|
||||
return {
|
||||
tableList: [],
|
||||
loading: true,
|
||||
showSearch: true,
|
||||
// 列显隐信息
|
||||
columns: {
|
||||
id: {label: `ID`},
|
||||
clientId: {label: `客户端ID`, minWidth: '160', visible: true},
|
||||
createTime: {label: `创建时间`, minWidth: '160', visible: true},
|
||||
mount: {label: `挂载点路径`, minWidth: '200', visible: true},
|
||||
vfsType: {label: `文件系统类型`, minWidth: '150', visible: true},
|
||||
vfsFree: {label: `可用空间`, minWidth: '200', visible: true},
|
||||
vfsTotal: {label: `总空间`, minWidth: '200', visible: true},
|
||||
vfsUtil: {label: `空间利用率`, minWidth: '150', visible: true}
|
||||
},
|
||||
config: {
|
||||
tableButton: {
|
||||
top: [
|
||||
{content: '新增', fnCode: 'add', type: 'primary', icon: 'el-icon-plus', hasPermi: 'agentCollect:mountPointData:add'},
|
||||
{content: '删除', fnCode: 'delete', type: 'danger', icon: 'el-icon-delete', hasPermi: 'agentCollect:mountPointData:delete'},
|
||||
{content: '导出', fnCode: 'export', type: 'primary', icon: 'el-icon-download', hasPermi: 'agentCollect:mountPointData:export'},
|
||||
],
|
||||
line: [
|
||||
{content: '修改', fnCode: 'edit', type: 'text', icon: 'el-icon-edit', hasPermi: 'agentCollect:mountPointData:edit'},
|
||||
]
|
||||
}
|
||||
},
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
activated() {
|
||||
// this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询角色列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
let newParams = Object.assign({},{...this.queryParams}, {total: 0});
|
||||
listMountPointInfo(newParams).then(response => {
|
||||
this.tableList = response.rows;
|
||||
this.queryParams.total = response.total;
|
||||
this.loading = false;
|
||||
})
|
||||
},
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryRef");
|
||||
this.handleQuery();
|
||||
},
|
||||
|
||||
// 处理子组件传递的新值
|
||||
handleValueChange(newValue) {
|
||||
// 父组件更新自身数据,实现同步
|
||||
this.showSearch = newValue;
|
||||
// console.log('父组件拿到新值:', newValue);
|
||||
},
|
||||
callback(result, rowData, selectChange, selectList) {
|
||||
if (result && result.fnCode) {
|
||||
switch (result.fnCode) {
|
||||
case 'add':
|
||||
// this.$router.push({path:'/agentCollect/mountPointData/view'});
|
||||
break;
|
||||
case 'edit':
|
||||
// this.$router.push({
|
||||
// path:'/agentCollect/mountPointData/view',
|
||||
// query:{
|
||||
// id: rowData.id
|
||||
// }
|
||||
// });
|
||||
break;
|
||||
case 'delete':
|
||||
this.$modal.confirm('是否确认删除数据项?').then(function() {
|
||||
return delMountPointInfo(selectChange)
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功")
|
||||
}).catch(() => {});
|
||||
break;
|
||||
case 'export':
|
||||
let dataList = [];
|
||||
Object.keys(this.columns).forEach(item => {
|
||||
if (item.visible) {
|
||||
dataList.push(item.prop);
|
||||
}
|
||||
});
|
||||
this.download("rocketmq/mountPointInfo/export", {
|
||||
properties: dataList
|
||||
}, `挂载点信息数据_${new Date().getTime()}.xlsx`);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
::v-deep .lastBtnSty .el-form-item__content{
|
||||
margin-left: unset!important;
|
||||
}
|
||||
</style>
|
||||
154
src/views/agentCollect/systemData/systemData.vue
Normal file
154
src/views/agentCollect/systemData/systemData.vue
Normal file
@@ -0,0 +1,154 @@
|
||||
<template>
|
||||
<div class="app-container pageTopForm">
|
||||
<el-form :model="queryParams" ref="queryRef" v-show="showSearch" label-width="80px" class="demo-ruleForm">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="客户端ID" prop="clientId">
|
||||
<el-input
|
||||
v-model="queryParams.clientId"
|
||||
placeholder="请输入客户端ID"
|
||||
clearable
|
||||
@keyup.enter="handleQuery">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item class="lastBtnSty">
|
||||
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
<!-- 表格数据 -->
|
||||
<TableList :columns="columns" :config="config" :queryParams="queryParams" :tableList="tableList" @fnClick="callback" @fnRenderList="getList" @value-change="handleValueChange"></TableList>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import TableList from "@/components/table/index.vue";
|
||||
import {listSystemInfo, delSystemInfo} from "@/api/agentCollect/collectData"
|
||||
export default {
|
||||
name: 'SystemData',
|
||||
components: {TableList},
|
||||
data() {
|
||||
return {
|
||||
tableList: [],
|
||||
loading: true,
|
||||
showSearch: true,
|
||||
// 列显隐信息
|
||||
columns: {
|
||||
id: {label: `ID`},
|
||||
clientId: {label: `客户端ID`, minWidth: '160', visible: true},
|
||||
createTime: {label: `创建时间`, minWidth: '160', visible: true},
|
||||
os: {label: `操作系统`, minWidth: '150', visible: true},
|
||||
arch: {label: `操作系统架构`, minWidth: '120', visible: true},
|
||||
maxProc: {label: `最大进程数`, minWidth: '200', visible: true},
|
||||
runProcNum: {label: `正在运行的进程数`, minWidth: '200', visible: true},
|
||||
usersNum: {label: `登录用户数`, minWidth: '150', visible: true},
|
||||
diskSizeTotal: {label: `硬盘总可用空间(GB)`, minWidth: '200', visible: true},
|
||||
bootTime: {label: `系统启动时间(Unix时间戳)`, minWidth: '200', visible: true},
|
||||
uname: {label: `系统描述`, minWidth: '200', visible: true},
|
||||
localTime: {label: `系统本地时间`, minWidth: '200', visible: true},
|
||||
upTime: {label: `系统正常运行时间(秒)`, minWidth: '200', visible: true},
|
||||
procNum: {label: `进程数`, minWidth: '200', visible: true}
|
||||
},
|
||||
config: {
|
||||
tableButton: {
|
||||
top: [
|
||||
{content: '新增', fnCode: 'add', type: 'primary', icon: 'el-icon-plus', hasPermi: 'agentCollect:systemData:add'},
|
||||
{content: '删除', fnCode: 'delete', type: 'danger', icon: 'el-icon-delete', hasPermi: 'agentCollect:systemData:delete'},
|
||||
{content: '导出', fnCode: 'export', type: 'primary', icon: 'el-icon-download', hasPermi: 'agentCollect:systemData:export'},
|
||||
],
|
||||
line: [
|
||||
{content: '修改', fnCode: 'edit', type: 'text', icon: 'el-icon-edit', hasPermi: 'agentCollect:systemData:edit'},
|
||||
]
|
||||
}
|
||||
},
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
activated() {
|
||||
// this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询角色列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
let newParams = Object.assign({},{...this.queryParams}, {total: 0});
|
||||
listSystemInfo(newParams).then(response => {
|
||||
this.tableList = response.rows;
|
||||
this.queryParams.total = response.total;
|
||||
this.loading = false;
|
||||
})
|
||||
},
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryRef");
|
||||
this.handleQuery();
|
||||
},
|
||||
|
||||
// 处理子组件传递的新值
|
||||
handleValueChange(newValue) {
|
||||
// 父组件更新自身数据,实现同步
|
||||
this.showSearch = newValue;
|
||||
// console.log('父组件拿到新值:', newValue);
|
||||
},
|
||||
callback(result, rowData, selectChange, selectList) {
|
||||
if (result && result.fnCode) {
|
||||
switch (result.fnCode) {
|
||||
case 'add':
|
||||
// this.$router.push({path:'/agentCollect/systemData/view'});
|
||||
break;
|
||||
case 'edit':
|
||||
// this.$router.push({
|
||||
// path:'/agentCollect/systemData/view',
|
||||
// query:{
|
||||
// id: rowData.id
|
||||
// }
|
||||
// });
|
||||
break;
|
||||
case 'delete':
|
||||
this.$modal.confirm('是否确认删除数据项?').then(function() {
|
||||
return delSystemInfo(selectChange)
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功")
|
||||
}).catch(() => {});
|
||||
break;
|
||||
case 'export':
|
||||
let dataList = [];
|
||||
Object.keys(this.columns).forEach(item => {
|
||||
if (item.visible) {
|
||||
dataList.push(item.prop);
|
||||
}
|
||||
});
|
||||
this.download("rocketmq/systemInfo/export", {
|
||||
properties: dataList
|
||||
}, `系统信息数据_${new Date().getTime()}.xlsx`);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
::v-deep .lastBtnSty .el-form-item__content{
|
||||
margin-left: unset!important;
|
||||
}
|
||||
</style>
|
||||
@@ -20,15 +20,25 @@
|
||||
<template #tempBusinessName="{ row, column }">
|
||||
<div>
|
||||
<!-- 非编辑状态:显示文本 -->
|
||||
<span v-if="!row.editStatus">{{ row.businessName }}</span>
|
||||
<!-- 编辑状态:显示输入框 -->
|
||||
<el-input
|
||||
v-else
|
||||
v-model="row.businessName"
|
||||
size="mini"
|
||||
@blur="callback({fnCode: 'edit'}, row)"
|
||||
></el-input>
|
||||
<el-button v-if="!row.editStatus" icon="el-icon-edit" type="text" @click="rowDataChange(row)"></el-button>
|
||||
<template v-if="!row.editStatus">
|
||||
<span>{{ row.businessName }}</span>
|
||||
<el-button icon="el-icon-edit" type="text" @click="rowDataChange(row)"></el-button>
|
||||
</template>
|
||||
<template v-else>
|
||||
<!-- 编辑状态:显示输入框 -->
|
||||
<el-col :span="16">
|
||||
<el-input
|
||||
v-model="row.businessName"
|
||||
size="mini"
|
||||
@keyup.enter="callback({fnCode: 'edit'}, row)"
|
||||
@blur="callback({fnCode: 'edit'}, row)"
|
||||
></el-input>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-button size="mini" type="primary" @click="callback({fnCode: 'submit'}, row)">确定</el-button>
|
||||
<el-button size="mini" @click="callback({fnCode: 'cancel'}, row)">取消</el-button>
|
||||
</el-col>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
</TableList>
|
||||
@@ -44,7 +54,7 @@
|
||||
data() {
|
||||
return {
|
||||
editStatus: false,
|
||||
loading: true,
|
||||
loading: false,
|
||||
showSearch: true,
|
||||
roleList: [],
|
||||
queryParams: {
|
||||
@@ -66,7 +76,7 @@
|
||||
top: [
|
||||
{content: '新增', fnCode: 'add', type: 'primary', icon: 'el-icon-plus', hasPermi: 'disRevenue:earnManage:business:add'},
|
||||
// {content: '删除', fnCode: 'delete', type: 'danger', icon: 'el-icon-delete', hasPermi: 'disRevenue:earnManage:business:detele'},
|
||||
{content: '导出', fnCode: 'export', type: 'primary', icon: 'el-icon-download', hasPermi: 'disRevenue:earnManage:business:export'},
|
||||
{content: '导出', fnCode: 'export', type: 'warning', icon: 'el-icon-download', hasPermi: 'disRevenue:earnManage:business:export'},
|
||||
],
|
||||
// line: [
|
||||
// {content: '修改', fnCode: 'edit', type: 'text', icon: 'el-icon-edit', hasPermi: 'disRevenue:earnManage:business:edit'},
|
||||
@@ -117,7 +127,9 @@
|
||||
this.$router.push({
|
||||
path:'/disRevenue/earnManage/business/details/index'});
|
||||
break;
|
||||
case 'edit':
|
||||
case 'submit':
|
||||
if (this.loading) return;
|
||||
this.loading = true;
|
||||
countBusinessName(rowData).then(res => {
|
||||
updateBusiness(rowData).then(response => {
|
||||
this.$set(rowData, 'editStatus', false);
|
||||
@@ -133,6 +145,9 @@
|
||||
this.loading = false;
|
||||
});
|
||||
break;
|
||||
case 'cancel':
|
||||
this.$set(rowData, 'editStatus', false);
|
||||
break;
|
||||
case 'delete':
|
||||
this.$modal.confirm('是否确认删除数据项?').then(function() {
|
||||
return delBusiness(selectChange)
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
config: {
|
||||
tableButton: {
|
||||
top: [
|
||||
{content: '导出', fnCode: 'export', type: 'primary', icon: 'el-icon-download', hasPermi: 'disRevenue:earnManage:revenueMethod:export'},
|
||||
{content: '导出', fnCode: 'export', type: 'warning', icon: 'el-icon-download', hasPermi: 'disRevenue:earnManage:revenueMethod:export'},
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
return {
|
||||
ruleForm: {},
|
||||
formList: [],
|
||||
switchNameList: [],
|
||||
paramsData: {}
|
||||
}
|
||||
},
|
||||
@@ -35,9 +36,9 @@
|
||||
rules: [{required: true, message: '请选择节点名称', trigger: 'change'}]},
|
||||
businessName: {label: '业务名称', span: 12, style: 'display: block;', type: 'select', options:[], eventName: 'change',
|
||||
rules: [{required: true, message: '请选择业务名称', trigger: 'change'}]},
|
||||
code: {label: '业务代码', span: 12, style: 'display: block;', type: 'input', disabled: true,
|
||||
businessId: {label: '业务代码', span: 12, style: 'display: block;', type: 'input', disabled: true,
|
||||
rules: [{required: true, message: '请输入业务代码', trigger: 'blur'}]},
|
||||
creatTime: {label: '月份选择', span: 12, type: 'month',
|
||||
monthTime: {label: '月份选择', span: 12, type: 'month',
|
||||
rules: [{required: true, message: '请选择月份', trigger: 'change'}]},
|
||||
}
|
||||
}];
|
||||
@@ -45,6 +46,7 @@
|
||||
// 获取交换机下拉
|
||||
switchList() {
|
||||
listAllResourList({resourceType: this.paramsData.resourceType}).then(val => {
|
||||
this.switchNameList = val && val;
|
||||
this.formList[0].controls.nodeName['options'] = val && val.map(item => {
|
||||
return Object.assign({label: item.resourceName, value: item.resourceName});
|
||||
});
|
||||
@@ -66,10 +68,15 @@
|
||||
this.$set(this.ruleForm, 'businessName', item.label);
|
||||
}
|
||||
});
|
||||
this.$set(this.ruleForm, 'code', dataVal);
|
||||
this.$set(this.ruleForm, 'businessId', dataVal);
|
||||
}
|
||||
break;
|
||||
case 'submit':
|
||||
this.switchNameList.find(item => {
|
||||
if (item.resourceName === dataVal['nodeName']) {
|
||||
dataVal['hardwareSn'] = item.hardwareSn;
|
||||
}
|
||||
});
|
||||
dataVal['resourceType'] = this.paramsData.resourceType;
|
||||
calculateAvg(dataVal).then(response => {
|
||||
this.$modal.msgSuccess(response.msg);
|
||||
|
||||
@@ -106,21 +106,21 @@
|
||||
// 列显隐信息
|
||||
columns: {
|
||||
id: {label: `ID`},
|
||||
nodeName: {label: `节点名称`, visible: true},
|
||||
hardwareSn: {label: `硬件SN`},
|
||||
uplinkSwitch: {label: `上联交换机`},
|
||||
businessId: {label: `业务代码`},
|
||||
businessName: {label: `业务名称`},
|
||||
bandwidth95Daily: {label: `95宽带值Mbps/日`, slotName: 'tempDay', slotHeaderName: '使用服务器的发送流量,发送流量值除以1000000', visible: true},
|
||||
bandwidth95Monthly: {label: `95宽带值Mbps/月`, visible: true, slotName: 'tempMonth',
|
||||
nodeName: {label: `节点名称`, minWidth: '200', visible: true},
|
||||
hardwareSn: {label: `硬件SN`, minWidth: '200'},
|
||||
uplinkSwitch: {label: `上联交换机`, minWidth: '150'},
|
||||
businessId: {label: `业务代码`, minWidth: '150'},
|
||||
businessName: {label: `业务名称`, minWidth: '150'},
|
||||
bandwidth95Daily: {label: `95宽带值Mbps/日`, minWidth: '200', slotName: 'tempDay', slotHeaderName: '使用服务器的发送流量,发送流量值除以1000000', visible: true},
|
||||
bandwidth95Monthly: {label: `95宽带值Mbps/月`, minWidth: '200', visible: true, slotName: 'tempMonth',
|
||||
slotHeaderName: '使用服务器的发送流量,发送流量值除以1000000;若服务器在一个自然月内有收益方式的变更,以最后一次变更的时间为开始到月末,进行该值的统计;若服务器收益方式为包端,则月底不用进行该值的计算。'},
|
||||
packageBandwidthDaily: {label: `包端带宽值Mbps/日`, slotName: 'tempDay', visible: true},
|
||||
packageBandwidthDaily: {label: `包端带宽值Mbps/日`, minWidth: '200', slotName: 'tempDay', visible: true},
|
||||
// customerName: {label: `设备业务客户`,visible: true},
|
||||
avgMonthlyBandwidth95: {label: `月均日95值Mbps`,slotName: 'tempDay'},
|
||||
effectiveBandwidth95Daily: {label: `有效95带宽值Mbps/日`, slotName: 'tempDay'},
|
||||
effectiveBandwidth95Monthly: {label: `有效95带宽值Mbps/月`,slotName: 'tempMonth'},
|
||||
effectiveAvgMonthlyBandwidth95: {label: `有效月均日95值Mbps`,slotName: 'tempDay'},
|
||||
resourceType: {label: `创建时间`},
|
||||
avgMonthlyBandwidth95: {label: `月均日95值Mbps`, minWidth: '200',slotName: 'tempDay'},
|
||||
effectiveBandwidth95Daily: {label: `有效95带宽值Mbps/日`, minWidth: '200', slotName: 'tempDay'},
|
||||
effectiveBandwidth95Monthly: {label: `有效95带宽值Mbps/月`, minWidth: '200', slotName: 'tempMonth'},
|
||||
effectiveAvgMonthlyBandwidth95: {label: `有效月均日95值Mbps`, minWidth: '200', slotName: 'tempDay'},
|
||||
createDatetime: {label: `创建时间`, minWidth: '150'},
|
||||
},
|
||||
config: {
|
||||
// searcherForm: [
|
||||
@@ -128,7 +128,7 @@
|
||||
// ],
|
||||
tableButton: {
|
||||
top: [
|
||||
{content: '导出', fnCode: 'export', type: 'primary', icon: 'el-icon-download', hasPermi: 'disRevenue:earnManage:server:export'},
|
||||
{content: '导出', fnCode: 'export', type: 'warning', icon: 'el-icon-download', hasPermi: 'disRevenue:earnManage:server:export'},
|
||||
{content: '图形分析', fnCode: 'echartView', type: 'success', icon: 'el-icon-data-analysis', hasPermi: 'disRevenue:earnManage:server:graphicAnalysis'},
|
||||
{content: '生成月均日95值', fnCode: 'createData', type: 'success', icon: 'el-icon-data-analysis', hasPermi: 'disRevenue:earnManage:server:add'},
|
||||
],
|
||||
@@ -152,7 +152,7 @@
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
// this.getList();
|
||||
},
|
||||
activated() {
|
||||
this.getList();
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
{label: `有效95带宽值Mbps/日`, prop: 'effectiveAvgMonthlyBandwidth95', slotName: true, visible: type},
|
||||
{label: `包端带宽值Mbps/日`, prop: 'packageBandwidthDaily', slotName: true, visible: type},
|
||||
{label: `流量端口`, prop: 'name', width: '550', visible: !type},
|
||||
{label: `发送流量值(bytes)`, prop: 'outSpeed', visible: !type},
|
||||
{label: `发送流量值(bytes/s)`, prop: 'outSpeed', visible: !type},
|
||||
];
|
||||
},
|
||||
/** 查询角色列表 */
|
||||
|
||||
@@ -104,11 +104,11 @@
|
||||
// 列显隐信息
|
||||
columns: {
|
||||
id: { label: `id`, visible: false },
|
||||
nodeName: { label: `节点名称`, visible: true },
|
||||
nodeName: { label: `节点名称`, minWidth: '200', visible: true },
|
||||
hardwareSn: { label: `硬件SN`, visible: false},
|
||||
revenueMethod: { label: `收益方式`, slotName: 'tempRevenue', visible: true },
|
||||
trafficPort: { label: `流量网口`, visible: true },
|
||||
bandwidth95: { label: `95宽带值(Mbps)`, visible: true },
|
||||
trafficPort: { label: `流量网口`, minWidth: '250', visible: true },
|
||||
bandwidth95: { label: `包端带宽值(Mbps)`, visible: true },
|
||||
lastModifyTime: { label: `修改时间`, visible: true }
|
||||
},
|
||||
config: {
|
||||
@@ -117,7 +117,7 @@
|
||||
// ],
|
||||
tableButton: {
|
||||
top: [
|
||||
{content: '导出', fnCode: 'export', type: 'primary', icon: 'el-icon-download', hasPermi: 'disRevenue:earnManage:serverRevenue:export'},
|
||||
{content: '导出', fnCode: 'export', type: 'warning', icon: 'el-icon-download', hasPermi: 'disRevenue:earnManage:serverRevenue:export'},
|
||||
],
|
||||
line: [
|
||||
{content: '修改', fnCode: 'edit', type: 'text', icon: 'el-icon-tickets', hasPermi: 'disRevenue:earnManage:serverRevenue:edit'}
|
||||
|
||||
@@ -142,15 +142,15 @@
|
||||
slotHeaderName: '不同的类型统计方式不一样,当类型是服务器时,使用的是接口的接收流量,95带宽值Mbs/日和95带宽值Mbs/月统计的是交换机接口的接收流量;当类型是机房出口的时候,95带宽值Mbs/日和95带宽值Mbs/月统计的是交换机接口的发送流量', visible: true },
|
||||
businessId: {label: `业务代码`},
|
||||
businessName: {label: `业务名称`},
|
||||
bandwidth95Daily: { label: `95宽带值Mbps/日`, slotName: 'tempDay', visible: true },
|
||||
bandwidth95Monthly: { label: `95宽带值Mbps/月`, slotName: 'tempMonth', visible: true },
|
||||
bandwidth95Daily: { label: `95宽带值Mbps/日`, width: '200', slotName: 'tempDay', visible: true },
|
||||
bandwidth95Monthly: { label: `95宽带值Mbps/月`, width: '200', slotName: 'tempMonth', visible: true },
|
||||
nodeName: { label: `服务器节点名称`},
|
||||
avgMonthlyBandwidth95: {label: `月均日95值Mbps`, slotName: 'tempDay'},
|
||||
effectiveBandwidth95Daily: {label: `有效95带宽值Mbps/日`,slotName: 'tempDay'},
|
||||
effectiveBandwidth95Monthly: {label: `有效95带宽值Mbps/月`, slotName: 'tempMonth',},
|
||||
effectiveAvgMonthlyBandwidth95: {label: `有效月均日95值Mbps`, slotName: 'tempDay'},
|
||||
createTime: { label: `创建时间`},
|
||||
lastModifyTime: { label: `修改时间`}
|
||||
avgMonthlyBandwidth95: {label: `月均日95值Mbps`, width: '200', slotName: 'tempDay'},
|
||||
effectiveBandwidth95Daily: {label: `有效95带宽值Mbps/日`, width: '200', slotName: 'tempDay'},
|
||||
effectiveBandwidth95Monthly: {label: `有效95带宽值Mbps/月`, width: '200', slotName: 'tempMonth',},
|
||||
effectiveAvgMonthlyBandwidth95: {label: `有效月均日95值Mbps`, width: '200', slotName: 'tempDay'},
|
||||
createTime: { label: `创建时间`, width: '150'},
|
||||
lastModifyTime: { label: `修改时间`, width: '150'}
|
||||
},
|
||||
config: {
|
||||
// searcherForm: [
|
||||
@@ -158,7 +158,7 @@
|
||||
// ],
|
||||
tableButton: {
|
||||
top: [
|
||||
{content: '导出', fnCode: 'export', type: 'primary', icon: 'el-icon-download', hasPermi: 'disRevenue:earnManage:switch:export'},
|
||||
{content: '导出', fnCode: 'export', type: 'warning', icon: 'el-icon-download', hasPermi: 'disRevenue:earnManage:switch:export'},
|
||||
{content: '图形分析', fnCode: 'echartView', type: 'success', icon: 'el-icon-data-analysis', hasPermi: 'disRevenue:earnManage:switch:graphicAnalysis'},
|
||||
// {content: '生成月均日95值', fnCode: 'createData', type: 'success', icon: 'el-icon-data-analysis', hasPermi: 'disRevenue:earnManage:switch:add'},
|
||||
],
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
top: [
|
||||
{content: '新增', fnCode: 'add', type: 'primary', icon: 'el-icon-plus', hasPermi: 'disRevenue:resource:register:add'},
|
||||
{content: '删除', fnCode: 'delete', type: 'danger', icon: 'el-icon-delete', hasPermi: 'disRevenue:resource:register:detele'},
|
||||
{content: '导出', fnCode: 'export', type: 'primary', icon: 'el-icon-download', hasPermi: 'disRevenue:resource:register:export'},
|
||||
{content: '导出', fnCode: 'export', type: 'warning', icon: 'el-icon-download', hasPermi: 'disRevenue:resource:register:export'},
|
||||
],
|
||||
line: [
|
||||
{content: '修改', fnCode: 'edit', type: 'text', icon: 'el-icon-edit', hasPermi: 'disRevenue:resource:register:edit'},
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
top: [
|
||||
{content: '新增', fnCode: 'add', type: 'primary', icon: 'el-icon-plus', hasPermi: 'disRevenue:resource:monitorStategy:add'},
|
||||
{content: '删除', fnCode: 'delete', type: 'danger', icon: 'el-icon-delete', hasPermi: 'disRevenue:resource:monitorStategy:detele'},
|
||||
{content: '导出', fnCode: 'export', type: 'primary', icon: 'el-icon-download', hasPermi: 'disRevenue:resource:monitorStategy:export'},
|
||||
{content: '导出', fnCode: 'export', type: 'warning', icon: 'el-icon-download', hasPermi: 'disRevenue:resource:monitorStategy:export'},
|
||||
],
|
||||
line: [
|
||||
{content: '修改', fnCode: 'edit', type: 'text', icon: 'el-icon-edit', hasPermi: 'disRevenue:resource:monitorStategy:edit'},
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
top: [
|
||||
{content: '新增', fnCode: 'add', type: 'primary', icon: 'el-icon-plus', hasPermi: 'disRevenue:resource:monitorTemp:add'},
|
||||
{content: '删除', fnCode: 'delete', type: 'danger', icon: 'el-icon-delete', hasPermi: 'disRevenue:resource:monitorTemp:detele'},
|
||||
{content: '导出', fnCode: 'export', type: 'primary', icon: 'el-icon-download', hasPermi: 'disRevenue:resource:monitorTemp:export'},
|
||||
{content: '导出', fnCode: 'export', type: 'warning', icon: 'el-icon-download', hasPermi: 'disRevenue:resource:monitorTemp:export'},
|
||||
],
|
||||
line: [
|
||||
{content: '修改', fnCode: 'edit', type: 'text', icon: 'el-icon-edit', hasPermi: 'disRevenue:resource:monitorTemp:edit'},
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
return {
|
||||
ruleForm: {
|
||||
resourceType: '1',
|
||||
snmpDetect: '1',
|
||||
protocol: '1',
|
||||
resourceVersion: '1',
|
||||
securityLevel: '1',
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<Form :formList="formList" :ruleFormData="ruleForm" @fnClick="callback"></Form>
|
||||
<Form :formList="formList" :ruleFormData="ruleForm" :config="{buttonGroup: []}" @fnClick="callback"></Form>
|
||||
<el-tabs v-model="activeName">
|
||||
<el-tab-pane label="监控项" name="first">
|
||||
<Form :formList="formListTow" :ruleFormData="ruleFormTow" :config="{buttonGroup: []}" @fnClick="callback"></Form>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="自动发现项" name="second">自动发现项</el-tab-pane>
|
||||
<el-tab-pane label="告警信息" name="third">告警信息</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -16,7 +23,23 @@
|
||||
return {
|
||||
ruleForm: {},
|
||||
formList: [],
|
||||
paramsData: {}
|
||||
ruleFormTow: {},
|
||||
formListTow: [{
|
||||
controls: {
|
||||
id: {label: 'ID',hidden: true},
|
||||
hardwareSn: {label: '系统描述', span: 12, type: 'input',disabled: true},
|
||||
resourceType: {label: '系统位置', span: 12, type: 'input',disabled: true},
|
||||
resourceName: {label: '系统Object ID', span: 12, type: 'input', disabled: true},
|
||||
ipAddress: {label: '系统MAC地址', span: 12, type: 'input',disabled: true},
|
||||
onlineStatus: {label: '系统运行时间', span: 12, type: 'date',disabled: true},
|
||||
switchName: {label: '设备名称', span: 12, type: 'select',disabled: true},
|
||||
resourceGroup: {label: '系统联系信息', span: 12, type: 'select',disabled: true},
|
||||
cpu: {label: '设备软件版本', span: 12, type: 'input',disabled: true},
|
||||
neicun: {label: '系统名称', span: 12, type: 'input',disabled: true},
|
||||
}
|
||||
}],
|
||||
paramsData: {},
|
||||
activeName: 'first'
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
@@ -135,7 +135,7 @@
|
||||
],
|
||||
tableButton: {
|
||||
// top: [
|
||||
// {content: '导出', fnCode: 'export', type: 'primary', icon: 'el-icon-download', hasPermi: 'disRevenue:resource:resMonitor:export'},
|
||||
// {content: '导出', fnCode: 'export', type: 'warning', icon: 'el-icon-download', hasPermi: 'disRevenue:resource:resMonitor:export'},
|
||||
// ],
|
||||
line: [
|
||||
{content: '详情', fnCode: 'details', type: 'text', icon: 'el-icon-view', hasPermi: 'disRevenue:resource:resMonitor:details'},
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
top: [
|
||||
{content: '新增', fnCode: 'add', type: 'primary', icon: 'el-icon-plus', hasPermi: 'disRevenue:resource:topology:add'},
|
||||
{content: '删除', fnCode: 'delete', type: 'danger', icon: 'el-icon-delete', hasPermi: 'disRevenue:resource:topology:detele'},
|
||||
{content: '导出', fnCode: 'export', type: 'primary', icon: 'el-icon-download', hasPermi: 'disRevenue:resource:topology:export'},
|
||||
{content: '导出', fnCode: 'export', type: 'warning', icon: 'el-icon-download', hasPermi: 'disRevenue:resource:topology:export'},
|
||||
],
|
||||
line: [
|
||||
{content: '修改', fnCode: 'edit', type: 'text', icon: 'el-icon-edit', hasPermi: 'disRevenue:resource:topology:edit'},
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<span @click="routerLine(1)" style="float: right;font-size: 12px; color: #0d52d9;cursor: pointer;">更多 >></span>
|
||||
</div>
|
||||
<div style="height: 90%;overflow: scroll;" class="newSty">
|
||||
<TableList :columns="serverColumns" :queryParams="serQueryParams" :tableList="serTableList"></TableList>
|
||||
<TableList :config="{colHiddenCheck: true, colTopHiddenIcon: true}" :columns="serverColumns" :queryParams="serQueryParams" :tableList="serTableList"></TableList>
|
||||
</div>
|
||||
</div>
|
||||
<div class="disInlineBlock h100 p10" style="width: 49.5%;border: 1px solid #d8dce6;border-radius: 10px;vertical-align: middle;">
|
||||
@@ -41,7 +41,7 @@
|
||||
<span @click="routerLine(2)" style="float: right;font-size: 12px; color: #0d52d9;cursor: pointer;">更多 >></span>
|
||||
</div>
|
||||
<div style="height: 90%;overflow: scroll;" class="newSty">
|
||||
<TableList :columns="resMonitorColumns" :queryParams="resQueryParams" :tableList="resTableList"></TableList>
|
||||
<TableList :config="{colHiddenCheck: true, colTopHiddenIcon: true}" :columns="resMonitorColumns" :queryParams="resQueryParams" :tableList="resTableList"></TableList>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user