北京一号线新版信号机操作调整

This commit is contained in:
joylink_cuiweidong 2020-01-08 16:23:45 +08:00
parent 387746a69b
commit 4dde67b582
4 changed files with 871 additions and 832 deletions

View File

@ -1,6 +1,16 @@
<template> <template>
<el-dialog class="beijing-01__systerm confirm-control" :title="title" :visible.sync="show" width="360px" <el-dialog
:before-close="doClose" :zIndex="2000" :modal="false" :close-on-click-modal="false" append-to-body v-dialogDrag> v-dialogDrag
class="beijing-01__systerm confirm-control"
: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"> <div class="context">
<template v-for="message in messages"> <template v-for="message in messages">
<span>{{ message }}</span> <span>{{ message }}</span>
@ -14,16 +24,20 @@
<el-button :id="domIdCancel" @click="cancel"> </el-button> <el-button :id="domIdCancel" @click="cancel"> </el-button>
</el-col> </el-col>
</el-row> </el-row>
<notice-info ref="noticeInfo"></notice-info> <notice-info ref="noticeInfo" />
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic'; import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
import NoticeInfo from './childDialog/noticeInfo' import NoticeInfo from './childDialog/noticeInfo';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
export default { export default {
name: 'ConfirmControl', name: 'ConfirmControl',
components: {
NoticeInfo
},
data() { data() {
return { return {
dialogShow: false, dialogShow: false,
@ -31,10 +45,7 @@
operate: {}, operate: {},
messages: '', messages: '',
operation: null operation: null
} };
},
components: {
NoticeInfo
}, },
computed: { computed: {
show() { show() {
@ -52,13 +63,15 @@
} else if (this.operation === OperationEvent.Signal.humanControl.menu.operation) { } else if (this.operation === OperationEvent.Signal.humanControl.menu.operation) {
return '进路交人工控'; return '进路交人工控';
} else if (this.operation === OperationEvent.Signal.atsAutoControl.menu.operation) { } else if (this.operation === OperationEvent.Signal.atsAutoControl.menu.operation) {
return '进路交ATS自动控' return '进路交ATS自动控';
} else if (this.operation === OperationEvent.StationStand.setRunLevel.menu.operation) { } else if (this.operation === OperationEvent.StationStand.setRunLevel.menu.operation) {
return '设置运行等级'; return '设置运行等级';
} else if (this.operation === OperationEvent.StationStand.setStopTime.menu.operation) { } else if (this.operation === OperationEvent.StationStand.setStopTime.menu.operation) {
return '停站时间'; return '停站时间';
} else if (this.operation === OperationEvent.StationStand.setBackStrategy.menu.operation) { } else if (this.operation === OperationEvent.StationStand.setBackStrategy.menu.operation) {
return '设置折返策略'; return '设置折返策略';
} else {
return '';
} }
}, },
domIdCancel() { domIdCancel() {
@ -68,7 +81,7 @@
if (this.dialogShow) { if (this.dialogShow) {
if (this.operation === OperationEvent.Signal.arrangementRoute.menu.operation) { if (this.operation === OperationEvent.Signal.arrangementRoute.menu.operation) {
/** 进路设置*/ /** 进路设置*/
return OperationEvent.Signal.arrangementRoute.confirm.domId return OperationEvent.Signal.arrangementRoute.confirm.domId;
} else if (this.operation === OperationEvent.Signal.signalClose.menu.operation) { } else if (this.operation === OperationEvent.Signal.signalClose.menu.operation) {
/** 信号关灯*/ /** 信号关灯*/
return OperationEvent.Signal.signalClose.confirm.domId; return OperationEvent.Signal.signalClose.confirm.domId;
@ -93,14 +106,16 @@
} else if (this.operation === OperationEvent.StationStand.setBackStrategy.menu.operation) { } else if (this.operation === OperationEvent.StationStand.setBackStrategy.menu.operation) {
/** 设置折返策略*/ /** 设置折返策略*/
return OperationEvent.StationStand.setBackStrategy.confirm.domId; return OperationEvent.StationStand.setBackStrategy.confirm.domId;
} else {
return '';
}
} }
} }
},
}, },
mounted() { mounted() {
this.$nextTick(() => { this.$nextTick(() => {
this.$store.dispatch('training/tipReload'); this.$store.dispatch('training/tipReload');
}) });
}, },
methods: { methods: {
doShow(operate) { doShow(operate) {
@ -153,14 +168,14 @@
}, },
// //
routeSetting() { routeSetting() {
let operate = { const operate = {
send: true, send: true,
type: this.operate.type, type: this.operate.type,
operation: OperationEvent.Signal.arrangementRoute.confirm.operation, operation: OperationEvent.Signal.arrangementRoute.confirm.operation
} };
this.loading = true; this.loading = true;
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false; this.loading = false;
if (valid) { if (valid) {
this.doClose(); this.doClose();
@ -169,18 +184,18 @@
this.loading = false; this.loading = false;
this.doClose(); this.doClose();
this.$refs.noticeInfo.doShow(operate); this.$refs.noticeInfo.doShow(operate);
}) });
}, },
// //
signalClose() { signalClose() {
let operate = { const operate = {
send: true, over: true,
type: this.operate.type, operation: OperationEvent.Signal.signalClose.confirm.operation,
operation: OperationEvent.Signal.signalClose.confirm.operation cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL
} };
this.loading = true; this.loading = true;
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false; this.loading = false;
if (valid) { if (valid) {
this.doClose(); this.doClose();
@ -189,18 +204,18 @@
this.loading = false; this.loading = false;
this.doClose(); this.doClose();
this.$refs.noticeInfo.doShow(operate); this.$refs.noticeInfo.doShow(operate);
}) });
}, },
// //
reopenSignal() { reopenSignal() {
let operate = { const operate = {
send: true, send: true,
type: this.operate.type, type: this.operate.type,
operation: OperationEvent.Signal.reopenSignal.confirm.operation operation: OperationEvent.Signal.reopenSignal.confirm.operation
} };
this.loading = true; this.loading = true;
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false; this.loading = false;
if (valid) { if (valid) {
this.doClose(); this.doClose();
@ -209,18 +224,18 @@
this.loading = false; this.loading = false;
this.doClose(); this.doClose();
this.$refs.noticeInfo.doShow(operate); this.$refs.noticeInfo.doShow(operate);
}) });
}, },
// //
cancelTrainRoute() { cancelTrainRoute() {
let operate = { const operate = {
send: true, send: true,
type: this.operate.type, type: this.operate.type,
operation: OperationEvent.Signal.cancelTrainRoute.confirm.operation operation: OperationEvent.Signal.cancelTrainRoute.confirm.operation
} };
this.loading = true; this.loading = true;
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false; this.loading = false;
if (valid) { if (valid) {
this.doClose(); this.doClose();
@ -229,18 +244,18 @@
this.loading = false; this.loading = false;
this.doClose(); this.doClose();
this.$refs.noticeInfo.doShow(operate); this.$refs.noticeInfo.doShow(operate);
}) });
}, },
// //
humanControl() { humanControl() {
let operate = { const operate = {
send: true, send: true,
type: MapDeviceType.Signal.type, type: MapDeviceType.Signal.type,
operation: OperationEvent.Signal.humanControl.menu.operation, operation: OperationEvent.Signal.humanControl.menu.operation
} };
this.loading = true; this.loading = true;
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false; this.loading = false;
if (valid) { if (valid) {
this.doClose(); this.doClose();
@ -253,14 +268,14 @@
}, },
// ATS // ATS
atsAutoControl() { atsAutoControl() {
let operate = { const operate = {
send: true, send: true,
type: MapDeviceType.Signal.type, type: MapDeviceType.Signal.type,
operation: OperationEvent.Signal.atsAutoControl.menu.operation, operation: OperationEvent.Signal.atsAutoControl.menu.operation
} };
this.loading = true; this.loading = true;
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false; this.loading = false;
if (valid) { if (valid) {
this.doClose(); this.doClose();
@ -273,15 +288,15 @@
}, },
// //
setRunLevel() { setRunLevel() {
let operate = { const operate = {
send: true, send: true,
type: this.operate.type, type: this.operate.type,
operation: OperationEvent.StationStand.setRunLevel.confirm.operation, operation: OperationEvent.StationStand.setRunLevel.confirm.operation,
val: this.operate.val val: this.operate.val
} };
this.loading = true; this.loading = true;
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false; this.loading = false;
if (valid) { if (valid) {
this.doClose(); this.doClose();
@ -290,19 +305,19 @@
this.loading = false; this.loading = false;
this.doClose(); this.doClose();
this.$refs.noticeInfo.doShow(operate); this.$refs.noticeInfo.doShow(operate);
}) });
}, },
// //
setStopTime() { setStopTime() {
let operate = { const operate = {
send: true, send: true,
type: this.operate.type, type: this.operate.type,
operation: OperationEvent.StationStand.setStopTime.confirm.operation, operation: OperationEvent.StationStand.setStopTime.confirm.operation,
val: this.operate.val, val: this.operate.val
} };
this.loading = true; this.loading = true;
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false; this.loading = false;
if (valid) { if (valid) {
this.doClose(); this.doClose();
@ -311,19 +326,19 @@
this.loading = false; this.loading = false;
this.doClose(); this.doClose();
this.$refs.noticeInfo.doShow(operate); this.$refs.noticeInfo.doShow(operate);
}) });
}, },
// //
setBackStrategy() { setBackStrategy() {
let operate = { const operate = {
send: true, send: true,
type: this.operate.type, type: this.operate.type,
operation: OperationEvent.StationStand.setBackStrategy.confirm.operation, operation: OperationEvent.StationStand.setBackStrategy.confirm.operation,
val: this.operate.val, val: this.operate.val
} };
this.loading = true; this.loading = true;
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false; this.loading = false;
if (valid) { if (valid) {
this.doClose(); this.doClose();
@ -332,15 +347,15 @@
this.loading = false; this.loading = false;
this.doClose(); this.doClose();
this.$refs.noticeInfo.doShow(operate); this.$refs.noticeInfo.doShow(operate);
}) });
}, },
cancel() { cancel() {
let operate = { const operate = {
type: this.operate.type, type: this.operate.type,
operation: OperationEvent.Command.cancel.menu.operation, operation: OperationEvent.Command.cancel.menu.operation
} };
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) { if (valid) {
this.doClose(); this.doClose();
} }
@ -349,7 +364,7 @@
}); });
} }
} }
} };
</script> </script>
<style> <style>

