diff --git a/nezha-fronted/src/components/common/js/tools.js b/nezha-fronted/src/components/common/js/tools.js index fffca3ccd..24d6e842e 100644 --- a/nezha-fronted/src/components/common/js/tools.js +++ b/nezha-fronted/src/components/common/js/tools.js @@ -7,8 +7,13 @@ const exceptClassName = ["config-dropdown", "nz-pop", "el-picker", "chart-box-dr export const clickoutside = { // 初始化指令 bind(el, binding, vnode) { - if(!binding.value||!binding.value.obj) return; - let oldValue = JSON.parse(JSON.stringify(binding.value.obj)); + if(!binding.expression) return; + let oldValue; + try{ + oldValue= JSON.parse(JSON.stringify(binding.value.obj)); + }catch (e) { + + } function documentHandler(e) { if (el.contains(e.target)) { return false; @@ -26,20 +31,29 @@ export const clickoutside = { if (!flag) { return false; } - - let newValue = JSON.parse(JSON.stringify(binding.value.obj)); - if(!isEqual(oldValue,newValue)){ - MessageBox.confirm(i18n.t("tip.confirmCancel"), { - confirmButtonText: i18n.t("tip.yes"), - cancelButtonText: i18n.t("tip.no"), - type: 'warning' - }).then(() => { - if(binding.value.func){ - binding.value.func(); - } - }) + if(oldValue){ + let newValue = JSON.parse(JSON.stringify(binding.value.obj)); + if(!isEqual(oldValue,newValue)){ + MessageBox.confirm(i18n.t("tip.confirmCancel"), { + confirmButtonText: i18n.t("tip.yes"), + cancelButtonText: i18n.t("tip.no"), + type: 'warning' + }).then(() => { + if(binding.value.func){ + binding.value.func(); + } + }) + }else{ + binding.value.func(); + } }else{ - binding.value.func(); + if (binding.arg) { + binding.value(e, binding.arg); + } else { + if(binding.value){ + binding.value(e); + } + } } } } diff --git a/nezha-fronted/src/components/common/overView/messageAsset.vue b/nezha-fronted/src/components/common/overView/messageAsset.vue index 9ffbfc4c8..56958bf96 100644 --- a/nezha-fronted/src/components/common/overView/messageAsset.vue +++ b/nezha-fronted/src/components/common/overView/messageAsset.vue @@ -24,7 +24,7 @@ ref="alertLabel" :id="assetData.id" :that="assetData" - :type="'asset'" + :type="fromType" :LRTriangle="LRTriangle" :style="{ 'transform-origin': `0px 300px`, @@ -59,12 +59,14 @@ from:{}, hexagonSvgID:{ type:String, - default:'hexagonSvg' }, showTooltip:{ type:Boolean, default:false, }, + fromType:{ + type:String, + }, }, watch:{ data:{ @@ -270,11 +272,12 @@ }, calcPosition(e){ let boxWidth=this.boxWidth; - let minus=(e.pageY-300)+this.$refs.alertLabel.$el.offsetHeight-window.innerHeight; + let distance=this.fromType==='asset'?300:50; + let minus=(e.pageY-distance)+this.$refs.alertLabel.$el.offsetHeight-window.innerHeight; // window.innerHeight if(minus<=0){ - this.assetData.position.top=e.pageY-300; - this.assetData.position.mt=300; + this.assetData.position.top=e.pageY-distance; + this.assetData.position.mt=distance; } else if(minus>0){ this.assetData.position.top=window.innerHeight-this.$refs.alertLabel.$el.offsetHeight; this.assetData.position.mt=e.pageY-(window.innerHeight-this.$refs.alertLabel.$el.offsetHeight); diff --git a/nezha-fronted/src/components/page/dashboard/overview/overview2.vue b/nezha-fronted/src/components/page/dashboard/overview/overview2.vue index 9b5b28c93..afd1a30a0 100644 --- a/nezha-fronted/src/components/page/dashboard/overview/overview2.vue +++ b/nezha-fronted/src/components/page/dashboard/overview/overview2.vue @@ -191,7 +191,7 @@
- +
No Data
@@ -211,7 +211,7 @@
- +
No Data