修改代码

This commit is contained in:
ival 2021-04-08 13:00:03 +08:00
parent e58d229abc
commit 9a7d6a007b
8 changed files with 21 additions and 9 deletions

View File

@ -197,6 +197,7 @@ export default class Controller extends Eventful {
mousemove(e) { mousemove(e) {
const oldX = this._x; const oldX = this._x;
const oldY = this._y; const oldY = this._y;
const target = this._target||{}
const dx = Math.round(e.offsetX - this._x); const dx = Math.round(e.offsetX - this._x);
const dy = Math.round(e.offsetY - this._y); const dy = Math.round(e.offsetY - this._y);
@ -218,7 +219,7 @@ export default class Controller extends Eventful {
if (this.limitDrag({dx, dy})) { if (this.limitDrag({dx, dy})) {
this.trigger(this.events.__Dragging, { dx, dy }); this.trigger(this.events.__Dragging, { dx, dy });
if (this._reflectEnable) { if (this._reflectEnable) {
this.trigger(events.Reflect, {dx, dy}); this.trigger(events.Reflect, {dx, dy, code: target.code});
} }
} else { } else {
this._x = oldX; this._x = oldX;

View File

@ -152,7 +152,7 @@ export const elementConst = {
rules:[ rules:[
{ required: true, message:'请输入圆角矩形半径', trigger: 'blur' } { required: true, message:'请输入圆角矩形半径', trigger: 'blur' }
], ],
value: [5, 5, 5, 5], value: [0, 0, 0, 0],
description: '用于创建圆角矩形。左上、右上、右下、左下角的半径依次为 r1、 r2、 r3、 r4。[1, 1, 1, 1]' description: '用于创建圆角矩形。左上、右上、右下、左下角的半径依次为 r1、 r2、 r3、 r4。[1, 1, 1, 1]'
}] }]
} }

View File

@ -30,7 +30,7 @@ export default [
}, },
{ {
prop: 'sightless', prop: 'sightless',
label: '图形是否不可见', label: '是否隐藏',
type: types.Boolean, type: types.Boolean,
rules:[ rules:[
{ required: true, message:'请选择图形是否不可见', trigger: 'blur' } { required: true, message:'请选择图形是否不可见', trigger: 'blur' }

View File

@ -101,7 +101,7 @@ export default [
}, },
{ {
prop: 'strokeNoScale', prop: 'strokeNoScale',
label: '描边粗细缩放而改变', label: '描边不缩放',
type: types.Boolean, type: types.Boolean,
value: false, value: false,
description: '描边粗细不随缩放而改变,不选中时则会根据缩放同比例缩放描边粗细。' description: '描边粗细不随缩放而改变,不选中时则会根据缩放同比例缩放描边粗细。'

View File

@ -56,7 +56,7 @@ function update2List(source, model, action, name='') {
i >= 0 && list.splice(i, 1); i >= 0 && list.splice(i, 1);
break; break;
case orders.UPDATE: case orders.UPDATE:
Object.assign(list[i]||{}, model) updateModel = Object.assign(list[i]||{}, model)
break; break;
} }

View File

@ -180,6 +180,7 @@ class JMap {
if (updateModel) { if (updateModel) {
curShape = this.$shapeFactory.getShapeByCode(updateModel.code); curShape = this.$shapeFactory.getShapeByCode(updateModel.code);
oldShape = this.$shapeFactory.removeShape(curShape); oldShape = this.$shapeFactory.removeShape(curShape);
this.$painter.removeFromLayer(oldShape.type, oldShape.instanceHightLight);
this.$painter.remove(oldShape); this.$painter.remove(oldShape);
} }
}); });
@ -188,9 +189,11 @@ class JMap {
updateModel = this.isDrawing() ? this.$shapeFactory.updateSource(model, action): model; updateModel = this.isDrawing() ? this.$shapeFactory.updateSource(model, action): model;
oldShape = this.$shapeFactory.removeShape(curShape); oldShape = this.$shapeFactory.removeShape(curShape);
newShape = this.$shapeFactory.createShape(updateModel, action.shapeType); newShape = this.$shapeFactory.createShape(updateModel, action.shapeType);
this.$painter.removeFromLayer(oldShape.type, oldShape.instanceHightLight);
this.$painter.remove(oldShape); this.$painter.remove(oldShape);
this.$shapeFactory.storageShape(newShape) this.$shapeFactory.storageShape(newShape)
this.$painter.add(newShape); this.$painter.add(newShape);
this.$painter.addToLayer(newShape.type, newShape.instanceHightLight);
break; break;
case orders.UNBINDING: case orders.UNBINDING:
oldShape = this.$shapeFactory.removeShape(curShape); oldShape = this.$shapeFactory.removeShape(curShape);

View File

@ -85,9 +85,13 @@ export default {
}, },
onSelectTab() { onSelectTab() {
}, },
onSelected(val) { onSelected(em) {
if (val) { if (em.model) {
this.selected = JSON.parse(JSON.stringify(val)); this.selected = JSON.parse(JSON.stringify(em.model));
const elem = this.elementList.find(el => el.code == this.selected.type);
if (elem) {
elem.model = this.selected;
}
} else { } else {
this.selected = null; this.selected = null;
} }

View File

@ -96,6 +96,7 @@ export default {
this.$iscs.on('viewLoaded', this.onViewLoaded, this); this.$iscs.on('viewLoaded', this.onViewLoaded, this);
this.$iscs.on('contextmenu', this.onContextMenu, this); this.$iscs.on('contextmenu', this.onContextMenu, this);
this.$iscs.on('selected', this.onSelected, this); this.$iscs.on('selected', this.onSelected, this);
this.$iscs.on('reflect', this.onReflect, this);
this.$iscs.on('keyboard', this.onKeyboard, this); this.$iscs.on('keyboard', this.onKeyboard, this);
window.document.oncontextmenu = function () { window.document.oncontextmenu = function () {
return false; return false;
@ -110,7 +111,10 @@ export default {
}, },
// //
onSelected(em={}) { onSelected(em={}) {
this.$emit('selected', em.model); this.$emit('selected', em);
},
onReflect(em={}) {
this.$emit('selected', this.$iscs.getShapeByCode(em.code));
}, },
// //
onContextMenu(em={}) { onContextMenu(em={}) {