xiaohuo 8 months ago
commit 59946ef73f
  1. 15
      ALOps_sys_fe/alops-ui/src/api/message/index.js
  2. 8
      ALOps_sys_fe/alops-ui/src/views/inMonitoring/devicesState/detail.vue
  3. 8
      ALOps_sys_fe/alops-ui/src/views/inMonitoring/devicesState/history.vue
  4. 18
      ALOps_sys_fe/alops-ui/src/views/inMonitoring/devicesState/interface.vue
  5. 6
      ALOps_sys_fe/alops-ui/src/views/inMonitoring/devicesState/routing.vue
  6. 93
      ALOps_sys_fe/alops-ui/src/views/inMonitoring/devicesState/veneer.vue
  7. 8
      ALOps_sys_fe/alops-ui/src/views/inMonitoring/devicesState/vlan.vue
  8. 2
      ALOps_sys_fe/alops-ui/src/views/index.vue
  9. 95
      ALOps_sys_fe/alops-ui/src/views/message/index.vue

@ -0,0 +1,15 @@
import request from '@/utils/request'
import { parseStrEmpty } from "@/utils/ruoyi";
// 查询预警消息列表
export function messageList(query) {
return request({
url: '/message/list',
method: 'get',
params: query
})
}

@ -227,6 +227,9 @@
<div class="bottom-item" v-if="tabIndex == 3"> <div class="bottom-item" v-if="tabIndex == 3">
<Routing :dsId="dsId"/> <Routing :dsId="dsId"/>
</div> </div>
<div class="bottom-item" v-if="tabIndex == 4">
<Veneer :dsId="dsId"/>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -245,10 +248,12 @@ import Interface from './interface.vue'
import Vlan from './vlan.vue' import Vlan from './vlan.vue'
import Routing from './routing.vue' import Routing from './routing.vue'
import LineChart from './LineChart.vue' import LineChart from './LineChart.vue'
import Veneer from './veneer.vue'
export default { export default {
name: "cardItem", name: "cardItem",
components: { History, Interface, Vlan, Routing, LineChart }, components: { History, Interface, Vlan, Routing, LineChart, Veneer},
data() { data() {
return { return {
DateValue: [dayjs().subtract(1, 'month').format('YYYY-MM-DD HH:mm:ss'),dayjs().format('YYYY-MM-DD HH:mm:ss')], DateValue: [dayjs().subtract(1, 'month').format('YYYY-MM-DD HH:mm:ss'),dayjs().format('YYYY-MM-DD HH:mm:ss')],
@ -258,6 +263,7 @@ export default {
{ name: '接口信息' }, { name: '接口信息' },
{ name: 'VLAN信息' }, { name: 'VLAN信息' },
{ name: '路由表信息' }, { name: '路由表信息' },
{ name: 'venner信息' },
], ],
tabIndex: 0, tabIndex: 0,
dsId:null, dsId:null,

@ -10,17 +10,17 @@
></el-table-column> ></el-table-column>
<el-table-column label="预警时间" align="center" key="occurTime" prop="occurTime"> <el-table-column label="预警时间" align="center" key="occurTime" prop="occurTime">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.occurTime || '--' }}</span> <span>{{ scope.row.occurTime !== undefined && scope.row.occurTime !== null ? scope.row.occurTime : '--' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="预警等级" align="center" key="level" prop="level" :show-overflow-tooltip="true"> <el-table-column label="预警等级" align="center" key="level" prop="level" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.level || '--' }}</span> <span>{{ scope.row.level !== undefined && scope.row.level !== null ? scope.row.level : '--' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="预警信息" align="center" key="message" prop="message" :show-overflow-tooltip="true"> <el-table-column label="预警信息" align="center" key="message" prop="message" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.message || '--' }}</span> <span>{{ scope.row.message !== undefined && scope.row.message !== null ? scope.row.message : '--' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="预警状态" align="center" key="status" prop="status" :show-overflow-tooltip="true"> <el-table-column label="预警状态" align="center" key="status" prop="status" :show-overflow-tooltip="true">
@ -39,7 +39,7 @@
<el-table-column label="处理人" align="center" key="handler" prop="handler" :show-overflow-tooltip="true" > <el-table-column label="处理人" align="center" key="handler" prop="handler" :show-overflow-tooltip="true" >
<template slot-scope="scope"> <template slot-scope="scope">
<span >{{ scope.row.handler || '--' }}</span> <span >{{ scope.row.handler !== undefined && scope.row.handler !== null ? scope.row.handler : '--' }}</span>
</template> </template>
</el-table-column> </el-table-column>

@ -10,12 +10,12 @@
></el-table-column> ></el-table-column>
<el-table-column label="采集时间" align="center" prop="gatherTime" width="160"> <el-table-column label="采集时间" align="center" prop="gatherTime" width="160">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.gatherTime) || '--' }}</span> <span>{{ parseTime(scope.row.gatherTime) !== undefined && parseTime(scope.row.gatherTime) !== null ? parseTime(scope.row.gatherTime) : '--' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="接口ID" align="center" key="id" prop="id" :show-overflow-tooltip="true"> <el-table-column label="接口ID" align="center" key="id" prop="id" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.id || '--' }}</span> <span>{{ scope.row.id !== undefined && scope.row.id !== null ? scope.row.id : '--' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="双工模式" align="center" key="commuicateMode" prop="commuicateMode" :show-overflow-tooltip="true"> <el-table-column label="双工模式" align="center" key="commuicateMode" prop="commuicateMode" :show-overflow-tooltip="true">
@ -25,37 +25,37 @@
</el-table-column> </el-table-column>
<el-table-column label="入方向流量" align="center" key="inFlow" prop="inFlow" :show-overflow-tooltip="true"> <el-table-column label="入方向流量" align="center" key="inFlow" prop="inFlow" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.inFlow || '--' }}</span> <span>{{ scope.row.inFlow !== undefined && scope.row.inFlow !== null ? scope.row.inFlow : '--' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="出方向流量" align="center" key="outFlow" prop="outFlow" :show-overflow-tooltip="true"> <el-table-column label="出方向流量" align="center" key="outFlow" prop="outFlow" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.outFlow || '--' }}</span> <span>{{ scope.row.outFlow !== undefined && scope.row.outFlow !== null ? scope.row.outFlow : '--' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="入方向宽带占用率%" align="center" key="inBandwidth" prop="inBandwidth" :show-overflow-tooltip="true"> <el-table-column label="入方向宽带占用率%" align="center" key="inBandwidth" prop="inBandwidth" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.inBandwidth || '--' }}</span> <span>{{ scope.row.inBandwidth !== undefined && scope.row.inBandwidth !== null ? scope.row.inBandwidth : '--' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="出方向宽带占用率%" align="center" key="outBandwidth" prop="outBandwidth" :show-overflow-tooltip="true"> <el-table-column label="出方向宽带占用率%" align="center" key="outBandwidth" prop="outBandwidth" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.outBandwidth || '--' }}</span> <span>{{ scope.row.outBandwidth !== undefined && scope.row.outBandwidth !== null ? scope.row.outBandwidth : '--' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="丢包率" align="center" key="lossRate" prop="lossRate" :show-overflow-tooltip="true"> <el-table-column label="丢包率" align="center" key="lossRate" prop="lossRate" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.lossRate || '--' }}</span> <span>{{ scope.row.lossRate !== undefined && scope.row.lossRate !== null ? scope.row.lossRate : '--' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="错包率" align="center" key="errorRate" prop="errorRate" :show-overflow-tooltip="true"> <el-table-column label="错包率" align="center" key="errorRate" prop="errorRate" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.errorRate || '--' }}</span> <span>{{ scope.row.errorRate !== undefined && scope.row.errorRate !== null ? scope.row.errorRate : '--' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="传输速率" align="center" key="rate" prop="rate" :show-overflow-tooltip="true"> <el-table-column label="传输速率" align="center" key="rate" prop="rate" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.rate || '--' }}</span> <span>{{ scope.row.rate !== undefined && scope.row.rate !== null ? scope.row.rate : '--' }}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>

@ -10,17 +10,17 @@
></el-table-column> ></el-table-column>
<el-table-column label="目的地址" align="center" key="desAddress" prop="desAddress" :show-overflow-tooltip="true"> <el-table-column label="目的地址" align="center" key="desAddress" prop="desAddress" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.desAddress || '--' }}</span> <span>{{ scope.row.desAddress !== undefined && scope.row.desAddress !== null ? scope.row.desAddress : '--' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="子网掩码" align="center" key="subnetMask" prop="subnetMask" :show-overflow-tooltip="true"> <el-table-column label="子网掩码" align="center" key="subnetMask" prop="subnetMask" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.subnetMask || '--' }}</span> <span>{{ scope.row.subnetMask !== undefined && scope.row.subnetMask !== null ? scope.row.subnetMask : '--' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="下一跳地址" align="center" key="nextHop" prop="nextHop" :show-overflow-tooltip="true"> <el-table-column label="下一跳地址" align="center" key="nextHop" prop="nextHop" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.nextHop || '--' }}</span> <span>{{ scope.row.nextHop !== undefined && scope.row.nextHop !== null ? scope.row.nextHop : '--' }}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>

