初始化按计划行车状态and其他调整

This commit is contained in:
fan 2020-03-09 17:38:15 +08:00
parent 2b971cdf12
commit 7f4e6fb13c
12 changed files with 294 additions and 129 deletions

View File

@ -587,5 +587,9 @@ export default {
logicalSectionEndOffset: 'Logical section start offset:', logicalSectionEndOffset: 'Logical section start offset:',
associateSwitchSection: 'Associate switch section:', associateSwitchSection: 'Associate switch section:',
failedToSetParkingPointOffset: 'failed to set parking point offset: the actual length of the section is less than the offset distance.', failedToSetParkingPointOffset: 'failed to set parking point offset: the actual length of the section is less than the offset distance.',
correlationWindow: 'Correlation window' correlationWindow: 'Correlation window',
showConditions: 'Show conditions:',
localCenter: 'Local&Center',
local: 'Local',
center: 'Center'
}; };

View File

@ -580,5 +580,9 @@ export default {
logicalSectionEndOffset: '逻辑区段终点偏移:', logicalSectionEndOffset: '逻辑区段终点偏移:',
associateSwitchSection: '关联道岔区段:', associateSwitchSection: '关联道岔区段:',
failedToSetParkingPointOffset: '设置停车点偏移量失败:区段实际长度小于偏移距离。', failedToSetParkingPointOffset: '设置停车点偏移量失败:区段实际长度小于偏移距离。',
correlationWindow: '关联车次窗' correlationWindow: '关联车次窗',
showConditions: '显示条件:',
localCenter: '现地&行调',
local: '现地',
center: '行调'
}; };

View File

