Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/jl-client into test
This commit is contained in:
commit
06699507e4
@ -94,6 +94,8 @@
|
|||||||
<interval-stop-number ref="intervalStopNumber" />
|
<interval-stop-number ref="intervalStopNumber" />
|
||||||
<allocate-time ref="allocateTime" />
|
<allocate-time ref="allocateTime" />
|
||||||
<station-control ref="stationControl" />
|
<station-control ref="stationControl" />
|
||||||
|
<stand-detail ref="standDetail" />
|
||||||
|
<switch-command ref="switchCommand" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@ -107,9 +109,11 @@ import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
|||||||
import TrainDistribution from './menuDialog/trainDistribution';
|
import TrainDistribution from './menuDialog/trainDistribution';
|
||||||
import StandControl from './menuDialog/standControl';
|
import StandControl from './menuDialog/standControl';
|
||||||
import StandDetain from './menuDialog/standDetain';
|
import StandDetain from './menuDialog/standDetain';
|
||||||
|
import StandDetail from './menuDialog/standDetail';
|
||||||
import IntervalStopNumber from './menuDialog/intervalStopNumber';
|
import IntervalStopNumber from './menuDialog/intervalStopNumber';
|
||||||
import AllocateTime from './menuDialog/allocateTime';
|
import AllocateTime from './menuDialog/allocateTime';
|
||||||
import StationControl from './menuDialog/stationControl';
|
import StationControl from './menuDialog/stationControl';
|
||||||
|
import SwitchCommand from './menuDialog/switchCommand';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MenuBar',
|
name: 'MenuBar',
|
||||||
@ -121,7 +125,9 @@ export default {
|
|||||||
StandDetain,
|
StandDetain,
|
||||||
IntervalStopNumber,
|
IntervalStopNumber,
|
||||||
AllocateTime,
|
AllocateTime,
|
||||||
StationControl
|
StationControl,
|
||||||
|
StandDetail,
|
||||||
|
SwitchCommand
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
selected: {
|
selected: {
|
||||||
@ -282,7 +288,7 @@ export default {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '显示',
|
title: '显示',
|
||||||
click: this.undeveloped
|
click: this.showStandDetail
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -292,7 +298,7 @@ export default {
|
|||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title: '命令',
|
title: '命令',
|
||||||
click: this.undeveloped
|
click: this.setSwitchCommand
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '封锁',
|
title: '封锁',
|
||||||
@ -696,7 +702,7 @@ export default {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '显示',
|
title: '显示',
|
||||||
click: this.undeveloped
|
click: this.showStandDetail
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -706,7 +712,7 @@ export default {
|
|||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
title: '命令',
|
title: '命令',
|
||||||
click: this.undeveloped
|
click: this.setSwitchCommand
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '封锁',
|
title: '封锁',
|
||||||
@ -1121,32 +1127,121 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
handleArrangeRoute() {
|
handleArrangeRoute() {
|
||||||
this.closeMenu(true);
|
const operate = {
|
||||||
this.$refs.arrangeRoute.doShow();
|
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.arrangeRoute.doShow();
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
handleTrainDistribution() {
|
handleTrainDistribution() {
|
||||||
this.closeMenu(true);
|
const operate = {
|
||||||
this.$refs.trainDistribution.doShow();
|
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.trainDistribution.doShow();
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
standOpenOrClose() {
|
standOpenOrClose() {
|
||||||
this.closeMenu(true);
|
const operate = {
|
||||||
this.$refs.standControl.doShow();
|
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.standControl.doShow();
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
setStandDetain() {
|
setStandDetain() {
|
||||||
this.closeMenu(true);
|
const operate = {
|
||||||
this.$refs.standDetain.doShow();
|
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.standDetain.doShow();
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
setIntervalStopNumber() {
|
setIntervalStopNumber() {
|
||||||
this.closeMenu(true);
|
const operate = {
|
||||||
this.$refs.intervalStopNumber.doShow();
|
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.intervalStopNumber.doShow();
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
setAllocateTime() {
|
setAllocateTime() {
|
||||||
this.closeMenu(true);
|
const operate = {
|
||||||
this.$refs.allocateTime.doShow();
|
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.allocateTime.doShow();
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
authorizeTransfer() {
|
authorizeTransfer() {
|
||||||
this.closeMenu(true);
|
const operate = {
|
||||||
this.$refs.stationControl.doShow();
|
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.stationControl.doShow();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
showStandDetail() {
|
||||||
|
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.standDetail.doShow();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
setSwitchCommand() {
|
||||||
|
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.switchCommand.doShow();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -1237,7 +1332,7 @@ export default {
|
|||||||
padding-left: 0 !important;
|
padding-left: 0 !important;
|
||||||
background: #F0F0F0;
|
background: #F0F0F0;
|
||||||
line-height: $menuItemHeight;
|
line-height: $menuItemHeight;
|
||||||
width: $menuItemWidth;
|
width: $menuItemWidth + 20;
|
||||||
}
|
}
|
||||||
|
|
||||||
.active {
|
.active {
|
||||||
|
143
src/jmapNew/theme/ningbo_03/menus/menuDialog/standDetail.vue
Normal file
143
src/jmapNew/theme/ningbo_03/menus/menuDialog/standDetail.vue
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
<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 style="width: 100%;overflow-x: auto;">
|
||||||
|
<el-table :data="stationStandList" border height="350px">
|
||||||
|
<el-table-column prop="name" width="80" label="站台" />
|
||||||
|
<el-table-column prop="status" width="80" label="状态" />
|
||||||
|
<el-table-column prop="minTime" width="130" label="最小停站时间" />
|
||||||
|
<el-table-column prop="time" width="130" label="规定停站时间" />
|
||||||
|
<el-table-column prop="maxTime" width="130" label="最大停站时间" />
|
||||||
|
<el-table-column prop="hold" width="80" label="扣车" />
|
||||||
|
<el-table-column prop="section" width="80" label="轨道" />
|
||||||
|
<el-table-column prop="parkTime" width="130" label="当前停站时间" />
|
||||||
|
<el-table-column prop="emergencyButton" width="80" label="紧急按钮" />
|
||||||
|
<el-table-column prop="setting" width="80" label="门设置" />
|
||||||
|
<el-table-column prop="bypass" width="80" label="门旁路" />
|
||||||
|
</el-table>
|
||||||
|
</el-row>
|
||||||
|
<el-row justify="center" class="button-group">
|
||||||
|
<el-col :span="6" :offset="2">
|
||||||
|
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">打印(P)</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6" :offset="2">
|
||||||
|
<el-button :id="domIdCancel" @click="cancel">关闭(C)</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6" :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: 'StandDetain',
|
||||||
|
components: {
|
||||||
|
NoticeInfo
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
status: false,
|
||||||
|
standStatus: true,
|
||||||
|
allChecked: false,
|
||||||
|
dialogShow: false,
|
||||||
|
loading: false,
|
||||||
|
selected: null
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters('map', [
|
||||||
|
'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.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: 200px;
|
||||||
|
border: 1px solid #AFAFAF;
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
|
.set-status-title{
|
||||||
|
position: relative;
|
||||||
|
top: -15px;
|
||||||
|
background: #F0F0F0;
|
||||||
|
width: 60px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
</style>
|
@ -19,8 +19,8 @@
|
|||||||
</el-table>
|
</el-table>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<div style="position: relative;top: 110px;left: 20px;color: #000;width: 60px;text-align: center;background: #F0F0F0;">接收转移</div>
|
<div class="radio-box-title">接收转移</div>
|
||||||
<div style="position: relative; top: 100px;border: 1px solid #BBBBBB; text-align: center;width: 100px;left: 18px;padding: 10px;">
|
<div class="radio-box">
|
||||||
<el-radio v-model="accept" :label="true" style="display: block;margin-bottom: 10px;">是</el-radio>
|
<el-radio v-model="accept" :label="true" style="display: block;margin-bottom: 10px;">是</el-radio>
|
||||||
<el-radio v-model="accept" :label="false" style="display: block;">否</el-radio>
|
<el-radio v-model="accept" :label="false" style="display: block;">否</el-radio>
|
||||||
</div>
|
</div>
|
||||||
@ -59,6 +59,7 @@ export default {
|
|||||||
tableData: [],
|
tableData: [],
|
||||||
accept: false,
|
accept: false,
|
||||||
operate: null,
|
operate: null,
|
||||||
|
loading: false,
|
||||||
dialogShow: false,
|
dialogShow: false,
|
||||||
disabledClose: false,
|
disabledClose: false,
|
||||||
disabledCommit: false,
|
disabledCommit: false,
|
||||||
@ -106,6 +107,9 @@ export default {
|
|||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
domIdConfirm() {
|
||||||
|
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.menu.domId : '';
|
||||||
|
},
|
||||||
domIdCancel() {
|
domIdCancel() {
|
||||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||||
},
|
},
|
||||||
@ -229,12 +233,30 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
<style scoped rel="stylesheet/scss" lang="scss" scoped>
|
<style scoped rel="stylesheet/scss" lang="scss" scoped>
|
||||||
@import "src/styles/mixin.scss";
|
@import "src/styles/mixin.scss";
|
||||||
|
.radio-box {
|
||||||
|
position: relative;
|
||||||
|
top: 100px;
|
||||||
|
border: 1px solid #BBBBBB;
|
||||||
|
text-align: center;
|
||||||
|
width: 100px;
|
||||||
|
left: 18px;
|
||||||
|
padding: 15px;
|
||||||
|
}
|
||||||
|
.radio-box-title {
|
||||||
|
position: relative;
|
||||||
|
top: 115px;
|
||||||
|
left: 20px;
|
||||||
|
color: #000;
|
||||||
|
width: 60px;
|
||||||
|
text-align: center;
|
||||||
|
background: #F0F0F0;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
/deep/ {
|
/deep/ {
|
||||||
.el-radio {
|
.el-radio {
|
||||||
color: #000;
|
color: #000;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
.el-cascader-node>.el-radio, .el-radio:last-child{
|
.el-cascader-node>.el-radio, .el-radio:last-child{
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
}
|
}
|
||||||
|
176
src/jmapNew/theme/ningbo_03/menus/menuDialog/switchCommand.vue
Normal file
176
src/jmapNew/theme/ningbo_03/menus/menuDialog/switchCommand.vue
Normal file
@ -0,0 +1,176 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="650px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="18">
|
||||||
|
<el-table :data="stationStandList" height="350px">
|
||||||
|
<el-table-column prop="name" label="道岔" />
|
||||||
|
<el-table-column prop="mode" label="模式" />
|
||||||
|
<el-table-column prop="position" label="位置" />
|
||||||
|
<el-table-column prop="reserved" label="预留" />
|
||||||
|
<el-table-column prop="status" label="状态" />
|
||||||
|
</el-table>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<div class="radio-box-title">设置模式</div>
|
||||||
|
<div class="radio-box">
|
||||||
|
<el-radio v-model="mode" label="auto" style="display: block;margin-bottom: 10px;">自动</el-radio>
|
||||||
|
<el-radio v-model="mode" label="artificial" style="display: block;">人工</el-radio>
|
||||||
|
</div>
|
||||||
|
<div class="radio-box-title">设置位置</div>
|
||||||
|
<div class="radio-box">
|
||||||
|
<el-radio v-model="position" label="normal" style="display: block;margin-bottom: 10px;">定位</el-radio>
|
||||||
|
<el-radio v-model="position" label="reverse" style="display: block;">反位</el-radio>
|
||||||
|
</div>
|
||||||
|
<div class="radio-box-title">设置预留</div>
|
||||||
|
<div class="radio-box">
|
||||||
|
<el-radio v-model="position" label="normal" style="display: block;margin-bottom: 10px;">自动与预留</el-radio>
|
||||||
|
<el-radio v-model="position" label="reverse" style="display: block;margin-bottom: 10px;">预留</el-radio>
|
||||||
|
<el-radio v-model="position" label="reverse" style="display: block;">释放</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 :id="domIdConfirm" type="primary" :loading="loading" @click="commit">应用(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: 'StandDetain',
|
||||||
|
components: {
|
||||||
|
NoticeInfo
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
status: false,
|
||||||
|
standStatus: true,
|
||||||
|
allChecked: false,
|
||||||
|
dialogShow: false,
|
||||||
|
loading: false,
|
||||||
|
selected: null,
|
||||||
|
mode: '',
|
||||||
|
position: '',
|
||||||
|
reserved: ''
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters('map', [
|
||||||
|
'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.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;
|
||||||
|
}
|
||||||
|
.radio-box {
|
||||||
|
position: relative;
|
||||||
|
border: 1px solid #BBBBBB;
|
||||||
|
width: 130px;
|
||||||
|
left: 18px;
|
||||||
|
padding: 15px;
|
||||||
|
}
|
||||||
|
.radio-box-title {
|
||||||
|
position: relative;
|
||||||
|
left: 28px;
|
||||||
|
top: 15px;
|
||||||
|
text-align: center;
|
||||||
|
color: #000;
|
||||||
|
width: 60px;
|
||||||
|
background: #F0F0F0;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
/deep/ {
|
||||||
|
.el-radio {
|
||||||
|
color: #000;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.el-cascader-node>.el-radio, .el-radio:last-child{
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -11,7 +11,7 @@
|
|||||||
<img class="logo" :src="logoImg" :style="{width: logoWidth}">
|
<img class="logo" :src="logoImg" :style="{width: logoWidth}">
|
||||||
<span>{{ loginTitle==='空串'?'':loginTitle }}</span>
|
<span>{{ loginTitle==='空串'?'':loginTitle }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="project === 'drts' && !gameOver" style="position: absolute; top: 10px;font-size: 40px;">
|
<div v-if="project === 'drts' && !gameOver" style="position: absolute; top: 10%;font-size: 50px;color:#F00;">
|
||||||
<div style="display: inline-block;">距离全国调度大赛还剩</div>
|
<div style="display: inline-block;">距离全国调度大赛还剩</div>
|
||||||
<div class="countdown_box">{{ days[0] }}</div>
|
<div class="countdown_box">{{ days[0] }}</div>
|
||||||
<div class="countdown_box">{{ days[1] }}</div>
|
<div class="countdown_box">{{ days[1] }}</div>
|
||||||
@ -26,7 +26,7 @@
|
|||||||
<div class="countdown_box">{{ seconds[0] }}</div>
|
<div class="countdown_box">{{ seconds[0] }}</div>
|
||||||
<div class="countdown_box">{{ seconds[1] }}</div>
|
<div class="countdown_box">{{ seconds[1] }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="project === 'drts' && gameOver" style="position: absolute; top: 10px;font-size: 40px;">
|
<div v-else-if="project === 'drts' && gameOver" style="position: absolute; top: 100px;font-size: 50px;color:#F00;">
|
||||||
<div style="display: inline-block;">全国调度大赛已结束</div>
|
<div style="display: inline-block;">全国调度大赛已结束</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="!syncLogin" class="language_box">
|
<div v-if="!syncLogin" class="language_box">
|
||||||
@ -65,7 +65,7 @@
|
|||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-form ref="loginForm" class="login-form" :model="loginForm" :rules="loginRules" label-position="left">
|
<el-form ref="loginForm" v-loading="loading" class="login-form" :model="loginForm" :rules="loginRules" label-position="left">
|
||||||
<div v-if="!isProject&&!project.endsWith('heb')" class="title_box">{{ $t('login.welcomeTo') + title }}</div>
|
<div v-if="!isProject&&!project.endsWith('heb')" class="title_box">{{ $t('login.welcomeTo') + title }}</div>
|
||||||
<el-form-item prop="username" class="item_form_box">
|
<el-form-item prop="username" class="item_form_box">
|
||||||
<span class="svg-container svg-container_login">
|
<span class="svg-container svg-container_login">
|
||||||
@ -111,7 +111,7 @@
|
|||||||
</el-popover>
|
</el-popover>
|
||||||
</div>
|
</div>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" style="width:100%;" :loading="loading" @click.native.prevent="handleLogin">
|
<el-button type="primary" style="width:100%;" @click.native.prevent="handleLogin">
|
||||||
{{ $t('login.login') }}
|
{{ $t('login.login') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -119,11 +119,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<float-part v-if="isProject && !versionBaseNoShow.includes(project)" />
|
<float-part v-if="isProject && !versionBaseNoShow.includes(project)" />
|
||||||
<div v-if="!mainBodyNoShow.includes(project)" style="position: absolute; bottom: 10px;right: 20px; font-size: 14px;"><span>主体:北京玖琏科技有限公司 备案号:京ICP备18028522号</span></div>
|
<div v-if="!mainBodyNoShow.includes(project)" style="position: absolute; bottom: 10px;right: 20px; font-size: 14px;"><span>主体:北京玖琏科技有限公司 备案号:京ICP备18028522号</span></div>
|
||||||
<div v-if="project === 'drts'" style="position: absolute; bottom: 30px;right: 20px; font-size: 14px;font-weight: bold;">
|
<div v-if="project === 'drts'" style="position: absolute; bottom: 30px;text-align: center; font-size: 32px;">
|
||||||
<div>服务须知:</div>
|
<div style="text-align: left;">
|
||||||
<div style="text-indent: 2em;">定制线路数据需三天时间</div>
|
<span>定制新线路需三周时间!</span><br>
|
||||||
<div>服务宗旨:</div>
|
<span>满足客户的一切技术需要!</span><br>
|
||||||
<div style="text-indent: 2em;">满足客户的一切技术需要</div>
|
<span>联系电话: 13289398171</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -472,7 +474,7 @@ export default {
|
|||||||
},
|
},
|
||||||
handleLoginSucessRoute() {
|
handleLoginSucessRoute() {
|
||||||
// 设置路由
|
// 设置路由
|
||||||
this.loading = false;
|
this.loading = this.project === 'drts' || false;
|
||||||
this.tipsMsg = '';
|
this.tipsMsg = '';
|
||||||
removeSessionStorage('againEnter');
|
removeSessionStorage('againEnter');
|
||||||
if (this.$route.query.raceId) {
|
if (this.$route.query.raceId) {
|
||||||
@ -566,6 +568,7 @@ export default {
|
|||||||
try:'0',
|
try:'0',
|
||||||
project:this.project
|
project:this.project
|
||||||
}});
|
}});
|
||||||
|
this.loading = false;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
} else if (!this.$route.path.includes('jsxt/login') && !this.$route.path.includes('refereeJsxt/login')) {
|
} else if (!this.$route.path.includes('jsxt/login') && !this.$route.path.includes('refereeJsxt/login')) {
|
||||||
@ -665,7 +668,7 @@ export default {
|
|||||||
width: 35px;
|
width: 35px;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
background: #000;
|
background: #000;
|
||||||
color: #FFF;
|
color: #F00;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
<!-- 排班计划 -->
|
<!-- 排班计划 -->
|
||||||
<el-button v-if="scheduleLoadShow" type="primary" size="small" @click="jumpScheduling">派班计划加载</el-button>
|
<el-button v-if="scheduleLoadShow" type="primary" size="small" @click="jumpScheduling">派班计划加载</el-button>
|
||||||
<el-button v-if="schedulePreviewShow" type="primary" size="small" @click="schedulingView">派班计划预览</el-button>
|
<el-button v-if="schedulePreviewShow" type="primary" size="small" @click="schedulingView">派班计划预览</el-button>
|
||||||
|
<el-button v-if="isContest" size="small" type="primary" @click="viewChangeMap">切换地图</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
<Jl3d-Device
|
<Jl3d-Device
|
||||||
@ -30,12 +31,14 @@
|
|||||||
<Jl3d-Drive v-show="drivingShow" ref="Jl3dDrive" :panel-show="drivingShow" @showdriving="showdriving" />
|
<Jl3d-Drive v-show="drivingShow" ref="Jl3dDrive" :panel-show="drivingShow" @showdriving="showdriving" />
|
||||||
<scheduling v-if="scheduleLoadShow" ref="scheduling" :group="group" />
|
<scheduling v-if="scheduleLoadShow" ref="scheduling" :group="group" />
|
||||||
<scheduling-view v-if="schedulePreviewShow" ref="schedulingView" :group="group" />
|
<scheduling-view v-if="schedulePreviewShow" ref="schedulingView" :group="group" />
|
||||||
|
<change-map v-if="isContest" ref="changeMap" @changeMap="changeMap" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import Jl3dDevice from '@/views/jlmap3d/device/jl3ddevice';
|
import Jl3dDevice from '@/views/jlmap3d/device/jl3ddevice';
|
||||||
import Jl3dDrive from '@/views/jlmap3d/drive/jl3ddrive';
|
import Jl3dDrive from '@/views/jlmap3d/drive/jl3ddrive';
|
||||||
import { getToken } from '@/utils/auth';
|
import { getToken } from '@/utils/auth';
|
||||||
|
import ChangeMap from './changeMap';
|
||||||
import { getSessionStorage } from '@/utils/auth';
|
import { getSessionStorage } from '@/utils/auth';
|
||||||
import Scheduling from '@/views/newMap/displayNew/demon/scheduling';
|
import Scheduling from '@/views/newMap/displayNew/demon/scheduling';
|
||||||
import SchedulingView from '@/views/newMap/displayNew/demon/schedulingView';
|
import SchedulingView from '@/views/newMap/displayNew/demon/schedulingView';
|
||||||
@ -45,7 +48,8 @@ export default {
|
|||||||
Jl3dDevice,
|
Jl3dDevice,
|
||||||
Jl3dDrive,
|
Jl3dDrive,
|
||||||
Scheduling,
|
Scheduling,
|
||||||
SchedulingView
|
SchedulingView,
|
||||||
|
ChangeMap
|
||||||
},
|
},
|
||||||
props:{
|
props:{
|
||||||
isAllShow:{
|
isAllShow:{
|
||||||
@ -106,6 +110,9 @@ export default {
|
|||||||
},
|
},
|
||||||
project() {
|
project() {
|
||||||
return getSessionStorage('project');
|
return getSessionStorage('project');
|
||||||
|
},
|
||||||
|
isContest() {
|
||||||
|
return this.$route.params.mode === 'demon' && this.project == 'drts';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@ -188,6 +195,12 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.$refs.schedulingView && this.$refs.schedulingView.doClose();
|
this.$refs.schedulingView && this.$refs.schedulingView.doClose();
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
viewChangeMap() {
|
||||||
|
this.$refs.changeMap.doShow();
|
||||||
|
},
|
||||||
|
changeMap(query) {
|
||||||
|
this.$emit('changeMap', query);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
:jlmap3d-fault-show="false"
|
:jlmap3d-fault-show="false"
|
||||||
:driver-show="isDrive"
|
:driver-show="isDrive"
|
||||||
:all-style="'top:'+(offset+textStatusHeight)+'px'"
|
:all-style="'top:'+(offset+textStatusHeight)+'px'"
|
||||||
|
@changeMap="changeMap"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<div class="display-draft" :class="{'haerbin_btn_box': $route.query.lineCode == '07'}" :style="{bottom: offsetBottom + 'px'}">
|
<div class="display-draft" :class="{'haerbin_btn_box': $route.query.lineCode == '07'}" :style="{bottom: offsetBottom + 'px'}">
|
||||||
@ -38,7 +39,6 @@
|
|||||||
:data-error="dataError"
|
:data-error="dataError"
|
||||||
:offset-bottom="offsetBottom"
|
:offset-bottom="offsetBottom"
|
||||||
@selectQuest="selectQuest"
|
@selectQuest="selectQuest"
|
||||||
@changeMap="changeMap"
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- :station-list="stationListMode"
|
<!-- :station-list="stationListMode"
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
<template v-if="!dataError">
|
<template v-if="!dataError">
|
||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button v-if="isScheduling && isDepot" size="small" type="primary" @click="runPlanEditShow">运行图编辑</el-button>
|
<el-button v-if="isScheduling && isDepot" size="small" type="primary" @click="runPlanEditShow">运行图编辑</el-button>
|
||||||
<el-button v-if="isContest" size="small" :disabled="viewDisabled" type="primary" @click="viewChangeMap">切换地图</el-button>
|
|
||||||
<!-- 加载剧本 -->
|
<!-- 加载剧本 -->
|
||||||
<el-button v-if="isDemon && !isScheduling" size="small" :disabled="viewDisabled" type="success" @click="viewRunQuest">{{ $t('display.schema.loadScript') }}</el-button>
|
<el-button v-if="isDemon && !isScheduling" size="small" :disabled="viewDisabled" type="success" @click="viewRunQuest">{{ $t('display.schema.loadScript') }}</el-button>
|
||||||
<!-- 运行图加载 -->
|
<!-- 运行图加载 -->
|
||||||
@ -23,7 +22,6 @@
|
|||||||
<!-- 加载剧本列表弹窗 -->
|
<!-- 加载剧本列表弹窗 -->
|
||||||
<add-quest ref="addQuest" @selectQuest="selectQuest" />
|
<add-quest ref="addQuest" @selectQuest="selectQuest" />
|
||||||
<run-plan-edit v-if="isScheduling && isDepot" ref="runPlanEdit" />
|
<run-plan-edit v-if="isScheduling && isDepot" ref="runPlanEdit" />
|
||||||
<change-map v-if="isContest" ref="changeMap" @changeMap="changeMap" />
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@ -32,7 +30,6 @@ import RunPlanLoad from './demon/runPlanLoad';
|
|||||||
import RunPlanView from './demon/runPlanView';
|
import RunPlanView from './demon/runPlanView';
|
||||||
import FaultChoose from './demon/faultChoose';
|
import FaultChoose from './demon/faultChoose';
|
||||||
import AddQuest from './demon/addQuest';
|
import AddQuest from './demon/addQuest';
|
||||||
import ChangeMap from './changeMap';
|
|
||||||
import { OperateMode } from '@/scripts/ConstDic';
|
import { OperateMode } from '@/scripts/ConstDic';
|
||||||
import { getByGroupStationList } from '@/api/jmap/map';
|
import { getByGroupStationList } from '@/api/jmap/map';
|
||||||
import RunPlanEdit from './demon/runPlanEdit';
|
import RunPlanEdit from './demon/runPlanEdit';
|
||||||
@ -48,8 +45,7 @@ export default {
|
|||||||
FaultChoose,
|
FaultChoose,
|
||||||
AddQuest,
|
AddQuest,
|
||||||
RunPlanEdit,
|
RunPlanEdit,
|
||||||
SelectStation,
|
SelectStation
|
||||||
ChangeMap
|
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
offset: {
|
offset: {
|
||||||
@ -87,9 +83,6 @@ export default {
|
|||||||
project() {
|
project() {
|
||||||
return getSessionStorage('project');
|
return getSessionStorage('project');
|
||||||
},
|
},
|
||||||
isContest() {
|
|
||||||
return this.$route.params.mode === 'demon' && this.project == 'drts';
|
|
||||||
},
|
|
||||||
isDemon() {
|
isDemon() {
|
||||||
return this.$route.params.mode === 'demon';
|
return this.$route.params.mode === 'demon';
|
||||||
},
|
},
|
||||||
@ -177,9 +170,6 @@ export default {
|
|||||||
// }
|
// }
|
||||||
// this.$store.dispatch('training/changeOperateMode', { mode: mode });
|
// this.$store.dispatch('training/changeOperateMode', { mode: mode });
|
||||||
// },
|
// },
|
||||||
viewChangeMap() {
|
|
||||||
this.$refs.changeMap.doShow();
|
|
||||||
},
|
|
||||||
setFault() {
|
setFault() {
|
||||||
this.$refs.faultChoose.doShow();
|
this.$refs.faultChoose.doShow();
|
||||||
},
|
},
|
||||||
@ -195,9 +185,6 @@ export default {
|
|||||||
selectQuest(row, id, mapLocation, roleName) {
|
selectQuest(row, id, mapLocation, roleName) {
|
||||||
this.$emit('selectQuest', {row, id, mapLocation, roleName});
|
this.$emit('selectQuest', {row, id, mapLocation, roleName});
|
||||||
},
|
},
|
||||||
changeMap(query) {
|
|
||||||
this.$emit('changeMap', query);
|
|
||||||
},
|
|
||||||
switchModeInner(swch) {
|
switchModeInner(swch) {
|
||||||
let showMode = '03';
|
let showMode = '03';
|
||||||
if (swch == '01') {
|
if (swch == '01') {
|
||||||
|
@ -21,13 +21,15 @@ export const operateEnum = {
|
|||||||
code:'routeCodeList',
|
code:'routeCodeList',
|
||||||
isDevice:true,
|
isDevice:true,
|
||||||
isList:true,
|
isList:true,
|
||||||
name:'进路列表'
|
name:'进路列表',
|
||||||
|
function:getRouteNameById
|
||||||
},
|
},
|
||||||
Signal_Close_Auto_Setting:{
|
Signal_Close_Auto_Setting:{
|
||||||
code:'routeCodeList',
|
code:'routeCodeList',
|
||||||
isDevice:true,
|
isDevice:true,
|
||||||
isList:true,
|
isList:true,
|
||||||
name:'进路列表'
|
name:'进路列表',
|
||||||
|
function:getRouteNameById
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
Switch:{
|
Switch:{
|
||||||
@ -54,6 +56,15 @@ export const operateEnum = {
|
|||||||
name:'限速值为'
|
name:'限速值为'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
ControlConvertMenu:{
|
||||||
|
CM_Apply_For_Station_Control:{
|
||||||
|
code:'stationCodes',
|
||||||
|
isList:true,
|
||||||
|
isDevice:true,
|
||||||
|
name:'车站列表',
|
||||||
|
function:getStationNameById
|
||||||
|
}
|
||||||
|
},
|
||||||
Stand:{
|
Stand:{
|
||||||
code:'standCode',
|
code:'standCode',
|
||||||
type:'站台',
|
type:'站台',
|
||||||
@ -116,11 +127,17 @@ export function covertOperate(operationType, operationParamMap) {
|
|||||||
if (operationType == 'Set_Fault' || operationType == 'Cancel_Fault') {
|
if (operationType == 'Set_Fault' || operationType == 'Cancel_Fault') {
|
||||||
// covertOperation(operationType);
|
// covertOperation(operationType);
|
||||||
} else {
|
} else {
|
||||||
const device = operationType.split('_')[0];
|
let device = operationType.split('_')[0];
|
||||||
|
if (device == 'CM') {
|
||||||
|
device = 'ControlConvertMenu';
|
||||||
|
}
|
||||||
const operateName = Object.values(CMD[device]).find(res=>{ return res.value == operationType; });
|
const operateName = Object.values(CMD[device]).find(res=>{ return res.value == operationType; });
|
||||||
const deviceInfo = covertOperation(device, operationParamMap, operationType);
|
const deviceInfo = covertOperation(device, operationParamMap, operationType);
|
||||||
let tip = '请找到' + deviceInfo.deviceName + ',';
|
let tip = '请';
|
||||||
tip += ' 执行【' + operateName.label + '】操作';
|
if (deviceInfo.deviceName) {
|
||||||
|
tip += '找到' + deviceInfo.deviceName + ',';
|
||||||
|
}
|
||||||
|
tip += '执行【' + operateName.label + '】操作';
|
||||||
if (deviceInfo.paramName) {
|
if (deviceInfo.paramName) {
|
||||||
tip += ',参数为:' + deviceInfo.paramName;
|
tip += ',参数为:' + deviceInfo.paramName;
|
||||||
}
|
}
|
||||||
@ -131,24 +148,42 @@ export function covertOperate(operationType, operationParamMap) {
|
|||||||
function covertOperation(deviceType, operationParamMap, operationType) {
|
function covertOperation(deviceType, operationParamMap, operationType) {
|
||||||
let deviceName = '';
|
let deviceName = '';
|
||||||
let paramName = '';
|
let paramName = '';
|
||||||
const device = store.getters['map/getDeviceByCode'](operationParamMap[operateEnum[deviceType].code]);
|
if (operateEnum[deviceType].code) {
|
||||||
if (device._type == 'StationStand') {
|
const device = store.getters['map/getDeviceByCode'](operationParamMap[operateEnum[deviceType].code]);
|
||||||
const station = store.getters['map/getDeviceByCode'](device.stationCode);
|
if (device._type == 'StationStand') {
|
||||||
deviceName += '【车站-' + station.name + '】/';
|
const station = store.getters['map/getDeviceByCode'](device.stationCode);
|
||||||
}
|
deviceName += '【车站-' + station.name + '】/';
|
||||||
if (device._type == 'Section') {
|
}
|
||||||
if (device.parentCode) {
|
if (device._type == 'Section') {
|
||||||
const parentSection = store.getters['map/getDeviceByCode'](device.parentCode);
|
if (device.parentCode) {
|
||||||
deviceName += '【' + operateEnum[deviceType].type + ' ' + parentSection.name + '-' + device.name + '】';
|
const parentSection = store.getters['map/getDeviceByCode'](device.parentCode);
|
||||||
|
deviceName += '【' + operateEnum[deviceType].type + ' ' + parentSection.name + '-' + device.name + '】';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
deviceName += '【' + operateEnum[deviceType].type + ' ' + device.name + '】';
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
deviceName += '【' + operateEnum[deviceType].type + ' ' + device.name + '】';
|
|
||||||
}
|
}
|
||||||
const paramInfo = operateEnum[deviceType][operationType];
|
const paramInfo = operateEnum[deviceType][operationType];
|
||||||
if (paramInfo) {
|
if (paramInfo) {
|
||||||
if (paramInfo.isDevice) {
|
if (paramInfo.isDevice) {
|
||||||
if (paramInfo.isList) {
|
if (paramInfo.isList) {
|
||||||
paramName += '【' + paramInfo.name + ' ';
|
paramName += '【' + paramInfo.name + ' ';
|
||||||
|
const deviceList = operationParamMap[paramInfo.code];
|
||||||
|
deviceList.forEach((device, index)=>{
|
||||||
|
paramName += covertFunction(paramInfo.function, device);
|
||||||
|
if (index != deviceList.length - 1) {
|
||||||
|
paramName += ',';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
paramName += '】';
|
||||||
|
// const routeList = operationParamMap[paramInfo.code];
|
||||||
|
// routeList.forEach((route, index)=>{
|
||||||
|
// paramName += getRouteNameById(route);
|
||||||
|
// if (index != routeList.length - 1) {
|
||||||
|
// paramName += ',';
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// paramName += '】';
|
||||||
} else {
|
} else {
|
||||||
paramName += '【' + paramInfo.name + ' ';
|
paramName += '【' + paramInfo.name + ' ';
|
||||||
paramName += getRouteNameById(operationParamMap[paramInfo.code]) + '】';
|
paramName += getRouteNameById(operationParamMap[paramInfo.code]) + '】';
|
||||||
@ -158,7 +193,7 @@ function covertOperation(deviceType, operationParamMap, operationType) {
|
|||||||
const params = paramInfo.params;
|
const params = paramInfo.params;
|
||||||
if (params && params.length > 0) {
|
if (params && params.length > 0) {
|
||||||
paramName += '【';
|
paramName += '【';
|
||||||
params.forEach(param=>{
|
params.forEach((param, index)=>{
|
||||||
paramName += ' ' + param.name;
|
paramName += ' ' + param.name;
|
||||||
const data = operationParamMap[param.code];
|
const data = operationParamMap[param.code];
|
||||||
param.result.forEach(result=>{
|
param.result.forEach(result=>{
|
||||||
@ -182,16 +217,24 @@ function covertOperation(deviceType, operationParamMap, operationType) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
paramName += ',';
|
if (index != params.length - 1) {
|
||||||
|
paramName += ',';
|
||||||
|
}
|
||||||
});
|
});
|
||||||
paramName += '】';
|
paramName += '】';
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
paramName += '【' + paramInfo.name + operationParamMap[paramInfo.code] + '】';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return {deviceName:deviceName, paramName:paramName};
|
return {deviceName:deviceName, paramName:paramName};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function covertFunction(func, device) {
|
||||||
|
return func(device);
|
||||||
|
}
|
||||||
|
|
||||||
function getRouteNameById(routeId) {
|
function getRouteNameById(routeId) {
|
||||||
const routeList = store.state.map.routeList;
|
const routeList = store.state.map.routeList;
|
||||||
const route = routeList.find(route=>{
|
const route = routeList.find(route=>{
|
||||||
@ -200,3 +243,8 @@ function getRouteNameById(routeId) {
|
|||||||
if (route) { return route.name; } else { return ''; }
|
if (route) { return route.name; } else { return ''; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getStationNameById(stationId) {
|
||||||
|
const station = store.getters['map/getDeviceByCode'](stationId);
|
||||||
|
return station.name;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -73,6 +73,7 @@ export default {
|
|||||||
dataError: false,
|
dataError: false,
|
||||||
faultMode: false,
|
faultMode: false,
|
||||||
viewDisabled: true,
|
viewDisabled: true,
|
||||||
|
firstLoad:true,
|
||||||
isscriptRun:false // 剧本是否正在加载
|
isscriptRun:false // 剧本是否正在加载
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -104,15 +105,15 @@ export default {
|
|||||||
this.setWindowSize();
|
this.setWindowSize();
|
||||||
},
|
},
|
||||||
'$store.state.training.switchcount': async function () {
|
'$store.state.training.switchcount': async function () {
|
||||||
if (this.group) {
|
if (this.group && this.firstLoad) {
|
||||||
await this.loadRunData();
|
await this.loadRunData();
|
||||||
// if (this.$store.state.training.started && !this.firstLoad) {
|
// if (this.$store.state.training.started && !this.firstLoad) {
|
||||||
|
|
||||||
// } else if (this.firstLoad) {
|
// } else if (this.firstLoad) {
|
||||||
// await this.loadRunData(this.$route.query);
|
// await this.loadRunData(this.$route.query);
|
||||||
// }
|
// }
|
||||||
// this.firstLoad = false;
|
|
||||||
}
|
}
|
||||||
|
this.firstLoad = false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
|
@ -197,7 +197,7 @@ export default {
|
|||||||
name:this.$store.state.user.nickname
|
name:this.$store.state.user.nickname
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
// this.oldMemberId = role.id;
|
this.oldMemberId = role.id;
|
||||||
this.$store.dispatch('training/setPrdType', prdType);
|
this.$store.dispatch('training/setPrdType', prdType);
|
||||||
ConstConfig.ConstSelect.roleTypeNew.forEach(each=>{
|
ConstConfig.ConstSelect.roleTypeNew.forEach(each=>{
|
||||||
if (each.label == role.type) {
|
if (each.label == role.type) {
|
||||||
|
Loading…
Reference in New Issue
Block a user