diff --git a/src/assets/ctc_icon/camera.png b/src/assets/ctc_icon/camera.png
new file mode 100644
index 000000000..a9a52f334
Binary files /dev/null and b/src/assets/ctc_icon/camera.png differ
diff --git a/src/assets/ctc_icon/link.png b/src/assets/ctc_icon/link.png
new file mode 100644
index 000000000..9b772658f
Binary files /dev/null and b/src/assets/ctc_icon/link.png differ
diff --git a/src/assets/ctc_icon/panel.png b/src/assets/ctc_icon/panel.png
new file mode 100644
index 000000000..837ab56f7
Binary files /dev/null and b/src/assets/ctc_icon/panel.png differ
diff --git a/src/assets/ctc_icon/rpb.png b/src/assets/ctc_icon/rpb.png
new file mode 100644
index 000000000..cf8124350
Binary files /dev/null and b/src/assets/ctc_icon/rpb.png differ
diff --git a/src/assets/ctc_icon/rpd.png b/src/assets/ctc_icon/rpd.png
new file mode 100644
index 000000000..6bdbc1e2c
Binary files /dev/null and b/src/assets/ctc_icon/rpd.png differ
diff --git a/src/assets/ctc_icon/rpdu.png b/src/assets/ctc_icon/rpdu.png
new file mode 100644
index 000000000..8507d1437
Binary files /dev/null and b/src/assets/ctc_icon/rpdu.png differ
diff --git a/src/assets/ctc_icon/rpe.png b/src/assets/ctc_icon/rpe.png
new file mode 100644
index 000000000..01c4eda05
Binary files /dev/null and b/src/assets/ctc_icon/rpe.png differ
diff --git a/src/assets/ctc_icon/rph.png b/src/assets/ctc_icon/rph.png
new file mode 100644
index 000000000..5c84cc8a6
Binary files /dev/null and b/src/assets/ctc_icon/rph.png differ
diff --git a/src/assets/ctc_icon/rpsa.png b/src/assets/ctc_icon/rpsa.png
new file mode 100644
index 000000000..66df38ac6
Binary files /dev/null and b/src/assets/ctc_icon/rpsa.png differ
diff --git a/src/assets/ctc_icon/rpsw.png b/src/assets/ctc_icon/rpsw.png
new file mode 100644
index 000000000..5199f9b40
Binary files /dev/null and b/src/assets/ctc_icon/rpsw.png differ
diff --git a/src/assets/ctc_icon/rpu.png b/src/assets/ctc_icon/rpu.png
new file mode 100644
index 000000000..4c81a8aaf
Binary files /dev/null and b/src/assets/ctc_icon/rpu.png differ
diff --git a/src/assets/ctc_icon/rpvb.png b/src/assets/ctc_icon/rpvb.png
new file mode 100644
index 000000000..197c9413f
Binary files /dev/null and b/src/assets/ctc_icon/rpvb.png differ
diff --git a/src/assets/ctc_icon/rpvs.png b/src/assets/ctc_icon/rpvs.png
new file mode 100644
index 000000000..79fc1f57c
Binary files /dev/null and b/src/assets/ctc_icon/rpvs.png differ
diff --git a/src/assets/ctc_icon/rpw.png b/src/assets/ctc_icon/rpw.png
new file mode 100644
index 000000000..39bc7b8d0
Binary files /dev/null and b/src/assets/ctc_icon/rpw.png differ
diff --git a/src/assets/ctc_icon/rpwp.png b/src/assets/ctc_icon/rpwp.png
new file mode 100644
index 000000000..e002f4479
Binary files /dev/null and b/src/assets/ctc_icon/rpwp.png differ
diff --git a/src/assets/ctc_icon/setting.png b/src/assets/ctc_icon/setting.png
new file mode 100644
index 000000000..c430b609a
Binary files /dev/null and b/src/assets/ctc_icon/setting.png differ
diff --git a/src/assets/ctc_icon/shutdown.png b/src/assets/ctc_icon/shutdown.png
new file mode 100644
index 000000000..47332b051
Binary files /dev/null and b/src/assets/ctc_icon/shutdown.png differ
diff --git a/src/assets/ctc_icon/t3.png b/src/assets/ctc_icon/t3.png
new file mode 100644
index 000000000..59343058a
Binary files /dev/null and b/src/assets/ctc_icon/t3.png differ
diff --git a/src/assets/ctc_icon/train.png b/src/assets/ctc_icon/train.png
new file mode 100644
index 000000000..fdaffdfe3
Binary files /dev/null and b/src/assets/ctc_icon/train.png differ
diff --git a/src/assets/ctc_icon/unknow.png b/src/assets/ctc_icon/unknow.png
new file mode 100644
index 000000000..d68596528
Binary files /dev/null and b/src/assets/ctc_icon/unknow.png differ
diff --git a/src/assets/icon/favicon_unittec.png b/src/assets/icon/favicon_unittec.png
new file mode 100644
index 000000000..45013b586
Binary files /dev/null and b/src/assets/icon/favicon_unittec.png differ
diff --git a/src/assets/icon/link_unittec.png b/src/assets/icon/link_unittec.png
new file mode 100644
index 000000000..b25ad8269
Binary files /dev/null and b/src/assets/icon/link_unittec.png differ
diff --git a/src/jmapNew/config/skinCode/datie_02.js b/src/jmapNew/config/skinCode/datie_02.js
index f303b3f28..81c06cf43 100644
--- a/src/jmapNew/config/skinCode/datie_02.js
+++ b/src/jmapNew/config/skinCode/datie_02.js
@@ -451,6 +451,54 @@ class SkinCode extends defaultStyle {
text: '非常站控',
lightColor: '#ff0',
defaultColor: '#ccc',
+ },
+ selfDisciplineThree: {
+ offset: { x: 0, y: 0 },
+ text: '分散自律',
+ lightColor: '#0f0',
+ defaultColor: '#ccc'
+ },
+ graphRoad: {
+ show: true,
+ offset: { x: 0, y: 0 },
+ text: '按图排路',
+ lightColor: '#0f0',
+ defaultColor: '#ccc'
+ },
+ planControl: {
+ show: true,
+ offset: { x: 0, y: 0 },
+ text: '计划控制',
+ lightColor: '#0f0',
+ defaultColor: '#ccc'
+ },
+ centerCommunication: {
+ show: true,
+ offset: { x: 0, y: 30 },
+ text: '中心通信',
+ lightColor: '#0f0',
+ defaultColor: '#ccc'
+ },
+ selfDisciplineCommunication: {
+ show: true,
+ offset: { x: 0, y: 30 },
+ text: '自律机通信',
+ lightColor: '#0f0',
+ defaultColor: '#ccc'
+ },
+ allowedTurnBack: {
+ show: true,
+ offset: { x: 0, y: 30 },
+ text: '允许转回',
+ lightColor: '#0f0',
+ defaultColor: '#ccc'
+ },
+ trainControl: {
+ show: true,
+ offset: { x: 0, y: 30 },
+ text: '列控',
+ lightColor: '#0f0',
+ defaultColor: '#ccc'
}
}
};
diff --git a/src/jmapNew/shape/graph/SignalButton/index.js b/src/jmapNew/shape/graph/SignalButton/index.js
index 5aedfe2de..a533eafb0 100644
--- a/src/jmapNew/shape/graph/SignalButton/index.js
+++ b/src/jmapNew/shape/graph/SignalButton/index.js
@@ -22,23 +22,46 @@ export default class SignalButton extends Group {
create() {
const model = this.model;
const fillColor = this.getTypeColor();
- this.rectButton = new Rect({
- zlevel: this.zlevel,
- z: this.z,
- shape: {
- x: model.position.x,
- y: model.position.y,
- width: 14,
- height: 14
- },
- style: {
- lineDash: null,
- stroke: '#69666E',
- lineWidth:1,
- fill: fillColor
- }
- });
- this.add(this.rectButton);
+ const queryList = window.location.search.substring(1).split('&');
+ const queryCtc = queryList.find(item => {
+ return item.includes('ctc');
+ });
+ const ctcArcList = ['OCCLUSION', 'RECOVERY', 'CHANGE_DIRECTION', 'ACCIDENT', 'DEPART_ASSIST', 'PICK_ASSIST', 'ASSIST'];
+ if (queryCtc && ctcArcList.includes(model.type)){
+ this.arcShape = new Arc({
+ zlevel: this.zlevel,
+ z: this.z,
+ shape: {
+ cx: this.model.position.x + 7,
+ cy: this.model.position.y + 7,
+ r: 7
+ },
+ style: {
+ stroke: '#69666E',
+ lineWidth: 1,
+ fill: fillColor
+ }
+ });
+ this.add(this.arcShape);
+ } else {
+ this.rectButton = new Rect({
+ zlevel: this.zlevel,
+ z: this.z,
+ shape: {
+ x: model.position.x,
+ y: model.position.y,
+ width: 14,
+ height: 14
+ },
+ style: {
+ lineDash: null,
+ stroke: '#69666E',
+ lineWidth:1,
+ fill: fillColor
+ }
+ });
+ this.add(this.rectButton);
+ }
this.leftLine = new Line({
zlevel: this.zlevel,
z: this.z + 1,
@@ -200,9 +223,11 @@ export default class SignalButton extends Group {
recover() {
this.stopAnimation();
this.rectButton && this.rectButton.setStyle({ fill:this.getTypeColor() });
+ this.arcShape && this.arcShape.setStyle({ fill:this.getTypeColor() });
this.rightLine && this.rightLine.hide();
this.leftLine && this.leftLine.hide();
this.rectButton && this.rectButton.show();
+ this.arcShape && this.arcShape.show();
this.buttonText && this.buttonText.show();
this.leftBoard && this.leftBoard.hide();
this.rightBoard && this.rightBoard.hide();
@@ -242,6 +267,7 @@ export default class SignalButton extends Group {
this.rectButton && this.rectButton.hide();
this.leftLine && this.leftLine.hide();
this.rightLine && this.rightLine.hide();
+ this.arcShape && this.arcShape.hide();
} else {
if (model.hasSelected) {
this.startAnimate();
diff --git a/src/jmapNew/shape/graph/Station/EThreeLamp.js b/src/jmapNew/shape/graph/Station/EThreeLamp.js
new file mode 100644
index 000000000..ea80858a0
--- /dev/null
+++ b/src/jmapNew/shape/graph/Station/EThreeLamp.js
@@ -0,0 +1,128 @@
+import Arc from 'zrender/src/graphic/shape/Arc';
+import Group from 'zrender/src/container/Group';
+import Text from 'zrender/src/graphic/Text';
+
+/** 三个控制灯*/
+export default class EThreeLamp extends Group {
+ constructor(model) {
+ super();
+ this.model = model;
+ this.zlevel = model.zlevel;
+ this._subType = model._subType;
+ this.z = 20;
+ this.onmouseover = model.mouseover;
+ this.onmouseout = model.mouseout;
+ this.create(model);
+ }
+
+ create(model) {
+ var _subType = 'ControlSignal';
+ var _val = '0';
+ if (model.pop) {
+ _subType = 'ControlButton';
+ _val = '1';
+ }
+ var _nameType = this._subType;
+ this.control1 = new Arc({
+ pop: model.pop,
+ _subType: _subType,
+ _nameType: _nameType,
+ _val: _val,
+ zlevel: this.zlevel,
+ z: this.z,
+ shape: {
+ cx: model.point.x - model.style.Station.StationControl.lamp.radiusR * 3,
+ cy: model.point.y,
+ r: model.style.Station.StationControl.lamp.radiusR
+ },
+ style: {
+ lineWidth: model.style.Station.StationControl.lamp.lineWidth || 0,
+ fill: model.style.Station.StationControl.lamp.grayColor,
+ stroke: model.style.Station.StationControl.lamp.strokeColor
+ }
+ });
+ this.control2 = new Arc({
+ pop: model.pop,
+ _subType: _subType,
+ _nameType: _nameType,
+ _val: _val,
+ zlevel: this.zlevel,
+ z: this.z,
+ shape: {
+ cx: model.point.x,
+ cy: model.point.y,
+ r: model.style.Station.StationControl.lamp.radiusR
+ },
+ style: {
+ lineWidth: model.style.Station.StationControl.lamp.lineWidth || 0,
+ fill: model.style.Station.StationControl.lamp.grayColor,
+ stroke: model.style.Station.StationControl.lamp.strokeColor
+ }
+ });
+ this.control3 = new Arc({
+ pop: model.pop,
+ _subType: _subType,
+ _nameType: _nameType,
+ _val: _val,
+ zlevel: this.zlevel,
+ z: this.z,
+ shape: {
+ cx: model.point.x + model.style.Station.StationControl.lamp.radiusR * 3,
+ cy: model.point.y,
+ r: model.style.Station.StationControl.lamp.radiusR
+ },
+ style: {
+ lineWidth: model.style.Station.StationControl.lamp.lineWidth || 0,
+ fill: model.style.Station.StationControl.lamp.grayColor,
+ stroke: model.style.Station.StationControl.lamp.strokeColor
+ }
+ });
+
+ this.text = new Text({
+ pop: model.pop,
+ _subType: _subType,
+ zlevel: this.zlevel,
+ z: this.z,
+ position: [0, 0],
+ style: {
+ x: model.point.x,
+ y: model.point.y + model.style.Station.StationControl.lamp.radiusR + model.style.Station.StationControl.text.distance,
+ fontWeight: model.style.Station.StationControl.text.fontWeight,
+ fontSize: model.style.Station.StationControl.text.fontSize,
+ fontFamily: model.style.fontFamily,
+ text: model.context,
+ textFill: model.style.Station.StationControl.text.fontColor,
+ textAlign: model.style.Station.StationControl.text.textAlign,
+ textVerticalAlign: model.style.Station.StationControl.text.textVerticalAlign
+ }
+ });
+
+ this.add(this.control1);
+ this.add(this.control2);
+ this.add(this.control3);
+ this.add(this.text);
+ }
+
+ setColor(color) {
+ // if (color) {
+ // this.control.setStyle('fill', color);
+ // }
+ }
+
+ setTextColor(color) {
+ if (color && !this.model.style.Station.StationControl.lamp.textColorNoChange) {
+ this.text.setStyle('textFill', color);
+ }
+ }
+ getArcBoundingRect() {
+ const rect = this.control.getBoundingRect().clone();
+ const scale = this.control.scale[0];
+ const offsetX = this.control.position[0];
+ const offsetY = this.control.position[1];
+ rect.x = rect.x * scale + offsetX - 2;
+ rect.y = rect.y * scale + offsetY - 2;
+ rect.width = rect.width * scale + 4;
+ rect.height = rect.height * scale + 4;
+ return rect;
+ }
+}
diff --git a/src/jmapNew/shape/graph/Station/index.js b/src/jmapNew/shape/graph/Station/index.js
index 4c91004de..ab27d491e 100644
--- a/src/jmapNew/shape/graph/Station/index.js
+++ b/src/jmapNew/shape/graph/Station/index.js
@@ -7,6 +7,7 @@ import EControl from '../element/EControl';
import EMouse from './EMouse';
import EMouseDraw from './EMouseDraw';
import ESingleControl from './ESingleControl';
+import EThreeLamp from './EThreeLamp';
import EArrow from './EArrow';
import { arrow } from '../utils/ShapePoints';
import Rect from 'zrender/src/graphic/shape/Rect';
@@ -148,7 +149,13 @@ export default class Station extends Group {
createControlMode() {
const model = this.model;
if (!this.style.Station.StationControl.disPlayNone) {
- if (this.style.Station.StationControl.special) {
+ const queryList = window.location.search.substring(1).split('&');
+ const queryCtc = queryList.find(item => {
+ return item.includes('ctc');
+ });
+ if (queryCtc) {
+ this.createCtcControlMode()
+ } else if (this.style.Station.StationControl.special) {
if (model.visible && model.createControlMode) { // model.createControlMode 控制模式
this.createControlModeAU();
this.createControlModeCC();
@@ -168,7 +175,122 @@ export default class Station extends Group {
}
this.setState(model);
}
-
+ createCtcControlMode() {//大铁
+ //非常站控
+ const model = this.model;
+ // 分散自律
+ this.selfDisciplineThree = new EThreeLamp({
+ _subType: 'veryControl',
+ style: this.style,
+ zlevel: this.zlevel,
+ z: this.z,
+ point: {
+ x: model.controlModePoint.x - this.style.Station.StationControl.lamp.distance * 2 + this.style.Station.StationControl.selfDisciplineThree.offset.x,
+ y: model.controlModePoint.y + this.style.Station.StationControl.selfDisciplineThree.offset.y
+ },
+ context: this.style.Station.StationControl.selfDisciplineThree.text,
+ pop: false
+ });
+ this.add(this.selfDisciplineThree);
+ // 非常站控
+ this.veryControl = new ESingleControl({
+ _subType: 'veryControl',
+ style: this.style,
+ zlevel: this.zlevel,
+ z: this.z,
+ point: {
+ x: model.controlModePoint.x - this.style.Station.StationControl.lamp.distance * 2 / 3 + this.style.Station.StationControl.veryControl.offset.x,
+ y: model.controlModePoint.y + this.style.Station.StationControl.veryControl.offset.y
+ },
+ context: this.style.Station.StationControl.veryControl.text,
+ pop: false
+ });
+ this.add(this.veryControl);
+ //按图排路
+ this.graphRoad = new ESingleControl({
+ _subType: 'graphRoad',
+ style: this.style,
+ zlevel: this.zlevel,
+ z: this.z,
+ point: {
+ x: model.controlModePoint.x + this.style.Station.StationControl.lamp.distance * 2 / 3 + this.style.Station.StationControl.graphRoad.offset.x,
+ y: model.controlModePoint.y + this.style.Station.StationControl.graphRoad.offset.y
+ },
+ context: this.style.Station.StationControl.graphRoad.text,
+ pop: false
+ });
+ this.add(this.graphRoad);
+ //计划控制
+ this.planControl = new ESingleControl({
+ _subType: 'planControl',
+ style: this.style,
+ zlevel: this.zlevel,
+ z: this.z,
+ point: {
+ x: model.controlModePoint.x + this.style.Station.StationControl.lamp.distance * 2 + this.style.Station.StationControl.planControl.offset.x,
+ y: model.controlModePoint.y + this.style.Station.StationControl.planControl.offset.y
+ },
+ context: this.style.Station.StationControl.planControl.text,
+ pop: false
+ });
+ this.add(this.planControl);
+ //中心通信
+ this.centerCommunication = new ESingleControl({
+ _subType: 'centerCommunication',
+ style: this.style,
+ zlevel: this.zlevel,
+ z: this.z,
+ point: {
+ x: model.controlModePoint.x - this.style.Station.StationControl.lamp.distance * 2 + this.style.Station.StationControl.centerCommunication.offset.x,
+ y: model.controlModePoint.y + this.style.Station.StationControl.centerCommunication.offset.y
+ },
+ context: this.style.Station.StationControl.centerCommunication.text,
+ pop: false
+ });
+ this.add(this.centerCommunication);
+ //自律机通信
+ this.selfDisciplineCommunication = new ESingleControl({
+ _subType: 'selfDisciplineCommunication',
+ style: this.style,
+ zlevel: this.zlevel,
+ z: this.z,
+ point: {
+ x: model.controlModePoint.x - this.style.Station.StationControl.lamp.distance * 2 / 3 + this.style.Station.StationControl.selfDisciplineCommunication.offset.x,
+ y: model.controlModePoint.y + this.style.Station.StationControl.selfDisciplineCommunication.offset.y
+ },
+ context: this.style.Station.StationControl.selfDisciplineCommunication.text,
+ pop: false
+ });
+ this.add(this.selfDisciplineCommunication);
+ //允许转回
+ this.allowedTurnBack = new ESingleControl({
+ _subType: 'allowedTurnBack',
+ style: this.style,
+ zlevel: this.zlevel,
+ z: this.z,
+ point: {
+ x: model.controlModePoint.x + this.style.Station.StationControl.lamp.distance * 2 / 3 + this.style.Station.StationControl.allowedTurnBack.offset.x,
+ y: model.controlModePoint.y + this.style.Station.StationControl.allowedTurnBack.offset.y
+ },
+ context: this.style.Station.StationControl.allowedTurnBack.text,
+ pop: false
+ });
+ this.add(this.allowedTurnBack);
+ // 列控
+ this.trainControl = new ESingleControl({
+ _subType: 'trainControl',
+ style: this.style,
+ zlevel: this.zlevel,
+ z: this.z,
+ point: {
+ x: model.controlModePoint.x + this.style.Station.StationControl.lamp.distance * 2 + this.style.Station.StationControl.trainControl.offset.x,
+ y: model.controlModePoint.y + this.style.Station.StationControl.trainControl.offset.y
+ },
+ context: this.style.Station.StationControl.trainControl.text,
+ pop: false
+ });
+ this.add(this.trainControl);
+ }
createControlModeAU() { // 西安二
const model = this.model;
this.stationControlAU = new Text({
diff --git a/src/jmapNew/theme/components/utils/menuOperate.js b/src/jmapNew/theme/components/utils/menuOperate.js
index 56b9af7c4..b7ada1a2e 100644
--- a/src/jmapNew/theme/components/utils/menuOperate.js
+++ b/src/jmapNew/theme/components/utils/menuOperate.js
@@ -519,20 +519,104 @@ export const menuOperate = {
}
},
CTC: {
- // 接预
+ // 完成接预
receivingNotice: {
operation: OperationEvent.CTCCommand.receivingNotice.menu.operation,
- cmdType: CMD.CTC.CTC_RECEIVING_NOTICE
+ cmdType: CMD.CTC.CTC_FINISH_RECEIVING_NOTICE
},
- // 发预
+ // 取消接预
+ cancelReceivingNotice: {
+ operation: OperationEvent.CTCCommand.cancelReceivingNotice.menu.operation,
+ cmdType: CMD.CTC.CTC_CANCEL_RECEIVING_NOTICE
+ },
+ // 完成到点
+ finishArrive: {
+ operation: OperationEvent.CTCCommand.finishArrive.menu.operation,
+ cmdType: CMD.CTC.CTC_FINISH_ARRIVE
+ },
+ // 取消到点
+ cancelArrive: {
+ operation: OperationEvent.CTCCommand.cancelArrive.menu.operation,
+ cmdType: CMD.CTC.CTC_CANCEL_ARRIVE
+ },
+ // 完成发预
departureNotice: {
operation: OperationEvent.CTCCommand.departureNotice.menu.operation,
- cmdType: CMD.CTC.CTC_DEPARTURE_NOTICE
+ cmdType: CMD.CTC.CTC_FINISH_DEPARTURE_NOTICE
+ },
+ // 取消发预
+ cancelDepartureNotice: {
+ operation: OperationEvent.CTCCommand.cancelDepartureNotice.menu.operation,
+ cmdType: CMD.CTC.CTC_CANCEL_DEPARTURE_NOTICE
+ },
+ // 完成发点
+ finishDeparture: {
+ operation: OperationEvent.CTCCommand.finishDeparture.menu.operation,
+ cmdType: CMD.CTC.CTC_FINISH_DEPARTURE
+ },
+ // 取消发点
+ cancelDeparture: {
+ operation: OperationEvent.CTCCommand.cancelDeparture.menu.operation,
+ cmdType: CMD.CTC.CTC_CANCEL_DEPARTURE
},
// 自动触发
autoTrigger: {
operation: OperationEvent.CTCCommand.autoTrigger.menu.operation,
cmdType: CMD.CTC.CTC_AUTO_TRIGGER
+ },
+ // 批量修改股道
+ batchModifyTrackSection:{
+ operation: OperationEvent.CTCCommand.batchModifyTrackSection.menu.operation,
+ cmdType: CMD.CTC.CTC_BATCH_MODIFY_RUN_PLAN
+ },
+ // 移除行车日志
+ deleteRunplan:{
+ operation: OperationEvent.CTCCommand.deleteRunplan.menu.operation,
+ cmdType: CMD.CTC.CTC_REMOVE_RUN_PLAN
+ },
+ // 修改行车计划的邻站信息
+ modifyAdjacentStation:{
+ operation: OperationEvent.CTCCommand.modifyAdjacentStation.menu.operation,
+ cmdType: CMD.CTC.CTC_MODIFY_ADJACENT_STATION
+ },
+ // 修改车次号(大铁CTC)
+ modifyTripNumber:{
+ operation: OperationEvent.CTCCommand.modifyTripNumber.menu.operation,
+ cmdType: CMD.CTC.CTC_MODIFY_TRIP_NUMBER
+ },
+ // 发送发车预告
+ sendNotcie:{
+ operation: OperationEvent.CTCCommand.sendNotcie.menu.operation,
+ cmdType: CMD.CTC.CTC_SEND_NOTICE
+ },
+ // 同意发车预告
+ agreeNotcie:{
+ operation: OperationEvent.CTCCommand.agreeNotcie.menu.operation,
+ cmdType: CMD.CTC.CTC_AGREE_NOTICE
+ },
+ // 增加列车固定径路
+ addTrainFixedPath:{
+ operation: OperationEvent.CTCCommand.addTrainFixedPath.menu.operation,
+ cmdType: CMD.CTC.CTC_ADD_RUN_PLAN_LIST_TO_EDIT_AREA
+ },
+ // 导入列车固定径路
+ importTrainFixedPath:{
+ operation: OperationEvent.CTCCommand.importTrainFixedPath.menu.operation,
+ cmdType: CMD.CTC.CTC_COVER_RUN_PLAN_LIST_TO_EDIT_AREA
+ },
+ // 删除列车固定径路
+ deleteTrainFixedPath:{
+ operation: OperationEvent.CTCCommand.deleteTrainFixedPath.menu.operation,
+ cmdType: CMD.CTC.CTC_REMOVE_RUN_PLAN_FROM_EDIT_AREA
+ },
+ // 运行计划发布至CTC
+ releaseTrainFixedPath:{
+ operation: OperationEvent.CTCCommand.releaseTrainFixedPath.menu.operation,
+ cmdType: CMD.CTC.CTC_RELEASE_RUN_PLAN_TO_SIMULATION
+ },
+ setRoute: {
+ operation: OperationEvent.CTCCommand.setRoute.menu.operation,
+ cmdType: CMD.CTC.CTC_SET_ROUTE
}
}
diff --git a/src/jmapNew/theme/datie_02/menus/bottomTable.vue b/src/jmapNew/theme/datie_02/menus/bottomTable.vue
new file mode 100644
index 000000000..e5687c866
--- /dev/null
+++ b/src/jmapNew/theme/datie_02/menus/bottomTable.vue
@@ -0,0 +1,292 @@
+
+
+
+
+
+
+
列车进路序列 可修改
+
+
+
+
+
+ {{ scope.row.tripNumber }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ getRouteStatus(scope.row.status) }}
+
+
+
+
+ {{ getRouteName(scope.row.routeCode) }}
+
+
+
+
+
+
+
车站
+
+
+
+
释放权限
+
字体
+
常规
+
+
+
+
+
调车进路 可修改
+
+
+
+
调车进路序列
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
勾序列
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
作业单
+
+
+
+
单头信息
+
删除
+
发送
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/jmapNew/theme/datie_02/menus/dialog/childDialog/passwordInputBox.vue b/src/jmapNew/theme/datie_02/menus/dialog/childDialog/passwordInputBox.vue
index 6a406a2b9..eec77511b 100644
--- a/src/jmapNew/theme/datie_02/menus/dialog/childDialog/passwordInputBox.vue
+++ b/src/jmapNew/theme/datie_02/menus/dialog/childDialog/passwordInputBox.vue
@@ -115,7 +115,6 @@ export default {
if (operate.operateNext) {
this.operation = operate.operateNext;
}
- console.log(this.operate, '--------------0000operate');
this.dialogShow = true;
this.checkHasInput = false;
this.$nextTick(function () {
@@ -158,7 +157,6 @@ export default {
this.encryptionPassword = this.passwordCheck;
}
},
-
cancel() {
const operate = {
send: false,
diff --git a/src/jmapNew/theme/datie_02/menus/dialog/deleteRunplan.vue b/src/jmapNew/theme/datie_02/menus/dialog/deleteRunplan.vue
new file mode 100644
index 000000000..0b9134b52
--- /dev/null
+++ b/src/jmapNew/theme/datie_02/menus/dialog/deleteRunplan.vue
@@ -0,0 +1,99 @@
+
+
+
+ 确定删除该列车的行车信息?
+
+
+
+ 确定
+
+
+ 取 消
+
+
+
+
+
diff --git a/src/jmapNew/theme/datie_02/menus/dialog/mapVisual.vue b/src/jmapNew/theme/datie_02/menus/dialog/mapVisual.vue
index 479b9be60..f7e172930 100644
--- a/src/jmapNew/theme/datie_02/menus/dialog/mapVisual.vue
+++ b/src/jmapNew/theme/datie_02/menus/dialog/mapVisual.vue
@@ -110,8 +110,8 @@ export default {
window.document.oncontextmenu = function () {
return false;
};
-
- if (this.mapData.skinVO) {
+ console.log(this.mapData, '---------------');
+ if (this.mapData && this.mapData.skinVO) {
const parser = parserFactory(ParserType.Graph.value);
this.mapDevice = parser.parser(this.mapData, this.mapData.skinVO.code, this.map.getShowConfig());
}
diff --git a/src/jmapNew/theme/datie_02/menus/dialog/modifyAdjacentStation.vue b/src/jmapNew/theme/datie_02/menus/dialog/modifyAdjacentStation.vue
new file mode 100644
index 000000000..53bf85a71
--- /dev/null
+++ b/src/jmapNew/theme/datie_02/menus/dialog/modifyAdjacentStation.vue
@@ -0,0 +1,154 @@
+
+
+
+
{{ tripNumber }}次列车
+
+
+
+
+
+ 确定
+
+
+ 取 消
+
+
+
+
+
+
+
diff --git a/src/jmapNew/theme/datie_02/menus/dialog/modifyTripNumber.vue b/src/jmapNew/theme/datie_02/menus/dialog/modifyTripNumber.vue
new file mode 100644
index 000000000..dd92fc91d
--- /dev/null
+++ b/src/jmapNew/theme/datie_02/menus/dialog/modifyTripNumber.vue
@@ -0,0 +1,224 @@
+
+
+
+
+
+
+
+
+
新列车信息
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确定
+
+
+ 取 消
+
+
+
+
+
+
+
diff --git a/src/jmapNew/theme/datie_02/menus/dialog/recDep.vue b/src/jmapNew/theme/datie_02/menus/dialog/recDep.vue
index d30bf974a..1d99ffe15 100644
--- a/src/jmapNew/theme/datie_02/menus/dialog/recDep.vue
+++ b/src/jmapNew/theme/datie_02/menus/dialog/recDep.vue
@@ -13,20 +13,24 @@
-
+
-
+
+
+
+
-
-
-
-
完成接预
-
完成发预
-
取消接预
-
取消接预
-
关闭
+
完成接预
+
完成发预
+
取消接预
+
取消发预
+
完成到点
+
取消到点
+
完成发点
+
取消发点
+
关闭
@@ -34,8 +38,6 @@
+
diff --git a/src/jmapNew/theme/datie_02/menus/dialog/shuntRoute.vue b/src/jmapNew/theme/datie_02/menus/dialog/shuntRoute.vue
new file mode 100644
index 000000000..78727e7cc
--- /dev/null
+++ b/src/jmapNew/theme/datie_02/menus/dialog/shuntRoute.vue
@@ -0,0 +1,62 @@
+
+
+
+
{{ `${routeName}调车进路预计占用时间:` }}
+
+
+ 电力机车
+ 内燃机车
+
+
+ 确定
+ 取消
+
+
+
+
+
+
+
+
+
diff --git a/src/jmapNew/theme/datie_02/menus/dialog/trainRoute.vue b/src/jmapNew/theme/datie_02/menus/dialog/trainRoute.vue
new file mode 100644
index 000000000..98e3e4b46
--- /dev/null
+++ b/src/jmapNew/theme/datie_02/menus/dialog/trainRoute.vue
@@ -0,0 +1,51 @@
+
+
+ {{ `请为进路${routeName}输入车次号:` }}
+
+
+ 确定
+ 取消
+
+
+
+
+
+
+
diff --git a/src/jmapNew/theme/datie_02/menus/dialog/updateTrip.vue b/src/jmapNew/theme/datie_02/menus/dialog/updateTrip.vue
index 0e985813a..49a60e088 100644
--- a/src/jmapNew/theme/datie_02/menus/dialog/updateTrip.vue
+++ b/src/jmapNew/theme/datie_02/menus/dialog/updateTrip.vue
@@ -71,33 +71,31 @@ export default {
});
},
handleTripNumber() {
+ this.judgeTripNumber();
+ },
+ judgeTripNumber() {
const figuresOfServiceMinNumber = 2;
const figuresOfServiceMaxNumber = 6;
// this.$store.state.map.mapConfig.figuresOfServiceNumber;
const tripNumber = this.tripNumber;
const judge = /^[a-zA-Z0-9]*[\d]$/.test(this.tripNumber);
+ let result = false;
if (judge) {
if (tripNumber.toString().length > figuresOfServiceMaxNumber || tripNumber.toString().length < figuresOfServiceMinNumber) {
this.messageTip1 = '车次号长度' + figuresOfServiceMinNumber + '-' + figuresOfServiceMaxNumber + '位';
+ result = false;
} else {
- // this.tripNumber = tripNumber;
this.messageTip1 = '';
+ result = true;
}
} else {
this.tripNumber = '';
this.messageTip1 = '请输入车次号(最后一位数字)';
}
+ return result;
},
commit() {
- const figuresOfServiceMinNumber = 2;
- const figuresOfServiceMaxNumber = 6;
- let result = false;
- const tripNumber = this.tripNumber;
- if (tripNumber.toString().length > figuresOfServiceMaxNumber || tripNumber.toString().length < figuresOfServiceMinNumber) {
- result = false;
- } else {
- result = true;
- }
+ const result = this.judgeTripNumber();
if (this.tripNumber && result) {
const params = {
tripNumber: this.tripNumber
@@ -114,15 +112,7 @@ export default {
this.doClose();
this.$refs.noticeInfo.doShow();
});
-
- } else {
- if (this.tripNumber) {
- this.messageTip1 = '该车次号长度' + figuresOfServiceMinNumber + '-' + figuresOfServiceMaxNumber + '位';
- } else {
- this.messageTip1 = '请输入车次号(最后一位数字)';
- }
}
-
},
cancel() {
const operate = {
diff --git a/src/jmapNew/theme/datie_02/menus/index.vue b/src/jmapNew/theme/datie_02/menus/index.vue
index 6158fbfdd..5a2c3827c 100644
--- a/src/jmapNew/theme/datie_02/menus/index.vue
+++ b/src/jmapNew/theme/datie_02/menus/index.vue
@@ -1,50 +1,44 @@
@@ -68,11 +65,14 @@ import MenuTrain from './menuTrain';
import MenuStation from './menuStation';
import MenuBar from './menuBar';
import MenuButtonCtc from './menuButtonCtc';
+import RunplanPane from './runplanPane';
import PassiveAlarm from './passiveDialog/alarm';
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
import PassiveTimeout from './passiveDialog/timeout';
import { timeFormat } from '@/utils/date';
import { prefixIntrger } from '@/utils/date';
+import BottomTable from './bottomTable';
+import MenuPanel from './menuPanel';
import CtcBarIcon1 from '@/assets/ctc_icon/pic1.png';
import CtcBarIcon2 from '@/assets/ctc_icon/pic2.png';
import CtcBarIcon3 from '@/assets/ctc_icon/pic3.png';
@@ -106,7 +106,10 @@ export default {
PassiveAlarm,
PassiveContorl,
PassiveTimeout,
- MenuButtonCtc
+ MenuButtonCtc,
+ RunplanPane,
+ BottomTable,
+ MenuPanel
},
props: {
selected: {
@@ -116,48 +119,49 @@ export default {
}
}
},
- data() {
- return {
- alarmMessages: [
- { id: 1, message: '这是告警信息一' },
- { id: 2, message: '这是告警信息二' },
- { id: 3, message: '这是告警信息三' },
- { id: 4, message: '这是告警信息四' },
- { id: 5, message: '这是告警信息五' },
- { id: 6, message: '这是告警信息六' },
- { id: 7, message: '这是告警信息七' },
- ],
- warningMessages: [
- { id: 1, message: '这是预警信息一' },
- { id: 2, message: '这是预警信息二' },
- { id: 3, message: '这是预警信息三' },
- { id: 4, message: '这是预警信息四' },
- { id: 5, message: '这是预警信息五' },
- { id: 6, message: '这是预警信息六' },
- { id: 7, message: '这是预警信息七' },
- ],
- time: '00:00:00',
- dateString: '',
- ctcBarIcon1: CtcBarIcon1,
- ctcBarIcon2: CtcBarIcon2,
- ctcBarIcon3: CtcBarIcon3,
- ctcBarIcon4: CtcBarIcon4,
- ctcBarIcon5: CtcBarIcon5,
- ctcBarIcon6: CtcBarIcon6,
- ctcBarIcon7: CtcBarIcon7,
- ctcBarIcon8: CtcBarIcon8,
- ctcBarIcon9: CtcBarIcon9,
- ctcBarIcon10: CtcBarIcon10,
- ctcBarIcon11: CtcBarIcon11,
- ctcBarIcon12: CtcBarIcon12,
- ctcBarIcon13: CtcBarIcon13,
- ctcBarIcon14: CtcBarIcon14,
- ctcBarIcon15: CtcBarIcon15,
- ctcBarIcon16: CtcBarIcon16,
- ctcBarIcon17: CtcBarIcon17,
- ctcBarIcon18: CtcBarIcon18,
- }
- },
+ data() {
+ return {
+ alarmMessages: [
+ { id: 1, message: '这是告警信息一' },
+ { id: 2, message: '这是告警信息二' },
+ { id: 3, message: '这是告警信息三' },
+ { id: 4, message: '这是告警信息四' },
+ { id: 5, message: '这是告警信息五' },
+ { id: 6, message: '这是告警信息六' },
+ { id: 7, message: '这是告警信息七' }
+ ],
+ warningMessages: [
+ { id: 1, message: '这是预警信息一' },
+ { id: 2, message: '这是预警信息二' },
+ { id: 3, message: '这是预警信息三' },
+ { id: 4, message: '这是预警信息四' },
+ { id: 5, message: '这是预警信息五' },
+ { id: 6, message: '这是预警信息六' },
+ { id: 7, message: '这是预警信息七' }
+ ],
+ time: '00:00:00',
+ dateString: '',
+ dateString1: '',
+ ctcBarIcon1: CtcBarIcon1,
+ ctcBarIcon2: CtcBarIcon2,
+ ctcBarIcon3: CtcBarIcon3,
+ ctcBarIcon4: CtcBarIcon4,
+ ctcBarIcon5: CtcBarIcon5,
+ ctcBarIcon6: CtcBarIcon6,
+ ctcBarIcon7: CtcBarIcon7,
+ ctcBarIcon8: CtcBarIcon8,
+ ctcBarIcon9: CtcBarIcon9,
+ ctcBarIcon10: CtcBarIcon10,
+ ctcBarIcon11: CtcBarIcon11,
+ ctcBarIcon12: CtcBarIcon12,
+ ctcBarIcon13: CtcBarIcon13,
+ ctcBarIcon14: CtcBarIcon14,
+ ctcBarIcon15: CtcBarIcon15,
+ ctcBarIcon16: CtcBarIcon16,
+ ctcBarIcon17: CtcBarIcon17,
+ ctcBarIcon18: CtcBarIcon18
+ };
+ },
computed: {
...mapGetters('config', [
'width'
@@ -165,19 +169,19 @@ export default {
isShowBar() {
return this.$store.state.training.prdType && this.$store.state.training.prdType !== '07';
},
- isCtc() {
- return this.$route.query.ctc
- }
+ isCtc() {
+ return this.$route.query.ctc;
+ }
},
watch: {
isShowBar(val) {
val && this.$store.dispatch('config/updateMenuBar');
},
- '$store.state.socket.simulationTimeSync': function (time) { // 仿真时间更新
- this.$store.dispatch('training/setInitTime', +new Date(`${new Date().toLocaleDateString()} ${timeFormat(time)}`));
- const date = new Date(+new Date(`${new Date().toLocaleDateString()} ${timeFormat(time)}`));
- this.initDate(date);
- }
+ '$store.state.socket.simulationTimeSync': function (time) { // 仿真时间更新
+ this.$store.dispatch('training/setInitTime', +new Date(`${new Date().toLocaleDateString()} ${timeFormat(time)}`));
+ const date = new Date(+new Date(`${new Date().toLocaleDateString()} ${timeFormat(time)}`));
+ this.initDate(date);
+ }
},
mounted() {
this.$nextTick(() => {
@@ -199,17 +203,21 @@ export default {
beforeDestroy() {
window.onclick = function (e) {};
},
- methods: {
- initDate(date) {
- this.time = `${prefixIntrger(date.getHours(), 2)}:${prefixIntrger(date.getMinutes(), 2)}:${prefixIntrger(date.getSeconds(), 2)}`;
- const years = date.getFullYear() + '';
- let months = date.getMonth() + 1 + '';
- let dates = date.getDate() + '';
- if (months.length < 2) { months = '0' + months; }
- if (dates.length < 2) { dates = '0' + dates; }
- this.dateString = years + months + dates;
- }
- }
+ methods: {
+ initDate(date) {
+ this.time = `${prefixIntrger(date.getHours(), 2)}:${prefixIntrger(date.getMinutes(), 2)}:${prefixIntrger(date.getSeconds(), 2)}`;
+ const years = date.getFullYear() + '';
+ let months = date.getMonth() + 1 + '';
+ let dates = date.getDate() + '';
+ if (months.length < 2) { months = '0' + months; }
+ if (dates.length < 2) { dates = '0' + dates; }
+ this.dateString = years + months + dates;
+ this.dateString1 = years + '年' + months + '月' + dates + '日';
+ },
+ handleRunplan() {
+ this.$refs.runplanPane.doShow();
+ }
+ }
};
@@ -468,89 +476,273 @@ export default {
font-weight: normal !important;
color: #000 !important;
}
+ .fuzhou-01__systerm .el-dialog {
+ background: rgba(100, 100, 100, 0.3);
+ border: 2px solid rgb(144, 144, 144, 0.8);
+ border-radius: 6px;
+ color: #000;
+ font-size: 14px;
+ }
- .chengdou-03__systerm .el-dialog .context {
- height: 100px;
- border: 2px inset #E2E2E2;
- overflow-y: scroll;
- }
-
- .chengdou-03__systerm .el-dialog .table {
- margin-top: 10px;
- }
-
- .chengdou-03__systerm .el-dialog .notice {
- margin-left: 62px;
- line-height: 30px;
- }
-
- .chengdou-03__systerm .el-dialog .button-group {
- margin-top: 20px;
- }
- .alarm-window {
- width: 450px;
- height: 100px;
- position: fixed;
- top: 10px;
- left: 55px;
- background: #f00;
- z-index: 10;
- overflow-y: scroll;
- border-bottom: 6px #ccc solid;
- border-top: 6px #ccc solid;
- border-right: 3px #ccc solid;
- border-left: 3px #ccc solid;
+ .fuzhou-01__systerm .el-dialog .el-dialog__header {
padding: 5px;
+ height: 26px;
}
- .device-status-window {
- width: 160px;
- height: 35px;
- position: fixed;
- top: 50px;
- right: 10px;
- z-index: 10;
- display: flex;
- border: 2px #FBFCFB solid;
- align-items: center;
- justify-content: center;
+
+ .fuzhou-01__systerm .el-dialog .el-dialog__footer {
+ background: #F0F0F0;
+ opacity: 1;
}
- .device-status-button {
- border-top: 2px #808080 solid;
- border-left: 2px #808080 solid;
- border-right: 2px #FDFBF9 solid;
- border-bottom: 2px #FDFBF9 solid;
- width: 79px;
- height: 30px;
- text-align: center;
+
+ .fuzhou-01__systerm .el-dialog .el-dialog__body {
+ padding-top: 10px;
+ padding-bottom: 10px;
+ padding-left: 5px;
+ padding-right: 5px;
+ margin: 0px 5px 5px;
+ border: 2px solid rgba(120, 121, 123, 0.5);
+ box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
+ background: #F0F0F0;
+ opacity: 1;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-dialog__title {
+ position: absolute;
+ top: 4px;
+ color: #000;
+ border-radius: 4px;
+ padding: 0px 2px;
+ height: 20px;
+ line-height: 20px
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-dialog__title::before {
+ content: '';
+ position: absolute;
+ top: 0;
+ left: 0;
+ -webkit-filter: blur(10px);
+ filter: blur(10px);
+ height: 20px;
+ width: -webkit-fill-available;
+ background: rgba(128, 128, 128, 0.8);
+ z-index: -1;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-dialog__headerbtn {
+ background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
+ border: 1px solid #fff;
+ border-radius: 4px;
+ top: 4px;
+ right: 5px;
+ line-height: 16px;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
+ font-size: 16px;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
+ color: #fff;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-button {
+ height: 32px;
+ line-height: 32px;
+ padding: 0px;
+ width: 80px;
+ border: 2px outset #E2E2E2;
+ border-radius: 0px !important;
+ color: #000;
+ background: #F0F0F0;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-button:focus span {
+ border: 1px dashed gray;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-button:active {
+ border: 2px inset #E2E2E2;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-button:disabled {
+ border: 2px inset #E2E2E2;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-button:disabled span {
+ border: 0px;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-input {
+ border: 2px inset #E9E9E9;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-input .el-input__inner {
+ color: #000;
+ background: #fff !important;
+ border: 0px;
+ border-radius: 0px !important;
+ box-sizing: border-box;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-input.is-disabled .el-input__inner {
+ background: #F0F0F0 !important;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-textarea {
+ border: 2px inset #E9E9E9;
+ border-radius: 0px;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-textarea .el-textarea__inner {
+ color: #000;
+ background: #fff !important;
+ border: 0px;
+ border-radius: 0px !important;
+ box-sizing: border-box;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
+ background: #F0F0F0 !important;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-table {
+ border: 2px inset #E9E9E9;
+ color: #000 !important;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-table .cell {
+ line-height: unset !important;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-table th.is-leaf {
+ background: #F0F0F0 !important;
+ border-right: 1px solid #BDBDBD !important;
+ border-bottom: 1px solid #BDBDBD !important;
+ color: #000 !important;
+ height: 20px !important;
+ padding: 0px;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-table tr td {
+ height: 20px !important;
+ padding: 0px;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-table .el-table__empty-text {
+ top: 15px !important;
+ }
+
+ .fuzhou-01__systerm .el-dialog .current-row>td {
+ background: #3399FF !important;
+ color: #fff !important;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-checkbox__inner {
+ border: 1px inset #dcdfe6 !important;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-checkbox__label {
+ color: #000 !important;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
+ background: #E6E6E6 !important;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
+ color: #C5C9CC !important;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
+ background: #fff !important;
+ border: 1px inset #dcdfe6 !important;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner::after {
+ position: absolute;
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box;
+ content: "";
+ border: 1px solid #000;
+ border-left: 0;
+ border-top: 0;
+ height: 7px;
+ left: 4px;
+ top: 1px;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-radio__inner {
+ border: 1px inset #dcdfe6 !important;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-radio__label {
+ color: #000 !important;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
+ background: #fff !important;
+ border: 1px inset #dcdfe6 !important;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner::after {
+ width: 4px;
+ height: 4px;
+ border-radius: 100%;
+ background-color: #000 !important;
+ position: absolute;
+ left: 50%;
+ top: 50%;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
+ background: #E6E6E6 !important;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
+ color: #C5C9CC !important;
+ }
+
+ .fuzhou-01__systerm .el-dialog .base-label {
+ background: rgb(240 240 240);
+ position: relative;
+ }
+
+ .fuzhou-01__systerm .el-dialog .el-form-item label {
+ font-weight: normal !important;
+ color: #000 !important;
+ }
+
+ .fuzhou-01__systerm .el-dialog .context {
+ height: 100px;
+ border: 2px inset #E2E2E2;
+ overflow-y: scroll;
+ }
+
+ .fuzhou-01__systerm .el-dialog .table {
+ margin-top: 10px;
+ }
+
+ .fuzhou-01__systerm .el-dialog .notice {
+ margin-left: 62px;
line-height: 30px;
- cursor: pointer;
}
- .warning-window {
- width: 400px;
- height: 100px;
- position: fixed;
- right: 10px;
- top: 60px;
- background: #808080;
- z-index: 10;
- overflow-y: scroll;
- border-bottom: 6px #ccc solid;
- border-top: 6px #ccc solid;
- border-right: 3px #ccc solid;
- border-left: 3px #ccc solid;
- padding: 5px;
+
+ .fuzhou-01__systerm .el-dialog .button-group {
+ margin-top: 10px;
}
.img-box{
width: 28px;
height: 28px;
- border: 3px #ccc inset;
+ border: 2px #ccc outset;
+ margin-top: 0;
background: #fff;
cursor: pointer;
}
.img-box:active{
- border: 3px #ccc outset;
+ border: 2px #ccc inset;
}
.img-box:hover{
- border: 3px #ccc outset;
+ border: 2px #ccc inset;
}
diff --git a/src/jmapNew/theme/datie_02/menus/menuBar.vue b/src/jmapNew/theme/datie_02/menus/menuBar.vue
index 5eff1b54a..160111b8c 100644
--- a/src/jmapNew/theme/datie_02/menus/menuBar.vue
+++ b/src/jmapNew/theme/datie_02/menus/menuBar.vue
@@ -1,26 +1,6 @@
@@ -21,6 +22,7 @@ import RouteSelection from './dialog/routeSelection';
import RouteDetail from './dialog/routeDetail';
import RouteHandControl from './dialog/routeHandControl';
import RouteGuide from './dialog/routeGuide';
+import RouteCancel from './menuDialog/routeCancel';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import { mapGetters } from 'vuex';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
@@ -29,6 +31,7 @@ import CMD from '@/scripts/cmdPlugin/CommandEnum';
import PasswordBox from '@/jmapNew/theme/components/menus/childDialog/passwordInputBox';
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
import DrawSelect from './dialog/drawSelect';
+import { EventBus } from '@/scripts/event-bus';
export default {
name: 'SignalMenu',
@@ -42,7 +45,8 @@ export default {
NoticeInfo,
PasswordBox,
SetFault,
- DrawSelect
+ DrawSelect,
+ RouteCancel
},
props: {
selected: {
@@ -57,49 +61,52 @@ export default {
menu: [],
menuNormal: {
Local: [
- // {
- // label: '图纸调用',
- // handler: this.drawingCall
- // },
- // {
- // label: '基础设备培训',
- // handler: this.baDeTrCall
- // }
- // {
- // label: '办理进路',
- // handler: this.arrangementRoute,
- // cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
- // },
- // {
- // label: '办理引导进路',
- // handler: this.guide,
- // cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE
- // },
- // {
- // label: '取消进路',
- // handler: this.cancelTrainRoute,
- // cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
- // },
- // {
- // label: '总人解', // 取消引导进路
- // handler: this.humanTrainRoute,
- // cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE
- // },
- // {
- // label: '进路收人工控',
- // handler: this.humanControl,
- // cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
- // },
- // {
- // label: '进路交自动控',
- // handler: this.atsAutoControl,
- // cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
- // },
- // {
- // label: '进路信息',
- // handler: this.detail,
- // cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
- // }
+ {
+ label: '办理 通过进路',
+ handler: this.arrangementRoute,
+ cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
+ },
+ {
+ type: 'separator'
+ },
+ {
+ label: '列车 办理进路',
+ handler: this.arrangementRoute,
+ cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
+ },
+ {
+ label: '取消进路',
+ handler: this.cancelTrainRoute,
+ cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
+ },
+ {
+ label: '信号重开',
+ handler: this.reopenSignal,
+ cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
+ },
+ {
+ label: '封锁/解封',
+ handler: '',
+ cmdType: ''
+ },
+ {
+ label: '总人解',
+ handler: this.humanTrainRoute,
+ cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE
+ },
+ {
+ type: 'separator'
+ },
+ {
+ label: '引导',
+ handler: this.guide,
+ cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE
+ },
+ {
+ label: '坡道解锁',
+ handler: '',
+ cmdType: ''
+ }
],
Center: [
// {
@@ -190,7 +197,8 @@ export default {
},
watch: {
'$store.state.menuOperation.menuCount': function (val) {
- if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Signal) && !this.buttonOperation) {
+ console.log(DeviceMenu.Signal, val, this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Signal), this.buttonOperation);
+ if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Signal) && (!this.buttonOperation || this.$route.query.ctc)) {
this.doShow(this.$store.state.menuOperation.menuPosition);
} else {
this.doClose();
@@ -262,7 +270,8 @@ export default {
arrangementRoute() {
commitOperate(menuOperate.Signal.arrangementRoute, {signalCode: this.selected.code}, 0).then(({valid, operate}) => {
if (valid) {
- this.$refs.routeSelection.doShow(operate, this.selected, this.getRouteList(this.selected));
+ // this.$refs.routeSelection.doShow(operate, this.selected, this.getRouteList(this.selected));
+ EventBus.$emit('arrangementRouteMenu', this.selected);
}
});
},
@@ -270,7 +279,8 @@ export default {
guide() {
commitOperate(menuOperate.Signal.guide, {signalCode: this.selected.code}, 0).then(({valid, operate}) => {
if (valid) {
- this.$refs.passwordBox.doShow({...operate, ...{selected: this.selected}, ...{routesList: this.getRouteList(this.selected)}});
+ // this.$refs.passwordBox.doShow({...operate, ...{selected: this.selected}, ...{routesList: this.getRouteList(this.selected)}});
+ this.$refs.routeCancel.doShow(operate, this.selected)
}
});
},
@@ -278,7 +288,7 @@ export default {
cancelTrainRoute() {
commitOperate(menuOperate.Signal.cancelTrainRoute, {signalCode: this.selected.code}, 0).then(({valid, operate}) => {
if (valid) {
- this.$refs.routeControl.doShow(operate, this.selected);
+ this.$refs.routeCancel.doShow(operate, this.selected);
}
});
},
@@ -286,8 +296,7 @@ export default {
humanTrainRoute() {
commitOperate(menuOperate.Signal.humanTrainRoute, {signalCode: this.selected.code}, 0).then(({valid, operate}) => {
if (valid) {
- Object.assign(operate, {operation: OperationEvent.Signal.humanTrainRoute.button.operation });
- this.$refs.passwordBox.doShow({...operate, ...{selected: this.selected}});
+ this.$refs.routeCancel.doShow(operate, this.selected);
}
});
},
@@ -295,10 +304,25 @@ export default {
reopenSignal() {
commitOperate(menuOperate.Signal.reopenSignal, {signalCode: this.selected.code}, 0).then(({valid, operate}) => {
if (valid) {
- this.$refs.routeControl.doShow(operate, this.selected);
+ this.$refs.routeCancel.doShow(operate, this.selected);
}
});
},
+ lockOrUnlock() {
+ if (this.selected.lock) {
+ commitOperate(menuOperate.Signal.lock, {signalCode: this.selected.code}, 0).then(({valid, operate}) => {
+ if (valid) {
+ this.$refs.routeControl.doShow(operate, this.selected);
+ }
+ })
+ } else {
+ commitOperate(menuOperate.Signal.unlock, {signalCode: this.selected.code}, 0).then(({valid, operate}) => {
+ if (valid) {
+ this.$refs.routeControl.doShow(operate, this.selected);
+ }
+ })
+ }
+ },
// 信号封锁
lock() {
commitOperate(menuOperate.Signal.lock, {signalCode: this.selected.code}, 0).then(({valid, operate}) => {
diff --git a/src/jmapNew/theme/datie_02/menus/menuSwitch.vue b/src/jmapNew/theme/datie_02/menus/menuSwitch.vue
index a4fee8475..5dca3a78b 100644
--- a/src/jmapNew/theme/datie_02/menus/menuSwitch.vue
+++ b/src/jmapNew/theme/datie_02/menus/menuSwitch.vue
@@ -7,6 +7,7 @@
+
@@ -23,6 +24,7 @@ import CancelMouseState from '@/mixin/CancelMouseState';
import { mapGetters } from 'vuex';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
+import RouteCancel from './menuDialog/routeCancel';
export default {
name: 'SwitchMenu',
@@ -33,7 +35,8 @@ export default {
NoticeInfo,
SetFault,
SwitchHookLock,
- DrawSelect
+ DrawSelect,
+ RouteCancel
},
mixins: [
CancelMouseState
@@ -51,14 +54,66 @@ export default {
menu: [],
menuNormal: {
Local: [
- // {
- // label: '图纸调用',
- // handler: this.drawingCall
- // },
- // {
- // label: '基础设备培训',
- // handler: this.baDeTrCall
- // }
+ {
+ label: '定操',
+ handler: this.locate,
+ cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION
+ },
+ {
+ label: '反操',
+ handler: this.reverse,
+ cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION
+ },
+ {
+ label: '单锁',
+ handler: this.lock,
+ cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
+ },
+ {
+ label: '单解',
+ handler: this.unlock,
+ cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
+ },
+ {
+ label: '封锁/解封',
+ handle: ''
+ },
+ {
+ label: '区故解',
+ handle: ''
+ },
+ {
+ label: '岔前 分路不良',
+ handle: ''
+ },
+ {
+ label: '定位 分路不良',
+ handle: ''
+ },
+ {
+ label: '反位 分路不良',
+ handle: ''
+ },
+ {
+ label: '接触网定位无电',
+ handle: ''
+ },
+ {
+ label: '接触网反位无电',
+ handle: ''
+ },
+ {
+ label: '添加调机号',
+ handle: ''
+ },
+ {
+ label: '删除调机号',
+ handle: ''
+ },
+ {
+ label: '修改调机号',
+ handle: ''
+ }
],
Center: [
// {
@@ -132,7 +187,7 @@ export default {
},
watch: {
'$store.state.menuOperation.menuCount': function (val) {
- if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Switch) && !this.buttonOperation) {
+ if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Switch) && (!this.buttonOperation || this.$route.query.ctc)) {
this.doShow(this.$store.state.menuOperation.menuPosition);
} else {
this.doClose();
@@ -243,7 +298,8 @@ export default {
locate() {
commitOperate(menuOperate.Switch.locate, {switchCode:this.selected.code}, 0).then(({valid, operate})=>{
if (valid) {
- this.$refs.switchControl.doShow(operate, this.selected);
+ // this.$refs.switchControl.doShow(operate, this.selected);
+ this.$refs.routeCancel.doShow(operate, this.selected);
}
});
},
@@ -251,7 +307,8 @@ export default {
reverse() {
commitOperate(menuOperate.Switch.reverse, {switchCode:this.selected.code}, 0).then(({valid, operate})=>{
if (valid) {
- this.$refs.switchControl.doShow(operate, this.selected);
+ // this.$refs.switchControl.doShow(operate, this.selected);
+ this.$refs.routeCancel.doShow(operate, this.selected);
}
});
},
diff --git a/src/jmapNew/theme/datie_02/menus/menuTrain.vue b/src/jmapNew/theme/datie_02/menus/menuTrain.vue
index 2df0d8537..1df99fa4e 100644
--- a/src/jmapNew/theme/datie_02/menus/menuTrain.vue
+++ b/src/jmapNew/theme/datie_02/menus/menuTrain.vue
@@ -227,7 +227,7 @@ export default {
},
watch: {
'$store.state.menuOperation.menuCount': function () {
- if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Train) && !this.buttonOperation) {
+ if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Train) && (!this.buttonOperation || this.$route.query.ctc)) {
this.doShow(this.$store.state.menuOperation.menuPosition);
} else {
this.doClose();
diff --git a/src/jmapNew/theme/datie_02/menus/runplanPane.vue b/src/jmapNew/theme/datie_02/menus/runplanPane.vue
new file mode 100644
index 000000000..f73af8add
--- /dev/null
+++ b/src/jmapNew/theme/datie_02/menus/runplanPane.vue
@@ -0,0 +1,1085 @@
+
+
+
+
+
+
+
+
+
预告(F1)
+
同意(F2)
+
到达(F3)
+
出发(F4)
+
通过(F11)
+
邻站(F6)
+
取消接车(Esc)
+
取消闭塞(F6)
+
取消发车(F7)
+
+
+
+
+
+
+
+ {{ scope.row.tripNumber }} {{ scope.row.delete?'(删)':'' }}
+
+
+
+
+
+
+ 下
行
+ 1
+
+
+
+
+ 上
行
+ 2
+
+
+
+
+
+ 接
车
口
+ 3
+
+
+ {{ scope.row.arriveRunPlan.accessName }}
+
+
+
+
+ 接
车
股
道
+ 4
+
+
+
+
+
+
+
+
+
+
+
+ 5
+
+
+
+
+ {{ coverRealTime(scope.row.arriveRunPlan.adjacentMessageTime) }}
+
+
+
+
+ 邻
站
出
发
+ 6
+
+
+
+
+
+ 规
定
+ 7
+
+
+ {{ coverTime(scope.row.arriveRunPlan.planTime) }}
+
+
+
+
+ 实
际
+ 8
+
+
+
+
+
+
+
+
+ 重
车
+ 9
+
+
+
+
+ 空
车
+ 10
+
+
+
+
+
+ 非
运
用
车
+ 11
+
+
+
+
+ 守
车
+ 12
+
+
+
+
+
+
+ 13
+
+
+
+
+
+ 承
认
闭
塞
+ 14
+
+
+
+
+
+ 15
+
+
+
+
+ 取
消
闭
塞
+ 16
+
+
+
+
+
+ 17
+
+
+
+
+
+ 18
+
+
+
+
+
+
+
+
+ 下
行
+ 19
+
+
+
+
+ 上
行
+ 20
+
+
+
+
+
+ 发
车
股
道
+ 21
+
+
+
+
+
+
+
+
+
+ 发
车
口
+ 22
+
+
+ {{ scope.row.departRunPlan.accessName }}
+
+
+
+
+
+
+ 23
+
+
+
+
+ {{ coverRealTime(scope.row.departRunPlan.adjacentMessageTime) }}
+
+
+
+
+ 邻
站
到
达
+ 24
+
+
+
+
+
+ 规
定
+ 25
+
+
+ {{ coverTime(scope.row.departRunPlan.planTime) }}
+
+
+
+
+ 实
际
+ 26
+
+
+
+
+
+
+
+
+ 重
车
+ 27
+
+
+
+
+ 空
车
+ 28
+
+
+
+
+
+ 非
运
用
车
+ 29
+
+
+
+
+ 守
车
+ 30
+
+
+
+
+
+
+
+
+
列规
+
车定
+
停时
+
站间
+
超原
+
过因
+
+ 31
+
+
+
+
+ 计
划
属
性
+ 32
+
+
+
+
+ 记
事
+ 33
+
+
+
+
+
+
+
+
+
+
+
+
+
+
键盘输入区
+
+
+ [HOME]复位 类型:0股道 1预告 2同意邻站发车 3到达 4出发 5出发机车号码 6取消同意邻站发车 7取消发车 8记事 9邻站同意发车 10邻站出发 11邻站到达 12接车线别 13发车线别 14通过
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/permission.js b/src/permission.js
index eb4b75e03..4b1730460 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -4,7 +4,7 @@ import router from './router/index';
import {loginInfo, ProjectCode, localPackageProject} from '@/scripts/ProjectConfig';
import NProgress from 'nprogress';
import 'nprogress/nprogress.css';
-import { setToken, getToken, removeToken, getSessionStorage } from '@/utils/auth';
+import { setToken, getToken, removeToken, getSessionStorage, setSessionStorage } from '@/utils/auth';
import { getBaseUrlByProject } from '@/api/projectServer';
import localStore from 'storejs';
import { handlerUrl } from '@/utils/baseUrl';
@@ -69,6 +69,10 @@ function handleRoute(to, next, loginPath) {
}
router.beforeEach( async (to, from, next) => {
+ if (to.query.thirdJump) {
+ setToken(to.query.key);
+ setSessionStorage('project', to.query.project);
+ }
let project = '';
if (to.path.includes('login')) {
project = to.query.project;
diff --git a/src/router/index.js b/src/router/index.js
index 59471c241..5297f6210 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -44,6 +44,7 @@ const DisplayBaSiDi = () => import('@/views/newMap/displayBaSiDi/index');
const DesignDisplayNew = () => import('@/views/newMap/displayNew/scriptDisplay/scriptPreview/index');
const PracticeDisplay = () => import('@/views/newMap/displayNew/practiceDisplay');
const BigLPFStrategy = () => import('@/views/newMap/displayNew/bigLPFStrategy');
+const BigTrainRunplanManage = () => import('@/views/bigTrainRunplanManage/index');
const JointTrainingNew = () => import('@/views/newMap/jointTrainingNew/index');
const jointTrainingNewCCTV = () => import('@/views/newMap/jointTrainingNew/realCCTV');
@@ -680,7 +681,14 @@ export const publicAsyncRoute = [
hidden: true
}
]
- }
+ },
+ {
+ // 大铁项目 管理终端
+ path: '/bigTrainRunplanManage',
+ component: BigTrainRunplanManage,
+ hidden: true
+ },
+
];
// 城市轨道项目
export const asyncRouter = [
diff --git a/src/scripts/ProjectConfig.js b/src/scripts/ProjectConfig.js
index c377ae14b..d039dbced 100644
--- a/src/scripts/ProjectConfig.js
+++ b/src/scripts/ProjectConfig.js
@@ -17,11 +17,13 @@ import FaviconSdy from '@/assets/icon/favicon_jdy.png';
import FaviconCgy from '@/assets/icon/favicon_cgy.png';
import FaviconRichor from '@/assets/icon/favicon_richor.png';
import FaviconZzww from '@/assets/icon/favicon_zzww.png';
+import FaviconUnittec from '@/assets/icon/favicon_unittec.png';
import FaviconSay from '@/assets/icon/favicon_say.png';
import Link_Bxkc from '@/assets/icon/link_bxkc.png';
import Link_Crsc from '@/assets/icon/link_crsc.png';
import Link_Hls from '@/assets/icon/link_hls.png';
import Link_Bjd from '@/assets/icon/link_bjd.png';
+import Link_Unittec from '@/assets/icon/link_unittec.png';
import TransparentIcon from '@/assets/icon/transparent.png';
// title:页面title; loginPath:退出登录跳转路径; loginParam:登录接口参数project;loginTitle:登录页左上角title;logoWidth:登录页左上角logo宽度;
@@ -569,6 +571,30 @@ export const loginInfo = {
navigationMarginLeft: '60px',
systemType: '011'
},
+ designrichorhhcj: {
+ title: '红河财经学校城市轨道交通设计平台',
+ loginPath: '/design/login?project=richorhhcj',
+ bottomColumn: '中航锐创(北京)科技发展有限公司 联系电话:4000500081',
+ loginParam: 'RICHOR_HHCJ',
+ linkIcon: FaviconRichor,
+ titleIcon: FaviconRichor,
+ titleDistance: '-150px',
+ navigationLogoWidth: '40px',
+ navigationMarginLeft: '60px',
+ systemType: '011'
+ },
+ richorhhcj: {
+ title: '红河财经学校城市轨道交通实训平台',
+ loginPath: '/login?project=richorhhcj',
+ bottomColumn: '中航锐创(北京)科技发展有限公司 联系电话:4000500081',
+ loginParam: 'RICHOR_HHCJ',
+ linkIcon: FaviconRichor,
+ titleIcon: FaviconRichor,
+ titleDistance: '-150px',
+ navigationLogoWidth: '40px',
+ navigationMarginLeft: '60px',
+ systemType: '011'
+ },
designjxgm: {
title: '江西工业贸易职业技术学院城市轨道交通设计平台',
loginPath: '/design/login?project=jxgm',
@@ -622,6 +648,30 @@ export const loginInfo = {
navigationLogoWidth: '40px',
navigationMarginLeft: '60px',
systemType: '026'
+ },
+ unittecsty: {
+ title: '城市轨道交通实训平台',
+ loginPath: '/login?project=unittecsty',
+ loginParam: 'UNITTEC_STY',
+ titleDistance: '-150px',
+ titleIcon: Link_Unittec,
+ linkIcon: Link_Unittec,
+ titleImgWidth: '250px',
+ navigationLogoWidth: '60px',
+ navigationMarginLeft: '80px',
+ systemType: '011'
+ },
+ designunittecsty: {
+ title: '城市轨道交通设计平台',
+ loginPath: '/design/login?project=unittecsty',
+ loginParam: 'UNITTEC_STY',
+ titleDistance: '-150px',
+ titleIcon: Link_Unittec,
+ linkIcon: Link_Unittec,
+ titleImgWidth: '250px',
+ navigationLogoWidth: '60px',
+ navigationMarginLeft: '80px',
+ systemType: '011'
}
};
@@ -681,7 +731,9 @@ export const ProjectIcon = {
richorygy: FaviconRichor,
designrichorygy: FaviconRichor,
say: FaviconSay,
- designsay: FaviconSay
+ designsay: FaviconSay,
+ unittecsty: FaviconUnittec,
+ designunittecsty: FaviconUnittec
};
export const ProjectCode = {
@@ -731,18 +783,20 @@ export const ProjectCode = {
say: 'SAY',
designsay: 'SAY',
xzexam:'SAY',
+ unittecsty: 'UNITTEC_STY',
+ designunittecsty: 'UNITTEC_STY'
};
/** 嵌入第三方平台 导航栏右上角 清空 */
export const ThirdLoginList = ['richor', 'designrichor', 'richorygy', 'designrichorygy'];
/** 底部栏仅展示公司信息不展示备案号 */
export const BottomColumnOnlyConInfo = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls',
'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'richor', 'richorlesson3d', 'richorjoint', 'designrichorjoint', 'nologo', 'designnologo', 'richorygy',
- 'designrichorygy'];
+ 'designrichorygy', 'unittecsty', 'designunittecsty'];
/** 实训设计平台通过项目code获取地图列表的项目 */
export const GetMapListByProjectList = ['xty', 'designxty', 'gzb', 'designgzb', 'xadt', 'designxadt', 'heb', 'designheb', 'designdrts', 'drts', 'wjls',
'nty', 'designnty', 'sdy', 'designsdy', 'ntyc', 'designntyc', 'ntyl', 'designntyl', 'designbjd', 'cgy', 'designcgy', 'zzww', 'zzwwtest', 'richor',
'richorlesson3d', 'richorjoint', 'designrichorjoint', 'nologo', 'designnologo', 'srsandbox', 'designsrsandbox', 'designhlsdrts', 'hlsdrts', 'jxgm', 'designjxgm',
- 'richorygy', 'designrichorygy', 'say', 'designsay'];
+ 'richorygy', 'designrichorygy', 'say', 'designsay', 'unittecsty', 'designunittecsty'];
/** 案例展示隐藏的项目 */
export const CaseHideProjectList = ['heb', 'designheb', 'cgy', 'designcgy'];
/** 登录页右下角版本开发基于不展示 */
@@ -751,12 +805,12 @@ export const VersionBaseNoShow = ['heb', 'designheb', 'hls', 'designhls', 'drts'
/** 登录页右下角主体不展示 */
export const MainBodyNoShow = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls',
'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'xadt', 'designxadt', 'richor', 'richorlesson3d', 'richorjoint', 'nologo', 'designnologo',
- 'srsandbox', 'designsrsandbox', 'designhlsdrts', 'hlsdrts', 'jxgm', 'designjxgm', 'xzexam', 'richorygy', 'designrichorygy'];
+ 'srsandbox', 'designsrsandbox', 'designhlsdrts', 'hlsdrts', 'jxgm', 'designjxgm', 'xzexam', 'richorygy', 'designrichorygy', 'unittecsty', 'designunittecsty'];
/** 登录页项目 title 登录输入框上方 大字体 加粗居中 */
export const ProjectLoginStyleList = ['gzb', 'designgzb', 'xty', 'designxty', 'xadt', 'designxadt', 'tky', 'designtky', 'jyd', 'designjyd', 'bxkc', 'designbxkc',
'crsc', 'designcrsc', 'hls', 'designhls', 'drts', 'wjls', 'hyd', 'designhyd', 'nty', 'designnty', 'bjd', 'designbjd', 'sdy', 'designsdy', 'ntyc', 'designntyc',
'ntyl', 'designntyl', 'cgy', 'designcgy', 'zzww', 'zzwwtest', 'srsandbox', 'designsrsandbox', 'designhlsdrts', 'hlsdrts', 'jxgm', 'designjxgm', 'xzexam',
- 'richorygy', 'designrichorygy', 'say', 'designsay'];
+ 'richorygy', 'designrichorygy', 'say', 'designsay', 'unittecsty', 'designunittecsty'];
/** 登录页 登录输入框无二维码 */
export const NoQrcodeList = ['heb', 'designheb', 'cgy', 'designcgy', 'ntyl', 'designntyl'];
/** 综合演练 无二维码 */
@@ -811,7 +865,9 @@ export const goOtherPlatformMenu = {
jxgm: '/design/login?project=jxgm',
designjxgm: '/login?project=jxgm',
say: '/design/login?project=say',
- designsay: '/login?project=say'
+ designsay: '/login?project=say',
+ unittecsty: '/design/login?project=unittecsty',
+ designunittecsty: '/login?project=unittecsty'
};
export const ProjectList = [
{value:'xty', label:'西铁院'},
@@ -836,7 +892,8 @@ export const ProjectList = [
{value: 'sr_sandbox', label: '上饶沙盘'},
{value: 'jxgm', label: '江西工贸' },
{value: 'richor_ygy', label: '扬州工业'},
- {value: 'say', label: '苏安院'}
+ {value: 'say', label: '苏安院'},
+ {value: 'unittec_sty', label: '众合-陕铁院'}
];
/** 本地项目打包 */
export const localPackageProject = {
diff --git a/src/scripts/cmdPlugin/CommandEnum.js b/src/scripts/cmdPlugin/CommandEnum.js
index ebd795620..b0035ab3c 100644
--- a/src/scripts/cmdPlugin/CommandEnum.js
+++ b/src/scripts/cmdPlugin/CommandEnum.js
@@ -379,8 +379,14 @@ export default {
CMD_DIRECTION_CHANGE: {value: 'Direction_Change', label: '切换方向'}
},
CTC: {
- CTC_RECEIVING_NOTICE: {value: 'CTC_RECEIVING_NOTICE', label: '接预'},
- CTC_DEPARTURE_NOTICE: {value: 'CTC_DEPARTURE_NOTICE', label: '发预'},
+ CTC_FINISH_RECEIVING_NOTICE: {value: 'CTC_FINISH_RECEIVING_NOTICE', label: '完成接预'},
+ CTC_CANCEL_RECEIVING_NOTICE: {value: 'CTC_CANCEL_RECEIVING_NOTICE', label: '取消接预'},
+ CTC_FINISH_ARRIVE: {value: 'CTC_FINISH_ARRIVE', label: '完成到点'},
+ CTC_CANCEL_ARRIVE: {value: 'CTC_CANCEL_ARRIVE', label: '取消到点'},
+ CTC_FINISH_DEPARTURE_NOTICE: {value: 'CTC_FINISH_DEPARTURE_NOTICE', label: '完成发预'},
+ CTC_CANCEL_DEPARTURE_NOTICE: {value: 'CTC_CANCEL_DEPARTURE_NOTICE', label: '取消发预'},
+ CTC_FINISH_DEPARTURE: {value: 'CTC_FINISH_DEPARTURE', label: '完成发点'},
+ CTC_CANCEL_DEPARTURE: {value: 'CTC_CANCEL_DEPARTURE', label: '取消发点'},
CTC_ASSIST_PRESS_DOWN_TURN_DIRECTION:{value:'ASSIST_PRESS_DOWN_TURN_DIRECTION', label:'改方'},
CTC_AUTO_TRIGGER: {value: 'CTC_AUTO_TRIGGER', label: '自动触发'},
CTC_ASSIST_PRESS_MAIN_ASSIST:{value: 'ASSIST_PRESS_MAIN_ASSIST', label: '总辅助'},
@@ -388,6 +394,17 @@ export default {
CTC_ASSIST_PRESS_DELIVER_ASSIST:{value: 'ASSIST_PRESS_DELIVER_ASSIST', label: '发辅助'},
CTC_ASSIST_PRESS_BLOCK:{value: 'ASSIST_PRESS_BLOCK', label: '阻塞'},
CTC_ASSIST_PRESS_RESTORE:{value: 'ASSIST_PRESS_RESTORE', label: '复原'},
- CTC_ASSIST_PRESS_ACCIDENT:{value: 'ASSIST_PRESS_ACCIDENT', label: '事故'}
+ CTC_ASSIST_PRESS_ACCIDENT:{value: 'ASSIST_PRESS_ACCIDENT', label: '事故'},
+ CTC_BATCH_MODIFY_RUN_PLAN:{value: 'CTC_BATCH_MODIFY_RUN_PLAN', label: '批量修改股道'},
+ CTC_REMOVE_RUN_PLAN:{value: 'CTC_REMOVE_RUN_PLAN', label: '移除行车日志'},
+ CTC_MODIFY_ADJACENT_STATION:{value: 'CTC_MODIFY_ADJACENT_STATION', label: '修改邻站信息'},
+ CTC_MODIFY_TRIP_NUMBER:{value: 'CTC_MODIFY_TRIP_NUMBER', label: '修改车次号(大铁CTC)'},
+ CTC_SEND_NOTICE:{value: 'CTC_SEND_NOTICE', label: '发送发车预告'},
+ CTC_AGREE_NOTICE:{value: 'CTC_AGREE_NOTICE', label: '同意发车预告'},
+ CTC_ADD_RUN_PLAN_LIST_TO_EDIT_AREA:{value: 'CTC_ADD_RUN_PLAN_LIST_TO_EDIT_AREA', label: '增加列车固定径路'},
+ CTC_COVER_RUN_PLAN_LIST_TO_EDIT_AREA:{value: 'CTC_COVER_RUN_PLAN_LIST_TO_EDIT_AREA', label: '导入列车固定径路'},
+ CTC_REMOVE_RUN_PLAN_FROM_EDIT_AREA:{value: 'CTC_REMOVE_RUN_PLAN_FROM_EDIT_AREA', label: '删除列车固定径路'},
+ CTC_RELEASE_RUN_PLAN_TO_SIMULATION:{value: 'CTC_RELEASE_RUN_PLAN_TO_SIMULATION', label: '运行计划发布至CTC'},
+ CTC_SET_ROUTE:{value: 'CTC_SET_ROUTE', label: 'CTC办理进路'}
}
};
diff --git a/src/scripts/cmdPlugin/OperationHandler.js b/src/scripts/cmdPlugin/OperationHandler.js
index b75a736d9..404e9e199 100644
--- a/src/scripts/cmdPlugin/OperationHandler.js
+++ b/src/scripts/cmdPlugin/OperationHandler.js
@@ -1761,15 +1761,15 @@ export const OperationEvent = {
},
// 点灯 (大铁)
signalLight: {
- menuButton: {
- operation: '3231',
+ menuButton: {
+ operation: '3231',
domId: '_Tips-Signal-signalLight-MenuButton{BOTTOM}'
}
},
// 灭灯 (大铁)
signalDestroy: {
- menuButton: {
- operation: '3232',
+ menuButton: {
+ operation: '3232',
domId: '_Tips-Signal-signalDestroy-MenuButton{BOTTOM}'
}
}
@@ -2991,16 +2991,16 @@ export const OperationEvent = {
},
// 引导总锁Station_Master_Lock
stationMasterLock: {
- menuButton: {
- operation: '621',
+ menuButton: {
+ operation: '621',
domId: '_Tips-Station-stationMasterLock'
},
leftButton: {
- operation: '6211',
+ operation: '6211',
domId: '_Tips-Station-stationMasterLock-leftButton'
},
rightButton: {
- operation: '6212',
+ operation: '6212',
domId: '_Tips-Station-stationMasterLock-rightButton'
}
}
@@ -3607,15 +3607,15 @@ export const OperationEvent = {
}
},
CTCCommand: {
- receivingNotice: {
- menu: {
- operation: '1100',
+ receivingNotice: {
+ menu: {
+ operation: '1100',
domId: '_Tips-CTC-ReceivingNotice-Menu{TOP}'
}
},
departureNotice: {
- menu: {
- operation: '1101',
+ menu: {
+ operation: '1101',
domId: '_Tips-CTC-DepartureNotice-Menu{TOP}'
}
},
@@ -3626,48 +3626,166 @@ export const OperationEvent = {
}
},
autoTrigger: {
- menu: {
- operation: '1103',
+ menu: {
+ operation: '1103',
domId: '_Tips-CTC-AutoTrigger-Menu{TOP}'
}
},
assistPressMainAssist:{
menu: {
- operation: '1104',
+ operation: '1104',
domId: '_Tips-CTC-AssistPressMainAssist-Menu{TOP}'
}
},
assistPressReceiveAssist:{
menu: {
- operation: '1105',
+ operation: '1105',
domId: '_Tips-CTC-AssistPressReceiveAssist-Menu{TOP}'
}
},
assistPressDeliverAssist:{
menu: {
- operation: '1106',
+ operation: '1106',
domId: '_Tips-CTC-AssistPressDeliverAssist-Menu{TOP}'
}
},
assistPressBlock:{
menu: {
- operation: '1107',
+ operation: '1107',
domId: '_Tips-CTC-AssistPressBlock-Menu{TOP}'
}
},
assistPressRestore:{
menu: {
- operation: '1108',
+ operation: '1108',
domId: '_Tips-CTC-AssistPressRestore-Menu{TOP}'
}
},
assistPressAccident:{
menu: {
- operation: '1109',
+ operation: '1109',
domId: '_Tips-CTC-AssistPressAccident-Menu{TOP}'
}
+ },
+ // 批量修改股道
+ batchModifyTrackSection:{
+ menu: {
+ operation: '1111',
+ domId: '_Tips-CTC-batchModifyTrackSection-Menu{TOP}'
+ }
+ },
+ // 移除行车日志
+ deleteRunplan:{
+ menu: {
+ operation: '1112',
+ domId: '_Tips-CTC-deleteRunplan-Menu{TOP}'
+ }
+ },
+ // 修改行车计划的邻站信息
+ modifyAdjacentStation:{
+ menu: {
+ operation: '1113',
+ domId: '_Tips-CTC-modifyAdjacentStation-Menu{TOP}'
+ }
+ },
+ // 修改车次号(大铁CTC)
+ modifyTripNumber:{
+ menu: {
+ operation: '1114',
+ domId: '_Tips-CTC-modifyTripNumber-Menu{TOP}'
+ }
+ },
+ // 发送发车预告
+ sendNotcie:{
+ menu: {
+ operation: '1115',
+ domId: '_Tips-CTC-sendNotcie-Menu{TOP}'
+ }
+ },
+ // 同意发车预告
+ agreeNotcie:{
+ menu: {
+ operation: '1116',
+ domId: '_Tips-CTC-agreeNotcie-Menu{TOP}'
+ }
+ },
+ // 取消接预
+ cancelReceivingNotice: {
+ menu: {
+ operation: '1117',
+ domId: '_Tips-CTC-CancelReceivingNotice-Menu{TOP}'
+ }
+ },
+ // 取消发预
+ cancelDepartureNotice: {
+ menu: {
+ operation: '1118',
+ domId: '_Tips-CTC-CancelDepartureNotice-Menu{TOP}'
+ }
+ },
+ // 完成到点 FINISH_ARRIVE
+ finishArrive: {
+ menu: {
+ operation: '1119',
+ domId: '_Tips-CTC-FinishArrive-Menu{TOP}'
+ }
+ },
+ // 取消到点
+ cancelArrive: {
+ menu: {
+ operation: '1120',
+ domId: '_Tips-CTC-CancelArrive-Menu{TOP}'
+ }
+ },
+ // 完成发点 CTC_FINISH_DEPARTURE
+ finishDeparture: {
+ menu: {
+ operation: '1121',
+ domId: '_Tips-CTC_FinishDeparture-Menu{TOP}'
+ }
+ },
+ // 取消发点
+ cancelDeparture: {
+ menu: {
+ operation: '1122',
+ domId: '_Tips-CTC_CancelDeparture-Menu{TOP}'
+ }
+ },
+ // 增加列车固定径路
+ addTrainFixedPath:{
+ menu: {
+ operation: '1123',
+ domId: '_Tips-CTC-addTrainFixedPath-Menu{TOP}'
+ }
+ },
+ // 导入列车固定径路
+ importTrainFixedPath:{
+ menu: {
+ operation: '1124',
+ domId: '_Tips-CTC-importTrainFixedPath-Menu{TOP}'
+ }
+ },
+ // 删除列车固定径路
+ deleteTrainFixedPath:{
+ menu: {
+ operation: '1125',
+ domId: '_Tips-CTC-deleteTrainFixedPath-Menu{TOP}'
+ }
+ },
+ // 运行计划发布至CTC
+ releaseTrainFixedPath:{
+ menu: {
+ operation: '1126',
+ domId: '_Tips-CTC-releaseTrainFixedPath-Menu{TOP}'
+ }
+ },
+ // 设置进路
+ setRoute: {
+ menu: {
+ operation: '1127',
+ domId: '_Tips-CTC-setRoute-Menu{TOP}'
+ }
}
-
}
};
diff --git a/src/store/modules/socket.js b/src/store/modules/socket.js
index 00e59053e..5472e1d28 100644
--- a/src/store/modules/socket.js
+++ b/src/store/modules/socket.js
@@ -1,4 +1,5 @@
import store from '@/store/index';
+import { copyAssign } from '@/utils/index';
import { Notification } from 'element-ui';
function handleSockInfo(state, msg, type) {
@@ -198,11 +199,75 @@ function handle(state, data) {
state.simulationPlanChange = msg;
break;
// 占线板信息
- case 'Simulation_RailCtcStatus':
- state.railCtcStatusMsg = msg;
- break;
+ case 'Simulation_RailCtcStatus':
+ state.railCtcStatusMsg = msg;
+ break;
+ // 大铁项目 ctc 运行图初始化信息
+ case 'SIMULATION_CTC_RUN_PLAN_INIT':
+ msg.forEach(element => {
+ const tripNumberDe = element.departRunPlan && element.departRunPlan.tripNumber;
+ const tripNumberAr = element.arriveRunPlan && element.arriveRunPlan.tripNumber;
+ if (tripNumberDe) { parseInt(tripNumberDe[tripNumberDe.length - 1]) % 2 == 0 ? element.departRunPlan.up = tripNumberDe : element.departRunPlan.down = tripNumberDe; }
+ if (tripNumberAr) { parseInt(tripNumberAr[tripNumberAr.length - 1]) % 2 == 0 ? element.arriveRunPlan.up = tripNumberAr : element.arriveRunPlan.down = tripNumberAr; }
+ const code = element.stationCode + '' + element.code;
+ state.railCtcRunplanInitMsg[code] = element;
+ });
+ break;
+ // 大铁项目 ctc 运行图改变信息
+ case 'SIMULATION_CTC_RUN_PLAN_CHANGE':
+ msg.forEach(element => {
+ const tripNumberDe = element.departRunPlan && element.departRunPlan.tripNumber;
+ const tripNumberAr = element.arriveRunPlan && element.arriveRunPlan.tripNumber;
+ if (tripNumberDe) {
+ element.departRunPlan.up = '';
+ element.departRunPlan.down = '';
+ parseInt(tripNumberDe[tripNumberDe.length - 1]) % 2 == 0 ? element.departRunPlan.up = tripNumberDe : element.departRunPlan.down = tripNumberDe;
+ }
+ if (tripNumberAr) {
+ element.arriveRunPlan.up = '';
+ element.arriveRunPlan.down = '';
+ parseInt(tripNumberAr[tripNumberAr.length - 1]) % 2 == 0 ? element.arriveRunPlan.up = tripNumberAr : element.arriveRunPlan.down = tripNumberAr;
+ }
+ const code = element.stationCode + '' + element.code;
+ state.railCtcRunplanInitMsg[code] = copyAssign(state.railCtcRunplanInitMsg[code], element);
+ });
+ state.railCtcRunplanChange++;
+ break;
+ // 大铁项目 ctc 车务管理端 初始化消息
+ case 'SIMULATION_CTC_MANAGER_RUN_PLAN_EDIT_INIT':
+ state.railCtcStationManageRpMsg = {};
+ msg.forEach(element => {
+ const code = element.stationCode + '' + element.tripNumber;
+ state.railCtcStationManageRpMsg[code] = element;
+ });
+ // state.railCtcStationManageRpChange++;
+ break;
+ // 大铁项目 ctc 车务管理端 修改/增加消息
+ case 'SIMULATION_CTC_MANAGER_RUN_PLAN_EDIT_CHANGE':
+ msg.forEach(element => {
+ const code = element.stationCode + '' + element.tripNumber;
+ state.railCtcStationManageRpMsg[code] = copyAssign(state.railCtcStationManageRpMsg[code] || {}, element);
+ });
+ state.railCtcStationManageRpChange++;
+ break;
+ // 大铁项目 ctc 车务管理端 移除消息
+ case 'SIMULATION_CTC_MANAGER_RUN_PLAN_EDIT_REMOVE':
+ msg.forEach(element => {
+ const code = element.stationCode + '' + element.tripNumber;
+ delete state.railCtcStationManageRpMsg[code];
+ });
+ state.railCtcStationManageRpChange++;
+ break;
+ // // 大铁项目 ctc 车务管理端 覆盖消息
+ // case 'SIMULATION_CTC_MANAGER_RUN_PLAN_EDIT_COVER':
+ // state.railCtcStationManageRpMsg = {};
+ // msg.forEach(element => {
+ // const code = element.stationCode + '' + element.tripNumber;
+ // state.railCtcStationManageRpMsg[code] = element;
+ // });
+ // state.railCtcStationManageRpChange++;
+ // break;
}
-
}
// 操作聊天信息
@@ -352,7 +417,11 @@ const socket = {
simulationPslStatus: [], // PSL面板按钮状态信息
simulationPlanChange:{}, // 运行图加线/抽线/变化推送消息
loggedOutMsg: '',
- railCtcStatusMsg: {}, // 占线板信息
+ railCtcStatusMsg: {}, // 占线板信息
+ railCtcRunplanInitMsg:{}, // 大铁项目 ctc 运行图初始化信息
+ railCtcRunplanChange:0, // 大铁项目 ctc 运行图信息变化
+ railCtcStationManageRpMsg:{}, // 大铁项目 ctc 车务管理 端运行图信息
+ railCtcStationManageRpChange:0 // 大铁项目 ctc 车务管理 运行图信息变化
},
getters: {
},
diff --git a/src/utils/baseUrl.js b/src/utils/baseUrl.js
index 05d02e164..f2ce36aff 100644
--- a/src/utils/baseUrl.js
+++ b/src/utils/baseUrl.js
@@ -24,7 +24,7 @@ export function handlerUrl(data) {
if (process.env.NODE_ENV === 'development') {
// const data = null;
// BASE_API = 'https://joylink.club/jlcloud';
- BASE_API = 'https://test.joylink.club/jlcloud';
+ // BASE_API = 'https://test.joylink.club/jlcloud';
// BASE_API = 'http://114.116.51.125/jlcloud';
// BASE_API = 'http://192.168.8.152:9000'; // 袁琪
// BASE_API = 'http://192.168.8.172:9200'; // 旭强
@@ -33,7 +33,7 @@ export function handlerUrl(data) {
// BASE_API = 'http://192.168.3.37:9000'; // 卫志宏
// BASE_API = 'http://b29z135112.zicp.vip';
// BASE_API = 'http://2925963m2a.zicp.vip'; // 杜康
- // BASE_API = 'http://2i38984j47.qicp.vip'; // 张赛
+ BASE_API = 'http://2i38984j47.qicp.vip'; // 张赛
// BASE_API = data && data.domainName ? 'https://' + data.domainName : BASE_API;
BASE_API = data && data.domainName ? 'http://' + data.domainName : BASE_API;
VOICE_API = data && data.resourcesDomainName ? 'https://' + data.resourcesDomainName : 'https://joylink.club/oss/joylink';
diff --git a/src/utils/index.js b/src/utils/index.js
index fd7687409..72288aaa6 100644
--- a/src/utils/index.js
+++ b/src/utils/index.js
@@ -185,6 +185,18 @@ export function segmentsIntr(a, b, c, d) {
return { x: a.x + dx, y: a.y + dy };
}
+export function copyAssign(...param) {
+ const result = Object.assign({}, ...param);
+ for (const item of param) {
+ for (const [idx, val] of Object.entries(item)) {
+ if (typeof val === 'object') {
+ result[idx] = copyAssign(result[idx], val);
+ }
+ }
+ }
+ return result;
+}
+
// export function deepAssign(obj, item) {
// function * colneData(item) {
// for (const keys in item) {
diff --git a/src/utils/stomp.js b/src/utils/stomp.js
index c420e0fbb..208d283f7 100644
--- a/src/utils/stomp.js
+++ b/src/utils/stomp.js
@@ -31,7 +31,15 @@ export function getTopic(type, group, stationCode) {
case 'ISCSPIS':
topic = `/queue/simulation/${group}/iscs/pis`;
break;
+ case 'CTC':
+ topic = `/user/queue/simulation/${group}/ctc`;
+ break;
+ case 'CTC_MANAGE':
+ // topic = `/user/queue/simulation/${group}/ctc/manage`;
+ topic = `/user/queue/simulation/${group}/ctcManage`;
+ break;
}
+
return topic;
}
diff --git a/src/views/bigTrainRunplanManage/addRunplan.vue b/src/views/bigTrainRunplanManage/addRunplan.vue
new file mode 100644
index 000000000..6ecb487f7
--- /dev/null
+++ b/src/views/bigTrainRunplanManage/addRunplan.vue
@@ -0,0 +1,424 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+
+
+ 确定
+
+
+
+
+
+
+
+
diff --git a/src/views/bigTrainRunplanManage/index.vue b/src/views/bigTrainRunplanManage/index.vue
new file mode 100644
index 000000000..63e450986
--- /dev/null
+++ b/src/views/bigTrainRunplanManage/index.vue
@@ -0,0 +1,308 @@
+
+
+
+
+
+
diff --git a/src/views/bigTrainRunplanManage/stationTrack.vue b/src/views/bigTrainRunplanManage/stationTrack.vue
new file mode 100644
index 000000000..a11129d7f
--- /dev/null
+++ b/src/views/bigTrainRunplanManage/stationTrack.vue
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bigTrainRunplanManage/terminalStationList.vue b/src/views/bigTrainRunplanManage/terminalStationList.vue
new file mode 100644
index 000000000..5f6c4251b
--- /dev/null
+++ b/src/views/bigTrainRunplanManage/terminalStationList.vue
@@ -0,0 +1,113 @@
+
+
+
+ 区段:
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/bigTrainRunplanManage/trainFixedPath.vue b/src/views/bigTrainRunplanManage/trainFixedPath.vue
new file mode 100644
index 000000000..8cbb64706
--- /dev/null
+++ b/src/views/bigTrainRunplanManage/trainFixedPath.vue
@@ -0,0 +1,492 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ stationMap[scope.row.stationCode].name }}
+
+
+
+
+
+ {{ scope.row.arriveTime }}
+
+
+
+
+
+
+ {{ filterSectionMap[scope.row.trackSectionCode].name }}
+
+
+
+
+ {{ stationMap[scope.row.departStationCode].name }}
+
+
+
+
+ {{ mapStationDirectionData[scope.row.arriveDirectionCode].name }}
+
+
+
+
+ {{ mapStationDirectionData[scope.row.departDirectionCode].name }}
+
+
+
+
+ {{ stationMap[scope.row.arriveStationCode].name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/ibp/ibpDraw/ibpOperate/ibpAlarm.vue b/src/views/ibp/ibpDraw/ibpOperate/ibpAlarm.vue
index 6d37838e8..9ab2c6af7 100644
--- a/src/views/ibp/ibpDraw/ibpOperate/ibpAlarm.vue
+++ b/src/views/ibp/ibpDraw/ibpOperate/ibpAlarm.vue
@@ -15,10 +15,20 @@
+
+
+
+
+
-
-
-
+
{{ title }}
@@ -245,6 +245,9 @@ export default {
titleDistance() {
return loginInfo[this.project].titleDistance || '-60px';
},
+ titleImgWidth() {
+ return loginInfo[this.project].titleImgWidth || '80px';
+ },
logoImg() {
const projectName = this.project;
return ProjectIcon[projectName];
diff --git a/src/views/login/register.vue b/src/views/login/register.vue
index a96dc2548..c47c3c35a 100644
--- a/src/views/login/register.vue
+++ b/src/views/login/register.vue
@@ -10,18 +10,18 @@
top="25vh"
>
-
-
- 邮箱(账号):
-
-
-
昵 称:
+
+
+ 邮箱(账号):
+
+
+
密 码:
diff --git a/src/views/newMap/displayCity/lineBoard.vue b/src/views/newMap/displayCity/lineBoard.vue
index 7ee02f486..28c7dd6e1 100644
--- a/src/views/newMap/displayCity/lineBoard.vue
+++ b/src/views/newMap/displayCity/lineBoard.vue
@@ -1,381 +1,528 @@
-
-
-
-
-
{{item.trackName}}
-
{{item.tripNumber}}
-
{{ item.trainType?'客':'' }}
-
{{item.trainDistanceInfo}}
-
-
-
-
-
-
-
接预
-
- {{ '接路' + (item.receivingRouteLock ? '':getRouteName(item.receivingRouteCode)) }}
-
-
到点
-
-
-
{{item.arriveTime}}
-
{{item.departureTime}}
-
-
-
{{ item.planArriveTime }}
-
{{ item.planDepartureTime }}
-
-
-
-
发预
-
- {{ '发路' + (item.departureRouteLock ? '':getRouteName(item.departureRouteCode)) }}
-
-
发点
-
-
{{ item.tripNumber }}
-
{{ item.trackName }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ `进路序列模式:<${readOnly ? '只读':'可修改'}>` }}
-
修改申请
-
只读申请
-
查找列车
-
-
上下行
-
-
-
-
接车口
-
-
-
-
发车口
-
-
-
-
-
-
-
-
- {{ scope.$index }}
-
-
-
-
-
-
-
- {{ scope.row.autoTrigger? '√':'' }}
-
-
-
-
-
-
-
-
-
- {{getRouteName(scope.row.routeCode)}}
-
-
-
-
-
-
-
-
-
-
-
调机-J101
-
进路预览
-
-
-
-
办理进路
-
发送机车
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+ {{ item.trackName }}
+
+
+
+ 黄金糕
+
+
+
+
+
{{ item.tripNumber }}
+
{{ item.trainType?'客':'客' }}
+
{{ item.trainDistanceInfo }}
+
+
+
+
+
+
+
接预
+
+ {{ '接路' + (item.receivingRouteLock ? '':getRouteName(item.receivingRouteCode)) }}
+
+
到点
+
+
+
{{ item.arriveTime || '-' }}
+
{{ item.departureTime|| '-' }}
+
+
+
{{ item.planArriveTime|| '-' }}
+
{{ item.planDepartureTime || '-' }}
+
+
+ {{ item.receivingDirection||'-' }}
+ {{ item.departureDirection||'-' }}
+
+
+
+
发预
+
+ {{ '发路' + (item.departureRouteLock ? '':getRouteName(item.departureRouteCode)) }}
+
+
发点
+
+
{{ item.tripNumber }}
+
{{ item.showTrack ? item.trackName: '' }}
+
+
+
+
+
+
+
{{ `进路序列模式:<${readOnlyMap[selectCode1] ? '只读':'可修改'}>` }}
+
修改申请
+
只读申请
+
查找列车
+
+
上下行
+
+
+
+
接车口
+
+
+
+
发车口
+
+
+
+
+
+
+
+
+ {{ scope.$index }}
+
+
+
+
+
+
+
+ {{ scope.row.autoTrigger? '√':'' }}
+
+
+
+
+ {{ scope.row.departure ? '发车':'接车' }}
+
+
+
+
+ {{ getRouteStatus(scope.row.status) }}
+
+
+
+
+
+
+
+ {{ getRouteName(scope.row.routeCode) }}
+
+
+
+
+
+
+
+
+
+
+
调机-J101
+
进路预览
+
+
+
+
办理进路
+
发送机车
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/newMap/displayNew/demonMenu.vue b/src/views/newMap/displayNew/demonMenu.vue
index 4fb725bfe..dff9d32c2 100644
--- a/src/views/newMap/displayNew/demonMenu.vue
+++ b/src/views/newMap/displayNew/demonMenu.vue
@@ -1,6 +1,6 @@
-
+
菜单
@@ -143,7 +143,10 @@ export default {
},
isLocal() { // 是否为本地项目
return process.env.VUE_APP_PRO === 'local';
- }
+ },
+ isCtc() {
+ return this.$route.query.ctc
+ }
},
mounted() {
this.group = this.$route.query.group;
diff --git a/src/views/newMap/displayNew/index.vue b/src/views/newMap/displayNew/index.vue
index 7a13f3fb9..ff44bda94 100644
--- a/src/views/newMap/displayNew/index.vue
+++ b/src/views/newMap/displayNew/index.vue
@@ -183,6 +183,10 @@ export default {
this.textStatusHeight = textStatus.offsetHeight || 0;
textStatus.style.top = this.offset - 15 + 'px';
}
+ if (this.$route.query.ctc) {
+ this.offset = 65;
+ this.offsetBottom = 2;
+ }
});
},
// 缩放设置
diff --git a/src/views/newMap/displayNew/menuDemon.vue b/src/views/newMap/displayNew/menuDemon.vue
index 22e0636b0..d4d8b9c3d 100644
--- a/src/views/newMap/displayNew/menuDemon.vue
+++ b/src/views/newMap/displayNew/menuDemon.vue
@@ -23,7 +23,7 @@
@runPlanLoadShow="runPlanLoadShow"
/>
-
+
@@ -36,7 +36,7 @@
{{ $t('display.demon.initialize') }}
- {{ projectDevice?'退出':$t('display.demon.back') }}
+ {{ projectDevice || isCtc?'退出':$t('display.demon.back') }}
@@ -155,6 +155,12 @@ export default {
isDisable() {
return this.$store.state.training.started;
},
+ isCtc() {
+ return !!this.$route.query.ctc
+ },
+ zIndex() {
+ return this.$route.query.ctc ? 11:0
+ },
project() {
return getSessionStorage('project');
},
@@ -399,7 +405,7 @@ export default {
// || this.project === 'bjd'
} else {
- if (this.project === 'bjd') {
+ if (this.project === 'bjd' || this.isCtc) {
window.close();
} else {
this.$store.dispatch('map/setShowCentralizedStationCode', '');
diff --git a/src/views/newMap/displayNew/menuSchema.vue b/src/views/newMap/displayNew/menuSchema.vue
index 08bea52ad..1ff1c72c7 100644
--- a/src/views/newMap/displayNew/menuSchema.vue
+++ b/src/views/newMap/displayNew/menuSchema.vue
@@ -12,17 +12,17 @@
- 占线板
- CTC
- IBP盘
- 运行图编辑
-
- {{ $t('display.schema.loadScript') }}
-
-
- {{ $t('display.schema.previewRunDiagram') }}
-
- {{ $t('display.schema.loadRunDiagram') }}
+ CTC
+ 管理终端
+ IBP盘
+ 运行图编辑
+
+ {{ $t('display.schema.loadScript') }}
+
+
+ {{ $t('display.schema.previewRunDiagram') }}
+
+ {{ $t('display.schema.loadRunDiagram') }}
{{ faultMode?'切换到普通模式[Tab]':'切换到故障模式[Tab]' }}
{{ $t('display.schema.previewRunDiagram') }}
@@ -35,7 +35,7 @@
-
+
@@ -66,7 +66,7 @@ export default {
AddQuest,
// RunPlanEdit,
SelectStation,
- LineBoard
+ LineBoard
},
props: {
offset: {
@@ -99,9 +99,9 @@ export default {
notScript() {
return this.$route.params.mode !== 'script';
},
- isCtc() {
- return !!this.$route.query.ctc;
- },
+ isCtc() {
+ return !!this.$route.query.ctc;
+ },
isScript() {
return this.$route.params.mode === 'script';
},
@@ -196,6 +196,9 @@ export default {
this.changeOperateMode();
}
});
+ EventBus.$on('showLineBoard', () => {
+ this.showLineBoard();
+ });
},
methods: {
loadRunData() {
@@ -213,27 +216,43 @@ export default {
}
});
},
- showLineBoard() {
- this.$refs.lineBoard.doShow();
- },
- goCtc() {
- const routeData = this.$router.resolve({
- path:'/displayNew/demon',
+ showLineBoard() {
+ this.$refs.lineBoard.doShow();
+ },
+ goCtc() {
+ const routeData = this.$router.resolve({
+ path:'/displayNew/demon',
+ query:{
+ lineCode:this.$route.query.lineCode,
+ group: this.$route.query.group,
+ prdType: this.$route.query.prdType,
+ mapId:this.$route.query.mapId,
+ project: this.project,
+ newApi: this.$route.query.newApi,
+ ctc: true,
+ try: this.$route.query.try,
+ token:getToken(),
+ noPreLogout: true
+ }
+ });
+ window.open(routeData.href, '_blank');
+ },
+ goRpManage() {
+ const routeData = this.$router.resolve({
+ path:'/bigTrainRunplanManage',
query:{
- lineCode:this.$route.query.lineCode,
group: this.$route.query.group,
- prdType: this.$route.query.prdType,
mapId:this.$route.query.mapId,
project: this.project,
- newApi: this.$route.query.newApi,
- ctc: true,
- try: this.$route.query.try,
- token:getToken(),
+ prdType: this.$route.query.prdType,
+ lineCode:this.$route.query.lineCode,
+ // stationCode:this.$store.state.training.roleDeviceCode,
+ // token:getToken(),
noPreLogout: true
}
});
window.open(routeData.href, '_blank');
- },
+ },
changeOperateMode() {
this.faultMode = !this.faultMode;
let mode = OperateMode.NORMAL;
diff --git a/src/views/newMap/mapsystemNew/common/index.vue b/src/views/newMap/mapsystemNew/common/index.vue
index 3eeebebc6..b57225020 100644
--- a/src/views/newMap/mapsystemNew/common/index.vue
+++ b/src/views/newMap/mapsystemNew/common/index.vue
@@ -130,7 +130,6 @@ export default {
var device = null;
const point = { x: em.clientX, y: em.clientY };
const lineCode = this.$store.getters['map/lineCode'];
-
if (em.subType === 'TrainWindow') {
if (lineCode != '06') {
device = { _type: deviceType.TrainWindow, code: em.deviceCode, _event: MouseEvent.Right };
@@ -182,7 +181,6 @@ export default {
} else if (em.deviceCode && !this.isScreen) {
device = this.getDeviceByEm(em);
}
-
if (device) {
device = this.getSelectedByLineCode(device);
this.selected = { ...device, _event: MouseEvent.Right};
@@ -197,10 +195,14 @@ export default {
menu = getDeviceMenuByDeviceType(device._type);
this.$store.dispatch('menuOperation/setPopMenu', { position: point, menu: menu });
}
- }
+ } else if (this.$route.query.ctc) {
+ this.$store.dispatch('menuOperation/setSelected', {device: this.selected, subType: em.subType});
+ menu = getDeviceMenuByDeviceType(device._type);
+ this.$store.dispatch('menuOperation/setPopMenu', { position: point, menu: menu });
+ }
} else {
menu = getDeviceMenuByDeviceType('Cancel');
- this.$store.dispatch('menuOperation/setPopMenu', { position: point, menu: menu });
+ this.$store.dispatch('menuOperation/setPopMenu', { position: point, menu: menu });
}
this.$store.dispatch('training/emitTipFresh');
},
diff --git a/src/views/newMap/mapsystemNew/index.vue b/src/views/newMap/mapsystemNew/index.vue
index f1e413634..1da210726 100644
--- a/src/views/newMap/mapsystemNew/index.vue
+++ b/src/views/newMap/mapsystemNew/index.vue
@@ -120,6 +120,9 @@ export default {
const header = { group: this.$route.query.group || '', 'X-Token': getToken() };
creatSubscribe(`${displayTopic}\/${this.$route.query.group}`, header);
creatSubscribe(getTopic('STATE', this.$route.query.group), header);
+ if (this.$route.query.ctc == 'true') {
+ creatSubscribe(getTopic('CTC', this.$route.query.group), header);
+ }
await this.$store.dispatch('training/setHasSubscribed');
},
async subscribeNew() {
@@ -137,7 +140,10 @@ export default {
},
clearSubscribe() {
clearSubscribe(`${displayTopic}\/${this.groupModel}`);
- clearSubscribe(getTopic('STATE', this.$route.query.group));
+ clearSubscribe(getTopic('STATE', this.groupModel));
+ if (this.$route.query.ctc == 'true') {
+ clearSubscribe(getTopic('CTC', this.groupModel));
+ }
},
setCenter(code) {
this.$refs.mapCommon && this.$refs.mapCommon.setCenter(code);
diff --git a/src/views/newMap/newMapdraft/dataRelation/indicatorAssociatedInfo/detail.vue b/src/views/newMap/newMapdraft/dataRelation/indicatorAssociatedInfo/detail.vue
index b8a157f66..36b3148c3 100644
--- a/src/views/newMap/newMapdraft/dataRelation/indicatorAssociatedInfo/detail.vue
+++ b/src/views/newMap/newMapdraft/dataRelation/indicatorAssociatedInfo/detail.vue
@@ -49,6 +49,10 @@
title: 'code',
prop: 'code'
},
+ {
+ title: '名称',
+ prop: 'name'
+ },
{
title: '关联车站',
prop: 'stationCode',
diff --git a/src/views/newMap/newMapdraft/dataRelation/indicatorAssociatedInfo/route.vue b/src/views/newMap/newMapdraft/dataRelation/indicatorAssociatedInfo/route.vue
index e156cf82f..f5a71be1f 100644
--- a/src/views/newMap/newMapdraft/dataRelation/indicatorAssociatedInfo/route.vue
+++ b/src/views/newMap/newMapdraft/dataRelation/indicatorAssociatedInfo/route.vue
@@ -4,6 +4,9 @@
+
+
+