@ -134,18 +134,18 @@ class SkinCode extends defaultStyle {
color: '#7F7F7F' // 区段边界符颜色 color: '#7F7F7F' // 区段边界符颜色
}, },
block: { block: {
special: false, // 区段特殊显示 special: false // 区段特殊显示
}, },
trainPosition:{ trainPosition:{
display: false // 列车实时位置显示 display: false // 列车实时位置显示
} }
}; };
this[deviceType.Signal] = { this[deviceType.Signal] = {
distance: 0, // 设备距离区段的距离 distance: 0, // 设备距离区段的距离
post: { post: {
standardLength: 6, // 高柱长度 standardLength: 6, // 高柱长度
standardHeight: 6, // 灯柱高度 standardHeight: 6, // 灯柱高度
standardColor: '#5578B6', // 灯灯柱颜色 standardColor: '#5578B6', // 灯灯柱颜色
standardWidth: 1.5 // 灯柱宽度 standardWidth: 1.5 // 灯柱宽度
}, },
@ -212,7 +212,7 @@ class SkinCode extends defaultStyle {
this[deviceType.MapCycleButtonVO] = { this[deviceType.MapCycleButtonVO] = {
// 是否显示 // 是否显示
visible: true, visibleConditions: ['01'],
text: { text: {
fontSize: 11, // 字体大小 fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细 fontWeight: 'normal', // 字体粗细
@ -221,13 +221,13 @@ class SkinCode extends defaultStyle {
subtitleText: { subtitleText: {
fontSize: 11, // 字体大小 fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细 fontWeight: 'normal', // 字体粗细
distance: 17 // 等于副标题距离 distance: 17 // 等于副标题距离
}, },
lamp: { lamp: {
lineDash: null, // 灯的包围框 lineDash: null, // 灯的包围框
borderShow: false, // 是否显示边框 borderShow: false, // 是否显示边框
stroke: '#FFFFFF', // 框的颜色 stroke: '#FFFFFF', // 框的颜色
fill: 'rgba(0,0,0,0)', // 填充色 fill: 'rgba(0,0,0,0)', // 填充色
radiusR: 6, // 控制灯大小 radiusR: 6, // 控制灯大小
controlColor: '#b5b3b3' // 控制灯颜色 (灰色) controlColor: '#b5b3b3' // 控制灯颜色 (灰色)
}, },
@ -295,7 +295,7 @@ class SkinCode extends defaultStyle {
}, },
lamp: { lamp: {
radiusR: 6, // 控制灯大小 radiusR: 6, // 控制灯大小
lampColor: '#5A5D5A' // 功能按钮颜色 lampColor: '#5A5D5A' // 功能按钮颜色
} }
}; };
@ -396,8 +396,8 @@ class SkinCode extends defaultStyle {
monolockColor: '#870E10' // 道岔单锁颜色 monolockColor: '#870E10' // 道岔单锁颜色
}, },
sectionAction: { sectionAction: {
flag: false, // 道岔 关联区段显示 flag: false, // 道岔 关联区段显示
spareColor: '#5b5b5b', // 区段显示颜色 spareColor: '#5b5b5b' // 区段显示颜色
}, },
core: { core: {
length: 6 // 道岔单边长度 length: 6 // 道岔单边长度
@ -408,7 +408,7 @@ class SkinCode extends defaultStyle {
rectShow: false // 道岔单锁 矩形框是否显示 rectShow: false // 道岔单锁 矩形框是否显示
}, },
block: { // 道岔封锁配置 block: { // 道岔封锁配置
blockName: 'default', // 默认道岔封锁类型 blockName: 'default', // 默认道岔封锁类型
nameBorderShow: true, // 道岔名称是否有包围框 显示 nameBorderShow: true, // 道岔名称是否有包围框 显示
contentRectShow: false // 道岔封锁显示 contentRectShow: false // 道岔封锁显示
}, },
@ -499,7 +499,7 @@ class SkinCode extends defaultStyle {
distance: 5 // 灯跟文字距离 distance: 5 // 灯跟文字距离
}, },
lamp: { lamp: {
fill: 'rgba(0,0,0,0)', // 填充色 fill: 'rgba(0,0,0,0)', // 填充色
radiusR: 6, // 控制灯大小 radiusR: 6, // 控制灯大小
controlColor: '#b5b3b3' // 控制灯颜色 (灰色) controlColor: '#b5b3b3' // 控制灯颜色 (灰色)
} }

View File

@ -137,18 +137,18 @@ class SkinCode extends defaultStyle {
distance: 5 // 限速线距离区段距离 distance: 5 // 限速线距离区段距离
}, },
block: { block: {
special: false, // 区段特殊显示 special: false // 区段特殊显示
}, },
trainPosition:{ trainPosition:{
display: false // 列车实时位置显示 display: false // 列车实时位置显示
} }
}; };
this[deviceType.Signal] = { this[deviceType.Signal] = {
distance: 10, // 设备距离区段的距离 distance: 10, // 设备距离区段的距离
post: { post: {
standardLength: 6, // 高柱长度 standardLength: 6, // 高柱长度
standardHeight: 6, // 灯柱高度 standardHeight: 6, // 灯柱高度
standardColor: '#FFFFFF', // 灯柱颜色 standardColor: '#FFFFFF', // 灯柱颜色
standardWidth: 2 // 灯柱宽度 standardWidth: 2 // 灯柱宽度
}, },
@ -228,7 +228,7 @@ class SkinCode extends defaultStyle {
designatedJumpStopColor: '#808080' // 站台指定列车跳停颜色 designatedJumpStopColor: '#808080' // 站台指定列车跳停颜色
}, },
standEmergent: { // 紧急关闭 standEmergent: { // 紧急关闭
flicker: true, // 闪烁 flicker: true, // 闪烁
mergentR: 5, // 站台紧急关闭半径 mergentR: 5, // 站台紧急关闭半径
offset: {x: 0, y: 15}, // 站台紧急关闭偏移量 offset: {x: 0, y: 15}, // 站台紧急关闭偏移量
closeColor: '#F61107' // 站台紧急关闭颜色 closeColor: '#F61107' // 站台紧急关闭颜色
@ -275,7 +275,7 @@ class SkinCode extends defaultStyle {
}, },
lamp: { lamp: {
radiusR: 6, // 控制灯大小 radiusR: 6, // 控制灯大小
lampColor: '#5A5D5A' // 功能按钮颜色 lampColor: '#5A5D5A' // 功能按钮颜色
} }
}; };
@ -310,7 +310,7 @@ class SkinCode extends defaultStyle {
lamp: { lamp: {
radiusR: 6, // 控制灯大小 radiusR: 6, // 控制灯大小
controlColor: '#FFFF00', // 控制灯颜色 controlColor: '#FFFF00', // 控制灯颜色
guideColor: '#5A5D5A' // 引导总锁灯颜色 guideColor: '#5A5D5A' // 引导总锁灯颜色
}, },
turnBack: { // 按图折返 turnBack: { // 按图折返
lamp: 1, // 灯数量 lamp: 1, // 灯数量
@ -368,8 +368,8 @@ class SkinCode extends defaultStyle {
monolockColor: '#FFFFFF' // 道岔单锁颜色 monolockColor: '#FFFFFF' // 道岔单锁颜色
}, },
sectionAction: { sectionAction: {
flag: false, // 道岔 关联区段显示 flag: false, // 道岔 关联区段显示
spareColor: '#5b5b5b', // 区段显示颜色 spareColor: '#5b5b5b' // 区段显示颜色
}, },
core: { core: {
length: 6 // 道岔单边长度 length: 6 // 道岔单边长度
@ -382,7 +382,7 @@ class SkinCode extends defaultStyle {
rectBorderColor: '#fff' // 矩形边框颜色 rectBorderColor: '#fff' // 矩形边框颜色
}, },
block: { // 道岔封锁配置 block: { // 道岔封锁配置
blockName: 'default', // 默认道岔封锁类型 blockName: 'default', // 默认道岔封锁类型
nameBorderShow: false, // 道岔名称是否有包围框 显示 nameBorderShow: false, // 道岔名称是否有包围框 显示
contentRectShow: true, // 道岔封锁显示 contentRectShow: true, // 道岔封锁显示
contentRectColor: 'red' // 道岔封锁边框颜色 contentRectColor: 'red' // 道岔封锁边框颜色
@ -439,12 +439,12 @@ class SkinCode extends defaultStyle {
subtitleText: { subtitleText: {
fontSize: 11, // 字体大小 fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细 fontWeight: 'normal', // 字体粗细
distance: 17 // 等于副标题距离 distance: 17 // 等于副标题距离
}, },
lamp: { lamp: {
lineDash: null, // 灯的包围框 lineDash: null, // 灯的包围框
stroke: '#FFFFFF', // 框的颜色 stroke: '#FFFFFF', // 框的颜色
fill: 'rgba(0,0,0,0)', // 填充色 fill: 'rgba(0,0,0,0)', // 填充色
radiusR: 6, // 控制灯大小 radiusR: 6, // 控制灯大小
controlColor: '#b5b3b3' // 控制灯颜色 (灰色) controlColor: '#b5b3b3' // 控制灯颜色 (灰色)
} }
@ -458,11 +458,36 @@ class SkinCode extends defaultStyle {
distance: 5 // 灯跟文字距离 distance: 5 // 灯跟文字距离
}, },
lamp: { lamp: {
fill: 'rgba(0,0,0,0)', // 填充色 fill: 'rgba(0,0,0,0)', // 填充色
radiusR: 6, // 控制灯大小 radiusR: 6, // 控制灯大小
controlColor: '#b5b3b3' // 控制灯颜色 (灰色) controlColor: '#b5b3b3' // 控制灯颜色 (灰色)
} }
}; };
this[deviceType.MapCycleButtonVO] = {
// 是否显示
visibleConditions: ['01'],
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
subtitleText: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 17 // 等于副标题距离
},
lamp: {
borderShow: false, // 是否显示边框
lineDash: null, // 灯的包围框
stroke: '#FFFFFF', // 框的颜色
fill: 'rgba(0,0,0,0)', // 填充色
radiusR: 6, // 控制灯大小
controlColor: '#b5b3b3' // 控制灯颜色 (灰色)
},
OutFrame: {
}
};
this[deviceType.TrainWindow] = { this[deviceType.TrainWindow] = {
lineColor: '#4DD43F', // 车次窗颜色 lineColor: '#4DD43F', // 车次窗颜色
lineDash: null, // 车次窗虚线间隔 lineDash: null, // 车次窗虚线间隔

View File

@ -134,19 +134,19 @@ class SkinCode extends defaultStyle {
color: 'white' // 区段边界符颜色 color: 'white' // 区段边界符颜色
}, },
block: { block: {
special: false, // 区段特殊显示 special: false, // 区段特殊显示
blockGlint: true, // 区段封锁闪烁显示 blockGlint: true // 区段封锁闪烁显示
}, },
trainPosition:{ trainPosition:{
display: false // 列车实时位置显示 display: false // 列车实时位置显示
} }
}; };
this[deviceType.Signal] = { this[deviceType.Signal] = {
distance: 8, // 设备距离区段的距离 distance: 8, // 设备距离区段的距离
post: { post: {
standardLength: 6, // 高柱长度 standardLength: 6, // 高柱长度
standardHeight: 6, // 灯柱高度 standardHeight: 6, // 灯柱高度
standardColor: '#C0C0C0', // 灯柱颜色 standardColor: '#C0C0C0', // 灯柱颜色
standardWidth: 2 // 灯柱宽度 standardWidth: 2 // 灯柱宽度
}, },
@ -208,7 +208,7 @@ class SkinCode extends defaultStyle {
this[deviceType.MapCycleButtonVO] = { this[deviceType.MapCycleButtonVO] = {
// 是否显示 // 是否显示
visible: true, visibleConditions: ['01', '02'],
text: { text: {
fontSize: 11, // 字体大小 fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细 fontWeight: 'normal', // 字体粗细
@ -217,13 +217,13 @@ class SkinCode extends defaultStyle {
subtitleText: { subtitleText: {
fontSize: 11, // 字体大小 fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细 fontWeight: 'normal', // 字体粗细
distance: 17 // 等于副标题距离 distance: 17 // 等于副标题距离
}, },
lamp: { lamp: {
borderShow: true, // 是否显示边框 borderShow: true, // 是否显示边框
lineDash: null, // 灯的包围框 lineDash: null, // 灯的包围框
stroke: '#FFFFFF', // 框的颜色 stroke: '#FFFFFF', // 框的颜色
fill: 'rgba(0,0,0,0)', // 填充色 fill: 'rgba(0,0,0,0)', // 填充色
radiusR: 6, // 控制灯大小 radiusR: 6, // 控制灯大小
controlColor: '#b5b3b3' // 控制灯颜色 (灰色) controlColor: '#b5b3b3' // 控制灯颜色 (灰色)
}, },
@ -297,7 +297,7 @@ class SkinCode extends defaultStyle {
}, },
lamp: { lamp: {
radiusR: 6, // 控制灯大小 radiusR: 6, // 控制灯大小
lampColor: '#5A5D5A' // 功能按钮颜色 lampColor: '#5A5D5A' // 功能按钮颜色
} }
}; };
@ -368,8 +368,8 @@ class SkinCode extends defaultStyle {
substationControlShow: true, // 站控按钮显示 substationControlShow: true, // 站控按钮显示
interconnectedControlShow: false, // 联锁控显示 interconnectedControlShow: false, // 联锁控显示
centerControlButtonShow: true, // 中控显示 centerControlButtonShow: true, // 中控显示
stroke: '#FFFFFF', // 框的颜色 stroke: '#FFFFFF', // 框的颜色
fill: 'rgba(0,0,0,0)', // 填充色 fill: 'rgba(0,0,0,0)' // 填充色
}, },
arrow: { arrow: {
show: false // 控制模式箭头显隐 show: false // 控制模式箭头显隐
@ -388,12 +388,12 @@ class SkinCode extends defaultStyle {
borderColor: '#FE0000', // 道岔边框颜色 borderColor: '#FE0000', // 道岔边框颜色
lossColor: 'lightgreen', // 道岔失去颜色 lossColor: 'lightgreen', // 道岔失去颜色
locateColor: 'lightgreen', // 道岔定位颜色 locateColor: 'lightgreen', // 道岔定位颜色
inversionColor: '#FFFF00', // 道岔反位颜色 inversionColor: '#FFFF00', // 道岔反位颜色
monolockColor: '#FFFFFF' // 道岔单锁颜色 monolockColor: '#FFFFFF' // 道岔单锁颜色
}, },
sectionAction: { sectionAction: {
flag: false, // 道岔 关联区段显示 flag: false, // 道岔 关联区段显示
spareColor: '#5b5b5b', // 区段显示颜色 spareColor: '#5b5b5b' // 区段显示颜色
}, },
core: { core: {
length: 10 // 道岔单边长度 length: 10 // 道岔单边长度
@ -402,13 +402,13 @@ class SkinCode extends defaultStyle {
locationColor: '#FF0000', // 道岔单锁'定位'颜色 (红色) locationColor: '#FF0000', // 道岔单锁'定位'颜色 (红色)
inversionColor: '#FF0000', // 道岔单锁'反位'颜色 (红色) inversionColor: '#FF0000', // 道岔单锁'反位'颜色 (红色)
rectShow: false, // 道岔单锁 矩形框是否显示 rectShow: false, // 道岔单锁 矩形框是否显示
arcShow: true, // 道岔单锁 圆形显示 arcShow: true, // 道岔单锁 圆形显示
arcBorderColor: 'green', // 圆形单锁框边框颜色 arcBorderColor: 'green', // 圆形单锁框边框颜色
rectWidth: 22, // 矩形框 宽高 rectWidth: 22, // 矩形框 宽高
rectBorderColor: '#fff' // 矩形边框颜色 rectBorderColor: '#fff' // 矩形边框颜色
}, },
block: { // 道岔封锁配置 block: { // 道岔封锁配置
blockName: 'ningbo_01', // 默认道岔封锁类型 blockName: 'ningbo_01', // 默认道岔封锁类型
nameBorderShow: true, // 道岔名称是否有包围框 显示 nameBorderShow: true, // 道岔名称是否有包围框 显示
contentRectShow: false, // 道岔封锁显示 contentRectShow: false, // 道岔封锁显示
contentRectColor: 'red' // 道岔封锁边框颜色 contentRectColor: 'red' // 道岔封锁边框颜色
@ -465,7 +465,7 @@ class SkinCode extends defaultStyle {
distance: 5 // 灯跟文字距离 distance: 5 // 灯跟文字距离
}, },
lamp: { lamp: {
fill: 'rgba(0,0,0,0)', // 填充色 fill: 'rgba(0,0,0,0)', // 填充色
radiusR: 6, // 控制灯大小 radiusR: 6, // 控制灯大小
controlColor: '#b5b3b3' // 控制灯颜色 (灰色) controlColor: '#b5b3b3' // 控制灯颜色 (灰色)
} }

View File

@ -16,9 +16,18 @@ export default class Automactic extends Group {
this.zlevel = model.zlevel; this.zlevel = model.zlevel;
this.model = model; this.model = model;
this.style = style; this.style = style;
this.create(); const arr = window.location.href.split('?')[1].split('&');
this.createMouseEvent(); this.prdType = '';
this.setState(model); arr.forEach(elem => {
if (elem.split('=')[0] === 'prdType') {
this.prdType = elem.split('=')[1];
}
});
if (!this.prdType || this.style.AutomaticRoute.displayCondition.indexOf(this.prdType) !== -1) {
this.create();
this.createMouseEvent();
this.setState(model);
}
} }
create() { create() {

View File

@ -2,43 +2,50 @@ import Text from 'zrender/src/graphic/Text';
import Group from 'zrender/src/container/Group'; import Group from 'zrender/src/container/Group';
export default class Text2 extends Group { export default class Text2 extends Group {
constructor(model, style) { constructor(model, style) {
super(); super();
this._code = model.code; this._code = model.code;
this._type = model._type; this._type = model._type;
this.name = model.code; this.name = model.code;
this.zlevel = model.zlevel; this.zlevel = model.zlevel;
this.model = model; this.model = model;
this.style = style; this.style = style;
this.z = 6; this.z = 6;
this.create(); const arr = window.location.href.split('?')[1].split('&');
this.setState(model); this.prdType = '';
} arr.forEach(elem => {
if (elem.split('=')[0] === 'prdType') {
this.prdType = elem.split('=')[1];
}
});
this.create();
this.setState(model);
}
create() { create() {
var model = this.model; var model = this.model;
var [direction, content] = model.content.split('::'); var [direction, content] = model.content.split('::');
if (direction == 'V') { if (direction == 'V') {
content = content.split('').join('\n'); content = content.split('').join('\n');
} else if (direction != 'H') { } else if (direction != 'H') {
content = model.content; content = model.content;
} }
this.text = new Text({ this.text = new Text({
zlevel: this.zlevel, zlevel: this.zlevel,
z: this.z, z: this.z,
style: { style: {
x: model.position.x, x: model.position.x,
y: model.position.y, y: model.position.y,
text: content, text: content,
textFont: model.font, textFont: model.font,
textFill: model.fontColor, textFill: model.fontColor,
textAlign: 'middle' textAlign: 'middle'
} }
}); });
this.add(this.text); this.add(this.text);
} }
setState(model) { setState(model) {
} }
} }

View File

@ -3,7 +3,7 @@ export function getBaseUrl() {
let BASE_API; let BASE_API;
if (process.env.NODE_ENV === 'development') { if (process.env.NODE_ENV === 'development') {
// BASE_API = 'https://joylink.club/jlcloud'; // BASE_API = 'https://joylink.club/jlcloud';
BASE_API = 'https://test.joylink.club/jlcloud'; // BASE_API = 'https://test.joylink.club/jlcloud';
// BASE_API = 'http://192.168.3.5:9000'; // 袁琪 // BASE_API = 'http://192.168.3.5:9000'; // 袁琪
// BASE_API = 'http://192.168.3.6:9000'; // 旭强 // BASE_API = 'http://192.168.3.6:9000'; // 旭强
// BASE_API = 'http://192.168.3.41:9000'; // 张赛 // BASE_API = 'http://192.168.3.41:9000'; // 张赛

View File

@ -6,38 +6,81 @@
<el-form-item label="折返名称:" prop="name"> <el-form-item label="折返名称:" prop="name">
<el-input v-model="addModel.name" style="width: 178px" /> <el-input v-model="addModel.name" style="width: 178px" />
</el-form-item> </el-form-item>
<el-form-item label="所属车站:" prop="stationCode"> <el-form-item label="所属车站:" prop="stationCode">
<el-select v-model="addModel.stationCode" filterable> <el-select v-model="addModel.stationCode" filterable>
<el-option
v-for="item in stationList"
:key="item.code"
:label="item.name + ' (' + item.code+ ')'"
:value="item.code"
/>
</el-select>
</el-form-item>
<el-form-item label="折返进路:" prop="turnBackRouteName">
<el-input v-model="addModel.turnBackRouteName" readonly="true" style="width: 178px" />
<el-button type="primary" @click="selectedRoute('turnBackRoute')">选择</el-button>
</el-form-item>
<el-form-item label="基础进路:" prop="basicRouteName">
<el-input v-model="addModel.basicRouteName" readonly="true" style="width: 178px" />
<el-button type="primary" @click="selectedRoute('basicRoute')">选择</el-button>
</el-form-item>
<el-form-item label="折返区段:" prop="reentryTrackCode">
<el-select v-model="addModel.reentryTrackCode" filterable>
<el-option <el-option
v-for="item in sectionList" v-for="item in stationList"
:key="item.code" :key="item.code"
:label="item.name + ' (' + item.code+ ')'" :label="item.name + ' (' + item.code+ ')'"
:value="item.code" :value="item.code"
/> />
</el-select> </el-select>
<el-button
:type=" field === 'reentryTrackCode' ? 'danger' : 'primary'"
@click="hover('reentryTrackCode')"
>{{ $t('map.activate') }}</el-button>
</el-form-item> </el-form-item>
<el-card style="width: 400px;position: relative; left: 80px; padding-top: 10px; margin-bottom: 20px">
<el-form-item label="折返进路:" prop="turnBackRouteName" label-width="100px">
<el-input v-model="addModel.turnBackRouteName" readonly="true" style="width: 178px" />
<el-button type="primary" @click="selectedRoute('turnBackRoute')">选择</el-button>
</el-form-item>
<el-form-item label="基础进路:" prop="basicRouteName" label-width="100px">
<el-input v-model="addModel.basicRouteName" readonly="true" style="width: 178px" />
<el-button type="primary" @click="selectedRoute('basicRoute')">选择</el-button>
</el-form-item>
<el-form-item label="折返区段:" prop="reentryTrackCode" label-width="100px">
<el-select v-model="addModel.reentryTrackCode" filterable>
<el-option
v-for="item in sectionList"
:key="item.code"
:label="item.name + ' (' + item.code+ ')'"
:value="item.code"
/>
</el-select>
<el-button
:type=" field === 'reentryTrackCode' ? 'danger' : 'primary'"
@click="hover('reentryTrackCode')"
>{{ $t('map.activate') }}</el-button>
</el-form-item>
<el-button
v-show="!showSecond"
icon="el-icon-plus"
style="position: absolute; right: 10px; bottom: 10px;"
size="small"
circle
class="point-button"
@click="setShowSecond(true)"
/>
</el-card>
<el-card v-show="showSecond" style="width: 400px;position: relative; left: 80px; padding-top: 10px; margin-bottom: 20px">
<el-form-item label="折返进路2:" prop="turnBackRoute2Name" label-width="100px">
<el-input v-model="addModel.turnBackRoute2Name" readonly="true" style="width: 178px" />
<el-button type="primary" @click="selectedRoute('turnBackRoute2')">选择</el-button>
</el-form-item>
<el-form-item label="基础进路2:" prop="basicRoute2Name" label-width="100px">
<el-input v-model="addModel.basicRoute2Name" readonly="true" style="width: 178px" />
<el-button type="primary" @click="selectedRoute('basicRoute2')">选择</el-button>
</el-form-item>
<el-form-item label="折返区段2:" prop="reentryTrack2Code" label-width="100px">
<el-select v-model="addModel.reentryTrack2Code" filterable>
<el-option
v-for="item in sectionList"
:key="item.code"
:label="item.name + ' (' + item.code+ ')'"
:value="item.code"
/>
</el-select>
<el-button
:type=" field === 'reentryTrack2Code' ? 'danger' : 'primary'"
@click="hover('reentryTrack2Code')"
>{{ $t('map.activate') }}</el-button>
</el-form-item>
<el-button
icon="el-icon-minus"
style="position: absolute; right: 10px; bottom: 10px;"
size="small"
circle
class="point-button"
@click="setShowSecond(false)"
/>
</el-card>
<el-form-item> <el-form-item>
<el-button-group> <el-button-group>
<el-button v-if="isSave" type="primary" size="small" :loading="loading" @click="save">{{ $t('map.save') }} <el-button v-if="isSave" type="primary" size="small" :loading="loading" @click="save">{{ $t('map.save') }}
@ -92,6 +135,7 @@ export default {
field: '', field: '',
isSave: true, isSave: true,
loading: false, loading: false,
showSecond: false,
addModel: { addModel: {
id: '', id: '',
code: '', code: '',
@ -103,7 +147,12 @@ export default {
turnBackRouteCode: '', turnBackRouteCode: '',
basicRouteCode:'', basicRouteCode:'',
priority: 0, priority: 0,
reentryTrackCode: '' reentryTrackCode: '',
turnBackRoute2Name: '',
basicRoute2Name: '',
reentryTrack2Code: null,
turnBackRoute2Code: null,
basicRoute2Code: null
}, },
editShow: false, editShow: false,
rules: { rules: {
@ -164,6 +213,9 @@ export default {
} }
} }
}, },
setShowSecond(flag) {
this.showSecond = flag;
},
buildModel(code) { buildModel(code) {
const model = Object.assign({}, this.addModel); const model = Object.assign({}, this.addModel);
if (code) { model['code'] = code; } if (code) { model['code'] = code; }
@ -207,6 +259,11 @@ export default {
this.addModel.basicRouteCode = ''; this.addModel.basicRouteCode = '';
this.addModel.turnBackRouteName = ''; this.addModel.turnBackRouteName = '';
this.addModel.turnBackRouteCode = ''; this.addModel.turnBackRouteCode = '';
this.addModel.turnBackRoute2Name = '';
this.addModel.basicRoute2Name = '';
this.addModel.reentryTrack2Code = null;
this.addModel.turnBackRoute2Code = null;
this.addModel.basicRoute2Code = null;
this.addModel.stationCode = ''; this.addModel.stationCode = '';
this.addModel.mapId = this.mapInfo.id; this.addModel.mapId = this.mapInfo.id;
this.addModel.code = ''; this.addModel.code = '';
@ -221,16 +278,36 @@ export default {
} else if (type === 'turnBackRoute') { } else if (type === 'turnBackRoute') {
this.addModel.turnBackRouteName = data.name; this.addModel.turnBackRouteName = data.name;
this.addModel.turnBackRouteCode = data.code; this.addModel.turnBackRouteCode = data.code;
} else if (type === 'basicRoute2') {
this.addModel.basicRoute2Name = data.name;
this.addModel.basicRoute2Code = data.code;
} else if (type === 'turnBackRoute2') {
this.addModel.turnBackRoute2Name = data.name;
this.addModel.turnBackRoute2Code = data.code;
} }
}, },
async handelRouteName(data) { async handelRouteName(data) {
const model = {}; const model = {
const resp1 = await getRouteNewList(this.$route.params.mapId, {pageSize:10, pageNum:1, code: data.basicRouteCode}); reentryTrack2Code: null,
model.basicRouteName = resp1.data.list.length ? resp1.data.list[0].name : ''; turnBackRoute2Code: null,
basicRoute2Code: null
const resp2 = await getRouteNewList(this.$route.params.mapId, {pageSize:10, pageNum:1, code: data.turnBackRouteCode}); };
model.turnBackRouteName = resp2.data.list.length ? resp2.data.list[0].name : ''; const resp1 = await getRouteNewList(this.$route.params.mapId, {pageSize:9999, pageNum:1});
if (resp1 && resp1.code == '200') {
resp1.data.list.forEach(item => {
if (item.code === data.turnBackRouteCode) {
model.turnBackRouteName = item.name;
} else if (item.code === data.basicRouteCode) {
model.basicRouteName = item.name;
} else if (item.code === data.turnBackRoute2Code) {
model.turnBackRoute2Name = item.name;
} else if (item.code === data.basicRoute2Code) {
model.basicRoute2Name = item.name;
}
});
} else {
this.$messageBox('获取进路列表失败!');
}
this.addModel = deepAssign(model, data); this.addModel = deepAssign(model, data);
} }
} }

View File

@ -28,6 +28,13 @@
<el-form-item :label="$t('map.lineWidth')" prop="width"> <el-form-item :label="$t('map.lineWidth')" prop="width">
<el-input-number v-model="addModel.width" :min="1" />px <el-input-number v-model="addModel.width" :min="1" />px
</el-form-item> </el-form-item>
<el-form-item :label="$t('map.showConditions')" prop="showConditions">
<el-radio-group v-model="addModel.showConditions">
<el-radio label="01">{{ $t('map.localCenter') }}</el-radio>
<el-radio label="02">{{ $t('map.center') }}</el-radio>
<el-radio label="03">{{ $t('map.local') }}</el-radio>
</el-radio-group>
</el-form-item>
<div class="coordinate"> <div class="coordinate">
<span class="title">{{ $t('map.linePoint') }}</span> <span class="title">{{ $t('map.linePoint') }}</span>
<div class="point-section"> <div class="point-section">
@ -101,15 +108,22 @@ export default {
return { return {
activeName: 'first', activeName: 'first',
LineTypeList: [], LineTypeList: [],
showConditionsList: [
{ label: this.$t('map.localCenter'), value: '01'},
{ label: this.$t('map.center'), value: '02' },
{ label: this.$t('map.local'), value: '03'}
],
editModel: { editModel: {
code: '', code: '',
type: '', type: '',
width: 1, width: 1,
showConditions: '01',
points: [] points: []
}, },
addModel: { addModel: {
type: '', type: '',
width: 1, width: 1,
showConditions: '01',
points: [ points: [
{ x: 0, y: 0 }, { x: 0, y: 0 },
{ x: 100, y: 100 } { x: 100, y: 100 }
@ -159,6 +173,7 @@ export default {
{ prop: 'code', label: this.$t('map.lineCoding'), type: 'select', optionLabel: 'code', optionValue: 'code', options: this.lineList, change: true, deviceChange: this.deviceChange }, { prop: 'code', label: this.$t('map.lineCoding'), type: 'select', optionLabel: 'code', optionValue: 'code', options: this.lineList, change: true, deviceChange: this.deviceChange },
{ prop: 'type', label: this.$t('map.lineType'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.LineTypeList }, { prop: 'type', label: this.$t('map.lineType'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.LineTypeList },
{ prop: 'width', label: this.$t('map.lineWidth'), type: 'number', min: 1, placeholder: 'px' }, { prop: 'width', label: this.$t('map.lineWidth'), type: 'number', min: 1, placeholder: 'px' },
{ prop: 'showConditions', label: this.$t('map.showConditions'), type: 'radio', optionLabel: 'label', optionValue:'value', radioList: this.showConditionsList},
{ prop: 'points', label: this.$t('map.segmentCoordinates'), type: 'points', width: '100px', isHidden: !this.isPointsShow, addPoint: this.addPoint, delPoint: this.delPoint } { prop: 'points', label: this.$t('map.segmentCoordinates'), type: 'points', width: '100px', isHidden: !this.isPointsShow, addPoint: this.addPoint, delPoint: this.delPoint }
] ]
}, },

View File

@ -102,10 +102,16 @@ export default {
return { return {
activeName: 'first', activeName: 'first',
LineTypeList: [], LineTypeList: [],
showConditionsList: [
{ label: this.$t('map.localCenter'), value: '01'},
{ label: this.$t('map.center'), value: '02' },
{ label: this.$t('map.local'), value: '03'}
],
editModel: { editModel: {
code: '', code: '',
width: 1, width: 1,
height: 1, height: 1,
showConditions: '01',
position: { position: {
x: 0, x: 0,
y: 0 y: 0
@ -115,6 +121,7 @@ export default {
code: '', code: '',
width: 200, width: 200,
height: 100, height: 100,
showConditions: '01',
position: { position: {
x: 0, x: 0,
y: 0 y: 0
@ -158,10 +165,11 @@ export default {
{ prop: 'code', label: this.$t('map.lineCoding'), type: 'select', optionLabel: 'code', optionValue: 'code', options: this.outerFrameList, change: true, deviceChange: this.deviceChange }, { prop: 'code', label: this.$t('map.lineCoding'), type: 'select', optionLabel: 'code', optionValue: 'code', options: this.outerFrameList, change: true, deviceChange: this.deviceChange },
{ prop: 'width', label: '宽度:', type: 'number', min: 1, placeholder: 'px' }, { prop: 'width', label: '宽度:', type: 'number', min: 1, placeholder: 'px' },
{ prop: 'height', label: '高度:', type: 'number', min: 1, placeholder: 'px' }, { prop: 'height', label: '高度:', type: 'number', min: 1, placeholder: 'px' },
{ prop: 'showConditions', label: this.$t('map.showConditions'), type: 'radio', optionLabel: 'label', optionValue:'value', radioList: this.showConditionsList},
{ prop: 'position', label: '坐标:', type: 'coordinate', width: '140px', children: [ { prop: 'position', label: '坐标:', type: 'coordinate', width: '140px', children: [
{ prop: 'position.x', firstLevel: 'position', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '20px' }, { 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' } { prop: 'position.y', firstLevel: 'position', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '20px' }
] }, ] }
] ]
} }
} }
@ -177,14 +185,15 @@ export default {
item: [ item: [
{ prop: 'width', label: '宽度:', type: 'number', min: 1, placeholder: 'px' }, { prop: 'width', label: '宽度:', type: 'number', min: 1, placeholder: 'px' },
{ prop: 'height', label: '高度:', type: 'number', min: 1, placeholder: 'px' }, { prop: 'height', label: '高度:', type: 'number', min: 1, placeholder: 'px' },
{ prop: 'showConditions', label: this.$t('map.showConditions'), type: 'radio', optionLabel: 'label', optionValue:'value', radioList: this.showConditionsList},
{ prop: 'position', label: '坐标:', type: 'coordinate', width: '110px', children: [ { prop: 'position', label: '坐标:', type: 'coordinate', width: '110px', children: [
{ prop: 'position.x', firstLevel: 'position', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '20px' }, { 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' } { prop: 'position.y', firstLevel: 'position', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '20px' }
] }, ] }
] ]
} }
} }
} };
}, },
isPointsShow() { isPointsShow() {
return this.editModel.points.length > 0; return this.editModel.points.length > 0;

View File

@ -25,6 +25,13 @@
</el-select> </el-select>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('map.showConditions')" prop="showConditions">
<el-radio-group v-model="addModel.showConditions">
<el-radio label="01">{{ $t('map.localCenter') }}</el-radio>
<el-radio label="02">{{ $t('map.center') }}</el-radio>
<el-radio label="03">{{ $t('map.local') }}</el-radio>
</el-radio-group>
</el-form-item>
<div class="coordinate"> <div class="coordinate">
<span class="title" style="width: 110px">{{ $t('map.textPoints') }}</span> <span class="title" style="width: 110px">{{ $t('map.textPoints') }}</span>
<el-form-item <el-form-item
@ -79,12 +86,18 @@ export default {
return { return {
activeName: 'first', activeName: 'first',
skins: [], skins: [],
showConditionsList: [
{ label: this.$t('map.localCenter'), value: '01'},
{ label: this.$t('map.center'), value: '02' },
{ label: this.$t('map.local'), value: '03'}
],
editModel: { editModel: {
code: '', code: '',
prepend: 'H', prepend: 'H',
content: '', content: '',
font: '', font: '',
fontColor: '', fontColor: '',
showConditions: '',
position: { position: {
x: 0, x: 0,
y: 0 y: 0
@ -93,6 +106,7 @@ export default {
addModel: { addModel: {
prepend: 'H', prepend: 'H',
content: '', content: '',
showConditions: '',
position: { position: {
x: 0, x: 0,
y: 0 y: 0
@ -149,6 +163,7 @@ export default {
{ prop: 'content', label: this.$t('map.textContent'), type: 'fontContent', content: 'content', prepend: 'prepend', placeholder: this.$t('map.pleaseEnter') }, { prop: 'content', label: this.$t('map.textContent'), type: 'fontContent', content: 'content', prepend: 'prepend', placeholder: this.$t('map.pleaseEnter') },
{ prop: 'font', label: this.$t('map.textFont'), type: 'font', placeholder: this.$t('map.font') }, { prop: 'font', label: this.$t('map.textFont'), type: 'font', placeholder: this.$t('map.font') },
{ prop: 'fontColor', label: this.$t('map.textFontColor'), type: 'color' }, { prop: 'fontColor', label: this.$t('map.textFontColor'), type: 'color' },
{ prop: 'showConditions', label: this.$t('map.showConditions'), type: 'radio', optionLabel: 'label', optionValue:'value', radioList: this.showConditionsList},
{ prop: 'position', label: this.$t('map.textPoints'), type: 'coordinate', width: '120px', children: [ { prop: 'position', label: this.$t('map.textPoints'), type: 'coordinate', width: '120px', children: [
{ prop: 'position.x', firstLevel: 'position', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '25px', disabled: false }, { prop: 'position.x', firstLevel: 'position', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '25px', disabled: false },
{ prop: 'position.y', firstLevel: 'position', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '25px', disabled: false } { prop: 'position.y', firstLevel: 'position', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '25px', disabled: false }