宁波三菜单调整

This commit is contained in:
fan 2020-09-09 14:45:38 +08:00
parent d5c3227909
commit 06ecb8dd1a
4 changed files with 579 additions and 5 deletions

View File

@ -120,6 +120,8 @@
<running-interval ref="runningInterval" />
<adjust-strategy ref="adjustStrategy" />
<train-depart ref="trainDepart" />
<train-jump-stop ref="trainJumpStop" />
<train-cancel-deviation ref="trainCancelDeviation" />
</div>
</template>
<script>
@ -162,6 +164,8 @@ import SystemDetain from './menuDialog/systemDetain';
import RunningInterval from './menuDialog/runningInterval';
import AdjustStrategy from './menuDialog/adjustStrategy';
import TrainDepart from './menuDialog/trainDepart';
import TrainJumpStop from './menuDialog/trainJumpStop';
import TrainCancelDeviation from './menuDialog/trainCancelDeviation';
export default {
name: 'MenuBar',
@ -198,7 +202,9 @@ export default {
SystemDetain,
RunningInterval,
AdjustStrategy,
TrainDepart
TrainDepart,
TrainJumpStop,
TrainCancelDeviation
},
props: {
selected: {
@ -298,11 +304,11 @@ export default {
},
{
title: '跳停',
click: this.undeveloped
click: this.setJumpStop
},
{
title: '设置/取消偏离',
click: this.undeveloped
click: this.cancelDeviation
},
{
title: '更新偏差',
@ -765,11 +771,11 @@ export default {
},
{
title: '跳停',
click: this.undeveloped
click: this.setJumpStop
},
{
title: '设置/取消偏离',
click: this.undeveloped
click: this.cancelDeviation
},
{
title: '更新偏差',
@ -1774,6 +1780,32 @@ export default {
this.$refs.trainDepart.doShow(operate);
}
});
},
setJumpStop() {
const operate = {
type: 'bar',
operation: ''
};
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
if (valid) {
this.closeMenu(true);
this.$store.dispatch('menuOperation/handleBreakFlag', {break: true});
this.$refs.trainJumpStop.doShow(operate);
}
});
},
cancelDeviation() {
const operate = {
type: 'bar',
operation: ''
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.closeMenu(true);
this.$store.dispatch('menuOperation/handleBreakFlag', {break: true});
this.$refs.trainCancelDeviation.doShow(operate);
}
});
}
}
};

View File

