This commit is contained in:
joylink_cuiweidong 2020-06-17 15:31:39 +08:00
commit da2e975094
25 changed files with 1000 additions and 2229 deletions

View File

@ -1,185 +0,0 @@
<template>
<el-dialog
v-dialogDrag
class="beijing-01__systerm signal-control"
:title="title"
:visible.sync="show"
width="300px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<el-row class="header">
<el-col :span="11"><span>集中站</span></el-col>
<el-col :span="11" :offset="2"><span>信号机</span></el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-input v-model="stationName" size="small" disabled />
</el-col>
<el-col :span="11" :offset="2">
<el-input v-model="signalName" size="small" disabled />
</el-col>
</el-row>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel"> </el-button>
</el-col>
</el-row>
<confirm-control ref="confirmControl" />
<notice-info ref="noticeInfo" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
import { mouseCancelState } from '../utils/menuItemStatus';
import ConfirmControl from './childDialog/confirmControl';
import NoticeInfo from './childDialog/childDialog/noticeInfo';
import {menuOperate, commitOperate} from '../utils/menuOperate';
export default {
name: 'RouteControl',
components: {
ConfirmControl,
NoticeInfo
},
data() {
return {
dialogShow: false,
loading: false,
selected: null,
operation: null,
stationName: '',
signalName: ''
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.close.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationHandler.getDomIdByOperation(this.operation) : '';
},
title() {
if (this.operation == OperationEvent.Signal.cancelTrainRoute.menu.operation) {
return '取消列车进路';
} else if (this.operation == OperationEvent.Signal.signalClose.menu.operation) {
return '信号关灯';
} else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) {
return '重开信号';
} else {
return '';
}
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
this.selected = selected;
if (!this.dialogShow) {
this.signalName = '';
this.stationName = '';
if (selected && selected._type.toUpperCase() === 'Signal'.toUpperCase()) {
this.signalName = selected.name;
const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
if (station) {
this.stationName = station.name;
}
}
this.operation = operate.operation;
}
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
mouseCancelState(this.selected);
},
commit() {
if (this.operation == OperationEvent.Signal.cancelTrainRoute.menu.operation) {
/** 取消列车进路*/
this.cancelTrainRoute();
} else if (this.operation == OperationEvent.Signal.signalClose.menu.operation) {
/** 信号关灯*/
this.signalClose();
} else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) {
/** 信号重开*/
this.reopenSignal();
}
},
//
cancelTrainRoute() {
this.loading = true;
commitOperate(menuOperate.Signal.cancelTrainRoute, {}, 2).then(({valid})=>{
this.loading = false;
if (valid) {
this.doClose();
}
}).catch((error) => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow({}, error.message);
});
},
//
signalClose() {
this.loading = true;
commitOperate(menuOperate.Signal.signalClose, {}, 1).then(({valid, operate})=>{
this.loading = false;
if (valid) {
this.doClose();
this.$refs.confirmControl.doShow(operate);
}
}).catch(() => {
this.loading = false;
this.doClose();
});
},
//
reopenSignal() {
this.loading = true;
commitOperate(menuOperate.Signal.reopenSignal, {}, 2).then(({valid})=>{
this.loading = false;
if (valid) {
this.doClose();
}
}).catch((error) => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow({}, error.message);
});
},
//
cancel() {
const operate = {
operation: OperationEvent.Command.close.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
this.$refs.noticeInfo.doShow(operate);
});
}
}
};
</script>

View File

@ -2,7 +2,7 @@
<div>
<pop-menu ref="popMenu" :menu="menu" />
<route-selection ref="routeSelection" />
<route-control ref="routeControl" />
<route-control ref="routeControl" :pop-class="'beijing-01__systerm'" />
<route-hand-control ref="routeHandControl" />
<route-detail ref="routeDetail" />
<notice-info ref="noticeInfo" />
@ -12,7 +12,7 @@
<script>
import PopMenu from '@/components/PopMenu';
import RouteControl from './dialog/routeControl';
import RouteControl from '@/jmapNew/theme/components/menus/dialog/routeControl';
import RouteSelection from './dialog/routeSelection';
import RouteHandControl from './dialog/routeHandControl';
import RouteDetail from './dialog/routeDetail';

View File

@ -78,7 +78,7 @@
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
// import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
export default {
name: 'PasswordBox',

View File

@ -1,284 +0,0 @@
<template>
<el-dialog
v-dialogDrag
class="chengdou-03__systerm signal-control"
:title="title"
:visible.sync="show"
width="440px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<el-row>
<el-col :span="2"><span>车站</span></el-col>
<el-col :span="6">
<el-input v-model="stationName" size="small" disabled />
</el-col>
<el-col :span="5" :offset="1"><span>始端信号机</span></el-col>
<el-col :span="6">
<el-input v-model="signalName" size="small" disabled />
</el-col>
</el-row>
<el-row justify="center" style="margin-top: 50px">
<el-col :span="11" :offset="13">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
<el-button :id="domIdCancel" @click="cancel"> </el-button>
</el-col>
</el-row>
<confirm-control ref="confirmControl" />
<password-box ref="password" @checkOver="passWordCommit" />
<notice-info ref="noticeInfo" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
import CancelMouseState from '@/mixin/CancelMouseState';
import ConfirmControl from './childDialog/confirmControl';
import PasswordBox from './childDialog/passwordInputBox';
import NoticeInfo from './childDialog/childDialog/noticeInfo';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
export default {
name: 'RouteControl',
components: {
ConfirmControl,
PasswordBox,
NoticeInfo
},
mixins: [
CancelMouseState
],
data() {
return {
dialogShow: false,
loading: false,
selected: null,
tempdata: [],
operation: null,
stationName: '',
signalName: '',
operateCode: ''
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.close.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationHandler.getDomIdByOperation(this.operation) : '';
},
title() {
if (this.operation == OperationEvent.Signal.cancelTrainRoute.menu.operation) {
return '取消列车进路';
} else if (this.operation == OperationEvent.Signal.humanTrainRoute.menu.operation) {
return '总人解';
} else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) {
return '重开信号';
} else if (this.operation == OperationEvent.Signal.lock.menu.operation) {
return '信号封锁';
} else if (this.operation == OperationEvent.Signal.unlock.menu.operation) {
return '信号解封';
} else if (this.operation == OperationEvent.Signal.signalClose.menu.operation) {
return '信号关灯';
}
return '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected, tempdata) {
this.selected = selected;
this.tempdata = tempdata;
if (!this.dialogShow) {
this.signalName = '';
this.stationName = '';
if (selected && selected._type.toUpperCase() === 'Signal'.toUpperCase()) {
this.signalName = selected.name;
const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
if (station) {
this.stationName = station.name;
}
}
this.operation = operate.operation;
this.operateCode = operate.code;
}
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
if (this.operation == OperationEvent.Signal.cancelTrainRoute.menu.operation) {
/** 取消列车进路*/
this.cancelTrainRoute();
} else if (this.operation == OperationEvent.Signal.humanTrainRoute.menu.operation) {
/** 总人解*/
this.humanTrainRoute();
} else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) {
/** 信号重开*/
this.reopenSignal();
} else if (this.operation == OperationEvent.Signal.lock.menu.operation) {
/** 信号封锁*/
this.lock();
} else if (this.operation == OperationEvent.Signal.unlock.menu.operation) {
/** 信号解封*/
this.unlock();
} else if (this.operation == OperationEvent.Signal.signalClose.menu.operation) {
/** 信号关灯*/
this.signalClose();
}
},
passWordCommit(data) {
const operate = {
over: true,
operation: data.operateNext,
cmdType: data.cmdType
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) { this.doClose(); }
}).catch((error) => {
this.doClose();
this.$refs.noticeInfo.doShow(operate, [error.message]);
});
},
//
cancelTrainRoute() {
const operate = {
over: true,
operation: OperationEvent.Signal.cancelTrainRoute.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
};
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(error => {
this.doClose();
this.$refs.noticeInfo.doShow(operate, [error.message]);
});
},
//
humanTrainRoute() {
const operate = {
over: true,
operation: OperationEvent.Signal.humanTrainRoute.confirm.operation,
cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(error => {
this.doClose();
this.$refs.noticeInfo.doShow(operate, [error.message]);
});
},
//
reopenSignal() {
const operate = {
over: true,
operation: OperationEvent.Signal.reopenSignal.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
};
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(error => {
this.doClose();
this.$refs.noticeInfo.doShow(operate, [error.message]);
});
},
//
lock() {
const operate = {
over: true,
operation: OperationEvent.Signal.lock.confirm.operation,
cmdType: CMD.Signal.CMD_SIGNAL_BLOCK
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(error => {
this.doClose();
this.$refs.noticeInfo.doShow(operate, [error.message]);
});
},
//
unlock() {
const operate = {
operation: OperationEvent.Signal.unlock.menu.operation,
operateNext: OperationEvent.Signal.unlock.confirm.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
operate.cmdType = CMD.Signal.CMD_SIGNAL_UNBLOCK;
this.$refs.password.doShow(operate);
}
}).catch(() => {
});
},
//
signalClose() {
const operate = {
operation: OperationEvent.Signal.signalClose.menu.operation,
messages: [`信号关灯: ${this.signalName}`]
};
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.$refs.confirmControl.doShow(operate);
}
}).catch(() => {
this.loading = false;
});
},
//
cancel() {
const operate = {
operation: OperationEvent.Command.close.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
this.$refs.noticeInfo.doShow(operate);
});
}
}
};
</script>

View File

