泰国项目调整

This commit is contained in:
fan 2023-07-04 13:27:52 +08:00
parent 0cb84ab7aa
commit b1345badec
6 changed files with 434 additions and 165 deletions

View File

@ -415,24 +415,24 @@ class SkinCode extends defaultStyle {
lineWidth: 1
},
emergencyControl: { // 紧急站控
show: false,
offset: { x: 0, y: 0 },
text: '紧急站控',
show: true,
offset: { x: 10, y: 0 },
text: 'Emergency Ctrl',
arrowShow: false,
grayColor: '#7F7F7F'
},
centerControl: { // 中控
show: false,
offset: { x: 0, y: 0 },
text: '中控',
show: true,
offset: { x: -190, y: 0 },
text: 'Center Ctrl',
buttonShow: false,
arrowShow: false,
grayColor: '#7F7F7F'
},
substationControl: { // 站控按钮
show: false,
offset: { x: 0, y: 0 },
text: '站控',
show: true,
offset: { x: -160, y: 0 },
text: 'Station Ctrl',
arrowShow: false,
grayColor: '#7F7F7F'
},
@ -444,34 +444,34 @@ class SkinCode extends defaultStyle {
grayColor: '#7F7F7F'
},
veryControl: {
show: true,
show: false,
offset: { x: 50, y: 0 },
lightColor: '#f00',
defaultColor: '#7F7F7F',
text: 'Very station controlled'
},
selfDiscipline: {
show: true,
offset: { x: -140, y: 0 },
text: 'Self-regulation allowed',
defaultColor: '#7F7F7F',
lightColor: '#ff0'
},
// selfDiscipline: {
// show: false,
// offset: { x: -140, y: 0 },
// text: 'Self-regulation allowed',
// defaultColor: '#7F7F7F',
// lightColor: '#ff0'
// },
selfDisciplineControl: {
show: true,
show: false,
offset: { x: -50, y: 0 },
lightColor: '#0f0',
defaultColor: '#7F7F7F',
text: 'Self-discipline control'
},
veryControlButton: {
offset: { x: 140, y: 0 },
text: 'Very station controlled',
lightColor: '#ff0',
border:true, // 有边框
borderLine:1,
defaultColor: '#ccc'
},
// veryControlButton: {
// offset: { x: 140, y: 0 },
// text: 'Very station controlled',
// lightColor: '#ff0',
// border:true, // 有边框
// borderLine:1,
// defaultColor: '#ccc'
// },
selfDisciplineThree: {
offset: { x: 0, y: 0 },
text: '分散自律',
@ -487,27 +487,41 @@ class SkinCode extends defaultStyle {
},
planControl: {
show: true,
offset: { x: 0, y: 0 },
text: '计划控制',
offset: { x: -20, y: 0 },
text: 'Plan Ctrl',
lightColor: '#0f0',
defaultColor: '#7F7F7F'
},
centerCommunication: {
show: true,
offset: { x: 0, y: 30 },
text: '中心通信',
offset: { x: 100, y: 0 },
text: 'COMM',
lightColor: '#FF0000',
defaultColor: '#0f0'
},
selfDisciplineCommunication: {
etcs2: {
show: true,
offset: { x: 40, y: 0 },
text: 'ETCS-2',
lightColor: '#FF0000',
defaultColor: '#0f0'
},
etcs3: {
show: true,
offset: { x: 100, y: 0 },
text: 'ETCS-3',
lightColor: '#FF0000',
defaultColor: '#ccc'
},
selfDisciplineCommunication: {
show: false,
offset: { x: 0, y: 30 },
text: '自律机通信',
lightColor: '#7F7F7F',
defaultColor: '#0f0'
},
allowedTurnBack: {
show: true,
show: false,
offset: { x: 0, y: 30 },
text: '允许转回',
lightColor: '#ff0',

View File

@ -186,11 +186,68 @@ export default class Station extends Group {
this.createInterconnectedControl(); // 联锁控
this.createVeryControl();
this.createSelfDiscipline();
this.createTaiguo();
}
}
}
this.setState(model);
}
createTaiguo() {
const computedControlModePoint = this.computedControlModePoint;
this.centerCommunication = new ESingleControl({
_subType: 'centerCommunication',
style: this.style,
zlevel: this.zlevel,
z: this.z,
point: {
x: computedControlModePoint.x - this.style.Station.StationControl.lamp.distance * 2 + this.style.Station.StationControl.centerCommunication.offset.x,
y: computedControlModePoint.y + this.style.Station.StationControl.centerCommunication.offset.y
},
context: this.style.Station.StationControl.centerCommunication.text,
pop: false
});
this.add(this.centerCommunication);
// 计划控制
this.planControl = new ESingleControl({
_subType: 'planControl',
style: this.style,
zlevel: this.zlevel,
z: this.z,
point: {
x: computedControlModePoint.x + this.style.Station.StationControl.lamp.distance * 2 + this.style.Station.StationControl.planControl.offset.x,
y: computedControlModePoint.y + this.style.Station.StationControl.planControl.offset.y
},
context: this.style.Station.StationControl.planControl.text,
pop: false
});
this.add(this.planControl);
this.etcs2 = new ESingleControl({
_subType: 'etcs2',
style: this.style,
zlevel: this.zlevel,
z: this.z,
point: {
x: computedControlModePoint.x + this.style.Station.StationControl.lamp.distance * 2 + this.style.Station.StationControl.etcs2.offset.x,
y: computedControlModePoint.y + this.style.Station.StationControl.etcs2.offset.y
},
context: this.style.Station.StationControl.etcs2.text,
pop: false
});
this.add(this.etcs2);
this.etcs3 = new ESingleControl({
_subType: 'etcs3',
style: this.style,
zlevel: this.zlevel,
z: this.z,
point: {
x: computedControlModePoint.x + this.style.Station.StationControl.lamp.distance * 2 + this.style.Station.StationControl.etcs3.offset.x,
y: computedControlModePoint.y + this.style.Station.StationControl.etcs3.offset.y
},
context: this.style.Station.StationControl.etcs3.text,
pop: false
});
this.add(this.etcs3);
}
createCtcControlMode() { // 大铁
// 非常站控
// const model = this.model;
@ -962,6 +1019,7 @@ export default class Station extends Group {
this.graphRoad && this.graphRoad.setColor(this.style.Station.StationControl.graphRoad.defaultColor);
this.planControl && this.planControl.setColor(this.style.Station.StationControl.planControl.defaultColor);
this.trainControl && this.trainControl.setColor(this.style.Station.StationControl.trainControl.defaultColor);
this.etcs2 && this.etcs2.setColor(this.style.Station.StationControl.etcs2.defaultColor);
this.allowedTurnBack && this.allowedTurnBack.setColor(this.style.Station.StationControl.allowedTurnBack.defaultColor);
this.selfDisciplineCommunication && this.selfDisciplineCommunication.setColor(this.style.Station.StationControl.selfDisciplineCommunication.defaultColor);
if (this.selfDisciplineThree) {

View File

@ -10,6 +10,7 @@ import MenuBar from '@/jmapNew/theme/components/menus/menuBarNew';
import {menuOperate} from '@/jmapNew/theme/components/utils/menuOperate';
import TrainFixedPathPane from './menuDialog/trainFixedPathPane';
import { EventBus } from '@/scripts/event-bus';
import { destroySimulationByAdmin, exitSimulation} from '@/api/simulation';
export default {
name: 'CtcWorkMenuBar',
@ -21,151 +22,47 @@ export default {
return {
menuNormal: [
{
title: 'Login',
title: 'System',
operate: '',
children: [
{
title: 'Login',
click: this.undeveloped
},
{
title: 'Cancellation',
click: this.undeveloped
},
{
title: 'Log out',
click: this.undeveloped
title: 'Exit',
click: this.handleExit
}
]
},
{
title: 'Show',
operate: '',
children: [
{
title: 'Toolbar',
operate: '',
children: [
{
title: 'Standard buttons',
click: this.undeveloped
},
{
title: 'Sign in bar',
click: this.undeveloped
},
{
title: 'Show system information window',
click: this.undeveloped
},
{
title: 'Show Approach Sequence Management window',
click: this.bottomTableShowOrHidden
},
{
title: 'Show Signalman\'s Schedule',
click: this.undeveloped
},
{
title: 'Show signalman\'s notes',
click: this.undeveloped
}
]
},
{
title: 'Station yard map',
click: this.undeveloped
},
{
title: 'Travel Log',
click: this.undeveloped
}
]
},
{
title: 'Tools',
operate: '',
hide: true,
children: [
{
title: 'Scheduling order management',
click: this.undeveloped
},
{
title: 'Dump Trailer Operations',
click: this.undeveloped
},
{
title: 'Train grouping (speed reports)',
click: this.undeveloped
},
{
title: 'Station stocking (existing stock)',
click: this.undeveloped
},
{
title: 'Train control orders',
click: this.undeveloped
},
{
title: 'Station direct speed limit',
click: this.undeveloped
},
{
title: 'Transport system 46',
click: this.undeveloped
},
{
title: 'Station map playback',
click: this.undeveloped
},
{
title: 'Logical check of train-controlled interval occupancy',
click: this.undeveloped
},
{
type: 'separator'
},
{
title: 'Update data',
click: this.updateTrainFixedPath
},
{
title: 'Fixed trajectory of trains',
click: this.trainFixedPathPane
},
{
type: 'separator'
},
{
title: 'User management',
click: this.undeveloped
},
{
title: 'Options',
click: this.undeveloped
},
{
type: 'separator'
},
{
type: 'Clock display',
click: this.undeveloped
}
]
},
{
title: 'Debugging',
title: 'UI Control',
operate: '',
children: []
},
{
title: 'Windows',
title: 'Station',
operate: '',
children: []
},
{
title: 'Help',
title: 'Station Ctrl Mode',
operate: '',
children: []
},
{
title: 'Train Control',
operate: '',
children: []
},
{
title: 'Signal Device Control',
operate: '',
children: []
},
{
title: 'Operation Plan',
operate: '',
children: []
},
{
title: 'Plan Details:',
operate: '',
children: []
}
@ -181,6 +78,41 @@ export default {
EventBus.$emit('bottomTableShowOrHidden', false);
},
methods: {
handleExit() {
this.$confirm('Whether to exit emulation?', 'Hint', {
confirmButtonText: 'Confirm',
cancelButtonText: 'Cancel',
type: 'warning'
}).then(() => {
this.back();
});
},
back() {
if (this.$store.state.training.simulationCreator) {
destroySimulationByAdmin(this.group);
} else {
exitSimulation(this.group);
}
if (this.projectDevice && this.$store.state.training.simulationCreator) {
this.logout();
} else if (this.$route.query.third) {
if (this.$route.query.project === 'cgy' || this.$route.query.project === 'drts') {
window.parent.postMessage('back', '*');
} else {
window.close();
}
} else if (this.projectDevice) {
this.logout();
} else {
this.$router.go(-1);
}
},
//
logout() {
this.$store.dispatch('LogOut').then(() => {
location.reload();
});
},
initStationList() {
const list = [];
this.stationList.forEach(station => {

View File

@ -5,6 +5,7 @@
</template>
<script>
import MenuBar from '@/jmapNew/theme/components/menus/menuBarNew';
import { destroySimulationByAdmin, exitSimulation} from '@/api/simulation';
export default {
name: 'DispatchWorkMenuBar',
@ -15,12 +16,47 @@ export default {
return {
menuNormal: [
{
title: 'Login(L)',
title: 'System',
operate: '',
children: [
{
title: 'Exit',
click: this.handleExit
}
]
},
{
title: 'UI Control',
operate: '',
children: []
},
{
title: 'Application program(T)',
title: 'Station',
operate: '',
children: []
},
{
title: 'Station Ctrl Mode',
operate: '',
children: []
},
{
title: 'Train Control',
operate: '',
children: []
},
{
title: 'Signal Device Control',
operate: '',
children: []
},
{
title: 'Operation Plan',
operate: '',
children: []
},
{
title: 'Plan Details',
operate: '',
children: []
}
@ -31,6 +67,41 @@ export default {
methods: {
blankClickClose() {
this.$refs.menuBar.doClose();
},
handleExit() {
this.$confirm('Whether to exit emulation?', 'Hint', {
confirmButtonText: 'Confirm',
cancelButtonText: 'Cancel',
type: 'warning'
}).then(() => {
this.back();
});
},
back() {
if (this.$store.state.training.simulationCreator) {
destroySimulationByAdmin(this.group);
} else {
exitSimulation(this.group);
}
if (this.projectDevice && this.$store.state.training.simulationCreator) {
this.logout();
} else if (this.$route.query.third) {
if (this.$route.query.project === 'cgy' || this.$route.query.project === 'drts') {
window.parent.postMessage('back', '*');
} else {
window.close();
}
} else if (this.projectDevice) {
this.logout();
} else {
this.$router.go(-1);
}
},
//
logout() {
this.$store.dispatch('LogOut').then(() => {
location.reload();
});
}
}
};

View File

@ -1,5 +1,6 @@
<template>
<div class="menus" :style="{width: width + 'px'}">
<menu-bar ref="menuBar" :selected="selected" />
<div id="tipInfoBox" style="width: 1560px;position: fixed;height: 30px;background: #808080;z-index: 9;bottom: 0;left: 0;display: flex;">
<div style="width: 60%;height: 30px;line-height: 30px;text-align: center;">Message window</div>
<div style="width: 40%;height: 30px;line-height: 30px;text-align: center;border-left: 2px #ccc solid;">{{ 'Control A: Mainframe' + ' ' + dateString + ' ' + time }}</div>
@ -45,6 +46,7 @@ import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/contr
import { timestampFormat } from '@/utils/date';
// import BottomTable from './bottomTable';
import { deviceFaultType, deviceType} from '@/scripts/cmdPlugin/Config';
import MenuBar from './localWorkMenuBar';
export default {
name: 'LocalWorkMenu',
@ -56,7 +58,8 @@ export default {
MenuStationStand,
MenuStation,
MenuTrain,
PassiveContorl
PassiveContorl,
MenuBar
// BottomTable
},
props: {

View File

@ -0,0 +1,191 @@
<template>
<div id="menuBarDatie">
<menu-bar ref="menuBar" :menu-normal="menuNormal" style="width:100%;top: 30px;" />
<train-fixed-path-pane ref="trainFixedPathPane" />
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import MenuBar from '@/jmapNew/theme/components/menus/menuBarNew';
import {menuOperate} from '@/jmapNew/theme/components/utils/menuOperate';
import TrainFixedPathPane from './menuDialog/trainFixedPathPane';
import { EventBus } from '@/scripts/event-bus';
import { destroySimulationByAdmin, exitSimulation} from '@/api/simulation';
export default {
name: 'CtcWorkMenuBar',
components: {
MenuBar,
TrainFixedPathPane
},
data() {
return {
menuNormal: [
{
title: 'System',
operate: '',
children: [
{
title: 'Exit',
click: this.handleExit
}
]
},
{
title: 'UI Control',
operate: '',
children: []
},
{
title: 'Station',
operate: '',
children: []
},
{
title: 'Station Ctrl Mode',
operate: '',
children: []
},
{
title: 'Train Control',
operate: '',
children: []
},
{
title: 'Signal Device Control',
operate: '',
children: []
},
{
title: 'Operation Plan',
operate: '',
children: []
},
{
title: 'Plan Details:',
operate: '',
children: []
}
]
};
},
computed: {
...mapGetters('map', [
'stationList'
])
},
beforeDestroy() {
EventBus.$emit('bottomTableShowOrHidden', false);
},
methods: {
handleExit() {
this.$confirm('Whether to exit emulation?', 'Hint', {
confirmButtonText: 'Confirm',
cancelButtonText: 'Cancel',
type: 'warning'
}).then(() => {
this.back();
});
},
back() {
if (this.$store.state.training.simulationCreator) {
destroySimulationByAdmin(this.group);
} else {
exitSimulation(this.group);
}
if (this.projectDevice && this.$store.state.training.simulationCreator) {
this.logout();
} else if (this.$route.query.third) {
if (this.$route.query.project === 'cgy' || this.$route.query.project === 'drts') {
window.parent.postMessage('back', '*');
} else {
window.close();
}
} else if (this.projectDevice) {
this.logout();
} else {
this.$router.go(-1);
}
},
//
logout() {
this.$store.dispatch('LogOut').then(() => {
location.reload();
});
},
initStationList() {
const list = [];
this.stationList.forEach(station => {
if (station.visible) {
const node = {
title: station.name,
operate: station.code,
show: true,
click: this.mapLocation,
code: station.code
};
list.push(node);
}
});
return list;
},
//
mapLocation(code) {
if (code) {
this.$store.dispatch('training/updateOffsetStationCode', { offsetStationCode: code });
}
},
blankClickClose() {
this.$refs.menuBar.doClose();
},
updateTrainFixedPath() {
const stationCode = this.$store.state.training.roleDeviceCode;
const operate = {
over: true,
userOperationType: 'rightClick',
operation: menuOperate.CTC.updateTrainFixedPath2Station.operation,
cmdType: menuOperate.CTC.updateTrainFixedPath2Station.cmdType,
param: {
stationCode: stationCode
}
};
this.$store.dispatch('trainingNew/next', operate).then(({valid}) => {
if (valid) {
this.$nextTick(() => { this.$store.dispatch('training/emitTipFresh'); });
}
}).catch(e => {
console.error(e);
});
},
trainFixedPathPane() {
const stationCode = this.$store.state.training.roleDeviceCode;
this.$refs.trainFixedPathPane.doShow(stationCode);
},
bottomTableShowOrHidden() {
EventBus.$emit('bottomTableShowOrHidden', true);
},
undeveloped() {
this.$refs.menuBar.doClose();
this.$alert('In implementation......', 'Hint', {
confirmButtonText: 'Confirm',
callback: action => {
}
});
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss">
#menuBarDatie{
line-height:30px;
}
#menuBarDatie #menuBar .menu-li-block .label{
padding: 0px 30px 0px 5px !important;
}
.img-box{
width: 20px;
height: 20px;
margin-top: 30px;
}
</style>