diff --git a/src/jmapNew/config/skinCode/datie_02.js b/src/jmapNew/config/skinCode/datie_02.js
index ca451c97e..bcc6fa50e 100644
--- a/src/jmapNew/config/skinCode/datie_02.js
+++ b/src/jmapNew/config/skinCode/datie_02.js
@@ -437,7 +437,9 @@ class SkinCode extends defaultStyle {
selfDiscipline: {
show: true,
offset: { x: 0, y: 0 },
- text: '允许自律'
+ text: '允许自律',
+ defaultColor: '#7F7F7F',
+ lightColor: '#ff0',
},
selfDisciplineControl: {
show: true,
@@ -786,7 +788,7 @@ class SkinCode extends defaultStyle {
trainBody: {
fontFamily: 'consolas',
trainBodyLineWidth: 1, // 车身line宽
- changeTrainWidth: false, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度
+ changeTrainWidth: true, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度
specialTrainType: [
{
type: '03',
@@ -841,8 +843,9 @@ class SkinCode extends defaultStyle {
trainServerOffset: { x: 4, y: 4} // 列车服务号偏移
},
trainTarget: {
- tripNumberPrefix: '000', // 车次号前缀
- defaultTripNumber: 'DDD', // 默认车次号2
+ tripNumberPrefix: '', // 车次号前缀
+ // defaultTripNumber: 'DDD', // 默认车次号2
+ defaultTripNumber: ' ', // 默认车次号
trainTargetOffset: { x: 36, y: 4}, // 列车车次号偏移
trainTargetTextAlign: 'right' // 车次号文字显示位置
},
diff --git a/src/jmapNew/shape/graph/Section/index.js b/src/jmapNew/shape/graph/Section/index.js
index 368b5801d..3d6e78c40 100644
--- a/src/jmapNew/shape/graph/Section/index.js
+++ b/src/jmapNew/shape/graph/Section/index.js
@@ -482,7 +482,7 @@ export default class Section extends Group {
this.setAshShow();
model.preGreen && this.line.setStyle({stroke: '#00FF00'});
model.preBlue && this.line.setStyle({stroke: '#4A76B7'});
- model.preWhite && this.line.setStyle({stroke: '#fff'})
+ model.preWhite && this.line.setStyle({stroke: '#fff'});
} else {
this.handleSwitchSection(model, flag);
// 顺序代表优先级
@@ -530,7 +530,8 @@ export default class Section extends Group {
}
}
// 分路不良
- model.badShunt && this.badShuntStatus();
+ // model.shuntingTypeList.length > 0 &&
+ model.badShunt&& this.badShuntStatus();
}
}
diff --git a/src/jmapNew/shape/graph/Station/index.js b/src/jmapNew/shape/graph/Station/index.js
index fb4395d2c..4c91004de 100644
--- a/src/jmapNew/shape/graph/Station/index.js
+++ b/src/jmapNew/shape/graph/Station/index.js
@@ -675,6 +675,7 @@ export default class Station extends Group {
this.emergencyArrowsControl && this.emergencyArrowsControl.setColor(this.style.Station.StationControl.lamp.grayColor);
this.stationControlCC && this.stationControlCC.setStyle({text:'EL', textFill:this.style.Station.StationControl.text.emergencyControlColor});
this.veryControl && this.veryControl.setColor(this.style.Station.StationControl.veryControl.defaultColor);
+ this.selfDiscipline && this.selfDiscipline.setColor(this.style.Station.StationControl.selfDiscipline.defaultColor);
this.selfDisciplineControl && this.selfDisciplineControl.setColor(this.style.Station.StationControl.selfDisciplineControl.defaultColor);
this.veryControlButton && this.veryControlButton.setStyle({ fill: this.style.Station.StationControl.veryControlButton.defaultColor });
if (this.style.Station.stationText.isSpecialType) {
@@ -705,6 +706,7 @@ export default class Station extends Group {
model.controller && this.handleComplexControl(model.controller);
model.emergencyController != undefined && this.handleEmergencyChange(model.emergencyController);
model.controlApplicant && this.handleControlApplicant(model);
+ model.allowAutonomy && this.handleAllowAutonomy();
if (this.style.Station.syncCentralizeStation && (model.controlMode || model.controller || model.emergencyController != undefined) && model.centralized) {
model.chargeStationCodeList.forEach(item => {
const device = store.getters['map/getDeviceByCode'](item);
@@ -736,6 +738,10 @@ export default class Station extends Group {
this.controlPreReset && this.controlPreReset.setColor('#f00');
}
+ handleAllowAutonomy() {
+ this.selfDiscipline && this.selfDiscipline.setColor(this.style.Station.StationControl.selfDiscipline.lightColor);
+ }
+
handleControlApplicant(model) {
if (this.style.Station.stationText.isSpecialType) {
const memberData = store.state.training.memberData;
diff --git a/src/jmapNew/shape/graph/Train/TrainBody.js b/src/jmapNew/shape/graph/Train/TrainBody.js
index 5d9b93d9e..f0638ec8a 100644
--- a/src/jmapNew/shape/graph/Train/TrainBody.js
+++ b/src/jmapNew/shape/graph/Train/TrainBody.js
@@ -68,13 +68,14 @@ export default class TrainBody extends Group {
z: this.model.z + 1,
x: parseInt(model.point.x + model.style.Train.trainTarget.trainTargetOffset.x),
y: parseInt(model.point.y + model.style.Train.trainTarget.trainTargetOffset.y),
- text: tripNumber.substring(tripNumber.length - style.Train.trainTarget.tripNumberPrefix.length),
+ text: tripNumber.substring(tripNumber.length - (style.Train.trainTarget.tripNumberPrefix.length || tripNumber.length)),
textFill: model.style.Train.trainTarget.fontColor || style.trainTextColor,
fontSize: model.style.Train.trainTarget.fontSize || model.fontSize,
fontFamily: style.Train.common.fontFamily,
textAlign: 'left',
textVerticalAlign: 'top'
});
+ // console.log(model.fontSize, tripNumber.length - (style.Train.trainTarget.tripNumberPrefix.length || tripNumber.length), tripNumber, tripNumber.length - style.Train.trainTarget.tripNumberPrefix.length || tripNumber.length);
this.textTrainTarget = new ETextName({
zlevel: model.zlevel,
z: model.z + 1,
diff --git a/src/jmapNew/theme/components/utils/menuOperate.js b/src/jmapNew/theme/components/utils/menuOperate.js
index 0ee4473d5..a5f912339 100644
--- a/src/jmapNew/theme/components/utils/menuOperate.js
+++ b/src/jmapNew/theme/components/utils/menuOperate.js
@@ -353,6 +353,11 @@ export const menuOperate = {
// 设置折返策略
operation: OperationEvent.Station.setBackStrategy.menu.operation,
cmdType: CMD.Station.CMD_STATION_SET_TURN_BACK_STRATEGY
+ },
+ requestVeryControl:{
+ // 非常站控 大铁线路
+ operation: OperationEvent.StationControl.requestVeryControl.menu.operation,
+ cmdType:CMD.ControlConvertMenu.CMD_CM_SPECIAL_STATION_CONTROL
}
},
TrainWindow: {
@@ -499,7 +504,7 @@ export const menuOperate = {
}
},
CTC: {
- //接预
+ // 接预
receivingNotice: {
operation: OperationEvent.CTCCommand.receivingNotice.menu.operation,
cmdType: CMD.CTC.CTC_RECEIVING_NOTICE
diff --git a/src/jmapNew/theme/datie_02/menus/dialog/addSpareTrain.vue b/src/jmapNew/theme/datie_02/menus/dialog/addSpareTrain.vue
index f183f818d..7a47b6c24 100644
--- a/src/jmapNew/theme/datie_02/menus/dialog/addSpareTrain.vue
+++ b/src/jmapNew/theme/datie_02/menus/dialog/addSpareTrain.vue
@@ -15,7 +15,7 @@
上下行
-
+
{{ messageTip1 }}
diff --git a/src/jmapNew/theme/datie_02/menus/dialog/defectiveShunting.vue b/src/jmapNew/theme/datie_02/menus/dialog/defectiveShunting.vue
new file mode 100644
index 000000000..2d2491d3f
--- /dev/null
+++ b/src/jmapNew/theme/datie_02/menus/dialog/defectiveShunting.vue
@@ -0,0 +1,137 @@
+
+
+
+
+
{{ temp.name }}
+
+
+
+
+
+
+
+ 确定
+
+
+ 退出
+
+
+
+
+
+
+
diff --git a/src/jmapNew/theme/datie_02/menus/menuButton.vue b/src/jmapNew/theme/datie_02/menus/menuButton.vue
index b8d1f923d..7e52408dc 100644
--- a/src/jmapNew/theme/datie_02/menus/menuButton.vue
+++ b/src/jmapNew/theme/datie_02/menus/menuButton.vue
@@ -86,9 +86,9 @@
S引导总锁
-
-
+
-
+
分路不良
@@ -117,6 +117,7 @@
+
@@ -125,6 +126,7 @@ import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
import Handler from '@/scripts/cmdPlugin/Handler';
import PasswordBox from './dialog/childDialog/passwordInputBox.vue';
+import DefectiveShunting from './dialog/defectiveShunting.vue';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
import { mapGetters } from 'vuex';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
@@ -135,6 +137,7 @@ export default {
name: 'MapButtonMenu',
components: {
PasswordBox,
+ DefectiveShunting,
NoticeInfo
},
props: {
@@ -206,12 +209,12 @@ export default {
Command() {
return OperationEvent.Command;
},
- sGuideMasterLock() {
- return this.$store.state.map.stationSGuideMasterLock;
- },
- xGuideMasterLock() {
+ sGuideMasterLock() {
+ return this.$store.state.map.stationSGuideMasterLock;
+ },
+ xGuideMasterLock() {
return this.$store.state.map.stationXGuideMasterLock;
- },
+ },
isShowBtn() {
return this.$store.state.training.prdType == '01' || this.$store.state.training.prdType == '10';
},
@@ -271,12 +274,12 @@ export default {
this.deviceList = [];
}
},
- '$store.state.map.showCentralizedStationCode': function(val) {
- if (val){
- const station = this.$store.getters['map/getDeviceByCode'](val);
- this.$store.getters['map/checkStationGuideMaster'](station.code, station.sGuideMasterLock, station.xGuideMasterLock);
- }
- },
+ '$store.state.map.showCentralizedStationCode': function(val) {
+ if (val) {
+ const station = this.$store.getters['map/getDeviceByCode'](val);
+ this.$store.getters['map/checkStationGuideMaster'](station.code, station.sGuideMasterLock, station.xGuideMasterLock);
+ }
+ }
},
beforeDestroy() {
this.routeDataMap = null;
@@ -326,6 +329,7 @@ export default {
if (dom) {
dom.disabled = false;
dom.style.backgroundColor = this.buttonUpColor;
+ this.$refs.password.doClose();
}
}
if (val) {
@@ -338,6 +342,33 @@ export default {
}
}
},
+ // 上电解锁 大铁线路
+ powerOnUnlock() {
+ const operate = {
+ over:true,
+ operation:this.Station.powerUnLock.button.operation,
+ cmdType:CMD.Station.CMD_STATION_POWER_ON_UNLOCK,
+ code:this.$store.state.map.showCentralizedStationCode,
+ param:{stationCode: this.$store.state.map.showCentralizedStationCode}
+ };
+ this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
+ if (valid) {
+ this.clearOperate();
+ } else {
+ this.$refs.noticeInfo.doShow();
+ }
+ }).catch((error) => {
+ console.error(error);
+ this.$refs.noticeInfo.doShow();
+ });
+ },
+ // 分路不良
+ handelDefectiveShunting(model) {
+ // CMD.Section.CMD_SECTION_DEFECTIVE_SHUNTING;
+ const {switchSection, code, shuntingTypeList} = model;
+ this.clearOperate();
+ this.$refs.defectiveShunting.doShow({switchSection, code, shuntingTypeList});
+ },
// S引导总锁按钮点击
guideLockLeftButtonDown() {
const operate = {
@@ -346,7 +377,7 @@ export default {
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
// 引导总锁弹出 调用取消引导总锁指令
- operate.nextCmdType = this.sGuideMasterLock? CMD.Station.CMD_STATION_MASTER_UNLOCK:CMD.Station.CMD_STATION_MASTER_LOCK;
+ operate.nextCmdType = this.sGuideMasterLock ? CMD.Station.CMD_STATION_MASTER_UNLOCK : CMD.Station.CMD_STATION_MASTER_LOCK;
operate.param = {throat: 'S', stationCode: this.$store.state.map.showCentralizedStationCode};
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
operate['operateNext'] = this.Command.close.password.operation;
@@ -362,7 +393,7 @@ export default {
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
// 引导总锁弹出 调用取消引导总锁指令
- operate.nextCmdType = this.xGuideMasterLock? CMD.Station.CMD_STATION_MASTER_UNLOCK:CMD.Station.CMD_STATION_MASTER_LOCK;
+ operate.nextCmdType = this.xGuideMasterLock ? CMD.Station.CMD_STATION_MASTER_UNLOCK : CMD.Station.CMD_STATION_MASTER_LOCK;
operate.param = {throat: 'X', stationCode: this.$store.state.map.showCentralizedStationCode};
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
operate['operateNext'] = this.Command.close.password.operation;
@@ -377,7 +408,7 @@ export default {
operation: operation
};
// 以下 会弹出密码框 (总人解,区故解) 铅封按钮
- const operationList = [this.Signal.humanTrainRoute.button.operation, this.Section.fault.button.operation];
+ const operationList = [this.Signal.humanTrainRoute.button.operation, this.Section.fault.button.operation, this.Section.defectiveShunting.button.operation];
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.operation = operation;
@@ -654,6 +685,8 @@ export default {
this.handelSignalBlockOrUnblock(model);
} else if (buttonOperation === this.Section.fault.button.operation) {
this.handelFaultSection(model);
+ } else if (buttonOperation === this.Section.defectiveShunting.button.operation) {
+ this.handelDefectiveShunting(model);
} else {
this.clearOperate();
}
diff --git a/src/jmapNew/theme/datie_02/menus/menuStation.vue b/src/jmapNew/theme/datie_02/menus/menuStation.vue
index 34cceb178..0dec74176 100644
--- a/src/jmapNew/theme/datie_02/menus/menuStation.vue
+++ b/src/jmapNew/theme/datie_02/menus/menuStation.vue
@@ -4,6 +4,7 @@
+
@@ -17,6 +18,9 @@ import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
+import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
+// import Handler from '@/scripts/cmdPlugin/Handler';
+import PasswordBox from './dialog/childDialog/passwordInputBox.vue';
export default {
name: 'StationMenu',
@@ -24,6 +28,7 @@ export default {
PopMenu,
SetFault,
NoticeInfo,
+ PasswordBox,
DrawSelect
},
mixins: [
@@ -92,6 +97,13 @@ export default {
} else {
this.doClose();
}
+ },
+ '$store.state.menuOperation.selectedCount': function (val) {
+ const selected = this.$store.state.menuOperation.selected;
+ const subtype = this.$store.state.menuOperation.subType;
+ if (subtype == 'veryControlButton' && selected._type == 'Station') {
+ this.veryControlClick(selected);
+ }
}
},
methods: {
@@ -156,6 +168,45 @@ export default {
handlerOpenPdf(elem) {
const url = `https://joylink.club/oss/projects/wjls/${this.selected.jp}/${elem.file}`;
window.open(url, '_blank');
+ },
+ // 非常站控
+ veryControlClick(selected) {
+ // stationCode车站编号、pressDown:1按下、0抬起
+ const pressDown = selected.controlMode == 'Interlock' ? 0 : 1;
+ commitOperate(menuOperate.StationControl.requestVeryControl, { stationCode: selected.code, pressDown:pressDown }, 0).then(({valid, operate}) => {
+ if (valid) {
+ operate.nextCmdType = CMD.ControlConvertMenu.CMD_CM_SPECIAL_STATION_CONTROL;
+ operate['operateNext'] = OperationEvent.Command.close.password.operation;
+ this.$refs.password.doShow(operate);
+ }
+ }).catch(error=>{
+ console.error(error);
+ this.$refs.noticeInfo.doShow();
+ });
+ },
+ clearOperate() { // 清除操作
+ // Handler.clear(); // 清空操作组
+ // this.$store.dispatch('menuOperation/setButtonOperation', null);
+ },
+ // 输入密码正确回调
+ passWordCommit(data) {
+ let operate = {};
+ if (data.nextCmdType) {
+ operate = {
+ over: true,
+ operation: data.operation,
+ cmdType: data.nextCmdType,
+ param: data.param
+ };
+ }
+ this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
+ if (valid) {
+ this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
+ }
+ }).catch((error) => {
+ console.error(error);
+ this.$refs.noticeInfo.doShow();
+ });
}
}
};
diff --git a/src/scripts/cmdPlugin/CommandEnum.js b/src/scripts/cmdPlugin/CommandEnum.js
index 6c247a169..93cd1fac6 100644
--- a/src/scripts/cmdPlugin/CommandEnum.js
+++ b/src/scripts/cmdPlugin/CommandEnum.js
@@ -66,7 +66,8 @@ export default {
/** 回复中控请求(同意/拒绝) */
CMD_CM_REPLY_CENTER_CONTROL: {value:'CM_Reply_Center_Control', label: '回复中控请求'},
CMD_CM_RECEIVE_CONTROL: {value:'CM_Receive_Control', label: '接收控制'},
- CMD_CM_SURRENDER_CONTROL: {value:'CM_Surrender_Control', label: '交出控制'}
+ CMD_CM_SURRENDER_CONTROL: {value:'CM_Surrender_Control', label: '交出控制'},
+ CMD_CM_SPECIAL_STATION_CONTROL:{value:'CM_Special_Station_Control', label: '非常站控'}
},
// 司机操作
@@ -176,7 +177,10 @@ export default {
/** 设置默认发车轨 */
CMD_SECTION_SET_DEFAULT_TRANSFER : {value: 'Section_Set_Default_Transfer', label: '设置默认发车轨'},
/** 增加备用车 大铁线路使用*/
- CMD_TRAIN_LOAD_TRIP_NUMBER_TRAIN: {value: 'Train_Load_Trip_Number_Train', label: '增加备用车'}
+ CMD_TRAIN_LOAD_TRIP_NUMBER_TRAIN: {value: 'Train_Load_Trip_Number_Train', label: '增加备用车'},
+ /** 分路不良 大铁线路使用*/
+ CMD_SECTION_DEFECTIVE_SHUNTING: {value: 'Section_Defective_Shunting', label: '分路不良'}
+
},
// 站台
diff --git a/src/scripts/cmdPlugin/OperationHandler.js b/src/scripts/cmdPlugin/OperationHandler.js
index e7d4a9681..643e86fa1 100644
--- a/src/scripts/cmdPlugin/OperationHandler.js
+++ b/src/scripts/cmdPlugin/OperationHandler.js
@@ -1293,6 +1293,17 @@ export const OperationEvent = {
operation: '2054',
domId: '_Tips-Control-Response-Refuse'
}
+ },
+ // 非常站控 大铁线路
+ requestVeryControl:{
+ menu: {
+ operation: '206',
+ domId: '_Tips-Request-Very-Control-Menu'
+ },
+ menuButton: {
+ operation: '2061',
+ domId: '_Tips-Request-Very-Control-Menu-Button{BOTTOM}'
+ }
}
},
@@ -2270,11 +2281,27 @@ export const OperationEvent = {
domId: '_Tips-Section-ForceCancelSpeed-Menu{BOTTOM}'
}
},
+ // 模拟车次输入 大铁线路
addSpareTrain:{
menu: {
operation: '427',
domId: '_Tips-Section-Add-Spare-Train'
}
+ },
+ // 分路不良 大铁线路
+ defectiveShunting:{
+ button: {
+ operation: '428',
+ domId: '_Tips-Section-Defective-Shunting-Button'
+ },
+ confirm:{
+ operation: '4281',
+ domId: '_Tips-Section-Defective-Shunting-Confirm'
+ }
+ // menuButton: {
+ // operation: '428',
+ // domId: '_Tips-Section-Defective-Shunting-MenuButton'
+ // },
}
},
@@ -2977,6 +3004,7 @@ export const OperationEvent = {
domId: '_Tips-Station-stationMasterLock-rightButton'
}
}
+
},
// 列车