@ -2,18 +2,18 @@
<div>
<pop-menu ref="popMenu" :menu="menu" />
<route-selection ref="routeSelection" />
<route-control ref="routeControl" />
<route-control ref="routeControl" :pop-class="'chengdou-03__systerm'" />
<route-detail ref="routeDetail" />
<route-guide ref="routeGuide" />
<route-hand-control ref="routeHandControl" />
<notice-info ref="noticeInfo" />
<password-box ref="passwordBox" @checkOver="passWordCommit" />
<password-box ref="passwordBox" :pop-class="'chengdou-03__systerm'" @checkOver="passWordCommit" />
</div>
</template>
<script>
import PopMenu from '@/components/PopMenu';
import RouteControl from './dialog/routeControl';
import RouteControl from '@/jmapNew/theme/components/menus/dialog/routeControl';
import RouteSelection from './dialog/routeSelection';
import RouteDetail from './dialog/routeDetail';
import RouteHandControl from './dialog/routeHandControl';
@ -24,7 +24,7 @@ import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
import PasswordBox from './dialog/childDialog/passwordInputBox';
import PasswordBox from '@/jmapNew/theme/components/menus/childDialog/passwordInputBox';
import {menuOperate, commitOperate} from './utils/menuOperate';
export default {

View File

@ -0,0 +1,282 @@
<template>
<el-dialog
v-dialogDrag
class="confirm-control"
:class="popClass"
:title="title"
:visible.sync="show"
width="360px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
append-to-body
>
<div class="context">
<template v-for="(message, index) in messages">
<span :key="index">{{ message }}</span>
</template>
</div>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">{{ $t('global.confirm') }}</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel">{{ $t('global.cancel') }}</el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" :pop-class="popClass" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/ConstDic';
import NoticeInfo from './noticeInfo';
import { commitOperate } from '../../utils/menuOperate';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
export default {
name: 'ConfirmControl',
components: {
NoticeInfo
},
props: {
popClass: {
type: String,
default: ''
}
},
data() {
return {
dialogShow: false,
loading: false,
operate: {},
messages: '',
operation: null
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
title() {
if (this.operation === OperationEvent.Signal.arrangementRoute.menu.operation) {
return this.$t('menu.accessSetting');
} else if (this.operation === OperationEvent.Signal.signalClose.menu.operation) {
return this.$t('menu.menuSignal.signalOff'); //
} else if (this.operation === OperationEvent.Signal.reopenSignal.menu.operation) {
return this.$t('menu.menuSignal.signalReopen');
} else if (this.operation === OperationEvent.Signal.cancelTrainRoute.menu.operation) {
return this.$t('menu.cancelTheWay');
} else if (this.operation === OperationEvent.Signal.humanControl.menu.operation) {
return this.$t('menu.approachManualControl');
} else if (this.operation === OperationEvent.Signal.atsAutoControl.menu.operation) {
return this.$t('menu.accessToATSAutomaticControl');
} else if (this.operation === OperationEvent.StationStand.setRunLevel.menu.operation) {
return this.$t('menu.menuStationStand.setRunLevel');
} else if (this.operation === OperationEvent.StationStand.setStopTime.menu.operation) {
return this.$t('menu.stopTime');
} else if (this.operation === OperationEvent.StationStand.setBackStrategy.menu.operation) {
return this.$t('menu.setSwitchbackStrategy'); //
}
return '';
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdConfirm() {
if (this.operation === OperationEvent.Signal.arrangementRoute.menu.operation) {
return OperationEvent.Signal.arrangementRoute.confirm.domId; //
} else if (this.operation === OperationEvent.Signal.signalClose.menu.operation) {
return OperationEvent.Signal.signalClose.confirm.domId; //
} else if (this.operation === OperationEvent.Signal.reopenSignal.menu.operation) {
return OperationEvent.Signal.reopenSignal.confirm.domId; //
} else if (this.operation === OperationEvent.Signal.cancelTrainRoute.menu.operation) {
return OperationEvent.Signal.cancelTrainRoute.confirm.domId; //
} else if (this.operation === OperationEvent.Signal.humanControl.menu.operation) {
return OperationEvent.Signal.humanControl.confirm.domId; //
} else if (this.operation === OperationEvent.Signal.atsAutoControl.menu.operation) {
return OperationEvent.Signal.atsAutoControl.confirm.domId; // ATS
} else if (this.operation === OperationEvent.StationStand.setRunLevel.menu.operation) {
return OperationEvent.StationStand.setRunLevel.confirm.domId; //
} else if (this.operation === OperationEvent.StationStand.setStopTime.menu.operation) {
return OperationEvent.StationStand.setStopTime.confirm.domId; //
} else if (this.operation === OperationEvent.StationStand.setBackStrategy.menu.operation) {
return OperationEvent.StationStand.setBackStrategy.confirm.domId; //
}
return '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate) {
if (!this.dialogShow) {
this.loading = false;
this.operate = operate || {};
this.messages = operate.messages;
this.operation = operate.operation;
}
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
if (this.operation === OperationEvent.Signal.arrangementRoute.menu.operation) {
this.routeSetting(); //
} else if (this.operation === OperationEvent.Signal.signalClose.menu.operation) {
this.signalClose(); //
} else if (this.operation === OperationEvent.Signal.reopenSignal.menu.operation) {
this.reopenSignal(); //
} else if (this.operation === OperationEvent.Signal.cancelTrainRoute.menu.operation) {
this.cancelTrainRoute(); //
} else if (this.operation === OperationEvent.Signal.humanControl.menu.operation) {
this.humanControl(); //
} else if (this.operation === OperationEvent.Signal.atsAutoControl.menu.operation) {
this.atsAutoControl(); // ATS
} else if (this.operation === OperationEvent.StationStand.setRunLevel.menu.operation) {
this.setRunLevel(); //
} else if (this.operation === OperationEvent.StationStand.setStopTime.menu.operation) {
this.setStopTime(); //
} else if (this.operation === OperationEvent.StationStand.setBackStrategy.menu.operation) {
this.setBackStrategy(); //
}
},
//
signalClose() {
const operate = {
over: true,
operation: this.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL
};
this.sendCommand(operate);
},
//
setBackStrategy() {
const operate = {
over: true,
operation: this.operation,
cmdType: CMD.Stand.CMD_STAND_SET_REENTRY_STRATEGY,
val: this.operate.val
};
this.sendCommand(operate);
},
//
routeSetting() {
const operate = {
over: true,
operation: this.operation,
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
};
this.sendCommand(operate);
},
//
reopenSignal() {
const operate = {
over: true,
operation: this.operation,
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
};
this.sendCommand(operate);
},
//
cancelTrainRoute() {
const operate = {
over: true,
operation: this.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
};
this.sendCommand(operate);
},
//
humanControl() {
const operate = {
over: true,
operation: this.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
};
this.sendCommand(operate);
},
// ATS
atsAutoControl() {
const operate = {
over: true,
operation: this.operation,
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
};
this.sendCommand(operate);
},
//
setRunLevel() {
const operate = {
over: true,
operation: this.operation,
cmdType: CMD.Stand.CMD_STAND_SET_RUN_TIME,
val: this.operate.val
};
this.sendCommand(operate);
},
//
setStopTime() {
const operate = {
over: true,
operation: this.operation,
cmdType: CMD.Stand.CMD_STAND_SET_PARK_TIME,
val: this.operate.val
};
this.sendCommand(operate);
},
sendCommand(operate) {
this.loading = true;
commitOperate(operate, {}, 2).then(({valid})=>{
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow();
});
},
cancel() {
const operate = {
type: this.operate.type,
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>
<style>
.confirm-control .context {
padding-bottom: 40px !important;
border: 1px solid lightgray;
}
</style>

View File

@ -1,7 +1,8 @@
<template>
<el-dialog
v-dialogDrag
:class="systemName+' notice-info'"
class="notice-info"
:class="popClass"
:title="title"
:visible.sync="show"
width="360px"
@ -21,24 +22,24 @@
<el-button :id="domIdSure" type="primary" @click="commit">确定</el-button>
</el-col>
</el-row>
</span>
</el-dialog>
</template>
<script>
import {OperationEvent } from '@/scripts/ConstDic';
import { OperationEvent } from '@/scripts/ConstDic';
export default {
name: 'NoticeInfo',
props:{
systemName:{
type:String,
required:true
props: {
popClass: {
type: String,
default: ''
}
},
data() {
return {
dialogShow: false,
messages: ['命令下达失败']
messages: []
};
},
computed: {
@ -60,8 +61,9 @@ export default {
methods: {
doShow(messages) {
this.dialogShow = true;
this.messages = ['命令下达失败'];
if (messages && messages != 'null') {
this.messages = ['命令执行失败'];
if (messages && messages != 'null' && messages != 'undefined') {
this.messages.push(messages);
}
this.$nextTick(function () {

View File

@ -0,0 +1,193 @@
<template>
<el-dialog
v-dialogDrag
class="chengdou-03__systerm"
:visible.sync="show"
width="360px"
:before-close="doClose"
:z-index="2000"
:modal="false"
title="密码校验"
:close-on-click-modal="false"
append-to-body
>
<el-row>
<el-col :span="22" :offset="1">
<el-input v-model="encryptionPassword" placeholder="请使用软键盘输入" size="medium" :disabled="true" />
</el-col>
</el-row>
<el-row v-if="showMistake">
<el-col :span="22" :offset="1">
<span class="password-error">*密码输入错误请重新输入*</span>
</el-col>
</el-row>
<el-row justify="center" class="button-group">
<el-col :span="4" :offset="1">
<el-button @click="inputNum">7</el-button>
</el-col>
<el-col :span="4" :offset="4">
<el-button @click="inputNum">8</el-button>
</el-col>
<el-col :span="4" :offset="4">
<el-button @click="inputNum">9</el-button>
</el-col>
</el-row>
<el-row justify="center" class="button-group">
<el-col :span="4" :offset="1">
<el-button @click="inputNum">4</el-button>
</el-col>
<el-col :span="4" :offset="4">
<el-button @click="inputNum">5</el-button>
</el-col>
<el-col :span="4" :offset="4">
<el-button @click="inputNum">6</el-button>
</el-col>
</el-row>
<el-row justify="center" class="button-group">
<el-col :span="4" :offset="1">
<el-button @click="inputNum">1</el-button>
</el-col>
<el-col :span="4" :offset="4">
<el-button @click="inputNum">2</el-button>
</el-col>
<el-col :span="4" :offset="4">
<el-button @click="inputNum">3</el-button>
</el-col>
</el-row>
<el-row justify="center" class="button-group">
<el-col :span="4" :offset="1">
<el-button @click="inputNum">0</el-button>
</el-col>
<el-col :span="4" :offset="4">
<el-button @click="inputClear">C</el-button>
</el-col>
<el-col :span="4" :offset="4">
<el-button @click="backSpace"> &lt; </el-button>
</el-col>
</el-row>
<el-row justify="center" class="button-group">
<el-col :span="4" :offset="1">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
</el-col>
<el-col :span="4" :offset="12">
<el-button :id="domIdCancel" @click="cancel"> </el-button>
</el-col>
</el-row>
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
export default {
name: 'PasswordBox',
data() {
return {
correctPassword: '123', //
dialogShow: false,
operation: null,
checkHasInput: false,
passwordCheck: '', //
encryptionPassword: '', //
loading: false,
showMistake: false
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel: {
get: function () {
return this.dialogShow ? OperationEvent.Command.cancel.password.domId : '';
},
set: function () {
}
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Command.close.password.domId : '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate) {
this.operate = operate || {};
this.dialogShow = true;
this.checkHasInput = false;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.showMistake = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() { //
if (this.passwordCheck === this.correctPassword) {
this.$emit('checkOver', this.operate);
this.doClose();
this.inputClear();
} else {
this.showMistake = true;
}
},
/* 软键盘输入*/
inputNum(e) {
this.showMistake = false;
this.passwordCheck += e.path[0].innerText;
this.encryptionPassword = this.passwordCheck.replace(/./g, '*');
},
/* 软键盘清除*/
inputClear() {
this.showMistake = false;
this.passwordCheck = '';
this.encryptionPassword = '';
},
/* 软键盘回退*/
backSpace() {
this.showMistake = false;
const password = this.passwordCheck;
if (password !== '') {
this.passwordCheck = password.substring(0, password.length - 1);
this.encryptionPassword = this.passwordCheck;
}
},
cancel() {
const operate = {
operation: OperationEvent.Command.close.password.operation
};
this.$emit('checkCancel');
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
this.inputClear();
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
}
}).catch(() => {
this.loading = false;
this.$refs.noticeInfo && this.$refs.noticeInfo.doShow(operate);
});
}
}
};
</script>
<style>
.notice-info .context {
padding-bottom: 40px !important;
border: 1px solid lightgray;
}
.password-error {
color: red;
}
</style>

View File

@ -0,0 +1,336 @@
<template>
<el-dialog
v-dialogDrag
class="signal-control"
:class="popClass"
:title="title"
:visible.sync="show"
width="300px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<el-row class="header">
<el-col :span="11"><span>{{ $t('menu.stationName') }}</span></el-col>
<el-col :span="11" :offset="2"><span>{{ $t('menu.signal') }}</span></el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-input v-model="stationName" size="small" disabled />
</el-col>
<el-col :span="11" :offset="2">
<el-input v-model="signalName" size="small" disabled />
</el-col>
</el-row>
<div v-if="passModel && popClass == 'ningbo-01__systerm'">
<div style="height: 12px" />
<el-radio v-model="passRadio" label="1" style="display: block; padding-left: 10px; margin-bottom: 10px;" :disabled="passRadio == '2'" @change="changeRadio">设置自动通过</el-radio>
<el-radio v-model="passRadio" label="2" style="display: block; padding-left: 10px;" :disabled="passRadio == '1'" @change="changeRadio">取消自动通过</el-radio>
</div>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">{{ $t('menu.confirm') }}</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel">{{ $t('menu.cancel') }}</el-button>
</el-col>
</el-row>
<confirm-control ref="confirmControl" :pop-class="popClass" />
<password-box ref="password" :pop-class="popClass" @checkOver="passWordCommit" />
<notice-info ref="noticeInfo" :pop-class="popClass" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
import ConfirmControl from '../childDialog/confirmControl';
import NoticeInfo from '../childDialog/noticeInfo';
import PasswordBox from '../childDialog/passwordInputBox';
import {menuOperate, commitOperate} from '../../utils/menuOperate';
export default {
name: 'RouteControl',
components: {
ConfirmControl,
NoticeInfo,
PasswordBox
},
props: {
popClass: {
type: String,
default: ''
}
},
data() {
return {
dialogShow: false,
loading: false,
selected: null,
operation: null,
stationName: '',
signalName: '',
passRadio: '1',
passModel: false //
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.close.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationHandler.getDomIdByOperation(this.operation) : '';
},
title() {
if (this.operation == OperationEvent.Signal.cancelTrainRoute.menu.operation) {
return '取消列车进路';
} else if (this.operation == OperationEvent.Signal.humanTrainRoute.menu.operation) {
return '总人解';
} else if (this.operation == OperationEvent.Signal.signalClose.menu.operation) {
return '信号关灯';
} else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) {
return this.$t('menu.menuSignal.reopenTrainSignal'); //
} else if (this.operation == OperationEvent.Signal.setAutoInterlock.menu.operation) {
return this.$t('menu.menuSignal.setInterlockAutoRoute'); //
} else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) {
return this.$t('menu.menuSignal.cancelInterlockAutoRoute'); //
} else if (this.operation == OperationEvent.Signal.setAutoTrigger.menu.operation) {
return this.$t('menu.menuSignal.setInterlockAutoTrigger'); //
} else if (this.operation == OperationEvent.Signal.cancelAutoTrigger.menu.operation) {
return this.$t('menu.menuSignal.cancelInterlockAutoTrigger'); //
} else if (this.operation == OperationEvent.Signal.unlock.menu.operation) {
return '信号解封';
} else if (this.operation == OperationEvent.Signal.signalClose.menu.operation) {
return '信号关灯';
}
return '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
this.selected = selected;
if (!this.dialogShow) {
this.passModel = false;
this.signalName = '';
this.stationName = '';
if (selected && selected._type.toUpperCase() === 'Signal'.toUpperCase()) {
this.signalName = selected.name;
const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
if (station) {
this.stationName = station.name;
}
}
this.operation = operate.operation;
if (this.operation == OperationEvent.Signal.setAutoInterlock.menu.operation) {
this.passRadio = '1';
this.passModel = true;
} else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) {
this.passRadio = '2';
this.passModel = true;
}
}
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
this.mouseCancelState(this.selected);
},
changeRadio() {
},
commit() {
if (this.operation == OperationEvent.Signal.cancelTrainRoute.menu.operation) {
this.cancelTrainRoute(); //
} else if (this.operation == OperationEvent.Signal.humanTrainRoute.menu.operation) {
this.humanTrainRoute(); //
} else if (this.operation == OperationEvent.Signal.signalClose.menu.operation) {
this.signalClose(); //
} else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) {
this.reopenSignal(); //
} else if (this.operation == OperationEvent.Signal.setAutoInterlock.menu.operation) {
this.singalPassModel(); //
} else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) {
this.singalCancelPassModel(); //
} else if (this.operation == OperationEvent.Signal.setAutoTrigger.menu.operation) {
this.setAutoTrigger(); //
} else if (this.operation == OperationEvent.Signal.cancelAutoTrigger.menu.operation) {
this.cancelAutoTrigger(); //
} else if (this.operation == OperationEvent.Signal.lock.menu.operation) {
this.lock(); //
} else if (this.operation == OperationEvent.Signal.unlock.menu.operation) {
this.unlock(); //
}
},
//
cancelTrainRoute() {
switch (this.popClass) {
case 'ningbo-01__systerm':
this.sendCommand(menuOperate.Signal.cancelTrainRoute);
break;
case 'fuzhou-01__systerm':
this.sendCommandNext(menuOperate.Signal.cancelTrainRoute).then(operate => {
operate['messages'] = [this.$t('tip.signalModeToManualModeTipPrefix') + this.signalName + this.$t('tip.signalModeToManualModeTipSuffix')];
this.$refs.confirmControl.doShow(operate);
});
break;
case 'xian-01__systerm':
this.sendCommandNext(menuOperate.Signal.cancelTrainRoute).then(operate => {
operate['messages'] = `取消以信号机${this.selected.name}为始端的进路,该进路即将由自动信号模式转为人工模式!`;
this.$refs.confirmControl.doShow(operate);
});
break;
default:
this.sendCommand(menuOperate.Signal.cancelTrainRoute);
}
},
//
signalClose() {
switch (this.popClass) {
case 'ningbo-01__systerm':
this.sendCommandNext(menuOperate.Signal.signalClose).then(operate => {
this.$refs.confirmControl.doShow(operate);
});
break;
case 'fuzhou-01__systerm':
this.sendCommandNext(menuOperate.Signal.signalClose).then(operate => {
operate['messages'] = [this.$t('menu.menuSignal.signalOff') + this.$t('global.colon') + this.signalName];
this.$refs.confirmControl.doShow(operate);
});
break;
case 'foshan-01__systerm':
case 'beijing-01__systerm':
case 'chengdou-01__systerm':
case 'xian-01__systerm':
this.sendCommandNext(menuOperate.Signal.signalClose).then(operate => {
operate['messages'] = `信号关灯: ${this.signalName}`;
this.$refs.confirmControl.doShow(operate);
});
break;
default:
this.sendCommand(menuOperate.Signal.signalClose);
}
},
//
reopenSignal() {
switch (this.popClass) {
case 'ningbo-01__systerm':
this.sendCommand(menuOperate.Signal.reopenSignal);
break;
case 'fuzhou-01__systerm':
this.sendCommandNext(menuOperate.Signal.reopenSignal).then(operate => {
operate['messages'] = [this.$t('menu.menuSignal.signalReopen') + this.$t('global.colon') + this.signalName];
this.$refs.confirmControl.doShow(operate);
});
break;
case 'xian-01__systerm':
this.sendCommandNext(menuOperate.Signal.reopenSignal).then(operate => {
operate['messages'] = `信号重开: ${this.selected.name}`;
this.$refs.confirmControl.doShow(operate);
});
break;
default:
this.sendCommand(menuOperate.Signal.reopenSignal);
}
},
//
lock() {
this.sendCommand(menuOperate.Signal.lock);
},
//
unlock() {
this.sendCommandNext(menuOperate.Signal.unlock).then(operate => {
this.$refs.password.doShow(operate);
});
},
passWordCommit(data) { //
const operate = {
over: true,
operation: OperationEvent.Signal.unlock.confirm.operation,
cmdType: menuOperate.Signal.unlock.cmdType
};
this.sendCommand(operate);
},
//
singalPassModel() {
this.sendCommand(menuOperate.Signal.setAutoInterlock);
},
//
singalCancelPassModel() {
this.sendCommand(menuOperate.Signal.cancelAutoInterlock);
},
//
setAutoTrigger() {
this.sendCommand(menuOperate.Signal.setAutoTrigger);
},
//
cancelAutoTrigger() {
this.sendCommand(menuOperate.Signal.cancelAutoTrigger);
},
//
humanTrainRoute() {
this.sendCommand(menuOperate.Signal.humanTrainRoute);
},
sendCommand(operate) {
this.loading = true;
commitOperate(operate, {}, 2).then(({valid})=>{
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow();
});
},
sendCommandNext(operate) {
const that = this;
return new Promise(function(resolve, reject) {
that.loading = true;
commitOperate(operate, {}, 1).then(({valid})=>{
that.loading = false;
if (valid) {
that.doClose();
that.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
resolve({...operate});
}
}).catch(() => {
that.loading = false;
that.doClose();
that.$refs.noticeInfo.doShow();
});
});
},
//
cancel() {
const operate = {
operation: OperationEvent.Command.close.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
this.$refs.noticeInfo.doShow();
});
}
}
};
</script>

View File

@ -128,7 +128,7 @@
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
import NoticeInfo from '../../menus/childDialog/childDialog/noticeInfo';
import NoticeInfo from '../childDialog/noticeInfo';
import {menuOperate, commitOperate} from '../../utils/menuOperate';
import { mapGetters } from 'vuex';

View File

@ -106,7 +106,7 @@ import { mapGetters } from 'vuex';
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
// import { mouseCancelState } from '../utils/menuItemStatus';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import NoticeInfo from '../../menus/childDialog/childDialog/noticeInfo';
import NoticeInfo from '../childDialog/noticeInfo';
import {menuOperate, commitOperate} from '../../utils/menuOperate';
export default {

View File

@ -37,51 +37,58 @@ export const menuOperate = {
}
},
Signal:{
arrangementRoute:{
// 排列进路
lock: {
operation: OperationEvent.Signal.lock.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_BLOCK
},
unlock: {
operation: OperationEvent.Signal.unlock.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK
},
arrangementRoute:{ // 排列进路
operation: OperationEvent.Signal.arrangementRoute.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
},
cancelTrainRoute:{
// 取消进路
cancelTrainRoute:{ // 取消进路
operation: OperationEvent.Signal.cancelTrainRoute.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
},
humanTrainRoute:{
// 总人解
humanTrainRoute:{ // 总人解
operation: OperationEvent.Signal.humanTrainRoute.menu.operation,
cmdType:CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE
},
reopenSignal:{
// 信号重开
reopenSignal:{ // 信号重开
operation: OperationEvent.Signal.reopenSignal.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
},
signalClose:{
// 信号关灯
signalClose:{ // 信号关灯
operation: OperationEvent.Signal.signalClose.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL
},
humanControl:{
// 进路交人工控
humanControl:{ // 进路交人工控
operation: OperationEvent.Signal.humanControl.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
},
atsAutoControl:{
// 进路交自动控
atsAutoControl:{ // 进路交自动控
operation: OperationEvent.Signal.atsAutoControl.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
},
setAutoInterlock:{
// 设置通过模式
setAutoInterlock:{ // 设置通过模式
operation: OperationEvent.Signal.setAutoInterlock.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
},
cancelAutoInterlock:{
// 取消通过模式
cancelAutoInterlock:{ // 取消通过模式
operation: OperationEvent.Signal.cancelAutoInterlock.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
},
setAutoTrigger: { // 设置联锁自动触发
operation: OperationEvent.Signal.setAutoTrigger.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO_TRIGGER
},
cancelAutoTrigger: { // 取消联锁自动触发
operation: OperationEvent.Signal.cancelAutoTrigger.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO_TRIGGER
},
detail:{
// 查询进路状态
operation: OperationEvent.Signal.detail.menu.operation

View File

@ -1,269 +0,0 @@
<template>
<el-dialog
v-dialogDrag
class="foshan-01__systerm signal-control"
:title="title"
:visible.sync="show"
width="300px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<el-row class="header">
<el-col :span="11"><span>集中站</span></el-col>
<el-col :span="11" :offset="2"><span>信号机</span></el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-input v-model="stationName" size="small" disabled />
</el-col>
<el-col :span="11" :offset="2">
<el-input v-model="signalName" size="small" disabled />
</el-col>
</el-row>
<div v-if="passModel" style="margin: 12px 0;">
<el-radio v-model="passRadio" label="1" style="display: block; padding-left: 10px; margin-bottom: 10px;" :disabled="passRadio == '2'" @change="changeRadio">设置自动通过</el-radio>
<el-radio v-model="passRadio" label="2" style="display: block; padding-left: 10px;" :disabled="passRadio == '1'" @change="changeRadio">取消自动通过</el-radio>
</div>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel"> </el-button>
</el-col>
</el-row>
<confirm-control ref="confirmControl" />
<notice-info ref="noticeInfo" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
import ConfirmControl from './childDialog/confirmControl';
import NoticeInfo from './childDialog/childDialog/noticeInfo';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
export default {
name: 'RouteControl',
components: {
ConfirmControl,
NoticeInfo
},
data() {
return {
dialogShow: false,
loading: false,
selected: null,
operation: null,
stationName: '',
signalName: '',
passRadio: '1',
passModel: false //
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.close.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationHandler.getDomIdByOperation(this.operation) : '';
},
title() {
if (this.operation == OperationEvent.Signal.cancelTrainRoute.menu.operation) {
return '取消列车进路';
} else if (this.operation == OperationEvent.Signal.signalClose.menu.operation) {
return '信号关灯';
} else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) {
return '重开信号';
} else if (this.operation == OperationEvent.Signal.setAutoInterlock.menu.operation) {
return '信号机控制';
} else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) {
return '信号机控制';
} else if (this.operation == OperationEvent.Signal.setAutoTrigger.menu.operation) {
return '设置联锁自动触发';
} else if (this.operation == OperationEvent.Signal.cancelAutoTrigger.menu.operation) {
return '取消联锁自动触发';
}
return '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
this.selected = selected;
if (!this.dialogShow) {
this.passModel = false;
this.signalName = '';
this.stationName = '';
if (selected && selected._type.toUpperCase() === 'Signal'.toUpperCase()) {
this.signalName = selected.name;
const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
if (station) {
this.stationName = station.name;
}
}
this.operation = operate.operation;
if (this.operation == OperationEvent.Signal.setAutoInterlock.menu.operation) {
this.passRadio = '1';
this.passModel = true;
} else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) {
this.passRadio = '2';
this.passModel = true;
}
}
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
this.mouseCancelState(this.selected);
},
changeRadio() {
},
commit() {
if (this.operation == OperationEvent.Signal.cancelTrainRoute.menu.operation) {
/** 取消列车进路*/
this.cancelTrainRoute();
} else if (this.operation == OperationEvent.Signal.signalClose.menu.operation) {
/** 信号关灯*/
this.signalClose();
} else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) {
/** 信号重开*/
this.reopenSignal();
} else if (this.operation == OperationEvent.Signal.setAutoInterlock.menu.operation) {
this.singalPassModel(); //
} else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) {
this.singalCancelPassModel(); //
} else if (this.operation == OperationEvent.Signal.setAutoTrigger.menu.operation) {
this.setAutoTrigger(); /** 设置联锁自动触发*/
} else if (this.operation == OperationEvent.Signal.cancelAutoTrigger.menu.operation) {
this.cancelAutoTrigger(); /** 取消联锁自动触发*/
}
},
//
cancelTrainRoute() {
const operate = {
over: true,
operation: OperationEvent.Signal.cancelTrainRoute.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
};
this.sendCommand(operate);
},
//
signalClose() {
const operate = {
operation: OperationEvent.Signal.signalClose.menu.operation,
messages: [`信号关灯: ${this.signalName}`],
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL
};
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.$refs.confirmControl.doShow(operate);
}
}).catch((error) => {
this.loading = false;
this.$refs.noticeInfo.doShow(operate, error.message);
});
},
//
reopenSignal() {
const operate = {
over: true,
operation: OperationEvent.Signal.reopenSignal.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
};
this.sendCommand(operate);
},
//
singalPassModel() {
const operate = {
over: true,
operation: OperationEvent.Signal.setAutoInterlock.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
};
this.sendCommand(operate);
},
//
singalCancelPassModel() {
const operate = {
over: true,
operation: OperationEvent.Signal.cancelAutoInterlock.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
};
this.sendCommand(operate);
},
//
setAutoTrigger() {
const operate = {
over: true,
operation: OperationEvent.Signal.setAutoTrigger.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO_TRIGGER
};
this.sendCommand(operate);
},
//
cancelAutoTrigger() {
const operate = {
over: true,
operation: OperationEvent.Signal.cancelAutoTrigger.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO_TRIGGER
};
this.sendCommand(operate);
},
sendCommand(operate) {
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(error => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow(operate, error.message);
});
},
//
cancel() {
const operate = {
operation: OperationEvent.Command.close.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
this.$refs.noticeInfo.doShow(operate);
});
}
}
};
</script>

View File

@ -4,7 +4,7 @@
<route-selection ref="routeSelection" />
<route-lock ref="routeLock" />
<route-un-lock ref="routeUnLock" />
<route-control ref="routeControl" />
<route-control ref="routeControl" :pop-class="'foshan-01__systerm'" />
<route-hand-control ref="routeHandControl" />
<route-detail ref="routeDetail" />
<router-command ref="routerCommand" />
@ -14,7 +14,7 @@
<script>
import PopMenu from '@/components/PopMenu';
import RouteControl from './dialog/routeControl';
import RouteControl from '@/jmapNew/theme/components/menus/dialog/routeControl';
import RouteSelection from './dialog/routeSelection';
import RouteLock from './dialog/routeLock';
import RouteUnLock from './dialog/routeUnLock';

View File

@ -1,254 +0,0 @@
<template>
<el-dialog
v-dialogDrag
class="fuzhou-01__systerm signal-control"
:title="title"
:visible.sync="show"
width="300px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<el-row class="header">
<el-col :span="11"><span>{{ $t('menu.stationName') }}</span></el-col>
<el-col :span="11" :offset="2"><span>{{ $t('menu.signal') }}</span></el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-input v-model="stationName" size="small" disabled />
</el-col>
<el-col :span="11" :offset="2">
<el-input v-model="signalName" size="small" disabled />
</el-col>
</el-row>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">{{ $t('menu.confirm') }}</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel">{{ $t('menu.cancel') }}</el-button>
</el-col>
</el-row>
<confirm-control ref="confirmControl" />
<notice-info ref="noticeInfo" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
import ConfirmControl from './childDialog/confirmControl';
import NoticeInfo from './childDialog/childDialog/noticeInfo';
import { menuOperate, commitOperate } from '../utils/menuOperate';
export default {
name: 'RouteControl',
components: {
ConfirmControl,
NoticeInfo
},
data() {
return {
dialogShow: false,
loading: false,
selected: null,
operation: null,
stationName: '',
signalName: ''
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.close.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationHandler.getDomIdByOperation(this.operation) : '';
},
title() {
if (this.operation == OperationEvent.Signal.cancelTrainRoute.menu.operation) {
return this.$t('menu.menuSignal.cancelTheTrainApproach');
} else if (this.operation == OperationEvent.Signal.signalClose.menu.operation) {
return this.$t('menu.menuSignal.signalOff');
} else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) {
return this.$t('menu.menuSignal.reopenTrainSignal');
} else if (this.operation == OperationEvent.Signal.setAutoInterlock.menu.operation) {
return this.$t('menu.menuSignal.setInterlockAutoRoute');
} else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) {
return this.$t('menu.menuSignal.cancelInterlockAutoRoute');
} else if (this.operation == OperationEvent.Signal.setAutoTrigger.menu.operation) {
return this.$t('menu.menuSignal.setInterlockAutoTrigger');
} else if (this.operation == OperationEvent.Signal.cancelAutoTrigger.menu.operation) {
return this.$t('menu.menuSignal.cancelInterlockAutoTrigger');
}
return '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
if (!this.dialogShow) {
this.signalName = '';
this.stationName = '';
if (selected && selected._type.toUpperCase() === 'Signal'.toUpperCase()) {
this.signalName = selected.name;
const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
if (station) {
this.stationName = station.name;
}
}
this.selected = selected;
this.operation = operate.operation;
}
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
if (this.operation == OperationEvent.Signal.cancelTrainRoute.menu.operation) {
/** 取消列车进路*/
this.cancelTrainRoute();
} else if (this.operation == OperationEvent.Signal.signalClose.menu.operation) {
/** 信号关灯*/
this.signalClose();
} else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) {
/** 信号重开*/
this.reopenSignal();
} else if (this.operation == OperationEvent.Signal.setAutoInterlock.menu.operation) {
/** 设置联锁自动进路*/
this.setAutoInterlock();
} else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) {
/** 取消联锁自动进路*/
this.cancelAutoInterlock();
} else if (this.operation == OperationEvent.Signal.setAutoTrigger.menu.operation) {
/** 设置联锁自动触发*/
this.setAutoTrigger();
} else if (this.operation == OperationEvent.Signal.cancelAutoTrigger.menu.operation) {
/** 取消联锁自动触发*/
this.cancelAutoTrigger();
}
},
//
cancelTrainRoute() {
this.loading = true;
commitOperate(menuOperate.Signal.cancelTrainRoute, {}, 1).then(({valid, operate})=>{
this.loading = false;
if (valid) {
this.doClose();
if (this.$store.state.training.prdType === '02') {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
operate['messages'] = [this.$t('tip.signalModeToManualModeTipPrefix') + this.signalName + this.$t('tip.signalModeToManualModeTipSuffix')];
this.$refs.confirmControl.doShow(operate);
}
}
}).catch((error) => {
console.log(error);
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow();
});
},
//
signalClose() {
this.loading = true;
commitOperate(menuOperate.Signal.signalClose, {}, 1).then(({valid, operate})=>{
this.loading = false;
if (valid) {
this.doClose();
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
operate['messages'] = [this.$t('menu.menuSignal.signalOff') + this.$t('global.colon') + this.signalName];
this.$refs.confirmControl.doShow(operate);
}
}).catch(() => {
this.loading = false;
this.doClose();
});
},
//
reopenSignal() {
this.loading = true;
commitOperate(menuOperate.Signal.reopenSignal, {}, 1).then(({valid, operate})=>{
this.loading = false;
if (valid) {
this.doClose();
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
operate['messages'] = [this.$t('menu.menuSignal.signalReopen') + this.$t('global.colon') + this.signalName];
this.$refs.confirmControl.doShow(operate);
}
}).catch(() => {
this.loading = false;
this.doClose();
});
},
//
setAutoInterlock() {
this.loading = true;
commitOperate(menuOperate.Signal.setAutoInterlock, {}, 2).then(({valid, operate}) => {
this.loading = false;
if (valid) {
this.doClose();
}
});
},
//
cancelAutoInterlock() {
this.loading = true;
commitOperate(menuOperate.Signal.cancelAutoInterlock, {}, 2).then(({valid, operate}) => {
this.loading = false;
if (valid) {
this.doClose();
}
});
},
//
setAutoTrigger() {
this.loading = true;
commitOperate(menuOperate.Signal.setAutoTrigger, {}, 2).then(({valid, operate}) => {
this.loading = false;
if (valid) {
this.doClose();
}
});
},
//
cancelAutoTrigger() {
this.loading = true;
commitOperate(menuOperate.Signal.cancelAutoTrigger, {}, 2).then(({valid, operate}) => {
this.loading = false;
if (valid) {
this.doClose();
}
});
},
//
cancel() {
const operate = {
operation: OperationEvent.Command.close.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
this.$refs.noticeInfo.doShow(operate);
});
}
}
};
</script>

View File

@ -3,7 +3,7 @@
<pop-menu ref="popMenu" :menu="menu" />
<route-selection ref="routeSelection" />
<route-lock ref="routeLock" />
<route-control ref="routeControl" />
<route-control ref="routeControl" :pop-class="'fuzhou-01__systerm'" />
<route-cmd-control ref="routeCmdControl" />
<route-hand-control ref="routeHandControl" />
<route-detail ref="routeDetail" />
@ -13,7 +13,7 @@
<script>
import PopMenu from '@/components/PopMenu';
import RouteControl from './dialog/routeControl';
import RouteControl from '@/jmapNew/theme/components/menus/dialog/routeControl';
import RouteSelection from './dialog/routeSelection';
import RouteLock from './dialog/routeLock';
import RouteCmdControl from './dialog/routeCmdControl';

View File

@ -1,42 +1,46 @@
// 操作规则定义
// {id: "1", trainingType: "01", name: "车站名称"}
// {id: "2", trainingType: "01", name: "车站控制模式编号"}
// {id: "3", trainingType: "02", name: "进路名称"}
// {id: "4", trainingType: "02", name: "进路编号"}
// {id: "5", trainingType: "02", name: "信号机名称"}
// {id: "6", trainingType: "02", name: "信号机编号"}
// {id: "1", trainingType: "ControlConvertMenu", name: "车站名称"}
// {id: "2", trainingType: "ControlConvertMenu", name: "车站控制模式编号"}
// {id: "3", trainingType: "Signal", name: "进路名称"}
// {id: "4", trainingType: "Signal", name: "进路编号"}
// {id: "5", trainingType: "Signal", name: "信号机名称"}
// {id: "6", trainingType: "Signal", name: "信号机编号"}
// {id: "7", trainingType: "03", name: "道岔名称"}
// {id: "17", trainingType: "03", name: "道岔编码"}
// {id: "15", trainingType: "03", name: "道岔位置"}
// {id: "16", trainingType: "03", name: "道岔位置(反)"}
// {id: "21", trainingType: "03", name: "车站名称"}
// {id: "23", trainingType: "03", name: "车站编号"}
// {id: "24", trainingType: "03", name: "道岔计轴区段编号"}
// {id: "25", trainingType: "03", name: "道岔计轴区段名称"}
// {id: "7", trainingType: "Switch", name: "道岔名称"}
// {id: "8", trainingType: "04", name: "物理区段名称"}
// {id: "9", trainingType: "04", name: "逻辑区段名称"}
// {id: "18", trainingType: "04", name: "逻辑区段编码"}
// {id: "19", trainingType: "04", name: "区段编号"}
// {id: "20", trainingType: "04", name: "车站名称"}
// {id: "22", trainingType: "04", name: "车站编号"}
// {id: "8", trainingType: "Section", name: "物理区段名称"}
// {id: "9", trainingType: "Section", name: "逻辑区段名称"}
// {id: "10", trainingType: "Stand", name: "车站名称"}
// {id: "11", trainingType: "Stand", name: "站台行驶方向编号"}
// {id: "12", trainingType: "Stand", name: "站台行驶方向"}
// {id: "13", trainingType: "Stand", name: "站台行驶方向编号(反)"}
// {id: "14", trainingType: "Stand", name: "站台行驶方向(反)"}
// {id: "15", trainingType: "Switch", name: "道岔位置"}
// {id: "16", trainingType: "Switch", name: "道岔位置(反)"}
// {id: "17", trainingType: "Switch", name: "道岔编码"}
// {id: "18", trainingType: "Section", name: "逻辑区段编码"}
// {id: "19", trainingType: "Section", name: "区段编号"}
// {id: "20", trainingType: "Section", name: "车站名称"}
// {id: "21", trainingType: "Switch", name: "车站名称"}
// {id: "22", trainingType: "Section", name: "车站编号"}
// {id: "23", trainingType: "Switch", name: "车站编号"}
// {id: "24", trainingType: "Switch", name: "道岔计轴区段编号"}
// {id: "25", trainingType: "Switch", name: "道岔计轴区段名称"}
// {id: "10", trainingType: "05", name: "车站名称"}
// {id: "11", trainingType: "05", name: "站台行驶方向编号"}
// {id: "12", trainingType: "05", name: "站台行驶方向"}
// {id: "13", trainingType: "05", name: "站台行驶方向编号(反)"}
// {id: "14", trainingType: "05", name: "站台行驶方向(反)"}
export default {
list: [
{
maxDuration: 20,
minDuration: 15,
operateType: '0103',
operateType: 'CM_Apply_For_Center_Control',
skinCode: '02',
trainingName: '转为中控({1})',
trainingRemark: '控制权限转换,站控转中控',
trainingType: '01',
trainingType: 'ControlConvertMenu',
productTypes: ['02'],
stepVOList: [
{ deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: '鼠标左键点击顶部菜单栏【控制模式转换】' },
@ -51,11 +55,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0101',
operateType: 'CM_Apply_For_Station_Control',
skinCode: '02',
trainingName: '转为站控({1})',
trainingRemark: '控制权限转换,中控转站控',
trainingType: '01',
trainingType: 'ControlConvertMenu',
productTypes: ['01'],
stepVOList: [
{ deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: '鼠标左键点击顶部菜单栏【控制模式转换】' },
@ -70,11 +74,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0102',
operateType: 'CM_Force_Station_Control',
skinCode: '02',
trainingName: '强制站控({1})',
trainingRemark: '控制权限转换,强制站控',
trainingType: '01',
trainingType: 'ControlConvertMenu',
productTypes: ['01'],
stepVOList: [
{ deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: '鼠标左键点击顶部菜单栏【控制模式转换】' },
@ -90,11 +94,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0501',
operateType: 'Stand_Set_Hold_Train',
skinCode: '02',
trainingName: '站台扣车({10}-{12}站台)',
trainingRemark: '设置扣车功能',
trainingType: '05',
trainingType: 'Stand',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '504', tip: '鼠标右键菜单选择【扣车】' },
@ -104,11 +108,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0502',
operateType: 'Stand_Cancel_Hold_Train',
skinCode: '02',
trainingName: '站台取消扣车({10}-{12}站台)',
trainingRemark: '设置取消扣车功能',
trainingType: '05',
trainingType: 'Stand',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '505', tip: '鼠标右键菜单选择【取消扣车】' },
@ -118,11 +122,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0503',
operateType: 'Stand_Force_Cancel_Hold_Train',
skinCode: '02',
trainingName: '强制取消扣车({10}-{12}站台)',
trainingRemark: '强制取消扣车功能',
trainingType: '05',
trainingType: 'Stand',
productTypes: ['01'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '506', tip: '鼠标右键菜单选择【强制取消扣车】' },
@ -132,11 +136,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0504',
operateType: 'Stand_Whole_Line_Cancel_Hold_Train',
skinCode: '02',
trainingName: '全线取消扣车({10}-{12}站台)',
trainingRemark: '全线取消扣车功能(默认上行全线/下行全线,不做选择)',
trainingType: '05',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '508', tip: '鼠标右键菜单选择【全线取消扣车】' },
@ -146,11 +150,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0504',
operateType: 'Stand_Whole_Line_Cancel_Hold_Train',
skinCode: '02',
trainingName: '全线取消扣车({10}-{12}站台)',
trainingRemark: '全线取消扣车功能(选择上/下行全线)',
trainingType: '05',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '508', tip: '鼠标右键菜单选择【全线取消扣车】' },
@ -161,11 +165,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0505',
operateType: 'Stand_Set_Jump_Stop',
skinCode: '02',
trainingName: '站台跳停({10}-{12}站台)',
trainingRemark: '设置跳停功能',
trainingType: '05',
trainingType: 'Stand',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '502', tip: '鼠标右键菜单选择【跳停】' },
@ -175,11 +179,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0506',
operateType: 'Stand_Cancel_Jump_Stop',
skinCode: '02',
trainingName: '取消跳停({10}-{12}站台)',
trainingRemark: '设置取消跳停功能',
trainingType: '05',
trainingType: 'Stand',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '503', tip: '鼠标右键菜单选择【取消跳停】' },
@ -189,11 +193,11 @@ export default {
{
maxDuration: 8,
minDuration: 5,
operateType: '0507',
operateType: 'Stand_View_Status',
skinCode: '02',
trainingName: '查询站台状态({10}-{12}站台)',
trainingRemark: '查询站台状态功能',
trainingType: '05',
trainingType: 'Stand',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '507', tip: '鼠标右键菜单选择【查询站台状态】' },
@ -203,11 +207,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0508',
operateType: 'Stand_Set_Park_Time',
skinCode: '02',
trainingName: '设置停站时间({10}-{12}站台)',
trainingRemark: '设置停站时间(自动, 一直有效)',
trainingType: '05',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
@ -219,11 +223,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0508',
operateType: 'Stand_Set_Park_Time',
skinCode: '02',
trainingName: '设置停站时间({10}-{12}站台)',
trainingRemark: '设置停站时间(人工, 20秒, 一直有效)',
trainingType: '05',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
@ -236,11 +240,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0508',
operateType: 'Stand_Set_Park_Time',
skinCode: '02',
trainingName: '设置停站时间({10}-{12}站台)',
trainingRemark: '设置停站时间(人工, 20秒, 一次有效)',
trainingType: '05',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
@ -254,11 +258,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0509',
operateType: 'Stand_Set_Run_Time',
skinCode: '02',
trainingName: '设置运行等级({10}-{12}站台)',
trainingRemark: '设置运行等级(设置区间运行时间为60一直有效)',
trainingType: '05',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置运行等级】' },
@ -270,11 +274,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0509',
operateType: 'Stand_Set_Run_Time',
skinCode: '02',
trainingName: '设置运行等级({10}-{12}站台)',
trainingRemark: '设置运行等级(设置区间运行时间为60一次有效)',
trainingType: '05',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置运行等级】' },
@ -287,11 +291,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0510',
operateType: 'Stand_Early_Depart',
skinCode: '02',
trainingName: '设置提前发车({10}-{12}站台)',
trainingRemark: '设置提前发车功能',
trainingType: '05',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '501', tip: '鼠标右键菜单选择【设置提前发车】' },
@ -301,11 +305,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0511',
operateType: 'Stand_Set_Reentry_Strategy',
skinCode: '02',
trainingName: '人工折返策略设置({10}-{12}站台)',
trainingRemark: '人工折返策略设置功能',
trainingType: '05',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '511', tip: '鼠标右键菜单选择【人工折返策略设置】' },
@ -317,11 +321,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0401',
operateType: 'Section_Fault_Unlock',
skinCode: '02',
trainingName: '区段故障解锁({8}{9})',
trainingRemark: '故障解锁功能',
trainingType: '04',
trainingType: 'Section',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '402', tip: '鼠标右键菜单选择【区段故障解锁】' },
@ -334,11 +338,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0402',
operateType: 'Section_Cut_Off',
skinCode: '02',
trainingName: '区段切除({8}{9})',
trainingRemark: '区段切除',
trainingType: '04',
trainingType: 'Section',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '405', tip: '鼠标右键菜单选择【区段切除】' },
@ -348,11 +352,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0403',
operateType: 'Section_Active',
skinCode: '02',
trainingName: '区段激活({8}{9})',
trainingRemark: '区段激活功能',
trainingType: '04',
trainingType: 'Section',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '406', tip: '鼠标右键菜单选择【区段激活】' },
@ -362,11 +366,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0404',
operateType: 'Section_Axis_Pre_Reset',
skinCode: '02',
trainingName: '计轴预复位({8}{9})',
trainingRemark: '计轴预复位功能',
trainingType: '04',
trainingType: 'Section',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '409', tip: '鼠标右键菜单选择【区段计轴预复位】' },
@ -379,11 +383,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0405',
operateType: 'Section_Block',
skinCode: '02',
trainingName: '区段封锁({8}{9})',
trainingRemark: '区段封锁功能',
trainingType: '04',
trainingType: 'Section',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '403', tip: '鼠标右键菜单选择【区段封锁】' },
@ -393,11 +397,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0406',
operateType: 'Section_Unblock',
skinCode: '02',
trainingName: '区段解封({8}{9})',
trainingRemark: '区段解封功能',
trainingType: '04',
trainingType: 'Section',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '404', tip: '鼠标右键菜单选择【区段解封】' },
@ -410,11 +414,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0407',
operateType: 'Section_Set_Limit_Speed',
skinCode: '02',
trainingName: '区段设置限速({8}{9})',
trainingRemark: '区段设置限速功能限速值5',
trainingType: '04',
trainingType: 'Section',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '407', tip: '鼠标右键菜单选择【区段设置限速】' },
@ -429,11 +433,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0408',
operateType: 'Section_Cancel_Limit_Speed',
skinCode: '02',
trainingName: '区段取消限速({8}{9})',
trainingRemark: '区段取消限速功能',
trainingType: '04',
trainingType: 'Section',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '408', tip: '鼠标右键菜单选择【区段取消限速】' },
@ -448,11 +452,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0301',
operateType: 'Switch_Single_Lock',
skinCode: '02',
trainingName: '道岔单锁({7})',
trainingRemark: '道岔单锁功能',
trainingType: '03',
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '103', tip: '鼠标右键菜单选择【道岔单锁】' },
@ -462,11 +466,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0302',
operateType: 'Switch_Single_Unlock',
skinCode: '02',
trainingName: '道岔单解({7})',
trainingRemark: '道岔单解功能',
trainingType: '03',
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '104', tip: '鼠标右键菜单选择【道岔单解】' },
@ -479,11 +483,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0303',
operateType: 'Switch_Section_Block',
skinCode: '02',
trainingName: '道岔区段封闭({7})',
trainingRemark: '道岔区段封闭功能',
trainingType: '03',
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '105', tip: '鼠标右键菜单选择【道岔区段封闭】' },
@ -493,11 +497,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0304',
operateType: 'Switch_Section_Unblock',
skinCode: '02',
trainingName: '道岔区段解封({7})',
trainingRemark: '道岔区段解封功能',
trainingType: '03',
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '106', tip: '鼠标右键菜单选择【道岔区段解封】' },
@ -510,11 +514,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0305',
operateType: 'Switch_Turn',
skinCode: '02',
trainingName: '道岔转动({7})',
trainingRemark: '道岔转动功能({15}转{16})',
trainingType: '03',
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '107', tip: '鼠标右键菜单选择【道岔转动】' },
@ -524,11 +528,11 @@ export default {
{
maxDuration: 20,
minDuration: 10,
operateType: '0306',
operateType: 'Switch_Fault_Unlock',
skinCode: '02',
trainingName: '道岔区段故障解锁({7})',
trainingRemark: '道岔区段故障解锁功能',
trainingType: '03',
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '109', tip: '鼠标右键菜单选择【道岔区段故障解锁】' },
@ -541,11 +545,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0307',
operateType: 'Switch_Axis_Pre_Reset',
skinCode: '02',
trainingName: '道岔区段计轴预复位({7})',
trainingRemark: '道岔区段计轴预复位功能',
trainingType: '03',
trainingType: 'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '110', tip: '鼠标右键菜单选择【道岔区段计轴预复位】' },
@ -558,11 +562,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0308',
operateType: 'Switch_Cut_Off',
skinCode: '02',
trainingName: '区段切除({7})',
trainingRemark: '区段切除',
trainingType: '03',
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '111', tip: '鼠标右键菜单选择【区段切除】' },
@ -572,11 +576,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0309',
operateType: 'Switch_Active',
skinCode: '02',
trainingName: '区段激活({7})',
trainingRemark: '区段激活功能',
trainingType: '03',
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '112', tip: '鼠标右键菜单选择【区段激活】' },
@ -586,11 +590,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0310',
operateType: 'Switch_Set_Limit_Speed',
skinCode: '02',
trainingName: '道岔区段设置限速({7})',
trainingRemark: '道岔区段设置限速功能限速值5',
trainingType: '03',
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '113', tip: '鼠标右键菜单选择【道岔区段设置限速】' },
@ -605,11 +609,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0311',
operateType: 'Switch_Cancel_Limit_Speed',
skinCode: '02',
trainingName: '道岔区段取消限速({7})',
trainingRemark: '道岔区段取消限速功能',
trainingType: '03',
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '114', tip: '鼠标右键菜单选择【道岔区段取消限速】' },
@ -624,11 +628,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0201',
operateType: 'Signal_Set_Route',
skinCode: '02',
trainingName: '进路选排({3})',
trainingRemark: '选择排列进路',
trainingType: '02',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '301', tip: '鼠标右键菜单选择【进路选排】' },
@ -640,11 +644,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0202',
operateType: 'Signal_Cancel_Route',
skinCode: '02',
trainingName: '进路取消({3})',
trainingRemark: '进路取消',
trainingType: '02',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '303', tip: '鼠标右键菜单选择【进路取消】' },
@ -655,11 +659,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0202',
operateType: 'Signal_Cancel_Route',
skinCode: '02',
trainingName: '进路取消({3})',
trainingRemark: '进路取消',
trainingType: '02',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '303', tip: '鼠标右键菜单选择【进路取消】' },
@ -669,11 +673,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0203',
operateType: 'Signal_Block',
skinCode: '02',
trainingName: '信号封闭({5})',
trainingRemark: '信号封闭',
trainingType: '02',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '306', tip: '鼠标右键菜单选择【信号封闭】' },
@ -683,11 +687,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0204',
operateType: 'Signal_Unblock',
skinCode: '02',
trainingName: '信号解封({5})',
trainingRemark: '信号解封',
trainingType: '02',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '307', tip: '鼠标右键菜单选择【信号解封】' },
@ -701,11 +705,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0205',
operateType: 'Signal_Close_Signal',
skinCode: '02',
trainingName: '信号关灯({3})',
trainingRemark: '信号关灯',
trainingType: '02',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '313', tip: '鼠标右键菜单选择【信号关灯】' },
@ -716,11 +720,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0206',
operateType: 'Signal_Reopen_Signal',
skinCode: '02',
trainingName: '信号重开({3})',
trainingRemark: '信号重开',
trainingType: '02',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '304', tip: '鼠标右键菜单选择【信号重开】' },
@ -731,11 +735,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0207',
operateType: 'Signal_Set_Guide',
skinCode: '02',
trainingName: '引导进路办理({3})',
trainingRemark: '进路办理信号引导',
trainingType: '02',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '308', tip: '鼠标右键菜单选择【引导进路办理】' },
@ -748,11 +752,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0208',
operateType: 'Signal_Open_Auto_Setting',
skinCode: '02',
trainingName: '自排开({5})',
trainingRemark: '自排开',
trainingType: '02',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '315', tip: '鼠标右键菜单选择【自排开】' },
@ -763,11 +767,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0209',
operateType: 'Signal_Close_Auto_Setting',
skinCode: '02',
trainingName: '自排关({5})',
trainingRemark: '自排关',
trainingType: '02',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '314', tip: '鼠标右键菜单选择【自排关】' },
@ -778,11 +782,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0210',
operateType: 'Signal_Find_Routes_Status',
skinCode: '02',
trainingName: '查询进路控制状态({5})',
trainingRemark: '查询进路控制状态',
trainingType: '02',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '316', tip: '鼠标右键菜单选择【查询进路控制模式】' },
@ -792,11 +796,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0211',
operateType: 'Signal_Set_CI_Auto',
skinCode: '02',
trainingName: '设置联锁自动进路({5})',
trainingRemark: '设置联锁自动进路',
trainingType: '02',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '309', tip: '鼠标右键菜单选择【设置联锁自动进路】' },
@ -806,11 +810,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0212',
operateType: 'Signal_Cancel_CI_Auto',
skinCode: '02',
trainingName: '取消联锁自动进路({5})',
trainingRemark: '取消联锁自动进路',
trainingType: '02',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '310', tip: '鼠标右键菜单选择【取消联锁自动进路】' },
@ -820,11 +824,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0213',
operateType: 'Signal_Set_CI_Auto_Trigger',
skinCode: '02',
trainingName: '设置联锁自动触发({5})',
trainingRemark: '设置联锁自动触发',
trainingType: '02',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '311', tip: '鼠标右键菜单选择【设置联锁自动触发】' },
@ -834,11 +838,11 @@ export default {
{
maxDuration: 15,
minDuration: 8,
operateType: '0214',
operateType: 'Signal_Cancel_CI_Auto_Trigger',
skinCode: '02',
trainingName: '取消联锁自动触发({5})',
trainingRemark: '取消联锁自动触发',
trainingType: '02',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '312', tip: '鼠标右键菜单选择【取消联锁自动触发】' },

View File

@ -1,339 +0,0 @@
<template>
<el-dialog
v-dialogDrag
class="haerbin-01__systerm signal-control"
:title="title"
:visible.sync="show"
width="300px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<el-row class="header">
<el-col :span="11"><span>{{ $t('menu.stationName') }}</span></el-col>
<el-col :span="11" :offset="2"><span>{{ $t('menu.signal') }}</span></el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-input v-model="stationName" size="small" disabled />
</el-col>
<el-col :span="11" :offset="2">
<el-input v-model="signalName" size="small" disabled />
</el-col>
</el-row>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">{{ $t('menu.confirm') }}</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel">{{ $t('menu.cancel') }}</el-button>
</el-col>
</el-row>
<confirm-control ref="confirmControl" />
<notice-info ref="noticeInfo" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
import ConfirmControl from './childDialog/confirmControl';
import NoticeInfo from './childDialog/childDialog/noticeInfo';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
export default {
name: 'RouteControl',
components: {
ConfirmControl,
NoticeInfo
},
data() {
return {
dialogShow: false,
loading: false,
selected: null,
operation: null,
stationName: '',
signalName: ''
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.close.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationHandler.getDomIdByOperation(this.operation) : '';
},
title() {
if (this.operation == OperationEvent.Signal.cancelTrainRoute.menu.operation) {
return this.$t('menu.menuSignal.cancelTheTrainApproach');
} else if (this.operation == OperationEvent.Signal.signalClose.menu.operation) {
return this.$t('menu.menuSignal.signalOff');
} else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) {
return this.$t('menu.menuSignal.reopenTrainSignal');
} else if (this.operation == OperationEvent.Signal.setAutoInterlock.menu.operation) {
return this.$t('menu.menuSignal.setInterlockAutoRoute');
} else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) {
return this.$t('menu.menuSignal.cancelInterlockAutoRoute');
} else if (this.operation == OperationEvent.Signal.setAutoTrigger.menu.operation) {
return this.$t('menu.menuSignal.setInterlockAutoTrigger');
} else if (this.operation == OperationEvent.Signal.cancelAutoTrigger.menu.operation) {
return this.$t('menu.menuSignal.cancelInterlockAutoTrigger');
}
return '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
if (!this.dialogShow) {
this.signalName = '';
this.stationName = '';
if (selected && selected._type.toUpperCase() === 'Signal'.toUpperCase()) {
this.signalName = selected.name;
const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
if (station) {
this.stationName = station.name;
}
}
this.selected = selected;
this.operation = operate.operation;
}
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
if (this.operation == OperationEvent.Signal.cancelTrainRoute.menu.operation) {
/** 取消列车进路*/
this.cancelTrainRoute();
} else if (this.operation == OperationEvent.Signal.signalClose.menu.operation) {
/** 信号关灯*/
this.signalClose();
} else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) {
/** 信号重开*/
this.reopenSignal();
} else if (this.operation == OperationEvent.Signal.setAutoInterlock.menu.operation) {
/** 设置联锁自动进路*/
this.setAutoInterlock();
} else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) {
/** 取消联锁自动进路*/
this.cancelAutoInterlock();
} else if (this.operation == OperationEvent.Signal.setAutoTrigger.menu.operation) {
/** 设置联锁自动触发*/
this.setAutoTrigger();
} else if (this.operation == OperationEvent.Signal.cancelAutoTrigger.menu.operation) {
/** 取消联锁自动触发*/
this.cancelAutoTrigger();
}
},
//
cancelTrainRoute() {
if (this.$store.state.training.prdType == '01') {
/** 现地工作站*/
this.cancelTrainRouteByLocal();
} else if (this.$store.state.training.prdType == '02') {
/** 行调工作站*/
this.cancelTrainRouteByCentral();
}
},
//
cancelTrainRouteByLocal() {
const operate = {
over: true,
operation: OperationEvent.Signal.cancelTrainRoute.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
};
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
}
}).catch((error) => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow(operate, [error.message]);
});
},
//
cancelTrainRouteByCentral() {
const operate = {
over: true,
operation: OperationEvent.Signal.cancelTrainRoute.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE,
messages: [this.$t('tip.signalModeToManualModeTipPrefix') + this.signalName + this.$t('tip.signalModeToManualModeTipSuffix')]
};
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
// this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
// this.$refs.confirmControl.doShow(operate, this.selected);
}
}).catch((error) => {
this.loading = false;
this.$refs.noticeInfo.doShow(operate, [error.message]);
});
},
//
signalClose() {
const operate = {
over:true,
operation: OperationEvent.Signal.signalClose.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL
// messages: [this.$t('menu.menuSignal.signalOff') + this.$t('global.colon') + this.signalName]
};
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
// this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
// this.$refs.confirmControl.doShow(operate);
}
}).catch((error) => {
this.loading = false;
this.$refs.noticeInfo.doShow(operate, [error.message]);
});
},
//
reopenSignal() {
const operate = {
over:true,
operation: OperationEvent.Signal.reopenSignal.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
// messages: [this.$t('menu.menuSignal.signalReopen') + this.$t('global.colon') + this.signalName]
};
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
// this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
// this.$refs.confirmControl.doShow(operate);
}
}).catch((error) => {
this.loading = false;
this.$refs.noticeInfo.doShow(operate, [error.message]);
});
},
//
setAutoInterlock() {
const operate = {
over: true,
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO,
operation: OperationEvent.Signal.setAutoInterlock.menu.operation
};
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
}
}).catch((error) => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow(operate, [error.message]);
});
},
//
cancelAutoInterlock() {
const operate = {
over: true,
operation: OperationEvent.Signal.cancelAutoInterlock.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
};
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
}
}).catch((error) => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow(operate, [error.message]);
});
},
//
setAutoTrigger() {
const operate = {
over: true,
operation: OperationEvent.Signal.setAutoTrigger.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO_TRIGGER
};
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
}
}).catch((error) => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow(operate, [error.message]);
});
},
//
cancelAutoTrigger() {
const operate = {
over: true,
operation: OperationEvent.Signal.cancelAutoTrigger.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO_TRIGGER
};
this.doClose();
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
}
}).catch((error) => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow(operate, [error.message]);
});
},
//
cancel() {
const operate = {
operation: OperationEvent.Command.close.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
this.$refs.noticeInfo.doShow(operate);
});
}
}
};
</script>