View File

@ -1,16 +1,25 @@
<template> <template>
<el-dialog class="beijing-01__systerm signal-control" :title="title" :visible.sync="show" width="300px" <el-dialog
:before-close="doClose" :zIndex="2000" :modal="false" :close-on-click-modal="false" v-dialogDrag> 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-row class="header">
<el-col :span="11"><span>集中站</span></el-col> <el-col :span="11"><span>集中站</span></el-col>
<el-col :span="11" :offset="2"><span>信号机</span></el-col> <el-col :span="11" :offset="2"><span>信号机</span></el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="11"> <el-col :span="11">
<el-input v-model="stationName" size="small" disabled></el-input> <el-input v-model="stationName" size="small" disabled />
</el-col> </el-col>
<el-col :span="11" :offset="2"> <el-col :span="11" :offset="2">
<el-input v-model="signalName" size="small" disabled></el-input> <el-input v-model="signalName" size="small" disabled />
</el-col> </el-col>
</el-row> </el-row>
<el-row justify="center" class="button-group"> <el-row justify="center" class="button-group">
@ -21,8 +30,8 @@
<el-button :id="domIdCancel" @click="cancel"> </el-button> <el-button :id="domIdCancel" @click="cancel"> </el-button>
</el-col> </el-col>
</el-row> </el-row>
<confirm-control ref="confirmControl"></confirm-control> <confirm-control ref="confirmControl" />
<notice-info ref="noticeInfo"></notice-info> <notice-info ref="noticeInfo" />
</el-dialog> </el-dialog>
</template> </template>
@ -30,7 +39,8 @@
import { MapDeviceType, OperationEvent, getDomIdByOperation } from '@/scripts/ConstDic'; import { MapDeviceType, OperationEvent, getDomIdByOperation } from '@/scripts/ConstDic';
import { mouseCancelState } from '../utils/menuItemStatus'; import { mouseCancelState } from '../utils/menuItemStatus';
import ConfirmControl from './childDialog/confirmControl'; import ConfirmControl from './childDialog/confirmControl';
import NoticeInfo from './childDialog/childDialog/noticeInfo' import NoticeInfo from './childDialog/childDialog/noticeInfo';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
export default { export default {
name: 'RouteControl', name: 'RouteControl',
@ -47,7 +57,7 @@
stationName: '', stationName: '',
signalName: '' signalName: ''
} };
}, },
computed: { computed: {
show() { show() {
@ -66,13 +76,15 @@
return '信号关灯'; return '信号关灯';
} else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) { } else if (this.operation == OperationEvent.Signal.reopenSignal.menu.operation) {
return '重开信号'; return '重开信号';
} else {
return '';
} }
} }
}, },
mounted() { mounted() {
this.$nextTick(() => { this.$nextTick(() => {
this.$store.dispatch('training/tipReload'); this.$store.dispatch('training/tipReload');
}) });
}, },
methods: { methods: {
doShow(operate, selected) { doShow(operate, selected) {
@ -81,8 +93,8 @@
this.signalName = ''; this.signalName = '';
this.stationName = ''; this.stationName = '';
if (selected && selected._type.toUpperCase() === 'Signal'.toUpperCase()) { if (selected && selected._type.toUpperCase() === 'Signal'.toUpperCase()) {
this.signalName = selected.name this.signalName = selected.name;
let station = this.$store.getters['map/getDeviceByCode'](selected.stationCode); const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
if (station) { if (station) {
this.stationName = station.name; this.stationName = station.name;
} }
@ -114,49 +126,29 @@
}, },
// //
cancelTrainRoute() { cancelTrainRoute() {
if (this.$store.state.training.prdType == '01') { this.cancelTrainRouteFunc();
/** 现地工作站*/ // if (this.$store.state.training.prdType == '01') {
this.cancelTrainRouteByLocal(); // /** */
} else if (this.$store.state.training.prdType == '02') { // this.cancelTrainRouteFunc();
/** 行调工作站*/ // } else if (this.$store.state.training.prdType == '02') {
this.cancelTrainRouteByCentral(); // /** */
} // this.cancelTrainRouteFunc();
// }
}, },
// cancelTrainRouteFunc() {
cancelTrainRouteByLocal() { const operate = {
let operate = { over: true,
send: true,
type: MapDeviceType.Signal.type,
operation: OperationEvent.Signal.cancelTrainRoute.menu.operation
}
this.loading = true;
this.$store.dispatch('training/next', operate).then(({ valid }) => {
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(error => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow(operate);
});
},
//
cancelTrainRouteByCentral() {
let operate = {
send: true,
type: MapDeviceType.Signal.type,
operation: OperationEvent.Signal.cancelTrainRoute.menu.operation, operation: OperationEvent.Signal.cancelTrainRoute.menu.operation,
} cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
};
this.loading = true; this.loading = true;
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false; this.loading = false;
if (valid) { if (valid) {
this.doClose(); this.doClose();
} }
}).catch(error => { }).catch(() => {
this.loading = false; this.loading = false;
this.doClose(); this.doClose();
this.$refs.noticeInfo.doShow(operate); this.$refs.noticeInfo.doShow(operate);
@ -164,39 +156,38 @@
}, },
// //
signalClose() { signalClose() {
let operate = { const operate = {
type: MapDeviceType.Signal.type,
operation: OperationEvent.Signal.signalClose.menu.operation, operation: OperationEvent.Signal.signalClose.menu.operation,
messages: [`信号关灯: ${this.signalName}`], messages: [`信号关灯: ${this.signalName}`]
} };
this.loading = true; this.loading = true;
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false; this.loading = false;
if (valid) { if (valid) {
this.doClose(); this.doClose();
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.$refs.confirmControl.doShow(operate); this.$refs.confirmControl.doShow(operate);
} }
}).catch(error => { }).catch(() => {
this.loading = false; this.loading = false;
}); });
}, },
// //
reopenSignal() { reopenSignal() {
let operate = { const operate = {
send: true, over: true,
type: MapDeviceType.Signal.type,
operation: OperationEvent.Signal.reopenSignal.menu.operation, operation: OperationEvent.Signal.reopenSignal.menu.operation,
} cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
};
this.loading = true; this.loading = true;
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.loading = false; this.loading = false;
if (valid) { if (valid) {
this.doClose(); this.doClose();
} }
}).catch(error => { }).catch(() => {
this.loading = false; this.loading = false;
this.doClose(); this.doClose();
this.$refs.noticeInfo.doShow(operate); this.$refs.noticeInfo.doShow(operate);
@ -204,20 +195,20 @@
}, },
// //
cancel() { cancel() {
let operate = { const operate = {
type: MapDeviceType.Signal.type, type: MapDeviceType.Signal.type,
operation: OperationEvent.Command.close.menu.operation, operation: OperationEvent.Command.close.menu.operation
} };
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/next', operate).then(({ valid }) => {
if (valid) { if (valid) {
this.doClose(); this.doClose();
} }
}).catch(error => { }).catch(() => {
this.doClose(); this.doClose();
this.$refs.noticeInfo.doShow(operate); this.$refs.noticeInfo.doShow(operate);
}); });
} }
} }
} };
</script> </script>