@ -0,0 +1,93 @@
<template>
<div class="">
<el-row :gutter="20">
<el-col>
<el-table v-loading="loading" :data="userList">
<el-table-column
label="序号"
width="60"
type="index"
></el-table-column>
<el-table-column label="ID" align="center" key="id" prop="id" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.id !== undefined && scope.row.id !== null ? scope.row.id : '--' }}</span>
</template>
</el-table-column>
<el-table-column label="单板ID" align="center" key="veneerId" prop="veneerId" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.veneerId !== undefined && scope.row.veneerId !== null ? scope.row.veneerId : '--' }}</span>
</template>
</el-table-column>
<el-table-column label="设备ID" align="center" key="equId" prop="equId" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.equId !== undefined && scope.row.equId !== null ? scope.row.equId : '--' }}</span>
</template>
</el-table-column>
<el-table-column label="单板状态" align="center" key="veneerStatus" prop="veneerStatus" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.veneerStatus !== undefined && scope.row.veneerStatus !== null ? scope.row.veneerStatus : '--' }}</span>
</template>
</el-table-column>
<el-table-column label="采集ID" align="center" key="equGatherId" prop="equGatherId" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.equGatherId !== undefined && scope.row.equGatherId !== null ? scope.row.equGatherId : '--' }}</span>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
</div>
</template>
<script>
import { systemVeneer } from "@/api/inMonitoring/devicesState"
import "@riophae/vue-treeselect/dist/vue-treeselect.css"
import "splitpanes/dist/splitpanes.css"
export default {
props: {
dsId: {
type: String,
default: 'chart'
}
},
data() {
return {
//
loading: true,
//
total: 0,
//
userList: null,
//
queryParams: {
pageNum: 1,
pageSize: 10,
name: undefined
},
}
},
created() {
},
watch: {
dsId: {
handler(val) {
this.getList(val)
},
deep: true,
immediate: true
}
},
methods: {
/** 查询类型列表 */
getList(id) {
this.loading = true
systemVeneer(id).then(response => {
this.userList = response.rows
this.loading = false
}
)
}
}
}
</script>