View File

@ -3,7 +3,7 @@
<pop-menu ref="popMenu" :menu="menu" />
<route-selection ref="routeSelection" />
<route-lock ref="routeLock" />
<route-control ref="routeControl" />
<route-control ref="routeControl" :pop-class="'haerbin-01__systerm'" />
<route-cmd-control ref="routeCmdControl" />
<route-hand-control ref="routeHandControl" />
<route-detail ref="routeDetail" />
@ -13,7 +13,7 @@
<script>
import PopMenu from '@/components/PopMenu';
import RouteControl from './dialog/routeControl';
import RouteControl from '@/jmapNew/theme/components/menus/dialog/routeControl';
import RouteSelection from './dialog/routeSelection';
import RouteLock from './dialog/routeLock';
import RouteCmdControl from './dialog/routeCmdControl';

View File

@ -1,209 +0,0 @@
<template>
<el-dialog
v-dialogDrag
class="ningbo-01__systerm signal-control"
:title="title"
:visible.sync="show"
width="300px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<el-row class="header">
<el-col :span="11"><span>集中站</span></el-col>
<el-col :span="11" :offset="2"><span>信号机</span></el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-input v-model="stationName" size="small" disabled />
</el-col>
<el-col :span="11" :offset="2">
<el-input v-model="signalName" size="small" disabled />
</el-col>
</el-row>
<div v-if="passModel">
<div style="height: 12px" />
<el-radio v-model="passRadio" label="1" style="display: block; padding-left: 10px; margin-bottom: 10px;" :disabled="passRadio == '2'" @change="changeRadio">设置自动通过</el-radio>
<el-radio v-model="passRadio" label="2" style="display: block; padding-left: 10px;" :disabled="passRadio == '1'" @change="changeRadio">取消自动通过</el-radio>
</div>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel"> </el-button>
</el-col>
</el-row>
<confirm-control ref="confirmControl" />
<notice-info ref="noticeInfo" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
import ConfirmControl from './childDialog/confirmControl';
import NoticeInfo from './childDialog/childDialog/noticeInfo';
import {menuOperate, commitOperate} from '../utils/menuOperate';
export default {
name: 'RouteControl',
components: {
ConfirmControl,
NoticeInfo
},
data() {
return {
dialogShow: false,
loading: false,
selected: null,
operation: null,
stationName: '',
signalName: '',
passRadio: '1',
passModel: false //
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.close.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationHandler.getDomIdByOperation(this.operation) : '';
},
title() {
if (this.operation == OperationEvent.Signal.cancelTrainRoute.menu.operation) {
return '取消列车进路';
} else if (this.operation == OperationEvent.Signal.signalClose.menu.operation) {
return '信号关灯';
} else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) {
return '重开信号';
} else if (this.operation == OperationEvent.Signal.setAutoInterlock.menu.operation) {
return '信号机控制';
} else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) {
return '信号机控制';
}
return '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
this.selected = selected;
if (!this.dialogShow) {
this.passModel = false;
this.signalName = '';
this.stationName = '';
if (selected && selected._type.toUpperCase() === 'Signal'.toUpperCase()) {
this.signalName = selected.name;
const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
if (station) {
this.stationName = station.name;
}
}
this.operation = operate.operation;
if (this.operation == OperationEvent.Signal.setAutoInterlock.menu.operation) {
this.passRadio = '1';
this.passModel = true;
} else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) {
this.passRadio = '2';
this.passModel = true;
}
}
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
this.mouseCancelState(this.selected);
},
changeRadio() {
},
commit() {
if (this.operation == OperationEvent.Signal.cancelTrainRoute.menu.operation) {
/** 取消列车进路*/
this.cancelTrainRoute();
} else if (this.operation == OperationEvent.Signal.signalClose.menu.operation) {
/** 信号关灯*/
this.signalClose();
} else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) {
/** 信号重开*/
this.reopenSignal();
} else if (this.operation == OperationEvent.Signal.setAutoInterlock.menu.operation) {
this.singalPassModel(); //
} else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) {
this.singalCancelPassModel(); //
}
},
//
cancelTrainRoute() {
this.sendCommand(menuOperate.Signal.cancelTrainRoute);
},
//
signalClose() {
this.loading = true;
commitOperate(menuOperate.Signal.signalClose, {}, 1).then((data)=>{
this.doClose();
this.$refs.confirmControl.doShow(data.operate);
}).catch(() => {
this.loading = false;
this.doClose();
});
},
//
reopenSignal() {
this.sendCommand(menuOperate.Signal.reopenSignal);
},
//
singalPassModel() {
this.sendCommand(menuOperate.Signal.setAutoInterlock);
},
//
singalCancelPassModel() {
this.sendCommand(menuOperate.Signal.cancelAutoInterlock);
},
sendCommand(operate) {
this.loading = true;
commitOperate(operate, {}, 2).then(({valid})=>{
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow();
});
},
//
cancel() {
const operate = {
operation: OperationEvent.Command.close.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
this.$refs.noticeInfo.doShow();
});
}
}
};
</script>

