xian_02拆分
This commit is contained in:
parent
825d1a1e15
commit
9b1dac9b2b
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<li v-if="option.children && option.children.length" class="menu-item" :class="popClass" @mouseenter="enter($vnode.key)" @mouseleave="leave">
|
<li v-if="option.children && option.children.length && checkVisible(option)" class="menu-item" :class="popClass" @mouseenter="enter($vnode.key)" @mouseleave="leave">
|
||||||
<div ref="flexBox" class="flex-box">
|
<div ref="flexBox" class="flex-box">
|
||||||
<el-button type="text" class="item" :disabled="checkDisabled(option)">
|
<el-button type="text" class="item" :disabled="checkDisabled(option)">
|
||||||
<el-link v-if="option.tipsType" :type="option.tipsType" :underline="false">{{ option.label }}</el-link>
|
<el-link v-if="option.tipsType" :type="option.tipsType" :underline="false">{{ option.label }}</el-link>
|
||||||
@ -11,7 +11,7 @@
|
|||||||
<ul v-if="isPopup" ref="popup" class="menu" :style="{display: isShow? 'block': 'table', marginLeft: marginLeft+'px'}">
|
<ul v-if="isPopup" ref="popup" class="menu" :style="{display: isShow? 'block': 'table', marginLeft: marginLeft+'px'}">
|
||||||
<div class="menu-pop pop-menu">
|
<div class="menu-pop pop-menu">
|
||||||
<div v-show="isShow" class="arrow el-icon-arrow-down" />
|
<div v-show="isShow" class="arrow el-icon-arrow-down" />
|
||||||
<pop-menu-item v-for="(el, i) in option.children" :key="i" :option="el" :pop-class="popClass" :allowedColor="allowedColor" :disabledColor="disabledColor" @close="close" />
|
<pop-menu-item v-for="(el, i) in option.children" :key="i" :option="el" :pop-class="popClass" :allowed-color="allowedColor" :disabled-color="disabledColor" @close="close" />
|
||||||
<div v-show="isShow" class="arrow el-icon-arrow-up" />
|
<div v-show="isShow" class="arrow el-icon-arrow-up" />
|
||||||
</div>
|
</div>
|
||||||
</ul>
|
</ul>
|
||||||
@ -52,14 +52,14 @@ export default {
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false
|
default: false
|
||||||
},
|
},
|
||||||
disabledColor: {
|
disabledColor: {
|
||||||
type: String,
|
type: String,
|
||||||
default: '#000',
|
default: '#000'
|
||||||
},
|
},
|
||||||
allowedColor: {
|
allowedColor: {
|
||||||
type: String,
|
type: String,
|
||||||
default: '#ccc'
|
default: '#ccc'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -109,12 +109,12 @@ class Theme {
|
|||||||
}
|
}
|
||||||
// 加载行调菜单组件
|
// 加载行调菜单组件
|
||||||
loadDispatchWorkMenuComponent(code) {
|
loadDispatchWorkMenuComponent(code) {
|
||||||
if (['02', '10', '11', '16', '08'].includes(code)) {
|
if (['02', '09', '10', '11', '16', '08'].includes(code)) {
|
||||||
return Object.assign({}, require(`./${this._mapMenu[code || this._code]}/menus/dispatchWorkMenu`).default);
|
return Object.assign({}, require(`./${this._mapMenu[code || this._code]}/menus/dispatchWorkMenu`).default);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
loadLocalWorkMenuComponent(code) {
|
loadLocalWorkMenuComponent(code) {
|
||||||
if (['02', '10', '11', '16', '08'].includes(code)) {
|
if (['02', '09', '10', '11', '16', '08'].includes(code)) {
|
||||||
return Object.assign({}, require(`./${this._mapMenu[code || this._code]}/menus/localWorkMenu`).default);
|
return Object.assign({}, require(`./${this._mapMenu[code || this._code]}/menus/localWorkMenu`).default);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -64,6 +64,7 @@ import { mapGetters } from 'vuex';
|
|||||||
import { MapDeviceType } from '@/scripts/cmdPlugin/Config';
|
import { MapDeviceType } from '@/scripts/cmdPlugin/Config';
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'RouteDetail',
|
name: 'RouteDetail',
|
||||||
@ -127,7 +128,8 @@ export default {
|
|||||||
commit() {
|
commit() {
|
||||||
const operate = {
|
const operate = {
|
||||||
over: true,
|
over: true,
|
||||||
operation: OperationEvent.Signal.detail.menu.operation
|
operation: OperationEvent.Signal.detail.menu.operation,
|
||||||
|
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL
|
||||||
};
|
};
|
||||||
|
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
|
550
src/jmapNew/theme/xian_02/menus/dispatchWorkMenu.vue
Normal file
550
src/jmapNew/theme/xian_02/menus/dispatchWorkMenu.vue
Normal file
@ -0,0 +1,550 @@
|
|||||||
|
<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="'dispatchWork'" />
|
||||||
|
<menu-signal ref="menuSignal" :selected="selected" :work="'dispatchWork'" />
|
||||||
|
<menu-section ref="menuSection" :selected="selected" :work="'dispatchWork'" />
|
||||||
|
<menu-train ref="menuTrain" :selected="selected" :work="'dispatchWork'" />
|
||||||
|
<menu-station ref="menuStation" :selected="selected" :work="'dispatchWork'" />
|
||||||
|
<!-- <menu-limit ref="menuLimit" :selected="selected" /> -->
|
||||||
|
<passive-contorl ref="passiveControl" :work="'dispatchWork'" />
|
||||||
|
<menu-request ref="menuRequest" />
|
||||||
|
<menu-station-stand ref="menuStationStand" :selected="selected" :work="'dispatchWork'" @popMenuStationStand="popMenuStationStand" @totalMenuEvent="totalMenuEvent" />
|
||||||
|
<pop-station-stand ref="popStationStand" :selected="selected" :work="'dispatchWork'" @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>
|
@ -4,16 +4,16 @@
|
|||||||
<menu-cancel ref="menuCancel" />
|
<menu-cancel ref="menuCancel" />
|
||||||
<!-- <menu-auto-trun-route ref="menuAutoTrunRoute" :selected="selected" /> -->
|
<!-- <menu-auto-trun-route ref="menuAutoTrunRoute" :selected="selected" /> -->
|
||||||
<!-- <menu-station-control ref="menuStationControl" :selected="selected" /> -->
|
<!-- <menu-station-control ref="menuStationControl" :selected="selected" /> -->
|
||||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
<menu-switch ref="menuSwitch" :selected="selected" :work="'localWork'" />
|
||||||
<menu-signal ref="menuSignal" :selected="selected" />
|
<menu-signal ref="menuSignal" :selected="selected" :work="'localWork'" />
|
||||||
<menu-section ref="menuSection" :selected="selected" />
|
<menu-section ref="menuSection" :selected="selected" :work="'localWork'" />
|
||||||
<menu-train ref="menuTrain" :selected="selected" />
|
<menu-train ref="menuTrain" :selected="selected" :work="'localWork'" />
|
||||||
<menu-station ref="menuStation" :selected="selected" />
|
<menu-station ref="menuStation" :selected="selected" :work="'localWork'" />
|
||||||
<!-- <menu-limit ref="menuLimit" :selected="selected" /> -->
|
<!-- <menu-limit ref="menuLimit" :selected="selected" /> -->
|
||||||
<passive-contorl ref="passiveControl" />
|
<passive-contorl ref="passiveControl" :work="'localWork'" />
|
||||||
<menu-request ref="menuRequest" />
|
<menu-request ref="menuRequest" />
|
||||||
<menu-station-stand ref="menuStationStand" :selected="selected" @popMenuStationStand="popMenuStationStand" @totalMenuEvent="totalMenuEvent" />
|
<menu-station-stand ref="menuStationStand" :selected="selected" :work="'localWork'" @popMenuStationStand="popMenuStationStand" @totalMenuEvent="totalMenuEvent" />
|
||||||
<pop-station-stand ref="popStationStand" :selected="selected" @closeMenuStationStand="closeMenuStationStand" />
|
<pop-station-stand ref="popStationStand" :selected="selected" :work="'localWork'" @closeMenuStationStand="closeMenuStationStand" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<pop-menu ref="popMenu" :menu="menu" pop-class="xian-02__pop_tip_station" :tip-msg="topTip" disabledColor="#aaa"/>
|
<pop-menu ref="popMenu" :menu="menu" pop-class="xian-02__pop_tip_station" :tip-msg="topTip" disabled-color="#aaa" />
|
||||||
<section-control ref="sectionControl" pop-class="xian-02__system" />
|
<section-control ref="sectionControl" pop-class="xian-02__system" />
|
||||||
<section-un-lock ref="sectionUnLock" />
|
<section-un-lock ref="sectionUnLock" />
|
||||||
<speed-limit-control ref="speedLimitControl" pop-class="xian-02__system" />
|
<speed-limit-control ref="speedLimitControl" pop-class="xian-02__system" />
|
||||||
@ -30,6 +30,7 @@ import LoadSpareTrain from '@/jmapNew/theme/components/menus/dialog/loadSpareTra
|
|||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import SpeedLimit from './menuDialog/speedLimit';
|
import SpeedLimit from './menuDialog/speedLimit';
|
||||||
import SpeedLimitConfirm from './menuDialog/speedLimitConfirm';
|
import SpeedLimitConfirm from './menuDialog/speedLimitConfirm';
|
||||||
|
import { judgeStationControl } from '@/jmapNew/theme/components/utils/menuJudge.js';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'SectionMenu',
|
name: 'SectionMenu',
|
||||||
@ -51,90 +52,126 @@ export default {
|
|||||||
default() {
|
default() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
work: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
topTip: '',
|
topTip: '',
|
||||||
menu: [],
|
menu: [],
|
||||||
menuNormal: {
|
menuNormal: [
|
||||||
Local: [
|
{
|
||||||
{
|
label: '区段故障解锁',
|
||||||
label: '区段故障解锁',
|
handler: this.fault,
|
||||||
handler: this.fault,
|
cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK,
|
||||||
cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK
|
isDisabled: (section, work) => {
|
||||||
}
|
return false;
|
||||||
// {
|
|
||||||
// label: '区段跟踪激活',
|
|
||||||
// handler: this.active,
|
|
||||||
// cmdType: CMD.Section.CMD_SECTION_ACTIVE
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '区段跟踪切除',
|
|
||||||
// handler: this.split,
|
|
||||||
// cmdType: CMD.Section.CMD_SECTION_CUT_OFF
|
|
||||||
// }
|
|
||||||
// {
|
|
||||||
// label: '区段封锁',
|
|
||||||
// handler: this.lock,
|
|
||||||
// cmdType: CMD.Section.CMD_SECTION_BLOCK
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: '区段解封',
|
|
||||||
// handler: this.unlock,
|
|
||||||
// cmdType: CMD.Section.CMD_SECTION_UNBLOCK
|
|
||||||
// }
|
|
||||||
],
|
|
||||||
Center: [
|
|
||||||
{
|
|
||||||
label: '区段封锁',
|
|
||||||
handler: this.lock,
|
|
||||||
cmdType: CMD.Section.CMD_SECTION_BLOCK
|
|
||||||
},
|
},
|
||||||
{
|
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work === 'localWork'
|
||||||
label: '区段解封',
|
},
|
||||||
handler: this.unlock,
|
// {
|
||||||
cmdType: CMD.Section.CMD_SECTION_UNBLOCK
|
// label: '区段跟踪激活',
|
||||||
|
// handler: this.active,
|
||||||
|
// cmdType: CMD.Section.CMD_SECTION_ACTIVE
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// label: '区段跟踪切除',
|
||||||
|
// handler: this.split,
|
||||||
|
// cmdType: CMD.Section.CMD_SECTION_CUT_OFF
|
||||||
|
// }
|
||||||
|
// {
|
||||||
|
// label: '区段封锁',
|
||||||
|
// handler: this.lock,
|
||||||
|
// cmdType: CMD.Section.CMD_SECTION_BLOCK
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// label: '区段解封',
|
||||||
|
// handler: this.unlock,
|
||||||
|
// cmdType: CMD.Section.CMD_SECTION_UNBLOCK
|
||||||
|
// }
|
||||||
|
// ],
|
||||||
|
// Center: [
|
||||||
|
{
|
||||||
|
label: '区段封锁',
|
||||||
|
handler: this.lock,
|
||||||
|
cmdType: CMD.Section.CMD_SECTION_BLOCK,
|
||||||
|
isDisabled: (section, work) => {
|
||||||
|
if (work === 'localWork') {
|
||||||
|
return section.blockade === 1;
|
||||||
|
} else {
|
||||||
|
return section.blockade === 1;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work === 'dispatchWork'
|
||||||
// 暂无功能,先disabled掉
|
},
|
||||||
label: '设备标签',
|
{
|
||||||
disabled: true,
|
label: '区段解封',
|
||||||
children: [
|
handler: this.unlock,
|
||||||
{
|
cmdType: CMD.Section.CMD_SECTION_UNBLOCK,
|
||||||
label: '创建设备标签',
|
isDisabled: (section, work) => {
|
||||||
disabled: true,
|
if (work === 'localWork') {
|
||||||
handler: this.undeveloped
|
return section.blockade !== 1;
|
||||||
},
|
} else {
|
||||||
{
|
return section.blockade !== 1;
|
||||||
label: '查看设备标签',
|
}
|
||||||
disabled: true,
|
|
||||||
handler: this.undeveloped
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '更改设备标签',
|
|
||||||
disabled: true,
|
|
||||||
handler: this.undeveloped
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '删除设备标签',
|
|
||||||
disabled: true,
|
|
||||||
handler: this.undeveloped
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work === 'dispatchWork'
|
||||||
label: '设置临时限速',
|
},
|
||||||
handler: this.setSpeed,
|
{
|
||||||
cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED
|
// 暂无功能,先disabled掉
|
||||||
|
label: '设备标签',
|
||||||
|
disabled: true,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
label: '创建设备标签',
|
||||||
|
disabled: true,
|
||||||
|
handler: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '查看设备标签',
|
||||||
|
disabled: true,
|
||||||
|
handler: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '更改设备标签',
|
||||||
|
disabled: true,
|
||||||
|
handler: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '删除设备标签',
|
||||||
|
disabled: true,
|
||||||
|
handler: this.undeveloped
|
||||||
|
}
|
||||||
|
],
|
||||||
|
isDisabled: (section, work) => {
|
||||||
|
return true;
|
||||||
},
|
},
|
||||||
{
|
isShow: (section, work) => work === 'dispatchWork'
|
||||||
label: '帮助',
|
},
|
||||||
disabled: true,
|
{
|
||||||
handler: this.undeveloped
|
label: '设置临时限速',
|
||||||
}
|
handler: this.setSpeed,
|
||||||
]
|
cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED,
|
||||||
},
|
isDisabled: (section, work) => {
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work === 'dispatchWork'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '帮助',
|
||||||
|
disabled: true,
|
||||||
|
handler: this.undeveloped,
|
||||||
|
isDisabled: (section, work) => {
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
isShow: (section, work) => work === 'dispatchWork'
|
||||||
|
}
|
||||||
|
],
|
||||||
menuForce: [
|
menuForce: [
|
||||||
{
|
{
|
||||||
label: '设置故障',
|
label: '设置故障',
|
||||||
@ -180,7 +217,7 @@ export default {
|
|||||||
mounted() {
|
mounted() {
|
||||||
const isDev = process.env.NODE_ENV === 'development';
|
const isDev = process.env.NODE_ENV === 'development';
|
||||||
if (isDev) {
|
if (isDev) {
|
||||||
this.menuNormal.Center.push({
|
this.menuNormal.push({
|
||||||
label: '新建计划车',
|
label: '新建计划车',
|
||||||
handler: this.addPlanTrain,
|
handler: this.addPlanTrain,
|
||||||
cmdType: CMD.Section.CMD_Train_Init_Plan
|
cmdType: CMD.Section.CMD_Train_Init_Plan
|
||||||
@ -199,6 +236,13 @@ export default {
|
|||||||
if (this.selected.type != '04') {
|
if (this.selected.type != '04') {
|
||||||
// this.menu = this.menuNormal.Center;
|
// this.menu = this.menuNormal.Center;
|
||||||
// this.menu = MenuContextHandler.covert2(this.menuNormal);
|
// this.menu = MenuContextHandler.covert2(this.menuNormal);
|
||||||
|
this.menu = [];
|
||||||
|
this.menuNormal.forEach(menuItem => {
|
||||||
|
const status = judgeStationControl(this.selected.belongStation, this.selected.stationCode, this.work);
|
||||||
|
menuItem.disabled = menuItem.isDisabled ? menuItem.isDisabled(this.selected, this.work) || !status : false;
|
||||||
|
menuItem.show = menuItem.isShow ? menuItem.isShow(this.selected, this.work) : true;
|
||||||
|
this.menu.push(menuItem);
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
this.menu = [];
|
this.menu = [];
|
||||||
}
|
}
|
||||||
@ -310,9 +354,9 @@ export default {
|
|||||||
setSpeed() {
|
setSpeed() {
|
||||||
commitOperate(menuOperate.Section.setSpeed, {sectionCode:this.selected.code}, 0).then(({valid, operate})=>{
|
commitOperate(menuOperate.Section.setSpeed, {sectionCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||||
if (valid) {
|
if (valid) {
|
||||||
// 先使用老版本的临时限速
|
// 先使用老版本的临时限速
|
||||||
// this.$refs.speedLimit.doShow(operate, this.selected);
|
// this.$refs.speedLimit.doShow(operate, this.selected);
|
||||||
this.$refs.speedLimitControl.doShow(operate, this.selected);
|
this.$refs.speedLimitControl.doShow(operate, this.selected);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<pop-menu ref="popMenu" :menu="menu" :tip-msg="topTip" disabledColor="#aaa" pop-class="xian-02__pop_tip_station" />
|
<pop-menu ref="popMenu" :menu="menu" :tip-msg="topTip" disabled-color="#aaa" pop-class="xian-02__pop_tip_station" />
|
||||||
<route-detail ref="routeDetail" />
|
<route-detail ref="routeDetail" />
|
||||||
<notice-info ref="noticeInfo" pop-class="xian-02__system" />
|
<notice-info ref="noticeInfo" pop-class="xian-02__system" />
|
||||||
<set-fault ref="setFault" pop-class="xian-02__system" />
|
<set-fault ref="setFault" pop-class="xian-02__system" />
|
||||||
@ -17,6 +17,7 @@ import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
|||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||||
|
import { judgeStationControl } from '@/jmapNew/theme/components/utils/menuJudge.js';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'SignalMenu',
|
name: 'SignalMenu',
|
||||||
@ -32,152 +33,136 @@ export default {
|
|||||||
default() {
|
default() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
work: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
topTip: '',
|
topTip: '',
|
||||||
menu: [],
|
menu: [],
|
||||||
menuNormal: {
|
menuNormal: [
|
||||||
Local: [
|
{
|
||||||
{
|
label: '始端/终端选择',
|
||||||
label: '始端/终端选择',
|
handler: this.arrangementRoute,
|
||||||
handler: this.arrangementRoute,
|
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
isDisabled: (signal, work) => {
|
||||||
},
|
if (work === 'localWork') {
|
||||||
{
|
return signal.lock === 1;
|
||||||
label: '取消进路',
|
} else {
|
||||||
handler: this.cancelTrainRoute,
|
return signal.lock === 1;
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '开放自动进路',
|
|
||||||
handler: this.setAutoInterlock,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '关闭自动进路',
|
|
||||||
handler: this.cancelAutoInterlock,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '终端信号封锁',
|
|
||||||
handler: this.lock,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_BLOCK
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '终端信号解封',
|
|
||||||
handler: this.unlock,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '引导信号',
|
|
||||||
handler: this.guideSignal,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE
|
|
||||||
},
|
|
||||||
// 暂无功能,先disabled掉
|
|
||||||
{
|
|
||||||
label: '设备标签',
|
|
||||||
disabled: true,
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: '创建设备标签',
|
|
||||||
disabled: true,
|
|
||||||
handler: this.undeveloped
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '查看设备标签',
|
|
||||||
disabled: true,
|
|
||||||
handler: this.undeveloped
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '更改设备标签',
|
|
||||||
disabled: true,
|
|
||||||
handler: this.undeveloped
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '删除设备标签',
|
|
||||||
disabled: true,
|
|
||||||
handler: this.undeveloped
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '帮助',
|
|
||||||
handler: this.detail,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL
|
|
||||||
}
|
}
|
||||||
],
|
},
|
||||||
Center: [
|
{
|
||||||
{
|
label: '取消进路',
|
||||||
label: '始端/终端选择',
|
handler: this.cancelTrainRoute,
|
||||||
handler: this.arrangementRoute,
|
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
isDisabled: (signal, work) => {
|
||||||
},
|
if (work === 'localWork') {
|
||||||
{
|
return signal.lock !== 1;
|
||||||
label: '取消进路',
|
} else {
|
||||||
handler: this.cancelTrainRoute,
|
return signal.lock !== 1;
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '开放自动进路',
|
|
||||||
handler: this.setAutoInterlock,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '关闭自动进路',
|
|
||||||
handler: this.cancelAutoInterlock,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '终端信号封锁',
|
|
||||||
handler: this.lock,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_BLOCK
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '终端信号解封',
|
|
||||||
handler: this.unlock,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '引导信号',
|
|
||||||
handler: this.guideSignal,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// 暂无功能,先disabled掉
|
|
||||||
label: '设备标签',
|
|
||||||
disabled: true,
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: '创建设备标签',
|
|
||||||
disabled: true,
|
|
||||||
handler: this.undeveloped
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '查看设备标签',
|
|
||||||
disabled: true,
|
|
||||||
handler: this.undeveloped
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '更改设备标签',
|
|
||||||
disabled: true,
|
|
||||||
handler: this.undeveloped
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '删除设备标签',
|
|
||||||
disabled: true,
|
|
||||||
handler: this.undeveloped
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '帮助',
|
|
||||||
handler: this.detail,
|
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL
|
|
||||||
}
|
}
|
||||||
]
|
},
|
||||||
},
|
{
|
||||||
|
label: '开放自动进路',
|
||||||
|
handler: this.setAutoInterlock,
|
||||||
|
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO,
|
||||||
|
isDisabled: (signal, work) => {
|
||||||
|
if (work === 'localWork') {
|
||||||
|
return signal.fleetMode === 1;
|
||||||
|
} else {
|
||||||
|
return signal.fleetMode === 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '关闭自动进路',
|
||||||
|
handler: this.cancelAutoInterlock,
|
||||||
|
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO,
|
||||||
|
isDisabled: (signal, work) => {
|
||||||
|
if (work === 'localWork') {
|
||||||
|
return signal.fleetMode !== 1;
|
||||||
|
} else {
|
||||||
|
return signal.fleetMode !== 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '终端信号封锁',
|
||||||
|
handler: this.lock,
|
||||||
|
cmdType: CMD.Signal.CMD_SIGNAL_BLOCK,
|
||||||
|
isDisabled: (signal, work) => {
|
||||||
|
if (work === 'localWork') {
|
||||||
|
return signal.blockade === 1;
|
||||||
|
} else {
|
||||||
|
return signal.blockade === 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '终端信号解封',
|
||||||
|
handler: this.unlock,
|
||||||
|
cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK,
|
||||||
|
isDisabled: (signal, work) => {
|
||||||
|
if (work === 'localWork') {
|
||||||
|
return signal.blockade !== 1;
|
||||||
|
} else {
|
||||||
|
return signal.blockade !== 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '引导信号',
|
||||||
|
handler: this.guideSignal,
|
||||||
|
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE,
|
||||||
|
isDisabled: (signal, work) => {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 暂无功能,先disabled掉
|
||||||
|
{
|
||||||
|
label: '设备标签',
|
||||||
|
disabled: true,
|
||||||
|
isDisabled: (signal, work) => true,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
label: '创建设备标签',
|
||||||
|
disabled: true,
|
||||||
|
handler: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '查看设备标签',
|
||||||
|
disabled: true,
|
||||||
|
handler: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '更改设备标签',
|
||||||
|
disabled: true,
|
||||||
|
handler: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '删除设备标签',
|
||||||
|
disabled: true,
|
||||||
|
handler: this.undeveloped
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '帮助',
|
||||||
|
handler: this.detail,
|
||||||
|
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL,
|
||||||
|
isDisabled: (signal, work) => {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
menuEnabled: [
|
menuEnabled: [
|
||||||
{
|
{
|
||||||
label: '使能',
|
label: '使能',
|
||||||
@ -208,11 +193,7 @@ export default {
|
|||||||
handler: this.triggerFaultManagement,
|
handler: this.triggerFaultManagement,
|
||||||
cmdType: CMD.Fault.CMD_TRIGGER_FAULT
|
cmdType: CMD.Fault.CMD_TRIGGER_FAULT
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
prdType2ControlModeMap: {
|
|
||||||
'01': 'Local',
|
|
||||||
'02': 'Center'
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -227,9 +208,6 @@ export default {
|
|||||||
'routeList',
|
'routeList',
|
||||||
'routeData'
|
'routeData'
|
||||||
]),
|
]),
|
||||||
prdType() {
|
|
||||||
return this.$store.state.training.prdType;
|
|
||||||
},
|
|
||||||
group() {
|
group() {
|
||||||
return this.$route.query.group;
|
return this.$route.query.group;
|
||||||
}
|
}
|
||||||
@ -245,9 +223,9 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
'$store.state.menuOperation.leftClickCount': function (val) {
|
'$store.state.menuOperation.leftClickCount': function (val) {
|
||||||
// const control = MenuContextHandler.getStationControl(this.selected);
|
// const control = MenuContextHandler.getStationControl(this.selected);
|
||||||
const controlMode = this.prdType2ControlModeMap[this.prdType];
|
const centralStation = this.$store.getters['map/getDeviceByCode'](this.selected.stationCode);
|
||||||
if (this.selected._type === 'Signal' && control.controlMode == controlMode) {
|
if (this.selected._type === 'Signal' && this.selected.controlMode == centralStation.controlMode) {
|
||||||
this.arrangementRoute();
|
this.arrangementRoute();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -260,7 +238,14 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
initMenu() {
|
initMenu() {
|
||||||
this.menu = MenuContextHandler.covert2(this.menuNormal);
|
// this.menu = MenuContextHandler.covert2(this.menuNormal);
|
||||||
|
this.menu = [];
|
||||||
|
this.menuNormal.forEach(menuItem => {
|
||||||
|
const status = judgeStationControl(this.selected.belongStationCode, this.selected.stationCode, this.work);
|
||||||
|
menuItem.disabled = menuItem.isDisabled ? menuItem.isDisabled(this.selected, this.work) || !status : false;
|
||||||
|
menuItem.show = menuItem.isShow ? menuItem.isShow(this.selected, this.work) : true;
|
||||||
|
this.menu.push(menuItem);
|
||||||
|
});
|
||||||
// this.menu = this.menuNormal.Center;
|
// this.menu = this.menuNormal.Center;
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT) {
|
||||||
|
@ -32,165 +32,188 @@ export default {
|
|||||||
default() {
|
default() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
work: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
topTip: '车站 (CP)',
|
topTip: '车站 (CP)',
|
||||||
menu: [],
|
menu: [],
|
||||||
menuNormal: {
|
menuNormal: [
|
||||||
Local: [
|
{
|
||||||
{
|
label: '本地控制许可',
|
||||||
label: '本地控制许可',
|
children: [
|
||||||
children: [
|
{
|
||||||
{
|
label: '请求',
|
||||||
label: '请求',
|
handler: this.setStationControl,
|
||||||
handler: this.setStationControl,
|
cmdType: this.work === 'localWork' ? CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL : CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL,
|
||||||
cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL
|
isDisabled: (station, work) => {
|
||||||
},
|
if (work === 'localWork') {
|
||||||
// {
|
return station.controlMode !== 'Center';
|
||||||
// label: '授权',
|
} else {
|
||||||
// handler: this.undeveloped
|
return station.controlMode === 'Center';
|
||||||
// },
|
}
|
||||||
{
|
|
||||||
label: '取消',
|
|
||||||
handler: this.setCenterControl,
|
|
||||||
cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL
|
|
||||||
},
|
|
||||||
// /** 紧急站控 */
|
|
||||||
// CMD_CM_EMERGENCY_STATION_CONTROL: {value:'CM_Emergency_Station_Control', label: '紧急站控'},
|
|
||||||
{
|
|
||||||
label: '紧急本地控制',
|
|
||||||
handler: this.setEmergencyControl,
|
|
||||||
cmdType: CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL
|
|
||||||
}
|
}
|
||||||
]
|
},
|
||||||
|
{
|
||||||
|
// 暂无功能,先disabled
|
||||||
|
label: '授权',
|
||||||
|
disabled: true,
|
||||||
|
handler: this.undeveloped,
|
||||||
|
isShow: (station, work) => false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '取消',
|
||||||
|
handler: this.setCenterControl,
|
||||||
|
cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL,
|
||||||
|
isDisabled: (station, work) => {
|
||||||
|
if (work === 'localWork') {
|
||||||
|
return station.controlMode === 'Center';
|
||||||
|
} else {
|
||||||
|
return station.controlMode !== 'Center';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
isShow: (station, work) => {
|
||||||
|
return work === 'localWork';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// /** 紧急站控 */
|
||||||
|
// CMD_CM_EMERGENCY_STATION_CONTROL: {value:'CM_Emergency_Station_Control', label: '紧急站控'},
|
||||||
|
{
|
||||||
|
label: '紧急本地控制',
|
||||||
|
handler: this.setEmergencyControl,
|
||||||
|
cmdType: CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL,
|
||||||
|
isDisabled: (station, work) => {
|
||||||
|
return station.controlMode === 'Emergency';
|
||||||
|
},
|
||||||
|
isShow: (station, work) => {
|
||||||
|
return work === 'localWork';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '进路模式',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
label: '自动',
|
||||||
|
handler: this.atsAutoControlALL,
|
||||||
|
cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING,
|
||||||
|
isDisabled: (station, work) => {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '人工',
|
||||||
|
handler: this.humanControlALL,
|
||||||
|
cmdType: CMD.Station.CMD_STATION_CLOSE_AUTO_SETTING,
|
||||||
|
isDisabled: (station, work) => {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
isShow: (station, work) => {
|
||||||
|
return work === 'dispatchWork';
|
||||||
}
|
}
|
||||||
],
|
},
|
||||||
Center: [
|
{
|
||||||
{
|
// 暂无功能,先disabled掉
|
||||||
label: '本地控制许可',
|
label: '通信',
|
||||||
children: [
|
disabled: true,
|
||||||
{
|
children: [
|
||||||
label: '请求',
|
{
|
||||||
handler: this.setStationControl,
|
label: '本地',
|
||||||
cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL
|
disabled: true,
|
||||||
},
|
handler: this.undeveloped,
|
||||||
{
|
isDisabled: (station, work) => true
|
||||||
// 暂无功能,先disabled
|
},
|
||||||
label: '授权',
|
{
|
||||||
disabled: true,
|
label: '重新连接',
|
||||||
handler: this.undeveloped
|
disabled: true,
|
||||||
},
|
handler: this.undeveloped,
|
||||||
{
|
isDisabled: (station, work) => true
|
||||||
// 暂无功能,先disabled
|
}
|
||||||
label: '取消',
|
],
|
||||||
disabled: true,
|
isDisabled: (station, work) => true,
|
||||||
handler: this.undeveloped
|
isShow: (station, work) => work === 'dispatchWork'
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
// 暂无功能,先disabled
|
// label: '折返模式',
|
||||||
label: '紧急本地控制',
|
// children: [
|
||||||
disabled: true,
|
// {
|
||||||
handler: this.undeveloped
|
// label: '侧线优先',
|
||||||
}
|
// handler: this.setPriorityStrategy
|
||||||
]
|
// },
|
||||||
},
|
// {
|
||||||
{
|
// label: '直线折返',
|
||||||
label: '进路模式',
|
// handler: this.setLineStrategy
|
||||||
children: [
|
// },
|
||||||
{
|
// {
|
||||||
label: '自动',
|
// label: '侧线折返',
|
||||||
handler: this.atsAutoControlALL,
|
// handler: this.setLateralStrategy
|
||||||
cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING
|
// }
|
||||||
},
|
// ]
|
||||||
{
|
// },
|
||||||
label: '人工',
|
{
|
||||||
handler: this.humanControlALL,
|
// 暂无功能,先disabled掉
|
||||||
cmdType: CMD.Station.CMD_STATION_CLOSE_AUTO_SETTING
|
label: '设备标签',
|
||||||
}
|
disabled: true,
|
||||||
]
|
children: [
|
||||||
},
|
{
|
||||||
{
|
label: '创建设备标签',
|
||||||
// 暂无功能,先disabled掉
|
disabled: true,
|
||||||
label: '通信',
|
handler: this.undeveloped,
|
||||||
disabled: true,
|
isDisabled: (station, work) => true
|
||||||
children: [
|
},
|
||||||
{
|
{
|
||||||
label: '本地',
|
label: '查看设备标签',
|
||||||
disabled: true,
|
disabled: true,
|
||||||
handler: this.undeveloped
|
handler: this.undeveloped,
|
||||||
},
|
isDisabled: (station, work) => true
|
||||||
{
|
},
|
||||||
label: '重新连接',
|
{
|
||||||
disabled: true,
|
label: '更改设备标签',
|
||||||
handler: this.undeveloped
|
disabled: true,
|
||||||
}
|
handler: this.undeveloped,
|
||||||
]
|
isDisabled: (station, work) => true
|
||||||
},
|
},
|
||||||
// {
|
{
|
||||||
// label: '折返模式',
|
label: '删除设备标签',
|
||||||
// children: [
|
disabled: true,
|
||||||
// {
|
handler: this.undeveloped,
|
||||||
// label: '侧线优先',
|
isDisabled: (station, work) => true
|
||||||
// handler: this.setPriorityStrategy
|
}
|
||||||
// },
|
],
|
||||||
// {
|
isDisabled: (station, work) => true,
|
||||||
// label: '直线折返',
|
isShow: (station, work) => work === 'dispatchWork'
|
||||||
// handler: this.setLineStrategy
|
},
|
||||||
// },
|
{
|
||||||
// {
|
// 暂无功能,先disabled掉
|
||||||
// label: '侧线折返',
|
label: '取消验证',
|
||||||
// handler: this.setLateralStrategy
|
disabled: true,
|
||||||
// }
|
children: [
|
||||||
// ]
|
{
|
||||||
// },
|
label: '取消验证',
|
||||||
{
|
disabled: true,
|
||||||
// 暂无功能,先disabled掉
|
handler: this.undeveloped,
|
||||||
label: '设备标签',
|
isDisabled: (station, work) => true
|
||||||
disabled: true,
|
},
|
||||||
children: [
|
{
|
||||||
{
|
label: '恢复验证',
|
||||||
label: '创建设备标签',
|
disabled: true,
|
||||||
disabled: true,
|
handler: this.undeveloped,
|
||||||
handler: this.undeveloped
|
isDisabled: (station, work) => true
|
||||||
},
|
}
|
||||||
{
|
],
|
||||||
label: '查看设备标签',
|
isDisabled: (station, work) => true,
|
||||||
disabled: true,
|
isShow: (station, work) => work === 'dispatchWork'
|
||||||
handler: this.undeveloped
|
}
|
||||||
},
|
],
|
||||||
{
|
|
||||||
label: '更改设备标签',
|
|
||||||
disabled: true,
|
|
||||||
handler: this.undeveloped
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '删除设备标签',
|
|
||||||
disabled: true,
|
|
||||||
handler: this.undeveloped
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// 暂无功能,先disabled掉
|
|
||||||
label: '取消验证',
|
|
||||||
disabled: true,
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: '取消验证',
|
|
||||||
disabled: true,
|
|
||||||
handler: this.undeveloped
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '恢复验证',
|
|
||||||
disabled: true,
|
|
||||||
handler: this.undeveloped
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
menuForce: [
|
menuForce: [
|
||||||
{
|
{
|
||||||
label: '设置ZC故障',
|
label: '设置ZC故障',
|
||||||
@ -246,6 +269,22 @@ export default {
|
|||||||
// this.menu = [...this.menuNormal.Center];
|
// this.menu = [...this.menuNormal.Center];
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
// this.menu = MenuContextHandler.covert(this.menuNormal);
|
// this.menu = MenuContextHandler.covert(this.menuNormal);
|
||||||
|
const selected = this.selected;
|
||||||
|
const work = this.work;
|
||||||
|
function setDisabledShow(item) {
|
||||||
|
if (item.children) {
|
||||||
|
item.children.forEach(ii => {
|
||||||
|
setDisabledShow(ii);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
item.disabled = item.isDisabled ? item.isDisabled(selected, work) : false;
|
||||||
|
item.show = item.isShow ? item.isShow(selected, work) : true;
|
||||||
|
}
|
||||||
|
this.menu = [];
|
||||||
|
this.menuNormal.forEach(menuItem => {
|
||||||
|
setDisabledShow(menuItem);
|
||||||
|
this.menu.push(menuItem);
|
||||||
|
});
|
||||||
if (this.selected.reentry) {
|
if (this.selected.reentry) {
|
||||||
const menuAdd = {
|
const menuAdd = {
|
||||||
label: '折返模式',
|
label: '折返模式',
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<pop-menu ref="popMenu" :menu="menu" disabledColor="#aaa"/>
|
<pop-menu ref="popMenu" :menu="menu" disabled-color="#aaa" />
|
||||||
<station-control ref="stationControl" />
|
<station-control ref="stationControl" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -25,15 +25,18 @@ export default {
|
|||||||
default() {
|
default() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
work: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
menu: [],
|
menu: [],
|
||||||
menuNormal: {
|
menuNormal: [],
|
||||||
Local: [],
|
|
||||||
Center: []
|
|
||||||
},
|
|
||||||
menuForce: [
|
menuForce: [
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
@ -66,6 +69,12 @@ export default {
|
|||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
// this.menu = MenuContextHandler.covert(this.menuNormal);
|
// this.menu = MenuContextHandler.covert(this.menuNormal);
|
||||||
|
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) {
|
if (this.operatemode === OperateMode.FAULT) {
|
||||||
this.menu = this.menuForce;
|
this.menu = this.menuForce;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<pop-menu ref="popMenu" :menu="menu" pop-class="xian-02__pop_tip_station" :tip-msg="topTip" disabledColor="#aaa" />
|
<pop-menu ref="popMenu" :menu="menu" pop-class="xian-02__pop_tip_station" :tip-msg="topTip" disabled-color="#aaa" />
|
||||||
<switch-control ref="switchControl" pop-class="xian-02__system" />
|
<switch-control ref="switchControl" pop-class="xian-02__system" />
|
||||||
<section-un-lock ref="sectionUnLock" pop-class="xian-02__system" />
|
<section-un-lock ref="sectionUnLock" pop-class="xian-02__system" />
|
||||||
<speed-limit-control ref="speedLimitControl" pop-class="xian-02__system" />
|
<speed-limit-control ref="speedLimitControl" pop-class="xian-02__system" />
|
||||||
@ -24,6 +24,7 @@ import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
|||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||||
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
|
import { judgeStationControl } from '@/jmapNew/theme/components/utils/menuJudge.js';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'SwitchMenu',
|
name: 'SwitchMenu',
|
||||||
@ -42,100 +43,108 @@ export default {
|
|||||||
default() {
|
default() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
work: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
topTip: '',
|
topTip: '',
|
||||||
menu: [],
|
menu: [],
|
||||||
menuNormal: {
|
menuNormal: [
|
||||||
Local: [
|
{
|
||||||
{
|
label: '道岔定位',
|
||||||
label: '道岔定位',
|
handler: this.locate,
|
||||||
handler: this.locate,
|
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION
|
isDisabled: (station, work) => {
|
||||||
},
|
if (work === 'localWork') {
|
||||||
{
|
return station.normalPosition === 1;
|
||||||
label: '道岔反位',
|
} else {
|
||||||
handler: this.reverse,
|
return station.normalPosition === 1;
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '道岔单锁',
|
|
||||||
handler: this.lock,
|
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '道岔单解',
|
|
||||||
handler: this.unlock,
|
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
|
|
||||||
}
|
}
|
||||||
// {
|
},
|
||||||
// label: '道岔封锁',
|
{
|
||||||
// handler: this.block,
|
label: '道岔反位',
|
||||||
// cmdType: CMD.Switch.CMD_SWITCH_BLOCK
|
handler: this.reverse,
|
||||||
// },
|
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION,
|
||||||
// {
|
isDisabled: (station, work) => {
|
||||||
// label: '道岔解封',
|
if (work === 'localWork') {
|
||||||
// handler: this.unblock,
|
return station.reversePosition === 1;
|
||||||
// cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK
|
} else {
|
||||||
// }
|
return station.reversePosition === 1;
|
||||||
],
|
}
|
||||||
Center: [
|
|
||||||
{
|
|
||||||
label: '道岔定位',
|
|
||||||
handler: this.locate,
|
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '道岔反位',
|
|
||||||
handler: this.reverse,
|
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '道岔单锁',
|
|
||||||
handler: this.lock,
|
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '道岔单解',
|
|
||||||
handler: this.unlock,
|
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// 暂无功能,先disabled掉
|
|
||||||
label: '设备标签',
|
|
||||||
disabled: true,
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: '创建设备标签',
|
|
||||||
disabled: true,
|
|
||||||
handler: this.undeveloped
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '查看设备标签',
|
|
||||||
disabled: true,
|
|
||||||
handler: this.undeveloped
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '更改设备标签',
|
|
||||||
disabled: true,
|
|
||||||
handler: this.undeveloped
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '删除设备标签',
|
|
||||||
disabled: true,
|
|
||||||
handler: this.undeveloped
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '帮助',
|
|
||||||
disabled: true,
|
|
||||||
handler: this.undeveloped
|
|
||||||
}
|
}
|
||||||
]
|
},
|
||||||
},
|
{
|
||||||
|
label: '道岔单锁',
|
||||||
|
handler: this.lock,
|
||||||
|
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK,
|
||||||
|
isDisabled: (station, work) => {
|
||||||
|
if (work === 'localWork') {
|
||||||
|
return station.singleLock === 1;
|
||||||
|
} else {
|
||||||
|
return station.singleLock === 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '道岔单解',
|
||||||
|
handler: this.unlock,
|
||||||
|
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK,
|
||||||
|
isDisabled: (station, work) => {
|
||||||
|
if (work === 'localWork') {
|
||||||
|
return station.singleLock !== 1;
|
||||||
|
} else {
|
||||||
|
return station.singleLock !== 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// 暂无功能,先disabled掉
|
||||||
|
label: '设备标签',
|
||||||
|
disabled: true,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
label: '创建设备标签',
|
||||||
|
disabled: true,
|
||||||
|
handler: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '查看设备标签',
|
||||||
|
disabled: true,
|
||||||
|
handler: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '更改设备标签',
|
||||||
|
disabled: true,
|
||||||
|
handler: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '删除设备标签',
|
||||||
|
disabled: true,
|
||||||
|
handler: this.undeveloped
|
||||||
|
}
|
||||||
|
],
|
||||||
|
isDisabled: (station, work) => {
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
isShow: (station, work) => work === 'dispatchWork'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '帮助',
|
||||||
|
disabled: true,
|
||||||
|
handler: this.undeveloped,
|
||||||
|
isDisabled: (station, work) => {
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
isShow: (station, work) => work === 'dispatchWork'
|
||||||
|
}
|
||||||
|
],
|
||||||
menuEnabled: [
|
menuEnabled: [
|
||||||
{
|
{
|
||||||
label: '使能',
|
label: '使能',
|
||||||
@ -199,6 +208,13 @@ export default {
|
|||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
// this.menu = MenuContextHandler.covert2(this.menuNormal);
|
// this.menu = MenuContextHandler.covert2(this.menuNormal);
|
||||||
|
this.menu = [];
|
||||||
|
this.menuNormal.forEach(menuItem => {
|
||||||
|
const status = judgeStationControl(this.selected.belongStationCode, this.selected.stationCode, this.work);
|
||||||
|
menuItem.disabled = menuItem.isDisabled ? menuItem.isDisabled(this.selected, this.work) || !status : false;
|
||||||
|
menuItem.show = menuItem.isShow ? menuItem.isShow(this.selected, this.work) : true;
|
||||||
|
this.menu.push(menuItem);
|
||||||
|
});
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT) {
|
||||||
if (!this.$store.state.scriptRecord.bgSet) {
|
if (!this.$store.state.scriptRecord.bgSet) {
|
||||||
|
@ -60,172 +60,181 @@ export default {
|
|||||||
default() {
|
default() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
work: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
topTip: '',
|
topTip: '',
|
||||||
menu: [],
|
menu: [],
|
||||||
menuNormal: {
|
menuNormal: [
|
||||||
Local: [
|
{
|
||||||
],
|
label: '追踪号',
|
||||||
Center: [
|
children: [
|
||||||
{
|
{
|
||||||
label: '追踪号',
|
label: '目的地ID',
|
||||||
children: [
|
handler: this.updateDestination,
|
||||||
{
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
label: '目的地ID',
|
},
|
||||||
handler: this.updateDestination,
|
{
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
label: '删除ID',
|
||||||
},
|
handler: this.deletDestionation,
|
||||||
{
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
label: '删除ID',
|
},
|
||||||
handler: this.deletDestionation,
|
{
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
label: '更改追踪号',
|
||||||
},
|
handler: this.updateTid,
|
||||||
{
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
label: '更改追踪号',
|
},
|
||||||
handler: this.updateTid,
|
{
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
label: '交换追踪号',
|
||||||
},
|
handler: this.switchTid,
|
||||||
{
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
label: '交换追踪号',
|
},
|
||||||
handler: this.switchTid,
|
{
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
label: '运行等级',
|
||||||
},
|
handler: this.handleRunLevel,
|
||||||
{
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
label: '运行等级',
|
},
|
||||||
handler: this.handleRunLevel,
|
{
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
label: '列车模式',
|
||||||
},
|
handler: this.setTrainMode,
|
||||||
{
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
label: '列车模式',
|
},
|
||||||
handler: this.setTrainMode,
|
{
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
label: '惰性模式',
|
||||||
},
|
handler: this.setIdleRunningMode,
|
||||||
{
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
label: '惰性模式',
|
},
|
||||||
handler: this.setIdleRunningMode,
|
{
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
label: '旁路模式',
|
||||||
},
|
handler: this.undeveloped,
|
||||||
{
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
label: '旁路模式',
|
}
|
||||||
handler: this.undeveloped,
|
],
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
}
|
},
|
||||||
]
|
{
|
||||||
},
|
label: '列车明细',
|
||||||
{
|
handler: this.getTrainDetail,
|
||||||
label: '列车明细',
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE,
|
||||||
handler: this.getTrainDetail,
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
},
|
||||||
},
|
{
|
||||||
{
|
label: '请求',
|
||||||
label: '请求',
|
children: [
|
||||||
children: [
|
{
|
||||||
{
|
label: '扣车/放行',
|
||||||
label: '扣车/放行',
|
children:[
|
||||||
children:[
|
{
|
||||||
{
|
label: '扣车',
|
||||||
label: '扣车',
|
handler: this.setDetainTrain,
|
||||||
handler: this.setDetainTrain,
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
},
|
||||||
},
|
{
|
||||||
{
|
label: '发车 ',
|
||||||
label: '发车 ',
|
handler: this.setTrainDeparture,
|
||||||
handler: this.setTrainDeparture,
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
}
|
||||||
}
|
]
|
||||||
]
|
},
|
||||||
},
|
{
|
||||||
{
|
label: '停车/放行',
|
||||||
label: '停车/放行',
|
children:[
|
||||||
children:[
|
{
|
||||||
{
|
label: '停车',
|
||||||
label: '停车',
|
handler: this.trainOrderStop
|
||||||
handler: this.trainOrderStop
|
},
|
||||||
},
|
{
|
||||||
{
|
label: '放行 ',
|
||||||
label: '放行 ',
|
handler: this.trainCancleOrderStop
|
||||||
handler: this.trainCancleOrderStop
|
}
|
||||||
}
|
]
|
||||||
]
|
// cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
// cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
},
|
||||||
},
|
{
|
||||||
{
|
label: '就绪状态',
|
||||||
label: '就绪状态',
|
handler: this.undeveloped,
|
||||||
handler: this.undeveloped,
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
},
|
||||||
},
|
{
|
||||||
{
|
label: '测试',
|
||||||
label: '测试',
|
handler: this.undeveloped,
|
||||||
handler: this.undeveloped,
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
},
|
||||||
},
|
{
|
||||||
{
|
label: '救援列车',
|
||||||
label: '救援列车',
|
handler: this.undeveloped,
|
||||||
handler: this.undeveloped,
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
},
|
||||||
},
|
{
|
||||||
{
|
label: '开车门',
|
||||||
label: '开车门',
|
handler: this.undeveloped,
|
||||||
handler: this.undeveloped,
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
},
|
||||||
},
|
{
|
||||||
{
|
label: '关车门',
|
||||||
label: '关车门',
|
handler: this.undeveloped,
|
||||||
handler: this.undeveloped,
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
}
|
||||||
}
|
],
|
||||||
]
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '设备标签',
|
label: '设备标签',
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
label: '创建设备标签',
|
label: '创建设备标签',
|
||||||
handler: this.undeveloped,
|
handler: this.undeveloped,
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '查看设备标签',
|
label: '查看设备标签',
|
||||||
handler: this.undeveloped,
|
handler: this.undeveloped,
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '更改设备标签',
|
label: '更改设备标签',
|
||||||
handler: this.undeveloped,
|
handler: this.undeveloped,
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '删除设备标签',
|
label: '删除设备标签',
|
||||||
handler: this.undeveloped,
|
handler: this.undeveloped,
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
},
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
{
|
},
|
||||||
label: '列车报警确认',
|
{
|
||||||
children: [
|
label: '列车报警确认',
|
||||||
{
|
children: [
|
||||||
label: '完整性报警确认',
|
{
|
||||||
handler: this.trainAlertor,
|
label: '完整性报警确认',
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
handler: this.trainAlertor,
|
||||||
}
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
||||||
]
|
}
|
||||||
},
|
],
|
||||||
{
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
label: '更新列车计划',
|
},
|
||||||
handler: this.updateTrainPlan,
|
{
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
label: '更新列车计划',
|
||||||
},
|
handler: this.updateTrainPlan,
|
||||||
{
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE,
|
||||||
label: '帮助',
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
handler: this.undeveloped,
|
},
|
||||||
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE
|
{
|
||||||
}
|
label: '帮助',
|
||||||
]
|
handler: this.undeveloped,
|
||||||
},
|
cmdType: CMD.TrainWindow.CMD_TRAIN_UPDATE_TYPE,
|
||||||
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
|
}
|
||||||
|
],
|
||||||
menuForce: [
|
menuForce: [
|
||||||
{
|
{
|
||||||
label: '设置故障',
|
label: '设置故障',
|
||||||
@ -331,8 +340,15 @@ export default {
|
|||||||
},
|
},
|
||||||
initMenu() {
|
initMenu() {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
if (this.$store.state.training.prdType === '02') {
|
if (this.work === 'dispatchWork') {
|
||||||
this.menu = this.menuNormal.Center;
|
// if (this.$store.state.training.prdType === '02') {
|
||||||
|
// this.menu = this.menuNormal.Center;
|
||||||
|
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) {
|
if (this.operatemode === OperateMode.FAULT) {
|
||||||
|
@ -69,6 +69,14 @@ export default {
|
|||||||
components: {
|
components: {
|
||||||
NoticeInfo
|
NoticeInfo
|
||||||
},
|
},
|
||||||
|
props: {
|
||||||
|
work: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
dialogShow: false,
|
dialogShow: false,
|
||||||
@ -88,10 +96,10 @@ export default {
|
|||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
targetStatus() {
|
targetStatus() {
|
||||||
if (this.$store.state.training.prdType == '01') {
|
if (this.work == 'localWork') {
|
||||||
return '01';
|
return '01';
|
||||||
}
|
}
|
||||||
if (this.$store.state.training.prdType == '02') {
|
if (this.work == 'dispatchWork') {
|
||||||
return '02';
|
return '02';
|
||||||
}
|
}
|
||||||
return '';
|
return '';
|
||||||
@ -252,7 +260,7 @@ export default {
|
|||||||
type: MapDeviceType.StationControl.type,
|
type: MapDeviceType.StationControl.type,
|
||||||
operation: OperationEvent.StationControl.controlResponse.agree.operation,
|
operation: OperationEvent.StationControl.controlResponse.agree.operation,
|
||||||
val: this.selection[0].code,
|
val: this.selection[0].code,
|
||||||
prdType: this.$store.state.training.prdType
|
prdType: this.targetStatus
|
||||||
};
|
};
|
||||||
|
|
||||||
this.clearTimer();
|
this.clearTimer();
|
||||||
@ -273,7 +281,7 @@ export default {
|
|||||||
type: MapDeviceType.StationControl.type,
|
type: MapDeviceType.StationControl.type,
|
||||||
operation: OperationEvent.StationControl.controlResponse.refuse.operation,
|
operation: OperationEvent.StationControl.controlResponse.refuse.operation,
|
||||||
val: this.tableData[0].code,
|
val: this.tableData[0].code,
|
||||||
prdType: this.$store.state.training.prdType
|
prdType: this.targetStatus
|
||||||
};
|
};
|
||||||
|
|
||||||
this.clearTimer();
|
this.clearTimer();
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<pop-menu ref="popMenu" :menu="menu" trigger="click" :tip-msg="topTip" text-align="left" pop-class="xian-02__pop_tip_station" disabledColor="#aaa" />
|
<pop-menu ref="popMenu" :menu="menu" trigger="click" :tip-msg="topTip" text-align="left" pop-class="xian-02__pop_tip_station" disabled-color="#aaa" />
|
||||||
<notice-info ref="noticeInfo" pop-class="xian-02__system" />
|
<notice-info ref="noticeInfo" pop-class="xian-02__system" />
|
||||||
<update-stand-plan ref="updateStandPlan" :selected="selected" />
|
<update-stand-plan ref="updateStandPlan" :selected="selected" />
|
||||||
<warning-confirm ref="warningConfirm" :selected="selected" />
|
<warning-confirm ref="warningConfirm" :selected="selected" />
|
||||||
@ -22,6 +22,7 @@ import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
|||||||
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
// import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
// import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
|
import { judgeStationControl } from '@/jmapNew/theme/components/utils/menuJudge.js';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'StationStandMenu',
|
name: 'StationStandMenu',
|
||||||
@ -39,154 +40,205 @@ export default {
|
|||||||
default: () => {
|
default: () => {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
work: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
menu: [],
|
menu: [],
|
||||||
topTip: '',
|
topTip: '',
|
||||||
updateStandPlan: {
|
updateStandPlan: [
|
||||||
Local: [],
|
{
|
||||||
Center: [
|
label: '更新站台计划',
|
||||||
{
|
handler: this.setStopTime,
|
||||||
label: '更新站台计划',
|
cmdType: CMD.Stand.CMD_STAND_SET_PARK_TIME,
|
||||||
handler: this.setStopTime,
|
isDisabled: (station, work) => {
|
||||||
cmdType: CMD.Stand.CMD_STAND_SET_PARK_TIME
|
return false;
|
||||||
},
|
},
|
||||||
{
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
label: '帮助',
|
},
|
||||||
handler: this.setStopTime,
|
{
|
||||||
cmdType: CMD.Stand.CMD_STAND_SET_PARK_TIME
|
label: '帮助',
|
||||||
}
|
handler: this.setStopTime,
|
||||||
]
|
cmdType: CMD.Stand.CMD_STAND_SET_PARK_TIME,
|
||||||
},
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
stopJumping: {
|
}
|
||||||
Local: [],
|
],
|
||||||
Center: [
|
stopJumping: [
|
||||||
{
|
{
|
||||||
label: '列车跳停本站',
|
label: '列车跳停本站',
|
||||||
handler: this.setJumpStop,
|
handler: this.setJumpStop,
|
||||||
cmdType: CMD.Stand.CMD_STAND_SET_JUMP_STOP,
|
cmdType: CMD.Stand.CMD_STAND_SET_JUMP_STOP,
|
||||||
checkDisabled: (selected) => { return selected && (selected.centerHoldTrain||selected.stationHoldTrain) }
|
checkDisabled: (selected) => { return selected && (selected.centerHoldTrain || selected.stationHoldTrain); },
|
||||||
|
isDisabled: (station, work) => {
|
||||||
|
return false;
|
||||||
},
|
},
|
||||||
{
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
label: '取消列车跳停本站',
|
},
|
||||||
handler: this.cancelJumpStop,
|
{
|
||||||
cmdType: CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP
|
label: '取消列车跳停本站',
|
||||||
|
handler: this.cancelJumpStop,
|
||||||
|
cmdType: CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP,
|
||||||
|
isDisabled: (station, work) => {
|
||||||
|
return false;
|
||||||
},
|
},
|
||||||
{
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
label: '帮助',
|
},
|
||||||
handler: this.setStopTime,
|
{
|
||||||
cmdType: CMD.Stand.CMD_STAND_VIEW_STATUS
|
label: '帮助',
|
||||||
}
|
handler: this.setStopTime,
|
||||||
]
|
cmdType: CMD.Stand.CMD_STAND_VIEW_STATUS,
|
||||||
},
|
isDisabled: (station, work) => {
|
||||||
allTrainStopJump: {
|
return false;
|
||||||
Local: [],
|
|
||||||
Center: [
|
|
||||||
{
|
|
||||||
label: '设备标签',
|
|
||||||
handler: this.setStopTime,
|
|
||||||
cmdType: CMD.Stand.CMD_STAND_SET_PARK_TIME
|
|
||||||
},
|
},
|
||||||
{
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
label: '帮助',
|
}
|
||||||
handler: this.setStopTime,
|
],
|
||||||
cmdType: CMD.Stand.CMD_STAND_VIEW_STATUS
|
allTrainStopJump: [
|
||||||
}
|
{
|
||||||
]
|
label: '设备标签',
|
||||||
},
|
handler: this.setStopTime,
|
||||||
standDetain: {
|
cmdType: CMD.Stand.CMD_STAND_SET_PARK_TIME,
|
||||||
Local: [],
|
isDisabled: (station, work) => {
|
||||||
Center: [
|
return false;
|
||||||
{
|
|
||||||
label: '扣车',
|
|
||||||
handler: this.setStandDetain,
|
|
||||||
cmdType: CMD.Stand.CMD_STAND_SET_HOLD_TRAIN,
|
|
||||||
checkDisabled: (selected) => { return selected && selected.allSkip }
|
|
||||||
},
|
},
|
||||||
{
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
label: '发车',
|
},
|
||||||
handler: this.cancelStandDetain,
|
{
|
||||||
cmdType: CMD.Stand.CMD_STAND_EARLY_DEPART
|
label: '帮助',
|
||||||
}
|
handler: this.setStopTime,
|
||||||
]
|
cmdType: CMD.Stand.CMD_STAND_VIEW_STATUS,
|
||||||
},
|
isDisabled: (station, work) => {
|
||||||
stoppingProfile: {
|
return false;
|
||||||
Local: [],
|
|
||||||
Center: [
|
|
||||||
{
|
|
||||||
label: '站台停站调整', // 设置停站时间
|
|
||||||
handler: this.setStopTime,
|
|
||||||
cmdType: CMD.Stand.CMD_STAND_SET_PARK_TIME
|
|
||||||
},
|
},
|
||||||
{
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
label: '站台停站',
|
}
|
||||||
handler: this.setStopTime,
|
],
|
||||||
cmdType: ''
|
standDetain: [
|
||||||
|
{
|
||||||
|
label: '扣车',
|
||||||
|
handler: this.setStandDetain,
|
||||||
|
cmdType: CMD.Stand.CMD_STAND_SET_HOLD_TRAIN,
|
||||||
|
checkDisabled: (selected) => { return selected && selected.allSkip; },
|
||||||
|
isDisabled: (station, work) => {
|
||||||
|
return false;
|
||||||
},
|
},
|
||||||
{
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
label: '帮助',
|
},
|
||||||
handler: this.setStopTime,
|
{
|
||||||
cmdType: ''
|
label: '发车',
|
||||||
}
|
handler: this.cancelStandDetain,
|
||||||
]
|
cmdType: CMD.Stand.CMD_STAND_EARLY_DEPART,
|
||||||
},
|
isDisabled: (station, work) => {
|
||||||
psdInfoConfirm: {
|
return false;
|
||||||
Local: [],
|
|
||||||
Center: [
|
|
||||||
{
|
|
||||||
label: '站台屏蔽门报警确认',
|
|
||||||
handler: this.confirmPsdWarning,
|
|
||||||
cmdType: ''
|
|
||||||
},
|
},
|
||||||
{
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
label: '帮助',
|
}
|
||||||
handler: this.setStopTime,
|
],
|
||||||
cmdType: ''
|
stoppingProfile: [
|
||||||
}
|
{
|
||||||
]
|
label: '站台停站调整', // 设置停站时间
|
||||||
},
|
handler: this.setStopTime,
|
||||||
upStopProfile: {
|
cmdType: CMD.Stand.CMD_STAND_SET_PARK_TIME,
|
||||||
Local: [],
|
isDisabled: (station, work) => {
|
||||||
Center: [
|
return false;
|
||||||
// {
|
|
||||||
// label: '站台停站曲线',
|
|
||||||
// handler: this.setStopTime,
|
|
||||||
// cmdType: ''
|
|
||||||
// },
|
|
||||||
{
|
|
||||||
label: '站台停站曲线',
|
|
||||||
handler: this.setUpStopProfile,
|
|
||||||
cmdType: ''
|
|
||||||
},
|
},
|
||||||
{
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
label: '帮助',
|
},
|
||||||
handler: this.setUpStopProfile,
|
{
|
||||||
cmdType: ''
|
label: '站台停站',
|
||||||
}
|
handler: this.setStopTime,
|
||||||
]
|
cmdType: '',
|
||||||
},
|
isDisabled: (station, work) => {
|
||||||
downStopProfile: {
|
return false;
|
||||||
Local: [],
|
|
||||||
Center: [
|
|
||||||
// {
|
|
||||||
// label: '站台停站曲线',
|
|
||||||
// handler: this.setDownStopProfile,
|
|
||||||
// cmdType: ''
|
|
||||||
// },
|
|
||||||
{
|
|
||||||
label: '站台停站曲线',
|
|
||||||
handler: this.setDownStopProfile,
|
|
||||||
cmdType: ''
|
|
||||||
},
|
},
|
||||||
{
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
label: '帮助',
|
},
|
||||||
handler: this.setDownStopProfile,
|
{
|
||||||
cmdType: ''
|
label: '帮助',
|
||||||
}
|
handler: this.setStopTime,
|
||||||
]
|
cmdType: '',
|
||||||
},
|
isDisabled: (station, work) => {
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
psdInfoConfirm: [
|
||||||
|
{
|
||||||
|
label: '站台屏蔽门报警确认',
|
||||||
|
handler: this.confirmPsdWarning,
|
||||||
|
cmdType: '',
|
||||||
|
isDisabled: (station, work) => {
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '帮助',
|
||||||
|
handler: this.setStopTime,
|
||||||
|
cmdType: '',
|
||||||
|
isDisabled: (station, work) => {
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
upStopProfile: [
|
||||||
|
// {
|
||||||
|
// label: '站台停站曲线',
|
||||||
|
// handler: this.setStopTime,
|
||||||
|
// cmdType: ''
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
label: '站台停站曲线',
|
||||||
|
handler: this.setUpStopProfile,
|
||||||
|
cmdType: '',
|
||||||
|
isDisabled: (station, work) => {
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '帮助',
|
||||||
|
handler: this.setUpStopProfile,
|
||||||
|
cmdType: '',
|
||||||
|
isDisabled: (station, work) => {
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
downStopProfile: [
|
||||||
|
// {
|
||||||
|
// label: '站台停站曲线',
|
||||||
|
// handler: this.setDownStopProfile,
|
||||||
|
// cmdType: ''
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
label: '站台停站曲线',
|
||||||
|
handler: this.setDownStopProfile,
|
||||||
|
cmdType: '',
|
||||||
|
isDisabled: (station, work) => {
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '帮助',
|
||||||
|
handler: this.setDownStopProfile,
|
||||||
|
cmdType: '',
|
||||||
|
isDisabled: (station, work) => {
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
isShow: (stand, work) => work === 'dispatchWork'
|
||||||
|
}
|
||||||
|
],
|
||||||
menuForce: [
|
menuForce: [
|
||||||
{
|
{
|
||||||
label: '设置故障',
|
label: '设置故障',
|
||||||
@ -231,37 +283,49 @@ export default {
|
|||||||
self.doClose();
|
self.doClose();
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
getMenu(type) {
|
||||||
|
this.menu = [];
|
||||||
|
this[type].forEach(menuItem => {
|
||||||
|
const status = judgeStationControl(this.selected.stationCode, this.selected.deviceStationCode, this.work);
|
||||||
|
menuItem.disabled = menuItem.isDisabled ? menuItem.isDisabled(this.selected, this.work) || !status : false;
|
||||||
|
menuItem.show = menuItem.isShow ? menuItem.isShow(this.selected, this.work) : true;
|
||||||
|
this.menu.push(menuItem);
|
||||||
|
});
|
||||||
|
},
|
||||||
initMenu(type) {
|
initMenu(type) {
|
||||||
// 编辑模式菜单列表
|
// 编辑模式菜单列表
|
||||||
this.topTip = '';
|
this.topTip = '';
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 'updateStandPlan':
|
case 'updateStandPlan':
|
||||||
this.menu = this.updateStandPlan.Center;
|
this.menu = this.updateStandPlan;
|
||||||
break;
|
break;
|
||||||
case 'stopJumping':
|
case 'stopJumping':
|
||||||
// this.menu = MenuContextHandler.covertList(this.stopJumping.Center);
|
// this.menu = MenuContextHandler.covertList(this.stopJumping.Center);
|
||||||
|
this.getMenu(type);
|
||||||
break;
|
break;
|
||||||
case 'allTrainStopJump':
|
case 'allTrainStopJump':
|
||||||
this.topTip = '所有列车跳停本站';
|
this.topTip = '所有列车跳停本站';
|
||||||
// this.menu = MenuContextHandler.covertList(this.allTrainStopJump.Center);
|
// this.menu = MenuContextHandler.covertList(this.allTrainStopJump.Center);
|
||||||
|
this.getMenu(type);
|
||||||
break;
|
break;
|
||||||
case 'standDetain':
|
case 'standDetain':
|
||||||
this.topTip = '站台扣车 SET/CANCEL';
|
this.topTip = '站台扣车 SET/CANCEL';
|
||||||
// this.menu = MenuContextHandler.covertList(this.standDetain.Center);
|
// this.menu = MenuContextHandler.covertList(this.standDetain.Center);
|
||||||
|
this.getMenu(type);
|
||||||
break;
|
break;
|
||||||
case 'psdInfoConfirm':
|
case 'psdInfoConfirm':
|
||||||
this.topTip = '站台屏蔽门报警-站台屏蔽门信息确认';
|
this.topTip = '站台屏蔽门报警-站台屏蔽门信息确认';
|
||||||
this.menu = this.psdInfoConfirm.Center;
|
this.menu = this.psdInfoConfirm;
|
||||||
break;
|
break;
|
||||||
case 'upStopProfile':
|
case 'upStopProfile':
|
||||||
this.menu = this.upStopProfile.Center;
|
this.menu = this.upStopProfile;
|
||||||
break;
|
break;
|
||||||
case 'downStopProfile':
|
case 'downStopProfile':
|
||||||
this.menu = this.downStopProfile.Center;
|
this.menu = this.downStopProfile;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT) {
|
||||||
this.menu = this.menuForce;
|
this.menu = this.menuForce;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user