bug修改:
逻辑区段修改 导致逻辑区段起终点坐标出现错误问题 逻辑区段修改坐标 导致相邻物理区段坐标出现问题 功能: 增加线路配置:信号封锁下进路是否可以办理
This commit is contained in:
parent
f21cfd2256
commit
9aef723b3f
@ -116,18 +116,18 @@ class SkinCode extends defaultStyle {
|
||||
speedLimitName: {
|
||||
z: 10,
|
||||
leftName: true, // 左侧限速值是否展示
|
||||
rightName: false, // 右侧限速值是否展示
|
||||
rightName: false, // 右侧限速值是否展示
|
||||
nameBackgroundIsRect: true, // 限速值背景是否为矩形
|
||||
nameBackgroundBorderWidth: 0, // 限速值背景是否边框宽度
|
||||
nameBackgroundBorderColor: '#C00808', // 限速值背景边框颜色
|
||||
limitValueDistance: 18,
|
||||
kilometerFontSize: 0, // 公里标大小
|
||||
nameAlone: true, // 只显示一个限速名称
|
||||
kilometerFontSize: 0, // 公里标大小
|
||||
nameAlone: true, // 只显示一个限速名称
|
||||
nameNumberFontSize: 11, // 限速值大小
|
||||
nameNumberColor: '#C00808', // 限速值颜色
|
||||
nameBackground: '#000', // 限速名称背景颜色
|
||||
drogueWidth: 15, // 浮标宽度
|
||||
drogueHeight: 12, // 浮标高度
|
||||
drogueHeight: 12 // 浮标高度
|
||||
},
|
||||
separator: {
|
||||
z: 3, // 分割符层级
|
||||
|
@ -624,12 +624,17 @@ export default {
|
||||
}
|
||||
|
||||
if (model.parentCode == copySection.code) { // 物理区段
|
||||
debugger;
|
||||
let lengthFact = copySection.logicSectionCodeList.filter(code => model.code != code).reduce((pre, code) => {
|
||||
const length = this.$store.getters['map/getDeviceByCode'](code).lengthFact;
|
||||
return pre + Number(length);
|
||||
}, 0);
|
||||
lengthFact += model.lengthFact;
|
||||
copySection.lengthFact = Number(lengthFact.toFixed(3)); // 自动获取 物理区段的 实际长度 是由逻辑区段相加
|
||||
const logicSectionCodeList = copySection.logicSectionCodeList;
|
||||
const last = deepAssign({}, this.$store.getters['map/getDeviceByCode'](logicSectionCodeList[logicSectionCodeList.length - 1]));
|
||||
last.logicSectionEndOffset = copySection.lengthFact;
|
||||
models.push(last);
|
||||
if (copySection.lengthFact > 5) {
|
||||
copySection.leftStopPointOffset = copySection.leftStopPointOffset || 5;
|
||||
copySection.rightStopPointOffset = copySection.rightStopPointOffset || copySection.lengthFact - 5;
|
||||
@ -648,20 +653,22 @@ export default {
|
||||
}
|
||||
});
|
||||
pointModel.forEach(item => {
|
||||
const slope2 = (item.points[item.points.length - 1].y - item.points[0].y) / (item.points[item.points.length - 1].x - item.points[0].x);
|
||||
if (this.checkPointsCoincide(this.oldPoint[0], item.points[item.points.length - 1])) {
|
||||
if ((slope1 >= 0 && slope2 >= 0) || (slope1 <= 0 && slope2 <= 0)) {
|
||||
item.points[item.points.length - 1].x = model.points[0].x;
|
||||
item.points[item.points.length - 1].y = model.points[0].y;
|
||||
if (!item.parentCode || item.parentCode == model.parentCode) {
|
||||
const slope2 = (item.points[item.points.length - 1].y - item.points[0].y) / (item.points[item.points.length - 1].x - item.points[0].x);
|
||||
if (this.checkPointsCoincide(this.oldPoint[0], item.points[item.points.length - 1])) {
|
||||
if ((slope1 >= 0 && slope2 >= 0) || (slope1 <= 0 && slope2 <= 0)) {
|
||||
item.points[item.points.length - 1].x = model.points[0].x;
|
||||
item.points[item.points.length - 1].y = model.points[0].y;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.checkPointsCoincide(this.oldPoint[this.oldPoint.length - 1], item.points[0])) {
|
||||
if ((slope1 >= 0 && slope2 >= 0) || (slope1 <= 0 && slope2 <= 0)) {
|
||||
item.points[0].x = model.points[model.points.length - 1].x;
|
||||
item.points[0].y = model.points[model.points.length - 1].y;
|
||||
if (this.checkPointsCoincide(this.oldPoint[this.oldPoint.length - 1], item.points[0])) {
|
||||
if ((slope1 >= 0 && slope2 >= 0) || (slope1 <= 0 && slope2 <= 0)) {
|
||||
item.points[0].x = model.points[model.points.length - 1].x;
|
||||
item.points[0].y = model.points[model.points.length - 1].y;
|
||||
}
|
||||
}
|
||||
models.push(item);
|
||||
}
|
||||
models.push(item);
|
||||
});
|
||||
|
||||
if (!model.parentCode) {
|
||||
@ -707,7 +714,13 @@ export default {
|
||||
model.lengthFact = length.toFixed(3);
|
||||
}
|
||||
model.logicSectionStartOffset = startOffset;
|
||||
model.logicSectionEndOffset = (model.lengthFact * 1000 + startOffset * 1000) / 1000;
|
||||
const lastData = Object.keys(sectionMap);
|
||||
const temp = lastData[lastData.length - 1];
|
||||
if (temp == startPoint) {
|
||||
model.logicSectionEndOffset = section.lengthFact;
|
||||
} else {
|
||||
model.logicSectionEndOffset = (model.lengthFact * 1000 + startOffset * 1000) / 1000;
|
||||
}
|
||||
!sectionMap[startPoint].deepFlag && models.push(model);
|
||||
startOffset = (startOffset * 1000 + model.lengthFact * 1000) / 1000;
|
||||
startPoint = model.points[model.points.length - 1].x + 's' + model.points[model.points.length - 1].y;
|
||||
|
@ -77,9 +77,9 @@ export default {
|
||||
height: 800,
|
||||
roadData: [],
|
||||
focus: false,
|
||||
booleanList: ['upRight', 'lockFirst', 'switchSingleHandle', 'switchNRTurnChain', 'switchSingleLockChain', 'switchLossChain', 'signalForceCancelRoute', 'initSingleLockSwitch', 'ctcOverlapOnlyTurnBackStationLock', 'guideNeedRouteSettingFirst', 'signalOpenAfterParking', 'standHoldCloseLogicLight', 'atsAutoHandleManualFrontTurnBack', 'doNotSetRouteWhenSectionOccupied', 'routeSettingNoFail'],
|
||||
booleanList: ['upRight', 'lockFirst', 'switchSingleHandle', 'switchNRTurnChain', 'switchSingleLockChain', 'switchLossChain', 'signalForceCancelRoute', 'initSingleLockSwitch', 'ctcOverlapOnlyTurnBackStationLock', 'guideNeedRouteSettingFirst', 'signalOpenAfterParking', 'standHoldCloseLogicLight', 'atsAutoHandleManualFrontTurnBack', 'doNotSetRouteWhenSectionOccupied', 'routeSettingNoFail', 'signalBlockRouteSettable'],
|
||||
selectList: ['runMode'],
|
||||
generalConfig: ['lockFirst', 'switchSingleHandle', 'upRight', 'switchNRTurnChain', 'switchSingleLockChain', 'switchLossChain', 'signalForceCancelRoute', 'runMode', 'initSingleLockSwitch', 'ctcOverlapOnlyTurnBackStationLock', 'noParkingSM', 'parkingSM', 'rmAtpSpeed', 'urmAtpSpeed', 'guideNeedRouteSettingFirst', 'signalOpenAfterParking', 'standHoldCloseLogicLight', 'atsAutoHandleManualFrontTurnBack', 'doNotSetRouteWhenSectionOccupied', 'routeSettingNoFail'],
|
||||
generalConfig: ['lockFirst', 'switchSingleHandle', 'upRight', 'switchNRTurnChain', 'switchSingleLockChain', 'switchLossChain', 'signalForceCancelRoute', 'runMode', 'initSingleLockSwitch', 'ctcOverlapOnlyTurnBackStationLock', 'noParkingSM', 'parkingSM', 'rmAtpSpeed', 'urmAtpSpeed', 'guideNeedRouteSettingFirst', 'signalOpenAfterParking', 'standHoldCloseLogicLight', 'atsAutoHandleManualFrontTurnBack', 'doNotSetRouteWhenSectionOccupied', 'routeSettingNoFail', 'signalBlockRouteSettable'],
|
||||
rangeList: ['noParkingSM', 'parkingSM'],
|
||||
speedList: ['rmAtpSpeed', 'urmAtpSpeed'],
|
||||
numberList: [],
|
||||
@ -106,7 +106,8 @@ export default {
|
||||
standHoldCloseLogicLight: '站台扣车是否关闭逻辑点灯的信号机',
|
||||
atsAutoHandleManualFrontTurnBack:'ATS是否自动处理人工设置的站前折返自动更新车次',
|
||||
doNotSetRouteWhenSectionOccupied: '当进路的区段占用时不排列进路',
|
||||
routeSettingNoFail:'进路办理不失败'
|
||||
routeSettingNoFail:'进路办理不失败',
|
||||
signalBlockRouteSettable:'信号封锁下进路是否可以办理'
|
||||
}
|
||||
};
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user