From e98b53d8ad7f88863e53ad5e55f5da6bee3193fc Mon Sep 17 00:00:00 2001 From: zyy <1787816799@qq.com> Date: Thu, 17 Sep 2020 16:33:22 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4ibp=E9=BC=A0=E6=A0=87?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/config/skinCode/ningbo_03.js | 2 +- src/jmapNew/shape/Switch/ESwLocal.js | 5 +++- src/jmapNew/shape/Switch/index.js | 30 ++++++++++++++++++++---- 3 files changed, 31 insertions(+), 6 deletions(-) diff --git a/src/jmapNew/config/skinCode/ningbo_03.js b/src/jmapNew/config/skinCode/ningbo_03.js index 289fd99ae..22a767f1c 100644 --- a/src/jmapNew/config/skinCode/ningbo_03.js +++ b/src/jmapNew/config/skinCode/ningbo_03.js @@ -332,7 +332,7 @@ class SkinCode extends defaultStyle { spareColor: '#5b5b5b' // 区段显示颜色 }, core: { - length: 4 // 道岔单边长度 + length: 8 // 道岔单边长度 }, jointImg: { // 道岔 A B C D四元素属性配置 trapezoidLength: 8, // 直角梯形元素默认长度 diff --git a/src/jmapNew/shape/Switch/ESwLocal.js b/src/jmapNew/shape/Switch/ESwLocal.js index a5efa3275..c1efc5eb8 100644 --- a/src/jmapNew/shape/Switch/ESwLocal.js +++ b/src/jmapNew/shape/Switch/ESwLocal.js @@ -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; } } diff --git a/src/jmapNew/shape/Switch/index.js b/src/jmapNew/shape/Switch/index.js index d17230f3a..7ed62d62d 100644 --- a/src/jmapNew/shape/Switch/index.js +++ b/src/jmapNew/shape/Switch/index.js @@ -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,33 @@ 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)]; + // const sectionAModel = Vue.prototype.$jlmap.mapDevice[model.sectionACode]; + // const sectionATriangle = new JTriangle(sectionAModel.points[0], sectionAModel.points[1]); + // const sectionAPoint = { x: '', y: '' }; + // sectionAModel.points.forEach((point, sectionIndex) => { + // if (point.x == model.intersection.x && point.y == model.intersection.y) { + // sectionAPoint.x = point.x; + // sectionAPoint.y = point.y; + // this.sectionIndex = sectionIndex; + // } + // }); + // let directxA = 1; + // // const directxA = sectionATriangle.drictx; + // const drictyyA = sectionATriangle.dricty; + // if (this.sectionIndex != 0) { + // directxA = -1; + // } + // 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 * (difference / sectionATriangle.getCosRate()), sectionAPoint.y + drictyyA * difference * sectionATriangle.getTanRate()]; 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 +310,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); }