Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
332577b03a | ||
|
6e6737a7c6 |
@ -346,15 +346,14 @@ class SkinCode extends defaultStyle {
|
||||
|
||||
this[deviceType.StationTurnBack] = { // 站后折返
|
||||
lamp: {
|
||||
fill: '#ccc', // 填充色
|
||||
radiusR: 6,
|
||||
otherFill: '#0F0' // 控制灯大小
|
||||
fill: '#f1f1f1', // 填充色
|
||||
radiusR: 7 // 控制灯大小
|
||||
},
|
||||
text: {
|
||||
titleTextShow: false,
|
||||
fontWeight: 580,
|
||||
fontSize: 10,
|
||||
distance: 5
|
||||
distance: 10
|
||||
},
|
||||
rect: {
|
||||
fill: 'rgba(0,0,0,0)',
|
||||
|
@ -440,7 +440,7 @@ class Jlmap {
|
||||
const trainList = [];
|
||||
list.forEach(item => {
|
||||
const device = this.mapDevice[item];
|
||||
if (device && device._type !== deviceType.Switch && device._type !== deviceType.Train && device._type !== deviceType.TrainWindow) {
|
||||
if (device && device._type !== deviceType.Switch && device._type !== deviceType.Train) {
|
||||
const pictureDevice = store.getters['map/getPictureDeviceByCode'](item);
|
||||
device._pictureHide = pictureDevice ? pictureDevice.pictureHide : false;
|
||||
this.$painter.updatePicture(device);
|
||||
|
@ -166,11 +166,6 @@ export default class StationTurnBack extends Group {
|
||||
this.control && this.control.highlightType3(this.style.ReturnModeGroup.highlightColor);
|
||||
}
|
||||
}
|
||||
if (this.style.StationTurnBack.lamp.otherFill) {
|
||||
if (name == '自动折返' || name == '固定折返轨1' || name == '固定折返轨1') {
|
||||
this.control && this.control.setStyle({fill: this.style.StationTurnBack.lamp.otherFill});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
setAshShow() {
|
||||
|
@ -1,373 +0,0 @@
|
||||
<template>
|
||||
<div class="menus" :style="{width: width + 'px'}">
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" :work="'atsWork'" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" :work="'atsWork'" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" :work="'atsWork'" />
|
||||
<menu-section ref="menuSection" :selected="selected" :work="'atsWork'" />
|
||||
<menu-train ref="menuTrain" :selected="selected" :work="'atsWork'" />
|
||||
<menu-station ref="menuStation" :selected="selected" :work="'atsWork'" />
|
||||
<menu-limit ref="menuLimit" :selected="selected" :work="'atsWork'" />
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" pop-class="beijing-01__systerm" />
|
||||
<passive-timeout ref="passiveTimeout" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import MenuSignal from './menuSignal';
|
||||
import MenuStationStand from './menuStationStand';
|
||||
import MenuSwitch from './menuSwitch';
|
||||
import MenuSection from './menuSection';
|
||||
import MenuTrain from './menuTrain';
|
||||
import MenuStation from './menuStation';
|
||||
import MenuLimit from './menuLimit';
|
||||
import PassiveAlarm from './passiveDialog/alarm';
|
||||
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
|
||||
import PassiveTimeout from './passiveDialog/timeout';
|
||||
|
||||
export default {
|
||||
name: 'AtsWorkMenus',
|
||||
components: {
|
||||
MenuSignal,
|
||||
MenuSwitch,
|
||||
MenuSection,
|
||||
MenuStationStand,
|
||||
MenuStation,
|
||||
MenuTrain,
|
||||
MenuLimit,
|
||||
PassiveAlarm,
|
||||
PassiveContorl,
|
||||
PassiveTimeout
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
])
|
||||
},
|
||||
watch: {
|
||||
'$store.state.trainingNew.trainingSwitch': function (val) {
|
||||
if (val) {
|
||||
this.$store.dispatch('menuOperation/setButtonOperation', null);
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('config/updateMenuBar');
|
||||
this.$refs['menuSignal'].setRouteSignal();
|
||||
});
|
||||
this.$root.$on('dialogOpen', e => {
|
||||
if (this.selected == e &&
|
||||
this.selected &&
|
||||
this.selected.instance &&
|
||||
this.selected.instance.mouseEvent) {
|
||||
this.selected.instance.mouseEvent.mouseover();
|
||||
}
|
||||
});
|
||||
|
||||
this.$root.$on('dialogClose', e => {
|
||||
if (this.selected == e &&
|
||||
this.selected &&
|
||||
this.selected.instance &&
|
||||
this.selected.instance.mouseEvent) {
|
||||
this.selected.instance.__down = false;
|
||||
this.selected.instance.mouseEvent.mouseout();
|
||||
this.$jlmap.clearEvent();
|
||||
}
|
||||
});
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.$root.$off('dialogOpen');
|
||||
this.$root.$off('dialogClose');
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.menus .pop-menu {
|
||||
background: #F0F0F0;
|
||||
}
|
||||
|
||||
.menus .pop-menu span {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.menus .pop-menu .is-disabled span {
|
||||
color: #B4B3B8;
|
||||
}
|
||||
|
||||
.beijing-01__systerm {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
.beijing-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;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-dialog__header {
|
||||
padding: 10px;
|
||||
height: 26px;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-dialog__footer {
|
||||
background: #F0F0F0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-dialog__body {
|
||||
padding: 10px;
|
||||
margin: 5px;
|
||||
border: 2px solid rgba(120, 121, 123, 0.5);
|
||||
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
|
||||
background: #F0F0F0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-dialog__title {
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
color: #000;
|
||||
border-radius: 4px;
|
||||
padding: 0px 2px;
|
||||
height: 20px;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-dialog__title::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
filter: blur(7px);
|
||||
height: 20px;
|
||||
width: -webkit-fill-available;
|
||||
background: rgba(190, 190, 190, 0.8);
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-dialog__headerbtn {
|
||||
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
|
||||
border: 1px solid #fff;
|
||||
border-radius: 4px;
|
||||
top: 5px;
|
||||
right: 5px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.beijing-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;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .expand {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-button:focus span {
|
||||
border: 1px dashed gray;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-button:active {
|
||||
border: 2px inset #E2E2E2;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-button:disabled {
|
||||
border: 2px inset #E2E2E2;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-button:disabled span {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-input {
|
||||
border: 2px inset #E9E9E9;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-input .el-input__inner {
|
||||
color: #000;
|
||||
background: #fff !important;
|
||||
border: 0px;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-input.is-disabled .el-input__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-textarea {
|
||||
border: 2px inset #E9E9E9;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-textarea .el-textarea__inner {
|
||||
color: #000;
|
||||
background: #fff !important;
|
||||
border: 0px;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-table--border th.gutter {
|
||||
background: #EBEADB !important;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-table {
|
||||
border: 2px inset #E9E9E9;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-table .cell {
|
||||
line-height: unset !important;
|
||||
}
|
||||
|
||||
.beijing-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;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-table tr td {
|
||||
height: 20px !important;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-table .el-table__empty-text {
|
||||
top: 15px !important;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .current-row>td {
|
||||
background: #3399FF !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-checkbox__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-checkbox__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.beijing-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;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-radio__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-radio__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.beijing-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%;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .base-label {
|
||||
background: rgba(0, 0, 0, x);
|
||||
position: relative;
|
||||
left: -15px;
|
||||
top: -18px;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .el-form-item label {
|
||||
font-weight: normal !important;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .context {
|
||||
height: 100px;
|
||||
border: 2px inset #E2E2E2;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .table {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .notice {
|
||||
margin-left: 62px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.beijing-01__systerm .el-dialog .button-group {
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
@ -1,435 +0,0 @@
|
||||
<template>
|
||||
<div class="chengdou-01__menus" :style="{width: width + 'px'}">
|
||||
<menu-request ref="menuRequest" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" :work="work" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" :work="work" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" :work="work" />
|
||||
<menu-section ref="menuSection" :selected="selected" :work="work" />
|
||||
<menu-train ref="menuTrain" :selected="selected" :work="work" />
|
||||
<menu-station ref="menuStation" :selected="selected" :work="work" />
|
||||
<menu-station-platform ref="menuStationPlatform" :selected="selected" @popMenuStationStand="popMenuStationStand" />
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" pop-class="chengdou-01__system" :work="work" />
|
||||
<passive-Timeout ref="passiveTimeout" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import MenuRequest from './menuRequest';
|
||||
import MenuSignal from './menuSignal';
|
||||
import MenuStationStand from './menuStationStand';
|
||||
import MenuSwitch from './menuSwitch';
|
||||
import MenuSection from './menuSection';
|
||||
import MenuTrain from './menuTrain';
|
||||
import MenuStation from './menuStation';
|
||||
import PassiveAlarm from './passiveDialog/alarm';
|
||||
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
|
||||
import PassiveTimeout from './passiveDialog/timeout';
|
||||
import MenuStationPlatform from './menuStationPlatform';
|
||||
|
||||
export default {
|
||||
name: 'AtsWorkMenu',
|
||||
components: {
|
||||
MenuRequest,
|
||||
// MenuCancel,
|
||||
MenuSignal,
|
||||
MenuSwitch,
|
||||
MenuSection,
|
||||
MenuStationStand,
|
||||
MenuStation,
|
||||
MenuTrain,
|
||||
PassiveAlarm,
|
||||
PassiveContorl,
|
||||
PassiveTimeout,
|
||||
MenuStationPlatform
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
work: 'atsWork'
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
])
|
||||
},
|
||||
watch: {
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('config/updateMenuBar');
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
popMenuStationStand(param) {
|
||||
this.$refs.menuStationStand.doShow(param.position, param.type);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.chengdou-01__menus .pop-menu {
|
||||
background: #5F9EA0;
|
||||
}
|
||||
.chengdou-01__menus .pop-menu .el-popover{
|
||||
background: #5F9EA0;
|
||||
}
|
||||
.chengdou-01__menus .pop-menu span {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.chengdou-01__menus .pop-menu .is-disabled span {
|
||||
color: #B4B3B8;
|
||||
}
|
||||
|
||||
.chengdou-01__systerm {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog {
|
||||
background: #0055E8;
|
||||
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
|
||||
border: 1px solid rgb(69, 134, 247);
|
||||
border-radius: 6px;
|
||||
font-size: 13px !important;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog span {
|
||||
font-size: 13px !important;
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-dialog__footer {
|
||||
background: #5F9EA0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-dialog__body {
|
||||
padding: 20px;
|
||||
margin: 0px 3px 3px;
|
||||
border: 2px solid rgba(120, 121, 123, 0.5);
|
||||
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
|
||||
background: #5F9EA0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.chengdou-01__system .station-stand .el-dialog__body {
|
||||
background: #000;
|
||||
color: #E8E8E8;
|
||||
}
|
||||
.chengdou-01__system .el-dialog .el-dialog__title {
|
||||
font-size: 16px;
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
left:25px;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-dialog__headerbtn {
|
||||
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
|
||||
border: 1px solid #fff;
|
||||
border-radius: 4px;
|
||||
top: 6px;
|
||||
right: 3px;
|
||||
line-height: 16px;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-dialog__headerbtn .el-icon-close:before {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-dialog__headerbtn .el-dialog__close {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-button {
|
||||
height: 24px;
|
||||
line-height: 22px;
|
||||
padding: 0px;
|
||||
width: 80px;
|
||||
border: 2px outset #B7D4D5;
|
||||
border-radius: 0 !important;
|
||||
color: #000;
|
||||
background: #5F9EA0;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .expand {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-button:focus span {
|
||||
border: 1px dashed #315253;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-button:active {
|
||||
border: 2px inset #B7D4D5;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-button:disabled {
|
||||
border: 2px inset #B7D4D5;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-button:disabled span {
|
||||
border: 0px;
|
||||
}
|
||||
.chengdou-01__select-option .el-select-dropdown__item{
|
||||
background: #5F9EA0;
|
||||
}
|
||||
.chengdou-01__select-option .el-scrollbar__wrap {
|
||||
background-color: #5F9EA0;
|
||||
overflow: hidden;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
.chengdou-01__select-option{
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
border-color: #335658 #99C1C3 #99C1C3 #335658;
|
||||
border-radius: 0;
|
||||
background:#5F9EA0;
|
||||
}
|
||||
.chengdou-01__select-option .el-scrollbar{
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
border-color: #467576 #A0C6C7 #A0C6C7 #467576;
|
||||
border-radius: 0;
|
||||
}
|
||||
.chengdou-01__select-option .el-select-dropdown__item.selected{
|
||||
color: #fff;
|
||||
}
|
||||
.chengdou-01__select-option .el-select-dropdown__item{
|
||||
color: #000;
|
||||
}
|
||||
.chengdou-01__system .el-dialog .el-transfer-panel{
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
border-color: #467576 #A0C6C7 #A0C6C7 #467576;
|
||||
border-radius: 0;
|
||||
background: #5F9EA0;
|
||||
}
|
||||
.chengdou-01__system .el-dialog .el-transfer .el-button{
|
||||
width: 40px;
|
||||
}
|
||||
.chengdou-01__system .el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span {
|
||||
color: #000;
|
||||
}
|
||||
.chengdou-01__system .el-dialog .el-transfer-panel .el-transfer-panel__header {
|
||||
background: #5F9EA0;
|
||||
border-bottom: 1px solid #467576;
|
||||
}
|
||||
.chengdou-01__system .el-dialog .el-transfer-panel .el-transfer-panel__empty {
|
||||
color: #5F9EA0;
|
||||
}
|
||||
.chengdou-01__system .el-dialog .el-input {
|
||||
border-style:solid;
|
||||
border-width: 1px;
|
||||
border-color: #335658 #99C1C3 #99C1C3 #335658;
|
||||
height: 22px !important;
|
||||
line-height: 22px !important;
|
||||
background: #5F9EA0;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-input__inner {
|
||||
color: #000;
|
||||
background: #5F9EA0 !important;
|
||||
border-style:solid;
|
||||
border-width: 1px;
|
||||
border-color: #467576 #A0C6C7 #A0C6C7 #467576;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
height: 22px !important;
|
||||
line-height: 22px !important;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-input.is-disabled .el-input__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-textarea {
|
||||
border-style:solid;
|
||||
border-width: 1px;
|
||||
border-color: #335658 #99C1C3 #99C1C3 #335658;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-textarea .el-textarea__inner {
|
||||
color: #000;
|
||||
background: #5F9EA0 !important;
|
||||
border-style:solid;
|
||||
border-width: 1px;
|
||||
border-color: #467576 #A0C6C7 #A0C6C7 #467576;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-textarea.is-disabled .el-textarea__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-table--border th.gutter {
|
||||
background: #EBEADB !important;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-table {
|
||||
border: 2px inset #E9E9E9;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-table .cell {
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
.chengdou-01__system .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;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-table tr td {
|
||||
height: 20px !important;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-table .el-table__empty-text {
|
||||
top: 15px !important;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .current-row>td {
|
||||
background: #3399FF !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-checkbox__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-checkbox__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.chengdou-01__system .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;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-radio__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-radio__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-radio__input.is-checked .el-radio__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.chengdou-01__system .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%;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-radio.is-disabled .el-radio__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-radio.is-disabled .el-radio__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .base-label {
|
||||
background: rgba(0, 0, 0, x);
|
||||
position: relative;
|
||||
left: -15px;
|
||||
top: -18px;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .el-form-item label {
|
||||
font-weight: normal !important;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .context {
|
||||
height: 100px;
|
||||
border: 2px inset #E2E2E2;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .table {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .notice {
|
||||
margin-left: 62px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.chengdou-01__system .el-dialog .button-group {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.chengdou-01__system.request_box .content-box .el-table__body-wrapper .el-table__row{
|
||||
background: #000;
|
||||
height: 30px;
|
||||
color: #518E86;
|
||||
}
|
||||
.chengdou-01__system.request_box .content-box .el-table__body-wrapper .el-table__row.hover-row td{
|
||||
background: #d5ecf7;
|
||||
}
|
||||
.chengdou-01__system.request_box .content-box .el-table__body-wrapper .el-table__row.current-row td{
|
||||
background: #d5ecf7;
|
||||
}
|
||||
.chengdou-01__system .el-select .el-input__suffix {
|
||||
top: 5px;
|
||||
}
|
||||
.chengdou-01__system .el-select .is-focus .el-input__suffix {
|
||||
top: -5px;
|
||||
}
|
||||
.chengdou-01__select-option .el-scrollbar__thumb {
|
||||
border-style:solid;
|
||||
border-width: 1px;
|
||||
border-color: #335658 #99C1C3 #99C1C3 #335658;
|
||||
background: #518E86;
|
||||
}
|
||||
</style>
|
@ -52,8 +52,7 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '取消进路',
|
||||
@ -61,8 +60,7 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '开放自动进路',
|
||||
@ -70,8 +68,7 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '关闭自动进路',
|
||||
@ -79,8 +76,7 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '终端信号封锁',
|
||||
@ -88,8 +84,7 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_BLOCK,
|
||||
isDisabled: (signal, work) => {
|
||||
return signal.blockade !== 0;
|
||||
},
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '终端信号解封',
|
||||
@ -97,8 +92,7 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK,
|
||||
isDisabled: (signal, work) => {
|
||||
return signal.blockade === 0;
|
||||
},
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '引导信号',
|
||||
@ -106,8 +100,7 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '设备标签',
|
||||
@ -120,8 +113,7 @@ export default {
|
||||
cmdType: '',
|
||||
show: false
|
||||
}
|
||||
],
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '模拟',
|
||||
|
@ -66,8 +66,7 @@ export default {
|
||||
} else {
|
||||
return switchDevice.normalPosition === 1;
|
||||
}
|
||||
},
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '道岔反位',
|
||||
@ -79,8 +78,7 @@ export default {
|
||||
} else {
|
||||
return switchDevice.reversePosition === 1;
|
||||
}
|
||||
},
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '道岔单锁',
|
||||
@ -92,8 +90,7 @@ export default {
|
||||
} else {
|
||||
return switchDevice.singleLock !== 0;
|
||||
}
|
||||
},
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '道岔单解',
|
||||
@ -105,8 +102,7 @@ export default {
|
||||
} else {
|
||||
return switchDevice.singleLock !== 1;
|
||||
}
|
||||
},
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
}
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -1,346 +0,0 @@
|
||||
<template>
|
||||
<div class="menus" :style="{width: width + 'px'}">
|
||||
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" :work="'atsWork'" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" :work="'atsWork'" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" :work="'atsWork'" />
|
||||
<menu-section ref="menuSection" :selected="selected" :work="'atsWork'" />
|
||||
<menu-station ref="menuStation" :selected="selected" :work="'atsWork'" />
|
||||
<menu-train ref="menuTrain" :selected="selected" :work="'atsWork'" />
|
||||
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" pop-class="chengdou-03__systerm" />
|
||||
<passive-Timeout ref="passiveTimeout" />
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
|
||||
|
||||
import MenuSignal from './menuSignal';
|
||||
import MenuStationStand from './menuStationStand';
|
||||
import MenuSwitch from './menuSwitch';
|
||||
import MenuSection from './menuSection';
|
||||
import MenuStation from './menuStation';
|
||||
import MenuTrain from './menuTrain';
|
||||
|
||||
import PassiveAlarm from './passiveDialog/alarm';
|
||||
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
|
||||
import PassiveTimeout from './passiveDialog/timeout';
|
||||
export default {
|
||||
name: 'AtsWorkMenu',
|
||||
components: {
|
||||
MenuSignal,
|
||||
MenuStationStand,
|
||||
MenuSwitch,
|
||||
MenuSection,
|
||||
MenuStation,
|
||||
MenuTrain,
|
||||
PassiveAlarm,
|
||||
PassiveContorl,
|
||||
PassiveTimeout
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
])
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('config/updateMenuBar');
|
||||
const _that = this;
|
||||
window.onclick = function (e) {
|
||||
if (!_that.$store.state.training.trainingStart) {
|
||||
_that.$refs.menuBar && _that.$refs.menuBar.blankClickClose();
|
||||
}
|
||||
};
|
||||
});
|
||||
},
|
||||
beforeDestroy() {
|
||||
window.onclick = function (e) {};
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style>
|
||||
.menus .pop-menu {
|
||||
background: #F0F0F0;
|
||||
}
|
||||
|
||||
.menus .pop-menu span {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.menus .pop-menu .is-disabled span {
|
||||
color: #B4B3B8;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog {
|
||||
background: #0055E8;
|
||||
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
|
||||
border: 1px solid rgb(69, 134, 247);
|
||||
border-radius: 6px;
|
||||
font-size: 13px !important;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog span {
|
||||
font-size: 13px !important;
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog span .el-icon-arrow-up{
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-dialog__footer {
|
||||
background: #ECE9D8;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-dialog__body {
|
||||
padding: 20px;
|
||||
margin: 0px 3px 3px;
|
||||
border: 2px solid rgba(120, 121, 123, 0.5);
|
||||
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
|
||||
background: #ECE9D8;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-dialog__title {
|
||||
font-size: 16px;
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
left: 7px;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-dialog__headerbtn {
|
||||
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
|
||||
border: 1px solid #fff;
|
||||
border-radius: 4px;
|
||||
top: 6px;
|
||||
right: 3px;
|
||||
line-height: 16px;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-button {
|
||||
height: 24px;
|
||||
line-height: 22px;
|
||||
padding: 0px;
|
||||
width: 80px;
|
||||
border: 2px outset #E2E2E2;
|
||||
border-radius: 4px !important;
|
||||
color: #000;
|
||||
background: #F0F0F0;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .expand {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-button:focus span {
|
||||
border: 1px dashed gray;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-button:active {
|
||||
border: 2px inset #E2E2E2;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-button:disabled {
|
||||
border: 2px inset #E2E2E2;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-button:disabled span {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-input {
|
||||
border: 2px inset #E9E9E9;
|
||||
height: 22px !important;
|
||||
line-height: 22px !important;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-input__inner {
|
||||
color: #000;
|
||||
background: #fff !important;
|
||||
border: 0px;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
height: 22px !important;
|
||||
line-height: 22px !important;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-input.is-disabled .el-input__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-textarea {
|
||||
border: 2px inset #E9E9E9;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-textarea .el-textarea__inner {
|
||||
color: #000;
|
||||
background: #fff !important;
|
||||
border: 0px;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-table--border th.gutter {
|
||||
background: #EBEADB !important;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-table {
|
||||
border: 2px inset #E9E9E9;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-table .cell {
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
.chengdou-03__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;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-table tr td {
|
||||
height: 20px !important;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-table .el-table__empty-text {
|
||||
top: 15px !important;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .current-row>td {
|
||||
background: #3399FF !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-checkbox__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-checkbox__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.chengdou-03__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;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-radio__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-radio__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.chengdou-03__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%;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .base-label {
|
||||
background: rgba(0, 0, 0, x);
|
||||
position: relative;
|
||||
left: -15px;
|
||||
top: -18px;
|
||||
}
|
||||
|
||||
.chengdou-03__systerm .el-dialog .el-form-item label {
|
||||
font-weight: normal !important;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
</style>
|
@ -1,174 +0,0 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
class="chengdou-03__systerm stand-run-level"
|
||||
:title="title"
|
||||
:visible.sync="show"
|
||||
width="320px"
|
||||
:before-close="doClose"
|
||||
:z-index="2000"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<div style="font-size: 16px; margin-bottom: 5px;">变通节点</div>
|
||||
<div style="margin-bottom: 5px;">
|
||||
<el-input v-model="stationName" size="mini" disabled />
|
||||
</div>
|
||||
<div style="font-size: 16px; margin-bottom: 5px;">当前变通策略</div>
|
||||
<div style="margin-bottom: 5px;">
|
||||
<el-input v-model="stationStrategy" size="mini" disabled />
|
||||
</div>
|
||||
<div style="font-size: 16px; margin-bottom: 5px;">变通策略选项</div>
|
||||
<el-table
|
||||
ref="table"
|
||||
:data="strategyList"
|
||||
border
|
||||
:cell-style="tableStyle"
|
||||
style="width: 100%; margin-top:10px"
|
||||
size="mini"
|
||||
height="180"
|
||||
highlight-current-row
|
||||
:show-header="false"
|
||||
@row-click="clickEvent"
|
||||
>
|
||||
<el-table-column :id="domIdChoose" prop="label" style="margin-left:30px" />
|
||||
</el-table>
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="10" :offset="2">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="!isConfirm" @click="commit">
|
||||
确定</el-button>
|
||||
</el-col>
|
||||
<el-col :span="8" :offset="4">
|
||||
<el-button :id="domIdCancel" @click="cancel">取 消</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<notice-info ref="noticeInfo" pop-class="chengdou-03__systerm" />
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||
import { mapGetters } from 'vuex';
|
||||
|
||||
export default {
|
||||
name: 'StandBackStrategy',
|
||||
components: {
|
||||
NoticeInfo
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dialogShow: false,
|
||||
loading: false,
|
||||
strategyList: [],
|
||||
stationName: '',
|
||||
stationStrategy: '',
|
||||
selection: [],
|
||||
isConfirm: false,
|
||||
strategyId: '',
|
||||
tableStyle: {
|
||||
'border-bottom': 'none'
|
||||
}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'stationList'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdCancel() {
|
||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||
},
|
||||
domIdConfirm() {
|
||||
return this.dialogShow ? OperationEvent.Station.setBackStrategy.menu.domId : '';
|
||||
},
|
||||
domIdChoose() {
|
||||
return this.dialogShow ? OperationEvent.Station.setBackStrategy.choose.domId : '';
|
||||
},
|
||||
title() {
|
||||
return '策略选择';
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
doShow(operate, selected) {
|
||||
this.selected = selected;
|
||||
if (!this.dialogShow) {
|
||||
const name = selected.optionList.find(ele => ele.id == selected.tbStrategyId).label;
|
||||
this.stationName = selected.name || '';
|
||||
this.stationStrategy = selected.tbStrategyId ? name : '无策略折返'; // 当前默认折返策略
|
||||
this.strategyList = selected.optionList; // 策略列表
|
||||
}
|
||||
|
||||
this.dialogShow = true;
|
||||
this.$nextTick(function () {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
});
|
||||
},
|
||||
clickEvent(row, column, event) {
|
||||
const operate = {
|
||||
operation: OperationEvent.Station.setBackStrategy.choose.operation
|
||||
};
|
||||
this.strategyId = row.id;
|
||||
this.isConfirm = true;
|
||||
this.$store.dispatch('trainingNew/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
}
|
||||
});
|
||||
},
|
||||
checkTableDataSelction(data) {
|
||||
const selection = [];
|
||||
if (data && data.length > 0) {
|
||||
data.forEach(row => {
|
||||
if (row.check && !row.disabled) {
|
||||
selection.push(row);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
this.disabledSend = !selection.length;
|
||||
if (JSON.stringify(selection) !== JSON.stringify(this.selection)) {
|
||||
this.selection = selection;
|
||||
}
|
||||
},
|
||||
doClose() {
|
||||
this.loading = false;
|
||||
this.dialogShow = false;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
},
|
||||
commit() {
|
||||
if (this.isConfirm) {
|
||||
this.loading = true;
|
||||
commitOperate(menuOperate.StationControl.setBackStrategy, {id: this.strategyId}, 2).then(({valid})=>{
|
||||
this.loading = false;
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.doClose();
|
||||
this.$refs.noticeInfo.doShow();
|
||||
});
|
||||
} else {
|
||||
this.doClose();
|
||||
}
|
||||
},
|
||||
cancel() {
|
||||
const operate = {
|
||||
operation: OperationEvent.Command.cancel.menu.operation
|
||||
};
|
||||
|
||||
this.$store.dispatch('trainingNew/next', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.doClose();
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
@ -8,7 +8,6 @@
|
||||
<menu-section ref="menuSection" :selected="selected" :work="'dispatchWork'" />
|
||||
<menu-station ref="menuStation" :selected="selected" :work="'dispatchWork'" />
|
||||
<menu-train ref="menuTrain" :selected="selected" :work="'dispatchWork'" />
|
||||
<menu-station-turn-back ref="menuStationTurnBack" :selected="selected" :work="'dispatchWork'" />
|
||||
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" pop-class="chengdou-03__systerm" />
|
||||
@ -25,7 +24,6 @@ import MenuSwitch from './menuSwitch';
|
||||
import MenuSection from './menuSection';
|
||||
import MenuStation from './menuStation';
|
||||
import MenuTrain from './menuTrain';
|
||||
import MenuStationTurnBack from './menuStationTurnBack.vue';
|
||||
|
||||
import PassiveAlarm from './passiveDialog/alarm';
|
||||
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
|
||||
@ -42,8 +40,7 @@ export default {
|
||||
MenuTrain,
|
||||
PassiveAlarm,
|
||||
PassiveContorl,
|
||||
PassiveTimeout,
|
||||
MenuStationTurnBack
|
||||
PassiveTimeout
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
|
@ -2,14 +2,7 @@
|
||||
<div class="menus" :style="{width: width + 'px'}">
|
||||
<menu-bar ref="menuBar" :selected="selected" />
|
||||
<menu-button ref="menuButton" />
|
||||
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" :work="'localWork'" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" :work="'localWork'" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" :work="'localWork'" />
|
||||
<menu-section ref="menuSection" :selected="selected" :work="'localWork'" />
|
||||
<menu-station ref="menuStation" :selected="selected" :work="'localWork'" />
|
||||
<menu-train ref="menuTrain" :selected="selected" :work="'localWork'" />
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
@ -17,22 +10,12 @@ import { mapGetters } from 'vuex';
|
||||
import MenuTrain from './menuTrain';
|
||||
import MenuButton from './menuButton';
|
||||
import MenuBar from './localWorkMenuBar';
|
||||
import MenuSignal from './menuSignal';
|
||||
import MenuStationStand from './menuStationStand';
|
||||
import MenuSwitch from './menuSwitch';
|
||||
import MenuSection from './menuSection';
|
||||
import MenuStation from './menuStation';
|
||||
export default {
|
||||
name: 'LocalWorkMenu',
|
||||
components: {
|
||||
MenuTrain,
|
||||
MenuButton,
|
||||
MenuBar,
|
||||
MenuSignal,
|
||||
MenuStationStand,
|
||||
MenuSwitch,
|
||||
MenuSection,
|
||||
MenuStation
|
||||
MenuBar
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
|
@ -350,7 +350,7 @@ export default {
|
||||
}
|
||||
}
|
||||
// 如果该信号机红灯亮 而且 所属区段左右两侧区段锁闭 执行信号重启操作
|
||||
if (signal.lockedRouteCode) { // 信号重启
|
||||
if (signal.aspect == 'R' && isArrangementRoute) { // 信号重启
|
||||
operate.over = true;
|
||||
operate.cmdType = CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL;
|
||||
operate.code = deviceList[0].code;
|
||||
@ -370,8 +370,7 @@ export default {
|
||||
this.routeList.forEach(item => {
|
||||
// item.endButtonSignalCode
|
||||
// 起始信号机 和 结束信号机按钮 过滤进路
|
||||
const endSignalCode = item.endButtonSignalCode || item.endSignalCode;
|
||||
if (item.startSignalCode === deviceList[0].code && endSignalCode === deviceList[1].code) {
|
||||
if (item.startSignalCode === deviceList[0].code && item.endSignalCode === deviceList[1].code) {
|
||||
operate.over = true;
|
||||
operate.cmdType = CMD.Signal.CMD_SIGNAL_SET_ROUTE;
|
||||
operate.code = deviceList[1].code;
|
||||
@ -397,28 +396,19 @@ export default {
|
||||
operation: this.$store.state.menuOperation.buttonOperation,
|
||||
param: {}
|
||||
};
|
||||
let controlMode = '';
|
||||
const station = this.$store.getters['map/getDeviceByCode'](model.stationCode);
|
||||
if (station) {
|
||||
controlMode = station.controlMode;
|
||||
// if (station.controlMode == 'Local' || station.controlMode == 'Emergency') {
|
||||
// controlFlag = true;Interlock
|
||||
// }
|
||||
}
|
||||
const list2 = ['Local', 'Emergency'];
|
||||
if (model._type === 'StationStand' && subType === 'StopJumpLamp' && list2.includes(controlMode)) {
|
||||
if (model._type === 'StationStand' && subType === 'StopJumpLamp') {
|
||||
operate.cmdType = CMD.Stand.CMD_STAND_SET_JUMP_STOP;
|
||||
operate.param = {standCode: model.code, trainGroupNumber: ''};
|
||||
operate.code = model.code;
|
||||
} else if (model._type === 'StationStand' && subType === 'CancelStopJumpLamp' && list2.includes(controlMode)) {
|
||||
} else if (model._type === 'StationStand' && subType === 'CancelStopJumpLamp') {
|
||||
operate.cmdType = CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP;
|
||||
operate.param = {standCode: model.code, trainGroupNumber: ''};
|
||||
operate.code = model.code;
|
||||
} else if (model._type === 'AutoTurnBack' && controlMode === 'Interlock') {
|
||||
} else if (model._type === 'AutoTurnBack' ) {
|
||||
operate.cmdType = CMD.Signal.CMD_SIGNAL_SET_AUTO_TURN_BACK;
|
||||
operate.param = {cycleCode: model.cycleCode};
|
||||
operate.code = model.code;
|
||||
} else if (model._type === 'AutomaticRoute' && controlMode === 'Interlock') {
|
||||
} else if (model._type === 'AutomaticRoute') {
|
||||
const route = this.routeData[model.automaticRouteCode];
|
||||
operate.cmdType = CMD.Signal.CMD_SIGNAL_SET_CI_AUTO;
|
||||
operate.param = {signalCode: route.startSignalCode};
|
||||
@ -446,16 +436,13 @@ export default {
|
||||
operate.code = model.code;
|
||||
break;
|
||||
case 'interconnected':
|
||||
operate.cmdType = CMD.ControlConvertMenu.CMD_CM_INTERLOCK_CONTROL;
|
||||
operate.cmdType = CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL;
|
||||
delete operate.over;
|
||||
operate.subType = 'interconnected';
|
||||
operate.param = {stationCodes: [model.code]};
|
||||
operate.code = model.code;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
this.$message.info('请检查操作设备或控制权');
|
||||
return;
|
||||
}
|
||||
this.$store.dispatch('trainingNew/next', operate).then(({ valid, response }) => {
|
||||
// 判断是否需要 弹窗密码框
|
||||
@ -572,8 +559,7 @@ export default {
|
||||
};
|
||||
let flag = false;
|
||||
this.routeList.forEach(item => {
|
||||
const endSignalCode = item.endButtonSignalCode || item.endSignalCode;
|
||||
if (item.startSignalCode === deviceList[0].code && endSignalCode === deviceList[1].code) {
|
||||
if (item.startSignalCode === deviceList[0].code && item.endSignalCode === deviceList[1].code) {
|
||||
operate.param = {routeCode: item.code, signalCode: deviceList[0].code};
|
||||
this.deviceList = [];
|
||||
flag = true;
|
||||
@ -719,37 +705,38 @@ export default {
|
||||
this.handelFunctionButton(model, subType);
|
||||
} else {
|
||||
const station = this.$store.getters['map/getDeviceByCode'](model.stationCode);
|
||||
const list1 = ['Local', 'Emergency', 'Interlock'];
|
||||
const list2 = ['Local', 'Emergency'];
|
||||
if (station) {
|
||||
if (station.controlMode == 'Local' || station.controlMode == 'Emergency') {
|
||||
if (buttonOperation && this.commandTypeList.includes(model._type)) {
|
||||
this.deviceList.push(model);
|
||||
if (buttonOperation === this.Signal.arrangementRoute.button.operation && list1.includes(station.controlMode)) {
|
||||
if (buttonOperation === this.Signal.arrangementRoute.button.operation) {
|
||||
this.arrangementRouteOperation(this.deviceList);
|
||||
} else if (buttonOperation === this.MixinCommand.totalCancel.button.operation) {
|
||||
this.handelTotalCancel(model, subType);
|
||||
} else if (buttonOperation === this.Signal.humanTrainRoute.button.operation && list1.includes(station.controlMode)) {
|
||||
} else if (buttonOperation === this.Signal.humanTrainRoute.button.operation) {
|
||||
this.handleTotalHumanSolution(model);
|
||||
} else if (buttonOperation === this.Signal.guide.button.operation && list1.includes(station.controlMode)) {
|
||||
} else if (buttonOperation === this.Signal.guide.button.operation) {
|
||||
this.handleGuideRoute(this.deviceList);
|
||||
} else if ((buttonOperation === this.Signal.atsAutoControl.button.operation || buttonOperation === this.Signal.humanControl.button.operation) && list2.includes(station.controlMode)) {
|
||||
} else if (buttonOperation === this.Signal.atsAutoControl.button.operation || buttonOperation === this.Signal.humanControl.button.operation) {
|
||||
this.handelControlRoute(model);
|
||||
} else if (switchOperation.includes(buttonOperation) && list1.includes(station.controlMode)) {
|
||||
} else if (switchOperation.includes(buttonOperation)) {
|
||||
this.handelSwitchOperate(model);
|
||||
} else if ((buttonOperation === this.MixinCommand.block.button.operation || buttonOperation === this.MixinCommand.unblock.button.operation) && list1.includes(station.controlMode)) {
|
||||
} else if (buttonOperation === this.MixinCommand.block.button.operation || buttonOperation === this.MixinCommand.unblock.button.operation) {
|
||||
this.handelBlockOrUnblock(model);
|
||||
} else if (buttonOperation === this.Station.guideLock.button.operation && station.controlMode === 'Interlock') {
|
||||
} else if (buttonOperation === this.Station.guideLock.button.operation) {
|
||||
this.handelGuideLock(model);
|
||||
} else if (buttonOperation === this.Section.fault.button.operation && list1.includes(station.controlMode)) {
|
||||
} else if (buttonOperation === this.Section.fault.button.operation) {
|
||||
this.handelFaultSection(model);
|
||||
} else {
|
||||
this.clearOperate();
|
||||
this.operatemode != OperateMode.FAULT && this.$message.info('请检查操作设备或控制权');
|
||||
}
|
||||
} else {
|
||||
this.clearOperate();
|
||||
this.operatemode != OperateMode.FAULT && this.$message.info('请检查操作设备或控制权');
|
||||
}
|
||||
} else {
|
||||
this.clearOperate();
|
||||
this.operatemode != OperateMode.FAULT && this.$message.info('请先切换到站控或紧急站控');
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -1,105 +0,0 @@
|
||||
<template>
|
||||
<div>
|
||||
<pop-menu ref="popMenu" :menu="menu" />
|
||||
<station-back-strategy ref="stationBackStrategy" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PopMenu from '@/components/PopMenu';
|
||||
import StationBackStrategy from './dialog/stationBackStrategy';
|
||||
import { mapGetters } from 'vuex';
|
||||
|
||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||
|
||||
export default {
|
||||
name: 'MenuStationTurnBack',
|
||||
components: {
|
||||
PopMenu,
|
||||
StationBackStrategy
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default() {
|
||||
return null;
|
||||
}
|
||||
},
|
||||
work: {
|
||||
type: String,
|
||||
default() {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
menu: [],
|
||||
menuNormal: [
|
||||
{
|
||||
label: '设置折返策略',
|
||||
handler: this.setBackStrategy,
|
||||
cmdType: CMD.Station.CMD_STATION_SET_TURN_BACK_STRATEGY
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
]
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('training', [
|
||||
'mode',
|
||||
'operatemode'
|
||||
]),
|
||||
...mapGetters('menuOperation', [
|
||||
'buttonOperation'
|
||||
])
|
||||
},
|
||||
watch: {
|
||||
'$store.state.menuOperation.menuCount': function (val) {
|
||||
if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.StationTurnBack) && !this.buttonOperation) {
|
||||
this.doShow(this.$store.state.menuOperation.menuPosition);
|
||||
} else {
|
||||
this.doClose();
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
initMenu() {
|
||||
// 编辑模式菜单列表
|
||||
this.menu = [];
|
||||
this.menuNormal.forEach(menuItem => {
|
||||
menuItem.disabled = menuItem.isDisabled ? menuItem.isDisabled(this.selected, this.work) : false;
|
||||
menuItem.show = menuItem.isShow ? menuItem.isShow(this.selected, this.work) : true;
|
||||
this.menu.push(menuItem);
|
||||
});
|
||||
|
||||
// 故障模式菜单列表
|
||||
if (this.operatemode === OperateMode.FAULT) {
|
||||
this.menu = this.menuForce;
|
||||
}
|
||||
},
|
||||
doShow(point) {
|
||||
this.initMenu();
|
||||
if (this.menu && this.menu.length > 0) {
|
||||
this.setBackStrategy();
|
||||
}
|
||||
},
|
||||
doClose() {
|
||||
if (this.$refs && this.$refs.popMenu) {
|
||||
this.$refs.popMenu.close();
|
||||
}
|
||||
},
|
||||
// 设置折返策略
|
||||
setBackStrategy() {
|
||||
commitOperate(menuOperate.StationControl.setBackStrategy, {stationCode: this.selected.stationCode}, 0).then(({valid, operate})=>{
|
||||
if (valid) {
|
||||
this.$refs.stationBackStrategy.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
@ -299,7 +299,7 @@ export default {
|
||||
const picture = this.$store.state.map.map.pictureList.find(picture => picture.stationCodes && picture.stationCodes.includes(this.roleDeviceCode) && picture.type === 'lucency');
|
||||
if (picture) {
|
||||
this.$jlmap.updateShowStation(list, '');
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
|
||||
const deviceList = [];
|
||||
const mapDevice = this.$store.state.map.mapDevice;
|
||||
for (const deviceCode in mapDevice) {
|
||||
@ -320,7 +320,7 @@ export default {
|
||||
if (this.$store.state.map.map && this.$store.state.map.map.pictureList) {
|
||||
const picture = this.$store.state.map.map.pictureList.find(picture => picture.stationCodes && picture.stationCodes.includes(this.roleDeviceCode) && picture.type === 'chainStation');
|
||||
if (picture) {
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
|
||||
const deviceList = [];
|
||||
const mapDevice = this.$store.state.map.mapDevice;
|
||||
for (const deviceCode in mapDevice) {
|
||||
|
@ -100,7 +100,7 @@ export default {
|
||||
this.show = true
|
||||
this.$nextTick(() => {
|
||||
const picData = this.mapData.pictureList.find(pic => pic.stationCodes.includes(stationCode) && pic.type === 'regionBatchOperation')
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picData.deviceMap || {})
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picData.deviceMap)
|
||||
const list = []
|
||||
for (const deviceCode in picData.deviceMap) {
|
||||
list.push(deviceCode)
|
||||
|
@ -168,8 +168,7 @@ export default {
|
||||
routeDataMap: null, // btnCodeList 为key
|
||||
routeButtonCodeList: [], // btnCodeList 拼接code list
|
||||
guideLockRightFlag: false,
|
||||
guideLockLeftFlag: false,
|
||||
continueSectionFault: false
|
||||
guideLockLeftFlag: false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -291,7 +290,6 @@ export default {
|
||||
this.clearOperate();
|
||||
this.guideLockRightFlag = false;
|
||||
this.guideLockLeftFlag = false;
|
||||
this.continueSectionFault = false;
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
@ -332,9 +330,6 @@ export default {
|
||||
if (operate.operationPre === this.Station.powerUnLock.button.operation || operate.cmdType) {
|
||||
this.clearOperate();
|
||||
}
|
||||
if (operate.operationPre === this.Section.fault.button.operation) {
|
||||
this.continueSectionFault = true;
|
||||
}
|
||||
}
|
||||
}).catch(e =>{
|
||||
console.error(e);
|
||||
@ -422,7 +417,6 @@ export default {
|
||||
operation: operation,
|
||||
userOperationType: UserOperationType.LEFTCLICK
|
||||
};
|
||||
|
||||
// 以下 会弹出密码框 (总人解,区故解) 铅封按钮
|
||||
const operationList = [this.Signal.humanTrainRoute.button.operation,
|
||||
this.Section.fault.button.operation,
|
||||
@ -443,30 +437,12 @@ export default {
|
||||
// ];
|
||||
this.$store.dispatch('trainingNew/next', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
if (operation == this.Section.fault.button.operation) {
|
||||
this.operation = operation;
|
||||
this.commandTypeList = commandTypeList;
|
||||
this.$store.dispatch('menuOperation/setButtonOperation', operation);
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
// 判断是否需要 弹窗密码框
|
||||
if (!this.continueSectionFault) {
|
||||
operate['operateNext'] = this.Command.close.password.operation;
|
||||
if (operation === this.Station.powerUnLock.button.operation) {
|
||||
operate.nextCmdType = CMD.Station.CMD_STATION_POWER_ON_UNLOCK;
|
||||
operate.param = {stationCode: this.$store.state.training.roleDeviceCode};
|
||||
}
|
||||
this.$refs.password.doShow(operate, operationMap[operation]);
|
||||
}
|
||||
this.timeNode = this.$store.state.socket.simulationTimeSync;
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
} else if (operation === this.Command.cancel.clearMbm.operation) {
|
||||
this.continueSectionFault = false;
|
||||
if (operation === this.Command.cancel.clearMbm.operation) {
|
||||
this.commandTypeList = [];
|
||||
this.$store.dispatch('menuOperation/setButtonOperation', null);
|
||||
this.guideLockRightFlag = false;
|
||||
this.guideLockLeftFlag = false;
|
||||
} else {
|
||||
this.continueSectionFault = false;
|
||||
this.operation = operation;
|
||||
this.commandTypeList = commandTypeList;
|
||||
this.$store.dispatch('menuOperation/setButtonOperation', operation);
|
||||
@ -805,9 +781,6 @@ export default {
|
||||
if (this.selected._event !== MouseEvent.Left || (!model._type && !model._code)) {
|
||||
return;
|
||||
}
|
||||
if (this.continueSectionFault && model._type !== 'Section') {
|
||||
this.continueSectionFault = false;
|
||||
}
|
||||
const buttonOperation = this.$store.state.menuOperation.buttonOperation;
|
||||
const switchOperation = [
|
||||
this.Switch.lock.button.operation,
|
||||
|
@ -121,9 +121,6 @@ class Theme {
|
||||
loadDriverAtsWorkMenuComponent(code) {
|
||||
return Object.assign({}, require(`./components/menus/driverAtsWorMenu`).default);
|
||||
}
|
||||
loadAtsWorkMenuComponent(code) {
|
||||
return Object.assign({}, require(`./${this._mapMenu[code || this._code]}/menus/atsWorkMenu`).default);
|
||||
}
|
||||
loadCtcWorkMenuComponent(code) {
|
||||
if (code == '16') {
|
||||
return Object.assign({}, require(`./${this._mapMenu[code || this._code]}/menus/ctcWorkMenu`).default);
|
||||
|
@ -1,357 +0,0 @@
|
||||
<template>
|
||||
<div class="menus" :style="{width: width + 'px'}">
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" :work="'atsWork'" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" :work="'atsWork'" />
|
||||
<menu-section ref="menuSection" :selected="selected" :work="'atsWork'" />
|
||||
<menu-train ref="menuTrain" :selected="selected" />
|
||||
<menu-limit ref="menuLimit" :selected="selected" />
|
||||
<menu-auto-Trun-route ref="menuAutoTrunRoute" :selected="selected" :work="'atsWork'" />
|
||||
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" pop-class="foshan-01__systerm" />
|
||||
<passive-Timeout ref="passiveTimeout" />
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import MenuStationStand from './menuStationStand';
|
||||
// import MenuSwitch from './menuSwitch';
|
||||
import MenuSignal from './menuSignal';
|
||||
import MenuSection from './menuSection';
|
||||
import MenuTrain from './menuTrain';
|
||||
import MenuLimit from './menuLimit';
|
||||
import MenuAutoTrunRoute from './menuAutoTrunRoute';
|
||||
import PassiveAlarm from './passiveDialog/alarm';
|
||||
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
|
||||
import PassiveTimeout from './passiveDialog/timeout';
|
||||
export default {
|
||||
name: 'AtsWorkMenu',
|
||||
components: {
|
||||
MenuStationStand,
|
||||
// MenuSwitch,
|
||||
MenuSignal,
|
||||
MenuSection,
|
||||
MenuTrain,
|
||||
MenuLimit,
|
||||
PassiveAlarm,
|
||||
MenuAutoTrunRoute,
|
||||
PassiveContorl,
|
||||
PassiveTimeout
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
])
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('config/updateMenuBar');
|
||||
});
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style>
|
||||
.menus .pop-menu {
|
||||
background: #F0F0F0;
|
||||
}
|
||||
|
||||
.menus .pop-menu span {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.menus .pop-menu .is-disabled span {
|
||||
color: #B4B3B8;
|
||||
}
|
||||
|
||||
.foshan-01__systerm {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog {
|
||||
background: linear-gradient(to bottom, #9BB6D3, #B8D0EA);
|
||||
border: 1px solid rgba(118, 162, 198, 1);
|
||||
border-radius: 6px;
|
||||
color: #000;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-dialog__header {
|
||||
padding: 10px;
|
||||
height: 26px;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-dialog__footer {
|
||||
background: #F0F0F0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-dialog__body {
|
||||
padding: 10px;
|
||||
margin: 2px;
|
||||
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
|
||||
background: #F0F0F0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-dialog__title {
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
color: #000;
|
||||
border-radius: 4px;
|
||||
padding: 0px 2px;
|
||||
height: 20px;
|
||||
line-height: 15px;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-dialog__title::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
filter: blur(7px);
|
||||
height: 20px;
|
||||
width: -webkit-fill-available;
|
||||
background: rgba(190, 190, 190, 0.8);
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-dialog__headerbtn {
|
||||
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
|
||||
border: 1px solid #fff;
|
||||
border-radius: 4px;
|
||||
top: 5px;
|
||||
right: 5px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.foshan-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;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .expand {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-button:focus span {
|
||||
border: 1px dashed gray;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-button:active {
|
||||
border: 2px inset #E2E2E2;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-button:disabled {
|
||||
border: 2px inset #E2E2E2;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-button:disabled span {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-input {
|
||||
border: 2px inset #E9E9E9;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-input .el-input__inner {
|
||||
color: #000;
|
||||
background: #fff !important;
|
||||
border: 0px;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-input.is-disabled .el-input__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-textarea {
|
||||
border: 2px inset #E9E9E9;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-textarea .el-textarea__inner {
|
||||
color: #000;
|
||||
background: #fff !important;
|
||||
border: 0px;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-table--border th.gutter {
|
||||
background: #EBEADB !important;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-table {
|
||||
border: 2px inset #E9E9E9;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-table .cell {
|
||||
line-height: unset !important;
|
||||
}
|
||||
|
||||
.foshan-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;
|
||||
}
|
||||
|
||||
.foshan-01__systerm.stand-detain-train .el-dialog .el-table th.is-leaf {
|
||||
background: #fff !important;
|
||||
border-right: 1px solid #fff !important;
|
||||
border-bottom: 1px solid #EBEEF5 !important;
|
||||
color: #000 !important;
|
||||
height: 20px !important;
|
||||
padding: 0px;
|
||||
}
|
||||
.foshan-01__systerm.stand-detain-train .el-dialog .el-table th.el-table-column--selection{
|
||||
border-right: 1px solid #e2e2e2 !important;
|
||||
}
|
||||
.foshan-01__systerm.stand-detain-train .el-dialog .el-table .el-table__body-wrapper .el-table__row .el-table-column--selection {
|
||||
border-right: 1px solid #e2e2e2 !important;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-table tr td {
|
||||
height: 20px !important;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-table .el-table__empty-text {
|
||||
top: 15px !important;
|
||||
line-height: normal;
|
||||
max-width:60%;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .current-row>td {
|
||||
background: #3399FF !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-checkbox__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-checkbox__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.foshan-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;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-radio__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-radio__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.foshan-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%;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .base-label {
|
||||
background: #F0F0F0;
|
||||
padding: 0 5px;
|
||||
position: relative;
|
||||
left: -15px;
|
||||
top: -18px;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .el-form-item label {
|
||||
font-weight: normal !important;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .context {
|
||||
height: 100px;
|
||||
border: 2px inset #E2E2E2;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .table {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .notice {
|
||||
margin-left: 62px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.foshan-01__systerm .el-dialog .button-group {
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
@ -65,21 +65,21 @@ export default {
|
||||
handler: this.active,
|
||||
cmdType: CMD.Section.CMD_SECTION_ACTIVE,
|
||||
isDisabled: sectionDevice => sectionDevice.cutOff !== 1,
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
isShow: (signal, work) => true
|
||||
},
|
||||
{
|
||||
label: '区段切除',
|
||||
handler: this.split,
|
||||
cmdType: CMD.Section.CMD_SECTION_CUT_OFF,
|
||||
isDisabled: sectionDevice => sectionDevice.cutOff === 1,
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
isShow: (signal, work) => true
|
||||
},
|
||||
{
|
||||
label: '设置临时限速',
|
||||
handler: this.setSpeed,
|
||||
cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED,
|
||||
isDisabled: (sectionDevice, work) => false,
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
isShow: (signal, work) => true
|
||||
|
||||
},
|
||||
{
|
||||
|
@ -68,7 +68,7 @@ export default {
|
||||
handler: this.arrangementRoute,
|
||||
cmdType:CMD.Signal.CMD_SIGNAL_SET_ROUTE,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
isShow: (signal, work) => true
|
||||
},
|
||||
{
|
||||
label: '进路取消',
|
||||
@ -82,7 +82,7 @@ export default {
|
||||
handler: this.reopenSignal,
|
||||
isDisabled: (signal, work) => false,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL,
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
isShow: (signal, work) => true
|
||||
},
|
||||
{
|
||||
label: '进路引导',
|
||||
@ -96,14 +96,14 @@ export default {
|
||||
handler: this.humanControl,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
isShow: (signal, work) => true
|
||||
},
|
||||
{
|
||||
label: '进路交自动控',
|
||||
handler: this.atsAutoControl,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
isShow: (signal, work) => true
|
||||
},
|
||||
{
|
||||
label: '设置联锁自动进路',
|
||||
@ -138,7 +138,7 @@ export default {
|
||||
handler: this.detail,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
isShow: (signal, work) => true
|
||||
}
|
||||
// Local: [
|
||||
// // {
|
||||
|
@ -97,7 +97,7 @@ export default {
|
||||
isDisabled: (stand, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (stand, work) => { return work !== 'atsWork'; }
|
||||
isShow: (stand, work) => { return true; }
|
||||
},
|
||||
{
|
||||
label: '强制取消扣车',
|
||||
@ -153,7 +153,7 @@ export default {
|
||||
handler: this.detail,
|
||||
cmdType:CMD.Stand.CMD_STAND_VIEW_STATUS,
|
||||
isDisabled: (stand, work) => false,
|
||||
isShow: (stand, work) => work !== 'atsWork'
|
||||
isShow: (stand, work) => true
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -1,352 +0,0 @@
|
||||
<template>
|
||||
<div class="menus" :style="{width: width + 'px'}">
|
||||
<menu-deplot-button ref="menuDeplotButton" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" :work="'atsWork'" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" :work="'atsWork'" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" :work="'atsWork'" />
|
||||
<menu-section ref="menuSection" :selected="selected" :work="'atsWork'" />
|
||||
<menu-train ref="menuTrain" :selected="selected" :work="'atsWork'" />
|
||||
<menu-station ref="menuStation" :selected="selected" :work="'atsWork'" />
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" pop-class="fuzhou-01__systerm" />
|
||||
<passive-Timeout ref="passiveTimeout" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import MenuDeplotButton from './menuDeplotButton';
|
||||
import MenuSignal from './menuSignal';
|
||||
import MenuStationStand from './menuStationStand';
|
||||
import MenuSwitch from './menuSwitch';
|
||||
import MenuSection from './menuSection';
|
||||
import MenuTrain from './menuTrain';
|
||||
import MenuStation from './menuStation';
|
||||
import PassiveAlarm from './passiveDialog/alarm';
|
||||
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
|
||||
import PassiveTimeout from './passiveDialog/timeout';
|
||||
|
||||
export default {
|
||||
name: 'DispatchWorkMenu',
|
||||
components: {
|
||||
MenuDeplotButton,
|
||||
MenuSignal,
|
||||
MenuSwitch,
|
||||
MenuSection,
|
||||
MenuStationStand,
|
||||
MenuStation,
|
||||
MenuTrain,
|
||||
PassiveAlarm,
|
||||
PassiveContorl,
|
||||
PassiveTimeout
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default() {
|
||||
return {};
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
])
|
||||
},
|
||||
watch: {},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('config/updateMenuBar');
|
||||
const _that = this;
|
||||
window.onclick = function (e) {
|
||||
if (!_that.$store.state.training.trainingStart) {
|
||||
_that.$refs.menuBar && _that.$refs.menuBar.blankClickClose();
|
||||
}
|
||||
_that.$refs.menuStationStand.doClose();
|
||||
_that.$refs.menuSwitch.doClose();
|
||||
_that.$refs.menuSignal.doClose();
|
||||
_that.$refs.menuSection.doClose();
|
||||
_that.$refs.menuTrain.doClose();
|
||||
_that.$refs.menuStation.doClose();
|
||||
};
|
||||
});
|
||||
},
|
||||
beforeDestroy() {
|
||||
window.onclick = function (e) {};
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.menus .pop-menu {
|
||||
background: #F0F0F0;
|
||||
}
|
||||
|
||||
.menus .pop-menu span {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.menus .pop-menu .is-disabled span {
|
||||
color: #B4B3B8;
|
||||
}
|
||||
|
||||
.fuzhou-01__systerm {
|
||||
overflow: hidden !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;
|
||||
}
|
||||
|
||||
.fuzhou-01__systerm .el-dialog .el-dialog__header {
|
||||
padding: 5px;
|
||||
height: 26px;
|
||||
}
|
||||
|
||||
.fuzhou-01__systerm .el-dialog .el-dialog__footer {
|
||||
background: #F0F0F0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
.fuzhou-01__systerm .el-dialog .button-group {
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
@ -63,28 +63,28 @@ export default {
|
||||
handler: this.fault,
|
||||
cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK,
|
||||
isDisabled: (section, work) => false,
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuSection.sectionResection'),
|
||||
handler: this.split,
|
||||
cmdType: CMD.Section.CMD_SECTION_CUT_OFF,
|
||||
isDisabled: (section, work) => section.cutOff === 1,
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuSection.sectionActive'),
|
||||
handler: this.active,
|
||||
cmdType: CMD.Section.CMD_SECTION_ACTIVE,
|
||||
isDisabled: (section, work) => section.cutOff !== 1,
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
|
||||
},
|
||||
{
|
||||
label: '计轴预复位',
|
||||
handler: this.axlePreReset,
|
||||
cmdType: CMD.Section.CMD_SECTION_AXIS_PRE_RESET,
|
||||
isDisabled: (section, work) => false,
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuSection.sectionBlockade'),
|
||||
@ -92,28 +92,28 @@ export default {
|
||||
cmdType: CMD.Section.CMD_SECTION_BLOCK,
|
||||
// isDisabled: section => section.blockade === 1,
|
||||
isDisabled: (section, work) => section.blockade === 1,
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuSection.sectionUnblock'),
|
||||
handler: this.unlock,
|
||||
cmdType: CMD.Section.CMD_SECTION_UNBLOCK,
|
||||
isDisabled: (section, work) => section.blockade !== 1,
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
|
||||
},
|
||||
{
|
||||
label: '设置限速',
|
||||
handler: this.setSpeed,
|
||||
cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED,
|
||||
isDisabled: (section, work) => section.speedUpLimit > 0,
|
||||
isShow: (section, work) => section.type === '02' && work !== 'atsWork'
|
||||
isShow: (section, work) => section.type === '02'
|
||||
},
|
||||
{
|
||||
label: '取消限速',
|
||||
handler: this.cancelSpeed,
|
||||
cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED,
|
||||
isDisabled: (section, work) => section.speedUpLimit <= 0,
|
||||
isShow: (section, work) => section.type === '02' && work !== 'atsWork'
|
||||
isShow: (section, work) => section.type === '02'
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -67,42 +67,42 @@ export default {
|
||||
handler: this.arrangementRoute,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
isShow: (signal, work) => true
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuSignal.routeCancel'),
|
||||
handler: this.cancelTrainRoute,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
isShow: (signal, work) => true
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuSignal.signalBlock'),
|
||||
handler: this.lock,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_BLOCK,
|
||||
isDisabled: (signal, work) => signal.blockade === 1,
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
isShow: (signal, work) => true
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuSignal.signalDeblock'),
|
||||
handler: this.unlock,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK,
|
||||
isDisabled: (signal, work) => signal.blockade !== 1,
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
isShow: (signal, work) => true
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuSignal.signalReopen'),
|
||||
handler: this.reopenSignal,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
isShow: (signal, work) => true
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuSignal.signalOff'),
|
||||
handler: this.signalClose,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
isShow: (signal, work) => true
|
||||
},
|
||||
{
|
||||
label: '进路引导',
|
||||
@ -165,7 +165,7 @@ export default {
|
||||
handler: this.detail,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
isShow: (signal, work) => true
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -95,21 +95,21 @@ export default {
|
||||
handler: this.cancelDetainTrainForce,
|
||||
cmdType:CMD.Stand.CMD_STAND_FORCE_CANCEL_HOLD_TRAIN,
|
||||
isDisabled: (stand, work) => false,
|
||||
isShow: (stand, work) => work !== 'atsWork'
|
||||
isShow: (stand, work) => true
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuStationStand.jumpStop'),
|
||||
handler: this.setJumpStop,
|
||||
cmdType:CMD.Stand.CMD_STAND_SET_JUMP_STOP,
|
||||
isDisabled: (stand, work) => stand.allSkip !== 0,
|
||||
isShow: (stand, work) => work !== 'atsWork'
|
||||
isShow: (stand, work) => true
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuStationStand.cancelJumpStop'),
|
||||
handler: this.cancelJumpStop,
|
||||
cmdType:CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP,
|
||||
isDisabled: (stand, work) => stand.allSkip !== 1 && stand.assignSkip !== 1,
|
||||
isShow: (stand, work) => work !== 'atsWork'
|
||||
isShow: (stand, work) => true
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuStationStand.setStopTime'),
|
||||
@ -144,7 +144,7 @@ export default {
|
||||
handler: this.detail,
|
||||
cmdType:CMD.Stand.CMD_STAND_VIEW_STATUS,
|
||||
isDisabled: (stand, work) => false,
|
||||
isShow: (stand, work) => work !== 'atsWork'
|
||||
isShow: (stand, work) => true
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -59,77 +59,77 @@ export default {
|
||||
handler: this.lock,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK,
|
||||
isDisabled: (switchDevice, work) => switchDevice.singleLock === 1,
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
isShow: (switchDevice, work) => true
|
||||
},
|
||||
{
|
||||
label: '道岔单解',
|
||||
handler: this.unlock,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK,
|
||||
isDisabled: (switchDevice, work) => switchDevice.singleLock !== 1,
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
isShow: (switchDevice, work) => true
|
||||
},
|
||||
{
|
||||
label: '道岔封锁',
|
||||
handler: this.block,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_BLOCK,
|
||||
isDisabled: (switchDevice, work) => switchDevice.blockade === 1,
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
isShow: (switchDevice, work) => true
|
||||
},
|
||||
{
|
||||
label: '道岔解封',
|
||||
handler: this.unblock,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK,
|
||||
isDisabled: (switchDevice, work) => switchDevice.blockade !== 1,
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
isShow: (switchDevice, work) => true
|
||||
},
|
||||
{
|
||||
label: '道岔转动',
|
||||
handler: this.switchTurnout,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_TURN,
|
||||
isDisabled: (switchDevice, work) => false,
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
isShow: (switchDevice, work) => true
|
||||
},
|
||||
{
|
||||
label: '故障解锁',
|
||||
handler: this.fault,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_FAULT_UNLOCK,
|
||||
isDisabled: (switchDevice, work) => false,
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
isShow: (switchDevice, work) => true
|
||||
},
|
||||
{
|
||||
label: '计轴预复位',
|
||||
handler: this.axlePreReset,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_AXLE_PRE_RESET,
|
||||
isDisabled: (switchDevice, work) => false,
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
isShow: (switchDevice, work) => true
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuSwitch.sectionResection'),
|
||||
handler: this.split,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_CUT_OFF,
|
||||
isDisabled: (switchDevice, work) => false,
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
isShow: (switchDevice, work) => true
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuSwitch.sectionActive'),
|
||||
handler: this.active,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_ACTIVE,
|
||||
isDisabled: (switchDevice, work) => false,
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
isShow: (switchDevice, work) => true
|
||||
},
|
||||
{
|
||||
label: '设置限速',
|
||||
handler: this.setSpeed,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED,
|
||||
isDisabled: (switchDevice, work) => false,
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
isShow: (switchDevice, work) => true
|
||||
},
|
||||
{
|
||||
label: '取消限速',
|
||||
handler: this.cancelSpeed,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_CANCEL_LIMIT_SPEED,
|
||||
isDisabled: (switchDevice, work) => false,
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
isShow: (switchDevice, work) => true
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -1,366 +0,0 @@
|
||||
<template>
|
||||
<div class="menus" :style="{width: width + 'px', height: '100%'}">
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" work="atsWork" />
|
||||
<menu-train ref="menuTrain" :selected="selected" work="atsWork" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" work="atsWork" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" work="atsWork" />
|
||||
<menu-section ref="menuSection" :selected="selected" work="atsWork" />
|
||||
<menu-station ref="menuStation" :selected="selected" work="atsWork" />
|
||||
<menu-button ref="menuButton" :selected="selected" work="atsWork" />
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" pop-class="haerbin-01__systerm" />
|
||||
<passive-Timeout ref="passiveTimeout" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import MenuTrain from './menuTrain';
|
||||
import MenuButton from './menuButton';
|
||||
import MenuSignal from './menuSignal';
|
||||
import MenuSwitch from './menuSwitch';
|
||||
import MenuSection from './menuSection';
|
||||
import MenuStation from './menuStation';
|
||||
import MenuStationStand from './menuStationStand';
|
||||
import PassiveAlarm from './passiveDialog/alarm';
|
||||
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
|
||||
import PassiveTimeout from './passiveDialog/timeout';
|
||||
|
||||
export default {
|
||||
name: 'Menus',
|
||||
components: {
|
||||
MenuButton,
|
||||
MenuTrain,
|
||||
MenuSignal,
|
||||
MenuSwitch,
|
||||
MenuSection,
|
||||
MenuStation,
|
||||
MenuStationStand,
|
||||
PassiveAlarm,
|
||||
PassiveContorl,
|
||||
PassiveTimeout
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
])
|
||||
},
|
||||
watch: {
|
||||
isShowBar(val) {
|
||||
val && this.$store.dispatch('config/updateMenuBar');
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('config/updateMenuBar');
|
||||
});
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.menus {
|
||||
height: 100%;
|
||||
}
|
||||
.menus .pop-menu {
|
||||
background: #F0F0F0;
|
||||
}
|
||||
|
||||
.menus .pop-menu span {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.menus .pop-menu .is-disabled span {
|
||||
color: #B4B3B8;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
.haerbin-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;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-dialog__header {
|
||||
padding: 5px;
|
||||
height: 26px;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-dialog__footer {
|
||||
background: #F0F0F0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.haerbin-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;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-dialog__title {
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
color: #000;
|
||||
border-radius: 4px;
|
||||
padding: 0px 2px;
|
||||
height: 20px;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
.haerbin-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;
|
||||
}
|
||||
|
||||
.haerbin-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;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.haerbin-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;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-button:focus span {
|
||||
border: 1px dashed gray;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-button:active {
|
||||
border: 2px inset #E2E2E2;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-button:disabled {
|
||||
border: 2px inset #E2E2E2;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-button:disabled span {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-input {
|
||||
border: 2px inset #E9E9E9;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-input .el-input__inner {
|
||||
color: #000;
|
||||
background: #fff !important;
|
||||
border: 0px;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-input.is-disabled .el-input__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-textarea {
|
||||
border: 2px inset #E9E9E9;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-textarea .el-textarea__inner {
|
||||
color: #000;
|
||||
background: #fff !important;
|
||||
border: 0px;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-table {
|
||||
border: 2px inset #E9E9E9;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-table .cell {
|
||||
line-height: unset !important;
|
||||
}
|
||||
|
||||
.haerbin-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;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-table tr td {
|
||||
height: 20px !important;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-table .el-table__empty-text {
|
||||
top: 15px !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .current-row>td {
|
||||
background: #3399FF !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-checkbox__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-checkbox__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.haerbin-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;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-radio__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-radio__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.haerbin-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%;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .base-label {
|
||||
background: rgba(0, 0, 0, x);
|
||||
position: relative;
|
||||
left: -15px;
|
||||
top: -18px;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-form-item label {
|
||||
font-weight: normal !important;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .context {
|
||||
height: 100px;
|
||||
border: 2px inset #E2E2E2;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .table {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .notice {
|
||||
margin-left: 62px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .button-group {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.haerbin-01__systerm .nav-border .el-button {
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
padding: 0px;
|
||||
width: 80px;
|
||||
border: 1px solid #1F313F;
|
||||
font-size: 12px;
|
||||
border-radius: 5px !important;
|
||||
color: #000;
|
||||
background: #FFFFFF;
|
||||
}
|
||||
.haerbin-01__systerm .nav-border-other .el-button {
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
padding: 0px;
|
||||
width: 80px;
|
||||
border: 1px solid #1F313F;
|
||||
font-size: 12px;
|
||||
border-radius: 5px !important;
|
||||
}
|
||||
</style>
|
@ -1,434 +0,0 @@
|
||||
<template>
|
||||
<div class="menus" :style="{width: width + 'px', height: '100%'}">
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
||||
<menu-section ref="menuSection" :selected="selected" />
|
||||
<menu-station ref="menuStation" :selected="selected" />
|
||||
<menu-button ref="menuButton" :selected="selected" />
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-control ref="passiveControl" pop-class="haerbin-01__systerm" />
|
||||
<passive-timeout ref="passiveTimeout" />
|
||||
<pop-menu ref="popMenu" :menu="menu" />
|
||||
<set-fault ref="setFault" pop-class="nanjing-02__systerm" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import PopMenu from '@/components/PopMenu';
|
||||
import MenuSignal from './menuSignal';
|
||||
import MenuSwitch from './menuSwitch';
|
||||
import MenuSection from './menuSection';
|
||||
import MenuStation from './menuStation';
|
||||
import MenuStationStand from './menuStationStand';
|
||||
import PassiveAlarm from './passiveDialog/alarm';
|
||||
import PassiveControl from '@/jmapNew/theme/components/menus/passiveDialog/control';
|
||||
import PassiveTimeout from './passiveDialog/timeout';
|
||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
||||
import { menuOperate, commitOperate } from '@/jmapNew/theme/components/utils/menuOperate';
|
||||
|
||||
export default {
|
||||
name: 'Menus',
|
||||
components: {
|
||||
MenuSignal,
|
||||
MenuSwitch,
|
||||
MenuSection,
|
||||
MenuStation,
|
||||
MenuStationStand,
|
||||
PassiveAlarm,
|
||||
PassiveControl,
|
||||
PassiveTimeout,
|
||||
PopMenu,
|
||||
SetFault
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loginActive: false,
|
||||
inputStr: '',
|
||||
menu: [
|
||||
{
|
||||
label: '设置故障',
|
||||
handler: this.setStoppage,
|
||||
cmdType: CMD.Fault.CMD_SET_FAULT
|
||||
},
|
||||
{
|
||||
label: '取消故障',
|
||||
handler: this.cancelStoppage,
|
||||
cmdType: CMD.Fault.CMD_CANCEL_FAULT
|
||||
},
|
||||
{
|
||||
label: 'ATP重启',
|
||||
handler: this.atpRestart,
|
||||
cmdType: CMD.Fault.CMD_SET_FAULT
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
]),
|
||||
...mapGetters('menuOperation', [
|
||||
'buttonOperation'
|
||||
]),
|
||||
...mapGetters('training', [
|
||||
'operatemode'
|
||||
])
|
||||
},
|
||||
watch: {
|
||||
'$store.state.menuOperation.menuCount': function (val) {
|
||||
if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Cancel) && !this.buttonOperation && this.operatemode === OperateMode.FAULT) {
|
||||
this.doShow(this.$store.state.menuOperation.menuPosition);
|
||||
} else {
|
||||
this.doClose();
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
clickEvent() {
|
||||
const self = this;
|
||||
window.onclick = function (e) {
|
||||
self.doClose();
|
||||
};
|
||||
},
|
||||
doShow(point) {
|
||||
this.clickEvent();
|
||||
if (this.$refs && this.$refs.popMenu && this.menu && this.menu.length) {
|
||||
this.$refs.popMenu.resetShowPosition(point);
|
||||
}
|
||||
},
|
||||
// 设置故障
|
||||
setStoppage() {
|
||||
commitOperate(menuOperate.Common.setFault, { code: 'Server' }, 0).then(({valid, operate})=>{
|
||||
if (valid) {
|
||||
this.$refs.setFault.doShow(menuOperate.Common.setFault, { _type: 'Server' });
|
||||
}
|
||||
});
|
||||
},
|
||||
// 取消故障
|
||||
cancelStoppage() {
|
||||
commitOperate(menuOperate.Common.cancelFault, { code: 'Server' }, 0).then(({valid, operate})=>{
|
||||
if (valid) {
|
||||
this.$refs.setFault.doShow(menuOperate.Common.cancelFault, { _type: 'Server' });
|
||||
}
|
||||
});
|
||||
},
|
||||
atpRestart() {
|
||||
const step = {
|
||||
over: true,
|
||||
operation: menuOperate.Server.atpRestart.operation,
|
||||
cmdType: menuOperate.Server.atpRestart.cmdType
|
||||
};
|
||||
this.$store.dispatch('trainingNew/next', step).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.doClose();
|
||||
}
|
||||
}).catch((error) => {
|
||||
this.doClose();
|
||||
this.$messageBox(error.message || 'ATP重启失败!');
|
||||
});
|
||||
},
|
||||
doClose() {
|
||||
if (this.$refs && this.$refs.popMenu) {
|
||||
this.$refs.popMenu.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.menus .pop-menu {
|
||||
background: #F0F0F0;
|
||||
}
|
||||
|
||||
.menus .pop-menu span {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.menus .pop-menu .is-disabled span {
|
||||
color: #B4B3B8;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
.haerbin-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;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-dialog__header {
|
||||
padding: 5px;
|
||||
height: 26px;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-dialog__footer {
|
||||
background: #F0F0F0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.haerbin-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;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-dialog__title {
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
color: #000;
|
||||
border-radius: 4px;
|
||||
padding: 0px 2px;
|
||||
height: 20px;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
.haerbin-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;
|
||||
}
|
||||
|
||||
.haerbin-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;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-button {
|
||||
padding: 0px;
|
||||
width: 80px;
|
||||
border: 2px outset #E2E2E2;
|
||||
border-radius: 0px !important;
|
||||
color: #000;
|
||||
background: #F0F0F0;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-button:focus span {
|
||||
border: 1px dashed gray;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-button:active {
|
||||
border: 2px inset #E2E2E2;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-button:disabled {
|
||||
border: 2px inset #E2E2E2;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-button:disabled span {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-input {
|
||||
border: 2px inset #E9E9E9;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-input .el-input__inner {
|
||||
color: #000;
|
||||
background: #fff !important;
|
||||
border: 0px;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-input.is-disabled .el-input__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-textarea {
|
||||
border: 2px inset #E9E9E9;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-textarea .el-textarea__inner {
|
||||
color: #000;
|
||||
background: #fff !important;
|
||||
border: 0px;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-table {
|
||||
border: 2px inset #E9E9E9;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-table .cell {
|
||||
line-height: unset !important;
|
||||
}
|
||||
|
||||
.haerbin-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;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-table tr td {
|
||||
height: 20px !important;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-table .el-table__empty-text {
|
||||
top: 15px !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .current-row>td {
|
||||
background: #3399FF !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-checkbox__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-checkbox__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.haerbin-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;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-radio__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-radio__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.haerbin-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%;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .base-label {
|
||||
background: rgba(0, 0, 0, x);
|
||||
position: relative;
|
||||
left: -15px;
|
||||
top: -18px;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .el-form-item label {
|
||||
font-weight: normal !important;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .context {
|
||||
height: 100px;
|
||||
border: 2px inset #E2E2E2;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .table {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .notice {
|
||||
margin-left: 62px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.haerbin-01__systerm .el-dialog .button-group {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.haerbin-01__systerm .el-button {
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
padding: 0px;
|
||||
width: 80px;
|
||||
border: 1px solid #1F313F;
|
||||
font-size: 12px;
|
||||
border-radius: 1px !important;
|
||||
color: #000;
|
||||
}
|
||||
</style>
|
@ -1,435 +0,0 @@
|
||||
<template>
|
||||
<div class="menus" :style="{width: width + 'px'}">
|
||||
<menu-axle-reset ref="menuAxleReset" :selected="selected" :work="work" />
|
||||
<menu-auto-trun-route ref="menuAutoTrunRoute" :selected="selected" :work="work" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" :work="work" />
|
||||
<menu-station-control ref="menuStationControl" :selected="selected" :work="work" />
|
||||
<menu-station-turn-back ref="menuStationTurnBack" :selected="selected" :work="work" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" :work="work" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" :work="work" />
|
||||
<menu-section ref="menuSection" :selected="selected" :work="work" />
|
||||
<menu-train ref="menuTrain" :selected="selected" :work="work" />
|
||||
<menu-station ref="menuStation" :selected="selected" :work="work" />
|
||||
<menu-limit ref="menuLimit" :selected="selected" :work="work" />
|
||||
<menu-station-light ref="menuStationLight" :selected="selected" :work="work" />
|
||||
<menu-station-pre-reset ref="menuStationPreReset" :selected="selected" :work="work" />
|
||||
<!--<passive-alarm ref="passiveAlarm" />-->
|
||||
<passive-contorl ref="passiveControl" pop-class="ningbo-01__systerm" :selected="selected" />
|
||||
<alarm-detail ref="alarmDetail" />
|
||||
<!--<passive-Timeout ref="passiveTimeout" />-->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import MenuSignal from './menuSignal';
|
||||
import MenuAxleReset from './menuAxleReset';
|
||||
import MenuAutoTrunRoute from './menuAutoTrunRoute';
|
||||
import MenuStationStand from './menuStationStand';
|
||||
import MenuStationControl from './menuStationControl';
|
||||
import MenuSwitch from './menuSwitch';
|
||||
import MenuSection from './menuSection';
|
||||
import MenuTrain from './menuTrain';
|
||||
import MenuStation from './menuStation';
|
||||
import MenuLimit from './menuLimit';
|
||||
import MenuStationTurnBack from './menuStationTurnBack';
|
||||
import MenuStationLight from './menuStationLight';
|
||||
import MenuStationPreReset from './menuStationPreReset';
|
||||
// import PassiveAlarm from './passiveDialog/alarm';
|
||||
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
|
||||
// import PassiveTimeout from './passiveDialog/timeout';
|
||||
import AlarmDetail from './alarmDetail';
|
||||
|
||||
export default {
|
||||
name: 'AtsWorkMenu',
|
||||
components: {
|
||||
MenuAxleReset,
|
||||
MenuAutoTrunRoute,
|
||||
MenuSignal,
|
||||
MenuSwitch,
|
||||
MenuSection,
|
||||
MenuStationStand,
|
||||
MenuStationControl,
|
||||
MenuStation,
|
||||
MenuTrain,
|
||||
MenuStationTurnBack,
|
||||
MenuLimit,
|
||||
// PassiveAlarm,
|
||||
PassiveContorl,
|
||||
MenuStationLight,
|
||||
MenuStationPreReset,
|
||||
AlarmDetail
|
||||
// PassiveTimeout
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
work: 'atsWork'
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
])
|
||||
},
|
||||
watch: {
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('config/updateMenuBar');
|
||||
const _that = this;
|
||||
window.onclick = function (e) {
|
||||
if (!_that.$store.state.training.trainingStart) {
|
||||
_that.$refs.menuBar && _that.$refs.menuBar.blankClickClose();
|
||||
}
|
||||
_that.$refs.menuAxleReset.doClose();
|
||||
_that.$refs.menuAutoTrunRoute.doClose();
|
||||
_that.$refs.menuStationStand.doClose();
|
||||
_that.$refs.menuStationControl.doClose();
|
||||
_that.$refs.menuStationTurnBack.doClose();
|
||||
_that.$refs.menuSwitch.doClose();
|
||||
_that.$refs.menuSignal.doClose();
|
||||
_that.$refs.menuSection.doClose();
|
||||
_that.$refs.menuTrain.doClose();
|
||||
_that.$refs.menuStation.doClose();
|
||||
_that.$refs.menuLimit.doClose();
|
||||
_that.$refs.menuStationLight.doClose();
|
||||
_that.$refs.menuStationPreReset.doClose();
|
||||
};
|
||||
});
|
||||
|
||||
this.$root.$on('dialogOpen', e => {
|
||||
if (this.selected == e &&
|
||||
this.selected &&
|
||||
this.selected.instance &&
|
||||
this.selected.instance.mouseEvent) {
|
||||
this.selected.instance.__over = true;
|
||||
this.selected.instance.mouseEvent.mouseover();
|
||||
}
|
||||
});
|
||||
|
||||
this.$root.$on('dialogClose', e => {
|
||||
if (this.selected == e &&
|
||||
this.selected &&
|
||||
this.selected.instance &&
|
||||
this.selected.instance.mouseEvent) {
|
||||
this.selected.instance.__over = false;
|
||||
this.selected.instance.__down = false;
|
||||
this.selected.instance.mouseEvent.mouseout();
|
||||
this.$jlmap.clearEvent();
|
||||
}
|
||||
});
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.$root.$off('dialogOpen');
|
||||
this.$root.$off('dialogClose');
|
||||
window.onclick = function (e) {};
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.menus{
|
||||
height:0px;
|
||||
}
|
||||
.menus .pop-menu {
|
||||
background: #F0F0F0;
|
||||
}
|
||||
|
||||
.menus .pop-menu span {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.menus .pop-menu .is-disabled span {
|
||||
color: #B4B3B8;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog {
|
||||
background: rgba(100, 100, 100, 0.3);
|
||||
border: 2px solid rgba(144, 144, 144, 0.8);
|
||||
border-radius: 6px;
|
||||
color: #000;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-dialog__header {
|
||||
padding: 10px;
|
||||
height: 26px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-dialog__footer {
|
||||
background: #F0F0F0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-dialog__body {
|
||||
padding: 10px;
|
||||
margin: 5px;
|
||||
border: 2px solid rgba(120, 121, 123, 0.5);
|
||||
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
|
||||
background: #F0F0F0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-dialog__title {
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
color: #000;
|
||||
border-radius: 4px;
|
||||
padding: 0px 2px;
|
||||
height: 20px;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-dialog__title::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
filter: blur(7px);
|
||||
height: 20px;
|
||||
width: -webkit-fill-available;
|
||||
background: rgba(190, 190, 190, 0.8);
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-dialog__headerbtn {
|
||||
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
|
||||
border: 1px solid #fff;
|
||||
border-radius: 4px;
|
||||
top: 5px;
|
||||
right: 5px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.ningbo-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;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .expand {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-button:focus span {
|
||||
border: 1px dashed gray;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-button:active {
|
||||
border: 2px inset #E2E2E2;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-button:disabled {
|
||||
border: 2px inset #E2E2E2;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-button:disabled span {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-input {
|
||||
border: 2px inset #E9E9E9;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-input .el-input__inner {
|
||||
color: #000;
|
||||
background: #fff !important;
|
||||
border: 0px;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-input.is-disabled .el-input__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-textarea {
|
||||
border: 2px inset #E9E9E9;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-textarea .el-textarea__inner {
|
||||
color: #000;
|
||||
background: #fff !important;
|
||||
border: 0px;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-table--border th.gutter {
|
||||
background: #EBEADB !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-table {
|
||||
border: 2px inset #E9E9E9;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-table .cell {
|
||||
line-height: unset !important;
|
||||
}
|
||||
|
||||
.ningbo-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;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm.stand-detain-train .el-dialog .el-table th.is-leaf {
|
||||
background: #fff !important;
|
||||
border-right: 1px solid #fff !important;
|
||||
border-bottom: 1px solid #EBEEF5 !important;
|
||||
color: #000 !important;
|
||||
height: 20px !important;
|
||||
padding: 0px;
|
||||
}
|
||||
.ningbo-01__systerm.stand-detain-train .el-dialog .el-table th.el-table-column--selection{
|
||||
border-right: 1px solid #e2e2e2 !important;
|
||||
}
|
||||
.ningbo-01__systerm.stand-detain-train .el-dialog .el-table .el-table__body-wrapper .el-table__row .el-table-column--selection {
|
||||
border-right: 1px solid #e2e2e2 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-table tr td {
|
||||
height: 20px !important;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-table .el-table__empty-text {
|
||||
top: 15px !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .current-row>td {
|
||||
background: #3399FF !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-checkbox__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-checkbox__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.ningbo-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;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-radio__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-radio__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.ningbo-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%;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .base-label {
|
||||
background: #F0F0F0;
|
||||
padding: 0 5px;
|
||||
position: relative;
|
||||
left: -15px;
|
||||
top: -18px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-form-item label {
|
||||
font-weight: normal !important;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .context {
|
||||
height: 100px;
|
||||
border: 2px inset #E2E2E2;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .table {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .notice {
|
||||
margin-left: 62px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .button-group {
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
@ -100,7 +100,7 @@ export default {
|
||||
isDisabled: (section, work) => {
|
||||
return section.cutOff !== 1;
|
||||
},
|
||||
isShow: (section, work) => ['01', '02'].includes(section.type) && work !== 'atsWork'
|
||||
isShow: (section, work) => ['01', '02'].includes(section.type)
|
||||
},
|
||||
{
|
||||
label: '区段跟踪切除',
|
||||
@ -109,7 +109,7 @@ export default {
|
||||
isDisabled: (section, work) => {
|
||||
return section.cutOff === 1;
|
||||
},
|
||||
isShow: (section, work) => ['01', '02'].includes(section.type) && work !== 'atsWork'
|
||||
isShow: (section, work) => ['01', '02'].includes(section.type)
|
||||
},
|
||||
{
|
||||
label: '确认计轴有效',
|
||||
|
@ -69,20 +69,17 @@ export default {
|
||||
{
|
||||
label: '排列进路',
|
||||
handler: this.arrangementRoute,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
||||
},
|
||||
{
|
||||
label: '取消列车进路',
|
||||
handler: this.cancelTrainRoute,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
|
||||
},
|
||||
{
|
||||
label: '人解列车进路', // 信号机引导取消
|
||||
handler: this.humanTrainRoute,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE
|
||||
},
|
||||
{
|
||||
type: 'separator',
|
||||
@ -94,8 +91,7 @@ export default {
|
||||
isDisabled: (signal, work) => {
|
||||
return signal.fleetMode === 1;
|
||||
},
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
|
||||
},
|
||||
{
|
||||
label: '取消自动通过进路',
|
||||
@ -103,8 +99,7 @@ export default {
|
||||
isDisabled: (signal, work) => {
|
||||
return signal.fleetMode !== 1;
|
||||
},
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
|
||||
},
|
||||
{
|
||||
type: 'separator',
|
||||
@ -113,8 +108,7 @@ export default {
|
||||
{
|
||||
label: '信号重开',
|
||||
handler: this.reopenSignal,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
|
||||
},
|
||||
{
|
||||
label: '封锁',
|
||||
@ -147,20 +141,17 @@ export default {
|
||||
{
|
||||
label: '进路交人工控',
|
||||
handler: this.humanControl,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
|
||||
},
|
||||
{
|
||||
label: '进路交自动控',
|
||||
handler: this.atsAutoControl,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
|
||||
},
|
||||
{
|
||||
label: '查询进路控制状态',
|
||||
handler: this.detail,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -44,8 +44,7 @@ export default {
|
||||
cmdType: CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL,
|
||||
isDisabled: (selected, work) => {
|
||||
return selected.controlMode == 'Emergency';
|
||||
},
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '请求站控',
|
||||
@ -53,8 +52,7 @@ export default {
|
||||
cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL,
|
||||
isDisabled: (selected, work) => {
|
||||
return selected.controlMode == 'Local';
|
||||
},
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '请求遥控',
|
||||
@ -62,8 +60,7 @@ export default {
|
||||
cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL,
|
||||
isDisabled: (selected, work) => {
|
||||
return selected.controlMode == 'Center';
|
||||
},
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -106,8 +106,7 @@ export default {
|
||||
cmdType:CMD.Stand.CMD_STAND_EARLY_DEPART,
|
||||
isDisabled: (stand, work) => {
|
||||
return stand.trainParking !== 1;
|
||||
},
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '设置跳停',
|
||||
@ -164,8 +163,7 @@ export default {
|
||||
{
|
||||
label: '站台详细信息',
|
||||
handler: this.detail,
|
||||
cmdType:CMD.Stand.CMD_STAND_VIEW_STATUS,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
cmdType:CMD.Stand.CMD_STAND_VIEW_STATUS
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -67,8 +67,7 @@ export default {
|
||||
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION,
|
||||
isDisabled: (station, work) => {
|
||||
return station.normalPosition === 1;
|
||||
},
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '反操',
|
||||
@ -76,8 +75,7 @@ export default {
|
||||
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION,
|
||||
isDisabled: (station, work) => {
|
||||
return station.reversePosition === 1;
|
||||
},
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '道岔单锁',
|
||||
|
@ -1,435 +0,0 @@
|
||||
<template>
|
||||
<div class="menus __socpe" :style="{width: width + 'px'}">
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" :work="work" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" :work="work" :init-cache-map="initCacheMap" :init-info="initInfo" :update-done="updateDone" @onUpdateDone="onUpdateDone" @onChangeInitInfo="onChangeInitInfo" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" :work="work" :init-cache-map="initCacheMap" :init-info="initInfo" :update-done="updateDone" @onUpdateDone="onUpdateDone" @onChangeInitInfo="onChangeInitInfo" />
|
||||
<menu-section ref="menuSection" :selected="selected" :work="work" :init-cache-map="initCacheMap" :init-info="initInfo" :update-done="updateDone" @onUpdateDone="onUpdateDone" @onChangeInitInfo="onChangeInitInfo" />
|
||||
<menu-train ref="menuTrain" :selected="selected" :work="work" />
|
||||
<menu-station ref="menuStation" :selected="selected" :work="work" :init-cache-map="initCacheMap" :init-info="initInfo" :update-done="updateDone" @onUpdateDone="onUpdateDone" @onChangeInitInfo="onChangeInitInfo" />
|
||||
<menu-limit ref="menuLimit" :selected="selected" :work="work" />
|
||||
<!--<passive-alarm ref="passiveAlarm" />-->
|
||||
<passive-contorl ref="passiveControl" pop-class="ningbo-01__systerm" :selected="selected" :work="work" />
|
||||
<!--<passive-Timeout ref="passiveTimeout" />-->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import MenuSignal from './menuSignal';
|
||||
import MenuStationStand from './menuStationStand';
|
||||
import MenuSwitch from './menuSwitch';
|
||||
import MenuSection from './menuSection';
|
||||
import MenuTrain from './menuTrain';
|
||||
import MenuStation from './menuStation';
|
||||
import MenuLimit from './menuLimit';
|
||||
// import PassiveAlarm from './passiveDialog/alarm';
|
||||
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
|
||||
// import PassiveTimeout from './passiveDialog/timeout';
|
||||
|
||||
export default {
|
||||
name: 'AtsWorkMenu',
|
||||
components: {
|
||||
MenuSignal,
|
||||
MenuSwitch,
|
||||
MenuSection,
|
||||
MenuStationStand,
|
||||
MenuStation,
|
||||
MenuTrain,
|
||||
MenuLimit,
|
||||
// PassiveAlarm,
|
||||
PassiveContorl
|
||||
// PassiveTimeout
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
initCacheMap: {},
|
||||
initInfo: {},
|
||||
updateDone: 0,
|
||||
work: 'atsWork'
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
])
|
||||
},
|
||||
watch: {
|
||||
isShowBar(val) {
|
||||
val && this.$store.dispatch('config/updateMenuBar');
|
||||
},
|
||||
'$store.state.map.mapStateLoadedCount': function () {
|
||||
this.$store.dispatch('map/flushMapRef');
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$root.$on('iniCacheMap', (cmd, cacheMap) => {
|
||||
this.initCacheMap[cmd] = cacheMap;
|
||||
});
|
||||
this.$root.$on('appendCache', (cmd, code, cache) => {
|
||||
if (!this.initCacheMap[cmd]) {
|
||||
this.initCacheMap[cmd] = {};
|
||||
}
|
||||
this.initCacheMap[cmd][code] = cache;
|
||||
});
|
||||
this.$root.$on('removeCache', (cmd, code) => {
|
||||
if (this.initCacheMap[cmd]) {
|
||||
delete this.initCacheMap[cmd][code];
|
||||
}
|
||||
});
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('config/updateMenuBar');
|
||||
const _that = this;
|
||||
window.onclick = function (e) {
|
||||
if (!_that.$store.state.training.trainingStart) {
|
||||
_that.$refs.menuBar && _that.$refs.menuBar.blankClickClose();
|
||||
}
|
||||
_that.$refs.menuStationStand.doClose();
|
||||
_that.$refs.menuSwitch.doClose();
|
||||
_that.$refs.menuSignal.doClose();
|
||||
_that.$refs.menuSection.doClose();
|
||||
_that.$refs.menuTrain.doClose();
|
||||
_that.$refs.menuStation.doClose();
|
||||
_that.$refs.menuLimit.doClose();
|
||||
};
|
||||
});
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.$root.$off('iniCacheMap');
|
||||
this.$root.$off('appendCache');
|
||||
this.$root.$off('removeCache');
|
||||
window.onclick = function (e) {};
|
||||
},
|
||||
methods: {
|
||||
onUpdateDone() {
|
||||
this.updateDone++;
|
||||
},
|
||||
onChangeInitInfo(initSelect, initParams) {
|
||||
this.initInfo = {
|
||||
initSelect,
|
||||
initParams
|
||||
};
|
||||
this.updateDone++;
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.menus{
|
||||
height:0px;
|
||||
}
|
||||
.menus .pop-menu {
|
||||
background: #F0F0F0;
|
||||
}
|
||||
|
||||
.menus .pop-menu span {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.menus .pop-menu .is-disabled span {
|
||||
color: #B4B3B8;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog {
|
||||
background: rgba(100, 100, 100, 0.3);
|
||||
border: 2px solid rgba(144, 144, 144, 0.8);
|
||||
border-radius: 6px;
|
||||
color: #000;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-dialog__header {
|
||||
padding: 10px;
|
||||
height: 26px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-dialog__footer {
|
||||
background: #F0F0F0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-dialog__body {
|
||||
padding: 10px;
|
||||
margin: 5px;
|
||||
border: 2px solid rgba(120, 121, 123, 0.5);
|
||||
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
|
||||
background: #F0F0F0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-dialog__title {
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
color: #000;
|
||||
border-radius: 4px;
|
||||
padding: 0px 2px;
|
||||
height: 20px;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-dialog__title::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
filter: blur(7px);
|
||||
height: 20px;
|
||||
width: -webkit-fill-available;
|
||||
background: rgba(190, 190, 190, 0.8);
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-dialog__headerbtn {
|
||||
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
|
||||
border: 1px solid #fff;
|
||||
border-radius: 4px;
|
||||
top: 5px;
|
||||
right: 5px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.ningbo-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;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .expand {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-button:focus span {
|
||||
border: 1px dashed gray;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-button:active {
|
||||
border: 2px inset #E2E2E2;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-button:disabled {
|
||||
border: 2px inset #E2E2E2;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-button:disabled span {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-input {
|
||||
border: 2px inset #E9E9E9;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-input .el-input__inner {
|
||||
color: #000;
|
||||
background: #fff !important;
|
||||
border: 0px;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-input.is-disabled .el-input__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-textarea {
|
||||
border: 2px inset #E9E9E9;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-textarea .el-textarea__inner {
|
||||
color: #000;
|
||||
background: #fff !important;
|
||||
border: 0px;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-table--border th.gutter {
|
||||
background: #EBEADB !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-table {
|
||||
border: 2px inset #E9E9E9;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-table .cell {
|
||||
line-height: unset !important;
|
||||
}
|
||||
|
||||
.ningbo-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;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm.stand-detain-train .el-dialog .el-table th.is-leaf {
|
||||
background: #fff !important;
|
||||
border-right: 1px solid #fff !important;
|
||||
border-bottom: 1px solid #EBEEF5 !important;
|
||||
color: #000 !important;
|
||||
height: 20px !important;
|
||||
padding: 0px;
|
||||
}
|
||||
.ningbo-01__systerm.stand-detain-train .el-dialog .el-table th.el-table-column--selection{
|
||||
border-right: 1px solid #e2e2e2 !important;
|
||||
}
|
||||
.ningbo-01__systerm.stand-detain-train .el-dialog .el-table .el-table__body-wrapper .el-table__row .el-table-column--selection {
|
||||
border-right: 1px solid #e2e2e2 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-table tr td {
|
||||
height: 20px !important;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-table .el-table__empty-text {
|
||||
top: 15px !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .current-row>td {
|
||||
background: #3399FF !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-checkbox__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-checkbox__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.ningbo-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;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-radio__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-radio__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.ningbo-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%;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .base-label {
|
||||
background: #F0F0F0;
|
||||
padding: 0 5px;
|
||||
position: relative;
|
||||
left: -15px;
|
||||
top: -18px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .el-form-item label {
|
||||
font-weight: normal !important;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .context {
|
||||
height: 100px;
|
||||
border: 2px inset #E2E2E2;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .table {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .notice {
|
||||
margin-left: 62px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.ningbo-01__systerm .el-dialog .button-group {
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
||||
<style lang="scss">
|
||||
.__socpe {
|
||||
.el-dialog,
|
||||
.el-dialog__wrapper {
|
||||
// pointer-events: none !important;
|
||||
}
|
||||
|
||||
.el-dialog__header,
|
||||
.el-dialog__body {
|
||||
pointer-events: all !important;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -42,8 +42,7 @@ export default {
|
||||
{
|
||||
label: '取消全线临时限速',
|
||||
handler: this.cancelSpeed,
|
||||
cmdType: CMD.LimitControl.CMD_CANCEL_ALL_LIMIT_SPEED,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
cmdType: CMD.LimitControl.CMD_CANCEL_ALL_LIMIT_SPEED
|
||||
}
|
||||
]
|
||||
};
|
||||
|
@ -81,14 +81,12 @@ export default {
|
||||
{
|
||||
label: '初始化',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_section_open_init,
|
||||
handler: this.handlerInitOpen,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerInitOpen
|
||||
},
|
||||
{
|
||||
label: '确定/取消',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_section_open_sure,
|
||||
handler: this.handlerOpen,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerOpen
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -98,14 +96,12 @@ export default {
|
||||
{
|
||||
label: '初始化',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_section_close_init,
|
||||
handler: this.handlerInitClose,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerInitClose
|
||||
},
|
||||
{
|
||||
label: '确定/取消',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_section_close_sure,
|
||||
handler: this.handlerClose,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerClose
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -118,14 +114,12 @@ export default {
|
||||
{
|
||||
label: '初始化',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_section_setSpeed_init,
|
||||
handler: this.handlerInitSetLimit,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerInitSetLimit
|
||||
},
|
||||
{
|
||||
label: '确定/取消',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_section_setSpeed_sure,
|
||||
handler: this.handlerSetLimit,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerSetLimit
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -135,14 +129,12 @@ export default {
|
||||
{
|
||||
label: '初始化',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_section_clearSpeed_init,
|
||||
handler: this.handlerInitCancelLimit,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerInitCancelLimit
|
||||
},
|
||||
{
|
||||
label: '确定/取消',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_section_clearSpeed_sure,
|
||||
handler: this.handlerCancelLimit,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerCancelLimit
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -151,8 +143,7 @@ export default {
|
||||
{
|
||||
label: '显示',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_section_detail,
|
||||
handler: this.handlerDetail,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerDetail
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -87,20 +87,17 @@ export default {
|
||||
{
|
||||
label: '初始化',
|
||||
operate: OperationEvent.Signal.guide.initMenu,
|
||||
handler: this.handlerInitGuide,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerInitGuide
|
||||
},
|
||||
{
|
||||
label: '确定/取消',
|
||||
operate: OperationEvent.Signal.guide.menu,
|
||||
handler: this.handlerGuide,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerGuide
|
||||
},
|
||||
{
|
||||
label: '清除',
|
||||
operate: OperationEvent.Signal.cancelGuide.menu,
|
||||
handler: this.handlerCancelGuide,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerCancelGuide
|
||||
}
|
||||
]
|
||||
|
||||
@ -111,14 +108,12 @@ export default {
|
||||
{
|
||||
label: '初始化',
|
||||
operate: OperationEvent.Signal.lock.initMenu,
|
||||
handler: this.handlerInitAllowLock,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerInitAllowLock
|
||||
},
|
||||
{
|
||||
label: '确定/取消',
|
||||
operate: OperationEvent.Signal.lock.menu,
|
||||
handler: this.handlerAllowLock,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerAllowLock
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -128,21 +123,18 @@ export default {
|
||||
{
|
||||
label: '命令',
|
||||
operate: OperationEvent.Signal.arrangementRoute.menu,
|
||||
handler: this.handlerRouteCommand,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerRouteCommand
|
||||
},
|
||||
{
|
||||
label: '显示',
|
||||
children: [
|
||||
{
|
||||
label: 'CBTC进路信息',
|
||||
handler: this.undeveloped,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.undeveloped
|
||||
},
|
||||
{
|
||||
label: '后备进路信息',
|
||||
handler: this.undeveloped,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.undeveloped
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -152,8 +144,7 @@ export default {
|
||||
label: '信号指示模式',
|
||||
operate: OperationEvent.Signal.reopenSignal.menu,
|
||||
handler: this.handlerSignalModel,
|
||||
cmdType: '',
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
cmdType: ''
|
||||
},
|
||||
{
|
||||
label: '封锁',
|
||||
@ -161,14 +152,12 @@ export default {
|
||||
{
|
||||
label: '初始化',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_signal_block_init,
|
||||
handler: this.handlerInitBlock,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerInitBlock
|
||||
},
|
||||
{
|
||||
label: '确认/取消',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_signal_block_sure,
|
||||
handler: this.handlerBlock,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerBlock
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -178,22 +167,19 @@ export default {
|
||||
{
|
||||
label: '初始化',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_signal_unblock_init,
|
||||
handler: this.handlerInitUnblock,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerInitUnblock
|
||||
},
|
||||
{
|
||||
label: '确认/取消',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_signal_unblock_sure,
|
||||
handler: this.handlerUnblock,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerUnblock
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '显示',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_signal_detail,
|
||||
handler: this.handlerDetail,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerDetail
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -60,38 +60,32 @@ export default {
|
||||
{
|
||||
label: '开放/关闭',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_stand_openOrClose,
|
||||
handler: this.handlerOpenOrClose,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerOpenOrClose
|
||||
},
|
||||
{
|
||||
label: '设置/取消扣车',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_stand_holdOrNot,
|
||||
handler: this.handlerDetain,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerDetain
|
||||
},
|
||||
{
|
||||
label: '设置站间列车数量',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_stand_trainNum,
|
||||
handler: this.undeveloped,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.undeveloped
|
||||
},
|
||||
{
|
||||
label: '分配停站时间',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_stand_stopTime,
|
||||
handler: this.handlerAllocateTime,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerAllocateTime
|
||||
},
|
||||
{
|
||||
label: '授权转移',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_stand_transfer,
|
||||
handler: this.handlerStationTransfer,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerStationTransfer
|
||||
},
|
||||
{
|
||||
label: '显示',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_stand_detail,
|
||||
handler: this.handlerDetail,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerDetail
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
@ -218,3 +212,9 @@ export default {
|
||||
this.$alert('实现中......', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
callback: action => {
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
@ -72,8 +72,7 @@ export default {
|
||||
{
|
||||
label: '命令',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_switch_cmd,
|
||||
handler: this.handlerCommand,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerCommand
|
||||
|
||||
},
|
||||
{
|
||||
@ -82,14 +81,12 @@ export default {
|
||||
{
|
||||
label: '初始化',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_switch_block_init,
|
||||
handler: this.handlerInitBlock,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerInitBlock
|
||||
},
|
||||
{
|
||||
label: '确定/取消',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_switch_block_sure,
|
||||
handler: this.handlerBlock,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerBlock
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -99,14 +96,12 @@ export default {
|
||||
{
|
||||
label: '初始化',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_switch_unblock_init,
|
||||
handler: this.handlerInitUnblock,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerInitUnblock
|
||||
},
|
||||
{
|
||||
label: '确定/取消',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_switch_unblock_sure,
|
||||
handler: this.handlerUnblock,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerUnblock
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -116,23 +111,20 @@ export default {
|
||||
{
|
||||
label: '请求或授权/取消',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_switch_empower_init,
|
||||
handler: this.handlerActive,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerActive
|
||||
},
|
||||
{
|
||||
label: '显示',
|
||||
disabled: true,
|
||||
operate: OperationEvent.Command.commandNingBo3.line_switch_empower_sure,
|
||||
handler: this.undeveloped,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.undeveloped
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '显示',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_switch_detail,
|
||||
handler: this.handlerDetail,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
handler: this.handlerDetail
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -1,360 +0,0 @@
|
||||
<template>
|
||||
<div class="menus" :style="{width: width + 'px'}">
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" :work="'atsWork'" />
|
||||
<menu-station-turn-back ref="menuStationTurnBack" :selected="selected" :work="'atsWork'" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" :work="'atsWork'" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" :work="'atsWork'" />
|
||||
<menu-section ref="menuSection" :selected="selected" :work="'atsWork'" />
|
||||
<menu-train ref="menuTrain" :selected="selected" :work="'atsWork'" />
|
||||
<menu-station ref="menuStation" :selected="selected" :work="'atsWork'" />
|
||||
<menu-power ref="menuPower" :selected="selected" :work="'atsWork'" />
|
||||
<passive-contorl ref="passiveControl" pop-class="race-01__systerm" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import MenuSignal from './menuSignal';
|
||||
import MenuStationStand from './menuStationStand';
|
||||
import MenuSwitch from './menuSwitch';
|
||||
import MenuSection from './menuSection';
|
||||
import MenuTrain from './menuTrain';
|
||||
import MenuStation from './menuStation';
|
||||
import MenuStationTurnBack from './menuStationTurnBack';
|
||||
import MenuPower from './menuPower';
|
||||
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
|
||||
|
||||
export default {
|
||||
name: 'AtsWork',
|
||||
components: {
|
||||
MenuSignal,
|
||||
MenuSwitch,
|
||||
MenuSection,
|
||||
MenuStationStand,
|
||||
MenuStation,
|
||||
MenuTrain,
|
||||
MenuStationTurnBack,
|
||||
MenuPower,
|
||||
PassiveContorl
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
])
|
||||
},
|
||||
watch: {
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('config/updateMenuBar');
|
||||
});
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.menus{
|
||||
height:0px;
|
||||
}
|
||||
.menus .pop-menu {
|
||||
background: #F0F0F0;
|
||||
}
|
||||
|
||||
.menus .pop-menu span {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.menus .pop-menu .is-disabled span {
|
||||
color: #B4B3B8;
|
||||
}
|
||||
|
||||
.race-01__systerm {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog {
|
||||
background: rgba(100, 100, 100, 0.3);
|
||||
border: 2px solid rgba(144, 144, 144, 0.8);
|
||||
border-radius: 6px;
|
||||
color: #000;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-dialog__header {
|
||||
padding: 10px;
|
||||
height: 26px;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-dialog__footer {
|
||||
background: #F0F0F0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-dialog__body {
|
||||
padding: 10px;
|
||||
margin: 5px;
|
||||
border: 2px solid rgba(120, 121, 123, 0.5);
|
||||
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
|
||||
background: #F0F0F0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-dialog__title {
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
color: #000;
|
||||
border-radius: 4px;
|
||||
padding: 0px 2px;
|
||||
height: 20px;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-dialog__title::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
filter: blur(7px);
|
||||
height: 20px;
|
||||
width: -webkit-fill-available;
|
||||
background: rgba(190, 190, 190, 0.8);
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-dialog__headerbtn {
|
||||
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
|
||||
border: 1px solid #fff;
|
||||
border-radius: 4px;
|
||||
top: 5px;
|
||||
right: 5px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.race-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;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .expand {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-button:focus span {
|
||||
border: 1px dashed gray;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-button:active {
|
||||
border: 2px inset #E2E2E2;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-button:disabled {
|
||||
border: 2px inset #E2E2E2;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-button:disabled span {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-input {
|
||||
border: 2px inset #E9E9E9;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-input .el-input__inner {
|
||||
color: #000;
|
||||
background: #fff !important;
|
||||
border: 0px;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-input.is-disabled .el-input__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-textarea {
|
||||
border: 2px inset #E9E9E9;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-textarea .el-textarea__inner {
|
||||
color: #000;
|
||||
background: #fff !important;
|
||||
border: 0px;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-table--border th.gutter {
|
||||
background: #EBEADB !important;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-table {
|
||||
border: 2px inset #E9E9E9;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-table .cell {
|
||||
line-height: unset !important;
|
||||
}
|
||||
|
||||
.race-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;
|
||||
}
|
||||
|
||||
.race-01__systerm.stand-detain-train .el-dialog .el-table th.is-leaf {
|
||||
background: #fff !important;
|
||||
border-right: 1px solid #fff !important;
|
||||
border-bottom: 1px solid #EBEEF5 !important;
|
||||
color: #000 !important;
|
||||
height: 20px !important;
|
||||
padding: 0px;
|
||||
}
|
||||
.race-01__systerm.stand-detain-train .el-dialog .el-table th.el-table-column--selection{
|
||||
border-right: 1px solid #e2e2e2 !important;
|
||||
}
|
||||
.race-01__systerm.stand-detain-train .el-dialog .el-table .el-table__body-wrapper .el-table__row .el-table-column--selection {
|
||||
border-right: 1px solid #e2e2e2 !important;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-table tr td {
|
||||
height: 20px !important;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-table .el-table__empty-text {
|
||||
top: 15px !important;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .current-row>td {
|
||||
background: #3399FF !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-checkbox__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-checkbox__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.race-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;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-radio__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-radio__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.race-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%;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .base-label {
|
||||
background: #F0F0F0;
|
||||
padding: 0 5px;
|
||||
position: relative;
|
||||
left: -15px;
|
||||
top: -18px;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .el-form-item label {
|
||||
font-weight: normal !important;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .context {
|
||||
height: 100px;
|
||||
border: 2px inset #E2E2E2;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .table {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .notice {
|
||||
margin-left: 62px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.race-01__systerm .el-dialog .button-group {
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
@ -71,14 +71,14 @@ export default {
|
||||
handler: this.active,
|
||||
cmdType: CMD.Section.CMD_SECTION_ACTIVE,
|
||||
isDisabled: (section, work) => false,
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
|
||||
},
|
||||
{
|
||||
label: '区段跟踪切除',
|
||||
handler: this.split,
|
||||
cmdType: CMD.Section.CMD_SECTION_CUT_OFF,
|
||||
isDisabled: (section, work) => false,
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
|
||||
},
|
||||
{
|
||||
label: '区段封锁',
|
||||
|
@ -64,7 +64,7 @@ export default {
|
||||
handler: this.arrangementRoute,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => work !== 'atsWork',
|
||||
isShow: (signal, work) => true,
|
||||
isAvailableInOtherControlMode: true
|
||||
},
|
||||
{
|
||||
@ -72,7 +72,7 @@ export default {
|
||||
handler: this.cancelTrainRoute,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => work !== 'atsWork',
|
||||
isShow: (signal, work) => true,
|
||||
isAvailableInOtherControlMode: true
|
||||
},
|
||||
{
|
||||
@ -80,7 +80,7 @@ export default {
|
||||
handler: this.reopenSignal,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
isShow: (signal, work) => true
|
||||
},
|
||||
{
|
||||
label: '信号机引导办理',
|
||||
@ -94,7 +94,7 @@ export default {
|
||||
handler: this.humanTrainRoute,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_GUIDE,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
isShow: (signal, work) => true
|
||||
},
|
||||
{
|
||||
label: '信号封锁',
|
||||
@ -129,7 +129,7 @@ export default {
|
||||
handler: this.humanControl,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => work !== 'atsWork',
|
||||
isShow: (signal, work) => true,
|
||||
isAvailableInOtherControlMode: true
|
||||
},
|
||||
{
|
||||
@ -137,7 +137,7 @@ export default {
|
||||
handler: this.atsAutoControl,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => work !== 'atsWork',
|
||||
isShow: (signal, work) => true,
|
||||
isAvailableInOtherControlMode: true
|
||||
},
|
||||
{
|
||||
@ -159,7 +159,7 @@ export default {
|
||||
handler: this.detail,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
isShow: (signal, work) => true
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -91,7 +91,7 @@ export default {
|
||||
handler: this.execKeyOperationTest,
|
||||
cmdType: CMD.Station.CMD_STATION_KEY_OPERATION_TEST,
|
||||
isDisabled: (station, work) => false,
|
||||
isShow: (station, work) => work !== 'atsWork'
|
||||
isShow: (station, work) => true
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -155,7 +155,7 @@ export default {
|
||||
handler: this.detail,
|
||||
cmdType: CMD.Stand.CMD_STAND_VIEW_STATUS,
|
||||
isDisabled: (stand, work) => false,
|
||||
isShow: (stand, work) => work !== 'atsWork'
|
||||
isShow: (stand, work) => true
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -61,14 +61,14 @@ export default {
|
||||
handler: this.locate,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION,
|
||||
isDisabled: (switchDevice, work) => switchDevice.normalPosition === 1,
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
isShow: (switchDevice, work) => true
|
||||
},
|
||||
{
|
||||
label: '反操',
|
||||
handler: this.reverse,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION,
|
||||
isDisabled: (switchDevice, work) => switchDevice.reversePosition === 1,
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
isShow: (switchDevice, work) => true
|
||||
},
|
||||
{
|
||||
label: '道岔单锁',
|
||||
@ -153,7 +153,7 @@ export default {
|
||||
handler: this.undeveloped,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED,
|
||||
isDisabled: (switchDevice, work) => false,
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
isShow: (switchDevice, work) => true
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -1,491 +0,0 @@
|
||||
<template>
|
||||
<div class="menus" :style="{width: width + 'px'}">
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" :work="work" />
|
||||
<menu-switch ref="menuSwitch" :selected="selected" :work="work" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" :work="work" />
|
||||
<menu-section ref="menuSection" :selected="selected" :work="work" />
|
||||
<menu-train ref="menuTrain" :selected="selected" :work="work" />
|
||||
<menu-station ref="menuStation" :selected="selected" :work="work" />
|
||||
<menu-station-turn-back ref="menuStationTurnBack" :selected="selected" :work="work" />
|
||||
<passive-alarm ref="passiveAlarm" />
|
||||
<passive-contorl ref="passiveControl" pop-class="xian-01__systerm" />
|
||||
<passive-Timeout ref="passiveTimeout" />
|
||||
<pop-menu ref="popMenu" :menu="menu" pop-class="preview_new_pop" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { DeviceMenu } from '@/scripts/ConstDic';
|
||||
import { mapGetters } from 'vuex';
|
||||
import MenuSignal from './menuSignal';
|
||||
import MenuStationStand from './menuStationStand';
|
||||
import MenuSwitch from './menuSwitch';
|
||||
import MenuSection from './menuSection';
|
||||
import MenuTrain from './menuTrain';
|
||||
import MenuStation from './menuStation';
|
||||
import MenuStationTurnBack from './menuStationTurnBack';
|
||||
import PassiveAlarm from './passiveDialog/alarm';
|
||||
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
|
||||
import PassiveTimeout from './passiveDialog/timeout';
|
||||
import PopMenu from '@/components/PopMenu';
|
||||
|
||||
export default {
|
||||
name: 'AtsWorkMenu',
|
||||
components: {
|
||||
MenuSignal,
|
||||
MenuSwitch,
|
||||
MenuSection,
|
||||
MenuStationStand,
|
||||
MenuStation,
|
||||
MenuTrain,
|
||||
PassiveAlarm,
|
||||
MenuStationTurnBack,
|
||||
PassiveContorl,
|
||||
PassiveTimeout,
|
||||
PopMenu
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
menu: [],
|
||||
menuNormal: [],
|
||||
work: 'atsWork'
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
])
|
||||
},
|
||||
watch: {
|
||||
'$store.state.menuOperation.menuCount': function (val) {
|
||||
// && this.$store.state.training.prdType == '02'
|
||||
if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Cancel)) {
|
||||
this.popDoShow(this.$store.state.menuOperation.menuPosition);
|
||||
} else {
|
||||
this.popDoClose();
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('config/updateMenuBar');
|
||||
const _that = this;
|
||||
window.onclick = function (e) {
|
||||
if (!_that.$store.state.training.trainingStart) {
|
||||
_that.$refs.menuBar && _that.$refs.menuBar.blankClickClose();
|
||||
}
|
||||
_that.$refs.menuStationStand.doClose();
|
||||
_that.$refs.menuSwitch.doClose();
|
||||
_that.$refs.menuSignal.doClose();
|
||||
_that.$refs.menuSection.doClose();
|
||||
_that.$refs.menuTrain.doClose();
|
||||
_that.$refs.menuStation.doClose();
|
||||
_that.$refs.menuStationTurnBack.doClose();
|
||||
};
|
||||
});
|
||||
},
|
||||
beforeDestroy() {
|
||||
window.onclick = function (e) {};
|
||||
},
|
||||
methods:{
|
||||
popClickEvent() {
|
||||
const self = this;
|
||||
window.onclick = function (e) {
|
||||
self.popDoClose();
|
||||
};
|
||||
},
|
||||
popDoShow(point) {
|
||||
this.popClickEvent();
|
||||
this.initMenu();
|
||||
if (this.$refs && this.$refs.popMenu && this.menu && this.menu.length) {
|
||||
this.$refs.popMenu.resetShowPosition(point);
|
||||
}
|
||||
},
|
||||
initMenu() {
|
||||
this.menuNormal = [];
|
||||
if (this.work === 'dispatchWork') {
|
||||
this.$store.state.map.map.stationList.forEach(station => {
|
||||
if (station.relStationCodeList && station.relStationCodeList.length) {
|
||||
const node = {
|
||||
label: station.name,
|
||||
children: []
|
||||
};
|
||||
const relStationCodeList = [...station.relStationCodeList];
|
||||
// relStationCodeList.push(station.code);
|
||||
relStationCodeList.sort((a, b) => {
|
||||
const stationA = this.$store.getters['map/getDeviceByCode'](a);
|
||||
const stationB = this.$store.getters['map/getDeviceByCode'](b);
|
||||
return stationA.kmRange - stationB.kmRange;
|
||||
});
|
||||
relStationCodeList.forEach(item => {
|
||||
const next = this.$store.getters['map/getDeviceByCode'](item);
|
||||
node.children.push({
|
||||
code: next.code,
|
||||
label: next.name,
|
||||
handler: this.mapLocation
|
||||
});
|
||||
});
|
||||
this.menuNormal.push(node);
|
||||
}
|
||||
});
|
||||
} else if (this.work === 'localWork') {
|
||||
const roleDeviceCode = this.$store.state.training.roleDeviceCode;
|
||||
const displayList = this.$store.state.map.map.displayList;
|
||||
const display = displayList && displayList.find(each=>{
|
||||
return each.stationCodeList.includes(roleDeviceCode);
|
||||
});
|
||||
if (display) {
|
||||
const codeList = [...display.switchStationCodeList];
|
||||
let relStationCodeList = [];
|
||||
let ciStaionCode = '';
|
||||
codeList.sort((a, b) => {
|
||||
const stationA = this.$store.getters['map/getDeviceByCode'](a);
|
||||
const stationB = this.$store.getters['map/getDeviceByCode'](b);
|
||||
if (stationA.relStationCodeList && stationA.relStationCodeList.length > 0 && relStationCodeList.length <= 0) {
|
||||
relStationCodeList = [...stationA.relStationCodeList];
|
||||
ciStaionCode = stationA.code;
|
||||
relStationCodeList.push(stationA.code);
|
||||
}
|
||||
return stationA.kmRange - stationB.kmRange;
|
||||
});
|
||||
const ciStaion = this.$store.getters['map/getDeviceByCode'](ciStaionCode);
|
||||
const currentNode = {label: ciStaion.name, children: []};
|
||||
codeList.forEach(code=>{
|
||||
let node;
|
||||
const station = this.$store.getters['map/getDeviceByCode'](code);
|
||||
if (station.depot) {
|
||||
return;
|
||||
}
|
||||
if (relStationCodeList.includes(code)) {
|
||||
currentNode.children.push({label: station.name, code: station.code, handler: this.mapLocation});
|
||||
if (currentNode.children.length == relStationCodeList.length) {
|
||||
this.menuNormal.push(currentNode);
|
||||
}
|
||||
} else {
|
||||
node = {label: station.name, code: station.code, handler: this.mapLocation};
|
||||
this.menuNormal.push(node);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
this.menu = [...this.menuNormal];
|
||||
},
|
||||
popDoClose() {
|
||||
if (this.$refs && this.$refs.popMenu) {
|
||||
this.$refs.popMenu.close();
|
||||
}
|
||||
},
|
||||
// 设置地图定位
|
||||
mapLocation(item) {
|
||||
if (item) {
|
||||
this.$store.dispatch('training/updateOffsetStationCode', { offsetStationCode: item.code });
|
||||
this.popDoClose();
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.menus {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
}
|
||||
.menus .pop-menu {
|
||||
background: #F0F0F0;
|
||||
}
|
||||
|
||||
.menus .pop-menu span {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.menus .pop-menu .is-disabled span {
|
||||
color: #B4B3B8;
|
||||
}
|
||||
|
||||
.xian-01__systerm {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
.xian-01__systerm.pop-menu{
|
||||
padding: 0;
|
||||
padding-left: 20px;
|
||||
}
|
||||
.xian-01__systerm.pop-menu .container{
|
||||
border-left: 1px solid #ccc;
|
||||
}
|
||||
.xian-01__systerm.pop-menu .dsp-block {
|
||||
display: block;
|
||||
text-align: left;
|
||||
width: 100%;
|
||||
border-radius: unset;
|
||||
border: 1px solid transparent;
|
||||
color: #000;
|
||||
padding: 6px 6px;
|
||||
border-left: 1px solid #bdbcbc;
|
||||
}
|
||||
|
||||
.xian-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;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-dialog__header {
|
||||
padding: 5px;
|
||||
height: 26px;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-dialog__footer {
|
||||
background: #F0F0F0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.xian-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;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-dialog__title {
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
color: #000;
|
||||
border-radius: 4px;
|
||||
padding: 0px 2px;
|
||||
height: 20px;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
.xian-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;
|
||||
}
|
||||
|
||||
.xian-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;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.xian-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;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-button:focus span {
|
||||
border: 1px dashed gray;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-button:active {
|
||||
border: 2px inset #E2E2E2;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-button:disabled {
|
||||
border: 2px inset #E2E2E2;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-button:disabled span {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-input {
|
||||
border: 2px inset #E9E9E9;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-input .el-input__inner {
|
||||
color: #000;
|
||||
background: #fff !important;
|
||||
border: 0px;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-input.is-disabled .el-input__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-textarea {
|
||||
border: 2px inset #E9E9E9;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-textarea .el-textarea__inner {
|
||||
color: #000;
|
||||
background: #fff !important;
|
||||
border: 0px;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-table {
|
||||
border: 2px inset #E9E9E9;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-table .cell {
|
||||
line-height: unset !important;
|
||||
}
|
||||
|
||||
.xian-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;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-table tr td {
|
||||
height: 20px !important;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-table .el-table__empty-text {
|
||||
top: 15px !important;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .current-row>td {
|
||||
background: #3399FF !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-checkbox__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-checkbox__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.xian-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;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-radio__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-radio__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.xian-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%;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .base-label {
|
||||
background: rgb(240 240 240);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .el-form-item label {
|
||||
font-weight: normal !important;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .context {
|
||||
height: 100px;
|
||||
border: 2px inset #E2E2E2;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .table {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .notice {
|
||||
margin-left: 62px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.xian-01__systerm .el-dialog .button-group {
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
@ -68,7 +68,7 @@ export default {
|
||||
return section.blockade === 1;
|
||||
}
|
||||
},
|
||||
isShow: (section, work) => ['01', '02'].includes(section.type) && work !== 'atsWork'
|
||||
isShow: (section, work) => ['01', '02'].includes(section.type)
|
||||
},
|
||||
{
|
||||
label: '区段解封',
|
||||
@ -81,7 +81,7 @@ export default {
|
||||
return section.blockade !== 1;
|
||||
}
|
||||
},
|
||||
isShow: (section, work) => ['01', '02'].includes(section.type) && work !== 'atsWork'
|
||||
isShow: (section, work) => ['01', '02'].includes(section.type)
|
||||
},
|
||||
{
|
||||
label: '故障解锁',
|
||||
@ -90,7 +90,7 @@ export default {
|
||||
isDisabled: (section, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
|
||||
},
|
||||
{
|
||||
label: '设置限速',
|
||||
@ -99,7 +99,7 @@ export default {
|
||||
isDisabled: (section, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (section, work) => section.type === '02' && work !== 'atsWork'
|
||||
isShow: (section, work) => section.type === '02'
|
||||
},
|
||||
{
|
||||
label: '取消限速',
|
||||
@ -108,7 +108,7 @@ export default {
|
||||
isDisabled: (section, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (section, work) => section.type === '02' && work !== 'atsWork'
|
||||
isShow: (section, work) => section.type === '02'
|
||||
},
|
||||
{
|
||||
label: '区段切除',
|
||||
|
@ -68,9 +68,6 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -79,9 +76,6 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -94,9 +88,6 @@ export default {
|
||||
} else {
|
||||
return signal.blockade === 1;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -109,9 +100,6 @@ export default {
|
||||
} else {
|
||||
return signal.blockade !== 1;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -120,9 +108,6 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -131,9 +116,6 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -142,9 +124,6 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -63,9 +63,6 @@ export default {
|
||||
} else {
|
||||
return switchDevice.singleLock === 1;
|
||||
}
|
||||
},
|
||||
isShow: (switchDevice, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -78,9 +75,6 @@ export default {
|
||||
} else {
|
||||
return switchDevice.singleLock !== 1;
|
||||
}
|
||||
},
|
||||
isShow: (switchDevice, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -93,9 +87,6 @@ export default {
|
||||
} else {
|
||||
return switchDevice.blockade === 1;
|
||||
}
|
||||
},
|
||||
isShow: (switchDevice, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -108,9 +99,6 @@ export default {
|
||||
} else {
|
||||
return switchDevice.blockade !== 1;
|
||||
}
|
||||
},
|
||||
isShow: (switchDevice, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -119,9 +107,6 @@ export default {
|
||||
cmdType:CMD.Switch.CMD_SWITCH_TURN,
|
||||
isDisabled: (switchDevice, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (switchDevice, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -130,9 +115,6 @@ export default {
|
||||
cmdType:CMD.Switch.CMD_SWITCH_FAULT_UNLOCK,
|
||||
isDisabled: (switchDevice, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (switchDevice, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
// {
|
||||
@ -174,9 +156,6 @@ export default {
|
||||
cmdType:CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED,
|
||||
isDisabled: (switchDevice, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (switchDevice, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -185,9 +164,6 @@ export default {
|
||||
cmdType:CMD.Switch.CMD_SWITCH_CANCEL_LIMIT_SPEED,
|
||||
isDisabled: (switchDevice, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (switchDevice, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -1,550 +0,0 @@
|
||||
<template>
|
||||
<div class="xian-02__menus" :style="{width: width + 'px'}">
|
||||
<!-- <menu-axle-reset ref="menuAxleReset" :selected="selected" /> -->
|
||||
<menu-cancel ref="menuCancel" />
|
||||
<!-- <menu-auto-trun-route ref="menuAutoTrunRoute" :selected="selected" /> -->
|
||||
<!-- <menu-station-control ref="menuStationControl" :selected="selected" /> -->
|
||||
<menu-switch ref="menuSwitch" :selected="selected" :work="'atsWork'" />
|
||||
<menu-signal ref="menuSignal" :selected="selected" :work="'atsWork'" />
|
||||
<menu-section ref="menuSection" :selected="selected" :work="'atsWork'" />
|
||||
<menu-train ref="menuTrain" :selected="selected" :work="'atsWork'" />
|
||||
<menu-station ref="menuStation" :selected="selected" :work="'atsWork'" />
|
||||
<!-- <menu-limit ref="menuLimit" :selected="selected" /> -->
|
||||
<passive-contorl ref="passiveControl" :work="'atsWork'" />
|
||||
<menu-request ref="menuRequest" />
|
||||
<menu-station-stand ref="menuStationStand" :selected="selected" :work="'atsWork'" @popMenuStationStand="popMenuStationStand" @totalMenuEvent="totalMenuEvent" />
|
||||
<pop-station-stand ref="popStationStand" :selected="selected" :work="'atsWork'" @closeMenuStationStand="closeMenuStationStand" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import MenuSignal from './menuSignal';
|
||||
// import MenuAxleReset from './menuAxleReset';
|
||||
// import MenuAutoTrunRoute from './menuAutoTrunRoute';
|
||||
// import MenuStationControl from './menuStationControl';
|
||||
import MenuSwitch from './menuSwitch';
|
||||
import MenuSection from './menuSection';
|
||||
import MenuTrain from './menuTrain';
|
||||
import MenuStation from './menuStation';
|
||||
// import MenuLimit from './menuLimit';
|
||||
import MenuCancel from './menuCancel';
|
||||
import PassiveContorl from './passiveDialog/control';
|
||||
import MenuStationStand from './menuStationStand';
|
||||
import PopStationStand from './popStationStand';
|
||||
import MenuRequest from './menuRequest';
|
||||
|
||||
export default {
|
||||
name: 'Menus',
|
||||
components: {
|
||||
// MenuAxleReset,
|
||||
// MenuAutoTrunRoute,
|
||||
MenuSignal,
|
||||
MenuSwitch,
|
||||
MenuSection,
|
||||
// MenuStationControl,
|
||||
MenuStation,
|
||||
MenuTrain,
|
||||
// MenuLimit,
|
||||
MenuStationStand,
|
||||
MenuCancel,
|
||||
PassiveContorl,
|
||||
PopStationStand,
|
||||
MenuRequest
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('config', [
|
||||
'width'
|
||||
])
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('config/updateMenuBar');
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
popMenuStationStand(param) {
|
||||
this.$refs.popStationStand.doShow(param.position, param.type);
|
||||
},
|
||||
closeMenuStationStand() {
|
||||
this.$refs.menuStationStand.doClose();
|
||||
},
|
||||
totalMenuEvent(param) {
|
||||
this.$refs.menuCancel.doShow(param);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.xian-02__menus .pop-menu {
|
||||
background: #78e2ad;
|
||||
padding: 0;
|
||||
}
|
||||
.xian-02__menus .pop-menu .el-popover{
|
||||
background: #78e2ad;
|
||||
}
|
||||
.xian-02__menus .pop-menu span {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.xian-02__menus .pop-menu .is-disabled span {
|
||||
color: #B4B3B8;
|
||||
}
|
||||
|
||||
.xian-02__system {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
.xian-02__pop_tip_station{
|
||||
padding: 0 !important;
|
||||
margin-left: 1px !important;
|
||||
background: #78e2ad !important;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 0;
|
||||
|
||||
}
|
||||
.xian-02__pop_tip_station:hover{
|
||||
border: 1px solid #6B736A;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog {
|
||||
background: #9da5ff;
|
||||
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
|
||||
border: 1px solid #9da5ff;
|
||||
border-radius: 6px;
|
||||
font-size: 13px !important;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog span {
|
||||
font-size: 13px !important;
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-dialog__footer {
|
||||
background: #5F9EA0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-dialog__body {
|
||||
padding: 20px;
|
||||
margin: 0px 3px 3px;
|
||||
border: 2px solid rgba(120, 121, 123, 0.5);
|
||||
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
|
||||
background: #5F9EA0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.xian-02__system .station-stand .el-dialog__body {
|
||||
background: #000;
|
||||
color: #E8E8E8;
|
||||
}
|
||||
.xian-02__menus .stand-stop-time .el-dialog__body {
|
||||
padding: 20px;
|
||||
margin: 0px 3px 3px;
|
||||
border: 2px solid rgba(120, 121, 123, 0.5);
|
||||
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
|
||||
background: #5F9EA0;
|
||||
opacity: 1;
|
||||
}
|
||||
.xian-02__system .el-dialog .el-dialog__title {
|
||||
font-size: 18px;
|
||||
color: #fff;
|
||||
}
|
||||
.xian-02__system .el-dialog .el-dialog__header {
|
||||
padding: 2px 1px;
|
||||
}
|
||||
.xian-02__system .el-dialog .el-dialog__headerbtn {
|
||||
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
|
||||
border: 1px solid #fff;
|
||||
border-radius: 4px;
|
||||
top: 2px;
|
||||
right: 3px;
|
||||
line-height: 16px;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-dialog__headerbtn .el-icon-close:before {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-dialog__headerbtn .el-dialog__close {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-button {
|
||||
height: 24px;
|
||||
line-height: 22px;
|
||||
padding: 0px;
|
||||
width: 80px;
|
||||
border: 2px outset #B7D4D5;
|
||||
border-radius: 0 !important;
|
||||
color: #000;
|
||||
background: #5F9EA0;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .expand {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-button:focus span {
|
||||
border: 1px dashed #315253;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-button:active {
|
||||
border: 2px inset #B7D4D5;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-button:disabled {
|
||||
border: 2px inset #B7D4D5;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-button:disabled span {
|
||||
border: 0px;
|
||||
}
|
||||
.xian-02__system .el-select-dropdown__item {
|
||||
background: #5F9EA0;
|
||||
}
|
||||
.xian-02__system .el-select-dropdown__list {
|
||||
background: #5F9EA0;
|
||||
}
|
||||
.xian-02__select-option .el-select-dropdown__item{
|
||||
background: #5F9EA0;
|
||||
}
|
||||
.xian-02__select-option .el-scrollbar__wrap {
|
||||
background-color: #5F9EA0;
|
||||
overflow: hidden;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
.xian-02__select-option{
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
border-color: #335658 #99C1C3 #99C1C3 #335658;
|
||||
border-radius: 0;
|
||||
background:#5F9EA0;
|
||||
}
|
||||
.xian-02__select-option .el-scrollbar{
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
border-color: #467576 #A0C6C7 #A0C6C7 #467576;
|
||||
border-radius: 0;
|
||||
}
|
||||
.xian-02__select-option .el-select-dropdown__item.selected{
|
||||
color: #fff;
|
||||
}
|
||||
.xian-02__select-option .el-select-dropdown__item{
|
||||
color: #000;
|
||||
}
|
||||
.xian-02__system .el-dialog .el-transfer-panel{
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
border-color: #467576 #A0C6C7 #A0C6C7 #467576;
|
||||
border-radius: 0;
|
||||
background: #5F9EA0;
|
||||
}
|
||||
.xian-02__system .el-dialog .el-transfer .el-button{
|
||||
width: 40px;
|
||||
}
|
||||
.xian-02__system .el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span {
|
||||
color: #000;
|
||||
}
|
||||
.xian-02__system .el-dialog .el-transfer-panel .el-transfer-panel__header {
|
||||
background: #5F9EA0;
|
||||
border-bottom: 1px solid #467576;
|
||||
}
|
||||
.xian-02__system .el-dialog .el-transfer-panel .el-transfer-panel__empty {
|
||||
color: #5F9EA0;
|
||||
}
|
||||
.xian-02__system .el-dialog .el-input {
|
||||
border-style:solid;
|
||||
border-width: 1px;
|
||||
border-color: #335658 #99C1C3 #99C1C3 #335658;
|
||||
height: 22px !important;
|
||||
line-height: 22px !important;
|
||||
background: #5F9EA0;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-input__inner {
|
||||
color: #000;
|
||||
background: #5F9EA0 !important;
|
||||
border-style:solid;
|
||||
border-width: 1px;
|
||||
border-color: #467576 #A0C6C7 #A0C6C7 #467576;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
height: 22px !important;
|
||||
line-height: 22px !important;
|
||||
}
|
||||
|
||||
/*.xian-02__system .el-dialog .el-input.is-disabled .el-input__inner {*/
|
||||
/*background: #F0F0F0 !important;*/
|
||||
/*}*/
|
||||
|
||||
.xian-02__system .el-dialog .el-textarea {
|
||||
border-style:solid;
|
||||
border-width: 1px;
|
||||
border-color: #335658 #99C1C3 #99C1C3 #335658;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-textarea .el-textarea__inner {
|
||||
color: #000;
|
||||
background: #5F9EA0 !important;
|
||||
border-style:solid;
|
||||
border-width: 1px;
|
||||
border-color: #467576 #A0C6C7 #A0C6C7 #467576;
|
||||
border-radius: 0px !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-textarea.is-disabled .el-textarea__inner {
|
||||
background: #F0F0F0 !important;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-table--border th.gutter {
|
||||
background: #EBEADB !important;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-table {
|
||||
border: 2px inset #E9E9E9;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-table .cell {
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
.xian-02__system .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;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-table tr td {
|
||||
height: 20px !important;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-table .el-table__empty-text {
|
||||
top: 15px !important;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .current-row>td {
|
||||
background: #3399FF !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-checkbox__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-checkbox__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.xian-02__system .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;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-radio__inner {
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-radio__label {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-radio__input.is-checked .el-radio__inner {
|
||||
background: #fff !important;
|
||||
border: 1px inset #dcdfe6 !important;
|
||||
}
|
||||
|
||||
.xian-02__system .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%;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-radio.is-disabled .el-radio__inner {
|
||||
background: #E6E6E6 !important;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-radio.is-disabled .el-radio__label {
|
||||
color: #C5C9CC !important;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .base-label {
|
||||
background: #5F9EA0;
|
||||
position: relative;
|
||||
left: -15px;
|
||||
top: -18px;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .el-form-item label {
|
||||
font-weight: normal !important;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .context {
|
||||
height: 100px;
|
||||
border: 2px inset #E2E2E2;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .table {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .notice {
|
||||
margin-left: 62px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.xian-02__system .el-dialog .button-group {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.xian-02__system.request_box .content-box .el-table__body-wrapper .el-table__row{
|
||||
background: #000;
|
||||
height: 30px;
|
||||
color: #518E86;
|
||||
}
|
||||
.xian-02__system.request_box .content-box .el-table__body-wrapper .el-table__row.hover-row td{
|
||||
background: #d5ecf7;
|
||||
}
|
||||
.xian-02__system.request_box .content-box .el-table__body-wrapper .el-table__row.current-row td{
|
||||
background: #d5ecf7;
|
||||
}
|
||||
.xian-02__system .el-select .el-input__suffix {
|
||||
display: flex;
|
||||
justify-self: center;
|
||||
align-items: center;
|
||||
}
|
||||
.xian-02__system .el-select .is-focus .el-input__suffix {
|
||||
display: flex;
|
||||
justify-self: center;
|
||||
align-items: center;
|
||||
}
|
||||
.xian-02__system .el-scrollbar__thumb {
|
||||
border-style:solid;
|
||||
border-width: 1px;
|
||||
border-color: #335658 #99C1C3 #99C1C3 #335658;
|
||||
background: #518E86;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog__body,
|
||||
.xian-02__system.train-alertor .el-dialog__body,
|
||||
.xian-02__system.train-runLevel .el-dialog__body {
|
||||
color: #000!important;
|
||||
}
|
||||
.xian-02__system.train-runLevel .train-run-level-radio_box .el-radio__inner{
|
||||
border-radius: 0;
|
||||
transform: rotate(45deg);
|
||||
width: 12px;
|
||||
border: none!important;
|
||||
height: 12px;
|
||||
background: #508F86;
|
||||
border-color: #9ABFB2 #284743 #284743 #9ABFB2 !important;
|
||||
border-width: 2px!important;
|
||||
border-style: solid!important;
|
||||
}
|
||||
.xian-02__system.train-runLevel .train-run-level-radio_box .is-checked .el-radio__inner{
|
||||
background: #DEF003!important;
|
||||
border-color: #284743 #9ABFB2 #9ABFB2 #284743 !important;
|
||||
border-width: 2px!important;
|
||||
border-style: solid!important;
|
||||
}
|
||||
.xian-02__system.train-runLevel .train-run-level-radio_box .is-checked .el-radio__inner::after{
|
||||
width: 0px!important;
|
||||
height: 0px!important;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel {
|
||||
width: 45%;
|
||||
float: left;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer{
|
||||
overflow: hidden;
|
||||
height: 190px;
|
||||
padding: 10px;
|
||||
padding-top: 0;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer__buttons {
|
||||
width: 10%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
float: left;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer__buttons .el-button {
|
||||
margin: 0;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel .el-transfer-panel__header {
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
border: 0;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel__item .el-checkbox__input {
|
||||
display: none;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel .el-transfer-panel__list,
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel .el-transfer-panel__body{
|
||||
height: 165px;
|
||||
overflow: auto;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel__item.is-checked {
|
||||
background: gray;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel__list {
|
||||
overflow: auto;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel__item{
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding-left: 3px;
|
||||
height: 22px;
|
||||
}
|
||||
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel__item .el-checkbox__label {
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
@ -56,9 +56,6 @@ export default {
|
||||
} else {
|
||||
return signal.lock === 1;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -71,9 +68,6 @@ export default {
|
||||
} else {
|
||||
return signal.lock !== 1;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -86,9 +80,6 @@ export default {
|
||||
} else {
|
||||
return signal.fleetMode === 1;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -101,9 +92,6 @@ export default {
|
||||
} else {
|
||||
return signal.fleetMode !== 1;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -116,9 +104,6 @@ export default {
|
||||
} else {
|
||||
return signal.blockade === 1;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -131,9 +116,6 @@ export default {
|
||||
} else {
|
||||
return signal.blockade !== 1;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -142,9 +124,6 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
// 暂无功能,先disabled掉
|
||||
@ -152,9 +131,6 @@ export default {
|
||||
label: '设备标签',
|
||||
disabled: true,
|
||||
isDisabled: (signal, work) => true,
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
},
|
||||
children: [
|
||||
{
|
||||
label: '创建设备标签',
|
||||
@ -184,9 +160,6 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -58,10 +58,7 @@ export default {
|
||||
} else {
|
||||
return station.controlMode === 'Center';
|
||||
}
|
||||
},
|
||||
isShow: (station, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
// 暂无功能,先disabled
|
||||
@ -75,7 +72,7 @@ export default {
|
||||
return station.apply2TheControlMode !== 'Local';
|
||||
}
|
||||
},
|
||||
isShow: (station, work) => work !== 'atsWork'
|
||||
isShow: (station, work) => true
|
||||
},
|
||||
{
|
||||
label: '取消',
|
||||
@ -89,7 +86,7 @@ export default {
|
||||
}
|
||||
},
|
||||
isShow: (station, work) => {
|
||||
return work !== 'atsWork';
|
||||
return true;
|
||||
}
|
||||
},
|
||||
// /** 紧急站控 */
|
||||
@ -106,7 +103,7 @@ export default {
|
||||
}
|
||||
},
|
||||
isShow: (station, work) => {
|
||||
return work !== 'atsWork';
|
||||
return true;
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -66,8 +66,7 @@ export default {
|
||||
} else {
|
||||
return station.normalPosition === 1;
|
||||
}
|
||||
},
|
||||
isShow: (station, work) => work !== 'atsWork'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '道岔反位',
|
||||
@ -79,8 +78,7 @@ export default {
|
||||
} else {
|
||||
return station.reversePosition === 1;
|
||||
}
|
||||
},
|
||||
isShow: (station, work) => work !== 'atsWork'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '道岔单锁',
|
||||
@ -92,8 +90,7 @@ export default {
|
||||
} else {
|
||||
return station.singleLock === 1;
|
||||
}
|
||||
},
|
||||
isShow: (station, work) => work !== 'atsWork'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '道岔单解',
|
||||
@ -105,8 +102,7 @@ export default {
|
||||
} else {
|
||||
return station.singleLock !== 1;
|
||||
}
|
||||
},
|
||||
isShow: (station, work) => work !== 'atsWork'
|
||||
}
|
||||
},
|
||||
{
|
||||
// 暂无功能,先disabled掉
|
||||
|
@ -122,7 +122,7 @@ class Handler {
|
||||
const group = router.currentRoute.query.group;
|
||||
const stepInfo = store.state.trainingNew.stepInfo;
|
||||
endTrainingStep(group, stepInfo.id).then(resp => {
|
||||
// store.dispatch('trainingNew/clearOperateOrder');
|
||||
store.dispatch('trainingNew/clearOperateOrder');
|
||||
}).catch(e => {
|
||||
console.error('进入下一步失败!', e);
|
||||
});
|
||||
|
@ -83,7 +83,6 @@ const training = {
|
||||
if (store.state.training.myMemberId == state.stepInfo.memberId) {
|
||||
state.stepRecord.push({ stepId: state.stepInfo.id, success: false, clientOperations: [] });
|
||||
}
|
||||
state.operateOrder = 0;
|
||||
Handler.judgeIsTextSendOperation();
|
||||
},
|
||||
clearStepInfo: (state, stepInfo) => {
|
||||
|
@ -35,7 +35,7 @@ export function getTopic(type, group, param) {
|
||||
topic = `/queue/simulation/${group}/iscs/gate/${param.stationCode}`;
|
||||
break;
|
||||
case 'TMS':
|
||||
topic = `/queue/simulation/${group}/train/${param.groupNumber}/tms`;
|
||||
topic = `/queue/simulation/${group}/train/001/tms`;
|
||||
break;
|
||||
case 'PIS_STAND':
|
||||
topic = `/queue/simulation/${group}/standPis/${param.standCode}`;
|
||||
|
@ -131,7 +131,7 @@ export default {
|
||||
picture = this.$store.state.map.map.pictureList.find(picture => picture.type === 'bigScreen');
|
||||
}
|
||||
if (picture) {
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
|
||||
const deviceList = [];
|
||||
const mapDevice = this.$store.state.map.mapDevice;
|
||||
for (const deviceCode in mapDevice) {
|
||||
|
@ -103,9 +103,9 @@
|
||||
|
||||
<div id="doorpick" class="ebpanebutton2" style="top:33%;left:70%;">
|
||||
<img class="ebbuttonimg2" :src="zuoimg" />
|
||||
<img class="ebbuttonimg2" :src="niuimg" :style="{transform: atpOn ? 'rotate(0deg)':'rotate(45deg)'}"/>
|
||||
<img class="ebbuttonimg2" :src="niuimg" @click=""/>
|
||||
<div class="tfbutton" style="font-size:10px;top:5px;left:33px;" @click="atpclick(false)">正常</div>
|
||||
<div class="tfbutton" style="font-size:10px;top:13px;left:50px;" @click="atpclick(true)">切除</div>
|
||||
<div class="tfbutton" style="font-size:10px;top:13px;left:50px;" @click="atpclick(false)">切除</div>
|
||||
<div style="font-size:10px;" :style="{position:'absolute',width:'70px',height:'20px',position:'absolute',top:'70px',left:'5px'}" >
|
||||
<div :style="{height:'10px',backgroundColor:'#000',color:' #fff'}">
|
||||
ATP切除
|
||||
@ -171,10 +171,6 @@
|
||||
groupNum: {
|
||||
type: String,
|
||||
default: null
|
||||
},
|
||||
atpOn: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
@ -228,6 +224,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
atpclick: function (type){
|
||||
let data = {
|
||||
groupNumber:this.groupNum,
|
||||
|
@ -51,7 +51,7 @@
|
||||
<Drive-Mmi v-if="mmishow" ref="mmiui" />
|
||||
<Drive-Tms v-if="tmsshow" ref="tmsui" />
|
||||
<Drive-Control v-if="dcontrolshow" ref="dcontrol" :group-num="groupnum" :user-role="userrole" />
|
||||
<Equip-Box v-if="equipboxshow" :group-num="groupnum" :atpOn="atpOn" ref="equipbox" />
|
||||
<Equip-Box v-if="equipboxshow" :group-num="groupnum" />
|
||||
<psl v-if="pslShow" ref="psl" pop-class="xian-01__systerm" />
|
||||
</div>
|
||||
|
||||
@ -140,8 +140,7 @@ export default {
|
||||
value: '',
|
||||
topid:null,
|
||||
nowdrive:null,
|
||||
takeOver: false,
|
||||
atpOn: false
|
||||
takeOver: false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -419,9 +418,6 @@ export default {
|
||||
if (this.$refs.mmiui) {
|
||||
this.$refs.mmiui.updatetrainstatus(newdata);
|
||||
}
|
||||
if(newdata.hasOwnProperty('atpOn')){
|
||||
this.atpOn = newdata.atpOn;
|
||||
}
|
||||
|
||||
updatabuttonlight(newdata);
|
||||
},
|
||||
|
@ -8,7 +8,7 @@
|
||||
<td>网压</td>
|
||||
<td>网流</td>
|
||||
<td>速度</td>
|
||||
<td>牵引/制动级位111</td>
|
||||
<td>牵引/制动级位</td>
|
||||
<td>里程标</td>
|
||||
<td>下一站</td>
|
||||
<td>目的站</td>
|
||||
@ -143,7 +143,7 @@
|
||||
</div>
|
||||
</td></template
|
||||
>
|
||||
<template v-else-if="k === '交流输出电压111'">
|
||||
<template v-else-if="k === '交流输出电压'">
|
||||
<td v-for="(item, j) in v" :key="j">
|
||||
{{ item }}
|
||||
</td></template
|
||||
@ -230,7 +230,6 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
localStatic: JL3D_LOCAL_STATIC,
|
||||
groupNumber: '001',
|
||||
trainInfo: {
|
||||
voltage: 1600,
|
||||
current: 317,
|
||||
@ -262,14 +261,6 @@ export default {
|
||||
}
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
'$store.state.training.roleDeviceCode': function (val) {
|
||||
if(val) {
|
||||
this.unsubscribe();
|
||||
this.subscribe();
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.group = this.$route.query.group;
|
||||
this.subscribe();
|
||||
@ -284,8 +275,7 @@ export default {
|
||||
methods: {
|
||||
subscribe() {
|
||||
const header = { group: this.group || "", "X-Token": getToken() };
|
||||
this.groupNumber = this.$store.state.training.roleDeviceCode
|
||||
creatSubscribe(getTopic("TMS", this.group, { groupNumber: this.groupNumber }), header, msg => {
|
||||
creatSubscribe(getTopic("TMS", this.group), header, msg => {
|
||||
let res = JSON.parse(msg.body);
|
||||
console.log(res);
|
||||
console.log(res.parkingBreakPressure);
|
||||
@ -325,7 +315,7 @@ export default {
|
||||
});
|
||||
},
|
||||
unsubscribe() {
|
||||
clearSubscribe(getTopic("TMS", this.group, { groupNumber: this.groupNumber }));
|
||||
clearSubscribe(getTopic("TMS", this.group));
|
||||
},
|
||||
setTractionWave(flag) {
|
||||
if (timer) {
|
||||
|
@ -227,9 +227,7 @@ export default {
|
||||
this.logout();
|
||||
// });
|
||||
} else if (this.$route.query.third) {
|
||||
if (this.$route.query.thirdOpen) {
|
||||
window.close();
|
||||
} else if (this.$route.query.project === 'cgy' || this.$route.query.project === 'drts') {
|
||||
if (this.$route.query.project === 'cgy' || this.$route.query.project === 'drts') {
|
||||
window.parent.postMessage('back', '*');
|
||||
} else {
|
||||
window.close();
|
||||
|
@ -1,74 +0,0 @@
|
||||
<template>
|
||||
<div>
|
||||
<component :is="menus" :selected="selected" />
|
||||
<station-diagram ref="stationDiagram" @setSelected="setSelected" />
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import StationDiagram from '../stationDiagram/index';
|
||||
// import {covertMemberData} from '@/utils/simulation';
|
||||
// import {mapGetters} from 'vuex';
|
||||
import { clearSubscribe, getTopic} from '@/utils/stomp';
|
||||
export default {
|
||||
name: 'AtsWork',
|
||||
components: {
|
||||
StationDiagram
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
menus: null,
|
||||
selected: null,
|
||||
currentDriver:''
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
mapData() {
|
||||
return this.$store.state.map.map;
|
||||
},
|
||||
group() {
|
||||
return this.$route.query.group;
|
||||
},
|
||||
mapDevice() {
|
||||
return this.$store.state.map.mapDevice;
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
// 地图数据加载完毕
|
||||
'$store.state.map.mapDataLoadedCount': function () {
|
||||
const lineCode = this.$jlmap.lineCode;
|
||||
if (lineCode) {
|
||||
this.menus = this.$theme.loadAtsWorkMenuComponent(lineCode);
|
||||
}
|
||||
},
|
||||
'$store.state.map.initJlmapLoadedCount': function (val) {
|
||||
this.handleDispatchWorkData();
|
||||
},
|
||||
},
|
||||
beforeDestroy() {
|
||||
clearSubscribe(getTopic('ATS_STATUS', this.group));
|
||||
},
|
||||
methods: {
|
||||
setSelected(val) {
|
||||
this.selected = val;
|
||||
},
|
||||
handleDispatchWorkData() {
|
||||
const logicData = {routeData:this.$store.state.map.routeData, autoReentryData: this.$store.state.map.autoReentryData};
|
||||
const repaint = this.$store.state.map.initJlmapLoadedCount === 1;
|
||||
const width = this.$store.state.app.width;
|
||||
const height = this.$store.state.app.height;
|
||||
this.$store.dispatch('config/resize', { width, height });
|
||||
this.$jlmap.resize({ width, height });
|
||||
this.$nextTick(()=>{
|
||||
this.$jlmap.setMap(this.mapData, this.mapDevice, logicData, repaint);
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss">
|
||||
.changeDriver{
|
||||
position: absolute;
|
||||
left: 42%;
|
||||
top: 30px;
|
||||
}
|
||||
</style>
|
@ -49,7 +49,7 @@ export default {
|
||||
if (this.mapData && this.mapData.pictureList) {
|
||||
const picture = this.$store.state.map.map.pictureList.find(picture => picture.type === 'bigScreen');
|
||||
if (picture) {
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
|
||||
const deviceList = [];
|
||||
const mapDevice = this.$store.state.map.mapDevice;
|
||||
for (const deviceCode in mapDevice) {
|
||||
|
@ -1,456 +1,456 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-row>
|
||||
<!-- <el-col :span="3" style="height: 28px;line-height: 28px;">
|
||||
<el-radio v-model="addModel.forward" :label="true">{{ $t('planMonitor.addToTheFront') }}</el-radio>
|
||||
</el-col> -->
|
||||
<el-col :span="3" style="margin-left: 10px;height: 28px;line-height: 28px;">
|
||||
<span>{{ $t('planMonitor.tripNumber')+$t('global.colon') }}</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-select v-model="addModel.tripNumber" size="mini" :placeholder="this.$t('global.choose')" disabled>
|
||||
<el-option
|
||||
v-for="item in tripNumberList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-col>
|
||||
<el-col :span="3" style="margin-left: 20px;height: 28px;line-height: 28px;">
|
||||
<span>{{ $t('global.startTime')+$t('global.colon') }}</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-time-picker v-model="addModel.startTime" size="mini" value-format="HH:mm:ss" :clearable="false" :picker-options="{selectableRange:'02:00:00-23:59:59'}" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row style="margin-top: 5px;height: 28px;line-height: 28px;">
|
||||
<!-- <el-col :span="3">
|
||||
<el-radio v-model="addModel.forward" :label="false">{{ $t('planMonitor.addToTheEnd') }}</el-radio>
|
||||
</el-col> -->
|
||||
<!-- <el-col :span="3" style="margin-left: 10px;height: 28px;line-height: 28px;">
|
||||
<span>{{ $t('planMonitor.defaultStopTime') }}</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-input-number v-model="defaultStopTime" placeholder="请输入时间" size="mini" :controls="false" :min="0" /> -->
|
||||
<!-- <el-select v-model="defaultStopTime" size="mini" :placeholder="this.$t('global.choose')">
|
||||
<el-option
|
||||
v-for="item in defaultStopTimeList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select> -->
|
||||
<!-- </el-col> -->
|
||||
<el-col :span="3" style="margin-left:10px;height: 28px;line-height: 28px;">
|
||||
<!-- {{ $t('planMonitor.defaultRunLevel') }} -->
|
||||
<span>运行等级</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-select v-model="defaultSpeedLevel" size="mini" :placeholder="this.$t('global.choose')">
|
||||
<el-option
|
||||
v-for="item in defaultSpeedLevelList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
<el-row style="margin-bottom: 5px;">
|
||||
{{ $t('planMonitor.crossRailway')+$t('global.colon') }}
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-table
|
||||
v-loading="tableLoading"
|
||||
:data="routingList"
|
||||
border
|
||||
highlight-current-row
|
||||
:height="230"
|
||||
@row-click="handleClick"
|
||||
>
|
||||
<el-table-column
|
||||
prop="startStationCode"
|
||||
:label="this.$t('planMonitor.startingStation')"
|
||||
:filters="startStationFilters"
|
||||
:filter-method="filterStartStation"
|
||||
column-key="startStationCode"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ formatName(scope.row.startStationCode) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="startSectionCode" :label="this.$t('planMonitor.startingSection')" width="95">
|
||||
<template slot-scope="scope">
|
||||
{{ formatName(scope.row.startSectionCode) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="endStationCode"
|
||||
:label="this.$t('planMonitor.terminal')"
|
||||
:filters="endStationFilters"
|
||||
:filter-method="filterEndStation"
|
||||
column-key="endStationCode"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ formatName(scope.row.endStationCode) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="endSectionCode" :label="this.$t('planMonitor.endingSection')" width="95">
|
||||
<template slot-scope="scope">
|
||||
{{ formatName(scope.row.endSectionCode) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="routingType" label="交路类型">
|
||||
<template slot-scope="scope">
|
||||
{{ routingTypeMap[scope.row.routingType] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="类别" width="240">
|
||||
<template slot-scope="scope">
|
||||
{{ `${frontMap[String(scope.row.startTbFront)]} - ${frontMap[String(scope.row.endTbFront)]}` }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remarks" width="auto" :label="this.$t('planMonitor.description')" />
|
||||
</el-table>
|
||||
</el-row>
|
||||
<el-row style=" margin-bottom: 5px;margin-top: 10px;">
|
||||
{{ '经停转换轨 / 站台轨'+$t('global.colon') }}
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-table v-loading="routeLoading" :data="addModel.arriveConfigList" border :height="230">
|
||||
<el-table-column prop="stationCode" :label="this.$t('planMonitor.station')" width="160">
|
||||
<template slot-scope="scope">
|
||||
{{ formatName(scope.row.stationCode) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="sectionCode" :label="this.$t('planMonitor.section')" width="95">
|
||||
<template slot-scope="scope">
|
||||
{{ formatName(scope.row.sectionCode) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- prop="arriveTime" -->
|
||||
<el-table-column :label="this.$t('planMonitor.arriveTime')" width="100px">
|
||||
<template v-if="scope.$index!=0" slot-scope="scope">
|
||||
{{ scope.row.arriveTime }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- prop="stopTime" -->
|
||||
<el-table-column :label="this.$t('planMonitor.stopTime')" width="100px">
|
||||
<template v-if="scope.$index!=0&&scope.$index!=addModel.arriveConfigList.length-1" slot-scope="scope">
|
||||
{{ scope.row.stopTime+'s' }}
|
||||
<!-- <el-input v-model="scope.row.stopTime" placeholder="请输入时间" size="mini" @input="changeStopTime(scope.$index, scope.row.stopTime)" /> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="this.$t('planMonitor.departureTime')" width="100px">
|
||||
<template v-if="scope.$index!=addModel.arriveConfigList.length-1" slot-scope="scope">
|
||||
{{ scope.row.departureTime }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="this.$t('planMonitor.runLevel')">
|
||||
<template slot-scope="scope">
|
||||
<span style="font-size:13px;">{{ scope.row.speedLevel }}</span>
|
||||
<span>{{ '('+scope.row.speedLevelTime+'s)' }}</span>
|
||||
<!-- <el-input v-model="scope.row.speedLevelTime" style="width:70px" placeholder="请输入运行等级" size="mini" @input="changeSpeedLevelTime(scope.$index, scope.row.speedLevelTime)" /> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-row>
|
||||
<!-- <el-row>
|
||||
<el-col :offset="16">
|
||||
<el-checkbox v-model="showDefault">{{ $t('planMonitor.showDefaultStopTimeAndRunLevel') }}</el-checkbox>
|
||||
</el-col>
|
||||
</el-row> -->
|
||||
<div style="text-align:center;margin-top:15px;">
|
||||
<el-button size="medium" @click="doClose">{{ $t('global.cancel') }}</el-button>
|
||||
<el-button type="primary" size="medium" @click="handleCommit">{{ $t('global.confirm') }}</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listUserRoutingData, addPlanTrip, getMapStationRunUser, getStationStopTime, querySectionListByRouting } from '@/api/runplan';
|
||||
import { getRunplanConfig } from '@/api/jmap/mapdraft';
|
||||
import { formatTime, formatName } from '@/jmapNew/theme/parser/util';
|
||||
|
||||
export default {
|
||||
name: 'AddTask',
|
||||
components: {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tableLoading:false,
|
||||
routeLoading:false,
|
||||
isPlan: false,
|
||||
loadRunPlanId:'',
|
||||
// showDefault: true,
|
||||
stopStationMap: {},
|
||||
stopTimeMap:{},
|
||||
params: {},
|
||||
routingList: [],
|
||||
startStationFilters:[],
|
||||
endStationFilters:[],
|
||||
// defaultStopTime: '30',
|
||||
defaultSpeedLevel: 'l3',
|
||||
reentryData: {},
|
||||
addModel: {
|
||||
routingCode: '',
|
||||
endStationCode: '',
|
||||
startStationCode: '',
|
||||
startTime: '02:00:00',
|
||||
endTime: '',
|
||||
arriveConfigList: [],
|
||||
tripNumber: '',
|
||||
planId: '',
|
||||
serviceNumber: '',
|
||||
startTbFront: false,
|
||||
endTbFront: false
|
||||
},
|
||||
tripNumberList: [{ value: '', label: this.$t('planMonitor.automatic') }],
|
||||
defaultSpeedLevelList: [
|
||||
{ value: 'l1', label: '等级一' },
|
||||
{ value: 'l2', label: '等级二' },
|
||||
{ value: 'l3', label: '等级三'},
|
||||
{ value: 'l4', label: '等级四' },
|
||||
{ value: 'l5', label: '等级五' }
|
||||
],
|
||||
routingTypeMap: {
|
||||
OUTBOUND: '出库',
|
||||
INBOUND: '入库',
|
||||
LOOP: '环路'
|
||||
},
|
||||
frontMap: {
|
||||
'true': '折返轨(站前)',
|
||||
'false': '折返轨(站后)',
|
||||
'undefined': '转换轨',
|
||||
'null': '转换轨'
|
||||
}
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
'addModel.routingCode': function (val) {
|
||||
if (val) {
|
||||
this.computedDetailList('routingCode');
|
||||
}
|
||||
},
|
||||
'addModel.startTime': function () {
|
||||
this.computedDetailList();
|
||||
},
|
||||
'defaultSpeedLevel': function () {
|
||||
this.computedDetailList('defaultSpeedLevel');
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
loadInitData(params) {
|
||||
this.loadRunPlanId = params.loadRunPlanId;
|
||||
this.isPlan = params.isPlan;
|
||||
this.addModel.serviceNumber = params.serviceNumber;
|
||||
this.addModel.planId = this.$route.query.planId || this.loadRunPlanId;
|
||||
this.addModel.arriveConfigList = [];
|
||||
const mapId = this.$route.query.mapId;
|
||||
|
||||
if (mapId) {
|
||||
this.tableLoading = true;
|
||||
getRunplanConfig(mapId).then(resp => {
|
||||
const data = resp.data;
|
||||
this.reentryData = data.config.reentryData;
|
||||
});
|
||||
|
||||
listUserRoutingData(mapId).then(resp => {
|
||||
this.routingList = resp.data;
|
||||
const startStationFilterMap = {};
|
||||
const endStationFilterMap = {};
|
||||
this.routingList.forEach(routing=>{
|
||||
if (!startStationFilterMap[routing.startStationCode]) {
|
||||
startStationFilterMap[routing.startStationCode] = {text:formatName(routing.startStationCode), value:routing.startStationCode};
|
||||
}
|
||||
if (!endStationFilterMap[routing.endStationCode]) {
|
||||
endStationFilterMap[routing.endStationCode] = {text:formatName(routing.endStationCode), value:routing.endStationCode};
|
||||
}
|
||||
});
|
||||
this.startStationFilters = Object.values(startStationFilterMap).sort((a, b)=>{
|
||||
const startStationA = this.$store.getters['map/getDeviceByCode'](a.value);
|
||||
const startStationB = this.$store.getters['map/getDeviceByCode'](b.value);
|
||||
return startStationA.kmRange - startStationB.kmRange;
|
||||
});
|
||||
this.endStationFilters = Object.values(endStationFilterMap).sort((a, b)=>{
|
||||
const endStationA = this.$store.getters['map/getDeviceByCode'](a.value);
|
||||
const endStationB = this.$store.getters['map/getDeviceByCode'](b.value);
|
||||
return endStationA.kmRange - endStationB.kmRange;
|
||||
});
|
||||
this.tableLoading = false;
|
||||
});
|
||||
|
||||
getMapStationRunUser(mapId).then(resp =>{
|
||||
const list = resp.data.list;
|
||||
list.forEach(elem => {
|
||||
this.stopStationMap[[elem.startSectionCode, elem.endSectionCode].toString()] = elem;
|
||||
});
|
||||
getStationStopTime(mapId).then(response=>{
|
||||
const stopTimeList = response.data.list;
|
||||
stopTimeList.forEach(element=>{
|
||||
this.stopTimeMap[element.stationCode] = {parkingTime:element.parkingTime};
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
filterStartStation(value, row) {
|
||||
return row.startStationCode == value;
|
||||
},
|
||||
filterEndStation(value, row) {
|
||||
return row.endStationCode == value;
|
||||
},
|
||||
doClose() {
|
||||
this.$emit('doClose');
|
||||
},
|
||||
formatName(code) {
|
||||
return formatName(code);
|
||||
},
|
||||
computedTimeByString(timeStr) {
|
||||
const bTime = +new Date(`2019-01-01 00:00:00`);
|
||||
const eTime = +new Date(`2019-01-01 ${timeStr}`);
|
||||
return Number(eTime) - Number(bTime);
|
||||
},
|
||||
compuntedRunTime(list, index, runLevel) {
|
||||
let runTime = 0;
|
||||
|
||||
if ((index == 0 && String(this.addModel.startTbFront) == false) ||
|
||||
(index == list.length - 1 && String(this.addModel.endTbFront) == false)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (index < list.length - 1) {
|
||||
const stopStationObj = this.stopStationMap[[list[index].sectionCode, list[index + 1].sectionCode].toString()];
|
||||
if (stopStationObj) {
|
||||
if (stopStationObj.runPlanLevelVO) {
|
||||
runTime = parseInt(stopStationObj.runPlanLevelVO[runLevel]);
|
||||
} else if (stopStationObj[runLevel]) {
|
||||
runTime = parseInt(stopStationObj[runLevel]);
|
||||
} else {
|
||||
this.$messageBox(this.$t('planMonitor.addTaskHint1') + stopStationObj.startSectionCode + this.$t('planMonitor.addTaskHint2') + stopStationObj.endSectionCode + this.$t('planMonitor.addTaskHint3'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return runTime;
|
||||
},
|
||||
computedDetailList(type = null) {
|
||||
if (this.addModel.routingCode) {
|
||||
let tempTime = this.computedTimeByString(this.addModel.startTime) / 1000;
|
||||
const list = Object.assign([], this.addModel.arriveConfigList);
|
||||
const runLevel = this.defaultSpeedLevel || 'l1'; // 默认等级三
|
||||
|
||||
list.forEach((elem, index) => {
|
||||
if (type == 'routingCode') {
|
||||
if (index == 0 || index == list.length - 1) {
|
||||
elem.stopTime = 0;
|
||||
} else if (this.stopTimeMap[elem.stationCode]) {
|
||||
elem.stopTime = this.stopTimeMap[elem.stationCode].parkingTime;
|
||||
} else {
|
||||
elem.stopTime = 0;
|
||||
}
|
||||
}
|
||||
|
||||
tempTime = tempTime || this.computedTimeByString('23:59:59') / 1000 + 1;
|
||||
elem.arriveTime = formatTime(tempTime);
|
||||
if (index == list.length - 1 && String(this.addModel.endTbFront) == 'true') {
|
||||
const data = this.reentryData[list[index].stationCode] || {};
|
||||
elem.departureTime = formatTime(tempTime + elem.stopTime + data.tbFront || 0);
|
||||
} else {
|
||||
elem.departureTime = formatTime(tempTime + elem.stopTime);
|
||||
}
|
||||
|
||||
const runLevelObj = this.defaultSpeedLevelList.find(speedLevel=>{ return speedLevel.value == runLevel; });
|
||||
const realRunlevel = this.compuntedRunTime(list, index, runLevel);
|
||||
|
||||
elem.speedLevelTime = realRunlevel;
|
||||
elem.speedLevel = runLevelObj.label;
|
||||
|
||||
let fronTime = 0;
|
||||
if (index == 0 && String(this.addModel.startTbFront) == 'false') {
|
||||
const data = this.reentryData[elem.stationCode] || {};
|
||||
fronTime = data.tbTo || 0;
|
||||
} else if (index == list.length - 2 && String(this.addModel.endTbFront) == 'false') {
|
||||
const data = this.reentryData[list[index + 1].stationCode] || {};
|
||||
fronTime = data.tbTo || 0;
|
||||
} else if (index == list.length - 1 && String(this.addModel.endTbFront) == 'true') {
|
||||
const data = this.reentryData[list[index].stationCode] || {};
|
||||
fronTime = data.tbFront || 0;
|
||||
}
|
||||
|
||||
tempTime = tempTime + fronTime + elem.stopTime + elem.speedLevelTime;
|
||||
});
|
||||
|
||||
this.addModel.endTime = formatTime(tempTime - list[list.length - 1].stopTime);
|
||||
}
|
||||
},
|
||||
handleClick(row, column, event) {
|
||||
this.routeLoading = true;
|
||||
const arriveConfigList = [];
|
||||
querySectionListByRouting(row.id).then(resp=>{
|
||||
resp.data.forEach((parkSectionCode, index)=>{
|
||||
arriveConfigList.push({arriveTime:'', departureTime:'', sectionCode:parkSectionCode.sectionCode, stationCode:parkSectionCode.stationCode});
|
||||
});
|
||||
this.$set(this.addModel, 'arriveConfigList', arriveConfigList);
|
||||
this.addModel.startStationCode = row.startStationCode;
|
||||
this.addModel.endStationCode = row.endStationCode;
|
||||
this.addModel.endSectionCode = row.endSectionCode;
|
||||
this.addModel.startSectionCode = row.startSectionCode;
|
||||
this.addModel.routingCode = row.id;
|
||||
this.addModel.startTbFront = row.startTbFront;
|
||||
this.addModel.endTbFront = row.endTbFront;
|
||||
this.computedDetailList('routingCode');
|
||||
this.routeLoading = false;
|
||||
});
|
||||
},
|
||||
handleCommit() {
|
||||
if (this.addModel.arriveConfigList.length > 0) {
|
||||
if (this.isPlan) {
|
||||
// 计划添加任务
|
||||
this.$emit('dispatchOperate', { dialogName: 'editPlanningTrain', operate: 'handleConfirmAddTask', params: Object.assign({}, this.addModel) });
|
||||
this.addModel.routingCode = '';
|
||||
} else {
|
||||
// 直接添加任务
|
||||
delete this.addModel.tripNumber;
|
||||
addPlanTrip(this.addModel).then(resp => {
|
||||
// this.$emit('dispatchOperate', {
|
||||
// dialogName: 'openRunPlan', operate: 'loadRunPlanData', params: Object.assign({refresh: true}, this.$route.query)
|
||||
// });
|
||||
this.$store.dispatch('runPlan/refresh');
|
||||
this.$message.success(this.$t('tip.addTaskSuccessfully'));
|
||||
}).catch((error) => {
|
||||
this.$messageBox(this.$t('tip.addTaskFailed') + ': ' + error.message);
|
||||
});
|
||||
}
|
||||
this.doClose();
|
||||
} else {
|
||||
this.$messageBox('请选择交路');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
@import "src/styles/mixin.scss";
|
||||
|
||||
/deep/ {
|
||||
.el-row {
|
||||
margin-bottom: 5px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.add-task{
|
||||
/deep/ {
|
||||
.el-dialog__body{
|
||||
padding: 0 20px;
|
||||
}
|
||||
.dialog-footer{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<div>
|
||||
<el-row>
|
||||
<!-- <el-col :span="3" style="height: 28px;line-height: 28px;">
|
||||
<el-radio v-model="addModel.forward" :label="true">{{ $t('planMonitor.addToTheFront') }}</el-radio>
|
||||
</el-col> -->
|
||||
<el-col :span="3" style="margin-left: 10px;height: 28px;line-height: 28px;">
|
||||
<span>{{ $t('planMonitor.tripNumber')+$t('global.colon') }}</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-select v-model="addModel.tripNumber" size="mini" :placeholder="this.$t('global.choose')" disabled>
|
||||
<el-option
|
||||
v-for="item in tripNumberList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-col>
|
||||
<el-col :span="3" style="margin-left: 20px;height: 28px;line-height: 28px;">
|
||||
<span>{{ $t('global.startTime')+$t('global.colon') }}</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-time-picker v-model="addModel.startTime" size="mini" value-format="HH:mm:ss" :clearable="false" :picker-options="{selectableRange:'02:00:00-23:59:59'}" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row style="margin-top: 5px;height: 28px;line-height: 28px;">
|
||||
<!-- <el-col :span="3">
|
||||
<el-radio v-model="addModel.forward" :label="false">{{ $t('planMonitor.addToTheEnd') }}</el-radio>
|
||||
</el-col> -->
|
||||
<!-- <el-col :span="3" style="margin-left: 10px;height: 28px;line-height: 28px;">
|
||||
<span>{{ $t('planMonitor.defaultStopTime') }}</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-input-number v-model="defaultStopTime" placeholder="请输入时间" size="mini" :controls="false" :min="0" /> -->
|
||||
<!-- <el-select v-model="defaultStopTime" size="mini" :placeholder="this.$t('global.choose')">
|
||||
<el-option
|
||||
v-for="item in defaultStopTimeList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select> -->
|
||||
<!-- </el-col> -->
|
||||
<el-col :span="3" style="margin-left:10px;height: 28px;line-height: 28px;">
|
||||
<!-- {{ $t('planMonitor.defaultRunLevel') }} -->
|
||||
<span>运行等级</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-select v-model="defaultSpeedLevel" size="mini" :placeholder="this.$t('global.choose')">
|
||||
<el-option
|
||||
v-for="item in defaultSpeedLevelList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
<el-row style="margin-bottom: 5px;">
|
||||
{{ $t('planMonitor.crossRailway')+$t('global.colon') }}
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-table
|
||||
v-loading="tableLoading"
|
||||
:data="routingList"
|
||||
border
|
||||
highlight-current-row
|
||||
:height="230"
|
||||
@row-click="handleClick"
|
||||
>
|
||||
<el-table-column
|
||||
prop="startStationCode"
|
||||
:label="this.$t('planMonitor.startingStation')"
|
||||
:filters="startStationFilters"
|
||||
:filter-method="filterStartStation"
|
||||
column-key="startStationCode"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ formatName(scope.row.startStationCode) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="startSectionCode" :label="this.$t('planMonitor.startingSection')" width="95">
|
||||
<template slot-scope="scope">
|
||||
{{ formatName(scope.row.startSectionCode) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="endStationCode"
|
||||
:label="this.$t('planMonitor.terminal')"
|
||||
:filters="endStationFilters"
|
||||
:filter-method="filterEndStation"
|
||||
column-key="endStationCode"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ formatName(scope.row.endStationCode) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="endSectionCode" :label="this.$t('planMonitor.endingSection')" width="95">
|
||||
<template slot-scope="scope">
|
||||
{{ formatName(scope.row.endSectionCode) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="routingType" label="交路类型">
|
||||
<template slot-scope="scope">
|
||||
{{ routingTypeMap[scope.row.routingType] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="类别" width="240">
|
||||
<template slot-scope="scope">
|
||||
{{ `${frontMap[String(scope.row.startTbFront)]} - ${frontMap[String(scope.row.endTbFront)]}` }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remarks" width="auto" :label="this.$t('planMonitor.description')" />
|
||||
</el-table>
|
||||
</el-row>
|
||||
<el-row style=" margin-bottom: 5px;margin-top: 10px;">
|
||||
{{ '经停转换轨 / 站台轨'+$t('global.colon') }}
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-table v-loading="routeLoading" :data="addModel.arriveConfigList" border :height="230">
|
||||
<el-table-column prop="stationCode" :label="this.$t('planMonitor.station')" width="160">
|
||||
<template slot-scope="scope">
|
||||
{{ formatName(scope.row.stationCode) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="sectionCode" :label="this.$t('planMonitor.section')" width="95">
|
||||
<template slot-scope="scope">
|
||||
{{ formatName(scope.row.sectionCode) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- prop="arriveTime" -->
|
||||
<el-table-column :label="this.$t('planMonitor.arriveTime')" width="100px">
|
||||
<template v-if="scope.$index!=0" slot-scope="scope">
|
||||
{{ scope.row.arriveTime }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- prop="stopTime" -->
|
||||
<el-table-column :label="this.$t('planMonitor.stopTime')" width="100px">
|
||||
<template v-if="scope.$index!=0&&scope.$index!=addModel.arriveConfigList.length-1" slot-scope="scope">
|
||||
{{ scope.row.stopTime+'s' }}
|
||||
<!-- <el-input v-model="scope.row.stopTime" placeholder="请输入时间" size="mini" @input="changeStopTime(scope.$index, scope.row.stopTime)" /> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="this.$t('planMonitor.departureTime')" width="100px">
|
||||
<template v-if="scope.$index!=addModel.arriveConfigList.length-1" slot-scope="scope">
|
||||
{{ scope.row.departureTime }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="this.$t('planMonitor.runLevel')">
|
||||
<template slot-scope="scope">
|
||||
<span style="font-size:13px;">{{ scope.row.speedLevel }}</span>
|
||||
<span>{{ '('+scope.row.speedLevelTime+'s)' }}</span>
|
||||
<!-- <el-input v-model="scope.row.speedLevelTime" style="width:70px" placeholder="请输入运行等级" size="mini" @input="changeSpeedLevelTime(scope.$index, scope.row.speedLevelTime)" /> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-row>
|
||||
<!-- <el-row>
|
||||
<el-col :offset="16">
|
||||
<el-checkbox v-model="showDefault">{{ $t('planMonitor.showDefaultStopTimeAndRunLevel') }}</el-checkbox>
|
||||
</el-col>
|
||||
</el-row> -->
|
||||
<div style="text-align:center;margin-top:15px;">
|
||||
<el-button size="medium" @click="doClose">{{ $t('global.cancel') }}</el-button>
|
||||
<el-button type="primary" size="medium" @click="handleCommit">{{ $t('global.confirm') }}</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listUserRoutingData, addPlanTrip, getMapStationRunUser, getStationStopTime, querySectionListByRouting } from '@/api/runplan';
|
||||
import { getRunplanConfig } from '@/api/jmap/mapdraft';
|
||||
import { formatTime, formatName } from '@/jmapNew/theme/parser/util';
|
||||
|
||||
export default {
|
||||
name: 'AddTask',
|
||||
components: {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tableLoading:false,
|
||||
routeLoading:false,
|
||||
isPlan: false,
|
||||
loadRunPlanId:'',
|
||||
// showDefault: true,
|
||||
stopStationMap: {},
|
||||
stopTimeMap:{},
|
||||
params: {},
|
||||
routingList: [],
|
||||
startStationFilters:[],
|
||||
endStationFilters:[],
|
||||
// defaultStopTime: '30',
|
||||
defaultSpeedLevel: 'l3',
|
||||
reentryData: {},
|
||||
addModel: {
|
||||
routingCode: '',
|
||||
endStationCode: '',
|
||||
startStationCode: '',
|
||||
startTime: '02:00:00',
|
||||
endTime: '',
|
||||
arriveConfigList: [],
|
||||
tripNumber: '',
|
||||
planId: '',
|
||||
serviceNumber: '',
|
||||
startTbFront: false,
|
||||
endTbFront: false
|
||||
},
|
||||
tripNumberList: [{ value: '', label: this.$t('planMonitor.automatic') }],
|
||||
defaultSpeedLevelList: [
|
||||
{ value: 'l1', label: '等级一' },
|
||||
{ value: 'l2', label: '等级二' },
|
||||
{ value: 'l3', label: '等级三'},
|
||||
{ value: 'l4', label: '等级四' },
|
||||
{ value: 'l5', label: '等级五' }
|
||||
],
|
||||
routingTypeMap: {
|
||||
OUTBOUND: '出库',
|
||||
INBOUND: '入库',
|
||||
LOOP: '环路'
|
||||
},
|
||||
frontMap: {
|
||||
'true': '折返轨(站前)',
|
||||
'false': '折返轨(站后)',
|
||||
'undefined': '转换轨',
|
||||
'null': '转换轨'
|
||||
}
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
'addModel.routingCode': function (val) {
|
||||
if (val) {
|
||||
this.computedDetailList('routingCode');
|
||||
}
|
||||
},
|
||||
'addModel.startTime': function () {
|
||||
this.computedDetailList();
|
||||
},
|
||||
'defaultSpeedLevel': function () {
|
||||
this.computedDetailList('defaultSpeedLevel');
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
loadInitData(params) {
|
||||
this.loadRunPlanId = params.loadRunPlanId;
|
||||
this.isPlan = params.isPlan;
|
||||
this.addModel.serviceNumber = params.serviceNumber;
|
||||
this.addModel.planId = this.$route.query.planId || this.loadRunPlanId;
|
||||
this.addModel.arriveConfigList = [];
|
||||
const mapId = this.$route.query.mapId;
|
||||
|
||||
if (mapId) {
|
||||
this.tableLoading = true;
|
||||
getRunplanConfig(mapId).then(resp => {
|
||||
const data = resp.data;
|
||||
this.reentryData = data.config.reentryData;
|
||||
});
|
||||
|
||||
listUserRoutingData(mapId).then(resp => {
|
||||
this.routingList = resp.data;
|
||||
const startStationFilterMap = {};
|
||||
const endStationFilterMap = {};
|
||||
this.routingList.forEach(routing=>{
|
||||
if (!startStationFilterMap[routing.startStationCode]) {
|
||||
startStationFilterMap[routing.startStationCode] = {text:formatName(routing.startStationCode), value:routing.startStationCode};
|
||||
}
|
||||
if (!endStationFilterMap[routing.endStationCode]) {
|
||||
endStationFilterMap[routing.endStationCode] = {text:formatName(routing.endStationCode), value:routing.endStationCode};
|
||||
}
|
||||
});
|
||||
this.startStationFilters = Object.values(startStationFilterMap).sort((a, b)=>{
|
||||
const startStationA = this.$store.getters['map/getDeviceByCode'](a.value);
|
||||
const startStationB = this.$store.getters['map/getDeviceByCode'](b.value);
|
||||
return startStationA.kmRange - startStationB.kmRange;
|
||||
});
|
||||
this.endStationFilters = Object.values(endStationFilterMap).sort((a, b)=>{
|
||||
const endStationA = this.$store.getters['map/getDeviceByCode'](a.value);
|
||||
const endStationB = this.$store.getters['map/getDeviceByCode'](b.value);
|
||||
return endStationA.kmRange - endStationB.kmRange;
|
||||
});
|
||||
this.tableLoading = false;
|
||||
});
|
||||
|
||||
getMapStationRunUser(mapId).then(resp =>{
|
||||
const list = resp.data.list;
|
||||
list.forEach(elem => {
|
||||
this.stopStationMap[[elem.startSectionCode, elem.endSectionCode].toString()] = elem;
|
||||
});
|
||||
getStationStopTime(mapId).then(response=>{
|
||||
const stopTimeList = response.data.list;
|
||||
stopTimeList.forEach(element=>{
|
||||
this.stopTimeMap[element.stationCode] = {parkingTime:element.parkingTime};
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
filterStartStation(value, row) {
|
||||
return row.startStationCode == value;
|
||||
},
|
||||
filterEndStation(value, row) {
|
||||
return row.endStationCode == value;
|
||||
},
|
||||
doClose() {
|
||||
this.$emit('doClose');
|
||||
},
|
||||
formatName(code) {
|
||||
return formatName(code);
|
||||
},
|
||||
computedTimeByString(timeStr) {
|
||||
const bTime = +new Date(`2019-01-01 00:00:00`);
|
||||
const eTime = +new Date(`2019-01-01 ${timeStr}`);
|
||||
return Number(eTime) - Number(bTime);
|
||||
},
|
||||
compuntedRunTime(list, index, runLevel) {
|
||||
let runTime = 0;
|
||||
|
||||
if ((index == 0 && String(this.addModel.startTbFront) == false) ||
|
||||
(index == list.length - 1 && String(this.addModel.endTbFront) == false)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (index < list.length - 1) {
|
||||
const stopStationObj = this.stopStationMap[[list[index].sectionCode, list[index + 1].sectionCode].toString()];
|
||||
if (stopStationObj) {
|
||||
if (stopStationObj.runPlanLevelVO) {
|
||||
runTime = parseInt(stopStationObj.runPlanLevelVO[runLevel]);
|
||||
} else if (stopStationObj[runLevel]) {
|
||||
runTime = parseInt(stopStationObj[runLevel]);
|
||||
} else {
|
||||
this.$messageBox(this.$t('planMonitor.addTaskHint1') + stopStationObj.startSectionCode + this.$t('planMonitor.addTaskHint2') + stopStationObj.endSectionCode + this.$t('planMonitor.addTaskHint3'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return runTime;
|
||||
},
|
||||
computedDetailList(type = null) {
|
||||
if (this.addModel.routingCode) {
|
||||
let tempTime = this.computedTimeByString(this.addModel.startTime) / 1000;
|
||||
const list = Object.assign([], this.addModel.arriveConfigList);
|
||||
const runLevel = this.defaultSpeedLevel || 'l1'; // 默认等级三
|
||||
|
||||
list.forEach((elem, index) => {
|
||||
if (type == 'routingCode') {
|
||||
if (index == 0 || index == list.length - 1) {
|
||||
elem.stopTime = 0;
|
||||
} else if (this.stopTimeMap[elem.stationCode]) {
|
||||
elem.stopTime = this.stopTimeMap[elem.stationCode].parkingTime;
|
||||
} else {
|
||||
elem.stopTime = 0;
|
||||
}
|
||||
}
|
||||
|
||||
tempTime = tempTime || this.computedTimeByString('23:59:59') / 1000 + 1;
|
||||
elem.arriveTime = formatTime(tempTime);
|
||||
if (index == list.length - 1 && String(this.addModel.endTbFront) == 'true') {
|
||||
const data = this.reentryData[list[index].stationCode] || {};
|
||||
elem.departureTime = formatTime(tempTime + elem.stopTime + data.tbFront || 0);
|
||||
} else {
|
||||
elem.departureTime = formatTime(tempTime + elem.stopTime);
|
||||
}
|
||||
|
||||
const runLevelObj = this.defaultSpeedLevelList.find(speedLevel=>{ return speedLevel.value == runLevel; });
|
||||
const realRunlevel = this.compuntedRunTime(list, index, runLevel);
|
||||
|
||||
elem.speedLevelTime = realRunlevel;
|
||||
elem.speedLevel = runLevelObj.label;
|
||||
|
||||
let fronTime = 0;
|
||||
if (index == 0 && String(this.addModel.startTbFront) == 'false') {
|
||||
const data = this.reentryData[elem.stationCode] || {};
|
||||
fronTime = data.tbTo || 0;
|
||||
} else if (index == list.length - 2 && String(this.addModel.endTbFront) == 'false') {
|
||||
const data = this.reentryData[list[index + 1].stationCode] || {};
|
||||
fronTime = data.tbTo || 0;
|
||||
} else if (index == list.length - 1 && String(this.addModel.endTbFront) == 'true') {
|
||||
const data = this.reentryData[list[index].stationCode] || {};
|
||||
fronTime = data.tbFront || 0;
|
||||
}
|
||||
|
||||
tempTime = tempTime + fronTime + elem.stopTime + elem.speedLevelTime;
|
||||
});
|
||||
|
||||
this.addModel.endTime = formatTime(tempTime - list[list.length - 1].stopTime);
|
||||
}
|
||||
},
|
||||
handleClick(row, column, event) {
|
||||
this.routeLoading = true;
|
||||
const arriveConfigList = [];
|
||||
querySectionListByRouting(row.id).then(resp=>{
|
||||
resp.data.forEach((parkSectionCode, index)=>{
|
||||
arriveConfigList.push({arriveTime:'', departureTime:'', sectionCode:parkSectionCode.sectionCode, stationCode:parkSectionCode.stationCode});
|
||||
});
|
||||
this.$set(this.addModel, 'arriveConfigList', arriveConfigList);
|
||||
this.addModel.startStationCode = row.startStationCode;
|
||||
this.addModel.endStationCode = row.endStationCode;
|
||||
this.addModel.endSectionCode = row.endSectionCode;
|
||||
this.addModel.startSectionCode = row.startSectionCode;
|
||||
this.addModel.routingCode = row.id;
|
||||
this.addModel.startTbFront = row.startTbFront;
|
||||
this.addModel.endTbFront = row.endTbFront;
|
||||
this.computedDetailList('routingCode');
|
||||
this.routeLoading = false;
|
||||
});
|
||||
},
|
||||
handleCommit() {
|
||||
if (this.addModel.arriveConfigList.length > 0) {
|
||||
if (this.isPlan) {
|
||||
// 计划添加任务
|
||||
this.$emit('dispatchOperate', { dialogName: 'editPlanningTrain', operate: 'handleConfirmAddTask', params: Object.assign({}, this.addModel) });
|
||||
this.addModel.routingCode = '';
|
||||
} else {
|
||||
// 直接添加任务
|
||||
delete this.addModel.tripNumber;
|
||||
addPlanTrip(this.addModel).then(resp => {
|
||||
// this.$emit('dispatchOperate', {
|
||||
// dialogName: 'openRunPlan', operate: 'loadRunPlanData', params: Object.assign({refresh: true}, this.$route.query)
|
||||
// });
|
||||
this.$emit('refresh');
|
||||
this.$message.success(this.$t('tip.addTaskSuccessfully'));
|
||||
}).catch((error) => {
|
||||
this.$messageBox(this.$t('tip.addTaskFailed') + ': ' + error.message);
|
||||
});
|
||||
}
|
||||
this.doClose();
|
||||
} else {
|
||||
this.$messageBox('请选择交路');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
@import "src/styles/mixin.scss";
|
||||
|
||||
/deep/ {
|
||||
.el-row {
|
||||
margin-bottom: 5px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.add-task{
|
||||
/deep/ {
|
||||
.el-dialog__body{
|
||||
padding: 0 20px;
|
||||
}
|
||||
.dialog-footer{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -1,97 +1,97 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-row>
|
||||
<el-radio v-model="model.deleteBefore" :label="true">{{ $t('planMonitor.deleteAllPreviousTasks') }}</el-radio>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-radio v-model="model.deleteBefore" :label="false">{{ $t('planMonitor.deleteAllSubsequentTasks') }}</el-radio>
|
||||
</el-row>
|
||||
<div style="text-align:center;margin-top:15px;">
|
||||
<el-button size="medium" @click="doClose">{{ $t('global.cancel') }}</el-button>
|
||||
<el-button type="primary" size="medium" @click="handleCommit">{{ $t('global.confirm') }}</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { deletePlanTrip } from '@/api/runplan';
|
||||
|
||||
export default {
|
||||
name: 'DeleteTask',
|
||||
components: {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isPlan: false,
|
||||
loadRunPlanId:'',
|
||||
model: {
|
||||
routingCode: '',
|
||||
deleteBefore: false,
|
||||
tripNumber: '',
|
||||
serviceNumber: ''
|
||||
}
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
loadInitData(params) {
|
||||
this.loadRunPlanId = params.loadRunPlanId;
|
||||
this.isPlan = params.isPlan;
|
||||
this.model.taskIndex = params.taskIndex;
|
||||
this.model.tripNumber = params.tripNumber;
|
||||
this.model.serviceNumber = params.serviceNumber;
|
||||
this.model.routingCode = params.routingCode;
|
||||
},
|
||||
doClose() {
|
||||
this.$emit('doClose');
|
||||
},
|
||||
handleCommit() {
|
||||
if (this.isPlan) {
|
||||
// 计划删除任务
|
||||
this.$emit('dispatchOperate', { dialogName: 'editPlanningTrain', operate: 'handleConfirmDeleteTask', params: this.model });
|
||||
} else {
|
||||
// 直接删除任务
|
||||
const model = {
|
||||
planId: this.$route.query.planId || this.loadRunPlanId,
|
||||
SDTNumber: `${this.model.serviceNumber}${this.model.tripNumber}`,
|
||||
deleteBefore: this.model.deleteBefore
|
||||
};
|
||||
|
||||
deletePlanTrip(model).then(resp => {
|
||||
this.$store.dispatch('runPlan/setSelected', {});
|
||||
this.$store.dispatch('runPlan/setDraftSelected', {});
|
||||
this.$store.dispatch('runPlan/refresh');
|
||||
// this.$emit('dispatchOperate', {
|
||||
// dialogName: 'openRunPlan', operate: 'loadRunPlanData', params: Object.assign({refresh: true}, this.$route.query)
|
||||
// });
|
||||
this.$message.success(this.$t('tip.deleteTaskSuccessfully'));
|
||||
}).catch(() => {
|
||||
this.$messageBox(this.$t('tip.deleteTaskFailed'));
|
||||
});
|
||||
}
|
||||
this.doClose();
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
@import "src/styles/mixin.scss";
|
||||
|
||||
/deep/ {
|
||||
.el-row {
|
||||
margin: 10px;
|
||||
}
|
||||
}
|
||||
.delete-task{
|
||||
/deep/ {
|
||||
.el-dialog__body{
|
||||
padding: 0 20px;
|
||||
}
|
||||
.dialog-footer{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<div>
|
||||
<el-row>
|
||||
<el-radio v-model="model.deleteBefore" :label="true">{{ $t('planMonitor.deleteAllPreviousTasks') }}</el-radio>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-radio v-model="model.deleteBefore" :label="false">{{ $t('planMonitor.deleteAllSubsequentTasks') }}</el-radio>
|
||||
</el-row>
|
||||
<div style="text-align:center;margin-top:15px;">
|
||||
<el-button size="medium" @click="doClose">{{ $t('global.cancel') }}</el-button>
|
||||
<el-button type="primary" size="medium" @click="handleCommit">{{ $t('global.confirm') }}</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { deletePlanTrip } from '@/api/runplan';
|
||||
|
||||
export default {
|
||||
name: 'DeleteTask',
|
||||
components: {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isPlan: false,
|
||||
loadRunPlanId:'',
|
||||
model: {
|
||||
routingCode: '',
|
||||
deleteBefore: false,
|
||||
tripNumber: '',
|
||||
serviceNumber: ''
|
||||
}
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
loadInitData(params) {
|
||||
this.loadRunPlanId = params.loadRunPlanId;
|
||||
this.isPlan = params.isPlan;
|
||||
this.model.taskIndex = params.taskIndex;
|
||||
this.model.tripNumber = params.tripNumber;
|
||||
this.model.serviceNumber = params.serviceNumber;
|
||||
this.model.routingCode = params.routingCode;
|
||||
},
|
||||
doClose() {
|
||||
this.$emit('doClose');
|
||||
},
|
||||
handleCommit() {
|
||||
if (this.isPlan) {
|
||||
// 计划删除任务
|
||||
this.$emit('dispatchOperate', { dialogName: 'editPlanningTrain', operate: 'handleConfirmDeleteTask', params: this.model });
|
||||
} else {
|
||||
// 直接删除任务
|
||||
const model = {
|
||||
planId: this.$route.query.planId || this.loadRunPlanId,
|
||||
SDTNumber: `${this.model.serviceNumber}${this.model.tripNumber}`,
|
||||
deleteBefore: this.model.deleteBefore
|
||||
};
|
||||
|
||||
deletePlanTrip(model).then(resp => {
|
||||
this.$store.dispatch('runPlan/setSelected', {});
|
||||
this.$store.dispatch('runPlan/setDraftSelected', {});
|
||||
this.$emit('refresh');
|
||||
// this.$emit('dispatchOperate', {
|
||||
// dialogName: 'openRunPlan', operate: 'loadRunPlanData', params: Object.assign({refresh: true}, this.$route.query)
|
||||
// });
|
||||
this.$message.success(this.$t('tip.deleteTaskSuccessfully'));
|
||||
}).catch(() => {
|
||||
this.$messageBox(this.$t('tip.deleteTaskFailed'));
|
||||
});
|
||||
}
|
||||
this.doClose();
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
@import "src/styles/mixin.scss";
|
||||
|
||||
/deep/ {
|
||||
.el-row {
|
||||
margin: 10px;
|
||||
}
|
||||
}
|
||||
.delete-task{
|
||||
/deep/ {
|
||||
.el-dialog__body{
|
||||
padding: 0 20px;
|
||||
}
|
||||
.dialog-footer{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -714,14 +714,6 @@ export default {
|
||||
confirmPublish() {
|
||||
publishRunPlanAllUser(this.loadRunPlanId, this.publishName || this.loadRunPlanName).then(resp => {
|
||||
this.$message.success(this.$t('tip.publishRunPlanSuccess'));
|
||||
if (resp.data && resp.data.length > 0) {
|
||||
let message = '';
|
||||
resp.data.forEach(msg => message += (msg + ';'))
|
||||
this.$confirm(message, this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
showCancelButton: false
|
||||
})
|
||||
}
|
||||
this.publishVisible = false;
|
||||
}).catch(() => {
|
||||
this.$messageBox(this.$t('tip.publishRunPlanFail'));
|
||||
|
@ -97,7 +97,7 @@ export default {
|
||||
list.push(this.mapDevice[key]);
|
||||
deviceList.push(key);
|
||||
}
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
|
||||
setTimeout(() => {
|
||||
this.$jlmap.updatePicture(deviceList);
|
||||
const trainingDetail = this.$store.state.trainingNew.trainingDetail;
|
||||
|
@ -61,7 +61,7 @@ export default {
|
||||
if (this.mapData && this.mapData.pictureList) {
|
||||
const picture = this.$store.state.map.map.pictureList.find(picture => picture.type === 'bigScreen');
|
||||
if (picture) {
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
|
||||
const deviceList = [];
|
||||
const mapDevice = this.$store.state.map.mapDevice;
|
||||
for (const deviceCode in mapDevice) {
|
||||
|
@ -40,7 +40,6 @@
|
||||
<driver-ats-work v-if="picture=='driverAtsWork'" ref="driverAtsWork" />
|
||||
<pis-screen v-if="picture=='pisScreen'" ref="pisScreen" />
|
||||
<pa-screen v-if="picture =='paScreen'" ref="paScreen" />
|
||||
<ats-work v-if="picture=='atsWork'" ref="atsWork"/>
|
||||
<terminal-menu
|
||||
v-show="menuShow"
|
||||
ref="terminalMenu"
|
||||
@ -94,7 +93,6 @@ import LineMonitor from './lineMonitor';
|
||||
import PisScreen from './pisScreen';
|
||||
import TmsPage from '@/views/jlmap3d/drive/sceneview/tmsPage';
|
||||
import PaScreen from './paScreen';
|
||||
import AtsWork from './atsWork.vue';
|
||||
|
||||
export default {
|
||||
name: 'Index',
|
||||
@ -136,8 +134,7 @@ export default {
|
||||
LineMonitor,
|
||||
PisScreen,
|
||||
TmsPage,
|
||||
PaScreen,
|
||||
AtsWork
|
||||
PaScreen
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
@ -82,7 +82,7 @@ export default {
|
||||
deviceList.push(key);
|
||||
}
|
||||
this.$jlmap.updateShowStation(list);
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
|
||||
setTimeout(() => {
|
||||
this.$jlmap.updatePicture(deviceList);
|
||||
this.$jlmap.updateTransform(picture.scaling, picture.origin);
|
||||
|
@ -89,7 +89,7 @@ export default {
|
||||
list.push(this.mapDevice[key]);
|
||||
deviceList.push(key);
|
||||
}
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
|
||||
setTimeout(() => {
|
||||
this.$jlmap.updatePicture(deviceList);
|
||||
const trainingDetail = this.$store.state.trainingNew.trainingDetail;
|
||||
|
@ -117,7 +117,7 @@ export default {
|
||||
deviceList.push(key);
|
||||
}
|
||||
this.$jlmap.updateShowStation(list);
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
|
||||
setTimeout(() => {
|
||||
this.$jlmap.updatePicture(deviceList);
|
||||
const trainingDetail = this.$store.state.trainingNew.trainingDetail;
|
||||
|
@ -106,7 +106,7 @@ export default {
|
||||
dispatchingCommand: ['DISPATCHER'],
|
||||
trainTicket: ['STATION_SUPERVISOR', 'STATION_ASSISTANT', 'DRIVER'],
|
||||
registerBook: ['STATION_SUPERVISOR', 'STATION_MASTER', 'STATION_WORKER', 'ELECTRIC_DISPATCHER', 'STATION_ELECTRIC_WORKER'],
|
||||
diagramLoad: ['DISPATCHER', 'STATION_SUPERVISOR'],
|
||||
diagramLoad: ['DISPATCHER'],
|
||||
driverAtsWork: ['DRIVER'],
|
||||
diagramPreview: ['DISPATCHER', 'STATION_SUPERVISOR', 'DRIVER', 'NCC_DISPATCHER'],
|
||||
diagramEdit: [],
|
||||
@ -123,8 +123,7 @@ export default {
|
||||
baSiDi: ['DISPATCHER'],
|
||||
troWork:['DISPATCHER'],
|
||||
troDetailWork: ['DISPATCHER'],
|
||||
maintainerSelect: ['MAINTAINER'],
|
||||
atsWork: ['MAINTAINER']
|
||||
maintainerSelect: ['MAINTAINER']
|
||||
};
|
||||
if (client && client.type && map[client.type]) {
|
||||
const role = this.$store.state.training.roles;
|
||||
@ -206,11 +205,7 @@ export default {
|
||||
// 司机模拟
|
||||
const trainingDesign = this.$store.state.training.domConfig ? this.$store.state.training.domConfig.trainingDesign : false;
|
||||
const terminal = this.findTerminalFromMap(trainingDesign ? 'driverAtsWork' : 'drivingPlan');
|
||||
if (this.$route.query.type === 'TMS') {
|
||||
this.changePictureShow(this.findTerminalFromMap('tms'));
|
||||
} else {
|
||||
this.changePictureShow(terminal);
|
||||
}
|
||||
this.changePictureShow(terminal);
|
||||
} else if (this.roles === 'NCC_DISPATCHER') {
|
||||
const terminal = this.findTerminalFromMap('nccWork');
|
||||
this.changePictureShow(terminal);
|
||||
|
@ -92,7 +92,7 @@ export default {
|
||||
deviceList.push(key);
|
||||
}
|
||||
this.$jlmap.updateShowStation(list);
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
|
||||
this.$jlmap.updatePicture(deviceList);
|
||||
this.$jlmap.updateTransform(picture.scaling, picture.origin);
|
||||
this.$store.dispatch('map/setShowCentralizedStationCode', this.centralizedStationMap[this.roleDeviceCode]);
|
||||
|
@ -118,7 +118,7 @@ export default {
|
||||
list.push(this.mapDevice[key]);
|
||||
deviceList.push(key);
|
||||
}
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
|
||||
setTimeout(() => {
|
||||
this.$jlmap.updatePicture(deviceList);
|
||||
const trainingDetail = this.$store.state.trainingNew.trainingDetail;
|
||||
|
@ -48,7 +48,7 @@ export default {
|
||||
if (this.mapData && this.mapData.pictureList) {
|
||||
const picture = this.$store.state.map.map.pictureList.find(picture => picture.type === 'bigScreen');
|
||||
if (picture) {
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
|
||||
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
|
||||
const deviceList = [];
|
||||
const mapDevice = this.$store.state.map.mapDevice;
|
||||
for (const deviceCode in mapDevice) {
|
||||
|
@ -15,7 +15,6 @@
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-table-column prop="desc" label="步骤" />
|
||||
<el-table-column prop="role" label="操作人员" />
|
||||
<el-table-column prop="success" label="操作结果" width="100">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.success?'正确':'错误' }}</span>
|
||||
@ -23,7 +22,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="score" label="得分" width="100">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.score }}</span>
|
||||
<span>{{ scope.row.score || 0 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@ -55,11 +54,7 @@ export default {
|
||||
if (scoreList && scoreList.length) {
|
||||
scoreList.forEach(score => {
|
||||
const step = this.stepList.find(step => step.id == score.stepId);
|
||||
const role = this.$store.state.training.memberData[parseInt(step.memberId)];
|
||||
if (!score.hasOwnProperty('score')) {
|
||||
score.score = '/';
|
||||
}
|
||||
this.tableData.push({ ...score, role: role.labelName, desc: step.description });
|
||||
this.tableData.push({ ...score, desc: step.description });
|
||||
});
|
||||
}
|
||||
this.dialogVisible = true;
|
||||
@ -71,17 +66,17 @@ export default {
|
||||
if (index === 0) {
|
||||
sums[index] = '合计';
|
||||
return;
|
||||
} else if (index === 2) {
|
||||
const scoringRuleList = this.$store.state.trainingNew.scoringRules;
|
||||
} else if (index === 1) {
|
||||
const MyMemberId = this.$store.state.training.myMemberId;
|
||||
const scoringRuleList = this.$store.state.trainingNew.scoringRules.find(rule => rule.memberId == MyMemberId );
|
||||
let total = 0;
|
||||
if (scoringRuleList && scoringRuleList.length) {
|
||||
scoringRuleList.forEach(item => {
|
||||
total += item.fullMarks;
|
||||
if (scoringRuleList && scoringRuleList.details && scoringRuleList.details.length) {
|
||||
scoringRuleList.details.forEach(item => {
|
||||
total += item.score;
|
||||
});
|
||||
}
|
||||
sums[index] = total;
|
||||
sums[index] = total;
|
||||
} else if (index === 3) {
|
||||
} else if (index === 2) {
|
||||
const values = data.map(item => Number(item[column.property]));
|
||||
sums[index] = values.reduce((prev, curr) => {
|
||||
const value = Number(curr);
|
||||
|
@ -58,10 +58,9 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
initLoadPage() {
|
||||
let trainingType = this.$store.state.training.domConfig ? this.$store.state.training.domConfig.trainingType : '';
|
||||
trainingType = trainingType ? trainingType.toLowerCase() : null;
|
||||
const trainingType = this.$store.state.training.domConfig ? this.$store.state.training.domConfig.trainingType : '';
|
||||
// labels: ['车站', '控制权']
|
||||
const data = {mapId: this.mapId, type: trainingType};
|
||||
const data = {mapId: this.mapId, type: trainingType.toLowerCase()};
|
||||
if (this.$route.query.labels) {
|
||||
const labels = this.$route.query.labels.split('-');
|
||||
const labelMap = { loc: '现地', dis: '行调', section: '区段', signal: '信号机', switch: '道岔', stand: '站台', station: '车站', control: '控制权' };
|
||||
|
@ -22,8 +22,7 @@ export default {
|
||||
x: 0,
|
||||
y: 0
|
||||
},
|
||||
tip: '',
|
||||
timetamp: 0
|
||||
tip: ''
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -48,8 +47,7 @@ export default {
|
||||
awaitOperateFlag = !document.getElementById(OperationEvent.StationControl.requestStationControl.awaitAlarm.domId);
|
||||
}
|
||||
if (val && this.trainingDetail && this.trainingDetail.type === 'SINGLE' && val.memberId == this.myMemberId && !awaitOperateFlag) {
|
||||
this.timetamp = new Date().getTime();
|
||||
this.tipInit(this.timetamp);
|
||||
this.tipInit();
|
||||
} else {
|
||||
this.tip = '';
|
||||
this.popShow = false;
|
||||
@ -58,8 +56,7 @@ export default {
|
||||
},
|
||||
'$store.state.trainingNew.voiceStepIndex': function(val) {
|
||||
if (val > -1 && this.trainingDetail && this.trainingDetail.type === 'SINGLE') {
|
||||
this.timetamp = new Date().getTime();
|
||||
this.tipInit(this.timetamp);
|
||||
this.tipInit();
|
||||
} else {
|
||||
this.tip = '';
|
||||
this.popShow = false;
|
||||
@ -79,11 +76,9 @@ export default {
|
||||
this.position = { x: 0, y: 0 };
|
||||
},
|
||||
'$store.state.training.tipEvent': function (val) {
|
||||
const timetamp = new Date().getTime();
|
||||
this.timetamp = timetamp;
|
||||
setTimeout(() => {
|
||||
if (this.tip) {
|
||||
this.tipInit(timetamp);
|
||||
this.tipInit();
|
||||
}
|
||||
}, 10);
|
||||
},
|
||||
@ -92,15 +87,13 @@ export default {
|
||||
const stepInfo = this.$store.state.trainingNew.stepInfo;
|
||||
const domId = OperationEvent.StationControl.requestStationControl.awaitAlarm.operation;
|
||||
if (val && val.sourceMemberId == this.$store.state.training.myMemberId && stepInfo && stepInfo.tipPosition && stepInfo.tipPosition.domId === domId) {
|
||||
const timetamp = new Date().getTime();
|
||||
this.timetamp = timetamp;
|
||||
setTimeout(() => { this.tipInit(timetamp); }, 10);
|
||||
setTimeout(() => { this.tipInit(); }, 10);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async tipInit(timetamp) {
|
||||
async tipInit() {
|
||||
if (this.teachMode === ScriptMode.TEACH) {
|
||||
this.tipShow = true;
|
||||
const offset = this.$store.state.config.canvasOffset;
|
||||
@ -120,34 +113,28 @@ export default {
|
||||
x: position.x + offset.x,
|
||||
y: position.y + offset.y - distance
|
||||
};
|
||||
this.popTipShow(timetamp);
|
||||
this.popTipShow();
|
||||
}
|
||||
} else if (stepInfo.tipPosition && stepInfo.tipPosition.domId) {
|
||||
const position = await this.getOtherTipPoint(stepInfo.tipPosition);
|
||||
if (position) {
|
||||
this.position = position;
|
||||
this.position.y -= distance;
|
||||
this.popTipShow(timetamp);
|
||||
this.popTipShow();
|
||||
} else {
|
||||
this.popTipHide(timetamp);
|
||||
this.popTipHide();
|
||||
}
|
||||
} else {
|
||||
this.popTipHide(timetamp);
|
||||
this.popTipHide();
|
||||
}
|
||||
} else {
|
||||
this.tipShow = false;
|
||||
}
|
||||
},
|
||||
popTipShow(timetamp) {
|
||||
if (this.timetamp !== timetamp) {
|
||||
return;
|
||||
}
|
||||
popTipShow() {
|
||||
this.popShow = true;
|
||||
},
|
||||
popTipHide(timetamp) {
|
||||
if (this.timetamp !== timetamp) {
|
||||
return;
|
||||
}
|
||||
popTipHide() {
|
||||
this.popShow = false;
|
||||
},
|
||||
// 获取地图设备提示位置
|
||||
|
@ -451,7 +451,7 @@ export default {
|
||||
this.$refs.mapOperate.pictureChanged(pictureName);
|
||||
const pictureModel = this.$store.state.map.map.pictureList.find(elem => elem.name == pictureName);
|
||||
const deviceMap = pictureModel ? pictureModel.deviceMap : {};
|
||||
this.$store.dispatch('map/setPictureDeviceMap', deviceMap || {});
|
||||
this.$store.dispatch('map/setPictureDeviceMap', deviceMap);
|
||||
const deviceList = [];
|
||||
const map = this.$store.state.map.map;
|
||||
const mapDevice = this.$store.state.map.mapDevice;
|
||||
|
@ -1199,13 +1199,7 @@ export default {
|
||||
deviceCode: ''
|
||||
};
|
||||
memberMap[this.generationForm.systemType].push(memberEnvironmentDispatcher);
|
||||
const memberScheduling = {
|
||||
id: this.getMemberId(this.generationForm.systemType),
|
||||
name: '',
|
||||
type: 'SCHEDULING',
|
||||
deviceCode: ''
|
||||
};
|
||||
memberMap[this.generationForm.systemType].push(memberScheduling);
|
||||
|
||||
}
|
||||
this.$message.success('一键生成成功!');
|
||||
this.resetForm();
|
||||
|
@ -239,12 +239,6 @@ export default {
|
||||
code: 'diagramLoad',
|
||||
isShow: () => type === 'METRO'
|
||||
|
||||
},
|
||||
{
|
||||
name: 'ATS工作站',
|
||||
code: 'atsWork',
|
||||
isShow: () => type === 'METRO'
|
||||
|
||||
},
|
||||
{
|
||||
name: '司机ATS工作站',
|
||||
@ -375,11 +369,6 @@ export default {
|
||||
name: '列车PIS',
|
||||
code: 'pisTrain',
|
||||
isShow: () => type === 'METRO'
|
||||
},
|
||||
{
|
||||
name: '运行图测试',
|
||||
code: 'testRunplan',
|
||||
isShow: () => type === 'METRO'
|
||||
}
|
||||
];
|
||||
const terminalList = commonTerminals(type);
|
||||
|
@ -717,13 +717,6 @@ export default {
|
||||
confirmPublish() {
|
||||
publishRunPlanAllUser(this.loadRunPlanId, this.publishName || this.loadRunPlanName).then(resp => {
|
||||
this.$message.success(this.$t('tip.publishRunPlanSuccess'));
|
||||
if (resp.data && resp.data.length > 0) {
|
||||
let message = '';
|
||||
resp.data.forEach(msg => message += (msg + ';'))
|
||||
this.$confirm(message, this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm')
|
||||
})
|
||||
}
|
||||
this.publishVisible = false;
|
||||
}).catch(() => {
|
||||
this.$messageBox(this.$t('tip.publishRunPlanFail'));
|
||||
|
@ -27,13 +27,13 @@ export default {
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
const appId = this.$route.query.app_id;
|
||||
const sessionId = this.$route.query.session_id;
|
||||
const appId = this.$route.query.appId;
|
||||
const sessionId = this.$route.query.sessionId;
|
||||
const timeStamp = this.$route.query.timeStamp;
|
||||
const account = this.$route.query.user_name;
|
||||
const name = this.$route.query.nick_name;
|
||||
const account = this.$route.query.account;
|
||||
const name = this.$route.query.name;
|
||||
const parentAccount = this.$route.query.parentAccount;
|
||||
const functionId = this.$route.query.systemId;
|
||||
const functionId = this.$route.query.functionId;
|
||||
if (appId && account && name) {
|
||||
const data = {
|
||||
appId,
|
||||
@ -63,8 +63,7 @@ export default {
|
||||
async enterSimulation() {
|
||||
const query = {
|
||||
third: true,
|
||||
project: 'cgy',
|
||||
thirdOpen: true
|
||||
query: 'cgy'
|
||||
};
|
||||
const resp = await getMapFunctioById(this.$route.query.systemId);
|
||||
query.mapId = resp.data.mapId;
|
||||
|
Loading…
Reference in New Issue
Block a user