View File

@ -4,7 +4,7 @@
<route-selection ref="routeSelection" />
<route-lock ref="routeLock" />
<route-un-lock ref="routeUnLock" />
<route-control ref="routeControl" />
<route-control ref="routeControl" :pop-class="'ningbo-01__systerm'" />
<route-hand-control ref="routeHandControl" />
<route-detail ref="routeDetail" />
<router-command ref="routerCommand" />
@ -14,7 +14,7 @@
<script>
import PopMenu from '@/components/PopMenu';
import RouteControl from './dialog/routeControl';
import RouteControl from '@/jmapNew/theme/components/menus/dialog/routeControl';
import RouteSelection from './dialog/routeSelection';
import RouteLock from './dialog/routeLock';
import RouteUnLock from './dialog/routeUnLock';

View File

@ -1,293 +0,0 @@
<template>
<el-dialog
v-dialogDrag
class="xian-01__systerm signal-control"
:title="title"
:visible.sync="show"
width="300px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<el-row class="header">
<el-col :span="11"><span>{{ $t('menu.stationName') }}</span></el-col>
<el-col :span="11" :offset="2"><span>{{ $t('menu.signal') }}</span></el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-input v-model="stationName" size="small" disabled />
</el-col>
<el-col :span="11" :offset="2">
<el-input v-model="signalName" size="small" disabled />
</el-col>
</el-row>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">{{ $t('menu.confirm') }}</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel">{{ $t('menu.cancel') }}</el-button>
</el-col>
</el-row>
<confirm-control ref="confirmControl" />
<notice-info ref="noticeInfo" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
import ConfirmControl from './childDialog/confirmControl';
import NoticeInfo from './childDialog/childDialog/noticeInfo';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
import { menuOperate, commitOperate } from '../utils/menuOperate';
export default {
name: 'RouteControl',
components: {
ConfirmControl,
NoticeInfo
},
data() {
return {
dialogShow: false,
loading: false,
selected: null,
operation: null,
stationName: '',
signalName: ''
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.close.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationHandler.getDomIdByOperation(this.operation) : '';
},
title() {
if (this.operation == OperationEvent.Signal.cancelTrainRoute.menu.operation) {
return '取消进路';
} else if (this.operation == OperationEvent.Signal.signalClose.menu.operation) {
return '信号关灯';
} else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) {
return this.$t('menu.menuSignal.reopenTrainSignal');
} else if (this.operation == OperationEvent.Signal.setAutoInterlock.menu.operation) {
return this.$t('menu.menuSignal.setInterlockAutoRoute');
} else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) {
return this.$t('menu.menuSignal.cancelInterlockAutoRoute');
} else if (this.operation == OperationEvent.Signal.setAutoTrigger.menu.operation) {
return this.$t('menu.menuSignal.setInterlockAutoTrigger');
} else if (this.operation == OperationEvent.Signal.cancelAutoTrigger.menu.operation) {
return this.$t('menu.menuSignal.cancelInterlockAutoTrigger');
}
return '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
if (!this.dialogShow) {
this.signalName = '';
this.stationName = '';
if (selected && selected._type.toUpperCase() === 'Signal'.toUpperCase()) {
this.signalName = selected.name;
const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
if (station) {
this.stationName = station.name;
}
}
this.selected = selected;
this.operation = operate.operation;
}
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
if (this.operation == OperationEvent.Signal.cancelTrainRoute.menu.operation) {
/** 取消进路*/
this.cancelTrainRoute();
} else if (this.operation == OperationEvent.Signal.signalClose.menu.operation) {
/** 信号关灯*/
this.signalClose();
} else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) {
/** 信号重开*/
this.reopenSignal();
} else if (this.operation == OperationEvent.Signal.setAutoInterlock.menu.operation) {
/** 设置联锁自动进路*/
this.setAutoInterlock();
} else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) {
/** 取消联锁自动进路*/
this.cancelAutoInterlock();
} else if (this.operation == OperationEvent.Signal.setAutoTrigger.menu.operation) {
/** 设置联锁自动触发*/
this.setAutoTrigger();
} else if (this.operation == OperationEvent.Signal.cancelAutoTrigger.menu.operation) {
/** 取消联锁自动触发*/
this.cancelAutoTrigger();
}
},
//
cancelTrainRoute() {
this.loading = true;
commitOperate(menuOperate.Signal.cancelTrainRoute, {}, 1).then(({valid, operate})=>{
this.loading = false;
if (valid) {
this.doClose();
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
operate['messages'] = `取消以信号机${this.selected.name}为始端的进路,该进路即将由自动信号模式转为人工模式!`;
this.$refs.confirmControl.doShow(operate);
}
}).catch((error) => {
console.log(error);
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow();
});
},
//
signalClose() {
this.loading = true;
commitOperate(menuOperate.Signal.signalClose, {}, 1).then(({valid, operate})=>{
this.loading = false;
if (valid) {
this.doClose();
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
operate['messages'] = `信号关灯: ${this.selected.name}`;
this.$refs.confirmControl.doShow(operate);
}
}).catch(() => {
this.loading = false;
this.doClose();
});
},
//
reopenSignal() {
this.loading = true;
commitOperate(menuOperate.Signal.reopenSignal, {}, 1).then(({valid, operate})=>{
this.loading = false;
if (valid) {
this.doClose();
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
operate['messages'] = `信号重开: ${this.selected.name}`;
this.$refs.confirmControl.doShow(operate);
}
}).catch(() => {
this.loading = false;
this.doClose();
});
},
//
setAutoInterlock() {
const operate = {
over: true,
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO,
operation: OperationEvent.Signal.setAutoInterlock.menu.operation
};
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow();
});
},
//
cancelAutoInterlock() {
const operate = {
over: true,
operation: OperationEvent.Signal.cancelAutoInterlock.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
};
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow();
});
},
//
setAutoTrigger() {
const operate = {
over: true,
operation: OperationEvent.Signal.setAutoTrigger.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO_TRIGGER
};
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow();
});
},
//
cancelAutoTrigger() {
const operate = {
over: true,
operation: OperationEvent.Signal.cancelAutoTrigger.menu.operation,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO_TRIGGER
};
this.doClose();
this.loading = true;
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow();
});
},
//
cancel() {
const operate = {
operation: OperationEvent.Command.close.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
this.$refs.noticeInfo.doShow();
});
}
}
};
</script>

