服务器带宽收益和交换机带宽收益列表搜索条件多次搜索后无反应问题、服务器管理、拓扑管理

1、服务器带宽收益和交换机带宽收益列表搜索条件多次搜索后无反应问题
	2、table列表替换排序图标以及功能的实现方法,解决控制台提示的警告信息
	3、服务器管理模块下选择业务Ip的表单字段展示、传参以及接口修改
	4、优化拓扑管理表单接口查询、列表对端交换机名称字段修改
This commit is contained in:
康冉冉
2025-12-12 16:00:40 +08:00
parent 7cd33caaf6
commit 357b34fd1b
9 changed files with 153 additions and 84 deletions
+7
View File
@@ -766,6 +766,13 @@ export function networkList(query) {
data: query
})
}
export function bindBusPublic(query) {
return request({
url: '/system/registration/bindBusinessPubulicIp',
method: 'post',
data: query
})
}
// 图形监控-基础信息
export function serverMonitorData(data) {
return request({
+1 -1
View File
@@ -35,7 +35,7 @@
<template v-if="formVal.type === 'textarea'">
<div v-if="toBoolean(formVal.disabled || formItem.config.readonly)">
<div style="color: #606266;font-weight: 700;padding-left: 15px;" v-html="ruleForm[key]"></div>
<div style="color: #606266;font-weight: 700;padding-left: 15px;" :style="formVal.style" v-html="ruleForm[key]"></div>
</div>
<template v-else>
<el-input
+36 -39
View File
@@ -28,7 +28,22 @@
<template v-for="(column, key, index) of columns">
<!-- customTooltip:true 自定义tooltip 展示 -->
<template v-if="column.customTooltip">
<el-table-column v-if="column && column.visible" :label="column.label" :key="key" :prop="key" :sortable="column.sortable" :render-header="renderHeader" :width="column.width" :min-width="column.minWidth || '100px'" align="left">
<el-table-column v-if="column && column.visible" :label="column.label" :key="key" :prop="key" :sortable="column.sortable" :width="column.width" :min-width="column.minWidth || '100px'" align="left">
<template #header="{ column }" v-if="column.sortable">
<div style="display: flex; align-items: center;">
<span>{{ column.label }}</span>
<template v-if="column.order === 'ascending'">
<i class="el-icon-sort-down" style="margin-left: 2px;margin-top: 2px;font-weight: 700;color: #c0c4cc;"></i>
<i class="el-icon-sort-up" style="color: #409EFF; margin-left: -8px;margin-top: 2px;font-weight: 700;"></i>
</template>
<template v-else-if="column.order === 'descending'">
<i class="el-icon-sort-down" style="color: #409EFF;margin-left: 2px;margin-top: 2px;font-weight: 700;"></i>
<i class="el-icon-sort-up" style="margin-left: -8px;margin-top: 2px;font-weight: 700;color: #c0c4cc;"></i>
</template>
<i v-else class="el-icon-sort" style="color: #C0C4CC;margin-left: 4px;margin-top: 2px;font-weight: 700;"></i>
</div>
</template>
<template #default="scope">
<el-tooltip
:disabled="!isCellOverflow(scope.row[key], `cell-${key}-${scope.row.id}`)"
@@ -45,7 +60,7 @@
</template>
<!-- 原tooltip展示逻辑 -->
<template v-else>
<el-table-column v-if="column && column.visible" :label="column.label" :key="key" :prop="key" :sortable="column.sortable" :render-header="renderHeader" :width="column.width" :min-width="column.minWidth || '100px'" align="left" :show-overflow-tooltip="true">
<el-table-column v-if="column && column.visible" :label="column.label" :key="key" :prop="key" :sortable="column.sortable" :width="column.width" :min-width="column.minWidth || '100px'" align="left" :show-overflow-tooltip="true">
<!-- 插槽 自定义列表表头数据格式 -->
<template #header v-if="column && column.slotHeaderName">
<span>{{column.label}}</span>
@@ -54,6 +69,21 @@
<i class="el-icon-question"></i>
</el-tooltip>
</template>
<!-- 插槽 自定义列表表头的排序图标按钮 -->
<template #header="{ column }" v-if="column.sortable">
<div style="display: flex; align-items: center;">
<span>{{ column.label }}</span>
<template v-if="column.order === 'ascending'">
<i class="el-icon-sort-down" style="margin-left: 2px;margin-top: 2px;font-weight: 700;color: #c0c4cc;"></i>
<i class="el-icon-sort-up" style="color: #409EFF;margin-left: -8px;margin-top: 2px;font-weight: 700;"></i>
</template>
<template v-else-if="column.order === 'descending'">
<i class="el-icon-sort-down" style="color: #409EFF;margin-left: 2px;margin-top: 2px;font-weight: 700;"></i>
<i class="el-icon-sort-up" style="margin-left: -8px;margin-top: 2px;font-weight: 700;color: #c0c4cc;"></i>
</template>
<i v-else class="el-icon-sort" style="color: #C0C4CC;margin-left: 4px;margin-top: 2px;font-weight: 700;"></i>
</div>
</template>
<!-- 插槽 自定义列表内数据格式 -->
<template #default="scope" v-if="column && column.slotName">
<!-- 传递行数据行索引等信息到父组件的插槽 -->
@@ -70,7 +100,7 @@
</template>
</template>
<!-- 表格行内按钮 -->
<el-table-column v-if="config && config.tableButton && config.tableButton.line" :width="calculateOperationColumnWidth(config.tableButton.line, tableList)" label="操作" fixed="right" align="center" class-name="small-padding fixed-width">
<el-table-column v-if="config && config.tableButton && config.tableButton.line" :width="calculateOperationColumnWidth(config.tableButton.line, tableList)" label="操作" fixed="right" align="center" class-name="small-padding fixed-width handleContSty">
<template #default="scope">
<template v-for="item of config.tableButton.line">
<template v-if="item && item.more && item.more.length > 0 && checkPermi(item.hasPermi)">
@@ -459,42 +489,6 @@
}
this.$emit("fnClick", {fnCode: 'sortTable'}, {sortType: sortType});
},
// 排序图标替换
renderHeader(h, { column, $index }) {
if (column && column.sortable) {
if (column.order === 'ascending') {
// 升序图标
return (
<div style="display: flex; align-items: center;">
<span>{column.label}</span>
<i class="el-icon-sort-down" style="margin-left: 2px;font-weight: 700;color: #c0c4cc;"></i>
<i class="el-icon-sort-up" style="color: #409EFF; margin-left: -8px;font-weight: 700;"></i>
</div>
);
} else if (column.order === 'descending') {
// 降序图标
return (
<div style="display: flex; align-items: center;">
<span>{column.label}</span>
<i class="el-icon-sort-down" style="color: #409EFF; margin-left: 2px;font-weight: 700;"></i>
<i class="el-icon-sort-up" style="margin-left: -8px;font-weight: 700;color: #c0c4cc;"></i>
</div>
);
} else {
// 默认状态(无序)
return (
<div style="display: flex; align-items: center;">
<span>{column.label}</span>
<i class="el-icon-sort" style="color: #C0C4CC; margin-left: 4px;font-weight: 700;"></i>
</div>
);
}
}
return h('div', [
h('span', column.label), // 标题文本
// h('i', { class: iconClass }) // 排序图标
]);
},
}
}
</script>
@@ -517,6 +511,9 @@
::v-deep .caret-wrapper {
display: none !important;
}
::v-deep .handleContSty .cell{
white-space: nowrap !important;
}
</style>
<style>
.my-custom-tooltip {
+35 -16
View File
@@ -16,6 +16,7 @@
<el-select
v-model="queryParams.bandwidthType"
placeholder="请选择类型"
@change="selectChangeVal"
clearable>
<el-option
v-for="dict in dict.type.eps_bandwidth_type"
@@ -188,7 +189,7 @@
// packageBandwidthDaily: {label: `包端带宽值Mbps/日`, minWidth: '200', slotName: 'tempDay',visible: true},
// effectiveBandwidth95Monthly: {label: `有效95带宽值Mbps/月`, minWidth: '200', slotName: 'tempMonth'},
// effectiveAvgMonthlyBandwidth95: {label: `有效月均日95值Mbps`, minWidth: '200', slotName: 'tempDay'},
createDatetime: {label: `创建时间`, minWidth: '150'},
updateTime: {label: `创建时间`, minWidth: '150'},
},
config: {
// searcherForm: [
@@ -212,7 +213,6 @@
pageSize: 8,
total: 0,
bandwidthType: undefined,
hardwareSn: undefined,
bandwidth95Daily: undefined,
bandwidth95Monthly: undefined,
packageBandwidthDaily: undefined,
@@ -241,6 +241,18 @@
});
});
},
selectChangeVal(val) {
let params = {
bandwidth95Daily: undefined,
bandwidth95Monthly: undefined,
packageBandwidthDaily: undefined,
avgMonthlyBandwidth95: undefined,
effectiveBandwidth95Daily: undefined,
effectiveBandwidth95Monthly: undefined,
effectiveAvgMonthlyBandwidth95: undefined,
};
this.queryParams = Object.assign({}, this.queryParams, params);
},
/** 查询角色列表 */
getList(num) {
this.loading = true;
@@ -248,41 +260,48 @@
delete newParams['total'];
newParams['calculationMode'] = this.activeName;
newParams['resourceType'] = 1;
if (newParams['bandwidth95Daily']) {
if (newParams['bandwidth95Daily'] && newParams['bandwidth95Daily'].length > 1) {
newParams['startTime'] = newParams['bandwidth95Daily'][0];
newParams['endTime'] = newParams['bandwidth95Daily'][1];
delete newParams['bandwidth95Daily'];
}
if (newParams['bandwidth95Monthly']) {
delete newParams['bandwidth95Daily'];
if (newParams['bandwidth95Monthly'] && newParams['bandwidth95Monthly'].length > 1) {
newParams['startTime'] = newParams['bandwidth95Monthly'][0];
newParams['endTime'] = newParams['bandwidth95Monthly'][1];
delete newParams['bandwidth95Monthly'];
}
if (newParams['packageBandwidthDaily']) {
delete newParams['bandwidth95Monthly'];
if (newParams['packageBandwidthDaily'] && newParams['packageBandwidthDaily'].length > 1) {
newParams['startTime'] = newParams['packageBandwidthDaily'][0];
newParams['endTime'] = newParams['packageBandwidthDaily'][1];
delete newParams['packageBandwidthDaily'];
}
if (newParams['avgMonthlyBandwidth95']) {
delete newParams['packageBandwidthDaily'];
if (newParams['avgMonthlyBandwidth95'] && newParams['avgMonthlyBandwidth95'].length > 1) {
newParams['startTime'] = newParams['avgMonthlyBandwidth95'][0];
newParams['endTime'] = newParams['avgMonthlyBandwidth95'][1];
delete newParams['avgMonthlyBandwidth95'];
}
if (newParams['effectiveBandwidth95Daily']) {
delete newParams['avgMonthlyBandwidth95'];
if (newParams['effectiveBandwidth95Daily'] && newParams['effectiveBandwidth95Daily'].length > 1) {
newParams['startTime'] = newParams['effectiveBandwidth95Daily'][0];
newParams['endTime'] = newParams['effectiveBandwidth95Daily'][1];
delete newParams['effectiveBandwidth95Daily'];
}
if (newParams['effectiveBandwidth95Monthly']) {
delete newParams['effectiveBandwidth95Daily'];
if (newParams['effectiveBandwidth95Monthly'] && newParams['effectiveBandwidth95Monthly'].length > 1) {
newParams['startTime'] = newParams['effectiveBandwidth95Monthly'][0];
newParams['endTime'] = newParams['effectiveBandwidth95Monthly'][1];
delete newParams['effectiveBandwidth95Monthly'];
}
if (newParams['effectiveAvgMonthlyBandwidth95']) {
delete newParams['effectiveBandwidth95Monthly'];
if (newParams['effectiveAvgMonthlyBandwidth95'] && newParams['effectiveAvgMonthlyBandwidth95'].length > 1) {
newParams['startTime'] = newParams['effectiveAvgMonthlyBandwidth95'][0];
newParams['endTime'] = newParams['effectiveAvgMonthlyBandwidth95'][1];
delete newParams['effectiveAvgMonthlyBandwidth95'];
}
delete newParams['effectiveAvgMonthlyBandwidth95'];
if (newParams && newParams.bandwidthType && !newParams['startTime']) {
this.$refs['queryRef'].validate((valid) => {
if (!valid) {
+36 -16
View File
@@ -63,6 +63,7 @@
<el-select
v-model="queryParams.bandwidthType"
placeholder="请选择类型"
@change="selectChangeVal"
clearable>
<el-option
v-for="dict in dict.type.eps_bandwidth_type"
@@ -230,8 +231,8 @@
// effectiveBandwidth95Daily: {label: `有效95带宽值Mbps/日`, minWidth: '200', slotName: 'tempDay', visible: true },
// effectiveBandwidth95Monthly: {label: `有效95带宽值Mbps/月`, minWidth: '200', slotName: 'tempMonth',},
// effectiveAvgMonthlyBandwidth95: {label: `有效月均日95值Mbps`, minWidth: '200', slotName: 'tempDay'},
createTime: { label: `创建时间`, minWidth: '120'},
lastModifyTime: { label: `修改时间`, minWidth: '120'}
updateTime: { label: `创建时间`, minWidth: '120'},
updateTime: { label: `修改时间`, minWidth: '120'}
},
config: {
// searcherForm: [
@@ -278,6 +279,18 @@
// this.getList();
// },
methods: {
selectChangeVal(val) {
let params = {
bandwidth95Daily: undefined,
bandwidth95Monthly: undefined,
packageBandwidthDaily: undefined,
avgMonthlyBandwidth95: undefined,
effectiveBandwidth95Daily: undefined,
effectiveBandwidth95Monthly: undefined,
effectiveAvgMonthlyBandwidth95: undefined,
};
this.queryParams = Object.assign({}, this.queryParams, params);
},
/** 查询角色列表 */
getList(num) {
this.loading = true;
@@ -285,41 +298,48 @@
delete newParams['total'];
newParams['calculationMode'] = this.activeName;
newParams['resourceType'] = 2;
if (newParams['bandwidth95Daily']) {
if (newParams['bandwidth95Daily'] && newParams['bandwidth95Daily'].length > 1) {
newParams['startTime'] = newParams['bandwidth95Daily'][0];
newParams['endTime'] = newParams['bandwidth95Daily'][1];
delete newParams['bandwidth95Daily'];
}
if (newParams['bandwidth95Monthly']) {
delete newParams['bandwidth95Daily'];
if (newParams['bandwidth95Monthly'] && newParams['bandwidth95Monthly'].length > 1) {
newParams['startTime'] = newParams['bandwidth95Monthly'][0];
newParams['endTime'] = newParams['bandwidth95Monthly'][1];
delete newParams['bandwidth95Monthly'];
}
if (newParams['packageBandwidthDaily']) {
delete newParams['bandwidth95Monthly'];
if (newParams['packageBandwidthDaily'] && newParams['packageBandwidthDaily'].length > 1) {
newParams['startTime'] = newParams['packageBandwidthDaily'][0];
newParams['endTime'] = newParams['packageBandwidthDaily'][1];
delete newParams['packageBandwidthDaily'];
}
if (newParams['avgMonthlyBandwidth95']) {
delete newParams['packageBandwidthDaily'];
if (newParams['avgMonthlyBandwidth95'] && newParams['avgMonthlyBandwidth95'].length > 1) {
newParams['startTime'] = newParams['avgMonthlyBandwidth95'][0];
newParams['endTime'] = newParams['avgMonthlyBandwidth95'][1];
delete newParams['avgMonthlyBandwidth95'];
}
if (newParams['effectiveBandwidth95Daily']) {
delete newParams['avgMonthlyBandwidth95'];
if (newParams['effectiveBandwidth95Daily'] && newParams['effectiveBandwidth95Daily'].length > 1) {
newParams['startTime'] = newParams['effectiveBandwidth95Daily'][0];
newParams['endTime'] = newParams['effectiveBandwidth95Daily'][1];
delete newParams['effectiveBandwidth95Daily'];
}
if (newParams['effectiveBandwidth95Monthly']) {
delete newParams['effectiveBandwidth95Daily'];
if (newParams['effectiveBandwidth95Monthly'] && newParams['effectiveBandwidth95Monthly'].length > 1) {
newParams['startTime'] = newParams['effectiveBandwidth95Monthly'][0];
newParams['endTime'] = newParams['effectiveBandwidth95Monthly'][1];
delete newParams['effectiveBandwidth95Monthly'];
}
if (newParams['effectiveAvgMonthlyBandwidth95']) {
delete newParams['effectiveBandwidth95Monthly'];
if (newParams['effectiveAvgMonthlyBandwidth95'] && newParams['effectiveAvgMonthlyBandwidth95'].length > 1) {
newParams['startTime'] = newParams['effectiveAvgMonthlyBandwidth95'][0];
newParams['endTime'] = newParams['effectiveAvgMonthlyBandwidth95'][1];
delete newParams['effectiveAvgMonthlyBandwidth95'];
}
delete newParams['effectiveAvgMonthlyBandwidth95'];
if (newParams && newParams.bandwidthType && !newParams['startTime']) {
this.$refs['queryRef'].validate((valid) => {
if (!valid) {
+24 -8
View File
@@ -189,7 +189,7 @@
<script setup name="Register">
import Form from '@/components/form/index.vue';
import {listHandle, networkList, getScriptResultBySn, getLogicalNode, addRemark, updateRemark, repBandwidthSubmit} from '@/api/disRevenue/resource';
import {listHandle, networkList, getScriptResultBySn, getLogicalNode, addRemark, updateRemark, repBandwidthSubmit, bindBusPublic} from '@/api/disRevenue/resource';
import {listAllBusinessList} from "@/api/disRevenue/earnManage"
import TableList from '@/components/table/index.vue';
import MonitorStrategy from '../serverMonitorStrat/monitorStrategy';
@@ -319,10 +319,11 @@
config: {title: '',labelWidth: '140px', colSpan: 'disBlock m0Auto'},
controls: {
id: {label: 'ID',hidden: true},
clientId: {label: 'ClientID',hidden: true},
publicIp: {label: '业务公网IP', span: 18, eventName:'change', type: 'select',multiple: true, multipleLimit: 3, options: [], required: true},
descriptionOne: {label: '', span: 18, type: 'textarea',rows: 15, disabled: true},
descriptionOne: {label: '', span: 18, type: 'textarea',rows: 15, style: 'line-height: 22px', hidden: true, disabled: true},
mgmtIp: {label: '管理网-公网IP', eventName:'change', span: 18, type: 'select',options: [], required: true},
descriptionTwo: {label: '', span: 18, type: 'textarea', rows: 15, disabled: true}
descriptionTwo: {label: '', span: 18, type: 'textarea', rows: 15, style: 'line-height: 22px', hidden: true, disabled: true}
}
}],
pubilcNetRuleForm: {publicIp: []},
@@ -560,6 +561,12 @@
this.pubilcNetOpen = true;
this.pubilcNetRuleForm = {publicIp: [],mgmtIp: '', descriptionOne: '', descriptionTwo: ''};
this.$nextTick(() => {
this.pubilcNetFormList[0].controls.descriptionOne['hidden'] = true;
this.pubilcNetFormList[0].controls.descriptionTwo['hidden'] = true;
this.$set(this.pubilcNetRuleForm, 'id', rowData.id);
this.$set(this.pubilcNetRuleForm, 'clientId', rowData.clientId);
this.$set(this.pubilcNetRuleForm, 'descriptionOne', null);
this.$set(this.pubilcNetRuleForm, 'descriptionTwo', null);
// 5. 最后执行重置
if (this.$refs['publicNetFormRef']?.$refs.ruleForm) {
this.$refs['publicNetFormRef'].$refs.ruleForm.resetFields();
@@ -569,7 +576,7 @@
let ipList = [];
res && res.data.map(item => {
this.ipContentList[item.id] = item;
ipList.push({label: item.publicIp, value: item.id});
ipList.push({label: item.interfaceName, value: item.id});
});
this.pubilcNetFormList[0].controls.publicIp['options'] = ipList;
this.pubilcNetFormList[0].controls.mgmtIp['options'] = ipList;
@@ -579,13 +586,19 @@
let content = '';
this.pubilcNetRuleForm = Object.assign({}, this.pubilcNetRuleForm, this.$refs.publicNetFormRef.$refs.ruleForm.model);
if (rowData && rowData.length > 0) {
rowData.forEach(item => {
this.pubilcNetFormList[0].controls.descriptionOne['hidden'] = false;
rowData.forEach((item,index) => {
if (index > 0) {
content+= '<br>';
}
content+= '运营商:' + this.ipContentList[item].isp + '<br>' + '省:' + this.ipContentList[item].province + '<br>'
+ '市:' + this.ipContentList[item].city + '<br>' + '公网IP' + this.ipContentList[item].publicIp + '<br>'
+ '接口名称:' + this.ipContentList[item].interfaceName + '<br>' + 'mac地址:' + this.ipContentList[item].macAddress + '<br>'
+ '接口类型:' + this.ipContentList[item].interfaceType + '<br>' + 'IPv4地址:' + this.ipContentList[item].ipv4Address + '<br>'
+ '网关:' + this.ipContentList[item].gateway + '<br><br>';
+ '网关:' + this.ipContentList[item].gateway + '<br>';
});
} else {
this.pubilcNetFormList[0].controls.descriptionOne['hidden'] = true;
}
this.$set(this.pubilcNetRuleForm, 'descriptionOne', content);
break;
@@ -593,11 +606,14 @@
let contentTow = '';
this.pubilcNetRuleForm = Object.assign({}, this.pubilcNetRuleForm, this.$refs.publicNetFormRef.$refs.ruleForm.model);
if (rowData) {
this.pubilcNetFormList[0].controls.descriptionTwo['hidden'] = false;
contentTow+= '运营商:' + this.ipContentList[rowData].isp + '<br>' + '省:' + this.ipContentList[rowData].province + '<br>'
+ '市:' + this.ipContentList[rowData].city + '<br>' + '公网IP' + this.ipContentList[rowData].publicIp + '<br>'
+ '接口名称:' + this.ipContentList[rowData].interfaceName + '<br>' + 'mac地址:' + this.ipContentList[rowData].macAddress + '<br>'
+ '接口类型:' + this.ipContentList[rowData].interfaceType + '<br>' + 'IPv4地址:' + this.ipContentList[rowData].ipv4Address + '<br>'
+ '网关:' + this.ipContentList[rowData].gateway + '<br><br>';
+ '网关:' + this.ipContentList[rowData].gateway + '<br>';
} else {
this.pubilcNetFormList[0].controls.descriptionTwo['hidden'] = true;
}
this.$set(this.pubilcNetRuleForm, 'descriptionTwo', contentTow);
break;
@@ -698,7 +714,7 @@
if (this.pubilcNetRuleForm && this.pubilcNetRuleForm.mgmtIp) {
params.push({id: this.pubilcNetRuleForm.mgmtIp, status: 2, interfaceName: this.ipContentList[this.pubilcNetRuleForm.mgmtIp].interfaceName});
}
networkList({bindNetworkMsg: params}).then(res => {
bindBusPublic({id: this.pubilcNetRuleForm.id, clientId: this.pubilcNetRuleForm.clientId, bindNetworkMsg: params}).then(res => {
this.$modal.msgSuccess(res.msg);
this.pubilcNetOpen = false;
this.getList();
+6 -2
View File
@@ -30,7 +30,7 @@
this.getFormDataList(this.paramsData.id);
} else {
this.switchList();
this.fnServerNameList();
// this.fnServerNameList();
this.fnFormList();
}
@@ -93,7 +93,7 @@
this.formList[0].controls.serverClientId['options'] = val && val.data.map(item => {
if (this.paramsData && this.paramsData.id) {
if (item.clientId === this.ruleForm.serverClientId) {
this.fnServerPortList({serverIp: item.ipAddress});
this.fnServerPortList({clientId: item.clientId});
}
}
return Object.assign({label: item.clientId, value: item.clientId});
@@ -115,7 +115,9 @@
this.ruleForm = val && val.data;
this.formModel = JSON.parse(JSON.stringify(val && val.data));
this.switchList();
if (this.ruleForm.connectedDeviceType && this.ruleForm.connectedDeviceType === '1') {
this.fnServerNameList();
}
this.fnFormList();
}).catch(() => {
this.$modal.msgError("操作失败")
@@ -131,7 +133,9 @@
this.formList[0].controls.serverPort['hidden'] = false;
this.formList[0].controls.peerSwitchName['hidden'] = true;
this.formList[0].controls.peerSwitchInterface['hidden'] = true;
this.fnServerNameList();
} else if (dataVal && (dataVal === '3' || dataVal === '4')) {
this.formList[0].controls.peerSwitchInterface['options'] = [];
if (this.formModel.connectedDeviceType != dataVal) {
this.ruleForm.peerSwitchName = '';
this.ruleForm.peerSwitchInterface = '';
+6
View File
@@ -36,6 +36,12 @@
// 获取详情
getList(res,lightVal) {
const gplotChartLine = echarts.init(document.getElementById('gplotChart'));
// 检查该 DOM 上是否已存在 ECharts 实例
const existingChart = echarts.getInstanceByDom(gplotChartLine);
// 如果实例已存在,则销毁它
if (existingChart) {
existingChart.dispose();
}
let seriesNodes = [
{
id: 'cloud',
+1 -1
View File
@@ -53,7 +53,7 @@
serverClientId: { label: `服务器ClientID`, minWidth: '180', visible: true},
serverSn: { label: `服务器硬件SN`, minWidth: '150', visible: false},
serverPort: { label: `服务器网口`, minWidth: '250', visible: true },
peerSwitchName: { label: `对端交换机名称`, minWidth: '250', visible: true },
peerName: { label: `对端交换机名称`, minWidth: '250', visible: true },
peerSwitchInterface: { label: `对端交换机接口`, minWidth: '150', visible: true },
createTime: { label: `创建时间`, minWidth: '160'},
updateTime:{ label: `修改时间`, minWidth: '160'}