Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/jl-client into test
This commit is contained in:
commit
66587a17fb
BIN
src/assets/icon/favicon_hls.png
Normal file
BIN
src/assets/icon/favicon_hls.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 309 KiB |
BIN
src/assets/icon/link_hls.png
Normal file
BIN
src/assets/icon/link_hls.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 45 KiB |
@ -76,6 +76,7 @@ export default {
|
|||||||
temporaryLimit: 'temporary speed restriction',
|
temporaryLimit: 'temporary speed restriction',
|
||||||
lcControl: 'Lc control',
|
lcControl: 'Lc control',
|
||||||
image: 'image',
|
image: 'image',
|
||||||
|
floodGate: 'flood gate',
|
||||||
station: 'station',
|
station: 'station',
|
||||||
controlMode: 'control mode',
|
controlMode: 'control mode',
|
||||||
platform: 'platform',
|
platform: 'platform',
|
||||||
|
@ -53,6 +53,7 @@ export default {
|
|||||||
lcControl: 'Lc控制',
|
lcControl: 'Lc控制',
|
||||||
buttonControl: '按钮',
|
buttonControl: '按钮',
|
||||||
image: '图片',
|
image: '图片',
|
||||||
|
floodGate: '防淹门',
|
||||||
station: '车站',
|
station: '车站',
|
||||||
controlMode: '控制模式',
|
controlMode: '控制模式',
|
||||||
platform: '站台',
|
platform: '站台',
|
||||||
|
@ -732,6 +732,7 @@ class SkinCode extends defaultStyle {
|
|||||||
defaultServerNoColor: '#FFFFFF' // 默认服务号状态显示颜色
|
defaultServerNoColor: '#FFFFFF' // 默认服务号状态显示颜色
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
this[deviceType.FloodGate] = {};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -658,6 +658,7 @@ class SkinCode extends defaultStyle {
|
|||||||
] // 设置通信状态 cbtc级别CBTC 点式通信ITC 联锁级IL
|
] // 设置通信状态 cbtc级别CBTC 点式通信ITC 联锁级IL
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
this[deviceType.FloodGate] = {};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -842,6 +842,7 @@ class SkinCode extends defaultStyle {
|
|||||||
] // 设置通信状态 cbtc级别CBTC 点式通信ITC 联锁级IL
|
] // 设置通信状态 cbtc级别CBTC 点式通信ITC 联锁级IL
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
this[deviceType.FloodGate] = {};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -409,7 +409,7 @@ class SkinCode extends defaultStyle {
|
|||||||
|
|
||||||
// 延续保护计时
|
// 延续保护计时
|
||||||
this[deviceType.OverAp] = {
|
this[deviceType.OverAp] = {
|
||||||
show: false
|
show: true
|
||||||
};
|
};
|
||||||
|
|
||||||
this[deviceType.Switch] = {
|
this[deviceType.Switch] = {
|
||||||
@ -686,6 +686,7 @@ class SkinCode extends defaultStyle {
|
|||||||
serverNoType: []// 服务号状态类型 eg:{type: '01', showColor: '#FFFFFF'}
|
serverNoType: []// 服务号状态类型 eg:{type: '01', showColor: '#FFFFFF'}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
this[deviceType.FloodGate] = {};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -690,6 +690,7 @@ class SkinCode extends defaultStyle {
|
|||||||
serverNoType: []// 服务号状态类型 eg:{type: '01', showColor: '#FFFFFF'}
|
serverNoType: []// 服务号状态类型 eg:{type: '01', showColor: '#FFFFFF'}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
this[deviceType.FloodGate] = {};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -421,7 +421,7 @@ class SkinCode extends defaultStyle {
|
|||||||
};
|
};
|
||||||
// 延续保护计时
|
// 延续保护计时
|
||||||
this[deviceType.OverAp] = {
|
this[deviceType.OverAp] = {
|
||||||
show: true
|
show: false
|
||||||
};
|
};
|
||||||
|
|
||||||
this[deviceType.Switch] = {
|
this[deviceType.Switch] = {
|
||||||
@ -748,6 +748,7 @@ class SkinCode extends defaultStyle {
|
|||||||
serverNoType: []// 服务号状态类型 eg:{type: '01', showColor: '#FFFFFF'}
|
serverNoType: []// 服务号状态类型 eg:{type: '01', showColor: '#FFFFFF'}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
this[deviceType.FloodGate] = {};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -756,6 +756,7 @@ class SkinCode extends defaultStyle {
|
|||||||
] // 设置通信状态 cbtc级别CBTC 点式通信ITC 联锁级IL
|
] // 设置通信状态 cbtc级别CBTC 点式通信ITC 联锁级IL
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
this[deviceType.FloodGate] = {};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,7 +133,11 @@ class SkinCode extends defaultStyle {
|
|||||||
blockGlint: true // 区段封锁闪烁显示
|
blockGlint: true // 区段封锁闪烁显示
|
||||||
},
|
},
|
||||||
trainPosition:{
|
trainPosition:{
|
||||||
display: false // 列车实时位置显示
|
display: true, // 列车实时位置显示
|
||||||
|
specialShow: true, // 列车特殊显示
|
||||||
|
specialBackground: 'rgba(36, 219, 219, 0.8)',
|
||||||
|
specialRectWidth: 14,
|
||||||
|
stopTrainRectWidth: 7
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -219,7 +223,11 @@ class SkinCode extends defaultStyle {
|
|||||||
text: {
|
text: {
|
||||||
fontSize: 11, // 字体大小
|
fontSize: 11, // 字体大小
|
||||||
fontWeight: 'normal', // 字体粗细
|
fontWeight: 'normal', // 字体粗细
|
||||||
distance: 5 // 灯跟文字距离
|
distance: 5, // 灯跟文字距离
|
||||||
|
borderShow: true,
|
||||||
|
borderColor: '#000',
|
||||||
|
textPadding: [3, 20],
|
||||||
|
textBorderWidth: 2
|
||||||
},
|
},
|
||||||
lamp: {
|
lamp: {
|
||||||
radiusR: 6, // 控制灯大小
|
radiusR: 6, // 控制灯大小
|
||||||
@ -354,10 +362,11 @@ class SkinCode extends defaultStyle {
|
|||||||
lineWidth: 3, // 站台线宽
|
lineWidth: 3, // 站台线宽
|
||||||
spareColor: '#0080C0', // 站台空闲颜色
|
spareColor: '#0080C0', // 站台空闲颜色
|
||||||
spareStrokeColor: '#000000', // 站台空闲描边颜色
|
spareStrokeColor: '#000000', // 站台空闲描边颜色
|
||||||
openStrokeColor: '#00FF00', // 站台开门描边颜色
|
doorOpenColor:'#00FF00', // 车门开启状态颜色
|
||||||
stopColor: 'yellow', // 站台列车停站颜色
|
stopColor: 'yellow', // 站台列车停站颜色
|
||||||
jumpStopColor: '#6260f3', // 站台跳停颜色
|
jumpStopColor: '#C00000', // 站台跳停颜色
|
||||||
designatedJumpStopColor: 'lightSkyBlue' // 站台指定列车跳停颜色
|
designatedJumpStopColor: 'lightSkyBlue', // 站台指定列车跳停颜色
|
||||||
|
virtualColor: '#585858' // 虚拟站台颜色
|
||||||
},
|
},
|
||||||
standEmergent: { // 紧急关闭
|
standEmergent: { // 紧急关闭
|
||||||
mergentR: 4, // 站台紧急关闭半径
|
mergentR: 4, // 站台紧急关闭半径
|
||||||
@ -371,11 +380,12 @@ class SkinCode extends defaultStyle {
|
|||||||
position: 1, // 扣车标识在站台上显示方向
|
position: 1, // 扣车标识在站台上显示方向
|
||||||
text: 'H', // 扣车显示内容
|
text: 'H', // 扣车显示内容
|
||||||
offset: { x: -8, y: 10 }, // 扣车偏移量
|
offset: { x: -8, y: 10 }, // 扣车偏移量
|
||||||
centerTrainColor: 'white', // 中心扣车颜色
|
centerTrainColor: '#00FF00', // 中心扣车颜色
|
||||||
andCenterTrainColor: 'red', // 车站+中心扣车颜色
|
andCenterTrainColor: '#00FF00', // 车站+中心扣车颜色
|
||||||
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
|
detainTrainTextColor: '#FFFF00', // 车站扣除文字颜色
|
||||||
fontSize: 10,
|
fontSize: 10,
|
||||||
fontWeight: 'normal'
|
fontWeight: 'normal',
|
||||||
|
specialShape: 'rect' // 扣车标志形状
|
||||||
},
|
},
|
||||||
stopTime: { // 停站时间
|
stopTime: { // 停站时间
|
||||||
offset: { x: -8, y: 4 }, // 运行时间偏移量
|
offset: { x: -8, y: 4 }, // 运行时间偏移量
|
||||||
@ -614,12 +624,12 @@ class SkinCode extends defaultStyle {
|
|||||||
], // 特殊列车类型需设置显示格式
|
], // 特殊列车类型需设置显示格式
|
||||||
lrPadding: 4, // 两边间隔
|
lrPadding: 4, // 两边间隔
|
||||||
upPadding: 4, // 上边距离
|
upPadding: 4, // 上边距离
|
||||||
trainSidelineColor: '#ABFE9B',
|
trainSidelineColor: 'rgba(0,0,0,0)',
|
||||||
trainBodyFillColor: '#A388B1', // 列车车身填充颜色
|
trainBodyFillColor: 'rgba(0,0,0,0)', // 列车车身填充颜色
|
||||||
trainNameFormat: 'serviceNumber:tripNumber:targetCode'// 列车显示格式
|
trainNameFormat: 'serviceNumber:tripNumber:targetCode'// 列车显示格式
|
||||||
},
|
},
|
||||||
directionArrow: {
|
directionArrow: {
|
||||||
hasArrow: true,
|
hasArrow: false,
|
||||||
width: 6,
|
width: 6,
|
||||||
radiusR: 4,
|
radiusR: 4,
|
||||||
fillColor: '#00FF00',
|
fillColor: '#00FF00',
|
||||||
@ -638,6 +648,8 @@ class SkinCode extends defaultStyle {
|
|||||||
trainNumber: {
|
trainNumber: {
|
||||||
targetCodePrefix: '00', // 目的地码前缀
|
targetCodePrefix: '00', // 目的地码前缀
|
||||||
defaultTargetCode: 'DD', // 默认目的地码
|
defaultTargetCode: 'DD', // 默认目的地码
|
||||||
|
fontColor: '#000',
|
||||||
|
fontSize: 10,
|
||||||
trainTargetTextAlign: 'left', // 目的地码文字显示位置
|
trainTargetTextAlign: 'left', // 目的地码文字显示位置
|
||||||
trainNumberOffset: { x: 36, y: 4 }, // 目的地码偏移量
|
trainNumberOffset: { x: 36, y: 4 }, // 目的地码偏移量
|
||||||
headTypeColor: '#1CBAFD', // 头码车目的地号显示颜色
|
headTypeColor: '#1CBAFD', // 头码车目的地号显示颜色
|
||||||
@ -645,12 +657,16 @@ class SkinCode extends defaultStyle {
|
|||||||
},
|
},
|
||||||
trainServer: {
|
trainServer: {
|
||||||
serviceNumberPrefix: '000', // 服务号(表号)前缀
|
serviceNumberPrefix: '000', // 服务号(表号)前缀
|
||||||
|
fontColor: '#000',
|
||||||
|
fontSize: 10,
|
||||||
defaultServiceNumber: 'TTT', // 默认服务号(表号)
|
defaultServiceNumber: 'TTT', // 默认服务号(表号)
|
||||||
defaultServerNoColor: '#FFFFFF', // 默认服务号状态显示颜色
|
defaultServerNoColor: '#000', // 默认服务号状态显示颜色
|
||||||
trainServerOffset: { x: 4, y: 4 } // 列车服务号偏移
|
trainServerOffset: { x: 4, y: 4 } // 列车服务号偏移
|
||||||
},
|
},
|
||||||
trainTarget: {
|
trainTarget: {
|
||||||
tripNumberPrefix: '00', // 车次号前缀
|
tripNumberPrefix: '00', // 车次号前缀
|
||||||
|
fontColor: '#000',
|
||||||
|
fontSize: 10,
|
||||||
defaultTripNumber: 'DD', // 默认车次号2
|
defaultTripNumber: 'DD', // 默认车次号2
|
||||||
trainTargetOffset: { x: 24, y: 4 }, // 列车车次号偏移
|
trainTargetOffset: { x: 24, y: 4 }, // 列车车次号偏移
|
||||||
trainTargetTextAlign: 'right' // 车次号文字显示位置
|
trainTargetTextAlign: 'right' // 车次号文字显示位置
|
||||||
@ -664,13 +680,13 @@ class SkinCode extends defaultStyle {
|
|||||||
maskText: '0' // 车组号遮罩
|
maskText: '0' // 车组号遮罩
|
||||||
},
|
},
|
||||||
trainHead: {
|
trainHead: {
|
||||||
trainConntWidth: 2, // 列车竖杠的宽度
|
trainConntWidth: 0, // 列车竖杠的宽度
|
||||||
trainHeadFillColor: '#000000', // 列车车头矩形填充颜色
|
trainHeadFillColor: '#000000', // 列车车头矩形填充颜色
|
||||||
trainHeadRectHeight: 20, // 列车车头矩形高度
|
trainHeadRectHeight: 20, // 列车车头矩形高度
|
||||||
directionStopType:'normal', // special 西安二号线 停车 列车方向图标不消失 normal 正常
|
directionStopType:'normal', // special 西安二号线 停车 列车方向图标不消失 normal 正常
|
||||||
trainHeadHeight: 'trainBox', // 列车车头高度取决于trainBox高度
|
trainHeadHeight: 'trainBox', // 列车车头高度取决于trainBox高度
|
||||||
trainHeadArrowWidth: 5, // 列车车头三角宽度
|
trainHeadArrowWidth: 0, // 列车车头三角宽度
|
||||||
trainHeadArrowOffsetX: 4 // 列车车头三角偏移
|
trainHeadArrowOffsetX: 0 // 列车车头三角偏移
|
||||||
},
|
},
|
||||||
common: {
|
common: {
|
||||||
trainHeight: 20, // 列车高度
|
trainHeight: 20, // 列车高度
|
||||||
@ -678,7 +694,7 @@ class SkinCode extends defaultStyle {
|
|||||||
trainWidth: 70, // 列车长度
|
trainWidth: 70, // 列车长度
|
||||||
trainTextFontSize: 16, // 列车字号
|
trainTextFontSize: 16, // 列车字号
|
||||||
fontFamily: 'consolas', // 默认字体 族类
|
fontFamily: 'consolas', // 默认字体 族类
|
||||||
haveTextHSDA: true, // 是否需创建textHSDA对象
|
haveTextHSDA: false, // 是否需创建textHSDA对象
|
||||||
haveArrowText: true, // 是否需创建arrowText对象
|
haveArrowText: true, // 是否需创建arrowText对象
|
||||||
textOffset: 4, // 字体偏移(用以控制字体据车头的距离)
|
textOffset: 4, // 字体偏移(用以控制字体据车头的距离)
|
||||||
trainWidthMoreText: 8, // 计算列车长度时--列车长比text多出尺寸
|
trainWidthMoreText: 8, // 计算列车长度时--列车长比text多出尺寸
|
||||||
@ -687,7 +703,7 @@ class SkinCode extends defaultStyle {
|
|||||||
trainTip:false // 鼠标悬停列车状态信息框是否显示
|
trainTip:false // 鼠标悬停列车状态信息框是否显示
|
||||||
},
|
},
|
||||||
mouseOverStyle:{
|
mouseOverStyle:{
|
||||||
borderLineColor: '#FFFFFF',
|
borderLineColor: 'rgba(0,0,0,0)',
|
||||||
borderLineDash: [3, 3],
|
borderLineDash: [3, 3],
|
||||||
leftOffset:30,
|
leftOffset:30,
|
||||||
rightOffset:30
|
rightOffset:30
|
||||||
@ -779,6 +795,15 @@ class SkinCode extends defaultStyle {
|
|||||||
] // 设置通信状态 cbtc级别CBTC 点式通信ITC 联锁级IL
|
] // 设置通信状态 cbtc级别CBTC 点式通信ITC 联锁级IL
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
this[deviceType.FloodGate] = {
|
||||||
|
displayCondition: '01', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示)
|
||||||
|
lineWidth: 2, // 防淹门描边宽度
|
||||||
|
spareStrokeColor: '#000', // 打开并锁闭-非打开并锁闭描边颜色
|
||||||
|
spareFillColor: 'rgba(0, 0, 0, 0)', // 打开并锁闭填充颜色
|
||||||
|
closeFillColor: '#C10000', // 非打开并锁闭填充颜色
|
||||||
|
allowCloseFillColor: '#FF0000', // 允许关门填充颜色
|
||||||
|
allowCLoseStrokeColor: '#FFFF00' // 允许关门描边颜色
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -748,6 +748,7 @@ class SkinCode extends defaultStyle {
|
|||||||
serverNoType: []// 服务号状态类型 eg:{type: '01', showColor: '#FFFFFF'}
|
serverNoType: []// 服务号状态类型 eg:{type: '01', showColor: '#FFFFFF'}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
this[deviceType.FloodGate] = {};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -288,7 +288,7 @@ class SkinCode extends defaultStyle {
|
|||||||
fontWeight: 'normal',
|
fontWeight: 'normal',
|
||||||
circleWidth:14, // 西安二号线特殊样式 圆圈的宽度
|
circleWidth:14, // 西安二号线特殊样式 圆圈的宽度
|
||||||
defaultColor:'#808080', // 默认颜色
|
defaultColor:'#808080', // 默认颜色
|
||||||
special:true // 西安二号线特殊样式
|
specialShape: 'circle' // 西安二号线特殊样式
|
||||||
},
|
},
|
||||||
stopTime: { // 停站时间
|
stopTime: { // 停站时间
|
||||||
position: 1, // 停站时间方向
|
position: 1, // 停站时间方向
|
||||||
@ -828,6 +828,7 @@ class SkinCode extends defaultStyle {
|
|||||||
] // 设置通信状态 cbtc级别CBTC 点式通信ITC 联锁级IL
|
] // 设置通信状态 cbtc级别CBTC 点式通信ITC 联锁级IL
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
this[deviceType.FloodGate] = {};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -260,4 +260,8 @@ deviceRender[deviceType.OverAp] = {
|
|||||||
_type: deviceType.OverAp,
|
_type: deviceType.OverAp,
|
||||||
zlevel: 1
|
zlevel: 1
|
||||||
};
|
};
|
||||||
|
deviceRender[deviceType.FloodGate] = {
|
||||||
|
_type: deviceType.FloodGate,
|
||||||
|
zlevel: 1
|
||||||
|
};
|
||||||
export default deviceRender;
|
export default deviceRender;
|
||||||
|
@ -136,7 +136,9 @@ deviceState[deviceType.StationStand] = {
|
|||||||
/** 是否故障*/
|
/** 是否故障*/
|
||||||
fault: 0 /** 非故障*/
|
fault: 0 /** 非故障*/
|
||||||
};
|
};
|
||||||
|
deviceState[deviceType.FloodGate] = {
|
||||||
|
/** 防淹门状态 */
|
||||||
|
};
|
||||||
deviceState[deviceType.Train] = {
|
deviceState[deviceType.Train] = {
|
||||||
// /** 列车类型*/
|
// /** 列车类型*/
|
||||||
// type: {
|
// type: {
|
||||||
|
@ -45,7 +45,8 @@ const deviceType = {
|
|||||||
Arrow: 'Arrow',
|
Arrow: 'Arrow',
|
||||||
Power: 'Power',
|
Power: 'Power',
|
||||||
StationTurnBack: 'StationTurnBack',
|
StationTurnBack: 'StationTurnBack',
|
||||||
OverAp: 'OverAp'
|
OverAp: 'OverAp',
|
||||||
|
FloodGate: 'FloodGate'
|
||||||
};
|
};
|
||||||
|
|
||||||
export default deviceType;
|
export default deviceType;
|
||||||
|
@ -121,6 +121,9 @@ class Status {
|
|||||||
handleStationTurnBack(device) {
|
handleStationTurnBack(device) {
|
||||||
this.statusObj = { };
|
this.statusObj = { };
|
||||||
}
|
}
|
||||||
|
handleFloodGate(device) {
|
||||||
|
this.statusObj = { };
|
||||||
|
}
|
||||||
getStatus() {
|
getStatus() {
|
||||||
return this.statusObj;
|
return this.statusObj;
|
||||||
}
|
}
|
||||||
|
@ -164,7 +164,6 @@ class MouseController extends Eventful {
|
|||||||
|
|
||||||
click(e) {
|
click(e) {
|
||||||
var em = this.checkEvent(e);
|
var em = this.checkEvent(e);
|
||||||
// console.log(e, em, '====');
|
|
||||||
this.trigger(this.events.Selected, em);
|
this.trigger(this.events.Selected, em);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
84
src/jmapNew/shape/FloodGate/index.js
Normal file
84
src/jmapNew/shape/FloodGate/index.js
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
/*
|
||||||
|
* 防淹门
|
||||||
|
*/
|
||||||
|
import Group from 'zrender/src/container/Group';
|
||||||
|
import Rect from 'zrender/src/graphic/shape/Rect';
|
||||||
|
import {isShowThePrdType} from '../../utils/handlePath';
|
||||||
|
|
||||||
|
export default class FloodGate extends Group {
|
||||||
|
constructor(model, style) {
|
||||||
|
super();
|
||||||
|
this.z = 20;
|
||||||
|
this._code = model.code;
|
||||||
|
this._type = model._type;
|
||||||
|
this.zlevel = model.zlevel;
|
||||||
|
this.z = model.z;
|
||||||
|
this.model = model;
|
||||||
|
this.style = style;
|
||||||
|
this.isShowShape = true;
|
||||||
|
if (isShowThePrdType(model.prdType, style.FloodGate.displayCondition) || model.previewOrMapDraw) {
|
||||||
|
this.create();
|
||||||
|
this.createMouseEvent();
|
||||||
|
this.setState(model);
|
||||||
|
}
|
||||||
|
if (model.previewOrMapDraw) {
|
||||||
|
this.setShowMode();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
create() {
|
||||||
|
this.floodGate = new Rect({
|
||||||
|
zlevel: this.zlevel,
|
||||||
|
z: this.z,
|
||||||
|
shape: {
|
||||||
|
x: this.model.position.x,
|
||||||
|
y: this.model.position.y,
|
||||||
|
width: this.model.width,
|
||||||
|
height: this.model.height
|
||||||
|
},
|
||||||
|
style: {
|
||||||
|
lineWidth: this.style.FloodGate.lineWidth,
|
||||||
|
stroke: this.style.FloodGate.spareStrokeColor,
|
||||||
|
fill: this.style.FloodGate.spareFillColor
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.add(this.floodGate);
|
||||||
|
}
|
||||||
|
recover() {
|
||||||
|
this.floodGate.setStyle({ stroke: this.style.FloodGate.spareStrokeColor, fill: this.style.FloodGate.spareFillColor });
|
||||||
|
}
|
||||||
|
// 设置状态
|
||||||
|
setState(model) {
|
||||||
|
if (!this.isShowShape) return;
|
||||||
|
this.recover();
|
||||||
|
}
|
||||||
|
|
||||||
|
createMouseEvent() {
|
||||||
|
}
|
||||||
|
|
||||||
|
setShowMode() {
|
||||||
|
const showMode = this.model.showMode;
|
||||||
|
const showConditions = this.style.FloodGate.displayCondition;
|
||||||
|
if (!showConditions || showConditions === '01' || showMode === showConditions) {
|
||||||
|
this.showMode();
|
||||||
|
} else {
|
||||||
|
this.hideMode();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
setShowStation(stationCode) {
|
||||||
|
if (!stationCode || this.model.stationCode === stationCode) {
|
||||||
|
this.isShowShape = true;
|
||||||
|
this.showMode();
|
||||||
|
} else {
|
||||||
|
this.isShowShape = false;
|
||||||
|
this.hideMode();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
showMode() {
|
||||||
|
this.floodGate && this.floodGate.show();
|
||||||
|
this.setState(this.model);
|
||||||
|
}
|
||||||
|
hideMode() {
|
||||||
|
this.floodGate && this.floodGate.hide();
|
||||||
|
}
|
||||||
|
}
|
@ -137,10 +137,11 @@ export default class ELines extends Group {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
show() {
|
show() {
|
||||||
this.eachChild((child) => {
|
// this.eachChild((child) => {
|
||||||
// console.log(child);
|
// // console.log(child);
|
||||||
child.show();
|
// child.show();
|
||||||
});
|
// });
|
||||||
|
this.section && this.section.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
animateStyle(loop, animates) {
|
animateStyle(loop, animates) {
|
||||||
@ -180,15 +181,6 @@ export default class ELines extends Group {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getBoundingRect() {
|
getBoundingRect() {
|
||||||
// if (this.model.isCurve) {
|
|
||||||
return this.section.getBoundingRect().clone();
|
return this.section.getBoundingRect().clone();
|
||||||
// } else {
|
|
||||||
// return this.section.getBoundingRect().clone();
|
|
||||||
// const rect = this.sections[0].getBoundingRect();
|
|
||||||
// this.sections.forEach(section => {
|
|
||||||
// rect.union(section.getBoundingRect().clone());
|
|
||||||
// });
|
|
||||||
// return rect;
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -52,9 +52,9 @@ export default class Station extends Group {
|
|||||||
if (style.Station.text.borderShow) { // 哈尔滨线路单独显示
|
if (style.Station.text.borderShow) { // 哈尔滨线路单独显示
|
||||||
this.stationText.attr({
|
this.stationText.attr({
|
||||||
style: {
|
style: {
|
||||||
textPadding: [2, 6],
|
textPadding: style.Station.text.textPadding || [2, 6],
|
||||||
textBorderColor: model.nameFontColor,
|
textBorderColor: style.Station.text.borderColor || model.nameFontColor,
|
||||||
textBorderWidth: 1
|
textBorderWidth: style.Station.text.textBorderWidth || 1
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
54
src/jmapNew/shape/StationStand/EDetainRect.js
Normal file
54
src/jmapNew/shape/StationStand/EDetainRect.js
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
import Group from 'zrender/src/container/Group';
|
||||||
|
import Rect from 'zrender/src/graphic/shape/Rect';
|
||||||
|
|
||||||
|
class EDetainCircle extends Group {
|
||||||
|
constructor(model) {
|
||||||
|
super();
|
||||||
|
this.model = model;
|
||||||
|
this.create();
|
||||||
|
}
|
||||||
|
|
||||||
|
create() {
|
||||||
|
const model = this.model;
|
||||||
|
const style = this.model.style;
|
||||||
|
let y;
|
||||||
|
if (model.right && model.inside) {
|
||||||
|
y = model.y + model.height / 2;
|
||||||
|
} else if (model.right && !model.inside) {
|
||||||
|
y = model.y;
|
||||||
|
} else if (!model.right && model.inside) {
|
||||||
|
y = model.y;
|
||||||
|
} else if (!model.right && !model.inside) {
|
||||||
|
y = model.y + model.height / 2;
|
||||||
|
}
|
||||||
|
this.detainRect = new Rect({
|
||||||
|
zlevel: model.zlevel,
|
||||||
|
z: model.z + 1,
|
||||||
|
shape: {
|
||||||
|
x: model.x,
|
||||||
|
y: y,
|
||||||
|
width: model.width,
|
||||||
|
height: model.height / 2
|
||||||
|
},
|
||||||
|
style: {
|
||||||
|
lineWidth: style.StationStand.stand.lineWidth || 0,
|
||||||
|
stroke: style.StationStand.stand.spareStrokeColor,
|
||||||
|
fill: '#000'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.add(this.detainRect);
|
||||||
|
this.detainRect.hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
setColor(color) {
|
||||||
|
this.detainRect.setStyle('stroke', color);
|
||||||
|
}
|
||||||
|
setShow() {
|
||||||
|
this.detainRect.show();
|
||||||
|
}
|
||||||
|
setHide() {
|
||||||
|
this.detainRect.hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default EDetainCircle;
|
@ -12,6 +12,7 @@ import ETrainStop from './ETrainStop';
|
|||||||
import ETrainDepart from './ETrainDepart';
|
import ETrainDepart from './ETrainDepart';
|
||||||
import EControl from '../element/EControl';
|
import EControl from '../element/EControl';
|
||||||
import EDetainCircle from './EDetainCircle';
|
import EDetainCircle from './EDetainCircle';
|
||||||
|
import EDetainRect from './EDetainRect';
|
||||||
import EPatternFilter from './EPatternFilter';
|
import EPatternFilter from './EPatternFilter';
|
||||||
import {isShowThePrdType} from '../../utils/handlePath';
|
import {isShowThePrdType} from '../../utils/handlePath';
|
||||||
|
|
||||||
@ -148,7 +149,7 @@ class StationStand extends Group {
|
|||||||
this.add(this.reentry);
|
this.add(this.reentry);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (style.StationStand.detainCar.special) {
|
if (style.StationStand.detainCar.specialShape === 'circle') {
|
||||||
const detainD = model.right ? 1 : -1;
|
const detainD = model.right ? 1 : -1;
|
||||||
this.detainCircle = new EDetainCircle({
|
this.detainCircle = new EDetainCircle({
|
||||||
zlevel: this.zlevel,
|
zlevel: this.zlevel,
|
||||||
@ -159,6 +160,19 @@ class StationStand extends Group {
|
|||||||
radius:style.StationStand.detainCar.circleWidth / 2
|
radius:style.StationStand.detainCar.circleWidth / 2
|
||||||
});
|
});
|
||||||
this.add(this.detainCircle);
|
this.add(this.detainCircle);
|
||||||
|
} else if (style.StationStand.detainCar.specialShape === 'rect') {
|
||||||
|
this.detainRect = new EDetainRect({
|
||||||
|
zlevel: this.zlevel,
|
||||||
|
z: this.z,
|
||||||
|
style: style,
|
||||||
|
x: standX,
|
||||||
|
y: standY,
|
||||||
|
inside: model.inside,
|
||||||
|
right: model.right,
|
||||||
|
width: model.width,
|
||||||
|
height: model.height
|
||||||
|
});
|
||||||
|
this.add(this.detainRect);
|
||||||
} else {
|
} else {
|
||||||
/** 站台扣车*/
|
/** 站台扣车*/
|
||||||
const detainD = model.right ? 1 : -1;
|
const detainD = model.right ? 1 : -1;
|
||||||
@ -381,6 +395,7 @@ class StationStand extends Group {
|
|||||||
this.reentry && this.reentry.hideMode();
|
this.reentry && this.reentry.hideMode();
|
||||||
this.jump && this.jump.hideMode();
|
this.jump && this.jump.hideMode();
|
||||||
this.detainCircle && this.detainCircle.setColor(this.style.StationStand.detainCar.defaultColor);
|
this.detainCircle && this.detainCircle.setColor(this.style.StationStand.detainCar.defaultColor);
|
||||||
|
this.detainRect && this.detainRect.setHide();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 空闲*/
|
/** 空闲*/
|
||||||
@ -402,7 +417,7 @@ class StationStand extends Group {
|
|||||||
|
|
||||||
/** 车门开启 */
|
/** 车门开启 */
|
||||||
doorOpen() {
|
doorOpen() {
|
||||||
if (this.style.StationStand.common.standType && this.style.StationStand.common.standType == 'notFill') {
|
if (this.style.StationStand.stand.doorOpenColor) {
|
||||||
this.safeStand && this.safeStand.setColor(this.style.StationStand.stand.doorOpenColor);
|
this.safeStand && this.safeStand.setColor(this.style.StationStand.stand.doorOpenColor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -439,6 +454,8 @@ class StationStand extends Group {
|
|||||||
this.detain && this.detain.showMode();
|
this.detain && this.detain.showMode();
|
||||||
this.detain && this.detain.setColor(this.style.StationStand.detainCar.detainTrainTextColor);
|
this.detain && this.detain.setColor(this.style.StationStand.detainCar.detainTrainTextColor);
|
||||||
this.detainCircle && this.detainCircle.setColor(this.style.StationStand.detainCar.centerTrainColor);
|
this.detainCircle && this.detainCircle.setColor(this.style.StationStand.detainCar.centerTrainColor);
|
||||||
|
this.detainRect && this.detainRect.setShow();
|
||||||
|
this.detainRect && this.detainRect.setColor(this.style.StationStand.detainCar.detainTrainTextColor);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 中心扣车*/
|
/** 中心扣车*/
|
||||||
@ -446,6 +463,8 @@ class StationStand extends Group {
|
|||||||
this.detain && this.detain.showMode();
|
this.detain && this.detain.showMode();
|
||||||
this.detain && this.detain.setColor(this.style.StationStand.detainCar.centerTrainColor);
|
this.detain && this.detain.setColor(this.style.StationStand.detainCar.centerTrainColor);
|
||||||
this.detainCircle && this.detainCircle.setColor(this.style.StationStand.detainCar.centerTrainColor);
|
this.detainCircle && this.detainCircle.setColor(this.style.StationStand.detainCar.centerTrainColor);
|
||||||
|
this.detainRect && this.detainRect.setShow();
|
||||||
|
this.detainRect && this.detainRect.setColor(this.style.StationStand.detainCar.centerTrainColor);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 中心+车站扣车*/
|
/** 中心+车站扣车*/
|
||||||
@ -453,6 +472,8 @@ class StationStand extends Group {
|
|||||||
this.detain && this.detain.showMode();
|
this.detain && this.detain.showMode();
|
||||||
this.detain && this.detain.setColor(this.style.StationStand.detainCar.andCenterTrainColor);
|
this.detain && this.detain.setColor(this.style.StationStand.detainCar.andCenterTrainColor);
|
||||||
this.detainCircle && this.detainCircle.setColor(this.style.StationStand.detainCar.centerTrainColor);
|
this.detainCircle && this.detainCircle.setColor(this.style.StationStand.detainCar.centerTrainColor);
|
||||||
|
this.detainRect && this.detainRect.setShow();
|
||||||
|
this.detainRect && this.detainRect.setColor(this.style.StationStand.detainCar.centerTrainColor);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 人工设置停战时间*/
|
/** 人工设置停战时间*/
|
||||||
|
@ -82,10 +82,10 @@ class EMouse extends Group {
|
|||||||
z: this.device.model.z + 10,
|
z: this.device.model.z + 10,
|
||||||
silent: true,
|
silent: true,
|
||||||
shape: {
|
shape: {
|
||||||
x:rect.x - 30,
|
x: rect.x - 30,
|
||||||
y:rect.y,
|
y: rect.y,
|
||||||
width:rect.width + 60,
|
width: rect.width + 60,
|
||||||
height:rect.height
|
height: rect.height
|
||||||
},
|
},
|
||||||
style: {
|
style: {
|
||||||
lineDash: [3, 3],
|
lineDash: [3, 3],
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import Group from 'zrender/src/container/Group';
|
import Group from 'zrender/src/container/Group';
|
||||||
import Polygon from 'zrender/src/graphic/shape/Polygon';
|
import Polygon from 'zrender/src/graphic/shape/Polygon';
|
||||||
|
import Rect from 'zrender/src/graphic/shape/Rect';
|
||||||
|
|
||||||
/** 创建三角形*/
|
/** 创建三角形*/
|
||||||
export default class ETriangle extends Group {
|
export default class ETriangle extends Group {
|
||||||
@ -7,6 +8,7 @@ export default class ETriangle extends Group {
|
|||||||
super();
|
super();
|
||||||
this.model = model;
|
this.model = model;
|
||||||
this.zlevel = model.zlevel;
|
this.zlevel = model.zlevel;
|
||||||
|
this.style = model.style;
|
||||||
this.z = model.z;
|
this.z = model.z;
|
||||||
this.create(model);
|
this.create(model);
|
||||||
}
|
}
|
||||||
@ -14,6 +16,57 @@ export default class ETriangle extends Group {
|
|||||||
create(model) {
|
create(model) {
|
||||||
if (model && model.point) {
|
if (model && model.point) {
|
||||||
const right = model.right == 1 ? 1 : -1;
|
const right = model.right == 1 ? 1 : -1;
|
||||||
|
if (this.style.Section.trainPosition.specialShow) {
|
||||||
|
this.stopRect = new Rect({ // 停车标识
|
||||||
|
zlevel: model.zlevel,
|
||||||
|
z: model.z,
|
||||||
|
shape: {
|
||||||
|
x: model.point.x - this.style.Section.trainPosition.stopTrainRectWidth,
|
||||||
|
y: model.point.y - this.style.Section.line.width / 4,
|
||||||
|
width: this.style.Section.trainPosition.stopTrainRectWidth,
|
||||||
|
height: this.style.Section.line.width - 2
|
||||||
|
},
|
||||||
|
style: {
|
||||||
|
lineWidth: 0,
|
||||||
|
fill: 'rgba(26, 54, 88, 0.7)'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.angle1 = new Rect({
|
||||||
|
zlevel: model.zlevel,
|
||||||
|
z: model.z,
|
||||||
|
shape: {
|
||||||
|
x: model.point.x - this.style.Section.trainPosition.specialRectWidth,
|
||||||
|
y: model.point.y - this.style.Section.line.width / 2,
|
||||||
|
width: this.style.Section.trainPosition.specialRectWidth,
|
||||||
|
height: this.style.Section.line.width + 2
|
||||||
|
},
|
||||||
|
style: {
|
||||||
|
lineWidth: 0,
|
||||||
|
fill: this.style.Section.trainPosition.specialBackground
|
||||||
|
},
|
||||||
|
cursor: 'pointer'
|
||||||
|
});
|
||||||
|
this.angle = new Polygon({
|
||||||
|
zlevel: model.zlevel,
|
||||||
|
z: model.z,
|
||||||
|
shape: {
|
||||||
|
points:[
|
||||||
|
[model.point.x + 5 * right, model.point.y + 1],
|
||||||
|
[model.point.x, model.point.y - this.style.Section.line.width / 2],
|
||||||
|
[model.point.x, model.point.y + this.style.Section.line.width / 2 + 2]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
style: {
|
||||||
|
// stroke:'#00FF00',
|
||||||
|
lineWidth: 0,
|
||||||
|
fill: this.style.Section.trainPosition.specialBackground
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.add(this.angle1);
|
||||||
|
this.add(this.angle);
|
||||||
|
this.add(this.stopRect);
|
||||||
|
this.stopRect.hide();
|
||||||
|
} else {
|
||||||
this.angle = new Polygon({
|
this.angle = new Polygon({
|
||||||
zlevel: model.zlevel,
|
zlevel: model.zlevel,
|
||||||
z: model.z,
|
z: model.z,
|
||||||
@ -29,12 +82,23 @@ export default class ETriangle extends Group {
|
|||||||
this.add(this.angle);
|
this.add(this.angle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
updateTriangle(model, right) {
|
updateTriangle(model, right, trainB) {
|
||||||
|
if (this.angle) {
|
||||||
const trainRight = right == 1 ? 1 : -1;
|
const trainRight = right == 1 ? 1 : -1;
|
||||||
const data = [[model.x + 10 * trainRight, model.y], [model.x, model.y - 6], [model.x, model.y + 6]];
|
let data = [
|
||||||
// this.angle.shape.points.push([model.x + 10 * trainRight, model.y]);
|
[model.x + 10 * trainRight, model.y],
|
||||||
// this.angle.attr('shape', { points: this.angle.shape.points });
|
[model.x, model.y - 6],
|
||||||
|
[model.x, model.y + 6]
|
||||||
|
];
|
||||||
|
if (this.style.Section.trainPosition.specialShow) {
|
||||||
|
data = [
|
||||||
|
[model.x + 5 * trainRight, model.y + 1],
|
||||||
|
[model.x, model.y - this.style.Section.line.width / 2],
|
||||||
|
[model.x, model.y + this.style.Section.line.width / 2 + 2]
|
||||||
|
];
|
||||||
|
}
|
||||||
this.angle.attr({
|
this.angle.attr({
|
||||||
shape: {
|
shape: {
|
||||||
points:data
|
points:data
|
||||||
@ -46,6 +110,59 @@ export default class ETriangle extends Group {
|
|||||||
}
|
}
|
||||||
}, 10, 0, 'elasticOut', function () {
|
}, 10, 0, 'elasticOut', function () {
|
||||||
});
|
});
|
||||||
this.dirty();
|
this.angle.dirty();
|
||||||
|
}
|
||||||
|
if (this.angle1) {
|
||||||
|
let trainRight = model.x;
|
||||||
|
if (right == 1) {
|
||||||
|
trainRight = model.x - this.style.Section.trainPosition.specialRectWidth;
|
||||||
|
}
|
||||||
|
const pointsData = {
|
||||||
|
x: trainRight,
|
||||||
|
y: model.y - this.style.Section.line.width / 2,
|
||||||
|
width: this.style.Section.trainPosition.specialRectWidth,
|
||||||
|
height: this.style.Section.line.width + 2
|
||||||
|
};
|
||||||
|
this.angle1.attr({
|
||||||
|
shape: pointsData
|
||||||
|
});
|
||||||
|
this.angle1.animateTo({
|
||||||
|
shape: pointsData
|
||||||
|
}, 10, 0, 'elasticOut', function () {
|
||||||
|
});
|
||||||
|
this.angle1.dirty();
|
||||||
|
}
|
||||||
|
if (this.stopRect) {
|
||||||
|
const offset = (this.style.Section.trainPosition.specialRectWidth - this.style.Section.trainPosition.stopTrainRectWidth) / 2;
|
||||||
|
let trainRight = model.x + offset;
|
||||||
|
if (right == 1) {
|
||||||
|
trainRight = model.x - offset - this.style.Section.trainPosition.stopTrainRectWidth;
|
||||||
|
}
|
||||||
|
const pointsData = {
|
||||||
|
x: trainRight,
|
||||||
|
y: model.y - this.style.Section.line.width / 4,
|
||||||
|
width: this.style.Section.trainPosition.stopTrainRectWidth,
|
||||||
|
height: this.style.Section.line.width - 2
|
||||||
|
};
|
||||||
|
this.stopRect.attr({
|
||||||
|
shape: pointsData
|
||||||
|
});
|
||||||
|
this.stopRect.animateTo({
|
||||||
|
shape: pointsData
|
||||||
|
}, 10, 0, 'elasticOut', function () {
|
||||||
|
});
|
||||||
|
this.stopRect.dirty();
|
||||||
|
}
|
||||||
|
if (this.style.Section.trainPosition.specialShow) {
|
||||||
|
trainB.setPositionText(model, right);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setStopShow(flag) {
|
||||||
|
if (flag) {
|
||||||
|
this.stopRect && this.stopRect.show();
|
||||||
|
} else {
|
||||||
|
this.stopRect && this.stopRect.hide();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,7 +53,7 @@ export default class TrainBody extends Group {
|
|||||||
y: parseInt(model.point.y + style.Train.trainServer.trainServerOffset.y),
|
y: parseInt(model.point.y + style.Train.trainServer.trainServerOffset.y),
|
||||||
text: serviceNumber.substring(serviceNumber.length - style.Train.trainServer.serviceNumberPrefix.length),
|
text: serviceNumber.substring(serviceNumber.length - style.Train.trainServer.serviceNumberPrefix.length),
|
||||||
textFill: model.style.Train.trainServer.fontColor || style.trainTextColor,
|
textFill: model.style.Train.trainServer.fontColor || style.trainTextColor,
|
||||||
fontSize: model.fontSize,
|
fontSize: model.style.Train.trainServer.fontSize || model.fontSize,
|
||||||
fontFamily: style.Train.common.fontFamily,
|
fontFamily: style.Train.common.fontFamily,
|
||||||
textAlign: 'left',
|
textAlign: 'left',
|
||||||
textVerticalAlign: 'top'
|
textVerticalAlign: 'top'
|
||||||
@ -66,7 +66,7 @@ export default class TrainBody extends Group {
|
|||||||
y: parseInt(model.point.y + model.style.Train.trainTarget.trainTargetOffset.y),
|
y: parseInt(model.point.y + model.style.Train.trainTarget.trainTargetOffset.y),
|
||||||
text: tripNumber.substring(tripNumber.length - style.Train.trainTarget.tripNumberPrefix.length),
|
text: tripNumber.substring(tripNumber.length - style.Train.trainTarget.tripNumberPrefix.length),
|
||||||
textFill: model.style.Train.trainTarget.fontColor || style.trainTextColor,
|
textFill: model.style.Train.trainTarget.fontColor || style.trainTextColor,
|
||||||
fontSize: model.fontSize,
|
fontSize: model.style.Train.trainTarget.fontSize || model.fontSize,
|
||||||
fontFamily: style.Train.common.fontFamily,
|
fontFamily: style.Train.common.fontFamily,
|
||||||
textAlign: 'left',
|
textAlign: 'left',
|
||||||
textVerticalAlign: 'top'
|
textVerticalAlign: 'top'
|
||||||
@ -80,7 +80,7 @@ export default class TrainBody extends Group {
|
|||||||
textFill: model.style.Train.trainNumber.fontColor || style.trainTextColor,
|
textFill: model.style.Train.trainNumber.fontColor || style.trainTextColor,
|
||||||
textStroke: style.trainTextColor,
|
textStroke: style.trainTextColor,
|
||||||
textStrokeWidth: 0,
|
textStrokeWidth: 0,
|
||||||
fontSize: model.fontSize,
|
fontSize: model.style.Train.trainNumber.fontSize || model.fontSize,
|
||||||
fontFamily: style.Train.common.fontFamily,
|
fontFamily: style.Train.common.fontFamily,
|
||||||
textAlign: 'left',
|
textAlign: 'left',
|
||||||
textVerticalAlign: 'top'
|
textVerticalAlign: 'top'
|
||||||
@ -401,4 +401,61 @@ export default class TrainBody extends Group {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
setPositionText(model, right) {
|
||||||
|
let widthText = 0;
|
||||||
|
let point = {
|
||||||
|
x: model.x - 10,
|
||||||
|
y: model.y
|
||||||
|
};
|
||||||
|
if (right == 1) {
|
||||||
|
point = {
|
||||||
|
x: model.x - 20,
|
||||||
|
y: model.y
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (this.textTrainTarget) {
|
||||||
|
this.textTrainTarget.attr({
|
||||||
|
style: {
|
||||||
|
x: parseInt(point.x + widthText),
|
||||||
|
y: parseInt(point.y - this.style.Section.line.width),
|
||||||
|
textVerticalAlign: 'middle'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
widthText += this.textTrainTarget.getBoundingRect().width;
|
||||||
|
this.textTrainTarget.dirty();
|
||||||
|
}
|
||||||
|
if (this.textTrainServer) {
|
||||||
|
this.textTrainServer.attr({
|
||||||
|
style: {
|
||||||
|
x: parseInt(point.x + widthText),
|
||||||
|
y: parseInt(point.y - this.style.Section.line.width),
|
||||||
|
textVerticalAlign: 'middle'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
widthText += this.textTrainServer.getBoundingRect().width;
|
||||||
|
this.textTrainServer.dirty();
|
||||||
|
}
|
||||||
|
if (this.textTrainTrip) {
|
||||||
|
this.textTrainTrip.attr({
|
||||||
|
style: {
|
||||||
|
x: parseInt(point.x + widthText),
|
||||||
|
y: parseInt(point.y - this.style.Section.line.width),
|
||||||
|
textVerticalAlign: 'middle'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
widthText += this.textTrainTrip.getBoundingRect().width;
|
||||||
|
this.textTrainTrip.dirty();
|
||||||
|
}
|
||||||
|
if (this.textTrainGroup) {
|
||||||
|
this.textTrainGroup.attr({
|
||||||
|
style: {
|
||||||
|
x: parseInt(point.x + widthText),
|
||||||
|
y: parseInt(point.y - this.style.Section.line.width),
|
||||||
|
textVerticalAlign: 'middle'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
widthText += this.textTrainGroup.getBoundingRect().width;
|
||||||
|
this.textTrainGroup.dirty();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import Group from 'zrender/src/container/Group';
|
import Group from 'zrender/src/container/Group';
|
||||||
import Rect from 'zrender/src/graphic/shape/Rect';
|
import Rect from 'zrender/src/graphic/shape/Rect';
|
||||||
import BoundingRect from 'zrender/src/core/BoundingRect';
|
// import BoundingRect from 'zrender/src/core/BoundingRect';
|
||||||
|
|
||||||
export default class TrainBodyBox extends Group {
|
export default class TrainBodyBox extends Group {
|
||||||
constructor(model) {
|
constructor(model) {
|
||||||
|
@ -60,6 +60,7 @@ export default class Train extends Group {
|
|||||||
this._computed();
|
this._computed();
|
||||||
const model = this.model;
|
const model = this.model;
|
||||||
const style = this.style;
|
const style = this.style;
|
||||||
|
|
||||||
if (this.point) {
|
if (this.point) {
|
||||||
this.trainB = new TrainBody({
|
this.trainB = new TrainBody({
|
||||||
zlevel: this.zlevel,
|
zlevel: this.zlevel,
|
||||||
@ -153,6 +154,7 @@ export default class Train extends Group {
|
|||||||
right: this.model.right,
|
right: this.model.right,
|
||||||
point: { x: this.startX, y: this.startY }
|
point: { x: this.startX, y: this.startY }
|
||||||
});
|
});
|
||||||
|
|
||||||
this.add(this.triangle);
|
this.add(this.triangle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -193,7 +195,7 @@ export default class Train extends Group {
|
|||||||
});
|
});
|
||||||
const point = { x: this.startX, y: this.startY };
|
const point = { x: this.startX, y: this.startY };
|
||||||
this.triangle.point = point;
|
this.triangle.point = point;
|
||||||
this.triangle.updateTriangle(point, train.right);
|
this.triangle.updateTriangle(point, train.right, this.trainB);
|
||||||
this.triangle.dirty();
|
this.triangle.dirty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -230,6 +232,7 @@ export default class Train extends Group {
|
|||||||
this.trainL && this.trainL.setArrowShow(arrowLShow);
|
this.trainL && this.trainL.setArrowShow(arrowLShow);
|
||||||
this.trainR && this.trainR.setLineShow(lineRShow);
|
this.trainR && this.trainR.setLineShow(lineRShow);
|
||||||
this.trainR && this.trainR.setArrowShow(arrowRShow);
|
this.trainR && this.trainR.setArrowShow(arrowRShow);
|
||||||
|
this.triangle && this.triangle.setStopShow(false); // 运行
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -246,6 +249,7 @@ export default class Train extends Group {
|
|||||||
} else {
|
} else {
|
||||||
this.trainL && this.trainL.setLineShow(item.lineLShow);
|
this.trainL && this.trainL.setLineShow(item.lineLShow);
|
||||||
this.trainR && this.trainR.setLineShow(item.lineRShow);
|
this.trainR && this.trainR.setLineShow(item.lineRShow);
|
||||||
|
this.triangle && this.triangle.setStopShow(true); // 停车
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,7 @@ import Arrow from './Arrow/index';
|
|||||||
import Power from './Power/index';
|
import Power from './Power/index';
|
||||||
import StationTurnBack from './StationTurnBack/index';
|
import StationTurnBack from './StationTurnBack/index';
|
||||||
import OverAp from './OverAp/index.js';
|
import OverAp from './OverAp/index.js';
|
||||||
|
import FloodGate from './FloodGate/index';
|
||||||
|
|
||||||
/** 图库*/
|
/** 图库*/
|
||||||
const mapShape = {};
|
const mapShape = {};
|
||||||
@ -75,6 +76,7 @@ mapShape[deviceType.Arrow] = Arrow;
|
|||||||
mapShape[deviceType.Power] = Power;
|
mapShape[deviceType.Power] = Power;
|
||||||
mapShape[deviceType.StationTurnBack] = StationTurnBack;
|
mapShape[deviceType.StationTurnBack] = StationTurnBack;
|
||||||
mapShape[deviceType.OverAp] = OverAp;
|
mapShape[deviceType.OverAp] = OverAp;
|
||||||
|
mapShape[deviceType.FloodGate] = FloodGate;
|
||||||
|
|
||||||
function shapefactory(device, jmap) {
|
function shapefactory(device, jmap) {
|
||||||
const type = device._type;
|
const type = device._type;
|
||||||
|
@ -3,6 +3,7 @@ class Theme {
|
|||||||
this._code = '02';
|
this._code = '02';
|
||||||
this._mapMenu = {
|
this._mapMenu = {
|
||||||
'01': 'chengdu_01',
|
'01': 'chengdu_01',
|
||||||
|
// '01': 'ningbo_03',
|
||||||
'02': 'fuzhou_01',
|
'02': 'fuzhou_01',
|
||||||
'03': 'beijing_01',
|
'03': 'beijing_01',
|
||||||
'04': 'chengdu_03',
|
'04': 'chengdu_03',
|
||||||
|
File diff suppressed because it is too large
Load Diff
256
src/jmapNew/theme/ningbo_03/menus/menuDialog/arrangeRoute.vue
Normal file
256
src/jmapNew/theme/ningbo_03/menus/menuDialog/arrangeRoute.vue
Normal file
@ -0,0 +1,256 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="350px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="10">
|
||||||
|
<el-table :data="tableData">
|
||||||
|
<el-table-column prop="groupNumber" label="列车" />
|
||||||
|
<el-table-column prop="groupNumber" label="班次" />
|
||||||
|
<el-table-column prop="groupNumber" label="运行线" />
|
||||||
|
<el-table-column prop="groupNumber" label="模式" />
|
||||||
|
</el-table>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="14">
|
||||||
|
<el-tabs v-model="activeName" type="card" @tab-click="handleClick">
|
||||||
|
<el-tab-pane label="站台" name="first">站台</el-tab-pane>
|
||||||
|
<el-tab-pane label="信号机" name="second">信号机</el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<!--<el-row class="header">-->
|
||||||
|
<!--<el-col :span="11"><span>集中站</span></el-col>-->
|
||||||
|
<!--<el-col :span="11" :offset="2"><span>始端信号机</span></el-col>-->
|
||||||
|
<!--</el-row>-->
|
||||||
|
<!--<el-row>-->
|
||||||
|
<!--<el-col :span="11">-->
|
||||||
|
<!--<el-input v-model="stationName" size="small" disabled />-->
|
||||||
|
<!--</el-col>-->
|
||||||
|
<!--<el-col :span="11" :offset="2">-->
|
||||||
|
<!--<el-input v-model="signalName" size="small" disabled />-->
|
||||||
|
<!--</el-col>-->
|
||||||
|
<!--</el-row>-->
|
||||||
|
<!--<el-row style="margin-top: 10px; line-height: 30px;">-->
|
||||||
|
<!--<el-col :span="11"><span>进路列表</span></el-col>-->
|
||||||
|
<!--<el-col :span="11" :offset="2">-->
|
||||||
|
<!--<!– <el-button class="expand" @click="expandPath">展开进路预览</el-button> –>-->
|
||||||
|
<!--</el-col>-->
|
||||||
|
<!--</el-row>-->
|
||||||
|
<!--<el-table ref="table" :data="tempData" border :cell-style="tableStyle" style="width: 100%; height: 120px; margin-top:10px" size="mini" highlight-current-row :show-header="false" @row-click="clickEvent">-->
|
||||||
|
<!--<el-table-column :id="domIdChoose" prop="name" style="margin-left:30px" />-->
|
||||||
|
<!--</el-table>-->
|
||||||
|
<el-row justify="center" class="button-group">
|
||||||
|
<el-col :span="4" :offset="1">
|
||||||
|
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="commitDisabled" @click="commit">确定(O)</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4" :offset="2">
|
||||||
|
<el-button>应用(A)</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4" :offset="2">
|
||||||
|
<el-button :id="domIdCancel" @click="cancel">关闭(C)</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4" :offset="2">
|
||||||
|
<el-button>帮助(H)</el-button>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
|
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
|
import { deepAssign } from '@/utils/index';
|
||||||
|
import {mouseCancelState} from '@/jmapNew/theme/components/utils/menuItemStatus';
|
||||||
|
import { mapGetters } from 'vuex';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'RouteSelection',
|
||||||
|
components: {
|
||||||
|
NoticeInfo
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
tempData: [],
|
||||||
|
tableData: [{}],
|
||||||
|
activeName: 'first',
|
||||||
|
beforeSectionList: [],
|
||||||
|
dialogShow: false,
|
||||||
|
loading: false,
|
||||||
|
selected: null,
|
||||||
|
row: null,
|
||||||
|
operation: '',
|
||||||
|
display: true,
|
||||||
|
stationName: '',
|
||||||
|
signalName: '',
|
||||||
|
tableStyle: {
|
||||||
|
'border-bottom': 'none'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters('map', [
|
||||||
|
'overlapData'
|
||||||
|
]),
|
||||||
|
show() {
|
||||||
|
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||||
|
},
|
||||||
|
domIdCancel() {
|
||||||
|
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||||
|
},
|
||||||
|
domIdChoose() {
|
||||||
|
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.choose.domId : '';
|
||||||
|
},
|
||||||
|
domIdConfirm() {
|
||||||
|
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.menu.domId : '';
|
||||||
|
},
|
||||||
|
title() {
|
||||||
|
return '进路设置';
|
||||||
|
},
|
||||||
|
commitDisabled() {
|
||||||
|
let disabled = true;
|
||||||
|
if (this.row) {
|
||||||
|
disabled = !this.row.canSetting;
|
||||||
|
}
|
||||||
|
return disabled;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
'$store.state.map.keyboardEnterCount': function (val) {
|
||||||
|
if (this.show && !this.commitDisabled) {
|
||||||
|
this.commit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$store.dispatch('training/tipReload');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
expandPath() {
|
||||||
|
console.log('展开进路预览');
|
||||||
|
},
|
||||||
|
doShow(operate, selected, tempData) {
|
||||||
|
this.selected = selected;
|
||||||
|
// 如果不是断点激活,而是第一次显示,则需要设置初始值
|
||||||
|
this.dialogShow = true;
|
||||||
|
this.$nextTick(function () {
|
||||||
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
doClose() {
|
||||||
|
this.loading = false;
|
||||||
|
this.dialogShow = false;
|
||||||
|
this.restoreBeforeDevices();
|
||||||
|
this.$refs.table.setCurrentRow();
|
||||||
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
|
mouseCancelState(this.selected);
|
||||||
|
},
|
||||||
|
restoreBeforeDevices() {
|
||||||
|
// 恢复之前选中设备
|
||||||
|
if (this.beforeSectionList && this.beforeSectionList.length) {
|
||||||
|
this.beforeSectionList.forEach(elem => {
|
||||||
|
elem.cutOff = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$store.dispatch('training/updateMapState', [...this.beforeSectionList]);
|
||||||
|
this.beforeSectionList = [];
|
||||||
|
},
|
||||||
|
clickEvent(row, event, column) {
|
||||||
|
this.row = row;
|
||||||
|
if (row) {
|
||||||
|
// 恢复进路区段的切除状态
|
||||||
|
this.row.canSetting = true;
|
||||||
|
this.restoreBeforeDevices();
|
||||||
|
const containSectionList = [];
|
||||||
|
if (!row.setting) {
|
||||||
|
// 设置选中区段为切除状态
|
||||||
|
if (row.routeSectionList && row.routeSectionList.length) {
|
||||||
|
// 设置新选的进路区段为切除状态
|
||||||
|
row.routeSectionList.forEach(elem => {
|
||||||
|
const section = deepAssign({}, this.$store.getters['map/getDeviceByCode'](elem));
|
||||||
|
if (section.logicSectionCodeList && section.logicSectionCodeList.length) {
|
||||||
|
section.logicSectionCodeList.forEach(item => {
|
||||||
|
const sec = deepAssign({}, this.$store.getters['map/getDeviceByCode'](item));
|
||||||
|
sec.cutOff = true;
|
||||||
|
containSectionList.push(sec);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
section.cutOff = true;
|
||||||
|
containSectionList.push(section);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (this.overlapData[row.overlapCode] && this.overlapData[row.overlapCode].pathList && this.overlapData[row.overlapCode].pathList.length) {
|
||||||
|
this.overlapData[row.overlapCode].pathList.forEach(item => {
|
||||||
|
if (item.sectionList && item.sectionList.length) {
|
||||||
|
item.sectionList.forEach(elem => {
|
||||||
|
const section = deepAssign({}, this.$store.getters['map/getDeviceByCode'](elem));
|
||||||
|
if (section.logicSectionCodeList && section.logicSectionCodeList.length) {
|
||||||
|
section.logicSectionCodeList.forEach(logicSectionCode => {
|
||||||
|
const sec = deepAssign({}, this.$store.getters['map/getDeviceByCode'](logicSectionCode));
|
||||||
|
sec.cutOff = true;
|
||||||
|
containSectionList.push(sec);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
section.cutOff = true;
|
||||||
|
containSectionList.push(section);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
this.$store.dispatch('training/updateMapState', [...containSectionList]);
|
||||||
|
this.beforeSectionList = containSectionList || [];
|
||||||
|
|
||||||
|
// 设置选中指令
|
||||||
|
const operate = {
|
||||||
|
operation: OperationEvent.Signal.arrangementRoute.choose.operation,
|
||||||
|
val: row.code
|
||||||
|
};
|
||||||
|
|
||||||
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
|
if (valid) {
|
||||||
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.$refs.noticeInfo.doShow('当前进路不允许排列, 与其他进路可能发生冲突');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
commit() {
|
||||||
|
if (this.row && this.row.canSetting) {
|
||||||
|
this.loading = true;
|
||||||
|
commitOperate(menuOperate.Signal.arrangementRoute, {routeCode:this.row.code}, 2).then(({valid})=>{
|
||||||
|
this.loading = false;
|
||||||
|
if (valid) {
|
||||||
|
this.doClose();
|
||||||
|
}
|
||||||
|
}).catch(() => {
|
||||||
|
this.loading = false;
|
||||||
|
this.doClose();
|
||||||
|
this.$refs.noticeInfo.doShow();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleClick() {
|
||||||
|
|
||||||
|
},
|
||||||
|
cancel() {
|
||||||
|
const operate = {
|
||||||
|
operation: OperationEvent.Command.cancel.menu.operation
|
||||||
|
};
|
||||||
|
|
||||||
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
|
if (valid) {
|
||||||
|
this.doClose();
|
||||||
|
}
|
||||||
|
}).catch(() => {
|
||||||
|
this.doClose();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
@ -226,6 +226,10 @@ export function parser(data, skinCode, showConfig) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, this);
|
}, this);
|
||||||
|
|
||||||
|
zrUtil.each(data.floodGateList || [], elem=> {
|
||||||
|
mapDevice[elem.code] = createDevice(deviceType.FloodGate, elem, propConvert, showConfig);
|
||||||
|
}, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
return mapDevice;
|
return mapDevice;
|
||||||
@ -296,6 +300,7 @@ export function updateMapData(state, model) {
|
|||||||
case deviceType.Arrow: updateForList(model, state, 'arrowList'); break;
|
case deviceType.Arrow: updateForList(model, state, 'arrowList'); break;
|
||||||
case deviceType.Power: updateForList(model, state, 'powerLineList'); break;
|
case deviceType.Power: updateForList(model, state, 'powerLineList'); break;
|
||||||
case deviceType.StationTurnBack : updateForList(model, state, 'tbStrategyList'); break;
|
case deviceType.StationTurnBack : updateForList(model, state, 'tbStrategyList'); break;
|
||||||
|
case deviceType.FloodGate: updateForList(model, state, 'floodGateList'); break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ import FaviconGzb from '@/assets/icon/favicon_gzb.png';
|
|||||||
import FaviconHeb from '@/assets/icon/favicon_hyd.png';
|
import FaviconHeb from '@/assets/icon/favicon_hyd.png';
|
||||||
import FaviconXadt from '@/assets/icon/favicon_xas.png';
|
import FaviconXadt from '@/assets/icon/favicon_xas.png';
|
||||||
import FaviconJyd from '@/assets/icon/favicon_jyd.png';
|
import FaviconJyd from '@/assets/icon/favicon_jyd.png';
|
||||||
|
import FaviconHls from '@/assets/icon/favicon_hls.png';
|
||||||
import Bottom_Jyd from '@/assets/icon/bottom_jyd.png';
|
import Bottom_Jyd from '@/assets/icon/bottom_jyd.png';
|
||||||
import Link_Jyd from '@/assets/icon/link_jyd.png';
|
import Link_Jyd from '@/assets/icon/link_jyd.png';
|
||||||
import FaviconTky from '@/assets/icon/favicon_tky.png';
|
import FaviconTky from '@/assets/icon/favicon_tky.png';
|
||||||
@ -12,6 +13,7 @@ import FaviconBxkc from '@/assets/icon/favicon_bxkc.png';
|
|||||||
import FaviconCrsc from '@/assets/icon/favicon_crsc.png';
|
import FaviconCrsc from '@/assets/icon/favicon_crsc.png';
|
||||||
import Link_Bxkc from '@/assets/icon/link_bxkc.png';
|
import Link_Bxkc from '@/assets/icon/link_bxkc.png';
|
||||||
import Link_Crsc from '@/assets/icon/link_crsc.png';
|
import Link_Crsc from '@/assets/icon/link_crsc.png';
|
||||||
|
import Link_Hls from '@/assets/icon/link_hls.png';
|
||||||
|
|
||||||
// title:页面title; loginPath:退出登录跳转路径; loginParam:登录接口参数project;loginTitle:登录页左上角title;logoWidth:登录页左上角logo宽度;
|
// title:页面title; loginPath:退出登录跳转路径; loginParam:登录接口参数project;loginTitle:登录页左上角title;logoWidth:登录页左上角logo宽度;
|
||||||
// homeTitle:导航栏title(没有采用title); browserTitle:浏览器窗口title;bottomColumn:底部栏描述;bottomIcon:底部栏Icon;linkIcon:浏览器窗口icon(没有采用ProjectIcon)
|
// homeTitle:导航栏title(没有采用title); browserTitle:浏览器窗口title;bottomColumn:底部栏描述;bottomIcon:底部栏Icon;linkIcon:浏览器窗口icon(没有采用ProjectIcon)
|
||||||
@ -211,7 +213,7 @@ export const loginInfo = {
|
|||||||
},
|
},
|
||||||
crsc: {
|
crsc: {
|
||||||
title: '城市轨道交通实训平台',
|
title: '城市轨道交通实训平台',
|
||||||
loginPath: '/login?project=xagy',
|
loginPath: '/login?project=crsc',
|
||||||
loginTitle: '空串',
|
loginTitle: '空串',
|
||||||
logoWidth: '600px',
|
logoWidth: '600px',
|
||||||
bottomIcon: FaviconCrsc,
|
bottomIcon: FaviconCrsc,
|
||||||
@ -225,7 +227,7 @@ export const loginInfo = {
|
|||||||
},
|
},
|
||||||
designcrsc: {
|
designcrsc: {
|
||||||
title: '城市轨道交通设计平台',
|
title: '城市轨道交通设计平台',
|
||||||
loginPath: '/design/login?project=xagy',
|
loginPath: '/design/login?project=crsc',
|
||||||
loginTitle: '空串',
|
loginTitle: '空串',
|
||||||
logoWidth: '600px',
|
logoWidth: '600px',
|
||||||
bottomIcon: FaviconCrsc,
|
bottomIcon: FaviconCrsc,
|
||||||
@ -236,6 +238,30 @@ export const loginInfo = {
|
|||||||
navigationLogoWidth: '100px',
|
navigationLogoWidth: '100px',
|
||||||
navigationMarginLeft: '125px',
|
navigationMarginLeft: '125px',
|
||||||
systemType: '011'
|
systemType: '011'
|
||||||
|
},
|
||||||
|
hls: {
|
||||||
|
title: '城市轨道交通实训平台',
|
||||||
|
loginPath: '/login?project=hls',
|
||||||
|
loginTitle: '空串',
|
||||||
|
logoWidth: '300px',
|
||||||
|
linkIcon: Link_Hls,
|
||||||
|
bottomColumn: '北京和利时系统工程有限公司',
|
||||||
|
loginParam: 'DEFAULT',
|
||||||
|
navigationLogoWidth: '180px',
|
||||||
|
navigationMarginLeft: '195px',
|
||||||
|
systemType: '011'
|
||||||
|
},
|
||||||
|
designhls: {
|
||||||
|
title: '城市轨道交通设计平台',
|
||||||
|
loginPath: '/design/login?project=hls',
|
||||||
|
loginTitle: '空串',
|
||||||
|
logoWidth: '300px',
|
||||||
|
linkIcon: Link_Hls,
|
||||||
|
bottomColumn: '北京和利时系统工程有限公司',
|
||||||
|
loginParam: 'DEFAULT',
|
||||||
|
navigationLogoWidth: '180px',
|
||||||
|
navigationMarginLeft: '195px',
|
||||||
|
systemType: '011'
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -259,7 +285,9 @@ export const ProjectIcon = {
|
|||||||
bxkc: FaviconBxkc,
|
bxkc: FaviconBxkc,
|
||||||
designbxkc: FaviconBxkc,
|
designbxkc: FaviconBxkc,
|
||||||
crsc: FaviconCrsc,
|
crsc: FaviconCrsc,
|
||||||
designcrsc: FaviconCrsc
|
designcrsc: FaviconCrsc,
|
||||||
|
hls: FaviconHls,
|
||||||
|
designhls: FaviconHls
|
||||||
};
|
};
|
||||||
|
|
||||||
export const ProjectCode = {
|
export const ProjectCode = {
|
||||||
@ -272,13 +300,13 @@ export const ProjectCode = {
|
|||||||
xadt: 'XADT',
|
xadt: 'XADT',
|
||||||
designxadt: 'XADT'
|
designxadt: 'XADT'
|
||||||
};
|
};
|
||||||
export const BottomColumnOnlyConInfo = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc']; // 底部栏仅展示公司信息不展示备案号
|
export const BottomColumnOnlyConInfo = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls']; // 底部栏仅展示公司信息不展示备案号
|
||||||
export const GetMapListByProjectList = ['xty', 'designxty', 'gzb', 'designgzb', 'xadt', 'designxadt', 'heb', 'designheb']; // 实训设计平台通过项目code获取地图列表的项目
|
export const GetMapListByProjectList = ['xty', 'designxty', 'gzb', 'designgzb', 'xadt', 'designxadt', 'heb', 'designheb']; // 实训设计平台通过项目code获取地图列表的项目
|
||||||
export const CaseHideProjectList = ['heb', 'designheb']; // 案例展示隐藏的项目
|
export const CaseHideProjectList = ['heb', 'designheb']; // 案例展示隐藏的项目
|
||||||
export const VersionBaseNoShow = ['heb', 'designheb']; // 登录页右下角版本开发基于不展示
|
export const VersionBaseNoShow = ['heb', 'designheb']; // 登录页右下角版本开发基于不展示
|
||||||
export const MainBodyNoShow = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc']; // 登录页右下角主体不展示
|
export const MainBodyNoShow = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls']; // 登录页右下角主体不展示
|
||||||
export const GenerateRouteProjectList = ['jsxt', 'refereeJsxt'];// 需要在公共路由中生成登录页面的项目
|
export const GenerateRouteProjectList = ['jsxt', 'refereeJsxt'];// 需要在公共路由中生成登录页面的项目
|
||||||
export const ProjectLoginStyleList = ['jsxt', 'refereeJsxt', 'gzb', 'designgzb', 'xty', 'designxty', 'xadt', 'designxadt', 'tky', 'designtky', 'jyd', 'designjyd', 'bxkc', 'designbxkc', 'crsc', 'designcrsc']; // 登录页样式
|
export const ProjectLoginStyleList = ['jsxt', 'refereeJsxt', 'gzb', 'designgzb', 'xty', 'designxty', 'xadt', 'designxadt', 'tky', 'designtky', 'jyd', 'designjyd', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls']; // 登录页样式
|
||||||
export const NoQrcodeList = ['heb', 'designheb'];
|
export const NoQrcodeList = ['heb', 'designheb'];
|
||||||
export const goOtherPlatformMenu = { // 导航栏快速切换平台
|
export const goOtherPlatformMenu = { // 导航栏快速切换平台
|
||||||
login: '/design/login',
|
login: '/design/login',
|
||||||
@ -298,90 +326,92 @@ export const goOtherPlatformMenu = { // 导航栏快速切换平台
|
|||||||
bxkc: '/design/login?project=bxkc',
|
bxkc: '/design/login?project=bxkc',
|
||||||
designbxkc: '/login?project=bxkc',
|
designbxkc: '/login?project=bxkc',
|
||||||
crsc: '/design/login?project=crsc',
|
crsc: '/design/login?project=crsc',
|
||||||
designcrsc: '/login?project=crsc'
|
designcrsc: '/login?project=crsc',
|
||||||
};
|
hls: '/design/login?project=hls',
|
||||||
export const PermissionParam = { // 路径权限处理所需参数配置(跳转白名单,路由处理类型)
|
designhls: '/login?project=hls'
|
||||||
heb: {
|
|
||||||
whitePage: '/login?project=heb',
|
|
||||||
systemType: '019'
|
|
||||||
},
|
|
||||||
designheb: {
|
|
||||||
whitePage: '/design/login?project=heb',
|
|
||||||
systemType: '019'
|
|
||||||
},
|
|
||||||
login: {
|
|
||||||
whitePage: '/login',
|
|
||||||
systemType: '011'
|
|
||||||
},
|
|
||||||
design: {
|
|
||||||
whitePage: '/design/login',
|
|
||||||
systemType: '011'
|
|
||||||
},
|
|
||||||
designxty: {
|
|
||||||
whitePage: '/design/login?project=xty',
|
|
||||||
systemType: '013'
|
|
||||||
},
|
|
||||||
designgzb: {
|
|
||||||
whitePage: '/design/login?project=gzb',
|
|
||||||
systemType: '014'
|
|
||||||
},
|
|
||||||
designxadt: {
|
|
||||||
whitePage: '/design/login?project=xadt',
|
|
||||||
systemType: '012'
|
|
||||||
},
|
|
||||||
designjyd: {
|
|
||||||
whitePage: '/design/login?project=jyd',
|
|
||||||
systemType: '017'
|
|
||||||
},
|
|
||||||
designtky: {
|
|
||||||
whitePage: '/design/login?project=tky',
|
|
||||||
systemType: '018'
|
|
||||||
},
|
|
||||||
designbxkc: {
|
|
||||||
whitePage: '/design/login?project=bxkc',
|
|
||||||
systemType: '011'
|
|
||||||
},
|
|
||||||
designcrsc: {
|
|
||||||
whitePage: '/design/login?project=crsc',
|
|
||||||
systemType: '011'
|
|
||||||
},
|
|
||||||
xty: {
|
|
||||||
whitePage: '/login?project=xty',
|
|
||||||
systemType: '013'
|
|
||||||
},
|
|
||||||
gzb: {
|
|
||||||
whitePage: '/login?project=gzb',
|
|
||||||
systemType: '014'
|
|
||||||
},
|
|
||||||
xadt: {
|
|
||||||
whitePage: '/login?project=xadt',
|
|
||||||
systemType: '012'
|
|
||||||
},
|
|
||||||
jyd: {
|
|
||||||
whitePage: '/login?project=jyd',
|
|
||||||
systemType: '017'
|
|
||||||
},
|
|
||||||
tky: {
|
|
||||||
whitePage: '/login?project=tky',
|
|
||||||
systemType: '018'
|
|
||||||
},
|
|
||||||
bxkc: {
|
|
||||||
whitePage: '/login?project=bxkc',
|
|
||||||
systemType: '011'
|
|
||||||
},
|
|
||||||
crsc: {
|
|
||||||
whitePage: '/login?project=crsc',
|
|
||||||
systemType: '011'
|
|
||||||
},
|
|
||||||
jsxt: {
|
|
||||||
whitePage: '/jsxt/login',
|
|
||||||
systemType: '015'
|
|
||||||
},
|
|
||||||
refereeJsxt: {
|
|
||||||
whitePage: '/refereeJsxt/login',
|
|
||||||
systemType: '015'
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
// export const PermissionParam = { // 路径权限处理所需参数配置(跳转白名单,路由处理类型)
|
||||||
|
// heb: {
|
||||||
|
// whitePage: '/login?project=heb',
|
||||||
|
// systemType: '019'
|
||||||
|
// },
|
||||||
|
// designheb: {
|
||||||
|
// whitePage: '/design/login?project=heb',
|
||||||
|
// systemType: '019'
|
||||||
|
// },
|
||||||
|
// login: {
|
||||||
|
// whitePage: '/login',
|
||||||
|
// systemType: '011'
|
||||||
|
// },
|
||||||
|
// design: {
|
||||||
|
// whitePage: '/design/login',
|
||||||
|
// systemType: '011'
|
||||||
|
// },
|
||||||
|
// designxty: {
|
||||||
|
// whitePage: '/design/login?project=xty',
|
||||||
|
// systemType: '013'
|
||||||
|
// },
|
||||||
|
// designgzb: {
|
||||||
|
// whitePage: '/design/login?project=gzb',
|
||||||
|
// systemType: '014'
|
||||||
|
// },
|
||||||
|
// designxadt: {
|
||||||
|
// whitePage: '/design/login?project=xadt',
|
||||||
|
// systemType: '012'
|
||||||
|
// },
|
||||||
|
// designjyd: {
|
||||||
|
// whitePage: '/design/login?project=jyd',
|
||||||
|
// systemType: '017'
|
||||||
|
// },
|
||||||
|
// designtky: {
|
||||||
|
// whitePage: '/design/login?project=tky',
|
||||||
|
// systemType: '018'
|
||||||
|
// },
|
||||||
|
// designbxkc: {
|
||||||
|
// whitePage: '/design/login?project=bxkc',
|
||||||
|
// systemType: '011'
|
||||||
|
// },
|
||||||
|
// designcrsc: {
|
||||||
|
// whitePage: '/design/login?project=crsc',
|
||||||
|
// systemType: '011'
|
||||||
|
// },
|
||||||
|
// xty: {
|
||||||
|
// whitePage: '/login?project=xty',
|
||||||
|
// systemType: '013'
|
||||||
|
// },
|
||||||
|
// gzb: {
|
||||||
|
// whitePage: '/login?project=gzb',
|
||||||
|
// systemType: '014'
|
||||||
|
// },
|
||||||
|
// xadt: {
|
||||||
|
// whitePage: '/login?project=xadt',
|
||||||
|
// systemType: '012'
|
||||||
|
// },
|
||||||
|
// jyd: {
|
||||||
|
// whitePage: '/login?project=jyd',
|
||||||
|
// systemType: '017'
|
||||||
|
// },
|
||||||
|
// tky: {
|
||||||
|
// whitePage: '/login?project=tky',
|
||||||
|
// systemType: '018'
|
||||||
|
// },
|
||||||
|
// bxkc: {
|
||||||
|
// whitePage: '/login?project=bxkc',
|
||||||
|
// systemType: '011'
|
||||||
|
// },
|
||||||
|
// crsc: {
|
||||||
|
// whitePage: '/login?project=crsc',
|
||||||
|
// systemType: '011'
|
||||||
|
// },
|
||||||
|
// jsxt: {
|
||||||
|
// whitePage: '/jsxt/login',
|
||||||
|
// systemType: '015'
|
||||||
|
// },
|
||||||
|
// refereeJsxt: {
|
||||||
|
// whitePage: '/refereeJsxt/login',
|
||||||
|
// systemType: '015'
|
||||||
|
// }
|
||||||
|
// };
|
||||||
export const ProjectList = [
|
export const ProjectList = [
|
||||||
{value:'xty', label:'西铁院'},
|
{value:'xty', label:'西铁院'},
|
||||||
{value: 'gzb', label: '贵州装备'},
|
{value: 'gzb', label: '贵州装备'},
|
||||||
|
@ -335,6 +335,13 @@ const map = {
|
|||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
floodGateList: (state) => {
|
||||||
|
if (state.map) {
|
||||||
|
return state.map.floodGateList;
|
||||||
|
} else {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
},
|
||||||
buttonList: (state) => {
|
buttonList: (state) => {
|
||||||
if (state.map) {
|
if (state.map) {
|
||||||
return state.map.buttonList;
|
return state.map.buttonList;
|
||||||
|
211
src/views/newMap/newMapdraft/mapoperate/floodGate.vue
Normal file
211
src/views/newMap/newMapdraft/mapoperate/floodGate.vue
Normal file
@ -0,0 +1,211 @@
|
|||||||
|
<template>
|
||||||
|
<el-tabs v-model="activeName" class="card">
|
||||||
|
<el-tab-pane class="view-control" :label="$t('map.property')" name="first" :lazy="lazy">
|
||||||
|
<operate-property
|
||||||
|
ref="dataform"
|
||||||
|
:form="dataForm"
|
||||||
|
:edit-model="editModel"
|
||||||
|
:rules="rules"
|
||||||
|
type="Resource"
|
||||||
|
@updateMapModel="updateMapModel"
|
||||||
|
/>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane class="view-control" :label="$t('map.newConstruction')" name="second" :lazy="lazy">
|
||||||
|
<create-operate
|
||||||
|
ref="createForm"
|
||||||
|
:create-form="makeForm"
|
||||||
|
:add-model="addModel"
|
||||||
|
:create-rules="rules"
|
||||||
|
@create="create"
|
||||||
|
/>
|
||||||
|
</el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { mapGetters } from 'vuex';
|
||||||
|
import { getUID } from '@/jmapNew/utils/Uid';
|
||||||
|
import OperateProperty from './components/operateProperty';
|
||||||
|
import CreateOperate from './components/createOperate';
|
||||||
|
import { deepAssign } from '@/utils/index';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'FloodGate',
|
||||||
|
components: {
|
||||||
|
OperateProperty,
|
||||||
|
CreateOperate
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
selected: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
activeName: 'first',
|
||||||
|
lazy: true,
|
||||||
|
mapData: null,
|
||||||
|
editModel: {
|
||||||
|
code: '',
|
||||||
|
width: '',
|
||||||
|
height: '',
|
||||||
|
name: '',
|
||||||
|
position: {
|
||||||
|
x: 0,
|
||||||
|
y: 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
addModel: {
|
||||||
|
width: 8,
|
||||||
|
height: 20,
|
||||||
|
name: '',
|
||||||
|
position: {
|
||||||
|
x: 0,
|
||||||
|
y: 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
width: [
|
||||||
|
{ required: true, message: '请输入防淹门宽度', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
height: [
|
||||||
|
{ required: true, message: '请输入防淹门高度', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
'position.x': [
|
||||||
|
{ required: true, message: '请输入x坐标', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
'position.y': [
|
||||||
|
{ required: true, message: '请输入y坐标', trigger: 'blur' }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters('map', [
|
||||||
|
'floodGateList'
|
||||||
|
]),
|
||||||
|
dataForm() {
|
||||||
|
const form = {
|
||||||
|
labelWidth: '130px',
|
||||||
|
items: {
|
||||||
|
code: {
|
||||||
|
name: '',
|
||||||
|
item: []
|
||||||
|
},
|
||||||
|
draw: {
|
||||||
|
name: this.$t('map.drawData'),
|
||||||
|
item: [
|
||||||
|
{ prop: 'code', label: `${this.$t('map.floodGate')}${this.$t('map.code')}`, type: 'select', optionLabel: 'code', optionValue: 'code', options: this.resourceList, deviceChange: this.deviceChange },
|
||||||
|
{ prop: 'width', label: '宽度:', type: 'number', min: 0 },
|
||||||
|
{ prop: 'height', label: '高度:', type: 'number', min: 0 },
|
||||||
|
{ prop: 'position', label: '坐标:', type: 'coordinate', width: '120px', children: [
|
||||||
|
{ prop: 'position.x', firstLevel: 'position', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '20px' },
|
||||||
|
{ prop: 'position.y', firstLevel: 'position', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '20px' }
|
||||||
|
] }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
map: {
|
||||||
|
name: this.$t('map.mapData'),
|
||||||
|
item: []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return form;
|
||||||
|
},
|
||||||
|
makeForm() {
|
||||||
|
const form = {
|
||||||
|
labelWidth: '150px',
|
||||||
|
items:{
|
||||||
|
all:{
|
||||||
|
name:'',
|
||||||
|
item: [
|
||||||
|
{ prop: 'width', label: '宽度:', type: 'number', min: 0 },
|
||||||
|
{ prop: 'height', label: '高度:', type: 'number', min: 0 },
|
||||||
|
{ prop: 'position', label: '坐标:', type: 'coordinate', width: '140px', children: [
|
||||||
|
{ prop: 'position.x', firstLevel: 'position', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '20px' },
|
||||||
|
{ prop: 'position.y', firstLevel: 'position', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '20px' }
|
||||||
|
] }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
return form;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
deviceChange(code) {
|
||||||
|
this.$emit('setCenter', code);
|
||||||
|
this.deviceSelect(this.$store.getters['map/getDeviceByCode'](code));
|
||||||
|
},
|
||||||
|
deviceSelect(selected) {
|
||||||
|
this.$refs.form && this.$refs.form.resetFields();
|
||||||
|
this.$refs.make && this.$refs.make.resetFields();
|
||||||
|
if (selected && selected._type.toUpperCase() === 'FloodGate'.toUpperCase()) {
|
||||||
|
this.activeName = 'first';
|
||||||
|
this.editModel = deepAssign(this.editModel, selected);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
create() {
|
||||||
|
const uid = getUID('FloodGate', this.floodGateList || []);
|
||||||
|
const model = {
|
||||||
|
_type: 'FloodGate',
|
||||||
|
code: uid,
|
||||||
|
name: uid,
|
||||||
|
width: this.addModel.width,
|
||||||
|
height: this.addModel.height,
|
||||||
|
position: {
|
||||||
|
x: this.addModel.position.x,
|
||||||
|
y: this.addModel.position.y
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.$emit('updateMapModel', model);
|
||||||
|
this.$refs.createForm.resetForm();
|
||||||
|
},
|
||||||
|
updateMapModel(data) {
|
||||||
|
this.$emit('updateMapModel', data);
|
||||||
|
},
|
||||||
|
deleteObj() {
|
||||||
|
this.$refs.dataform.deleteObj();
|
||||||
|
},
|
||||||
|
// 修改对象
|
||||||
|
edit() {
|
||||||
|
this.$refs.dataform.edit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
|
@import "src/styles/mixin.scss";
|
||||||
|
.card {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.coordinate {
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
text-align: right;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #606266;
|
||||||
|
line-height: 40px;
|
||||||
|
padding: 0 12px 0 0;
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
line-height: 28px;
|
||||||
|
width: 160px;
|
||||||
|
font-weight: bold;
|
||||||
|
display: block;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.map-draft-group {
|
||||||
|
color: #3E44BE;
|
||||||
|
}
|
||||||
|
</style>
|
@ -64,6 +64,7 @@ import ControlLamp from './controlLamp';
|
|||||||
import SplitStation from './splitStation';
|
import SplitStation from './splitStation';
|
||||||
import Arrow from './arrow';
|
import Arrow from './arrow';
|
||||||
import SplitScreen from './splitScreen';
|
import SplitScreen from './splitScreen';
|
||||||
|
import FloodGate from './floodGate';
|
||||||
import { EventBus } from '@/scripts/event-bus';
|
import { EventBus } from '@/scripts/event-bus';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -91,7 +92,8 @@ export default {
|
|||||||
ControlLamp,
|
ControlLamp,
|
||||||
SplitStation,
|
SplitStation,
|
||||||
Arrow,
|
Arrow,
|
||||||
SplitScreen
|
SplitScreen,
|
||||||
|
FloodGate
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
selected: {
|
selected: {
|
||||||
@ -129,7 +131,8 @@ export default {
|
|||||||
{label:this.$t('map.image'), name:'Resource', menus:ImageControlDraft},
|
{label:this.$t('map.image'), name:'Resource', menus:ImageControlDraft},
|
||||||
{label:this.$t('map.boundingBox'), name:'CheckBox', menus:CheckboxDraft},
|
{label:this.$t('map.boundingBox'), name:'CheckBox', menus:CheckboxDraft},
|
||||||
{label:'站间分隔', name:'SplitStation', menus:SplitStation},
|
{label:'站间分隔', name:'SplitStation', menus:SplitStation},
|
||||||
{label:'箭头', name:'Arrow', menus:Arrow}
|
{label:'箭头', name:'Arrow', menus:Arrow},
|
||||||
|
{label: '防淹门', name: 'FloodGate', menus: FloodGate}
|
||||||
],
|
],
|
||||||
selectDevice:'',
|
selectDevice:'',
|
||||||
enabledTab: 'Section',
|
enabledTab: 'Section',
|
||||||
|
Loading…
Reference in New Issue
Block a user