{{$t(parentMenu.i18n)}}
-
-
-
-
-
-
-
-
-
-
- {{item.name}}
-
-
- {{item.name}}
+
+
+
+
+
+
@@ -177,6 +177,7 @@
filterPanel:'',
showPanelList:[],
//---图表相关参数--end
+ scrollbarWrap: null,
}
},
components: {
@@ -271,26 +272,6 @@
newChart() {
return JSON.parse(JSON.stringify(this.blankChart));
},
- scrollbarHeightHandler() {
- setTimeout(() => {
- let top = '';
- let top2 = '';
- document.querySelector("body>.el-dropdown-menu").addEventListener("ps-y-reach-end", () => {
- let yDom = document.querySelector("body>.el-dropdown-menu>.ps__rail-y");
- let yDom2 = document.querySelector("body>.el-dropdown-menu>.ps__rail-y>.ps__thumb-y");
- if (top) {
- yDom.style.top = top;
- } else {
- top = yDom.style.top;
- }
- if (top2) {
- yDom2.style.top = top2;
- } else {
- top2 = yDom2.style.top;
- }
- });
- }, 100);
- },
// 编辑图表信息,打开编辑弹窗
editChart(data) {
if (!data.param) {
@@ -534,19 +515,10 @@
// 滚动事件触发下拉加载
onScroll() {
let _self = this;
- let scrollbarWrap = this.$refs.dashboardScrollbar.wrap;
-
- scrollbarWrap.onscroll = bus.debounce(function() {
- if (scrollbarWrap.scrollTop > 50) {
- _self.showTopBtn = true;
- } else {
- _self.showTopBtn = false;
- }
- _self.$refs.chartList.loadChartData(scrollbarWrap.scrollTop);
- //if (scrollbarWrap.scrollHeight - scrollbarWrap.scrollTop - scrollbarWrap.offsetHeight < 20) {
- //_self.$refs.chartList.pageDataList(true, _self.showPanel.id);
- //}
- },300);
+ this.scrollbarWrap.addEventListener('scroll', bus.debounce(function() {
+ _self.showTopBtn = _self.scrollbarWrap.scrollTop > 50;
+ _self.$refs.chartList.loadChartData(_self.scrollbarWrap.scrollTop);
+ }, 300));
},
focusInput() {
let classVal=document.getElementById('queryPanel').parentElement.getAttribute("class");
@@ -719,15 +691,12 @@
}else{
this.showPanelList = this.panelData;
}
- this.$nextTick(()=>{
- document.querySelector(".panel-dropdown-title-space")._ps_.update()
- })
},
- tableListEnter(self){
- self.tableHover = true;
+ tableListEnter(){
+ this.tableHover = true;
},
- tableListLeave(self){
- self.tableHover = false;
+ tableListLeave(){
+ this.tableHover = false;
},
},
@@ -735,9 +704,10 @@
this.getTableData();
},
mounted() {
+ this.scrollbarWrap = this.$refs.dashboardScrollbar;
this.onScroll();
- document.querySelector("#tableList").addEventListener("mouseenter", this.tableListEnter.bind('',this));
- document.querySelector("#tableList").addEventListener("mouseleave", this.tableListLeave.bind('',this));
+ document.querySelector("#tableList").addEventListener("mouseenter", this.tableListEnter);
+ document.querySelector("#tableList").addEventListener("mouseleave", this.tableListLeave);
},
watch: {
'filter.searchName': function(n,o){
@@ -748,7 +718,9 @@
},
},
beforeDestroy(){
-
+ document.querySelector("#tableList").removeEventListener("mouseenter", this.tableListEnter);
+ document.querySelector("#tableList").removeEventListener("mouseleave", this.tableListLeave);
+ this.scrollbarWrap.removeEventListener('scroll', bus.debounce);
}
}
diff --git a/nezha-fronted/src/components/page/project/project.vue b/nezha-fronted/src/components/page/project/project.vue
index 13fa24337..82848f6c9 100644
--- a/nezha-fronted/src/components/page/project/project.vue
+++ b/nezha-fronted/src/components/page/project/project.vue
@@ -68,7 +68,6 @@
border
class="nz-table endpoint-table"
:height="mainTableHeight"
- v-scrollBar:el-table="'large'"
v-show="bottomBox.mainResizeShow"
ref="endpointTable"
:cell-class-name="messageStyle"
@@ -169,7 +168,7 @@
{
+ this.scrollWrap = this.$refs.endpointTable.bodyWrapper;
+ this.toTopBtnHandler(this.scrollWrap);
+ });
+ }
}
});
}
@@ -756,15 +762,6 @@
}
return '';
},
- plpsscrolly(el,self){
- if (el._ps_.scrollbarYTop > 50) {
- self.tools.showTopBtn = true;
- self.tools.tableHover = true;
- } else {
- self.tools.showTopBtn = false;
- self.tools.tableHover = false;
- }
- },
},
created(){
this.currentProject=this.$store.state.currentProject;
@@ -787,12 +784,6 @@
},300);
this.initEvent();
-
- //resize时刷新左侧列表滚动条
- let vm=this;
- // window.onresize=function(){
- // // vm.$refs.leftScrollbar.update();
- // };
},
computed:{
itemTip(){
@@ -817,23 +808,6 @@
},
},
watch:{
- pageType(n){
- if(n=='endpoint'){
- setTimeout(()=>{
- //绑定滚动条事件,控制top按钮
- let el=this.$refs.endpointTable.$el.querySelector(".el-table__body-wrapper");
- if(el._ps_){
- el.addEventListener("ps-scroll-y", this.plpsscrolly.bind('',el,this));
- }
- },100)
- }else{
- let el = this.$refs.endpointTable.$el.querySelector(".el-table__body-wrapper");
- if (el._ps_) {
- el.removeEventListener("ps-scroll-y", this.plpsscrolly.bind('',el,this));
- el._ps_.destroy();
- }
- }
- },
currentModule(n,o){
this.endpointPageObj.pageNo=1;
if(n&&n.id){
@@ -859,24 +833,16 @@
}
},
},
- destroyed(){
+ beforeDestroy() {
bus.$off("project-page-type");
bus.$off("current-project-change");
bus.$off("current-module-change");
bus.$off("project-list-change");
bus.$off("module-list-change");
bus.$off("endpoint-list-change");
- bus.$off('alert-message-change')
+ bus.$off('alert-message-change');
+ this.scrollbarWrap.removeEventListener('scroll', bus.debounce);
},
- beforeDestroy(){
- if(this.$refs.endpointTable){
- let el = this.$refs.endpointTable.$el.querySelector(".el-table__body-wrapper");
- if (el._ps_) {
- el.removeEventListener("ps-scroll-y", this.plpsscrolly.bind('',el,this));
- el._ps_.destroy();
- }
- }
- }
}
diff --git a/nezha-fronted/src/main.js b/nezha-fronted/src/main.js
index f535e302d..9b26e9617 100644
--- a/nezha-fronted/src/main.js
+++ b/nezha-fronted/src/main.js
@@ -21,7 +21,7 @@ import plTable from 'pl-table'
import 'pl-table/themes/index.css'
import {post, get, put, del} from './http.js'
-import {toTop, clickoutside, scrollBar, bottomBoxWindow, stringTimeParseToUnix, unixTimeParseToString, chartResizeTool, tableSet} from './components/common/js/tools.js';
+import {clickoutside, bottomBoxWindow, stringTimeParseToUnix, unixTimeParseToString, chartResizeTool, tableSet} from './components/common/js/tools.js';
import * as tools from './components/common/js/tools.js';
import * as constants from './components/common/js/constants.js'
@@ -42,7 +42,6 @@ import moduleListPop from "./components/page/asset/moduleListPop"; //面板弹
import cabinetConfigBox from "./components/common/popBox/cabinetConfig"; //面板弹框组件
import modelBox from "./components/common/rightBox/modelBox"; //model弹框
import bottomBox from "./components/common/bottomBox/bottomBox"; //上滑框
-import "perfect-scrollbar/css/perfect-scrollbar.css";
import loading from "./components/common/loading";
import mibBox from "./components/common/rightBox/mibBox";
import leftMenu from "./components/common/leftMenu";
@@ -76,7 +75,6 @@ Vue.prototype.$put = put;
Vue.prototype.$delete = del;
Vue.prototype.$CONSTANTS = constants;
Vue.prototype.$TOOLS = tools;
-Vue.prototype.$toTop = toTop; //toTop置顶按钮方法
Vue.prototype.$bottomBoxWindow = bottomBoxWindow; //底部上滑框控制
Vue.prototype.$stringTimeParseToUnix = stringTimeParseToUnix;
Vue.prototype.$unixTimeParseToString = unixTimeParseToString;
@@ -127,6 +125,25 @@ Vue.mixin({
},
hasButton(code) {
return hasButton(this.$store.getters.buttonList, code);
+ },
+ toTop(wrap) {
+ let currentTop = wrap.scrollTop;
+ let interval = currentTop/10;
+ let intervalFunc = setInterval(function(){ //花200ms分10次回到顶部,模拟动画效果
+ if (currentTop == 0) {
+ clearInterval(intervalFunc);
+ } else {
+ currentTop = (currentTop - interval) < interval*0.5 ? 0 : currentTop - interval;
+ wrap.scrollTop = currentTop;
+ }
+ }, 20);
+ },
+ toTopBtnHandler(wrap) {
+ let vm = this;
+ wrap.addEventListener('scroll', bus.debounce(function() {
+ vm.tools.showTopBtn = wrap.scrollTop > 50;
+ vm.tools.tableHover = wrap.scrollTop > 50;
+ }, 100));
}
},
computed: {
@@ -149,7 +166,6 @@ Vue.use(hasPermission);
/*指令*/
Vue.directive('clickoutside', clickoutside);
-Vue.directive('scrollBar', scrollBar);
window.resizing = false;
window.vm = new Vue({
el: '#app',
@@ -166,8 +182,8 @@ window.vm = new Vue({
export default vm;
/* 重写组件内容 */
-const elUi = require("element-ui");
+/*const elUi = require("element-ui");
const pl = require("pl-table");
//去掉el-table表头右侧的滚动条预留空间
elUi.Table.components.TableHeader.computed.hasGutter = () => {return false;};
-pl.PlTable.components.ElTable.components.TableHeader.computed.hasGutter = () => {return false;};
+pl.PlTable.components.ElTable.components.TableHeader.computed.hasGutter = () => {return false;};*/
+
+
+
+
+
+ {{item.name}}
+
+
+ {{item.name}}
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+ {{$t("overall.addProject")}}
+
+
+
+
-
+
{{module.name}}
+ {{module.name}}
+
-
+
+
+
+
-
-
-
-
-
- {{$t("overall.addProject")}}
+
+
+
+
+
+
+
+ {{item.name}}
+
+ {{item.name}}
-
-
-
-
-
-
- {{module.name}}
- {{module.name}}
-
-
-
- {{item.name}}
-
- {{item.name}}
-
-
-
- {{item.name}}
-
- {{item.name}}
-
-
-
- {{item.name}}
-
- {{item.name}}
-
-
- {{item.label}}
-
-
- Tag
-
-
-
- {{tag.value}}
-
- {{tag.value}}
-
-
+
+ {{item.name}}
+
+ {{item.name}}
+
+
+
+ {{item.name}}
+
+ {{item.name}}
+
+
+ {{item.label}}
+
+
+ Tag
+
+
+
+ {{tag.value}}
+
+ {{tag.value}}
+
+
- {{$t(menu.i18n)}}
-
-
-
+
+
+
+ {{$t(menu.i18n)}}
+
+
@@ -664,7 +662,7 @@
diff --git a/nezha-fronted/src/components/page/dashboard/metricPreview.vue b/nezha-fronted/src/components/page/dashboard/metricPreview.vue
index 9abe69bba..b3dffaab9 100644
--- a/nezha-fronted/src/components/page/dashboard/metricPreview.vue
+++ b/nezha-fronted/src/components/page/dashboard/metricPreview.vue
@@ -65,7 +65,7 @@
-
+
-
+
diff --git a/nezha-fronted/src/components/page/dashboard/overview/chart.vue b/nezha-fronted/src/components/page/dashboard/overview/chart.vue
index 23496d148..bf81372d2 100644
--- a/nezha-fronted/src/components/page/dashboard/overview/chart.vue
+++ b/nezha-fronted/src/components/page/dashboard/overview/chart.vue
@@ -7,7 +7,7 @@
No Data
-
+
diff --git a/nezha-fronted/src/components/page/dashboard/overview/tableBox.vue b/nezha-fronted/src/components/page/dashboard/overview/tableBox.vue
index ad2d669a6..5ac47ec8f 100644
--- a/nezha-fronted/src/components/page/dashboard/overview/tableBox.vue
+++ b/nezha-fronted/src/components/page/dashboard/overview/tableBox.vue
@@ -57,7 +57,6 @@
-
+
-
+
@@ -45,7 +45,7 @@
-
+
@@ -79,13 +79,13 @@
{{item.alias?item.alias:item.name}}
diff --git a/nezha-fronted/src/components/page/dashboard/overview/overview.vue b/nezha-fronted/src/components/page/dashboard/overview/overview.vue
index 876426205..6d0f3663b 100644
--- a/nezha-fronted/src/components/page/dashboard/overview/overview.vue
+++ b/nezha-fronted/src/components/page/dashboard/overview/overview.vue
@@ -29,7 +29,7 @@
-
+
@@ -84,7 +84,7 @@
-
+
-
+
-
+
-
+