@ -10,17 +10,17 @@
></el-table-column> ></el-table-column>
<el-table-column label="ManID" align="center" key="mainId" prop="mainId" :show-overflow-tooltip="true"> <el-table-column label="ManID" align="center" key="mainId" prop="mainId" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.mainId || '--' }}</span> <span>{{ scope.row.mainId !== undefined && scope.row.mainId !== null ? scope.row.mainId : '--' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="IP地址" align="center" key="ipAddress" prop="ipAddress" :show-overflow-tooltip="true"> <el-table-column label="IP地址" align="center" key="ipAddress" prop="ipAddress" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.ipAddress || '--' }}</span> <span>{{ scope.row.ipAddress !== undefined && scope.row.ipAddress !== null ? scope.row.ipAddress : '--' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="子网掩码" align="center" key="subnetMask" prop="subnetMask" :show-overflow-tooltip="true"> <el-table-column label="子网掩码" align="center" key="subnetMask" prop="subnetMask" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.subnetMask || '--' }}</span> <span>{{ scope.row.subnetMask !== undefined && scope.row.subnetMask !== null ? scope.row.subnetMask : '--' }}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -52,7 +52,7 @@ export default {
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 1000,
name: undefined name: undefined
}, },
} }

@ -375,7 +375,7 @@ export default {
// //
setInterval(() => { setInterval(() => {
this.refreshDeviceStatus(); this.refreshDeviceStatus();
}, 60000); }, 600000);
}, },
beforeDestroy() { beforeDestroy() {
// //

@ -0,0 +1,95 @@
<template>
<div class="app-container">
<el-row :gutter="20">
<splitpanes :horizontal="this.$store.getters.device === 'mobile'" class="default-theme">
<!--设备档案-->
<pane size="84">
<el-col>
<el-table v-loading="loading" :data="dataList">
<el-table-column type="selection" width="50" align="center" />
<el-table-column
label="序号"
width="60"
type="index"
></el-table-column>
<el-table-column label="消息ID" align="center" key="id" prop="id" width="80" />
<el-table-column label="用户ID" align="center" key="userId" prop="userId" width="80" />
<el-table-column label="消息内容" align="center" key="content" prop="content" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.content || '--' }}</span>
</template>
</el-table-column>
<el-table-column label="消息状态" align="center" key="status" prop="status" width="100">
<template slot-scope="scope">
<el-tag :type="scope.row.status === 'unread' ? 'primary' : 'success'">
{{ scope.row.status === 'unread' ? '未读' : '已读' }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="标题" align="center" key="title" prop="title" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.title || '--' }}</span>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
</el-col>
</pane>
</splitpanes>
</el-row>
</div>
</template>
<script>
import { messageList } from "@/api/message/index"
import { Splitpanes, Pane } from "splitpanes"
import "splitpanes/dist/splitpanes.css"
export default {
name: "Message",
components: { Splitpanes, Pane },
data() {
return {
//
loading: true,
//
total: 0,
//
dataList: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
status: undefined
},
}
},
created() {
this.getList()
},
methods: {
/** 查询设备列表 */
getList() {
this.loading = true
messageList(this.queryParams).then(response => {
this.dataList = response.data || []
this.total = response.data?.length || 0
this.loading = false
}
)
},
}
}
</script>
Loading…
Cancel
Save