@ -0,0 +1,213 @@
<template>
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="900px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
<el-tabs type="border-card">
<el-tab-pane label="列车">
<el-row>
<div>从列车</div>
<el-table :data="trainList" height="150px">
<el-table-column prop="id" label="列车" />
<el-table-column prop="interval" label="班次" />
<el-table-column prop="interval" width="400" label="运行线" />
<el-table-column prop="interval" label="模式" />
<el-table-column prop="interval" label="偏离" />
</el-table>
</el-row>
<el-row>
<el-col :span="14">
<div>到运行线</div>
<el-table :data="trainList" height="150px">
<el-table-column prop="interval" label="运行线" />
</el-table>
</el-col>
<el-col :span="5" style="padding-left: 5px;">
<div>起始站台</div>
<el-table :data="stationStandList" height="150px">
<el-table-column prop="name" label="站台" />
<el-table-column prop="status" label="状态" />
</el-table>
</el-col>
<el-col :span="5" style="padding-left: 5px;">
<div>复位站台</div>
<el-table :data="stationStandList" height="150px">
<el-table-column prop="name" label="站台" />
<el-table-column prop="status" label="状态" />
</el-table>
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane label="运行线">
<el-row>
<el-col :span="8">
<div>从运行线</div>
<el-table :data="trainList" height="300px">
<el-table-column prop="interval" label="运行线" />
</el-table>
</el-col>
<el-col :span="8" style="padding-left: 5px;">
<div>到运行线</div>
<el-table :data="trainList" height="300px">
<el-table-column prop="interval" label="运行线" />
</el-table>
</el-col>
<el-col :span="4" style="padding-left: 5px;">
<div>起始站台</div>
<el-table :data="stationStandList" height="300px">
<el-table-column prop="name" label="站台" />
<el-table-column prop="status" label="状态" />
</el-table>
</el-col>
<el-col :span="4" style="padding-left: 5px;">
<div>复位站台</div>
<el-table :data="stationStandList" height="300px">
<el-table-column prop="name" label="站台" />
<el-table-column prop="status" label="状态" />
</el-table>
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane label="清除">
<div>清除偏离</div>
<el-table :data="trainList" height="300px">
<el-table-column prop="code" label="偏离目标" />
<el-table-column prop="status" label="运行线" />
<el-table-column prop="status" label="起始站台" />
<el-table-column prop="status" label="复位站台" />
</el-table>
</el-tab-pane>
</el-tabs>
<el-row justify="center" class="button-group">
<el-col :span="4" :offset="1">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定(O)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button>应用(A)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button :id="domIdCancel" @click="cancel">关闭(C)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button>帮助(H)</el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
// import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
import { mapGetters } from 'vuex';
export default {
name: 'TrainJumpStop',
components: {
NoticeInfo
},
data() {
return {
status: false,
command: true,
allChecked: false,
dialogShow: false,
loading: false,
selected: null,
activeName: 'first',
operate: {},
allCheck: false
};
},
computed: {
...mapGetters('map', [
'trainList',
'stationStandList'
]),
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdChoose() {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.choose.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.menu.domId : '';
},
title() {
return '设置/清除站台跳停';
}
},
watch: {
'$store.state.map.keyboardEnterCount': function (val) {
if (this.show) {
this.commit();
}
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
this.selected = selected;
this.operate = operate;
//
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
},
handleClick() {
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.menu-li {
height: 30px;
line-height: 30px;
text-align: left;
list-style:none;
padding-left: 5px;
border-right: 2px solid #696969;
color: #000;
}
.set-status-box {
position: relative;
top: 80px;
border: 1px solid #AFAFAF;
padding: 10px 5px;
}
.set-status-title{
position: relative;
top: 95px;
background: #F0F0F0;
width: 40px;
text-align: center;
z-index: 22;
left: 10px;
}
</style>

View File

@ -0,0 +1,174 @@
<template>
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="600px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
<el-row>
<el-col :span="20">
<el-tabs type="border-card">
<el-tab-pane label="运行线">
<el-table :data="trainList" height="300px">
<el-table-column prop="interval" label="运行线" />
</el-table>
</el-tab-pane>
<el-tab-pane label="列车">
<el-row>
<el-col :span="14">
<el-table :data="trainList" height="300px">
<el-table-column prop="code" label="列车" />
<el-table-column prop="interval" label="运行线" />
</el-table>
</el-col>
<el-col :span="10" style="padding-left: 5px;">
<el-table :data="stationStandList" height="260px">
<el-table-column prop="name" label="站台" />
<el-table-column prop="jump" label="跳停" />
</el-table>
<el-checkbox v-model="allCheck" style="margin-top: 10px;">所有站台</el-checkbox>
</el-col>
</el-row>
</el-tab-pane>
</el-tabs>
</el-col>
<el-col :span="4" style="padding-left: 5px;">
<div class="set-status-title">跳停</div>
<div class="set-status-box">
<el-radio v-model="command" :disabled="true" :label="true">设置(S)</el-radio>
<br>
<el-radio v-model="command" :label="false">清除(R)</el-radio>
</div>
</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">确定(O)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button>应用(A)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button :id="domIdCancel" @click="cancel">关闭(C)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button>帮助(H)</el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
// import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
import { mapGetters } from 'vuex';
export default {
name: 'TrainJumpStop',
components: {
NoticeInfo
},
data() {
return {
status: false,
command: true,
allChecked: false,
dialogShow: false,
loading: false,
selected: null,
activeName: 'first',
operate: {},
allCheck: false
};
},
computed: {
...mapGetters('map', [
'trainList',
'stationStandList'
]),
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdChoose() {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.choose.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.menu.domId : '';
},
title() {
return '设置/清除站台跳停';
}
},
watch: {
'$store.state.map.keyboardEnterCount': function (val) {
if (this.show) {
this.commit();
}
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
this.selected = selected;
this.operate = operate;
//
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
},
handleClick() {
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.menu-li {
height: 30px;
line-height: 30px;
text-align: left;
list-style:none;
padding-left: 5px;
border-right: 2px solid #696969;
color: #000;
}
.set-status-box {
position: relative;
top: 80px;
border: 1px solid #AFAFAF;
padding: 10px 5px;
}
.set-status-title{
position: relative;
top: 95px;
background: #F0F0F0;
width: 40px;
text-align: center;
z-index: 22;
left: 10px;
}
</style>

View File

@ -0,0 +1,155 @@
<template>
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="600px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
<el-row>
<el-col :span="16">
<el-table :data="trainList" height="300px">
<el-table-column prop="code" label="列车" />
<el-table-column prop="trip" label="班次" />
<el-table-column prop="deviation" label="偏差" />
</el-table>
</el-col>
<el-col :span="4" style="padding-left: 5px;">
<div class="set-status-title">跳停</div>
<div class="set-status-box">
<el-radio v-model="command" :disabled="true" :label="true">设置(S)</el-radio>
<br>
<el-radio v-model="command" :label="false">清除(R)</el-radio>
</div>
</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">确定(O)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button>应用(A)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button :id="domIdCancel" @click="cancel">关闭(C)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button>帮助(H)</el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
// import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
import { mapGetters } from 'vuex';
export default {
name: 'TrainUpdateDeviation',
components: {
NoticeInfo
},
data() {
return {
status: false,
command: true,
allChecked: false,
dialogShow: false,
loading: false,
selected: null,
activeName: 'first',
operate: {},
allCheck: false
};
},
computed: {
...mapGetters('map', [
'trainList',
'stationStandList'
]),
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdChoose() {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.choose.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.menu.domId : '';
},
title() {
return '设置/清除站台跳停';
}
},
watch: {
'$store.state.map.keyboardEnterCount': function (val) {
if (this.show) {
this.commit();
}
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
this.selected = selected;
this.operate = operate;
//
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
},
handleClick() {
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.menu-li {
height: 30px;
line-height: 30px;
text-align: left;
list-style:none;
padding-left: 5px;
border-right: 2px solid #696969;
color: #000;
}
.set-status-box {
position: relative;
top: 80px;
border: 1px solid #AFAFAF;
padding: 10px 5px;
}
.set-status-title{
position: relative;
top: 95px;
background: #F0F0F0;
width: 40px;
text-align: center;
z-index: 22;
left: 10px;
}
</style>