2020-03-27 15:41:26 +08:00
|
|
|
|
<template>
|
2020-07-24 19:22:52 +08:00
|
|
|
|
<div class="sub-box">
|
|
|
|
|
|
<div class="resize-modal">
|
|
|
|
|
|
<div class="sub-list-resize-copy">一</div>
|
|
|
|
|
|
</div>
|
2020-03-29 16:33:49 +08:00
|
|
|
|
<!-- 副列表 -->
|
2020-07-24 19:22:52 +08:00
|
|
|
|
<div @mousedown="listResize" class="sub-list-resize" v-if="!isFullScreen">一</div>
|
2020-07-15 10:58:45 +08:00
|
|
|
|
<div class="sub-list">
|
|
|
|
|
|
<!--窗口大小控制-->
|
2020-03-27 15:41:26 +08:00
|
|
|
|
<div class="sub-list-window-control">
|
2020-03-29 16:33:49 +08:00
|
|
|
|
<!--退出全屏-->
|
2020-03-27 15:41:26 +08:00
|
|
|
|
<div class="window-control-btn" v-if="isFullScreen" @click="exitFullScreen"><i class="nz-icon nz-icon-exit-full-screen"></i></div>
|
|
|
|
|
|
<!--全屏-->
|
|
|
|
|
|
<div class="window-control-btn" v-if="!isFullScreen" @click="fullScreen"><i class="el-icon-full-screen"></i></div>
|
|
|
|
|
|
<!--关闭-->
|
2020-09-10 17:00:32 +08:00
|
|
|
|
<div class="window-control-btn" @click="closeSubList"><i class="nz-icon nz-icon-close"></i></div>
|
2020-03-27 15:41:26 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
|
2020-07-15 10:58:45 +08:00
|
|
|
|
<!------TAB区------>
|
|
|
|
|
|
<!--机柜-->
|
2020-03-27 15:41:26 +08:00
|
|
|
|
<cabinet-tab v-show="subResizeShow" v-if="from == 'dc' && targetTab == 'cabinet'" :obj="obj" @changeTab="changeTab"></cabinet-tab>
|
2020-07-15 10:58:45 +08:00
|
|
|
|
<!--告警信息-->
|
2020-09-25 15:33:02 +08:00
|
|
|
|
<alert-message-tab v-show="subResizeShow" v-if="((from == 'alertRule' || from == 'asset' || from == 'endpoint') && targetTab == 'alertMessage')" :from="from" :obj="obj" @changeTab="changeTab"></alert-message-tab>
|
2020-07-15 10:58:45 +08:00
|
|
|
|
<!--asset页的endpoint列表-->
|
2020-03-30 19:46:03 +08:00
|
|
|
|
<endpoint-tab v-show="subResizeShow" v-if="from == 'asset' && targetTab == 'endpoint'" :from="from" :obj="obj" @changeTab="changeTab"></endpoint-tab>
|
2020-07-15 10:58:45 +08:00
|
|
|
|
<!--endpoint-query-->
|
2020-04-27 22:38:10 +08:00
|
|
|
|
<endpoint-query-tab v-show="subResizeShow" v-if="(from == 'endpoint' && targetTab == 'endpointQuery')" :from="from" :obj="obj" @changeTab="changeTab" ref="endpointQuery"></endpoint-query-tab>
|
2020-04-06 22:11:25 +08:00
|
|
|
|
|
2020-07-15 10:58:45 +08:00
|
|
|
|
<!-- model-panel/asset-detail/project-overview的panel-->
|
2020-06-11 20:18:33 +08:00
|
|
|
|
<panel-tab v-if="(from == 'model' || from == 'asset' || from == 'project' || from == 'alertRule' || from == 'endpoint') && targetTab == 'panel'" v-show="subResizeShow" :from="from" :obj="obj" ref="panelTab"
|
|
|
|
|
|
@changeTab="changeTab" :targetTab.sync="targetTab" :detail="detail"></panel-tab>
|
2020-05-19 20:26:11 +08:00
|
|
|
|
|
2020-03-27 15:41:26 +08:00
|
|
|
|
</div>
|
2020-07-15 10:58:45 +08:00
|
|
|
|
</div>
|
2020-03-27 15:41:26 +08:00
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
|
import cabinetTab from "./tabs/cabinetTab";
|
2020-03-28 20:44:29 +08:00
|
|
|
|
import alertMessageTab from "./tabs/alertMessageTab";
|
2020-03-29 16:33:49 +08:00
|
|
|
|
import endpointQueryTab from "./tabs/endpointQueryTab";
|
2020-03-30 19:46:03 +08:00
|
|
|
|
import endpointTab from "./tabs/endpointTab";
|
2020-05-19 20:26:11 +08:00
|
|
|
|
import panelTab from "./tabs/panelTab";
|
2020-03-27 15:41:26 +08:00
|
|
|
|
|
|
|
|
|
|
export default {
|
2020-05-19 20:26:11 +08:00
|
|
|
|
name: "bottomBox",
|
2020-03-27 15:41:26 +08:00
|
|
|
|
components:{
|
|
|
|
|
|
'cabinet-tab': cabinetTab,
|
2020-03-28 20:44:29 +08:00
|
|
|
|
'alert-message-tab': alertMessageTab,
|
2020-03-29 16:33:49 +08:00
|
|
|
|
'endpoint-query-tab': endpointQueryTab,
|
2020-03-30 19:46:03 +08:00
|
|
|
|
'endpoint-tab': endpointTab,
|
2020-05-19 20:26:11 +08:00
|
|
|
|
'panel-tab': panelTab,
|
2020-03-27 15:41:26 +08:00
|
|
|
|
},
|
|
|
|
|
|
props: {
|
|
|
|
|
|
isFullScreen: false, //是否全屏
|
|
|
|
|
|
subResizeShow: Boolean, //resize时,用v-show="subResizeShow"控制页面内容是否显示
|
|
|
|
|
|
obj: Object, //关联的实体对象
|
|
|
|
|
|
from: String, //来自哪个页面
|
2020-04-06 22:11:25 +08:00
|
|
|
|
tabList: Array, //动态页签列表
|
2020-03-27 15:41:26 +08:00
|
|
|
|
targetTab: String, //展示哪个页签
|
2020-06-15 22:23:56 +08:00
|
|
|
|
detail: Object, //对象详情内容
|
2020-04-06 22:11:25 +08:00
|
|
|
|
detailList: Array, //多个对象详情内容
|
2020-03-30 16:39:29 +08:00
|
|
|
|
|
2020-06-17 19:52:03 +08:00
|
|
|
|
assetDetail: Object, //endpoint页的asset详情
|
2020-03-27 15:41:26 +08:00
|
|
|
|
},
|
|
|
|
|
|
data() {
|
|
|
|
|
|
return {}
|
|
|
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
|
|
|
exitFullScreen() {
|
|
|
|
|
|
this.$emit("exitFullScreen");
|
2020-07-24 19:22:52 +08:00
|
|
|
|
this.$nextTick(() => {this.afterResize()});
|
2020-03-27 15:41:26 +08:00
|
|
|
|
},
|
|
|
|
|
|
fullScreen() {
|
|
|
|
|
|
this.$emit("fullScreen");
|
2020-07-24 19:22:52 +08:00
|
|
|
|
this.$nextTick(() => {this.afterResize()});
|
2020-03-27 15:41:26 +08:00
|
|
|
|
},
|
|
|
|
|
|
closeSubList() {
|
|
|
|
|
|
this.$emit("closeSubList");
|
|
|
|
|
|
},
|
|
|
|
|
|
listResize(e) {
|
|
|
|
|
|
this.$emit('listResize', e);
|
2020-07-24 19:22:52 +08:00
|
|
|
|
this.$nextTick(() => {this.afterResize()});
|
2020-03-27 15:41:26 +08:00
|
|
|
|
},
|
|
|
|
|
|
changeTab(tab) {
|
2020-04-19 22:03:18 +08:00
|
|
|
|
this.$emit('update:targetTab', tab);
|
2020-04-27 22:38:10 +08:00
|
|
|
|
},
|
|
|
|
|
|
afterResize() {
|
2020-07-24 19:22:52 +08:00
|
|
|
|
let vm = this;
|
|
|
|
|
|
|
2020-04-27 22:38:10 +08:00
|
|
|
|
if (this.from == 'endpoint' && this.targetTab == 'endpointQuery') {
|
|
|
|
|
|
this.$refs.endpointQuery.tableReload();
|
|
|
|
|
|
}
|
2020-07-24 19:22:52 +08:00
|
|
|
|
|
|
|
|
|
|
//刷新滚动条
|
|
|
|
|
|
let intervalFunc = setInterval(function(){
|
|
|
|
|
|
if (!window.resizing) {
|
|
|
|
|
|
let pss = document.querySelectorAll(".el-table__body-wrapper");
|
|
|
|
|
|
if (pss) {
|
|
|
|
|
|
pss.forEach(ps => {
|
|
|
|
|
|
ps._ps_ && ps._ps_.update();
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
2020-07-30 18:37:04 +08:00
|
|
|
|
vm.$refs.panelTab && vm.$refs.panelTab.$refs.dashboardScrollbar.update();
|
2020-07-24 19:22:52 +08:00
|
|
|
|
clearInterval(intervalFunc);
|
|
|
|
|
|
}
|
|
|
|
|
|
}, 500);
|
2020-03-27 15:41:26 +08:00
|
|
|
|
}
|
2020-11-20 11:19:25 +08:00
|
|
|
|
},
|
|
|
|
|
|
beforeDestroy(){
|
|
|
|
|
|
|
2020-03-27 15:41:26 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
</script>
|