View File

@ -3,7 +3,7 @@
<pop-menu ref="popMenu" :menu="menu" pop-menu-class="xian-01__systerm" />
<route-selection ref="routeSelection" />
<route-lock ref="routeLock" />
<route-control ref="routeControl" />
<route-control ref="routeControl" :pop-class="'xian-01__systerm'" />
<route-cmd-control ref="routeCmdControl" />
<route-hand-control ref="routeHandControl" />
<route-detail ref="routeDetail" />
@ -13,7 +13,7 @@
<script>
import PopMenu from '@/components/PopMenu';
import RouteControl from './dialog/routeControl';
import RouteControl from '@/jmapNew/theme/components/menus/dialog/routeControl';
import RouteSelection from './dialog/routeSelection';
import RouteLock from './dialog/routeLock';
import RouteCmdControl from './dialog/routeCmdControl';

View File

@ -1,209 +0,0 @@
<template>
<el-dialog
v-dialogDrag
class="xian-02__system signal-control"
:title="title"
:visible.sync="show"
width="300px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<el-row class="header">
<el-col :span="11"><span>集中站</span></el-col>
<el-col :span="11" :offset="2"><span>信号机</span></el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-input v-model="stationName" size="small" disabled />
</el-col>
<el-col :span="11" :offset="2">
<el-input v-model="signalName" size="small" disabled />
</el-col>
</el-row>
<div v-if="passModel">
<div style="height: 12px" />
<el-radio v-model="passRadio" label="1" style="display: block; padding-left: 10px; margin-bottom: 10px;" :disabled="passRadio == '2'" @change="changeRadio">设置自动通过</el-radio>
<el-radio v-model="passRadio" label="2" style="display: block; padding-left: 10px;" :disabled="passRadio == '1'" @change="changeRadio">取消自动通过</el-radio>
</div>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel"> </el-button>
</el-col>
</el-row>
<confirm-control ref="confirmControl" />
<notice-info ref="noticeInfo" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
import ConfirmControl from './childDialog/confirmControl';
import NoticeInfo from './childDialog/childDialog/noticeInfo';
import {menuOperate, commitOperate} from '../utils/menuOperate';
export default {
name: 'RouteControl',
components: {
ConfirmControl,
NoticeInfo
},
data() {
return {
dialogShow: false,
loading: false,
selected: null,
operation: null,
stationName: '',
signalName: '',
passRadio: '1',
passModel: false //
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.close.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationHandler.getDomIdByOperation(this.operation) : '';
},
title() {
if (this.operation == OperationEvent.Signal.cancelTrainRoute.menu.operation) {
return '取消列车进路';
} else if (this.operation == OperationEvent.Signal.signalClose.menu.operation) {
return '信号关灯';
} else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) {
return '重开信号';
} else if (this.operation == OperationEvent.Signal.setAutoInterlock.menu.operation) {
return '信号机控制';
} else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) {
return '信号机控制';
}
return '';
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
this.selected = selected;
if (!this.dialogShow) {
this.passModel = false;
this.signalName = '';
this.stationName = '';
if (selected && selected._type.toUpperCase() === 'Signal'.toUpperCase()) {
this.signalName = selected.name;
const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
if (station) {
this.stationName = station.name;
}
}
this.operation = operate.operation;
if (this.operation == OperationEvent.Signal.setAutoInterlock.menu.operation) {
this.passRadio = '1';
this.passModel = true;
} else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) {
this.passRadio = '2';
this.passModel = true;
}
}
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
this.mouseCancelState(this.selected);
},
changeRadio() {
},
commit() {
if (this.operation == OperationEvent.Signal.cancelTrainRoute.menu.operation) {
/** 取消列车进路*/
this.cancelTrainRoute();
} else if (this.operation == OperationEvent.Signal.signalClose.menu.operation) {
/** 信号关灯*/
this.signalClose();
} else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) {
/** 信号重开*/
this.reopenSignal();
} else if (this.operation == OperationEvent.Signal.setAutoInterlock.menu.operation) {
this.singalPassModel(); //
} else if (this.operation == OperationEvent.Signal.cancelAutoInterlock.menu.operation) {
this.singalCancelPassModel(); //
}
},
//
cancelTrainRoute() {
this.sendCommand(menuOperate.Signal.cancelTrainRoute);
},
//
signalClose() {
this.loading = true;
commitOperate(menuOperate.Signal.signalClose, {}, 1).then((data)=>{
this.doClose();
this.$refs.confirmControl.doShow(data.operate);
}).catch(() => {
this.loading = false;
this.doClose();
});
},
//
reopenSignal() {
this.sendCommand(menuOperate.Signal.reopenSignal);
},
//
singalPassModel() {
this.sendCommand(menuOperate.Signal.setAutoInterlock);
},
//
singalCancelPassModel() {
this.sendCommand(menuOperate.Signal.cancelAutoInterlock);
},
sendCommand(operate) {
this.loading = true;
commitOperate(operate, {}, 2).then(({valid})=>{
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(error => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow({}, error.message);
});
},
//
cancel() {
const operate = {
operation: OperationEvent.Command.close.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
this.$refs.noticeInfo.doShow(operate);
});
}
}
};
</script>

View File

@ -4,7 +4,6 @@
<route-selection ref="routeSelection" />
<route-lock ref="routeLock" />
<route-un-lock ref="routeUnLock" />
<route-control ref="routeControl" />
<route-hand-control ref="routeHandControl" />
<route-detail ref="routeDetail" />
<router-command ref="routerCommand" />
@ -14,7 +13,6 @@
<script>
import PopMenu from '@/components/PopMenu/index';
import RouteControl from './dialog/routeControl';
import RouteSelection from './dialog/routeSelection';
import RouteLock from './dialog/routeLock';
import RouteUnLock from './dialog/routeUnLock';
@ -33,7 +31,6 @@ export default {
name: 'SignalMenu',
components: {
PopMenu,
RouteControl,
RouteSelection,
RouteLock,
RouteUnLock,
@ -424,14 +421,6 @@ export default {
this.$refs.noticeInfo.doShow(step);
});
},
//
signalClose() {
commitOperate(menuOperate.Signal.signalClose, {signalCode:this.selected.code}, 0).then(({valid, operate})=>{
if (valid) {
this.$refs.routeControl.doShow(operate, this.selected);
}
});
},
//
guideSignal() {
const step = {