From 2645dd9c47a894688c2a6c9b151b5a76e7f5a12b Mon Sep 17 00:00:00 2001
From: hanbaoshan <hanbaoshan@aiotlink.com>
Date: 星期一, 03 八月 2020 09:28:16 +0800
Subject: [PATCH] 改写Dframe resize
---
src/pages/desktop/index/components/DFrame.vue | 38 +++++++++++++++++++++++++++++++++++---
1 files changed, 35 insertions(+), 3 deletions(-)
diff --git a/src/pages/desktop/index/components/DFrame.vue b/src/pages/desktop/index/components/DFrame.vue
index cfe46e1..3691cc9 100644
--- a/src/pages/desktop/index/components/DFrame.vue
+++ b/src/pages/desktop/index/components/DFrame.vue
@@ -21,7 +21,8 @@
<div class="d-frame-content">
<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>
+ <!-- <span class="d-frame-operation-resize" v-resize></span> -->
+ <span class="d-frame-operation-resize" @mousedown="mousedown" @mousemove.prevent="mousemove" @mouseup="mouseup"></span>
</div>
</div>
</template>
@@ -38,8 +39,13 @@
fullScreen: false,
width: this.data.width || 1024,
height: this.data.height || 512,
- dragLock: false,
- resizeLock: false
+ resizeObj: {
+ startW : 0,
+ startH: 0,
+ mouX: 0,
+ mouY: 0,
+ resizeLock: false
+ }
}
},
mounted() {
@@ -50,6 +56,31 @@
})
},
methods: {
+ //resize
+ mousedown(e){
+ debugger
+ this.resizeObj.mouX = e.clientX;
+ this.resizeObj.mouY = e.clientY;
+ this.resizeObj.startW = this.width;
+ this.resizeObj.startH = this.height;
+ this.resizeObj.resizeLock = true;
+ },
+ mousemove(e){
+ document.onmousemove = function(e){
+ if(!this.resizeObj.resizeLock){
+ return
+ }
+ 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;
+ }.bind(this)
+ },
+ mouseup(){
+ this.resizeObj.resizeLock = false;
+ document.onmousemove = null;
+ },
+ //resize end
closeFrame: function () {
this.$store.dispatch('desktop/closeFrame', this.data);
this.refreshDock();
@@ -106,6 +137,7 @@
let disy = e.clientY - el.parentElement.offsetTop;
el.style.cursor = 'move';
document.onmousemove = function (e) {
+ e.preventDefault();
window.getSelection().removeAllRanges();
el.parentElement.style.left = e.clientX - disx + 'px';
el.parentElement.style.top = e.clientY - disy + 'px';
--
Gitblit v1.8.0