From 771d5e9ab73a45f7b67f534b477b82cbbd7c1910 Mon Sep 17 00:00:00 2001
From: hanbaoshan <hanbaoshan@aiotlink.com>
Date: 星期日, 09 八月 2020 16:43:33 +0800
Subject: [PATCH] 添加应用窗口iframe上层遮罩,窗口整体响应点击置顶事件

---
 src/pages/desktop/index/components/DFrame.vue |   26 ++++++++++++++++++++------
 1 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/src/pages/desktop/index/components/DFrame.vue b/src/pages/desktop/index/components/DFrame.vue
index 4909bb4..66e5497 100644
--- a/src/pages/desktop/index/components/DFrame.vue
+++ b/src/pages/desktop/index/components/DFrame.vue
@@ -2,11 +2,11 @@
   <div
     v-show="data.isShow"
     :class="['d-frame', {'d-frame-full': fullScreen}]"
+    ref="dFrame"
     :data-id="data.id"
     v-bind:style="{left: data.leftOffset + 'px', top: data.topOffset + 'px', 'z-index': 125 + data.order, width: width + 'px', height: height + 'px'}"
-    @click="frameClick"
   >
-    <div class="d-frame-title" v-drag>
+    <div class="d-frame-title" v-drag @click="frameClick">
       <div class="d-frame-title-operation">
         <i class="icon-minus d-frame-operation-minus" @click="minFrame(data,$event)">
           <img :src="`${publicPath}images/desktop/header-icon/min.png`" alt />
@@ -26,7 +26,8 @@
         </div>
       </slot>
     </div>
-    <div class="d-frame-content" @click="frameClick"  >
+    <div class="d-frame-content">
+      <div class="iframe-mask" v-if="data.order!=1" @click="frameClick"></div>
       <iframe :src="data.url" v-if="data.url"></iframe>
       <div v-html="data.html" v-if="data.html"></div>
       <!-- <span class="d-frame-operation-resize" v-resize></span> -->
@@ -63,6 +64,7 @@
       }
     }
   },
+ 
   methods: {
     //resize
     mousedown(e) {
@@ -79,8 +81,11 @@
         }
         e = e || window.event;
         e.preventDefault();
-        this.width = this.resizeObj.startW + e.clientX - this.resizeObj.mouX;
-        this.height = this.resizeObj.startH + e.clientY - this.resizeObj.mouY;
+        let curWidth = this.resizeObj.startW + e.clientX - this.resizeObj.mouX;
+        let curHeight = this.resizeObj.startH + e.clientY - this.resizeObj.mouY;
+        
+        this.width = curWidth;
+        this.height = curHeight;
       }.bind(this)
     },
     mouseup() {
@@ -95,7 +100,8 @@
     changeFullScreen: function () {
       this.fullScreen = !this.fullScreen;
     },
-    frameClick() {
+    frameClick(e) {
+      debugger
       this.$store.commit('desktop/refreshFrame', this.data);
     },
     minFrame(data, e) {
@@ -222,6 +228,14 @@
   border-left: 1px solid #d0d0d0;
   border-right: 1px solid #d0d0d0;
 }
+.iframe-mask{
+  position: absolute;
+  top: 30px;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  background: transparent;
+}
 .d-frame-title .icon-close {
   border-radius: 0 4px 0 0;
   background: url("/images/desktop/header-icon/close.png") no-repeat 50%;

--
Gitblit v1.8.0