bug修改:

逻辑区段修改 导致逻辑区段起终点坐标出现错误问题
逻辑区段修改坐标 导致相邻物理区段坐标出现问题
功能:
增加线路配置:信号封锁下进路是否可以办理
This commit is contained in:
joylink_cuiweidong 2021-01-15 16:44:22 +08:00
parent f21cfd2256
commit 9aef723b3f
3 changed files with 33 additions and 19 deletions

View File

@ -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, // 分割符层级

View File

@ -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;

View File

@ -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:'信号封锁下进路是否可以办理'
}
};
},