This commit is contained in:
sunzhenyu 2020-09-17 18:12:42 +08:00
commit c7e0380510
5 changed files with 33 additions and 16 deletions

View File

@ -621,11 +621,10 @@ export function getPlcGateway(group) {
// });
// }
export function handlerIbpEvent(group, data) {
export function handlerIbpEvent(group, button) {
return request({
url: `/simulation/${group}/ibp/button`,
method: 'put',
data
url: `/simulation/${group}/ibp/${button}`,
method: 'put'
});
}

View File

@ -332,7 +332,7 @@ class SkinCode extends defaultStyle {
spareColor: '#5b5b5b' // 区段显示颜色
},
core: {
length: 4 // 道岔单边长度
length: 8 // 道岔单边长度
},
jointImg: { // 道岔 A B C D四元素属性配置
trapezoidLength: 8, // 直角梯形元素默认长度

View File

@ -21,6 +21,8 @@ class ESwLocal extends Group {
style: {
fill: style.backgroundColor
// fill: 'red'
// lineWidth: style.Section.line.width,
// stroke: style.backgroundColor
},
cursor: model.cursor,
onmouseover: model.onmouseover,
@ -47,6 +49,7 @@ class ESwLocal extends Group {
setColor(color) {
this.locShelter.setStyle({ fill: color });
// this.locShelter.setStyle({ stroke: color });
}
animateStyle(cb) {
@ -55,7 +58,7 @@ class ESwLocal extends Group {
});
}
getLocal() {
return this.locShelter;
return this.locShelter;
}
}

View File

@ -1,6 +1,3 @@
/*
* 道岔
*/
import Group from 'zrender/src/container/Group';
import Text from 'zrender/src/graphic/Text';
import Rect from 'zrender/src/graphic/shape/Rect';
@ -50,7 +47,7 @@ export default class Switch extends Group {
const style = this.style;
const switchWidth = style.Section.line.width + style.Section.line.beyondWidth * 2; // 超出宽度多少
const swPadding = style.Switch.core.length;
const swPadding = style.Switch.core.length + style.Section.line.width / 2;
const directx = this.triangle.drictx;
const directy = this.triangle.dricty;
const direct = -this.triangle.drictx * this.triangle.dricty;
@ -66,11 +63,31 @@ export default class Switch extends Group {
const point2 = [model.intersection.x + directx * (width2 + width1) + directx * detailWidth, point1[1]];
const point3 = [point2[0] + directx * this.triangle.getCotRate() * swPadding, point2[1] + directy * swPadding];
const point4 = [point3[0] + direct * this.triangle.getSin(switchWidth) - directx * 2 * detailWidth, point3[1] - direct * this.triangle.getCos(switchWidth)];
// let directxA = 1;
// const sectionAModel = Vue.prototype.$jlmap.mapDevice[model.sectionACode];
// let sectionATriangle = new JTriangle(sectionAModel.points[0], sectionAModel.points[1]);
// const sectionAPoint = { x: model.intersection.x, y: model.intersection.y };
// if (sectionAModel.points[0].x == model.intersection.x && sectionAModel.points[0].y == model.intersection.y) {
// sectionATriangle = new JTriangle(sectionAModel.points[0], sectionAModel.points[1]);
// directxA = 1;
// }
// if (sectionAModel.points[sectionAModel.points.length - 1].x == model.intersection.x && sectionAModel.points[sectionAModel.points.length - 1].y == model.intersection.y) {
// sectionATriangle = new JTriangle(sectionAModel.points[sectionAModel.points.length - 2], sectionAModel.points[sectionAModel.points.length - 1]);
// directxA = -1;
// }
// const drictyyA = sectionATriangle.dricty;
// // const difference = switchWidth1 * this.triangle.getCosRate();
// const point1 = [model.intersection.x + directx * this.triangle.getCotRate() * swPadding, model.intersection.y + directy * swPadding];
// const point2 = [model.intersection.x, model.intersection.y];
// const point3 = [sectionAPoint.x + directxA * (switchWidth1 * sectionATriangle.getCosRate()), sectionAPoint.y + drictyyA * switchWidth1 * sectionATriangle.getSinRate()];
this.locShelter = new ESwLocal({ // 定位 覆盖形状 A
zlevel: this.zlevel,
z: this.z,
style: style,
shelterPoints: [point1, point2, point3, point4],
// shelterPoints: [point1, point2, point3],
cursor: 'pointer',
triangle: this.triangle,
onmouseover: () => { this.name.getArrowText().show(); },
@ -291,6 +308,9 @@ export default class Switch extends Group {
this.relocShelter.hide();
this.sheltertriangle.hide();
}
// this.relocShelter.show();
// this.relocShelter.setColor('red');
// this.locShelter.setColor('yellow');
this.setTextColor(this.style.Switch.text.locateColor);
}

View File

@ -191,15 +191,10 @@ export default {
onMouseDown(em) {
if (em.deviceModel.mean) {
if (IbpOperation[em.deviceModel.mean]) {
handlerIbpEvent(this.$route.query.group, {button: IbpOperation[em.deviceModel.mean].event, stationCode: this.stationCode});
handlerIbpEvent(this.$route.query.group, IbpOperation[em.deviceModel.mean].event);
}
}
},
openScreenDoor(flag, buttonOperate) {
if (flag) {
handlerIbpEvent(this.$route.query.group, {button: buttonOperate, stationCode: this.stationCode});
}
},
//
onContextMenu(em) {
this.$store.dispatch('ibp/setUpdateDeviceData', em.eventTarget.model);