View File

@ -1,40 +1,55 @@
<template> <template>
<el-dialog class="beijing-01__systerm stand-stop-time" :title="title" :visible.sync="show" width="340px" <el-dialog
:before-close="doClose" :zIndex="2000" :modal="false" :close-on-click-modal="false" v-dialogDrag> v-dialogDrag
class="beijing-01__systerm stand-stop-time"
:title="title"
:visible.sync="show"
width="340px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<el-row class="header"> <el-row class="header">
<el-col :span="11"><span>集中站</span></el-col> <el-col :span="11"><span>集中站</span></el-col>
<el-col :span="11" :offset="2"><span>站台名称</span></el-col> <el-col :span="11" :offset="2"><span>站台名称</span></el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="11"> <el-col :span="11">
<el-input v-model="stationName" size="small" disabled></el-input> <el-input v-model="stationName" size="small" disabled />
</el-col> </el-col>
<el-col :span="11" :offset="2"> <el-col :span="11" :offset="2">
<el-input v-model="standName" size="small" disabled></el-input> <el-input v-model="standName" size="small" disabled />
</el-col> </el-col>
</el-row> </el-row>
<div style="padding: 10px 15px; border: 1px double lightgray; margin: 20px 0px; height: 73px;"> <div style="padding: 10px 15px; border: 1px double lightgray; margin: 20px 0px; height: 73px;">
<span class="base-label" style="left: -9px;">模式</span> <span class="base-label" style="left: -9px;">模式</span>
<div style=" position: relative; top:-10px;"> <div style=" position: relative; top:-10px;">
<el-radio-group v-model="control" @change='chooseControl' style="width: 40%;float: left;"> <el-radio-group v-model="control" style="width: 40%;float: left;" @change="chooseControl">
<div style="margin-bottom: 10px;"> <div style="margin-bottom: 10px;">
<el-radio label="01" :id="control === '01'? '': domIdChoose1">自动</el-radio> <el-radio :id="control === '01'? '': domIdChoose1" label="01">自动</el-radio>
</div> </div>
<el-radio label="02" :id="control === '02'? '': domIdChoose1">全人工</el-radio> <el-radio :id="control === '02'? '': domIdChoose1" label="02">全人工</el-radio>
</el-radio-group> </el-radio-group>
<el-input-number v-model="time" @change="inputTime" :disabled="disabledInput" :id="domIdInput" <el-input-number
controls-position="right" :min="0" size="mini" :id="domIdInput"
style="width: 130px; padding-left:30px;display: block; float: left; margin-top: 15px;"> v-model="time"
</el-input-number> :disabled="disabledInput"
controls-position="right"
:min="0"
size="mini"
style="width: 130px; padding-left:30px;display: block; float: left; margin-top: 15px;"
@change="inputTime"
/>
<div style="float: left;margin-top: 22px; margin-left: 5px;"></div> <div style="float: left;margin-top: 22px; margin-left: 5px;"></div>
</div> </div>
</div> </div>
<div style="padding: 10px 15px; border: 1px double lightgray; height: 60px;"> <div style="padding: 10px 15px; border: 1px double lightgray; height: 60px;">
<span class="base-label" style="left: -9px;">有效次数</span> <span class="base-label" style="left: -9px;">有效次数</span>
<div style=" position: relative; top:-10px;"> <div style=" position: relative; top:-10px;">
<el-radio-group v-model="effective" @change="chooseEffective" :disabled="disabledTime"> <el-radio-group v-model="effective" :disabled="disabledTime" @change="chooseEffective">
<el-radio :label="false" :id="effective === false? '': domIdChoose2">一次有效</el-radio> <el-radio :id="effective === false? '': domIdChoose2" :label="false">一次有效</el-radio>
<el-radio :label="true" :id="effective === true? '': domIdChoose2">一直有效</el-radio> <el-radio :id="effective === true? '': domIdChoose2" :label="true">一直有效</el-radio>
</el-radio-group> </el-radio-group>
</div> </div>
</div> </div>
@ -46,8 +61,8 @@
<el-button :id="domIdCancel" @click="cancel"> </el-button> <el-button :id="domIdCancel" @click="cancel"> </el-button>
</el-col> </el-col>
</el-row> </el-row>
<confirm-control ref="confirmControl"></confirm-control> <confirm-control ref="confirmControl" />
<notice-info ref="noticeInfo"></notice-info> <notice-info ref="noticeInfo" />
</el-dialog> </el-dialog>
</template> </template>
@ -55,7 +70,7 @@
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic'; import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
import { mouseCancelState } from '../utils/menuItemStatus'; import { mouseCancelState } from '../utils/menuItemStatus';
import ConfirmControl from './childDialog/confirmControl'; import ConfirmControl from './childDialog/confirmControl';
import NoticeInfo from './childDialog/childDialog/noticeInfo' import NoticeInfo from './childDialog/childDialog/noticeInfo';
export default { export default {
name: 'StandStopTime', name: 'StandStopTime',
@ -73,8 +88,8 @@
effective: false, effective: false,
selected: null, selected: null,
standName: '', standName: '',
stationName: '', stationName: ''
} };
}, },
computed: { computed: {
show() { show() {
@ -97,13 +112,13 @@
}, },
disabledUp() { disabledUp() {
if (this.selected) { if (this.selected) {
return this.selected.direction !== '02' return this.selected.direction !== '02';
} }
return true; return true;
}, },
disabledDown() { disabledDown() {
if (this.selected) { if (this.selected) {
return this.selected.direction !== '01' return this.selected.direction !== '01';
} }
return true; return true;
}, },
@ -120,7 +135,7 @@
mounted() { mounted() {
this.$nextTick(() => { this.$nextTick(() => {
this.$store.dispatch('training/tipReload'); this.$store.dispatch('training/tipReload');
}) });
}, },
methods: { methods: {
doShow(operate, selected, tempDate) { doShow(operate, selected, tempDate) {
@ -131,7 +146,7 @@
this.stationName = ''; this.stationName = '';
if (selected && selected._type.toUpperCase() === 'StationStand'.toUpperCase()) { if (selected && selected._type.toUpperCase() === 'StationStand'.toUpperCase()) {
this.standName = selected.name; this.standName = selected.name;
let station = this.$store.getters['map/getDeviceByCode'](selected.stationCode); const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
if (station) { if (station) {
this.stationName = station.name; this.stationName = station.name;
} }
@ -139,7 +154,7 @@
this.control = Number(tempDate.parkingTime) === -1 ? '01' : '02'; this.control = Number(tempDate.parkingTime) === -1 ? '01' : '02';
this.time = Number(tempDate.parkingTime) === -1 ? 15 : Number(tempDate.parkingTime); this.time = Number(tempDate.parkingTime) === -1 ? 15 : Number(tempDate.parkingTime);
this.effective = tempDate.parkingValidStatus ? true : false; this.effective = !!tempDate.parkingValidStatus;
this.direction = selected.direction; this.direction = selected.direction;
} }
this.dialogShow = true; this.dialogShow = true;
@ -160,53 +175,53 @@
this.effective = true; this.effective = true;
} }
let operate = { const operate = {
type: MapDeviceType.StationStand.type, type: MapDeviceType.StationStand.type,
operation: OperationEvent.StationStand.setStopTime.choose1.operation, operation: OperationEvent.StationStand.setStopTime.choose1.operation,
val: `${control}` val: `${control}`
} };
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/next', operate).then(({ valid }) => {
if (valid) { if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
} }
}) });
}, },
chooseEffective(effective) { chooseEffective(effective) {
let operate = { const operate = {
type: MapDeviceType.StationStand.type, type: MapDeviceType.StationStand.type,
operation: OperationEvent.StationStand.setStopTime.choose2.operation, operation: OperationEvent.StationStand.setStopTime.choose2.operation,
val: `${effective}` val: `${effective}`
} };
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/next', operate).then(({ valid }) => {
if (valid) { if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
} }
}) });
}, },
inputTime(time) { inputTime(time) {
let operate = { const operate = {
repeat: true, repeat: true,
type: MapDeviceType.StationStand.type, type: MapDeviceType.StationStand.type,
operation: OperationEvent.StationStand.setStopTime.input.operation, operation: OperationEvent.StationStand.setStopTime.input.operation,
val: `${time}` val: `${time}`
} };
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/next', operate).then(({ valid }) => {
if (valid) { if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
} }
}) });
}, },
commit() { commit() {
let operate = { const operate = {
send: true, send: true,
type: MapDeviceType.StationStand.type, type: MapDeviceType.StationStand.type,
operation: OperationEvent.StationStand.setStopTime.menu.operation, operation: OperationEvent.StationStand.setStopTime.menu.operation,
val: [`${this.control}`, this.time, this.effective].join('::'), val: [`${this.control}`, this.time, this.effective].join('::')
// messages: [`: ${this.stationName} - ${this.standName}, ${this.control == '01' ? '' : this.time + ''}, ${this.effective == false ? '' : ''}`] // messages: [`: ${this.stationName} - ${this.standName}, ${this.control == '01' ? '' : this.time + ''}, ${this.effective == false ? '' : ''}`]
} };
this.loading = true; this.loading = true;
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/next', operate).then(({ valid }) => {
@ -216,23 +231,23 @@
// this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); // this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
// this.$refs.confirmControl.doShow(operate); // this.$refs.confirmControl.doShow(operate);
} }
}).catch(error => { }).catch(() => {
this.loading = false; this.loading = false;
this.doClose(); this.doClose();
}) });
}, },
cancel() { cancel() {
let operate = { const operate = {
type: MapDeviceType.StationStand.type, type: MapDeviceType.StationStand.type,
operation: OperationEvent.Command.close.menu.operation, operation: OperationEvent.Command.close.menu.operation
} };
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/next', operate).then(({ valid }) => {
if (valid) { if (valid) {
this.doClose(); this.doClose();
} }
}).catch(error => { this.doClose(); }); }).catch(() => { this.doClose(); });
}
} }
} }
};
</script> </script>

