Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/jl-client into test
This commit is contained in:
commit
79af11beb6
BIN
src/assets/hand-o-right.png
Normal file
BIN
src/assets/hand-o-right.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 660 B |
BIN
src/assets/wchat.png
Normal file
BIN
src/assets/wchat.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 32 KiB |
@ -206,12 +206,15 @@ export default {
|
||||
|
||||
/** 如果此记录车组号的数据为第一条时,则打上标签*/
|
||||
if (runPlanData[elem.serviceNumber][elem.tripNumber].length <= 1) {
|
||||
serie.markPoint.data.push(createMartPoint({
|
||||
directionCode: elem.directionCode,
|
||||
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
|
||||
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.directionCode}${elem.tripNumber}`,
|
||||
color: lineStyle.color || '#000'
|
||||
}));
|
||||
const result = serie.markPoint.data.some(ele => ele.name == `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`);
|
||||
if (!result) {
|
||||
serie.markPoint.data.push(createMartPoint({
|
||||
directionCode: elem.directionCode,
|
||||
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
|
||||
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.directionCode}${elem.tripNumber}`,
|
||||
color: lineStyle.color || '#000'
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
/** 计算折返点*/
|
||||
@ -284,7 +287,8 @@ export default {
|
||||
|
||||
/** 根据是否和上一个车次是否相交,计算下一个车次的折返的高度*/
|
||||
computedReentryNumber(code) {
|
||||
return parseInt(code || 1) % 2 ? 1 : 2;
|
||||
// return parseInt(code || 1) % 2 ? 1 : 2;
|
||||
return 1;
|
||||
},
|
||||
|
||||
/** 根据方向计算y折返偏移量*/
|
||||
|
@ -206,12 +206,15 @@ export default {
|
||||
|
||||
/** 如果此记录车组号的数据为第一条时,则打上标签*/
|
||||
if (runPlanData[elem.serviceNumber][elem.tripNumber].length <= 1) {
|
||||
serie.markPoint.data.push(createMartPointReverse({
|
||||
directionCode: elem.directionCode,
|
||||
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
|
||||
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.directionCode}${elem.tripNumber}`,
|
||||
color: lineStyle.color || '#000'
|
||||
}));
|
||||
const result = serie.markPoint.data.some(ele => ele.name == `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`);
|
||||
if (!result) {
|
||||
serie.markPoint.data.push(createMartPointReverse({
|
||||
directionCode: elem.directionCode,
|
||||
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
|
||||
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.directionCode}${elem.tripNumber}`,
|
||||
color: lineStyle.color || '#000'
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
/** 计算折返点*/
|
||||
@ -284,7 +287,8 @@ export default {
|
||||
|
||||
/** 根据是否和上一个车次是否相交,计算下一个车次的折返的高度*/
|
||||
computedReentryNumber(code) {
|
||||
return parseInt(code || 1) % 2 ? 1 : 2;
|
||||
// return parseInt(code || 1) % 2 ? 1 : 2;
|
||||
return 1;
|
||||
},
|
||||
|
||||
/** 根据方向计算y折返偏移量*/
|
||||
|
@ -181,12 +181,15 @@ export default {
|
||||
|
||||
/** 如果此记录车组号的数据为第一条时,则打上标签*/
|
||||
if (runPlanData[elem.serviceNumber][elem.tripNumber].length <= 1) {
|
||||
serie.markPoint.data.push(createMartPoint({
|
||||
directionCode: elem.directionCode,
|
||||
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
|
||||
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.directionCode}${elem.tripNumber}`,
|
||||
color: lineStyle.color || '#000'
|
||||
}));
|
||||
const result = serie.markPoint.data.some(ele => ele.name == `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`);
|
||||
if (!result) {
|
||||
serie.markPoint.data.push(createMartPoint({
|
||||
directionCode: elem.directionCode,
|
||||
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
|
||||
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.directionCode}${elem.tripNumber}`,
|
||||
color: lineStyle.color || '#000'
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
/** 计算折返点*/
|
||||
@ -259,7 +262,8 @@ export default {
|
||||
|
||||
/** 根据是否和上一个车次是否相交,计算下一个车次的折返的高度*/
|
||||
computedReentryNumber(code) {
|
||||
return parseInt(code || 1) % 2 ? 1 : 2;
|
||||
// return parseInt(code || 1) % 2 ? 1 : 2;
|
||||
return 1;
|
||||
},
|
||||
|
||||
/** 根据方向计算y折返偏移量*/
|
||||
|
@ -199,12 +199,15 @@ export default {
|
||||
|
||||
/** 如果此记录车组号的数据为第一条时,则打上标签*/
|
||||
if (runPlanData[elem.serviceNumber][elem.tripNumber].length <= 1) {
|
||||
serie.markPoint.data.push(createMartPointReverse({
|
||||
directionCode: elem.directionCode,
|
||||
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
|
||||
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.directionCode}${elem.tripNumber}`,
|
||||
color: lineStyle.color || '#000'
|
||||
}));
|
||||
const result = serie.markPoint.data.some(ele => ele.name == `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`);
|
||||
if (!result) {
|
||||
serie.markPoint.data.push(createMartPointReverse({
|
||||
directionCode: elem.directionCode,
|
||||
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
|
||||
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.directionCode}${elem.tripNumber}`,
|
||||
color: lineStyle.color || '#000'
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
/** 计算折返点*/
|
||||
|
@ -266,12 +266,15 @@ export default {
|
||||
|
||||
/** 如果此记录车组号的数据为第一条时,则打上标签*/
|
||||
if (runPlanData[elem.serviceNumber][elem.tripNumber].length <= 1) {
|
||||
serie.markPoint.data.push(createMartPoint({
|
||||
directionCode: elem.directionCode,
|
||||
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem)],
|
||||
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.directionCode}${elem.tripNumber}`,
|
||||
color: lineStyle.color || '#000'
|
||||
}));
|
||||
const result = serie.markPoint.data.some(ele => ele.name == `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`);
|
||||
if (!result) {
|
||||
serie.markPoint.data.push(createMartPoint({
|
||||
directionCode: elem.directionCode,
|
||||
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem)],
|
||||
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.directionCode}${elem.tripNumber}`,
|
||||
color: lineStyle.color || '#000'
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
/** 计算折返点*/
|
||||
|
@ -266,12 +266,15 @@ export default {
|
||||
|
||||
/** 如果此记录车组号的数据为第一条时,则打上标签*/
|
||||
if (runPlanData[elem.serviceNumber][elem.tripNumber].length <= 1) {
|
||||
serie.markPoint.data.push(createMartPoint({
|
||||
directionCode: elem.directionCode,
|
||||
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem)],
|
||||
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.directionCode}${elem.tripNumber}`,
|
||||
color: lineStyle.color || '#000'
|
||||
}));
|
||||
const result = serie.markPoint.data.some(ele => ele.name == `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`);
|
||||
if (!result) {
|
||||
serie.markPoint.data.push(createMartPoint({
|
||||
directionCode: elem.directionCode,
|
||||
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem)],
|
||||
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.directionCode}${elem.tripNumber}`,
|
||||
color: lineStyle.color || '#000'
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
/** 计算折返点*/
|
||||
|
@ -226,12 +226,15 @@ export default {
|
||||
|
||||
/** 如果此记录车组号的数据为第一条时,则打上标签*/
|
||||
if (runPlanData[elem.serviceNumber][elem.tripNumber].length <= 1) {
|
||||
serie.markPoint.data.push(createMartPoint({
|
||||
directionCode: elem.directionCode,
|
||||
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
|
||||
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}${elem.destinationCode || ''}`,
|
||||
color: lineStyle.color || '#000'
|
||||
}));
|
||||
const result = serie.markPoint.data.some(ele => ele.name == `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`);
|
||||
if (!result) {
|
||||
serie.markPoint.data.push(createMartPoint({
|
||||
directionCode: elem.directionCode,
|
||||
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
|
||||
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}${elem.destinationCode || ''}`,
|
||||
color: lineStyle.color || '#000'
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
/** 计算折返点*/
|
||||
@ -304,7 +307,8 @@ export default {
|
||||
|
||||
/** 根据是否和上一个车次是否相交,计算下一个车次的折返的高度*/
|
||||
computedReentryNumber(code) {
|
||||
return parseInt(code || 1) % 2 ? 1 : 2;
|
||||
// return parseInt(code || 1) % 2 ? 1 : 2;
|
||||
return 1;
|
||||
},
|
||||
|
||||
/** 根据方向计算y折返偏移量*/
|
||||
|
@ -96,11 +96,21 @@
|
||||
<station-control ref="stationControl" />
|
||||
<stand-detail ref="standDetail" />
|
||||
<switch-command ref="switchCommand" />
|
||||
<initialize-switch-block ref="initializeSwitchBlock" />
|
||||
<switch-block ref="switchBlock" />
|
||||
<switch-active ref="switchActive" />
|
||||
<switch-detail ref="switchDetail" />
|
||||
<initialize-signal-guide ref="initializeSignalGuide" />
|
||||
<signal-guide ref="signalGuide" />
|
||||
<initialzed-signal-can-block ref="initializeSignalCanBlock" />
|
||||
<signal-can-block ref="signalCanBlock" />
|
||||
<route-command ref="routeCommand" />
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import { TrainingMode, OperationEvent } from '@/scripts/ConstDic';
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import { TrainingMode } from '@/scripts/ConstDic';
|
||||
import ArrangeRoute from './menuDialog/arrangeRoute';
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
import { EventBus } from '@/scripts/event-bus';
|
||||
@ -114,6 +124,15 @@ import IntervalStopNumber from './menuDialog/intervalStopNumber';
|
||||
import AllocateTime from './menuDialog/allocateTime';
|
||||
import StationControl from './menuDialog/stationControl';
|
||||
import SwitchCommand from './menuDialog/switchCommand';
|
||||
import InitializeSwitchBlock from './menuDialog/initializeSwitchBlock';
|
||||
import SwitchBlock from './menuDialog/switchBlock';
|
||||
import SwitchActive from './menuDialog/switchActive';
|
||||
import SwitchDetail from './menuDialog/switchDetail';
|
||||
import InitializeSignalGuide from './menuDialog/initializeSignalGuide';
|
||||
import SignalGuide from './menuDialog/signalGuide';
|
||||
import InitialzedSignalCanBlock from './menuDialog/initializeSignalCanBlock';
|
||||
import SignalCanBlock from './menuDialog/signalCanBlock';
|
||||
import RouteCommand from './menuDialog/routeCommand';
|
||||
|
||||
export default {
|
||||
name: 'MenuBar',
|
||||
@ -127,7 +146,16 @@ export default {
|
||||
AllocateTime,
|
||||
StationControl,
|
||||
StandDetail,
|
||||
SwitchCommand
|
||||
SwitchCommand,
|
||||
InitializeSwitchBlock,
|
||||
SwitchBlock,
|
||||
SwitchActive,
|
||||
SwitchDetail,
|
||||
InitializeSignalGuide,
|
||||
SignalGuide,
|
||||
InitialzedSignalCanBlock,
|
||||
SignalCanBlock,
|
||||
RouteCommand
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
@ -302,23 +330,19 @@ export default {
|
||||
},
|
||||
{
|
||||
title: '封锁',
|
||||
click: this.undeveloped
|
||||
},
|
||||
{
|
||||
title: '封锁',
|
||||
click: this.undeveloped
|
||||
click: this.setBlockSwitch
|
||||
},
|
||||
{
|
||||
title: '解除封锁',
|
||||
click: this.undeveloped
|
||||
click: this.setUnblockSwitch
|
||||
},
|
||||
{
|
||||
title: '请求动岔/请求或授权/取消',
|
||||
click: this.undeveloped
|
||||
click: this.setSwitchActive
|
||||
},
|
||||
{
|
||||
title: '显示',
|
||||
click: this.undeveloped
|
||||
click: this.showSwitchDetail
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -329,15 +353,15 @@ export default {
|
||||
|
||||
{
|
||||
title: '引导',
|
||||
click: this.undeveloped
|
||||
click: this.setSignalGuide
|
||||
},
|
||||
{
|
||||
title: '取消允许锁闭',
|
||||
click: this.undeveloped
|
||||
click: this.setSignalCanBlock
|
||||
},
|
||||
{
|
||||
title: '进路/命令',
|
||||
click: this.undeveloped
|
||||
click: this.setRouteCommand
|
||||
},
|
||||
{
|
||||
title: '信号指示模式',
|
||||
@ -716,23 +740,19 @@ export default {
|
||||
},
|
||||
{
|
||||
title: '封锁',
|
||||
click: this.undeveloped
|
||||
},
|
||||
{
|
||||
title: '封锁',
|
||||
click: this.undeveloped
|
||||
click: this.setBlockSwitch
|
||||
},
|
||||
{
|
||||
title: '解除封锁',
|
||||
click: this.undeveloped
|
||||
click: this.setUnblockSwitch
|
||||
},
|
||||
{
|
||||
title: '请求动岔/请求或授权/取消',
|
||||
click: this.undeveloped
|
||||
click: this.setSwitchActive
|
||||
},
|
||||
{
|
||||
title: '显示',
|
||||
click: this.undeveloped
|
||||
click: this.showSwitchDetail
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -743,15 +763,15 @@ export default {
|
||||
|
||||
{
|
||||
title: '引导',
|
||||
click: this.undeveloped
|
||||
click: this.setSignalGuide
|
||||
},
|
||||
{
|
||||
title: '取消允许锁闭',
|
||||
click: this.undeveloped
|
||||
click: this.setSignalCanBlock
|
||||
},
|
||||
{
|
||||
title: '进路/命令',
|
||||
click: this.undeveloped
|
||||
click: this.setRouteCommand
|
||||
},
|
||||
{
|
||||
title: '信号指示模式',
|
||||
@ -1242,6 +1262,100 @@ export default {
|
||||
this.$refs.switchCommand.doShow();
|
||||
}
|
||||
});
|
||||
},
|
||||
setBlockSwitch() {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: OperationEvent.Switch.block.init.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
this.closeMenu(true);
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', {break: true});
|
||||
this.$refs.initializeSwitchBlock.doShow(operate);
|
||||
// this.$refs.switchBlock.doShow();
|
||||
}
|
||||
});
|
||||
},
|
||||
setUnblockSwitch() {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: OperationEvent.Switch.unblock.init.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
this.closeMenu(true);
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', {break: true});
|
||||
this.$refs.initializeSwitchBlock.doShow(operate);
|
||||
}
|
||||
});
|
||||
},
|
||||
setSwitchActive() {
|
||||
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.switchActive.doShow();
|
||||
}
|
||||
});
|
||||
},
|
||||
showSwitchDetail() {
|
||||
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.switchDetail.doShow();
|
||||
}
|
||||
});
|
||||
},
|
||||
setSignalGuide() {
|
||||
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.initializeSignalGuide.doShow();
|
||||
// this.$refs.signalGuide.doShow();
|
||||
}
|
||||
});
|
||||
},
|
||||
setSignalCanBlock() {
|
||||
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.initializeSignalCanBlock.doShow();
|
||||
// this.$refs.signalCanBlock.doShow();
|
||||
}
|
||||
});
|
||||
},
|
||||
setRouteCommand() {
|
||||
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.routeCommand.doShow();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -0,0 +1,137 @@
|
||||
<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-table :data="signalList" height="300px">
|
||||
<el-table-column prop="name" label="信号机" />
|
||||
<el-table-column prop="blockStatus" label="允许锁闭" />
|
||||
<el-table-column prop="blockProcess" label="同意取消" />
|
||||
<el-table-column prop="unblockProcess" label="取消进程" />
|
||||
</el-table>
|
||||
</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,
|
||||
operate: ''
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'signalList'
|
||||
]),
|
||||
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;
|
||||
}
|
||||
/deep/ {
|
||||
.el-radio {
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
}
|
||||
.el-cascader-node>.el-radio, .el-radio:last-child{
|
||||
margin-right: 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,138 @@
|
||||
<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-table :data="signalList" height="300px">
|
||||
<el-table-column prop="name" label="信号机" />
|
||||
<el-table-column prop="blockStatus" label="显示" />
|
||||
<el-table-column prop="blockProcess" label="可引导" />
|
||||
<el-table-column prop="unblockProcess" label="引导过程" />
|
||||
<el-table-column prop="unblockProcess" width="150" label="区间信号引导过程" />
|
||||
</el-table>
|
||||
</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,
|
||||
operate: ''
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'signalList'
|
||||
]),
|
||||
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;
|
||||
}
|
||||
/deep/ {
|
||||
.el-radio {
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
}
|
||||
.el-cascader-node>.el-radio, .el-radio:last-child{
|
||||
margin-right: 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -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>
|
||||
<el-table :data="switchList" height="350px">
|
||||
<el-table-column prop="name" label="道岔" />
|
||||
<el-table-column prop="blockStatus" label="道岔封锁状态" />
|
||||
<el-table-column prop="blockProcess" label="设置封锁进程" />
|
||||
<el-table-column prop="unblockProcess" label="解除封锁进程" />
|
||||
</el-table>
|
||||
</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: '',
|
||||
operate: ''
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'switchList'
|
||||
]),
|
||||
isBlock() {
|
||||
return this.operate === OperationEvent.Switch.block.init.operation;
|
||||
},
|
||||
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 this.isBlock ? '初始化道岔封锁' : '初始化道岔解除封锁';
|
||||
}
|
||||
},
|
||||
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;
|
||||
}
|
||||
/deep/ {
|
||||
.el-radio {
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
}
|
||||
.el-cascader-node>.el-radio, .el-radio:last-child{
|
||||
margin-right: 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
174
src/jmapNew/theme/ningbo_03/menus/menuDialog/routeCommand.vue
Normal file
174
src/jmapNew/theme/ningbo_03/menus/menuDialog/routeCommand.vue
Normal 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="3">
|
||||
<el-row>
|
||||
<div>开始</div>
|
||||
<el-table :data="signalList" height="150">
|
||||
<el-table-column prop="name" label="信号机" />
|
||||
</el-table>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<div>结束</div>
|
||||
<el-table :data="signalList" height="150">
|
||||
<el-table-column prop="name" label="信号机" />
|
||||
</el-table>
|
||||
</el-row>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-table :data="tempData">
|
||||
<el-table-column prop="path" label="路径" />
|
||||
<el-table-column prop="direction" label="运行方向" />
|
||||
</el-table>
|
||||
</el-col>
|
||||
<el-col :span="15">
|
||||
<el-tabs v-model="activeName" type="card">
|
||||
<el-tab-pane label="设置进路" name="first">用户管理</el-tab-pane>
|
||||
<el-tab-pane label="取消进路" name="second">配置管理</el-tab-pane>
|
||||
<el-tab-pane label="禁止进路" name="third">角色管理</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-col>
|
||||
</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">确定(O)</el-button>
|
||||
</el-col>
|
||||
<el-col :span="6" :offset="2">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">应用(A)</el-button>
|
||||
</el-col>
|
||||
<el-col :span="6" :offset="2">
|
||||
<el-button :id="domIdCancel" @click="cancel">关闭(C)</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: 'SwitchActive',
|
||||
components: {
|
||||
NoticeInfo
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
status: false,
|
||||
standStatus: true,
|
||||
allChecked: false,
|
||||
dialogShow: false,
|
||||
loading: false,
|
||||
selected: null,
|
||||
active: false,
|
||||
activeName: 'first',
|
||||
tempData: []
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'signalList'
|
||||
]),
|
||||
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;
|
||||
top: 100px;
|
||||
left: 8px;
|
||||
padding: 15px;
|
||||
}
|
||||
.radio-box-title {
|
||||
position: relative;
|
||||
left: 18px;
|
||||
top: 115px;
|
||||
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>
|
165
src/jmapNew/theme/ningbo_03/menus/menuDialog/signalCanBlock.vue
Normal file
165
src/jmapNew/theme/ningbo_03/menus/menuDialog/signalCanBlock.vue
Normal file
@ -0,0 +1,165 @@
|
||||
<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="18">
|
||||
<el-table :data="signalList" height="300px">
|
||||
<el-table-column prop="name" label="信号机" />
|
||||
<el-table-column prop="blockStatus" label="允许锁闭" />
|
||||
<el-table-column prop="blockProcess" label="同意取消" />
|
||||
<el-table-column prop="unblockProcess" label="取消进程" />
|
||||
</el-table>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<div class="radio-box-title">命令</div>
|
||||
<div class="radio-box">
|
||||
<el-radio v-model="command" label="normal" style="display: block;margin-bottom: 10px;">确认</el-radio>
|
||||
<el-radio v-model="command" 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: 'SignalCanBlock',
|
||||
components: {
|
||||
NoticeInfo
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
status: false,
|
||||
standStatus: true,
|
||||
allChecked: false,
|
||||
dialogShow: false,
|
||||
loading: false,
|
||||
selected: null,
|
||||
operate: '',
|
||||
command: ''
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'signalList'
|
||||
]),
|
||||
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;
|
||||
}
|
||||
.radio-box {
|
||||
position: relative;
|
||||
border: 1px solid #BBBBBB;
|
||||
width: 130px;
|
||||
top: 100px;
|
||||
left: 8px;
|
||||
padding: 15px;
|
||||
}
|
||||
.radio-box-title {
|
||||
position: relative;
|
||||
left: 18px;
|
||||
top: 115px;
|
||||
text-align: center;
|
||||
color: #000;
|
||||
width: 40px;
|
||||
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>
|
166
src/jmapNew/theme/ningbo_03/menus/menuDialog/signalGuide.vue
Normal file
166
src/jmapNew/theme/ningbo_03/menus/menuDialog/signalGuide.vue
Normal file
@ -0,0 +1,166 @@
|
||||
<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="18">
|
||||
<el-table :data="signalList" height="300px">
|
||||
<el-table-column prop="name" label="信号机" />
|
||||
<el-table-column prop="blockStatus" label="显示" />
|
||||
<el-table-column prop="blockProcess" label="可引导" />
|
||||
<el-table-column prop="unblockProcess" label="引导过程" />
|
||||
<el-table-column prop="unblockProcess" width="150" label="区间信号引导过程" />
|
||||
</el-table>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<div class="radio-box-title">命令</div>
|
||||
<div class="radio-box">
|
||||
<el-radio v-model="command" label="normal" style="display: block;margin-bottom: 10px;">确认</el-radio>
|
||||
<el-radio v-model="command" 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: 'SignalGuide',
|
||||
components: {
|
||||
NoticeInfo
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
status: false,
|
||||
standStatus: true,
|
||||
allChecked: false,
|
||||
dialogShow: false,
|
||||
loading: false,
|
||||
selected: null,
|
||||
command: '',
|
||||
operate: ''
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'signalList'
|
||||
]),
|
||||
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;
|
||||
}
|
||||
.radio-box {
|
||||
position: relative;
|
||||
border: 1px solid #BBBBBB;
|
||||
width: 130px;
|
||||
top: 100px;
|
||||
left: 8px;
|
||||
padding: 15px;
|
||||
}
|
||||
.radio-box-title {
|
||||
position: relative;
|
||||
left: 18px;
|
||||
top: 115px;
|
||||
text-align: center;
|
||||
color: #000;
|
||||
width: 40px;
|
||||
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>
|
160
src/jmapNew/theme/ningbo_03/menus/menuDialog/switchActive.vue
Normal file
160
src/jmapNew/theme/ningbo_03/menus/menuDialog/switchActive.vue
Normal file
@ -0,0 +1,160 @@
|
||||
<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="18">
|
||||
<el-table :data="switchList" height="300px">
|
||||
<el-table-column prop="name" label="道岔" />
|
||||
<el-table-column prop="blockStatus" label="请求或允许动岔" />
|
||||
<el-table-column prop="blockProcess" label="请求或允许动岔" />
|
||||
</el-table>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<div class="radio-box-title">设置状态</div>
|
||||
<div class="radio-box">
|
||||
<el-radio v-model="active" :label="true" style="display: block;margin-bottom: 10px;">(A)激活</el-radio>
|
||||
<el-radio v-model="active" :label="false" style="display: block;">(I)取消激活</el-radio>
|
||||
</div>
|
||||
<el-checkbox v-model="allChecked" style="position: relative;top: 100px;left: 8px;">(A)全部</el-checkbox>
|
||||
</el-col>
|
||||
</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">确定(O)</el-button>
|
||||
</el-col>
|
||||
<el-col :span="6" :offset="2">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">应用(A)</el-button>
|
||||
</el-col>
|
||||
<el-col :span="6" :offset="2">
|
||||
<el-button :id="domIdCancel" @click="cancel">关闭(C)</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: 'SwitchActive',
|
||||
components: {
|
||||
NoticeInfo
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
status: false,
|
||||
standStatus: true,
|
||||
allChecked: false,
|
||||
dialogShow: false,
|
||||
loading: false,
|
||||
selected: null,
|
||||
active: false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'switchList'
|
||||
]),
|
||||
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;
|
||||
top: 100px;
|
||||
left: 8px;
|
||||
padding: 15px;
|
||||
}
|
||||
.radio-box-title {
|
||||
position: relative;
|
||||
left: 18px;
|
||||
top: 115px;
|
||||
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>
|
166
src/jmapNew/theme/ningbo_03/menus/menuDialog/switchBlock.vue
Normal file
166
src/jmapNew/theme/ningbo_03/menus/menuDialog/switchBlock.vue
Normal file
@ -0,0 +1,166 @@
|
||||
<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="18">
|
||||
<el-table :data="switchList" height="350px">
|
||||
<el-table-column prop="name" width="80" label="道岔" />
|
||||
<el-table-column prop="blockStatus" label="道岔封锁状态" />
|
||||
<el-table-column prop="blockProcess" label="设置封锁进程" />
|
||||
<el-table-column prop="unblockProcess" label="解除封锁进程" />
|
||||
</el-table>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<div class="radio-box-title">命令</div>
|
||||
<div class="radio-box">
|
||||
<el-radio v-model="command" label="normal" style="display: block;margin-bottom: 10px;">确认</el-radio>
|
||||
<el-radio v-model="command" 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,
|
||||
command: '',
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'switchList'
|
||||
]),
|
||||
isBlock() {
|
||||
return this.operate === OperationEvent.Switch.block.menu.operation;
|
||||
},
|
||||
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 this.isBlock ? '确认/取消道岔封锁' : '确认/取消道岔解除封锁';
|
||||
}
|
||||
},
|
||||
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;
|
||||
top: 100px;
|
||||
left: 8px;
|
||||
padding: 15px;
|
||||
}
|
||||
.radio-box-title {
|
||||
position: relative;
|
||||
left: 18px;
|
||||
top: 115px;
|
||||
text-align: center;
|
||||
color: #000;
|
||||
width: 40px;
|
||||
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>
|
143
src/jmapNew/theme/ningbo_03/menus/menuDialog/switchDetail.vue
Normal file
143
src/jmapNew/theme/ningbo_03/menus/menuDialog/switchDetail.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>
|
||||
<el-table :data="switchList" height="350px">
|
||||
<el-table-column prop="name" width="80" label="道岔" />
|
||||
<el-table-column prop="position" width="80" label="位置" />
|
||||
<el-table-column prop="blockStatus" width="80" label="预留" />
|
||||
<el-table-column prop="blockStatus" width="80" label="状态" />
|
||||
<el-table-column prop="blockStatus" width="120" label="道岔封锁状态" />
|
||||
<el-table-column prop="blockProcess" width="120" label="设置封锁进程" />
|
||||
<el-table-column prop="unblockProcess" width="120" 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,
|
||||
mode: '',
|
||||
position: '',
|
||||
reserved: '',
|
||||
operate: ''
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'switchList'
|
||||
]),
|
||||
isBlock() {
|
||||
return this.operate === OperationEvent.Switch.block.init.operation;
|
||||
},
|
||||
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 this.isBlock ? '初始化道岔封锁' : '初始化道岔解除封锁';
|
||||
}
|
||||
},
|
||||
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;
|
||||
}
|
||||
/deep/ {
|
||||
.el-radio {
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
}
|
||||
.el-cascader-node>.el-radio, .el-radio:last-child{
|
||||
margin-right: 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -218,12 +218,15 @@ export default {
|
||||
|
||||
/** 如果此记录车组号的数据为第一条时,则打上标签*/
|
||||
if (runPlanData[elem.serviceNumber][elem.tripNumber].length <= 1) {
|
||||
serie.markPoint.data.push(createMartPoint({
|
||||
directionCode: elem.directionCode,
|
||||
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
|
||||
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`,
|
||||
color: lineStyle.color || '#000'
|
||||
}));
|
||||
const result = serie.markPoint.data.some(ele => ele.name == `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`);
|
||||
if (!result) {
|
||||
serie.markPoint.data.push(createMartPoint({
|
||||
directionCode: elem.directionCode,
|
||||
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
|
||||
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`,
|
||||
color: lineStyle.color || '#000'
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
/** 计算折返点*/
|
||||
@ -296,7 +299,8 @@ export default {
|
||||
|
||||
/** 根据是否和上一个车次是否相交,计算下一个车次的折返的高度*/
|
||||
computedReentryNumber(code) {
|
||||
return parseInt(code || 1) % 2 ? 1 : 2;
|
||||
// return parseInt(code || 1) % 2 ? 1 : 2;
|
||||
return 1;
|
||||
},
|
||||
|
||||
/** 根据方向计算y折返偏移量*/
|
||||
|
@ -217,12 +217,15 @@ export default {
|
||||
|
||||
/** 如果此记录车组号的数据为第一条时,则打上标签*/
|
||||
if (runPlanData[elem.serviceNumber][elem.tripNumber].length <= 1) {
|
||||
serie.markPoint.data.push(createMartPoint({
|
||||
directionCode: elem.directionCode,
|
||||
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
|
||||
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`,
|
||||
color: lineStyle.color || '#000'
|
||||
}));
|
||||
const result = serie.markPoint.data.some(ele => ele.name == `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`);
|
||||
if (!result) {
|
||||
serie.markPoint.data.push(createMartPoint({
|
||||
directionCode: elem.directionCode,
|
||||
coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
|
||||
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`,
|
||||
color: lineStyle.color || '#000'
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
/** 计算折返点*/
|
||||
@ -295,7 +298,8 @@ export default {
|
||||
|
||||
/** 根据是否和上一个车次是否相交,计算下一个车次的折返的高度*/
|
||||
computedReentryNumber(code) {
|
||||
return parseInt(code || 1) % 2 ? 1 : 2;
|
||||
// return parseInt(code || 1) % 2 ? 1 : 2;
|
||||
return 1;
|
||||
},
|
||||
|
||||
/** 根据方向计算y折返偏移量*/
|
||||
|
@ -43,6 +43,7 @@ export default {
|
||||
fieldNum: 8,
|
||||
sepField: 'Trip',
|
||||
idField: 'Train ID',
|
||||
destinationCode: 'DID',
|
||||
columns: {
|
||||
'LOC': { key: 'stationName', formatter: (val) => { return StationMap[val]; } },
|
||||
'Arrive': { key: 'arriveTime', formatter: (val) => { return val; } },
|
||||
@ -58,7 +59,7 @@ export default {
|
||||
if (dataList && dataList.length) {
|
||||
for (var colIndex = this.ExcelConfig.beginCol; colIndex < dataList.length; colIndex += this.ExcelConfig.fieldNum + 1) {
|
||||
var isContinue = true;
|
||||
var tripObj = { code: '', trainId: '', arrivalList: [] };
|
||||
var tripObj = { code: '', trainId: '', destinationCode: '', arrivalList: [] };
|
||||
for (var rowIndex = this.ExcelConfig.beginRow; isContinue; rowIndex += 1) {
|
||||
isContinue = false;
|
||||
|
||||
@ -86,7 +87,7 @@ export default {
|
||||
valueStr = tripObj.trainId + valueStr;
|
||||
delete tripObj.trainId;
|
||||
JsonData.push(tripObj);
|
||||
tripObj = { code: valueStr, arrivalList: [] };
|
||||
tripObj = { code: valueStr, destinationCode: '', arrivalList: [] };
|
||||
} else {
|
||||
if (valueStr.includes('FT') || valueStr.includes('LT')) {
|
||||
valueStr = valueStr.replace('FT', '').replace('LT', '');
|
||||
@ -95,8 +96,10 @@ export default {
|
||||
delete tripObj.trainId;
|
||||
tripObj.code = valueStr;
|
||||
}
|
||||
} else if (titleStr === this.ExcelConfig.idField) {
|
||||
} else if (titleStr == this.ExcelConfig.idField) {
|
||||
tripObj.trainId = valueStr;
|
||||
} else if (titleStr == this.ExcelConfig.destinationCode) {
|
||||
tripObj.destinationCode = valueStr;
|
||||
}
|
||||
|
||||
// 取需要的字段
|
||||
@ -268,12 +271,15 @@ export default {
|
||||
|
||||
/** 如果此记录车组号的数据为第一条时,则打上标签*/
|
||||
if (runPlanData[elem.serviceNumber][elem.tripNumber].length <= 1) {
|
||||
serie.markPoint.data.push(createMartPoint({
|
||||
directionCode: elem.directionCode,
|
||||
coord: [parseInt(time), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
|
||||
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`,
|
||||
color: lineStyle.color || '#000'
|
||||
}));
|
||||
const result = serie.markPoint.data.some(ele => ele.name == `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`);
|
||||
if (!result) {
|
||||
serie.markPoint.data.push(createMartPoint({
|
||||
directionCode: elem.directionCode,
|
||||
coord: [parseInt(time), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)],
|
||||
name: `(${elem.groupNumber})${elem.serviceNumber}${elem.tripNumber}`,
|
||||
color: lineStyle.color || '#000'
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
/** 计算折返点*/
|
||||
@ -346,7 +352,8 @@ export default {
|
||||
|
||||
/** 根据是否和上一个车次是否相交,计算下一个车次的折返的高度*/
|
||||
computedReentryNumber(code) {
|
||||
return parseInt(code || 1) % 2 ? 1 : 2;
|
||||
// return parseInt(code || 1) % 2 ? 1 : 2;
|
||||
return 1;
|
||||
},
|
||||
|
||||
/** 根据方向计算y折返偏移量*/
|
||||
|
@ -45,7 +45,7 @@ export const loginInfo = {
|
||||
systemType: '011'
|
||||
},
|
||||
drts: {
|
||||
title: '城市轨道交通行车调度员竞赛练习系统',
|
||||
title: '行车调度员实训系统国赛备战版',
|
||||
loginPath: '/login?project=drts',
|
||||
loginParam: 'DRTS',
|
||||
loginTitle: '空串',
|
||||
@ -316,7 +316,7 @@ export const BottomColumnOnlyConInfo = ['heb', 'designheb', 'jyd', 'designjyd',
|
||||
export const GetMapListByProjectList = ['xty', 'designxty', 'gzb', 'designgzb', 'xadt', 'designxadt', 'heb', 'designheb']; // 实训设计平台通过项目code获取地图列表的项目
|
||||
export const CaseHideProjectList = ['heb', 'designheb']; // 案例展示隐藏的项目
|
||||
export const VersionBaseNoShow = ['heb', 'designheb', 'hls', 'designhls', 'drts']; // 登录页右下角版本开发基于不展示
|
||||
export const MainBodyNoShow = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'drts']; // 登录页右下角主体不展示
|
||||
export const MainBodyNoShow = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls']; // 登录页右下角主体不展示
|
||||
export const GenerateRouteProjectList = ['jsxt', 'refereeJsxt'];// 需要在公共路由中生成登录页面的项目
|
||||
export const ProjectLoginStyleList = ['jsxt', 'refereeJsxt', 'gzb', 'designgzb', 'xty', 'designxty', 'xadt', 'designxadt', 'tky', 'designtky', 'jyd', 'designjyd', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'drts']; // 登录页样式
|
||||
export const NoQrcodeList = ['heb', 'designheb'];
|
||||
|
@ -336,6 +336,10 @@ export const OperationEvent = {
|
||||
menuButton: {
|
||||
operation: '1052',
|
||||
domId: '_Tips-Switch-Block-Menu{BOTTOM}'
|
||||
},
|
||||
init: {
|
||||
operation: '1053',
|
||||
domId: '_Tips-Switch-Block-Init'
|
||||
}
|
||||
},
|
||||
// 道岔解封
|
||||
@ -375,6 +379,10 @@ export const OperationEvent = {
|
||||
menuButton: {
|
||||
operation: '1067',
|
||||
domId: '_Tips-Switch-Unblock-menu{BOTTOM}'
|
||||
},
|
||||
init: {
|
||||
operation: '1068',
|
||||
domId: '_Tips-Switch-Unblock-Init'
|
||||
}
|
||||
},
|
||||
// 转动
|
||||
|
@ -341,7 +341,7 @@ const training = {
|
||||
commit('resetScore');
|
||||
// 设置其他属性状态
|
||||
commit('setOffsetStationCode', null);
|
||||
commit('changeMode', null);
|
||||
// commit('changeMode', null);
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -11,20 +11,12 @@
|
||||
<img class="logo" :src="logoImg" :style="{width: logoWidth}">
|
||||
<span>{{ loginTitle==='空串'?'':loginTitle }}</span>
|
||||
</div>
|
||||
<div v-if="project === 'drts' && !gameOver" style="position: absolute; top: 10%;font-size: 50px;color:#F00;">
|
||||
<div style="display: inline-block;">距离全国调度大赛还剩</div>
|
||||
<div v-if="project === 'drts' && !gameOver" style="position: absolute; top: 10%;font-size: 50px;color:#F00;text-align: center;">
|
||||
<div style="display: inline-block;">距离2020年“新誉杯”全国城市轨道交通行业职业技能竞赛还剩</div>
|
||||
<div class="countdown_box">{{ days[0] }}</div>
|
||||
<div class="countdown_box">{{ days[1] }}</div>
|
||||
<div class="countdown_box">{{ days[2] }}</div>
|
||||
<div style="display: inline-block;">天</div>
|
||||
<div class="countdown_box">{{ hours[0] }}</div>
|
||||
<div class="countdown_box">{{ hours[1] }}</div>
|
||||
<div style="display: inline-block;">:</div>
|
||||
<div class="countdown_box">{{ minutes[0] }}</div>
|
||||
<div class="countdown_box">{{ minutes[1] }}</div>
|
||||
<div style="display: inline-block;">:</div>
|
||||
<div class="countdown_box">{{ seconds[0] }}</div>
|
||||
<div class="countdown_box">{{ seconds[1] }}</div>
|
||||
</div>
|
||||
<div v-else-if="project === 'drts' && gameOver" style="position: absolute; top: 100px;font-size: 50px;color:#F00;">
|
||||
<div style="display: inline-block;">全国调度大赛已结束</div>
|
||||
@ -119,13 +111,26 @@
|
||||
</div>
|
||||
<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="project === 'drts'" style="position: absolute; bottom: 30px;text-align: center; font-size: 32px;">
|
||||
<div style="text-align: left;">
|
||||
<span>定制新线路需三周时间!</span><br>
|
||||
<span>满足客户的一切技术需要!</span><br>
|
||||
<span>联系电话: 13289398171</span>
|
||||
<div v-if="project === 'drts'" style="position: absolute; bottom: 200px;text-align: center; font-size: 32px;color:#F00;">
|
||||
<div>郑重承诺:满足用户的一切技术需求!新地图上线三周!新需求两周完成!新BUG两天修复!</div>
|
||||
<div style="width: 300px;font-size: 28px;justify-content:space-between;display: flex;margin:0 auto;margin-top: 30px;">
|
||||
<div style="display: inline-block;">备战国赛</div>
|
||||
<div style="display: inline-block;">免费使用</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div v-if="project === 'drts'" style="position: absolute; bottom: 50px; font-size: 20px;right: 20px;color:#3D3D3D;width: 370px;">
|
||||
<el-row>
|
||||
<el-col :span="6">
|
||||
<img :src="wchatImg" width="80" height="80">
|
||||
</el-col>
|
||||
<el-col :span="18" style="text-align: left">
|
||||
<div style="margin-top: 10px">服务电话:13289398171</div>
|
||||
<div style="margin-top: 10px">截止日期:2020年12月31日</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<div v-if="project === 'drts'" style="position: absolute; bottom: 50px; font-size: 20px;left: 20px;color:#3D3D3D;width: 200px;height: 150px;background: #FFF;padding: 10px;border: 5px solid #CCC;border-radius: 8px;cursor: pointer;">
|
||||
<div class="news-box" @click="goCompetitionRules"><img :src="handRight" width="14" height="14" style="margin-right: 15px">“新誉杯”竞赛规程</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@ -144,6 +149,8 @@ import bgIscsImg from '@/assets/bg_iscs.jpg';
|
||||
import bgCctvImg from '@/assets/bg_cctv.jpg';
|
||||
import bgLswImg from '@/assets/bg_lsw.jpg';
|
||||
import bgPsdImg from '@/assets/bg_psd.png';
|
||||
import HandRight from '@/assets/hand-o-right.png';
|
||||
import wchat from '@/assets/wchat.png';
|
||||
import { UrlConfig } from '@/scripts/ConstDic';
|
||||
import { loginInfo, ProjectIcon, ProjectLoginStyleList, VersionBaseNoShow, MainBodyNoShow, NoQrcodeList} from '@/scripts/ProjectConfig';
|
||||
import { removeToken, getToken } from '@/utils/auth';
|
||||
@ -152,6 +159,7 @@ import FloatPart from './floatPart';
|
||||
import { getIsSignUp } from '@/api/competition';
|
||||
import { getSimulationInfoNew } from '@/api/simulation';
|
||||
import { getSessionStorage } from '@/utils/auth';
|
||||
import { launchFullscreen } from '@/utils/screen';
|
||||
|
||||
export default {
|
||||
name: 'Login',
|
||||
@ -206,10 +214,9 @@ export default {
|
||||
expirationDate: 1607562000000,
|
||||
countdown: null,
|
||||
days: [0, 0, 0],
|
||||
hours: [0, 0],
|
||||
minutes: [0, 0],
|
||||
seconds: [0, 0],
|
||||
gameOver: false
|
||||
gameOver: false,
|
||||
wchatImg: wchat,
|
||||
handRight: HandRight
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -307,29 +314,10 @@ export default {
|
||||
this.loginRefresh();
|
||||
}
|
||||
if (this.project === 'drts') {
|
||||
this.getDaysTime();
|
||||
this.countdown = setInterval(()=>{
|
||||
const nowTime = Date.parse(new Date());
|
||||
this.days = []; this.hours = []; this.minutes = []; this.seconds = [];
|
||||
let difference = this.expirationDate - nowTime;
|
||||
if (difference <= 0) {
|
||||
this.gameOver = true;
|
||||
}
|
||||
const day = Math.floor(difference / (24 * 60 * 60 * 1000));
|
||||
difference = difference % (24 * 60 * 60 * 1000);
|
||||
const hour = Math.floor(difference / (60 * 60 * 1000));
|
||||
difference = difference % (60 * 60 * 1000);
|
||||
const minute = Math.floor(difference / (60 * 1000));
|
||||
const second = difference % (60 * 1000) / 1000;
|
||||
this.days.push(Math.floor(day / 100));
|
||||
this.days.push(Math.floor((day % 100) / 10));
|
||||
this.days.push(day % 10);
|
||||
this.hours.push(Math.floor(hour / 10));
|
||||
this.hours.push(hour % 10);
|
||||
this.minutes.push(Math.floor(minute / 10));
|
||||
this.minutes.push(minute % 10);
|
||||
this.seconds.push(Math.floor(second / 10));
|
||||
this.seconds.push(second % 10);
|
||||
}, 1000);
|
||||
this.getDaysTime();
|
||||
}, 24 * 60 * 60 * 1000);
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
@ -569,6 +557,7 @@ export default {
|
||||
project:this.project
|
||||
}});
|
||||
this.loading = false;
|
||||
launchFullscreen();
|
||||
});
|
||||
});
|
||||
} else if (!this.$route.path.includes('jsxt/login') && !this.$route.path.includes('refereeJsxt/login')) {
|
||||
@ -580,6 +569,21 @@ export default {
|
||||
handleLanguage() {
|
||||
this.$i18n.locale = this.lang;
|
||||
LangStorage.setLang(this.lang);
|
||||
},
|
||||
getDaysTime() {
|
||||
const nowTime = Date.parse(new Date());
|
||||
this.days = []; this.hours = []; this.minutes = []; this.seconds = [];
|
||||
const difference = this.expirationDate - nowTime;
|
||||
if (difference <= 0) {
|
||||
this.gameOver = true;
|
||||
}
|
||||
const day = Math.floor(difference / (24 * 60 * 60 * 1000));
|
||||
this.days.push(Math.floor(day / 100));
|
||||
this.days.push(Math.floor((day % 100) / 10));
|
||||
this.days.push(day % 10);
|
||||
},
|
||||
goCompetitionRules() {
|
||||
window.open('https://mp.weixin.qq.com/s?__biz=MzI3NzMwODY3OQ==&mid=2247506304&idx=1&sn=77708ca228404cee2b28e131cdfb9735&chksm=eb6aade8dc1d24fe6eb9f1334aadda239f47dafc79de7d522e0f3f00e2d3ba1dd213dda6764c&xtrack=1&scene=90&subscene=93&sessionid=1598522875&clicktime=1598523062&enterid=1598523062&ascene=56&devicetype=android-29&version=3.0.27.2701&nettype=WIFI&abtest_cookie=AAACAA%3D%3D&lang=zh_CN&exportkey=AQZ2cTPSob%2B5kBDiWnKw0Js%3D&pass_ticket=12Xyhe%2BbZsC9Vuzfs0iYUUn0i%2Br5JlZiOGCxWoExuthBhnIrpkmUyjVRi6bjyA1I&wx_header=1&platform=win', '_blank');
|
||||
}
|
||||
}
|
||||
};
|
||||
@ -672,6 +676,17 @@ export default {
|
||||
text-align: center;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.news-box {
|
||||
color: #409EFF;
|
||||
width: 100%;
|
||||
border-bottom: dashed 1px #409EFF;
|
||||
font-size: 14px;
|
||||
line-height: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
.news-box:hover {
|
||||
color: #3943CB;
|
||||
}
|
||||
.login-container {
|
||||
position: fixed;
|
||||
display: flex;
|
||||
|
@ -55,6 +55,7 @@
|
||||
import Cookies from 'js-cookie';
|
||||
import ConstConfig from '@/scripts/ConstConfig';
|
||||
import {getScriptPageListOnlineNew, getScriptByIdNew } from '@/api/script';
|
||||
import { EventBus } from '@/scripts/event-bus';
|
||||
|
||||
// 剧本弹窗
|
||||
export default {
|
||||
@ -188,6 +189,7 @@ export default {
|
||||
const res = await getScriptByIdNew(row.id);
|
||||
let newMemberList = [];
|
||||
if (res.code == 200) {
|
||||
EventBus.$emit('clearRunSeries');
|
||||
if (res.data.memberList && res.data.memberList.length > 0) {
|
||||
// newMemberList
|
||||
// const playerList = res.data.memberList.filter(item => item.hasPlay === true);
|
||||
|
@ -41,6 +41,7 @@ import DataTable from '@/views/planSchedule/menusPlan/components/dataTable';
|
||||
import echarts from 'echarts';
|
||||
import {toTimeStamp, formatDuring} from '@/utils/date';
|
||||
import { deepAssign } from '@/utils/index';
|
||||
import { EventBus } from '@/scripts/event-bus';
|
||||
|
||||
export default {
|
||||
name: 'PlanSchedule',
|
||||
@ -148,6 +149,9 @@ export default {
|
||||
mounted() {
|
||||
this.staticSeries = []; this.selectSeries = []; this.runSeries = [];
|
||||
this.PlanConvert = this.$theme.loadPlanConvert(this.$route.query.lineCode);
|
||||
EventBus.$on('clearRunSeries', () => {
|
||||
this.runSeries = [];
|
||||
});
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.destroy();
|
||||
@ -401,9 +405,10 @@ export default {
|
||||
return this.PlanConvert.computedFormatYAxis(this.stations, params);
|
||||
},
|
||||
xAxisLableFormat(value, index) {
|
||||
if (value % 60 === 0) {
|
||||
return timeFormat(value);
|
||||
}
|
||||
// if (value % 60 === 0) {
|
||||
// return timeFormat(value);
|
||||
// }
|
||||
return timeFormat(value);
|
||||
},
|
||||
yAxisLableFormat(value, index) {
|
||||
return '';
|
||||
|
@ -19,7 +19,8 @@
|
||||
<!-- 排班计划 -->
|
||||
<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="isContest" size="small" type="primary" @click="viewChangeMap">切换地图</el-button>
|
||||
<el-button v-if="isContest" size="small" @click="fieldPractice">实操练习</el-button>
|
||||
<el-button v-if="isContest" size="small" @click="viewChangeMap">切换地图</el-button>
|
||||
</el-button-group>
|
||||
</div>
|
||||
<Jl3d-Device
|
||||
@ -201,6 +202,9 @@ export default {
|
||||
},
|
||||
changeMap(query) {
|
||||
this.$emit('changeMap', query);
|
||||
},
|
||||
fieldPractice() {
|
||||
this.$emit('fieldPractice');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -18,6 +18,7 @@
|
||||
:driver-show="isDrive"
|
||||
:all-style="'top:'+(offset+textStatusHeight)+'px'"
|
||||
@changeMap="changeMap"
|
||||
@fieldPractice="fieldPractice"
|
||||
/>
|
||||
|
||||
<div class="display-draft" :class="{'haerbin_btn_box': $route.query.lineCode == '07'}" :style="{bottom: offsetBottom + 'px'}">
|
||||
@ -27,8 +28,10 @@
|
||||
<template v-if="isScriptRun">
|
||||
<el-button type="danger" size="small" @click="handleQuitQuest">退出剧本</el-button>
|
||||
</template>
|
||||
<el-button type="danger" size="small" @click="end">{{ $t('display.demon.initialize') }}</el-button>
|
||||
<el-button type="success" :disabled="isDisable" size="small" @click="selectBeginTime">{{ $t('display.demon.drivingByPlan') }}</el-button>
|
||||
<template v-else>
|
||||
<el-button type="danger" size="small" @click="end">{{ $t('display.demon.initialize') }}</el-button>
|
||||
<el-button type="success" :disabled="isDisable" size="small" @click="selectBeginTime">{{ $t('display.demon.drivingByPlan') }}</el-button>
|
||||
</template>
|
||||
</template>
|
||||
</el-button-group>
|
||||
</div>
|
||||
@ -170,9 +173,11 @@ export default {
|
||||
this.setRuning(false);
|
||||
},
|
||||
'$store.state.map.mapViewLoadedCount': function (val) { // 地图视图加载完成标识 开始加载默认状态
|
||||
const initTime = new Date(this.$store.state.training.initTime || null);
|
||||
const model = {initTime:this.formatTime(initTime)};
|
||||
this.start(model);
|
||||
if (this.$route.query.noFirst) {
|
||||
const initTime = new Date(this.$store.state.training.initTime || null);
|
||||
const model = {initTime:this.formatTime(initTime)};
|
||||
this.start(model);
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@ -258,6 +263,7 @@ export default {
|
||||
this.$store.dispatch('training/setPrdType', this.currentPrdType); // 改变prdType
|
||||
query.group = resp.data;
|
||||
const newQuery = Object.assign({}, query);
|
||||
newQuery.noFirst = true;
|
||||
this.$router.replace({query: newQuery});
|
||||
launchFullscreen();
|
||||
}).catch(error => {
|
||||
@ -428,6 +434,9 @@ export default {
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
fieldPractice() {
|
||||
this.$refs.menuSchema.viewRunQuest();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -179,6 +179,8 @@ export default {
|
||||
if (resp && resp.code == 200) {
|
||||
const detail = resp.data;
|
||||
await this.$store.dispatch('training/setPrdType', this.prdTypeMap[detail.prdType]);
|
||||
|
||||
await this.$store.dispatch('training/setTrainingData', detail); // 设置实训信息
|
||||
} else {
|
||||
this.$messageBox(`获取实训步骤数据失败`);
|
||||
this.endViewLoading();
|
||||
|
@ -209,6 +209,7 @@ export default {
|
||||
this.textStatusHeight = textStatus.offsetHeight || 0;
|
||||
textStatus.style.top = this.offset - 15 + 'px';
|
||||
}
|
||||
console.log(this.offset, '*************');
|
||||
});
|
||||
},
|
||||
// 缩放设置
|
||||
|
@ -200,7 +200,7 @@ export default {
|
||||
end() {
|
||||
// 如果是测试模式需要获取最终的得分
|
||||
if (this.trainingObj && this.trainingObj.id) {
|
||||
if (this.started) {
|
||||
if (this.started) {
|
||||
this.isDisable = false;
|
||||
this.$store.dispatch('training/isStepOver').then((rnt) => {
|
||||
if (rnt) {
|
||||
@ -256,7 +256,7 @@ export default {
|
||||
},
|
||||
// 课程和考试系统
|
||||
async initData() {
|
||||
this.$store.dispatch('training/end', null);
|
||||
// this.$store.dispatch('training/end', null);
|
||||
if (parseInt(this.$route.query.trainingId)) {
|
||||
// 设置地图数据
|
||||
// 设置实训数据
|
||||
|
@ -64,6 +64,7 @@ import { quitScriptNew } from '@/api/simulation';
|
||||
import { setGoodsTryUse } from '@/api/management/goods';
|
||||
import {loadScriptNew } from '@/api/simulation';
|
||||
import Vue from 'vue';
|
||||
import { EventBus } from '@/scripts/event-bus';
|
||||
|
||||
export default {
|
||||
name: 'MenuDemon',
|
||||
@ -296,6 +297,8 @@ export default {
|
||||
handleQuitQuest() {
|
||||
quitScriptNew(this.group).then(resp => {
|
||||
getSimulationInfoNew(this.group).then((res)=>{
|
||||
this.isDisable = false;
|
||||
EventBus.$emit('clearRunSeries');
|
||||
this.quitQuest();
|
||||
this.initLoadPage();
|
||||
this.clearAllData();
|
||||
|
@ -6,7 +6,7 @@
|
||||
<el-button-group>
|
||||
<el-button v-if="isScheduling && isDepot" size="small" type="primary" @click="runPlanEditShow">运行图编辑</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 && !isContest" size="small" :disabled="viewDisabled" type="success" @click="viewRunQuest">{{ $t('display.schema.loadScript') }}</el-button>
|
||||
<!-- 运行图加载 -->
|
||||
<el-button v-if="notScript && running" size="small" :disabled="viewDisabled" @click="viewRunPlan">{{ $t('display.schema.previewRunDiagram') }}</el-button>
|
||||
<el-button v-if="notScript && !running" size="small" type="warning" @click="loadRunPlan">{{ $t('display.schema.loadRunDiagram') }}</el-button>
|
||||
@ -101,6 +101,9 @@ export default {
|
||||
},
|
||||
isDepot() {
|
||||
return this.$route.query.type === 'DEPOT';
|
||||
},
|
||||
isContest() {
|
||||
return this.project === 'drts';
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
@ -57,7 +57,7 @@ export default {
|
||||
return (this.$route.query.lineCode == 10 || this.$route.query.lineCode == 11) && this.isDisplay;
|
||||
},
|
||||
top() {
|
||||
return this.isShowDate ? (this.$route.query.prdType == '05' ? 5 : 35) : this.offset;
|
||||
return this.isShowDate ? (this.$route.query.prdType == '05' ? 5 : this.offset - 10) : this.offset;
|
||||
},
|
||||
newRight() {
|
||||
return this.isShowDate ? this.$store.state.config.width - 420 : this.$store.state.config.width / 2 - 55;
|
||||
|
@ -53,6 +53,8 @@ export default {
|
||||
Switch_Hook_Lock: '道岔钩锁'
|
||||
};
|
||||
this.scriptTipMessage = '请对【' + targetName.label + '】下达【' + CommandList[val.commandInitiateVO.commandType] + '】指令';
|
||||
} else if (val.type == 'Drive') {
|
||||
// debugger;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -178,6 +178,8 @@ export default {
|
||||
this.$store.dispatch('training/setRoles', 'DISPATCHER');
|
||||
} else if (role.type == '司机') {
|
||||
prdType = '04';
|
||||
this.$store.dispatch('training/setRoles', 'DRIVER');
|
||||
this.$store.dispatch('scriptRecord/updateRole', 'DRIVER' + ':' + role.id);
|
||||
} else if (role.type == '通号') {
|
||||
prdType = '';
|
||||
const routeData = this.$router.resolve({
|
||||
|
@ -696,8 +696,10 @@ export default {
|
||||
}
|
||||
selected.relevanceSectionList.forEach(dataCode => { // 关联道岔区段 父元素清空
|
||||
const sectionModel = this.getSectionByCode(dataCode);
|
||||
sectionModel.parentCode = '';
|
||||
models.push(sectionModel);
|
||||
if (sectionModel) {
|
||||
sectionModel.parentCode = '';
|
||||
models.push(sectionModel);
|
||||
}
|
||||
});
|
||||
return models;
|
||||
},
|
||||
|
@ -275,17 +275,6 @@ export default {
|
||||
}
|
||||
});
|
||||
}
|
||||
// if (sectiona1.points[sectiona1.points.length - 1].x == sectiona.points[0].x && sectiona1.points[sectiona1.points.length - 1].y == sectiona.points[0].y) {
|
||||
// elem['relevanceSectionList'] = [elem.sectionACode, elem.sectionBCode, elem.sectionCCode, ele.sectionACode, ele.sectionBCode, ele.sectionCCode];
|
||||
// sectiona1.parentCode = uid;
|
||||
// sectionb1.parentCode = uid;
|
||||
// sectionc1.parentCode = uid;
|
||||
// sectionList.forEach((item, index) => {
|
||||
// if (item.code == elem.code) {
|
||||
// sectionList.splice(index, 1);
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
});
|
||||
}
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user