调整:control增加悬浮移出事件
This commit is contained in:
parent
1d18028d41
commit
0fc306714b
@ -147,5 +147,18 @@ export default class defaultStyle {
|
||||
|
||||
/** 列车文字颜色*/
|
||||
this.trainTextColor = '#ffffff';
|
||||
|
||||
/** 灯包围框样式 */
|
||||
this.arcBorderStyle = {
|
||||
lineDash: [3, 3],
|
||||
stroke: '#FFFFFF',
|
||||
fill: 'rgba(0,0,0,0)'
|
||||
};
|
||||
/** 字体包围框样式 */
|
||||
this.textBorderStyle={
|
||||
lineDash: [3, 3],
|
||||
stroke: '#FFFFFF',
|
||||
fill: '#00FFFF'
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -227,7 +227,18 @@ class SkinStyle extends defaultStyle {
|
||||
/** 控制模式红色*/
|
||||
stationControlRedColor: '#FF0000',
|
||||
/** 控制模式黄色*/
|
||||
stationControlYellowColor: '#FFFF00'
|
||||
stationControlYellowColor: '#FFFF00',
|
||||
/** 是否有鼠标悬浮事件 */
|
||||
mouseEvent: true,
|
||||
/** 鼠标悬浮样式 */
|
||||
mouseOverStyle: {
|
||||
fontSize: 10,
|
||||
fontFormat: 'consolas',
|
||||
fontColor: '#FFF000',
|
||||
fontWeight: 'normal',
|
||||
textAlign: 'middle',
|
||||
textVerticalAlign: 'top'
|
||||
}
|
||||
};
|
||||
|
||||
this[deviceType.Station] = {
|
||||
@ -263,6 +274,17 @@ class SkinStyle extends defaultStyle {
|
||||
lamp: {
|
||||
radiusR: 6,
|
||||
controlColor: '#FFFF00'
|
||||
},
|
||||
mouseEvent: true,
|
||||
mouseOverStyle: {
|
||||
fontSize: 10,
|
||||
fontFormat: 'consolas',
|
||||
fontColor: '#FFF000',
|
||||
fontWeight: 'normal',
|
||||
textAlign: 'middle',
|
||||
textVerticalAlign: 'top',
|
||||
arcColor: '#00FFFF',
|
||||
textColor: '#000000'
|
||||
}
|
||||
};
|
||||
this[deviceType.ZcControl] = {
|
||||
@ -273,6 +295,17 @@ class SkinStyle extends defaultStyle {
|
||||
lamp: {
|
||||
radiusR: 6,
|
||||
controlColor: '#00FF00'
|
||||
},
|
||||
mouseEvent: true,
|
||||
mouseOverStyle: {
|
||||
fontSize: 10,
|
||||
fontFormat: 'consolas',
|
||||
fontColor: '#FFF000',
|
||||
fontWeight: 'normal',
|
||||
textAlign: 'middle',
|
||||
textVerticalAlign: 'top',
|
||||
arcColor: '#00FFFF',
|
||||
textColor: '#000000'
|
||||
}
|
||||
};
|
||||
this[deviceType.LimitControl] = {
|
||||
@ -283,6 +316,16 @@ class SkinStyle extends defaultStyle {
|
||||
lamp: {
|
||||
radiusR: 6,
|
||||
controlColor: '#ECE9D8'
|
||||
},
|
||||
mouseEvent: true,
|
||||
mouseOverStyle: {
|
||||
fontSize: 10,
|
||||
fontFormat: 'consolas',
|
||||
fontColor: '#FFF000',
|
||||
fontWeight: 'normal',
|
||||
textAlign: 'middle',
|
||||
textVerticalAlign: 'top',
|
||||
arcColor: '#00FFFF'
|
||||
}
|
||||
};
|
||||
this[deviceType.Train] = {
|
||||
|
52
src/jmap/shape/LcControl/EMouse.js
Normal file
52
src/jmap/shape/LcControl/EMouse.js
Normal file
@ -0,0 +1,52 @@
|
||||
import Group from 'zrender/src/container/Group';
|
||||
import Text from 'zrender/src/graphic/Text';
|
||||
|
||||
export default class EMouse extends Group {
|
||||
constructor(device) {
|
||||
super();
|
||||
this.device = device;
|
||||
this.down = true;
|
||||
this._create();
|
||||
}
|
||||
_create() {
|
||||
this.text = new Text({
|
||||
_subType: 'Text',
|
||||
zlevel: this.device.zlevel,
|
||||
z: this.device.z+1,
|
||||
position: [0, 0],
|
||||
style: {
|
||||
x: this.device.model.position.x,
|
||||
y: this.device.model.position.y + this.device.style.LcControl.lamp.radiusR + this.device.style.LcControl.text.distance-30,
|
||||
fontWeight: 'normal',
|
||||
fontSize: this.device.style.LcControl.mouseOverStyle.fontSize,
|
||||
fontFamily: this.device.style.LcControl.mouseOverStyle.textFontFormat,
|
||||
text: this.device.model.name,
|
||||
textFill: this.device.style.LcControl.mouseOverStyle.fontColor,
|
||||
textAlign: this.device.style.LcControl.mouseOverStyle.textAlign,
|
||||
textVerticalAlign: this.device.style.LcControl.mouseOverStyle.textVerticalAlign
|
||||
}
|
||||
});
|
||||
this.add(this.text);
|
||||
this.hide();
|
||||
}
|
||||
mouseoverText(e) {
|
||||
this.show();
|
||||
}
|
||||
|
||||
mouseoutText(e) {
|
||||
this.hide();
|
||||
}
|
||||
|
||||
mouseoverArc(e) {
|
||||
this.device.control.setControlColor(this.device.style.LcControl.mouseOverStyle.arcColor);
|
||||
this.device.control.setTextColor(this.device.style.LcControl.mouseOverStyle.textColor);
|
||||
this.device.control.setTextBorder(true);
|
||||
this.device.control.setArcBorder(true);
|
||||
}
|
||||
mouseoutArc(e) {
|
||||
this.device.control.setControlColor(this.device.style.LcControl.lamp.controlColor);
|
||||
this.device.control.setTextColor('#FFFFFF');
|
||||
this.device.control.setTextBorder(false);
|
||||
this.device.control.setArcBorder(false);
|
||||
}
|
||||
}
|
@ -3,6 +3,7 @@
|
||||
*/
|
||||
import Group from 'zrender/src/container/Group';
|
||||
import EControl from '../element/EControl';
|
||||
import EMouse from './EMouse';
|
||||
|
||||
export default class LcControl extends Group {
|
||||
constructor(model, style) {
|
||||
@ -13,6 +14,7 @@ export default class LcControl extends Group {
|
||||
this.zlevel = model.zlevel;
|
||||
this.model = model;
|
||||
this.style = style;
|
||||
this.createMouseEvent();
|
||||
this._create();
|
||||
}
|
||||
|
||||
@ -28,7 +30,9 @@ export default class LcControl extends Group {
|
||||
r: this.style.LcControl.lamp.radiusR
|
||||
},
|
||||
lineWidth: 0,
|
||||
fill: this.style.LcControl.lamp.controlColor
|
||||
fill: this.style.LcControl.lamp.controlColor,
|
||||
mouseover: this.mouseoverArc,
|
||||
mouseout: this.mouseoutArc
|
||||
},
|
||||
text: {
|
||||
position: [0, 0],
|
||||
@ -40,7 +44,9 @@ export default class LcControl extends Group {
|
||||
text: model.name,
|
||||
textFill: '#fff',
|
||||
textAlign: 'middle',
|
||||
textVerticalAlign: 'top'
|
||||
textVerticalAlign: 'top',
|
||||
mouseover: this.mouseoverText,
|
||||
mouseout: this.mouseoutText
|
||||
},
|
||||
style: this.style
|
||||
});
|
||||
@ -51,7 +57,24 @@ export default class LcControl extends Group {
|
||||
|
||||
// 设置状态
|
||||
setState(model) {}
|
||||
|
||||
createMouseEvent() {
|
||||
if (this.style.LcControl.mouseEvent) {
|
||||
this.mouseEvent = new EMouse(this);
|
||||
this.add(this.mouseEvent);
|
||||
this.mouseoverText = (e) => {
|
||||
this.mouseEvent.mouseoverText(e);
|
||||
};
|
||||
this.mouseoutText = (e) => {
|
||||
this.mouseEvent.mouseoutText(e);
|
||||
};
|
||||
this.mouseoverArc = (e) => {
|
||||
this.mouseEvent.mouseoverArc(e);
|
||||
};
|
||||
this.mouseoutArc = (e) => {
|
||||
this.mouseEvent.mouseoutArc(e);
|
||||
};
|
||||
}
|
||||
}
|
||||
getShapeTipPoint() {
|
||||
if (this.control) {
|
||||
var distance = 2;
|
||||
|
52
src/jmap/shape/LimitControl/EMouse.js
Normal file
52
src/jmap/shape/LimitControl/EMouse.js
Normal file
@ -0,0 +1,52 @@
|
||||
import Group from 'zrender/src/container/Group';
|
||||
import Text from 'zrender/src/graphic/Text';
|
||||
|
||||
export default class EMouse extends Group {
|
||||
constructor(device) {
|
||||
super();
|
||||
this.device = device;
|
||||
this.down = true;
|
||||
this._create();
|
||||
}
|
||||
_create() {
|
||||
this.text = new Text({
|
||||
_subType: 'Text',
|
||||
zlevel: this.device.zlevel,
|
||||
z: this.device.z+1,
|
||||
position: [0, 0],
|
||||
style: {
|
||||
x: this.device.model.position.x,
|
||||
y: this.device.model.position.y + this.device.style.LimitControl.lamp.radiusR + this.device.style.LimitControl.text.distance-30,
|
||||
fontWeight: this.device.style.LimitControl.mouseOverStyle.fontWeight,
|
||||
fontSize: this.device.style.LimitControl.mouseOverStyle.fontSize,
|
||||
fontFamily: this.device.style.LimitControl.mouseOverStyle.fontFormat,
|
||||
text: this.device.model.name,
|
||||
textFill: this.device.style.LimitControl.mouseOverStyle.fontColor,
|
||||
textAlign: this.device.style.LimitControl.mouseOverStyle.textAlign,
|
||||
textVerticalAlign: this.device.style.LimitControl.mouseOverStyle.textVerticalAlign
|
||||
}
|
||||
});
|
||||
this.add(this.text);
|
||||
this.hide();
|
||||
}
|
||||
mouseoverText(e) {
|
||||
this.show();
|
||||
}
|
||||
|
||||
mouseoutText(e) {
|
||||
this.hide();
|
||||
}
|
||||
|
||||
mouseoverArc(e) {
|
||||
this.device.control.setControlColor(this.device.style.LimitControl.mouseOverStyle.arcColor);
|
||||
this.device.control.setTextColor(this.device.style.LimitControl.mouseOverStyle.textColor);
|
||||
this.device.control.setTextBorder(true);
|
||||
this.device.control.setArcBorder(true);
|
||||
}
|
||||
mouseoutArc(e) {
|
||||
this.device.control.setControlColor(this.device.style.LimitControl.lamp.controlColor);
|
||||
this.device.control.setTextColor('#FFFFFF');
|
||||
this.device.control.setTextBorder(false);
|
||||
this.device.control.setArcBorder(false);
|
||||
}
|
||||
}
|
@ -3,6 +3,7 @@
|
||||
*/
|
||||
import Group from 'zrender/src/container/Group';
|
||||
import EControl from '../element/EControl';
|
||||
import EMouse from './EMouse';
|
||||
|
||||
export default class LimitControl extends Group {
|
||||
constructor(model, style) {
|
||||
@ -14,6 +15,7 @@ export default class LimitControl extends Group {
|
||||
this.model = model;
|
||||
this.style = style;
|
||||
this.z = 20;
|
||||
this.createMouseEvent();
|
||||
this._create(model);
|
||||
}
|
||||
|
||||
@ -28,7 +30,9 @@ export default class LimitControl extends Group {
|
||||
r: this.style.LimitControl.lamp.radiusR
|
||||
},
|
||||
lineWidth: 0,
|
||||
fill: this.style.LimitControl.lamp.controlColor
|
||||
fill: this.style.LimitControl.lamp.controlColor,
|
||||
mouseover: this.mouseoverArc,
|
||||
mouseout: this.mouseoutArc
|
||||
},
|
||||
text: {
|
||||
position: [0, 0],
|
||||
@ -40,7 +44,9 @@ export default class LimitControl extends Group {
|
||||
text: model.name,
|
||||
textFill: '#fff',
|
||||
textAlign: 'middle',
|
||||
textVerticalAlign: 'top'
|
||||
textVerticalAlign: 'top',
|
||||
mouseover: this.mouseoverText,
|
||||
mouseout: this.mouseoutText
|
||||
},
|
||||
style: this.style
|
||||
});
|
||||
@ -52,7 +58,24 @@ export default class LimitControl extends Group {
|
||||
// 设置状态
|
||||
setState(model) {
|
||||
}
|
||||
|
||||
createMouseEvent() {
|
||||
if (this.style.LimitControl.mouseEvent) {
|
||||
this.mouseEvent = new EMouse(this);
|
||||
this.add(this.mouseEvent);
|
||||
this.mouseoverText = (e) => {
|
||||
this.mouseEvent.mouseoverText(e);
|
||||
};
|
||||
this.mouseoutText = (e) => {
|
||||
this.mouseEvent.mouseoutText(e);
|
||||
};
|
||||
this.mouseoverArc = (e) => {
|
||||
this.mouseEvent.mouseoverArc(e);
|
||||
};
|
||||
this.mouseoutArc = (e) => {
|
||||
this.mouseEvent.mouseoutArc(e);
|
||||
};
|
||||
}
|
||||
}
|
||||
getShapeTipPoint() {
|
||||
if (this.control) {
|
||||
var distance = 2;
|
||||
|
57
src/jmap/shape/StationControl/EMouse.js
Normal file
57
src/jmap/shape/StationControl/EMouse.js
Normal file
@ -0,0 +1,57 @@
|
||||
import Group from 'zrender/src/container/Group';
|
||||
import Text from 'zrender/src/graphic/Text';
|
||||
|
||||
export default class EMouse extends Group {
|
||||
constructor(device) {
|
||||
super();
|
||||
this.device = device;
|
||||
this.down = true;
|
||||
this._create();
|
||||
}
|
||||
_create() {
|
||||
this.text = new Text({
|
||||
_subType: 'Text',
|
||||
zlevel: this.device.zlevel,
|
||||
z: this.device.z+1,
|
||||
position: [0, 0],
|
||||
style: {
|
||||
x: this.device.model.position.x - this.device.style.StationControl.stationControlDistance / 2 + this.device.style.StationControl.stationOffset.x,
|
||||
y: this.device.model.position.y + this.device.style.StationControl.stationOffset.y + this.device.style.StationControl.stationControlmodeR + this.device.style.nameDistance-30,
|
||||
fontWeight: this.device.style.StationControl.mouseOverStyle.fontWeight,
|
||||
fontSize: this.device.style.StationControl.mouseOverStyle.fontSize,
|
||||
fontFamily: this.device.style.StationControl.mouseOverStyle.fontFormat,
|
||||
text: '填充',
|
||||
textFill: this.device.style.StationControl.mouseOverStyle.fontColor,
|
||||
textAlign: this.device.style.StationControl.mouseOverStyle.textAlign,
|
||||
textVerticalAlign: this.device.style.StationControl.mouseOverStyle.textVerticalAlign
|
||||
}
|
||||
});
|
||||
this.add(this.text);
|
||||
this.hide();
|
||||
}
|
||||
setTextContext(text) {
|
||||
if (text) {
|
||||
this.text.setStyle('text', text);
|
||||
}
|
||||
}
|
||||
mouseover(e) {
|
||||
let name = '';
|
||||
switch (e.target.parent._subType) {
|
||||
case 'emergency':
|
||||
name = '紧急站控';
|
||||
break;
|
||||
case 'center':
|
||||
name = '中控';
|
||||
break;
|
||||
case 'substation':
|
||||
name = '站控';
|
||||
break;
|
||||
}
|
||||
this.setTextContext(name);
|
||||
this.show();
|
||||
}
|
||||
|
||||
mouseout(e) {
|
||||
this.hide();
|
||||
}
|
||||
}
|
@ -20,9 +20,11 @@ export default class ESingleControl extends Group {
|
||||
_subType = 'ControlButton';
|
||||
_val = '1';
|
||||
}
|
||||
var _nameType = this._subType;
|
||||
this.control = new Arc({
|
||||
pop: model.pop,
|
||||
_subType: _subType,
|
||||
_nameType: _nameType,
|
||||
_val: _val,
|
||||
zlevel: this.zlevel,
|
||||
z: this.z,
|
||||
|
@ -5,6 +5,7 @@ import Group from 'zrender/src/container/Group';
|
||||
import ESingleControl from './ESingleControl'; // 单个信号灯 (私有)
|
||||
import EArrow from './EArrow';
|
||||
import { arrows } from '../utils/ShapePoints';
|
||||
import EMouse from './EMouse';
|
||||
|
||||
/** 控制模式*/
|
||||
export default class StationControl extends Group {
|
||||
@ -16,6 +17,7 @@ export default class StationControl extends Group {
|
||||
this.zlevel = model.zlevel;
|
||||
this.model = model;
|
||||
this.style = style;
|
||||
this.createMouseEvent();
|
||||
this._create();
|
||||
this.setState(model);
|
||||
}
|
||||
@ -119,7 +121,18 @@ export default class StationControl extends Group {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
createMouseEvent() {
|
||||
if (this.style.ZcControl.mouseEvent) {
|
||||
this.mouseEvent = new EMouse(this);
|
||||
this.add(this.mouseEvent);
|
||||
this.onmouseover = (e) => {
|
||||
this.mouseEvent.mouseover(e);
|
||||
};
|
||||
this.onmouseout = (e) => {
|
||||
this.mouseEvent.mouseout(e);
|
||||
};
|
||||
}
|
||||
}
|
||||
getShapeTipPoint() {
|
||||
if (this.stationControl) {
|
||||
var distance = 2;
|
||||
|
53
src/jmap/shape/ZcControl/EMouse.js
Normal file
53
src/jmap/shape/ZcControl/EMouse.js
Normal file
@ -0,0 +1,53 @@
|
||||
import Group from 'zrender/src/container/Group';
|
||||
import Text from 'zrender/src/graphic/Text';
|
||||
|
||||
export default class EMouse extends Group {
|
||||
constructor(device) {
|
||||
super();
|
||||
this.device = device;
|
||||
console.log('device', device);
|
||||
this.down = true;
|
||||
this._create();
|
||||
}
|
||||
_create() {
|
||||
this.text = new Text({
|
||||
_subType: 'Text',
|
||||
zlevel: this.device.zlevel,
|
||||
z: this.device.z+1,
|
||||
position: [0, 0],
|
||||
style: {
|
||||
x: this.device.model.position.x,
|
||||
y: this.device.model.position.y + this.device.style.ZcControl.lamp.radiusR + this.device.style.ZcControl.text.distance-30,
|
||||
fontWeight: this.device.style.ZcControl.mouseOverStyle.fontWeight,
|
||||
fontSize: this.device.style.ZcControl.mouseOverStyle.fontSize,
|
||||
fontFamily: this.device.style.ZcControl.mouseOverStyle.fontFormat,
|
||||
text: this.device.model.name,
|
||||
textFill: this.device.style.ZcControl.mouseOverStyle.fontColor,
|
||||
textAlign: this.device.style.ZcControl.mouseOverStyle.textAlign,
|
||||
textVerticalAlign: this.device.style.ZcControl.mouseOverStyle.textVerticalAlign
|
||||
}
|
||||
});
|
||||
this.add(this.text);
|
||||
this.hide();
|
||||
}
|
||||
mouseoverText(e) {
|
||||
this.show();
|
||||
}
|
||||
|
||||
mouseoutText(e) {
|
||||
this.hide();
|
||||
}
|
||||
|
||||
mouseoverArc(e) {
|
||||
this.device.control.setControlColor(this.device.style.ZcControl.mouseOverStyle.arcColor);
|
||||
this.device.control.setTextColor(this.device.style.ZcControl.mouseOverStyle.textColor);
|
||||
this.device.control.setTextBorder(true);
|
||||
this.device.control.setArcBorder(true);
|
||||
}
|
||||
mouseoutArc(e) {
|
||||
this.device.control.setControlColor(this.device.style.ZcControl.lamp.controlColor);
|
||||
this.device.control.setTextColor('#FFFFFF');
|
||||
this.device.control.setTextBorder(false);
|
||||
this.device.control.setArcBorder(false);
|
||||
}
|
||||
}
|
@ -3,6 +3,7 @@
|
||||
*/
|
||||
import Group from 'zrender/src/container/Group';
|
||||
import EControl from '../element/EControl';
|
||||
import EMouse from './EMouse';
|
||||
|
||||
export default class ZcControl extends Group {
|
||||
constructor(model, style) {
|
||||
@ -13,8 +14,10 @@ export default class ZcControl extends Group {
|
||||
this.zlevel = model.zlevel;
|
||||
this.model = model;
|
||||
this.style = style;
|
||||
this.createMouseEvent();
|
||||
this._create(model);
|
||||
this.setState(model);
|
||||
|
||||
}
|
||||
|
||||
_create(model) {
|
||||
@ -28,7 +31,9 @@ export default class ZcControl extends Group {
|
||||
r: this.style.ZcControl.lamp.radiusR
|
||||
},
|
||||
lineWidth: 0,
|
||||
fill: this.style.ZcControl.lamp.controlColor
|
||||
fill: this.style.ZcControl.lamp.controlColor,
|
||||
mouseover: this.mouseoverArc,
|
||||
mouseout: this.mouseoutArc
|
||||
},
|
||||
text: {
|
||||
position: [0, 0],
|
||||
@ -40,7 +45,9 @@ export default class ZcControl extends Group {
|
||||
text: model.name,
|
||||
textFill: '#fff',
|
||||
textAlign: 'middle',
|
||||
textVerticalAlign: 'top'
|
||||
textVerticalAlign: 'top',
|
||||
mouseover: this.mouseoverText,
|
||||
mouseout: this.mouseoutText
|
||||
},
|
||||
style: this.style
|
||||
});
|
||||
@ -52,7 +59,24 @@ export default class ZcControl extends Group {
|
||||
setState(model) {
|
||||
|
||||
}
|
||||
|
||||
createMouseEvent() {
|
||||
if (this.style.ZcControl.mouseEvent) {
|
||||
this.mouseEvent = new EMouse(this);
|
||||
this.add(this.mouseEvent);
|
||||
this.mouseoverText = (e) => {
|
||||
this.mouseEvent.mouseoverText(e);
|
||||
};
|
||||
this.mouseoutText = (e) => {
|
||||
this.mouseEvent.mouseoutText(e);
|
||||
};
|
||||
this.mouseoverArc = (e) => {
|
||||
this.mouseEvent.mouseoverArc(e);
|
||||
};
|
||||
this.mouseoutArc = (e) => {
|
||||
this.mouseEvent.mouseoutArc(e);
|
||||
};
|
||||
}
|
||||
}
|
||||
getShapeTipPoint() {
|
||||
if (this.control) {
|
||||
var distance = 2;
|
||||
|
@ -1,6 +1,8 @@
|
||||
import Group from 'zrender/src/container/Group';
|
||||
import Arc from 'zrender/src/graphic/shape/Arc';
|
||||
import Text from 'zrender/src/graphic/Text';
|
||||
import { createBoundingRect } from '../../utils/parser';
|
||||
import Rect from 'zrender/src/graphic/shape/Rect';
|
||||
|
||||
/** lc zc limit 单灯元素*/
|
||||
export default class EControl extends Group {
|
||||
@ -24,7 +26,9 @@ export default class EControl extends Group {
|
||||
style: {
|
||||
lineWidth: this.arcStyle.lineWidth,
|
||||
fill: this.arcStyle.fill
|
||||
}
|
||||
},
|
||||
onmouseover: this.arcStyle.mouseover,
|
||||
onmouseout: this.arcStyle.mouseout
|
||||
});
|
||||
|
||||
this.text = new Text({
|
||||
@ -42,22 +46,61 @@ export default class EControl extends Group {
|
||||
textFill: this.textStyle.textFill,
|
||||
textAlign: this.textStyle.textAlign,
|
||||
textVerticalAlign: this.textStyle.textVerticalAlign
|
||||
},
|
||||
onmouseover: this.textStyle.mouseover,
|
||||
onmouseout: this.textStyle.mouseout
|
||||
});
|
||||
const arcRect = this.getArcBoundingRect();
|
||||
const textRect = this.getTextBoundingRect();
|
||||
this.arcBorder = new Rect({
|
||||
zlevel: this.zlevel,
|
||||
z: this.z,
|
||||
silent: true,
|
||||
shape: arcRect,
|
||||
style: {
|
||||
lineDash: this.style.arcBorderStyle.lineDash,
|
||||
stroke: this.style.arcBorderStyle.stroke,
|
||||
fill: this.style.arcBorderStyle.fill
|
||||
}
|
||||
});
|
||||
this.textBorder = new Rect({
|
||||
zlevel: this.zlevel,
|
||||
z: this.z-1,
|
||||
silent: true,
|
||||
shape: textRect,
|
||||
style: {
|
||||
lineDash: this.style.textBorderStyle.lineDash,
|
||||
stroke: this.style.textBorderStyle.stroke,
|
||||
fill: this.style.textBorderStyle.fill
|
||||
}
|
||||
});
|
||||
|
||||
this.add(this.control);
|
||||
this.add(this.text);
|
||||
this.add(this.textBorder);
|
||||
this.add(this.arcBorder);
|
||||
this.textBorder.hide();
|
||||
this.arcBorder.hide();
|
||||
}
|
||||
setTextBorder(flag) {
|
||||
flag?this.textBorder.show():this.textBorder.hide();
|
||||
}
|
||||
setArcBorder(flag) {
|
||||
flag?this.arcBorder.show():this.arcBorder.hide();
|
||||
}
|
||||
getTextBoundingRect() {
|
||||
return createBoundingRect(this.text);
|
||||
}
|
||||
getArcBoundingRect() {
|
||||
return createBoundingRect(this.control);
|
||||
}
|
||||
|
||||
setControlColor(color) {
|
||||
if (color) {
|
||||
this.control.setStyle('fill', color);
|
||||
}
|
||||
}
|
||||
|
||||
setTextColor(color) {
|
||||
if (color) {
|
||||
this.text.setStyle('fill', color);
|
||||
this.text.setStyle('textFill', color);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -7,73 +7,81 @@ const TokenScreenKey = 'Screen-Token';
|
||||
|
||||
const TokenPlanKey = 'Plan-Token';
|
||||
|
||||
|
||||
// 设置教学,实训,仿真系统token
|
||||
export function getToken() {
|
||||
return SessionStorage.getItem(TokenKey);
|
||||
return SessionStorage.getItem(TokenKey);
|
||||
}
|
||||
export function setToken(token) {
|
||||
return SessionStorage.setItem(TokenKey, token);
|
||||
return SessionStorage.setItem(TokenKey, token);
|
||||
}
|
||||
export function removeToken() {
|
||||
return SessionStorage.removeItem(TokenKey);
|
||||
return SessionStorage.removeItem(TokenKey);
|
||||
}
|
||||
// 设置大屏token
|
||||
export function getScreenToken() {
|
||||
return SessionStorage.getItem(TokenScreenKey);
|
||||
return SessionStorage.getItem(TokenScreenKey);
|
||||
}
|
||||
export function setScreenToken(token) {
|
||||
return SessionStorage.setItem(TokenScreenKey, token);
|
||||
return SessionStorage.setItem(TokenScreenKey, token);
|
||||
}
|
||||
export function removeScreenToken() {
|
||||
return SessionStorage.removeItem(TokenScreenKey);
|
||||
return SessionStorage.removeItem(TokenScreenKey);
|
||||
}
|
||||
|
||||
// 设置琏计划token
|
||||
export function getPlanToken() {
|
||||
return SessionStorage.getItem(TokenPlanKey);
|
||||
return SessionStorage.getItem(TokenPlanKey);
|
||||
}
|
||||
export function setPlanToken(token) {
|
||||
return SessionStorage.setItem(TokenPlanKey, token);
|
||||
return SessionStorage.setItem(TokenPlanKey, token);
|
||||
}
|
||||
export function removePlanToken() {
|
||||
return SessionStorage.removeItem(TokenPlanKey);
|
||||
return SessionStorage.removeItem(TokenPlanKey);
|
||||
}
|
||||
// 操作sessionStorage
|
||||
export function getSessionStorage(key) {
|
||||
return SessionStorage.getItem(key);
|
||||
}
|
||||
export function setSessionStorage(key, value) {
|
||||
return SessionStorage.setItem(key, value);
|
||||
}
|
||||
export function removeSessionStorage(key) {
|
||||
return SessionStorage.removeItem(key);
|
||||
}
|
||||
|
||||
// 根据路径判断获取token
|
||||
export function handleToken() {
|
||||
let path = window.location.href;
|
||||
if (path.includes('/dp/') || path.includes('/display/dp')) {
|
||||
return getScreenToken();
|
||||
} else if (path.includes('/plan') || path.includes('/display/plan')) {
|
||||
return getPlanToken();
|
||||
} else {
|
||||
return getToken();
|
||||
}
|
||||
const path = window.location.href;
|
||||
if (path.includes('/dp/') || path.includes('/display/dp')) {
|
||||
return getScreenToken();
|
||||
} else if (path.includes('/plan') || path.includes('/display/plan')) {
|
||||
return getPlanToken();
|
||||
} else {
|
||||
return getToken();
|
||||
}
|
||||
}
|
||||
|
||||
// 根据路径清除token
|
||||
export function handleRemoveToken() {
|
||||
let path = window.location.href;
|
||||
if (path.includes('/dp/') || path.includes('/display/dp')) {
|
||||
return removeScreenToken();
|
||||
} else if (path.includes('/plan') || path.includes('/display/plan')) {
|
||||
return removePlanToken();
|
||||
} else {
|
||||
return removeToken();
|
||||
}
|
||||
const path = window.location.href;
|
||||
if (path.includes('/dp/') || path.includes('/display/dp')) {
|
||||
return removeScreenToken();
|
||||
} else if (path.includes('/plan') || path.includes('/display/plan')) {
|
||||
return removePlanToken();
|
||||
} else {
|
||||
return removeToken();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 根据route路径判断系统类型
|
||||
export function gainClientId() {
|
||||
let path = window.location.href;
|
||||
let clientId = null;
|
||||
if (path.includes('/dp/') || path.includes('/display/dp')) {
|
||||
clientId = LoginParams.DaPing.clientId;
|
||||
} else if (path.includes('/plan') || path.includes('/display/plan')) {
|
||||
clientId = LoginParams.LianJiHua.clientId;
|
||||
}
|
||||
const path = window.location.href;
|
||||
let clientId = null;
|
||||
if (path.includes('/dp/') || path.includes('/display/dp')) {
|
||||
clientId = LoginParams.DaPing.clientId;
|
||||
} else if (path.includes('/plan') || path.includes('/display/plan')) {
|
||||
clientId = LoginParams.LianJiHua.clientId;
|
||||
}
|
||||
|
||||
return clientId;
|
||||
return clientId;
|
||||
}
|
||||
|
@ -20,7 +20,6 @@
|
||||
import { listMap } from '@/api/jmap/mapdraft';
|
||||
import { listPublishMap } from '@/api/jmap/map';
|
||||
import { getPublishMapTree } from '@/api/management/mapprd';
|
||||
|
||||
import localStore from 'storejs';
|
||||
|
||||
export default {
|
||||
@ -173,6 +172,7 @@
|
||||
}
|
||||
},
|
||||
filterSelectChange(filterSelect) {
|
||||
this.$emit('changeFilter', filterSelect);
|
||||
if (this.isCascader) {
|
||||
// 设置二级联动组件
|
||||
localStore.set('cityCode', filterSelect[0]);
|
||||
@ -218,4 +218,4 @@
|
||||
.filter .el-cascader {
|
||||
width: calc(100%);
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
@ -4,13 +4,13 @@
|
||||
<span>地图列表</span>
|
||||
<div class="back-home" v-if="role" @click="backHome">返回首页</div>
|
||||
</div>
|
||||
<filter-city ref="filerCity" @filterSelectChange="refresh" filterEmpty :queryFunction="queryFunction">
|
||||
<filter-city ref="filerCity" @filterSelectChange="refresh" @changeFilter="clearMapSelect" filterEmpty :queryFunction="queryFunction">
|
||||
</filter-city>
|
||||
<el-input placeholder="输入关键字进行过滤" v-model="filterText" clearable> </el-input>
|
||||
<el-scrollbar wrapClass="scrollbar-wrapper" :style="{ height: (height-125) +'px' }">
|
||||
<el-tree ref="tree" :data="treeList" node-key="id" highlight-current
|
||||
:default-expanded-keys="defaultShowKeys" :props="defaultProps" @node-click="clickEvent"
|
||||
@node-contextmenu="showContextMenu" :span=22 :filter-node-method="filterNode">
|
||||
<el-tree ref="tree" :data="treeList" node-key="id" :props="defaultProps" highlight-current
|
||||
@node-click="clickEvent"
|
||||
@node-contextmenu="showContextMenu" :span=22 :filter-node-method="filterNode">
|
||||
<span slot-scope="{ node, data }">
|
||||
<span class="el-icon-tickets"
|
||||
:style="{color: data.valid ? 'green':''}"> {{ node.label }}</span>
|
||||
@ -23,6 +23,7 @@
|
||||
import { getPublishMapTree } from '@/api/management/mapprd';
|
||||
import { UrlConfig } from '@/router/index';
|
||||
import FilterCity from '@/views/components/filterCity';
|
||||
import { getSessionStorage, setSessionStorage, removeSessionStorage } from '@/utils/auth';
|
||||
|
||||
export default {
|
||||
name: 'ExamDetailList',
|
||||
@ -81,6 +82,7 @@
|
||||
},
|
||||
clickEvent(obj, data, ele) {
|
||||
if (obj.type == 'map') {
|
||||
setSessionStorage('demonList',obj.id);
|
||||
this.$router.push({ path: `${UrlConfig.demonstration.detail}/${obj.id}` });
|
||||
}
|
||||
},
|
||||
@ -103,16 +105,18 @@
|
||||
}
|
||||
|
||||
this.$nextTick(() => {
|
||||
let mapId = (this.treeList[0] || { id: 0 }).id;
|
||||
let mapId = getSessionStorage('demonList') || this.treeList[0].id;
|
||||
this.$router.push({ path: `${UrlConfig.demonstration.detail}/${mapId}` });
|
||||
this.$refs.tree.setCurrentKey(mapId);
|
||||
this.loading = false;
|
||||
})
|
||||
|
||||
});
|
||||
} catch (error) {
|
||||
this.loading = false;
|
||||
this.$messageBox('刷新失败');
|
||||
}
|
||||
},
|
||||
clearMapSelect() {
|
||||
removeSessionStorage('demonList');
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -135,4 +139,4 @@
|
||||
.el-tree-node.is-current>.el-tree-node__content {
|
||||
background-color: #e4e3e3 !important;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
Loading…
Reference in New Issue
Block a user