View File

@ -207,15 +207,17 @@ export default {
setStoppage() { setStoppage() {
const operate = { const operate = {
start: true, start: true,
send: true, code: `${this.selected.code}`,
code: this.selected.code, operation: OperationEvent.Signal.stoppage.menu.operation,
type: MapDeviceType.Signal.type, cmdType: CMD.Signal.CMD_SIGNAL_ADD_FAULT,
label: MapDeviceType.Signal.label, param: {
operation: OperationEvent.Signal.stoppage.menu.operation Signal_Code: `${this.selected.code}`
}
}; };
mouseCancelState(this.selected); mouseCancelState(this.selected);
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) { if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
} else { } else {
@ -229,15 +231,16 @@ export default {
cancelStoppage() { cancelStoppage() {
const operate = { const operate = {
start: true, start: true,
send: true,
code: this.selected.code, code: this.selected.code,
type: MapDeviceType.Signal.type, cmdType: CMD.Signal.CMD_SIGNAL_REMOVE_FAULT,
label: MapDeviceType.Signal.label, operation: OperationEvent.Signal.cancelStoppage.menu.operation,
operation: OperationEvent.Signal.cancelStoppage.menu.operation param: {
Signal_Code: `${this.selected.code}`
}
}; };
mouseCancelState(this.selected); mouseCancelState(this.selected);
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) { if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
} else { } else {
@ -251,14 +254,17 @@ export default {
arrangementRoute() { arrangementRoute() {
const operate = { const operate = {
start: true, start: true,
send: true, // send: true,
code: this.selected.code, code: this.selected.code,
type: MapDeviceType.Signal.type, // type: MapDeviceType.Signal.type,
label: MapDeviceType.Signal.label, // label: MapDeviceType.Signal.label,
operation: OperationEvent.Signal.arrangementRoute.menu.operation operation: OperationEvent.Signal.arrangementRoute.menu.operation,
param: {
Signal_Code: `${this.selected.code}`
}
}; };
this.$store.dispatch('training/next', operate).then(({ valid, response }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid, response }) => {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
if (valid) { if (valid) {
var tempData = null; var tempData = null;
@ -276,63 +282,65 @@ export default {
const operate = { const operate = {
start: true, start: true,
code: this.selected.code, code: this.selected.code,
type: MapDeviceType.Signal.type, operation: OperationEvent.Signal.cancelTrainRoute.menu.operation,
label: MapDeviceType.Signal.label, param: {
operation: OperationEvent.Signal.cancelTrainRoute.menu.operation Signal_Code: `${this.selected.code}`
}
}; };
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
if (valid) { if (valid) {
this.$refs.routeControl.doShow(operate, this.selected); this.$refs.routeControl.doShow(operate, this.selected);
} }
}); });
}, },
// // //
lock() { // lock() {
const operate = { // const operate = {
start: true, // start: true,
send: true, // send: true,
code: this.selected.code, // code: this.selected.code,
type: MapDeviceType.Signal.type, // type: MapDeviceType.Signal.type,
label: MapDeviceType.Signal.label, // label: MapDeviceType.Signal.label,
operation: OperationEvent.Signal.lock.menu.operation // operation: OperationEvent.Signal.lock.menu.operation
}; // };
this.$store.dispatch('training/next', operate).then(({ valid }) => { // this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) { // if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); // this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.$refs.routeLock.doShow(operate.operation, this.selected); // this.$refs.routeLock.doShow(operate.operation, this.selected);
} // }
}).catch(() => { // }).catch(() => {
this.$refs.noticeInfo.doShow(operate); // this.$refs.noticeInfo.doShow(operate);
}); // });
}, // },
// // //
unlock() { // unlock() {
const operate = { // const operate = {
start: true, // start: true,
code: this.selected.code, // code: this.selected.code,
type: MapDeviceType.Signal.type, // type: MapDeviceType.Signal.type,
label: MapDeviceType.Signal.label, // label: MapDeviceType.Signal.label,
operation: OperationEvent.Signal.unlock.menu.operation // operation: OperationEvent.Signal.unlock.menu.operation
}; // };
this.$store.dispatch('training/next', operate).then(({ valid }) => { // this.$store.dispatch('training/next', operate).then(({ valid }) => {
if (valid) { // if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); // this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.$refs.routeCmdControl.doShow(operate, this.selected); // this.$refs.routeCmdControl.doShow(operate, this.selected);
} // }
}); // });
}, // },
// //
reopenSignal() { reopenSignal() {
const operate = { const operate = {
start: true, start: true,
code: this.selected.code, code: this.selected.code,
type: MapDeviceType.Signal.type, operation: OperationEvent.Signal.reopenSignal.menu.operation,
label: MapDeviceType.Signal.label, param: {
operation: OperationEvent.Signal.reopenSignal.menu.operation Signal_Code: `${this.selected.code}`
}
}; };
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) { if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.$refs.routeControl.doShow(operate, this.selected); this.$refs.routeControl.doShow(operate, this.selected);
@ -344,11 +352,12 @@ export default {
const operate = { const operate = {
start: true, start: true,
code: this.selected.code, code: this.selected.code,
type: MapDeviceType.Signal.type, operation: OperationEvent.Signal.signalClose.menu.operation,
label: MapDeviceType.Signal.label, param: {
operation: OperationEvent.Signal.signalClose.menu.operation Signal_Code: `${this.selected.code}`
}
}; };
this.$store.dispatch('training/next', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) { if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.$refs.routeControl.doShow(operate, this.selected); this.$refs.routeControl.doShow(operate, this.selected);
@ -359,11 +368,14 @@ export default {
humanControl() { humanControl() {
const operate = { const operate = {
start: true, start: true,
send: true, // send: true,
code: this.selected.code, code: this.selected.code,
type: MapDeviceType.Signal.type, // type: MapDeviceType.Signal.type,
label: MapDeviceType.Signal.label, // label: MapDeviceType.Signal.label,
operation: OperationEvent.Signal.humanControl.menu.operation operation: OperationEvent.Signal.humanControl.menu.operation,
param: {
Signal_Code: `${this.selected.code}`
}
}; };
this.$store.dispatch('training/next', operate).then(({ valid, response }) => { this.$store.dispatch('training/next', operate).then(({ valid, response }) => {
if (valid) { if (valid) {
@ -380,11 +392,14 @@ export default {
atsAutoControl() { atsAutoControl() {
const operate = { const operate = {
start: true, start: true,
send: true, // send: true,
code: this.selected.code, code: this.selected.code,
type: MapDeviceType.Signal.type, // type: MapDeviceType.Signal.type,
label: MapDeviceType.Signal.label, // label: MapDeviceType.Signal.label,
operation: OperationEvent.Signal.atsAutoControl.menu.operation operation: OperationEvent.Signal.atsAutoControl.menu.operation,
param: {
Signal_Code: `${this.selected.code}`
}
}; };
this.$store.dispatch('training/next', operate).then(({ valid, response }) => { this.$store.dispatch('training/next', operate).then(({ valid, response }) => {
if (valid) { if (valid) {
@ -401,11 +416,14 @@ export default {
detail() { detail() {
const operate = { const operate = {
start: true, start: true,
send: true, // send: true,
code: this.selected.code, code: this.selected.code,
type: MapDeviceType.Signal.type, // type: MapDeviceType.Signal.type,
label: MapDeviceType.Signal.label, // label: MapDeviceType.Signal.label,
operation: OperationEvent.Signal.detail.menu.operation operation: OperationEvent.Signal.detail.menu.operation,
param: {
Signal_Code: `${this.selected.code}`
}
}; };
this.$store.dispatch('training/next', operate).then(({ valid, response }) => { this.$store.dispatch('training/next', operate).then(({ valid, response }) => {
if (valid) { if (valid) {