<template>
|
|
<div
|
v-if="local_show_info"
|
class="device-info"
|
@click="local_show_info = false"
|
>
|
<div class="info-container">
|
<div class="info-block">
|
<div class="title">上一次信息</div>
|
<div class="each">
|
<div class="label">网络连接性:</div>
|
<div class="value">{{ current_show_info.status }}</div>
|
</div>
|
<div class="each">
|
<div class="label">IP地址:</div>
|
<div class="value">{{ current_show_info.ip || "" }}</div>
|
</div>
|
<div class="each">
|
<div class="label">Mac:</div>
|
<div class="value">{{ current_show_info.mac }}</div>
|
</div>
|
<div class="each">
|
<div class="label">桥架端口:</div>
|
<div class="value">{{ current_show_info.networkPort }}</div>
|
</div>
|
<div class="each">
|
<div class="label">交换机名字:</div>
|
<div class="value">{{ current_show_info.switchName }}</div>
|
</div>
|
<div class="each">
|
<div class="label">交换机端口:</div>
|
<div class="value">{{ current_show_info.port }}</div>
|
</div>
|
<div class="each">
|
<div class="label">名称:</div>
|
<div class="value">{{ current_show_info.clhwName }}</div>
|
</div>
|
<div class="each">
|
<div class="label">类型:</div>
|
<div class="value">{{ current_show_info.clhwTier }}</div>
|
</div>
|
<div class="each">
|
<div class="label">操作系统:</div>
|
<div class="value">{{ current_show_info.clhwOperating_System }}</div>
|
</div>
|
</div>
|
<div class="info-block">
|
<div class="title">当前信息</div>
|
<div class="each">
|
<div class="label">网络连接性:</div>
|
<div class="value">{{ device_info.status }}</div>
|
</div>
|
<div class="each">
|
<div class="label">IP地址:</div>
|
<div class="value">{{ device_info.ip || "" }}</div>
|
</div>
|
<div class="each">
|
<div class="label">Mac:</div>
|
<div class="value">{{ device_info.mac }}</div>
|
</div>
|
<div class="each">
|
<div class="label">桥架端口:</div>
|
<div class="value">{{ device_info.networkPort }}</div>
|
</div>
|
<div class="each">
|
<div class="label">交换机名字:</div>
|
<div class="value">{{ device_info.switchName }}</div>
|
</div>
|
<div class="each">
|
<div class="label">交换机端口:</div>
|
<div class="value">{{ device_info.port }}</div>
|
</div>
|
<div class="each">
|
<div class="label">名称:</div>
|
<div class="value">{{ device_info.clhwName }}</div>
|
</div>
|
<div class="each">
|
<div class="label">类型:</div>
|
<div class="value">{{ device_info.clhwTier }}</div>
|
</div>
|
<div class="each">
|
<div class="label">操作系统:</div>
|
<div class="value">{{ device_info.clhwOperating_System }}</div>
|
</div>
|
</div>
|
</div>
|
<div class="button-to-switch" @click="toSwitchInfo()">交换机</div>
|
<div class="button-del-port" @click="delPort()">删除</div>
|
<div
|
class="button-to-check"
|
v-if="
|
device_info?.statusInt==1 ||
|
device_info?.statusInt==2 ||
|
device_info?.statusInt==3 ||
|
device_info?.statusInt==4
|
"
|
|
@click="statusPort(index)"
|
>
|
确认
|
</div>
|
<div class="close" @click="handleClose"></div>
|
</div>
|
</template>
|
<script>
|
import { updateDevicePosition } from "@/api/area";
|
export default {
|
props: {
|
|
show_info: {
|
type: Boolean,
|
default() {
|
return false;
|
},
|
},
|
|
device_info: {
|
type: Object,
|
default() {
|
return {};
|
},
|
},
|
|
configs: {
|
type: Object,
|
default() {
|
return {};
|
},
|
},
|
|
datamap: {
|
type: Object,
|
default() {
|
return {};
|
},
|
},
|
devicelist: {
|
type: Array,
|
default() {
|
return [];
|
},
|
},
|
width: {
|
type: Number,
|
default() {
|
return 4;
|
},
|
},
|
|
code: "",
|
areacode: "",
|
current_show_id: "",
|
grouplevel: {
|
type: Number,
|
default() {
|
return 0;
|
},
|
},
|
status_indrag: false,
|
current_drag_index: {
|
type: Object,
|
default() {
|
return {};
|
},
|
},
|
|
},
|
|
watch: {
|
// 监听 props 的变化并同步到 data
|
show_info(newVal) {
|
this.local_show_info = newVal;
|
},
|
},
|
|
methods: {
|
|
toSwitchInfo() {
|
this.$emit("toSwitchInfo",this.device_info);
|
},
|
async delPort(index) {
|
await this.$modal.confirm("是否删除此端口");
|
this.$emit("delPort", this.device_info);
|
},
|
async statusPort(index) {
|
await this.$modal.confirm("是否设置此端口状态为正常");
|
this.$emit("statusPort",this.device_info);
|
},
|
|
handleClose(){
|
this.local_show_info=false
|
},
|
},
|
data() {
|
return {
|
local_show_info: false,
|
current_show_info: {
|
status:"",
|
ip:"",
|
mac:"",
|
networkPort:"",
|
switchName:"",
|
port:"",
|
clhwName:"",
|
clhwTier:"",
|
clhwOperating_System:""
|
},
|
};
|
},
|
};
|
</script>
|
<style lang="scss" scoped>
|
.device-info {
|
cursor: default;
|
background-image: url("../assets/area/device-info-bg.svg");
|
/* background-color: #a6c6e5; */
|
background-size: 100% 100%;
|
height: 39.4rem;
|
width: 49rem;
|
position: absolute;
|
// top: -31.5rem;
|
top: -44.9rem;
|
transform: translate(-48%, 0%);
|
left: 50%;
|
z-index: 120;
|
padding: 3.1rem;
|
padding-top: 2.5rem;
|
padding-left: 1.6rem;
|
padding-right: 1.6rem;
|
|
.title {
|
height: 2.5rem;
|
font-size: 1.8rem;
|
font-family: PingFangSC-Semibold, PingFang SC;
|
font-weight: 600;
|
color: #265696;
|
line-height: 2.5rem;
|
text-align: left;
|
margin-bottom: 0.5rem;
|
}
|
|
.each {
|
display: flex;
|
height: 2rem;
|
font-size: 1.4rem;
|
font-family: PingFangSC-Regular, PingFang SC;
|
font-weight: 400;
|
color: #265696;
|
line-height: 2rem;
|
|
.label {
|
margin-right: 1rem;
|
text-align: left;
|
}
|
|
.value {
|
}
|
}
|
|
.close {
|
background-image: url("../assets/area/close.svg");
|
background-size: 100% 100%;
|
position: absolute;
|
width: 1.2rem;
|
height: 1.2rem;
|
top: 3rem;
|
right: 2rem;
|
}
|
.button-to-switch {
|
cursor: pointer;
|
width: 5.9rem;
|
height: 2.2rem;
|
border-radius: 0.2rem;
|
border: 0.1rem solid #278afa;
|
font-size: 1.2rem;
|
font-family: PingFangSC-Regular, PingFang SC;
|
font-weight: 400;
|
color: #278afa;
|
line-height: 2.2rem;
|
position: absolute;
|
right: 9.2rem;
|
bottom: 4rem;
|
}
|
|
.button-to-switch:hover {
|
color: #fff;
|
background-color: #278afa;
|
}
|
.button-to-check {
|
cursor: pointer;
|
width: 5.2rem;
|
height: 2.2rem;
|
border-radius: 0.2rem;
|
border: 0.1rem solid rgb(15, 243, 76);
|
font-size: 1.2rem;
|
font-family: PingFangSC-Regular, PingFang SC;
|
font-weight: 400;
|
color: rgb(2, 76, 22);
|
line-height: 2.2rem;
|
position: absolute;
|
|
right: 16.2rem;
|
bottom: 4rem;
|
}
|
.button-to-check:hover {
|
color: #fff;
|
background-color: rgb(15, 243, 76);
|
}
|
.button-del-port {
|
cursor: pointer;
|
width: 5.2rem;
|
height: 2.2rem;
|
border-radius: 0.2rem;
|
border: 0.1rem solid rgb(243, 15, 15);
|
font-size: 1.2rem;
|
font-family: PingFangSC-Regular, PingFang SC;
|
font-weight: 400;
|
color: rgb(243, 15, 15);
|
line-height: 2.2rem;
|
position: absolute;
|
right: 2.2rem;
|
bottom: 4rem;
|
}
|
.button-del-port:hover {
|
color: #fff;
|
background-color: rgb(243, 15, 15);
|
}
|
}
|
.info-container {
|
display: flex;
|
justify-content: space-between;
|
height:100%;
|
}
|
|
.info-block {
|
width: 45%; /* Adjust the width as needed */
|
}
|
</style>
|