|
@@ -165,18 +165,10 @@ export default {
|
|
|
thumbStyletop: 0,
|
|
|
},
|
|
|
widgetFirstClick: {
|
|
|
- lastX: 0,
|
|
|
- lastY: 0,
|
|
|
- clickX: 0,
|
|
|
- clickY: 0,
|
|
|
- clientX: 0,
|
|
|
- clientY: 0,
|
|
|
- offsetX: 0,
|
|
|
- offsetY: 0,
|
|
|
+ layerX: 0,
|
|
|
+ layerY: 0,
|
|
|
screenX: 0,
|
|
|
screenY: 0,
|
|
|
- moveX: 0,
|
|
|
- moveY: 0,
|
|
|
},
|
|
|
widgetListIsBottom: false,
|
|
|
thumbYHeight: "424px",
|
|
@@ -305,7 +297,7 @@ export default {
|
|
|
this.thumbYDisplay = "block";
|
|
|
this.thumbYHeight = "calc((100vh - 52px) / 2)";
|
|
|
}
|
|
|
- window.onresize = (e) => {
|
|
|
+ window.addEventListener("resize", (e) => {
|
|
|
if (el2.offsetHeight > el3.offsetHeight) {
|
|
|
this.bottom = "0";
|
|
|
this.thumbYDisplay = "block";
|
|
@@ -313,7 +305,7 @@ export default {
|
|
|
} else {
|
|
|
this.thumbYDisplay = "none";
|
|
|
}
|
|
|
- };
|
|
|
+ });
|
|
|
},
|
|
|
methods: {
|
|
|
//点击固定窗口
|
|
@@ -433,13 +425,21 @@ export default {
|
|
|
let el = document.querySelector(
|
|
|
".v-widget-window .v-window-header-wrapper"
|
|
|
);
|
|
|
- this.widgetFirstClick.clientX = e.clientX;
|
|
|
- this.widgetFirstClick.offsetX = e.offsetX;
|
|
|
+ // console.log(
|
|
|
+ // this.widgetFirstClick.clientX,
|
|
|
+ // this.widgetFirstClick.offsetX,
|
|
|
+ // this.widgetFirstClick.screenX
|
|
|
+ // );
|
|
|
+ // this.widgetFirstClick.clientX = e.clientX;
|
|
|
+ // this.widgetFirstClick.offsetX = e.offsetX;
|
|
|
+ this.widgetFirstClick.layerX = e.layerX;
|
|
|
this.widgetFirstClick.screenX = document.documentElement.clientWidth;
|
|
|
- this.widgetFirstClick.clientY = e.clientY;
|
|
|
- this.widgetFirstClick.offsetY = e.offsetY;
|
|
|
+ // this.widgetFirstClick.clientY = e.clientY;
|
|
|
+ // this.widgetFirstClick.offsetY = e.offsetY;
|
|
|
+ this.widgetFirstClick.layerY = e.layerY;
|
|
|
this.widgetFirstClick.screenY = document.documentElement.clientHeight;
|
|
|
el.addEventListener("mousemove", this.mousemoveWidgetHeader);
|
|
|
+ // this.moveEventObj = e.srcElement;
|
|
|
},
|
|
|
//移动固定窗口头部
|
|
|
mousemoveWidgetHeader(e) {
|
|
@@ -450,31 +450,29 @@ export default {
|
|
|
let el2 = document.querySelector(".v-widget-window .v-widget-list");
|
|
|
el2.style.display = "none";
|
|
|
// X轴
|
|
|
- let moveX = 0;
|
|
|
- moveX = e.clientX - this.widgetFirstClick.offsetX;
|
|
|
+ let moveX = e.pageX - this.widgetFirstClick.layerX;
|
|
|
if (moveX < 0) {
|
|
|
moveX = 0;
|
|
|
}
|
|
|
- if (moveX > this.widgetFirstClick.screenX - el1.offsetWidth) {
|
|
|
- moveX = this.widgetFirstClick.screenX - el1.offsetWidth;
|
|
|
+ if (moveX > this.widgetFirstClick.screenX - el1.style.width) {
|
|
|
+ moveX = this.widgetFirstClick.screenX - el1.style.width;
|
|
|
}
|
|
|
// Y轴
|
|
|
- let moveY = 0;
|
|
|
- moveY = e.clientY - this.widgetFirstClick.offsetY;
|
|
|
+ let moveY = e.pageY - this.widgetFirstClick.layerY;
|
|
|
if (moveY < 0) {
|
|
|
moveY = 0;
|
|
|
}
|
|
|
- if (moveY > this.widgetFirstClick.screenY - el1.offsetHeight) {
|
|
|
- moveY = this.widgetFirstClick.screenY - el1.offsetHeight;
|
|
|
+ if (moveY > this.widgetFirstClick.screenY - el1.style.height) {
|
|
|
+ moveY = this.widgetFirstClick.screenY - el1.style.height;
|
|
|
}
|
|
|
- el1.style.left = moveX + "px";
|
|
|
- el1.style.top = moveY + "px";
|
|
|
+ this.left = moveX + "px";
|
|
|
+ this.top = moveY + "px";
|
|
|
if (!el1.className.includes(" move")) {
|
|
|
el1.className = el1.className + " move";
|
|
|
}
|
|
|
el.addEventListener("mouseleave", this.mouseupWidgetHeader);
|
|
|
},
|
|
|
- //鼠标抬起固定窗口头部
|
|
|
+ //鼠标抬起固定窗口头部停止移动
|
|
|
mouseupWidgetHeader() {
|
|
|
let el = document.querySelector(
|
|
|
".v-widget-window .v-window-header-wrapper"
|
|
@@ -482,6 +480,7 @@ export default {
|
|
|
let el1 = document.querySelector(".v-widget-window .v-widget-list");
|
|
|
let el2 = document.querySelector(".v-widget-window");
|
|
|
el.removeEventListener("mousemove", this.mousemoveWidgetHeader);
|
|
|
+ el.addEventListener("mouseleave", this.mouseupWidgetHeader);
|
|
|
el1.style.display = "flex";
|
|
|
el2.className = el2.className.replace("move", "");
|
|
|
},
|
|
@@ -497,12 +496,15 @@ export default {
|
|
|
""
|
|
|
);
|
|
|
}
|
|
|
- this.fixWindowMessage.display = "none";
|
|
|
- if (this.fixWindowMessage.zIndex >= this.defaultZIndex) {
|
|
|
+ if (
|
|
|
+ this.fixWindowMessage.zIndex >= this.defaultZIndex &&
|
|
|
+ this.fixWindowMessage.cls === "active-win"
|
|
|
+ ) {
|
|
|
this.fixWindowMessage.zIndex = this.defaultZIndex - 10;
|
|
|
this.$bus.emit("changeDefaultZIndex", this.defaultZIndex - 10);
|
|
|
this.$bus.emit("fixWindowZIndexMax", false);
|
|
|
}
|
|
|
+ this.fixWindowMessage.display = "none";
|
|
|
} else {
|
|
|
this.fixWindowMessage.display = "block";
|
|
|
this.fixWindowMessage.zIndex = this.defaultZIndex + 10;
|
|
@@ -531,15 +533,6 @@ export default {
|
|
|
//改变固定弹出框的位置
|
|
|
changeWidgetPosition(obj) {
|
|
|
this.portalDetail1.detailMessageList = obj.detailMessageList;
|
|
|
- this.portalDetail1.detailMessageList.forEach((item, index) => {
|
|
|
- if (item.cls && index !== 0) {
|
|
|
- if (item.cls.includes(" active")) {
|
|
|
- item.cls = item.cls.replace(" active", "");
|
|
|
- } else if (item.cls.includes("active")) {
|
|
|
- item.cls = item.cls.replace("active", "");
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
let detailMessageItem = this.portalDetail1.detailMessageList[obj.index];
|
|
|
this.top = detailMessageItem.top;
|
|
|
this.bottom = detailMessageItem.bottom;
|
|
@@ -549,15 +542,6 @@ export default {
|
|
|
".v-widget-window .v-widget-header-tool-icon.dock"
|
|
|
);
|
|
|
el.className = el.className + " active";
|
|
|
- if (!this.portalDetail1.detailMessageList[0].cls) {
|
|
|
- this.portalDetail1.detailMessageList[0].cls =
|
|
|
- this.portalDetail1.detailMessageList[0].cls + "active";
|
|
|
- } else if (
|
|
|
- !this.portalDetail1.detailMessageList[0].cls.includes(" active")
|
|
|
- ) {
|
|
|
- this.portalDetail1.detailMessageList[0].cls =
|
|
|
- this.portalDetail1.detailMessageList[0].cls + " active";
|
|
|
- }
|
|
|
},
|
|
|
//点击小钉子
|
|
|
pinFixWndow() {
|