重写组件移动方法

2.0
咬轮猫 4 years ago
parent b6e730772e
commit eec9c89ff6

@ -54,7 +54,7 @@
v-for="(item,index) in svgLists"
:key="item"
:id=item.id
@mousedown="MousedownSvg(item.id,index)"
@mousedown="MousedownSvg(item.id,index,item.svgPositionX,item.svgPositionY,$event)"
:title=item.title
:transform="'translate('+(item.svgPositionX)+','+(item.svgPositionY)+')' +'rotate('+item.angle+')' +'scale('+item.height+')'">
<DynamicTest :svg_color=item.svgColor
@ -106,9 +106,14 @@ export default {
Width: '',//svg
Angle: '',//svg
},
moveSvg: {
selectSvg: {
ID: '',//svg
Index: 0,
mouseStatus: 0, // 1 0
mPositionX: 0,//svgx
mPositionY: 0,//svgy
pointX: 0,//svgsvgx
pointY: 0,//svgsvgy
}
,
selectSvgInfo: '',
@ -162,35 +167,45 @@ export default {
}
},
MouseMove (e) {
if (e.offsetX == -1) {
return;
}
if (e.target.nodeName == 'INPUT') {
return;
}
if (e.offsetY == -1) {
return;
}
if (this.moveSvg.ID == '') {
let _this = this;
// if (e.offsetX == -1) {
// return;
// }
// if (e.target.nodeName == 'INPUT') {
// return;
// }
// if (e.offsetY == -1) {
// return;
// }
// if (this.selectSvg.ID == '') {
// return;
// }
if (this.selectSvg.mouseStatus == 0) {
return;
}
this.mousePosition.positionX = e.offsetX;
this.mousePosition.positionY = e.offsetY;
if (this.mousePosition.positionX < 1) {
this.mousePosition.positionX = 10;
}
if (this.mousePosition.positionY < 1) {
this.mousePosition.positionY = 10;
}
let svgID = this.svgLists[this.moveSvg.Index].id;
const { clientX, clientY } = e
console.log("当前:" + clientX + " " + clientY);
// this.mousePosition.positionX += (clientX-this.selectSvg.mPositionX);
// this.mousePosition.positionY += (clientY-this.selectSvg.mPositionY);
// if (this.mousePosition.positionX < 1) {
// this.mousePosition.positionX = 10;
// }
// if (this.mousePosition.positionY < 1) {
// this.mousePosition.positionY = 10;
// }
let svgID = this.svgLists[this.selectSvg.Index].id;
//svg
let anyPositionList = this.svgLists.filter(function (list) {
return list.id != svgID
});
console.log("点击:" + this.selectSvg.mPositionX + " " + this.selectSvg.mPositionY);
//
let svgPositionX = this.mousePosition.positionX;
let svgPositionY = this.mousePosition.positionY;
let _this = this;
let svgPositionX = this.selectSvg.pointX;
let svgPositionY = this.selectSvg.pointY;
svgPositionX += (clientX - this.selectSvg.mPositionX);
svgPositionY += (clientY - this.selectSvg.mPositionY);
console.log("计算:" + (clientX - this.selectSvg.mPositionX) + " " + (clientY - this.selectSvg.mPositionY));
console.log("结果:" + svgPositionX + " " + svgPositionY);
setTimeout(function () {
//
//x10
@ -207,8 +222,8 @@ export default {
if (exitsAdsorbY.length > 0) {
svgPositionY = exitsAdsorbY[0].svgPositionY;
}
_this.svgLists[_this.moveSvg.Index].svgPositionX = svgPositionX;
_this.svgLists[_this.moveSvg.Index].svgPositionY = svgPositionY;
_this.svgLists[_this.selectSvg.Index].svgPositionX = svgPositionX;
_this.svgLists[_this.selectSvg.Index].svgPositionY = svgPositionY;
//x
let exitsNowX = anyPositionList.filter(function (list) {
return list.svgPositionX === svgPositionX
@ -237,15 +252,19 @@ export default {
//console.log('');
},
MousedownSvg (id, index) {
global.CurrentlySelectedToolBarType = '';
global.CurrentlySelectedToolBarTitle = '';
this.CurrentlySelectedToolBar.Type = '';
this.CurrentlySelectedToolBar.Title = '';
MousedownSvg (id, index,pointX,pointY, e) {
this.CurrentlySelectedToolBar.Type = global.CurrentlySelectedToolBarType = '';
this.CurrentlySelectedToolBar.Title = global.CurrentlySelectedToolBarTitle = '';
//index
this.moveSvg.ID = id;
this.moveSvg.Index = index;
this.selectSvg.ID = id;
this.selectSvg.Index = index;
this.selectSvg.mouseStatus = 1;
this.selectSvg.mPositionX = e.clientX;
this.selectSvg.mPositionY = e.clientY;
this.selectSvg.pointX = pointX;
this.selectSvg.pointY = pointY;
this.selectSvgInfo = this.svgLists[index];
//g
let gAnyList = document.querySelectorAll('g');
gAnyList.forEach(g => {
@ -259,7 +278,8 @@ export default {
if (this.CurrentlySelectedToolBar.Title != '' || this.CurrentlySelectedToolBar.Type != '') {
return;
}
this.moveSvg.ID = '';
// this.selectSvg.ID = '';
this.selectSvg.mouseStatus = 0;
},
MouseWheel (e) {
//

Loading…
Cancel
Save