# Conflicts:
#	src/jmapNew/config/skinCode/ningbo_01.js
This commit is contained in:
lVAL 2021-02-20 17:03:45 +08:00
commit 17057cc014
16 changed files with 589 additions and 340 deletions

View File

@ -239,7 +239,9 @@ class SkinCode extends defaultStyle {
fontWeight:'normal', // 字体粗细 fontWeight:'normal', // 字体粗细
textPadding:[0, 0], // 字体边距 textPadding:[0, 0], // 字体边距
borderColor:'', // 字体边框颜色 borderColor:'', // 字体边框颜色
textBorderWidth:0 // 字体边框宽度 textBorderWidth:0, // 字体边框宽度
isSpecialType:true, // 特雷兹特殊类型
noneModeColor:'#ff0' // 无模式时字体颜色
}, },
kmPostShow: false, // 公里标显示 kmPostShow: false, // 公里标显示
@ -262,7 +264,7 @@ class SkinCode extends defaultStyle {
lampSpace: 60 // 灯间距 lampSpace: 60 // 灯间距
}, },
StationControl: { StationControl: {
disPlayNone: true, // 不显示 disPlayNone: true, // 不显示
text: { text: {
distance: 12, // 灯和文字之间的距离 distance: 12, // 灯和文字之间的距离
fontSize: 12, // 字体大小 fontSize: 12, // 字体大小

View File

@ -528,6 +528,10 @@ class Signal extends Group {
this.sigBack.show(); this.sigBack.show();
this.sigBack.setStyle('fill', this.style.Signal.sigBack.fillColor); this.sigBack.setStyle('fill', this.style.Signal.sigBack.fillColor);
} }
if (this.style.Signal.lamp.blockFlash ) {
this.lamps[0].setBorderColor(this.style.Signal.lamp.borderColor);
this.lamps[0].setAnimationStart(this.style.Signal.lamp.blockColor);
}
} }
reblock() { reblock() {
this.sigPost.setHorColor(this.style.Signal.post.reblockHorColor); this.sigPost.setHorColor(this.style.Signal.post.reblockHorColor);
@ -733,92 +737,92 @@ class Signal extends Group {
const path = window.location.href; const path = window.location.href;
this.recover(); this.recover();
// 只响应前端自定义类型的状态变化 // 只响应前端自定义类型的状态变化
if (model._free) { if (model._free) {
this.setAshShow() this.setAshShow();
} else { } else {
/** 信号机进路按钮显示 */ /** 信号机进路按钮显示 */
/** 终端信号机按钮 */ /** 终端信号机按钮 */
if (model.isRouteActive) { if (model.isRouteActive) {
this.setLowButtonActive(); this.setLowButtonActive();
} else { } else {
this.setLowButtonRecover(); this.setLowButtonRecover();
} }
model.isRouteSignal && this.setLowButtonShow(); model.isRouteSignal && this.setLowButtonShow();
/** 设置灯的颜色 */ /** 设置灯的颜色 */
model.redOpen && !model.yellowOpen && !model.greenOpen && this.close(model.logicLight); // 信号关闭 model.redOpen && !model.yellowOpen && !model.greenOpen && this.close(model.logicLight); // 信号关闭
model.greenOpen && !model.redOpen && !model.yellowOpen && this.openPositive(model.logicLight); // 信号正向开放 model.greenOpen && !model.redOpen && !model.yellowOpen && this.openPositive(model.logicLight); // 信号正向开放
model.yellowOpen && !model.redOpen && !model.greenOpen && this.openLateral(model.logicLight); // 信号侧向开放 model.yellowOpen && !model.redOpen && !model.greenOpen && this.openLateral(model.logicLight); // 信号侧向开放
model.redOpen && model.yellowOpen && !model.greenOpen && this.guid(); // 引导信号显示 model.redOpen && model.yellowOpen && !model.greenOpen && this.guid(); // 引导信号显示
/** 信号机封锁 */ // 缺一个功能封锁 /** 信号机封锁 */ // 缺一个功能封锁
model.blockade && this.block(); model.blockade && this.block();
model.reblockade && this.reblock(); model.reblockade && this.reblock();
model.remainTime && this.showRemainTime(model.remainTime); model.remainTime && this.showRemainTime(model.remainTime);
if (!path.includes('/map/draw')) { if (!path.includes('/map/draw')) {
// 联锁自动进路通过 // 联锁自动进路通过
model.fleetMode && this.setAutoRouteOpen(); model.fleetMode && this.setAutoRouteOpen();
// 联锁自动触发 // 联锁自动触发
if (model.ciControl) { if (model.ciControl) {
this.setAutoTriggerOpen(); this.setAutoTriggerOpen();
} else { } else {
!model.atsControl && this.setArtificialRouteClose(); /** 进路交人工控或自动控 */ !model.atsControl && this.setArtificialRouteClose(); /** 进路交人工控或自动控 */
} }
} }
// 设置点灯类型 必须在最后设置不能放前面 logicLight 0 物理点灯 1 逻辑点灯 // 设置点灯类型 必须在最后设置不能放前面 logicLight 0 物理点灯 1 逻辑点灯
if (model.logicLight) { if (model.logicLight) {
this.logicalLight(); // 设置逻辑点灯 this.logicalLight(); // 设置逻辑点灯
} else { } else {
this.physicsLight(); // 设置物理点灯 this.physicsLight(); // 设置物理点灯
} }
if (model.isStartSignal) { if (model.isStartSignal) {
this.insideTriangle && this.insideTriangle.show(); this.insideTriangle && this.insideTriangle.show();
this.lamps.forEach(item => { item.hide(); }); this.lamps.forEach(item => { item.hide(); });
this.insideTriangle.setStyle({fill: this.style.Signal.insideTriangle.startSignalColor, stroke: this.style.Signal.insideTriangle.startSignalColor}); this.insideTriangle.setStyle({fill: this.style.Signal.insideTriangle.startSignalColor, stroke: this.style.Signal.insideTriangle.startSignalColor});
} else if (model.isTerminalSignal) { } else if (model.isTerminalSignal) {
this.sigPost && this.sigPost.setTerminalOptional(); this.sigPost && this.sigPost.setTerminalOptional();
} }
if (model.isCiConfirm) { if (model.isCiConfirm) {
this.setCiConfirm(); this.setCiConfirm();
} }
if (model.isRequestLock) { if (model.isRequestLock) {
this.sigBack && this.sigBack.show(); this.sigBack && this.sigBack.show();
this.sigBack && this.sigBack.animateStyle(true) this.sigBack && this.sigBack.animateStyle(true)
.when(0, { fill: this.style.backgroundColor }) .when(0, { fill: this.style.backgroundColor })
.when(1000, { fill: this.style.Signal.sigBack.fillColor }) .when(1000, { fill: this.style.Signal.sigBack.fillColor })
.when(2000, { fill: this.style.backgroundColor }) .when(2000, { fill: this.style.backgroundColor })
.when(3000, { fill: this.style.Signal.sigBack.fillColor }) .when(3000, { fill: this.style.Signal.sigBack.fillColor })
.start(); .start();
} }
if (model.isRequestGuide) { if (model.isRequestGuide) {
this.lamps && this.lamps[0] && this.lamps[0].setAnimationStart(this.style.Signal.lamp.yellowColor); this.lamps && this.lamps[0] && this.lamps[0].setAnimationStart(this.style.Signal.lamp.yellowColor);
} }
if (path.includes('/map/draw')) { if (path.includes('/map/draw')) {
if (model.type == 'PASSING') { if (model.type == 'PASSING') {
this.lamps && this.lamps.length && this.lamps.forEach(elem => { this.lamps && this.lamps.length && this.lamps.forEach(elem => {
elem.setColor(this.style.Signal.lamp.greenColor); elem.setColor(this.style.Signal.lamp.greenColor);
}); });
} else { } else {
this.lamps && this.lamps.length && this.lamps.forEach(elem => { this.lamps && this.lamps.length && this.lamps.forEach(elem => {
elem.setColor(this.style.Signal.lamp.redColor); elem.setColor(this.style.Signal.lamp.redColor);
}); });
} }
} }
if ( model.level === 3 && this.style.Signal.post.mainSignalVerColor && !model.fleetMode) { if ( model.level === 3 && this.style.Signal.post.mainSignalVerColor && !model.fleetMode) {
this.sigPost.setVerColor(this.style.Signal.post.mainSignalVerColor); this.sigPost.setVerColor(this.style.Signal.post.mainSignalVerColor);
} else if (model.level === 1 && this.style.Signal.post.closeSignalVerColor && !model.fleetMode) { } else if (model.level === 1 && this.style.Signal.post.closeSignalVerColor && !model.fleetMode) {
this.sigPost.setVerColor(this.style.Signal.post.closeSignalVerColor); this.sigPost.setVerColor(this.style.Signal.post.closeSignalVerColor);
} else if (model.level === 2 && this.style.Signal.post.guideSignalVerColor && !model.fleetMode) { } else if (model.level === 2 && this.style.Signal.post.guideSignalVerColor && !model.fleetMode) {
this.sigPost.setVerColor(this.style.Signal.post.guideSignalVerColor); this.sigPost.setVerColor(this.style.Signal.post.guideSignalVerColor);
} }
// 信号机故障 // 信号机故障
model.fault && this.fault(); model.fault && this.fault();
// 设置灰显 // 设置灰显
if (model.noStatus || model.level === 0) { if (model.noStatus || model.level === 0) {
this.setAshShow(); this.setAshShow();
} }
} }
} }
getBoundingRect() { getBoundingRect() {

View File

@ -386,7 +386,12 @@ export default class Station extends Group {
this.substationControl && this.substationControl.setColor(this.style.Station.StationControl.lamp.grayColor); this.substationControl && this.substationControl.setColor(this.style.Station.StationControl.lamp.grayColor);
this.centerControl && this.centerControl.setColor(this.style.Station.StationControl.lamp.greenColor); this.centerControl && this.centerControl.setColor(this.style.Station.StationControl.lamp.greenColor);
this.centerControl && this.centerControl.setTextColor(this.style.Station.StationControl.lamp.greenColor); // 文字颜色 this.centerControl && this.centerControl.setTextColor(this.style.Station.StationControl.lamp.greenColor); // 文字颜色
this.stationText.setColor('#1fdc1f'); if (this.style.Station.stationText.isSpecialType) {
// simulationRoleList
} else {
this.stationText.setColor('#1fdc1f');
}
this.stationControlText && this.stationControlText.setStyle({text:'CC', textFill:this.style.Station.StationControl.text.centerControlColor}); this.stationControlText && this.stationControlText.setStyle({text:'CC', textFill:this.style.Station.StationControl.text.centerControlColor});
// //
// //
@ -412,7 +417,11 @@ export default class Station extends Group {
// this.subheadText && this.subheadText.setStyle('textFill', '#fff'); // this.subheadText && this.subheadText.setStyle('textFill', '#fff');
// } // }
// } // }
this.stationText.setColor('#fff'); if (this.style.Station.stationText.isSpecialType) {
} else {
this.stationText.setColor('#fff');
}
} }
handleEmergency() { // 紧急站控 handleEmergency() { // 紧急站控
@ -428,7 +437,11 @@ export default class Station extends Group {
// this.subheadText && this.subheadText.setStyle('textFill', '#fff'); // this.subheadText && this.subheadText.setStyle('textFill', '#fff');
// } // }
// } // }
this.stationText.setColor('#fff'); if (this.style.Station.stationText.isSpecialType) {
} else {
this.stationText.setColor('#fff');
}
} }
handleInterlock() { // 联锁控 成都三号线 handleInterlock() { // 联锁控 成都三号线
@ -449,6 +462,9 @@ export default class Station extends Group {
if (this.style.Station.stationText.noneModeFlash) { if (this.style.Station.stationText.noneModeFlash) {
this.stationText.setAnimateStyle(this.noneBeforeMode); this.stationText.setAnimateStyle(this.noneBeforeMode);
} }
if (this.style.Station.stationText.isSpecialType) {
this.stationText.setColor(this.style.Station.stationText.noneModeColor);
}
} }
recover() { recover() {
@ -463,7 +479,11 @@ export default class Station extends Group {
this.substationArrowsControl && this.substationArrowsControl.setColor(this.style.Station.StationControl.lamp.grayColor); this.substationArrowsControl && this.substationArrowsControl.setColor(this.style.Station.StationControl.lamp.grayColor);
this.emergencyArrowsControl && this.emergencyArrowsControl.setColor(this.style.Station.StationControl.lamp.grayColor); this.emergencyArrowsControl && this.emergencyArrowsControl.setColor(this.style.Station.StationControl.lamp.grayColor);
this.stationText && this.stationText.stopAnimate(); if (this.style.Station.stationText.isSpecialType) {
} else {
this.stationText && this.stationText.stopAnimate();
}
} }
// 设置状态 // 设置状态

View File

@ -122,10 +122,10 @@ class ESolidStand extends Group {
model.trainParking && this.setColor(style.StationStand.solidStand.stopColor); model.trainParking && this.setColor(style.StationStand.solidStand.stopColor);
// 紧急停车 // 紧急停车
model.emergencyClosed && this.setColor(style.StationStand.solidStand.spareColor); model.emergencyClosed && this.setColor(style.StationStand.solidStand.spareColor);
// 系统扣车
// model.centerHoldTrain && this.setHoldTrain('System');
// 站台扣车 // 站台扣车
(model.centerHoldTrain || model.stationHoldTrain) && this.setHoldTrain('Station'); (model.centerHoldTrain || model.stationHoldTrain) && this.setHoldTrain('Station');
// 系统扣车
model.sysHoldTrain && this.setHoldTrain('System');
} else { } else {
this.handlePassagerColor(model.num); this.handlePassagerColor(model.num);
} }

View File

@ -156,6 +156,7 @@ export default {
}, },
{ {
title: '区域选择', title: '区域选择',
operate: OperationEvent.Station.areaSelection.mbar,
click: this.selectedArea click: this.selectedArea
}, },
{ {
@ -362,6 +363,7 @@ export default {
}, },
{ {
title: '区域选择', title: '区域选择',
operate: OperationEvent.Station.areaSelection.mbar,
click: this.selectedArea click: this.selectedArea
}, },
{ {
@ -978,8 +980,8 @@ export default {
}, },
selectedArea(order) { selectedArea(order) {
const operate = { const operate = {
type: 'bar' type: 'bar',
// operation: order.operation operation: order.operation
}; };
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {

View File

@ -4,7 +4,7 @@
class="ningbo-01__systerm station-control" class="ningbo-01__systerm station-control"
:title="title" :title="title"
:visible.sync="show" :visible.sync="show"
width="600px" width="650px"
:before-close="doClose" :before-close="doClose"
:show-close="true" :show-close="true"
:z-index="2000" :z-index="2000"
@ -14,27 +14,38 @@
<el-row> <el-row>
<el-col :span="18"> <el-col :span="18">
<el-table :data="tableData" style="width: 100%" height="334px" size="mini"> <el-table :data="tableData" style="width: 100%" height="334px" size="mini">
<el-table-column prop="apply" label="申请"> <el-table-column prop="apply" label="申请" width="50" align="center">
<el-checkbox /> <template slot-scope="scope">
<el-checkbox v-model="scope.row.apply" />
</template>
</el-table-column> </el-table-column>
<el-table-column prop="release" label="释放"> <el-table-column prop="release" label="释放" width="50" align="center">
<el-checkbox /> <template slot-scope="scope">
<el-checkbox v-model="scope.row.release" />
</template>
</el-table-column> </el-table-column>
<el-table-column prop="distribution" label="强制分配"> <el-table-column prop="distribution" label="强制分配" width="80" align="center">
<el-checkbox /> <template slot-scope="scope">
<el-checkbox v-model="scope.row.distribution" />
</template>
</el-table-column> </el-table-column>
<el-table-column prop="name" label="车站名" /> <el-table-column prop="name" label="车站名" align="center" width="100" :show-overflow-tooltip="true" />
<el-table-column prop="control" label="控制状态" /> <el-table-column prop="control" label="控制状态" align="center" width="70">
<template slot-scope="scope">
<div>{{ getControlStatus(scope.row) }}</div>
</template>
</el-table-column>
<el-table-column prop="stationCode" label="" align="center" />
</el-table> </el-table>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-button style="width: 125px;margin-left: 10px;">全部申请</el-button> <el-button style="width: 125px;margin-left: 10px;" @click="applyAll">全部申请</el-button>
<el-button style="width: 125px;margin-top: 10px;">取消全部申请</el-button> <el-button style="width: 125px;margin-top: 10px;" @click="cancelApplyAll">取消全部申请</el-button>
<el-button style="width: 125px;margin-top: 10px;">全部释放</el-button> <el-button style="width: 125px;margin-top: 10px;" @click="releaseAll">全部释放</el-button>
<el-button style="width: 125px;margin-top: 10px;">取消全部释放</el-button> <el-button style="width: 125px;margin-top: 10px;" @click="cancelReleaseAll">取消全部释放</el-button>
<el-button style="width: 125px;margin-top: 10px;">全部强制分配</el-button> <el-button style="width: 125px;margin-top: 10px;" @click="distributionAll">全部强制分配</el-button>
<el-button style="width: 125px;margin-top: 10px;">取消全部强制分配</el-button> <el-button style="width: 125px;margin-top: 10px;" @click="cancelDistributionAll">取消全部强制分配</el-button>
<el-button style="width: 125px;margin-top: 10px;">应用</el-button> <el-button style="width: 125px;margin-top: 10px;" @click="commit">应用</el-button>
<el-button style="width: 125px;margin-top: 10px;">退出</el-button> <el-button style="width: 125px;margin-top: 10px;">退出</el-button>
</el-col> </el-col>
</el-row> </el-row>
@ -44,6 +55,8 @@
<script> <script>
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo'; import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
export default { export default {
name: 'AreaSelection', name: 'AreaSelection',
@ -54,7 +67,9 @@ export default {
return { return {
show: false, show: false,
title: '区域选择', title: '区域选择',
tableData: [] tableData: [],
stationCentralizedMap: {},
memberId: ''
}; };
}, },
computed: { computed: {
@ -62,19 +77,106 @@ export default {
'stationList' 'stationList'
]) ])
}, },
mounted() {
this.stationList.forEach(item => {
if (item.centralized) {
this.stationCentralizedMap[item.code] = item.code;
item.chargeStationCodeList.forEach(ele => {
this.stationCentralizedMap[ele] = item.code;
});
}
});
},
methods: { methods: {
doShow() { doShow() {
this.tableData = []; this.tableData = [];
this.stationList.forEach(item => { this.$store.state.training.simulationUserList.forEach(item => {
if (item.centralized) { if (item.type === 'STATION_SUPERVISOR' && item.userId == this.$store.state.user.id) {
this.tableData.push(item); this.memberId = item.memberId;
const centralizedStationCode = this.stationCentralizedMap[item.deviceCode];
const centralizedStation = this.$store.getters['map/getDeviceByCode'](centralizedStationCode);
this.$set(centralizedStation, 'apply', false);
this.$set(centralizedStation, 'release', false);
this.$set(centralizedStation, 'distribution', false);
this.tableData.push(centralizedStation);
centralizedStation.chargeStationCodeList.forEach(elem => {
const station = this.$store.getters['map/getDeviceByCode'](elem);
this.$set(station, 'apply', false);
this.$set(station, 'release', false);
this.$set(station, 'distribution', false);
this.tableData.push(station);
});
} else if (item.type === 'DISPATCHER' && item.userId == this.$store.state.user.id) {
this.memberId = item.memberId;
this.stationList.forEach(item => {
this.$set(item, 'apply', false);
this.$set(item, 'release', false);
this.$set(item, 'distribution', false);
this.tableData.push(item);
});
} }
}); });
console.log(this.stationList, this.tableData);
this.show = true; this.show = true;
}, },
doClose() { doClose() {
this.show = false; this.show = false;
},
getControlStatus(station) {
const newStation = this.$store.getters['map/getDeviceByCode'](station.code);
return newStation.controller === this.memberId ? '自控' : '未控';
},
applyAll() {
this.tableData.forEach(item => {
// this.$set(item, 'apply', true);
item.apply = true;
});
},
cancelApplyAll() {
this.tableData.forEach(item => {
item.apply = false;
});
},
releaseAll() {
this.tableData.forEach(item => {
item.release = true;
});
},
cancelReleaseAll() {
this.tableData.forEach(item => {
item.release = false;
});
},
distributionAll() {
this.tableData.forEach(item => {
item.distribution = true;
});
},
cancelDistributionAll() {
this.tableData.forEach(item => {
item.distribution = false;
});
},
commit() {
const paramsStation = [];
this.tableData.forEach(item => {
if (item.apply) {
paramsStation.push(item.code);
}
});
const operate = {
over: true,
operation: OperationEvent.Station.areaSelection.confirm.operation,
cmdType: CMD.Station.CMD_STATION_APPLY_CONTROL,
param: {
stationCodes: paramsStation
}
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
// this.doClose();
}
});
} }
} }
}; };

View File

@ -95,9 +95,9 @@
<interval-stop-number ref="intervalStopNumber" /> <interval-stop-number ref="intervalStopNumber" />
<allocate-time ref="allocateTime" /> <allocate-time ref="allocateTime" />
<station-transfer ref="stationTransfer" /> <station-transfer ref="stationTransfer" />
<station-request ref="stationRequest" /> <station-request ref="stationRequest" />
<station-devolution ref="stationDevolution" /> <station-devolution ref="stationDevolution" />
<station-reclaim ref="stationReclaim" /> <station-reclaim ref="stationReclaim" />
<stand-detail ref="standDetail" /> <stand-detail ref="standDetail" />
<switch-command ref="switchCommand" /> <switch-command ref="switchCommand" />
<initialize-switch-block ref="initializeSwitchBlock" /> <initialize-switch-block ref="initializeSwitchBlock" />
@ -203,10 +203,10 @@ export default {
StandDetain, StandDetain,
IntervalStopNumber, IntervalStopNumber,
AllocateTime, AllocateTime,
StationTransfer, StationTransfer,
StationRequest, StationRequest,
StationDevolution, StationDevolution,
StationReclaim, StationReclaim,
StandDetail, StandDetail,
SwitchCommand, SwitchCommand,
InitializeSwitchBlock, InitializeSwitchBlock,
@ -356,7 +356,7 @@ export default {
{ {
title: '取消CBTC列车进路', title: '取消CBTC列车进路',
click: this.cancelCbtcRoute click: this.cancelCbtcRoute
}, }
// { // {
// title: 'VOBC', // title: 'VOBC',
// click: this.undeveloped // click: this.undeveloped
@ -429,33 +429,33 @@ export default {
children: [ children: [
{ {
title: '开放/关闭', title: '开放/关闭',
click: this.standOpenOrClose, click: this.standOpenOrClose,
operate: OperationEvent.Command.commandNingBo3.line_stand_openOrClose operate: OperationEvent.Command.commandNingBo3.line_stand_openOrClose
}, },
{ {
title: '设置/取消扣车', title: '设置/取消扣车',
click: this.setStandDetain, click: this.setStandDetain,
operate: OperationEvent.Command.commandNingBo3.line_stand_holdOrNot operate: OperationEvent.Command.commandNingBo3.line_stand_holdOrNot
}, },
{ {
title: '设置站间列车数量', title: '设置站间列车数量',
click: this.undeveloped, click: this.undeveloped,
operate: OperationEvent.Command.commandNingBo3.line_stand_trainNum operate: OperationEvent.Command.commandNingBo3.line_stand_trainNum
}, },
{ {
title: '分配停站时间', title: '分配停站时间',
click: this.setAllocateTime, click: this.setAllocateTime,
operate: OperationEvent.Command.commandNingBo3.line_stand_stopTime operate: OperationEvent.Command.commandNingBo3.line_stand_stopTime
}, },
{ {
title: '授权转移', title: '授权转移',
click: this.authorizeTransfer, click: this.authorizeTransfer,
operate: OperationEvent.Command.commandNingBo3.line_stand_transfer operate: OperationEvent.Command.commandNingBo3.line_stand_transfer
}, },
{ {
title: '显示', title: '显示',
click: this.showStandDetail, click: this.showStandDetail,
operate: OperationEvent.Command.commandNingBo3.line_stand_detail operate: OperationEvent.Command.commandNingBo3.line_stand_detail
} }
] ]
}, },
@ -464,28 +464,28 @@ export default {
operate: OperationEvent.Command.commandNingBo3.line_switch, operate: OperationEvent.Command.commandNingBo3.line_switch,
children: [ children: [
{ {
title: '命令', title: '命令',
operate: OperationEvent.Command.commandNingBo3.line_switch_cmd, operate: OperationEvent.Command.commandNingBo3.line_switch_cmd,
click: this.setSwitchCommand click: this.setSwitchCommand
}, },
{ {
title: '封锁', title: '封锁',
operate: OperationEvent.Command.commandNingBo3.line_switch_block, operate: OperationEvent.Command.commandNingBo3.line_switch_block,
click: this.setBlockSwitch click: this.setBlockSwitch
}, },
{ {
title: '解除封锁', title: '解除封锁',
operate: OperationEvent.Command.commandNingBo3.line_switch_unblock, operate: OperationEvent.Command.commandNingBo3.line_switch_unblock,
click: this.setUnblockSwitch click: this.setUnblockSwitch
}, },
{ {
title: '请求动岔/请求或授权/取消', title: '请求动岔/请求或授权/取消',
operate: OperationEvent.Command.commandNingBo3.line_switch_empower, operate: OperationEvent.Command.commandNingBo3.line_switch_empower,
click: this.setSwitchActive click: this.setSwitchActive
}, },
{ {
title: '显示', title: '显示',
operate: OperationEvent.Command.commandNingBo3.line_switch_detail, operate: OperationEvent.Command.commandNingBo3.line_switch_detail,
click: this.showSwitchDetail click: this.showSwitchDetail
} }
] ]
@ -496,38 +496,38 @@ export default {
children: [ children: [
{ {
title: '引导', title: '引导',
operate: OperationEvent.Command.commandNingBo3.line_signal_guide, operate: OperationEvent.Command.commandNingBo3.line_signal_guide,
click: this.setSignalGuide click: this.setSignalGuide
}, },
{ {
title: '取消允许锁闭', title: '取消允许锁闭',
operate: OperationEvent.Command.commandNingBo3.line_signal_lockOrNot, operate: OperationEvent.Command.commandNingBo3.line_signal_lockOrNot,
click: this.setSignalCanBlock click: this.setSignalCanBlock
}, },
{ {
title: '进路/命令', title: '进路/命令',
operate: OperationEvent.Command.commandNingBo3.line_signal_cmd, operate: OperationEvent.Command.commandNingBo3.line_signal_cmd,
click: this.setRouteCommand click: this.setRouteCommand
}, },
{ {
title: '信号指示模式', title: '信号指示模式',
operate: OperationEvent.Command.commandNingBo3.line_signal_indicator, operate: OperationEvent.Command.commandNingBo3.line_signal_indicator,
click: this.setSignalModel click: this.setSignalModel
}, },
{ {
title: '封锁', title: '封锁',
operate: OperationEvent.Command.commandNingBo3.line_signal_block, operate: OperationEvent.Command.commandNingBo3.line_signal_block,
click: this.setSignalBlock click: this.setSignalBlock
}, },
{ {
title: '解除封锁', title: '解除封锁',
operate: OperationEvent.Command.commandNingBo3.line_signal_unblock, operate: OperationEvent.Command.commandNingBo3.line_signal_unblock,
click: this.setSignalCancelBlock click: this.setSignalCancelBlock
}, },
{ {
title: '显示', title: '显示',
operate: OperationEvent.Command.commandNingBo3.line_signal_detail, operate: OperationEvent.Command.commandNingBo3.line_signal_detail,
click: this.showSignalDetail click: this.showSignalDetail
} }
] ]
@ -537,23 +537,23 @@ export default {
operate: OperationEvent.Command.commandNingBo3.line_section, operate: OperationEvent.Command.commandNingBo3.line_section,
children: [ children: [
{ {
title: '开放', title: '开放',
operate: OperationEvent.Command.commandNingBo3.line_section_open, operate: OperationEvent.Command.commandNingBo3.line_section_open,
click: this.handleOpenSection click: this.handleOpenSection
}, },
{ {
title: '关闭', title: '关闭',
operate: OperationEvent.Command.commandNingBo3.line_section_close, operate: OperationEvent.Command.commandNingBo3.line_section_close,
click: this.handleCloseSection click: this.handleCloseSection
}, },
{ {
title: '临时限速', title: '临时限速',
operate: OperationEvent.Command.commandNingBo3.line_section_limitSpeed, operate: OperationEvent.Command.commandNingBo3.line_section_limitSpeed,
click: this.handleLimitSpeed click: this.handleLimitSpeed
}, },
{ {
title: '显示', title: '显示',
operate: OperationEvent.Command.commandNingBo3.line_section_detail, operate: OperationEvent.Command.commandNingBo3.line_section_detail,
click: this.handleSectionShow click: this.handleSectionShow
} }
] ]
@ -727,6 +727,38 @@ export default {
} }
] ]
}, },
{
title: '用户权限(U)',
operate: OperationEvent.Command.mBar.userManage,
children: [
{
title: '转移控制',
operate: OperationEvent.Command.commandNingBo3.line_user,
children: [
{
title: '请求区域控制权',
click: this.authorizeRequest,
operate: OperationEvent.Command.commandNingBo3.line_user_request
},
{
title: '授权转移',
click: this.authorizeTransfer,
operate: OperationEvent.Command.commandNingBo3.line_user_transfer
},
{
title: '下放站控',
click: this.authorizeDevolution,
operate: OperationEvent.Command.commandNingBo3.line_user_devolution
},
{
title: '收回站控',
click: this.authorizeReclaim,
operate: OperationEvent.Command.commandNingBo3.line_user_reclaim
}
]
}
]
}
// { // {
// title: '(V)', // title: '(V)',
// operate: '', // operate: '',
@ -919,39 +951,39 @@ export default {
title: '线路(G)', title: '线路(G)',
operate: OperationEvent.Command.commandNingBo3.line, operate: OperationEvent.Command.commandNingBo3.line,
children: [ children: [
{ {
title: '站台', title: '站台',
operate: OperationEvent.Command.commandNingBo3.line_stand, operate: OperationEvent.Command.commandNingBo3.line_stand,
children: [ children: [
{ {
title: '开放/关闭', title: '开放/关闭',
click: this.standOpenOrClose, click: this.standOpenOrClose,
operate: OperationEvent.Command.commandNingBo3.line_stand_openOrClose operate: OperationEvent.Command.commandNingBo3.line_stand_openOrClose
}, },
{ {
title: '设置/取消扣车', title: '设置/取消扣车',
click: this.setStandDetain, click: this.setStandDetain,
operate: OperationEvent.Command.commandNingBo3.line_stand_holdOrNot operate: OperationEvent.Command.commandNingBo3.line_stand_holdOrNot
}, },
{ {
title: '设置站间列车数量', title: '设置站间列车数量',
click: this.undeveloped, click: this.undeveloped,
operate: OperationEvent.Command.commandNingBo3.line_stand_trainNum operate: OperationEvent.Command.commandNingBo3.line_stand_trainNum
}, },
{ {
title: '分配停站时间', title: '分配停站时间',
click: this.setAllocateTime, click: this.setAllocateTime,
operate: OperationEvent.Command.commandNingBo3.line_stand_stopTime operate: OperationEvent.Command.commandNingBo3.line_stand_stopTime
}, },
{ {
title: '授权转移', title: '授权转移',
click: this.authorizeTransfer, click: this.authorizeTransfer,
operate: OperationEvent.Command.commandNingBo3.line_stand_transfer operate: OperationEvent.Command.commandNingBo3.line_stand_transfer
}, },
{ {
title: '显示', title: '显示',
click: this.showStandDetail, click: this.showStandDetail,
operate: OperationEvent.Command.commandNingBo3.line_stand_detail operate: OperationEvent.Command.commandNingBo3.line_stand_detail
} }
] ]
}, },
@ -960,99 +992,99 @@ export default {
operate: OperationEvent.Command.commandNingBo3.line_switch, operate: OperationEvent.Command.commandNingBo3.line_switch,
children: [ children: [
{ {
title: '命令', title: '命令',
operate: OperationEvent.Command.commandNingBo3.line_switch_cmd, operate: OperationEvent.Command.commandNingBo3.line_switch_cmd,
click: this.setSwitchCommand click: this.setSwitchCommand
}, },
{ {
title: '封锁', title: '封锁',
operate: OperationEvent.Command.commandNingBo3.line_switch_block, operate: OperationEvent.Command.commandNingBo3.line_switch_block,
click: this.setBlockSwitch click: this.setBlockSwitch
}, },
{ {
title: '解除封锁', title: '解除封锁',
operate: OperationEvent.Command.commandNingBo3.line_switch_unblock, operate: OperationEvent.Command.commandNingBo3.line_switch_unblock,
click: this.setUnblockSwitch click: this.setUnblockSwitch
}, },
{ {
title: '请求动岔/请求或授权/取消', title: '请求动岔/请求或授权/取消',
operate: OperationEvent.Command.commandNingBo3.line_switch_empower, operate: OperationEvent.Command.commandNingBo3.line_switch_empower,
click: this.setSwitchActive click: this.setSwitchActive
}, },
{ {
title: '显示', title: '显示',
operate: OperationEvent.Command.commandNingBo3.line_switch_detail, operate: OperationEvent.Command.commandNingBo3.line_switch_detail,
click: this.showSwitchDetail click: this.showSwitchDetail
} }
] ]
}, },
{ {
title: '信号机', title: '信号机',
operate: OperationEvent.Command.commandNingBo3.line_signal, operate: OperationEvent.Command.commandNingBo3.line_signal,
children: [ children: [
{ {
title: '引导', title: '引导',
operate: OperationEvent.Command.commandNingBo3.line_signal_guide, operate: OperationEvent.Command.commandNingBo3.line_signal_guide,
click: this.setSignalGuide click: this.setSignalGuide
}, },
{ {
title: '取消允许锁闭', title: '取消允许锁闭',
operate: OperationEvent.Command.commandNingBo3.line_signal_lockOrNot, operate: OperationEvent.Command.commandNingBo3.line_signal_lockOrNot,
click: this.setSignalCanBlock click: this.setSignalCanBlock
}, },
{ {
title: '进路/命令', title: '进路/命令',
operate: OperationEvent.Command.commandNingBo3.line_signal_cmd, operate: OperationEvent.Command.commandNingBo3.line_signal_cmd,
click: this.setRouteCommand click: this.setRouteCommand
}, },
{ {
title: '信号指示模式', title: '信号指示模式',
operate: OperationEvent.Command.commandNingBo3.line_signal_indicator, operate: OperationEvent.Command.commandNingBo3.line_signal_indicator,
click: this.setSignalModel click: this.setSignalModel
}, },
{ {
title: '封锁', title: '封锁',
operate: OperationEvent.Command.commandNingBo3.line_signal_block, operate: OperationEvent.Command.commandNingBo3.line_signal_block,
click: this.setSignalBlock click: this.setSignalBlock
}, },
{ {
title: '解除封锁', title: '解除封锁',
operate: OperationEvent.Command.commandNingBo3.line_signal_unblock, operate: OperationEvent.Command.commandNingBo3.line_signal_unblock,
click: this.setSignalCancelBlock click: this.setSignalCancelBlock
}, },
{ {
title: '显示', title: '显示',
operate: OperationEvent.Command.commandNingBo3.line_signal_detail, operate: OperationEvent.Command.commandNingBo3.line_signal_detail,
click: this.showSignalDetail click: this.showSignalDetail
} }
] ]
}, },
{ {
title: '轨道', title: '轨道',
operate: OperationEvent.Command.commandNingBo3.line_section, operate: OperationEvent.Command.commandNingBo3.line_section,
children: [ children: [
{ {
title: '开放', title: '开放',
operate: OperationEvent.Command.commandNingBo3.line_section_open, operate: OperationEvent.Command.commandNingBo3.line_section_open,
click: this.handleOpenSection click: this.handleOpenSection
}, },
{ {
title: '关闭', title: '关闭',
operate: OperationEvent.Command.commandNingBo3.line_section_close, operate: OperationEvent.Command.commandNingBo3.line_section_close,
click: this.handleCloseSection click: this.handleCloseSection
}, },
{ {
title: '临时限速', title: '临时限速',
operate: OperationEvent.Command.commandNingBo3.line_section_limitSpeed, operate: OperationEvent.Command.commandNingBo3.line_section_limitSpeed,
click: this.handleLimitSpeed click: this.handleLimitSpeed
}, },
{ {
title: '显示', title: '显示',
operate: OperationEvent.Command.commandNingBo3.line_section_detail, operate: OperationEvent.Command.commandNingBo3.line_section_detail,
click: this.handleSectionShow click: this.handleSectionShow
} }
] ]
}, },
{ {
title: '闭塞区段', title: '闭塞区段',
operate: '', operate: '',
@ -1214,9 +1246,9 @@ export default {
click: this.adjustStrategy click: this.adjustStrategy
} }
] ]
}, },
{ {
title: '用户权限(U)', title: '用户权限(U)',
operate: OperationEvent.Command.mBar.userManage, operate: OperationEvent.Command.mBar.userManage,
children: [ children: [
{ {
@ -1225,28 +1257,28 @@ export default {
children: [ children: [
{ {
title: '请求区域控制权', title: '请求区域控制权',
click: this.authorizeRequest, click: this.authorizeRequest,
operate: OperationEvent.Command.commandNingBo3.line_user_request operate: OperationEvent.Command.commandNingBo3.line_user_request
}, },
{ {
title: '授权转移', title: '授权转移',
click: this.authorizeTransfer, click: this.authorizeTransfer,
operate: OperationEvent.Command.commandNingBo3.line_user_transfer operate: OperationEvent.Command.commandNingBo3.line_user_transfer
}, },
{ {
title: '下放站控', title: '下放站控',
click: this.authorizeDevolution, click: this.authorizeDevolution,
operate: OperationEvent.Command.commandNingBo3.line_user_devolution operate: OperationEvent.Command.commandNingBo3.line_user_devolution
}, },
{ {
title: '收回站控', title: '收回站控',
click: this.authorizeReclaim, click: this.authorizeReclaim,
operate: OperationEvent.Command.commandNingBo3.line_user_reclaim operate: OperationEvent.Command.commandNingBo3.line_user_reclaim
} }
] ]
} }
] ]
} }
// { // {
// title: '(V)', // title: '(V)',
// operate: '', // operate: '',
@ -1317,7 +1349,7 @@ export default {
return true; return true;
}, },
initMenu(menu) { initMenu(menu) {
const type = State2SimulationMap[this.$store.state.training.prdType]; const type = State2SimulationMap[this.$store.state.training.prdType];
this.menu = MenuContextHandler.menuBarConvert(this.menuNormal[type], this.$store.state.training.operatemode); this.menu = MenuContextHandler.menuBarConvert(this.menuNormal[type], this.$store.state.training.operatemode);
this.clickEvent(); this.clickEvent();
this.closeMenu(true); this.closeMenu(true);
@ -1357,7 +1389,7 @@ export default {
hookClick(item, event) { hookClick(item, event) {
this.$store.dispatch('menuOperation/setPopMenu', { position: null, menu: null }); this.$store.dispatch('menuOperation/setPopMenu', { position: null, menu: null });
if (item && typeof item.click == 'function') { if (item && typeof item.click == 'function') {
item.click(item.operate||{}); item.click(item.operate || {});
} }
}, },
selectedClassA(item, index) { selectedClassA(item, index) {
@ -1538,10 +1570,10 @@ export default {
this.$refs.stationTransfer.doShow(); this.$refs.stationTransfer.doShow();
} }
}); });
}, },
// //
authorizeRequest(item) { authorizeRequest(item) {
const operate = { const operate = {
type: 'bar', type: 'bar',
operation: item.operation operation: item.operation
}; };
@ -1552,10 +1584,10 @@ export default {
this.$refs.stationRequest.doShow(); this.$refs.stationRequest.doShow();
} }
}); });
}, },
// //
authorizeDevolution(item) { authorizeDevolution(item) {
const operate = { const operate = {
type: 'bar', type: 'bar',
operation: item.operation operation: item.operation
}; };
@ -1566,10 +1598,10 @@ export default {
this.$refs.stationDevolution.doShow(); this.$refs.stationDevolution.doShow();
} }
}); });
}, },
// //
authorizeReclaim(item) { authorizeReclaim(item) {
const operate = { const operate = {
type: 'bar', type: 'bar',
operation: item.operation operation: item.operation
}; };
@ -1580,7 +1612,7 @@ export default {
this.$refs.stationReclaim.doShow(); this.$refs.stationReclaim.doShow();
} }
}); });
}, },
showStandDetail(item) { showStandDetail(item) {
const operate = { const operate = {
type: 'bar', type: 'bar',
@ -1632,8 +1664,8 @@ export default {
if (valid) { if (valid) {
this.closeMenu(true); this.closeMenu(true);
this.$store.dispatch('menuOperation/handleBreakFlag', {break: true}); this.$store.dispatch('menuOperation/handleBreakFlag', {break: true});
// this.$refs.initializeSwitchBlock.doShow(operate); // this.$refs.initializeSwitchBlock.doShow(operate);
this.$refs.switchBlock.doShow(operate); this.$refs.switchBlock.doShow(operate);
} }
}); });
}, },

View File

@ -2,7 +2,7 @@
<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-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-row>
<el-col :span="16"> <el-col :span="16">
<el-tabs v-model="activeName" type="border-card"> <el-tabs v-model="activeName" type="border-card" @tab-click="changeTabs">
<el-tab-pane label="站台" name="first"> <el-tab-pane label="站台" name="first">
<el-table <el-table
:id="domIdChoose" :id="domIdChoose"
@ -45,10 +45,10 @@
</el-row> </el-row>
<el-row justify="center" class="button-group"> <el-row justify="center" class="button-group">
<el-col :span="4" :offset="1"> <el-col :span="4" :offset="1">
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="!selected" @click="commit(true)">确定(O)</el-button> <el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="!((selected.code&&activeName!='second')||activeName=='second')" @click="commit(true)">确定(O)</el-button>
</el-col> </el-col>
<el-col :span="4" :offset="2"> <el-col :span="4" :offset="2">
<el-button :id="domIdApply" :loading="loading" :disabled="!selected" @click="commit(false)">应用(A)</el-button> <el-button :id="domIdApply" :loading="loading" :disabled="!((selected.code&&activeName!='second')||activeName=='second')" @click="commit(false)">应用(A)</el-button>
</el-col> </el-col>
<el-col :span="4" :offset="2"> <el-col :span="4" :offset="2">
<el-button :id="domIdClose" @click="cancel">关闭(C)</el-button> <el-button :id="domIdClose" @click="cancel">关闭(C)</el-button>
@ -92,6 +92,7 @@ export default {
selected() { selected() {
return this.$store.state.menuOperation.selected; return this.$store.state.menuOperation.selected;
}, },
domIdChoose() { domIdChoose() {
return this.dialogShow ? OperationEvent.Command.common.choose.domId : ''; return this.dialogShow ? OperationEvent.Command.common.choose.domId : '';
}, },
@ -131,7 +132,7 @@ export default {
}, },
doShow(data) { doShow(data) {
if (data.active == 'second') { if (data.active == 'second') {
this.status = true; this.judgeStatus();
} }
this.activeName = data.active; this.activeName = data.active;
// //
@ -141,6 +142,23 @@ export default {
this.$store.dispatch('training/emitTipFresh'); this.$store.dispatch('training/emitTipFresh');
}); });
}, },
changeTabs() {
if (this.activeName == 'second') {
this.judgeStatus();
} else {
this.status = true;
}
},
judgeStatus() {
this.status = false;
this.stationStandList.forEach(element => {
const stand = this.$store.getters['map/getDeviceByCode'](element.code);
if (stand.sysHoldTrain) {
this.status = this.status || true;
}
});
this.status = !this.status;
},
doClose() { doClose() {
this.loading = false; this.loading = false;
this.dialogShow = false; this.dialogShow = false;
@ -148,20 +166,30 @@ export default {
this.$store.dispatch('training/emitTipFresh'); this.$store.dispatch('training/emitTipFresh');
}, },
commit(isClose = false) { commit(isClose = false) {
const step = { let step = {};
over: true, if (this.activeName == 'first') {
cmdType:this.status ? CMD.Stand.CMD_STAND_SET_HOLD_TRAIN : CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN, step = {
operation: isClose ? OperationEvent.Command.common.confirm.operation : OperationEvent.Command.common.apply.operation, over: true,
param: {standCode: this.selected.code} cmdType:this.status ? CMD.Stand.CMD_STAND_SET_HOLD_TRAIN : CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN,
}; operation: isClose ? OperationEvent.Command.common.confirm.operation : OperationEvent.Command.common.apply.operation,
param: {standCode: this.selected.code}
};
} else {
step = {
over: true,
cmdType:this.status ? CMD.Stand.CMD_STAND_SYS_HOLD_TRAIN : CMD.Stand.CMD_STAND_SYS_CANCEL_HOLD_TRAIN,
operation: isClose ? OperationEvent.Command.common.confirm.operation : OperationEvent.Command.common.apply.operation
};
}
this.$store.dispatch('training/nextNew', step).then(({ valid }) => { this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
if (valid) { if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
if (isClose) {
this.$store.dispatch('menuOperation/setSelected', {device: {}});
}
isClose && this.doClose(); isClose && this.doClose();
} }
}).catch((error) => { }).catch(() => {
console.log(error);
isClose && this.doClose(); isClose && this.doClose();
this.$refs.noticeInfo.doShow(); this.$refs.noticeInfo.doShow();
}); });

View File

@ -12,19 +12,19 @@
:close-on-click-modal="false" :close-on-click-modal="false"
> >
<el-table :id="domIdChoose" ref="table" :data="centralizedStaionList" style="width: 100%;" height="320px" highlight-current-row @current-change="handleCurrentChange"> <el-table :id="domIdChoose" ref="table" :data="centralizedStaionList" style="width: 100%;" height="320px" highlight-current-row @current-change="handleCurrentChange">
<el-table-column prop="name" label="控制区域" /> <el-table-column prop="name" label="控制区域" />
<el-table-column label="用户Id" /> <el-table-column label="用户Id" />
<el-table-column label="授权范围" /> <el-table-column label="授权范围" />
</el-table> </el-table>
<el-checkbox v-model="allChecked" :disabled="true" >所有站台(F)</el-checkbox> <el-checkbox v-model="allChecked" :disabled="true">所有站台(F)</el-checkbox>
<div class="message" style="color:#ff0000;font-size:14px;margin-left:10px">{{ message }}</div> <div class="message" style="color:#ff0000;font-size:14px;margin-left:10px">{{ message }}</div>
<el-row justify="center" class="button-group"> <el-row justify="center" class="button-group">
<el-col :span="4" :offset="1"> <el-col :span="4" :offset="1">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit(true)">确定(O)</el-button> <el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="status==''" @click="commit(true)">确定(O)</el-button>
</el-col> </el-col>
<el-col :span="4" :offset="2"> <el-col :span="4" :offset="2">
<el-button :id="domIdApply" @click="commit(false)">应用(A)</el-button> <el-button :id="domIdApply" :disabled="status==''" @click="commit(false)">应用(A)</el-button>
</el-col> </el-col>
<el-col :span="4" :offset="2"> <el-col :span="4" :offset="2">
<el-button :id="domIdClose" @click="cancel">关闭(C)</el-button> <el-button :id="domIdClose" @click="cancel">关闭(C)</el-button>
@ -46,15 +46,15 @@ import CMD from '@/scripts/cmdPlugin/CommandEnum';
export default { export default {
name: 'StationControl', name: 'StationControl',
components: { components: {
NoticeInfo NoticeInfo
}, },
data() { data() {
return { return {
status: true, status: '',
operate: null, operate: null,
loading: false, loading: false,
dialogShow: false, dialogShow: false,
allChecked: false, allChecked: false,
station:{}, station:{},
message:'' message:''
}; };
@ -107,26 +107,31 @@ export default {
'selected': function(val) { 'selected': function(val) {
if (val) { if (val) {
const sationEle = this.$store.getters['map/getDeviceByCode'](val.code); const sationEle = this.$store.getters['map/getDeviceByCode'](val.code);
if (this.prdType == '02') { if (this.prdType == '01' && sationEle && sationEle.controlMode == 'Center') {
this.status = sationEle && sationEle.controlMode != 'Center'; this.status = 'Center';
} else { } else if (this.prdType == '02' && sationEle && sationEle.controlMode != 'Center') {
this.status = sationEle && sationEle.controlMode == 'Center'; this.status = 'Local';
} }
// if (this.prdType == '02') {
//
// } else {
// this.status = sationEle && sationEle.controlMode == 'Center';
// }
} }
} }
}, },
methods: { methods: {
doShow() { doShow() {
this.message = ''; this.message = '';
this.dialogShow = true; this.dialogShow = true;
this.$nextTick(e => { this.$nextTick(e => {
this.$refs.table.setCurrentRow(); this.$refs.table.setCurrentRow();
this.$store.dispatch('training/emitTipFresh'); this.$store.dispatch('training/emitTipFresh');
}) });
}, },
doClose() { doClose() {
this.dialogShow = false; this.dialogShow = false;
this.$refs.table.setCurrentRow(); this.$refs.table.setCurrentRow();
this.$store.dispatch('training/emitTipFresh'); this.$store.dispatch('training/emitTipFresh');
this.$store.dispatch('socket/shiftMsgQueue'); this.$store.dispatch('socket/shiftMsgQueue');
}, },
@ -160,21 +165,23 @@ export default {
}); });
}, },
commit(isClose = true) { commit(isClose = true) {
debugger;
const val = this.selected || {}; const val = this.selected || {};
const steps = { const steps = {
operation: isClose ? OperationEvent.Command.common.confirm.operation : OperationEvent.Command.common.apply.operation, operation: isClose ? OperationEvent.Command.common.confirm.operation : OperationEvent.Command.common.apply.operation,
over: true, over: true,
param: {stationCode:val.code} param: {stationCodes:[val.code]}
}; };
steps.cmdType = this.status ? CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL : CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL; // steps.cmdType = this.status ? CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL : CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL;
steps.cmdType = this.status == 'Center' ? CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL : CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL;
this.$store.dispatch('training/nextNew', steps).then(({ valid }) => { this.$store.dispatch('training/nextNew', steps).then(({ valid }) => {
if (valid) { if (valid) {
isClose && this.doClose(); isClose && this.doClose();
this.$emit('commandSuccess', val.code); this.$emit('commandSuccess', val.code);
} }
}).catch((error) => { }).catch(() => {
isClose && this.doClose(); isClose && this.doClose();
this.$refs.noticeInfo.doShow(); this.$refs.noticeInfo.doShow();
}); });

View File

@ -161,6 +161,12 @@ export default {
CMD_STAND_SET_HOLD_TRAIN: {value:'Stand_Set_Hold_Train', label: '设置扣车'}, CMD_STAND_SET_HOLD_TRAIN: {value:'Stand_Set_Hold_Train', label: '设置扣车'},
/** 取消扣车 */ /** 取消扣车 */
CMD_STAND_CANCEL_HOLD_TRAIN: {value:'Stand_Cancel_Hold_Train', label: '取消扣车'}, CMD_STAND_CANCEL_HOLD_TRAIN: {value:'Stand_Cancel_Hold_Train', label: '取消扣车'},
/** 设置系统扣车 */
CMD_STAND_SYS_HOLD_TRAIN: {value:'Stand_Sys_Hold_Train', label: '设置系统扣车'},
/** 取消系统扣车 */
CMD_STAND_SYS_CANCEL_HOLD_TRAIN: {value:'Stand_Cancel_Sys_Hold_Train', label: '取消系统扣车'},
/** 批量扣车 */ /** 批量扣车 */
CMD_STAND_SET_HOLD_TRAIN_ALL: {value:'Stand_Set_Hold_Train_Batch', label: '批量扣车'}, CMD_STAND_SET_HOLD_TRAIN_ALL: {value:'Stand_Set_Hold_Train_Batch', label: '批量扣车'},
/** 批量取消扣车 */ /** 批量取消扣车 */
@ -223,7 +229,17 @@ export default {
/** 全站取消自动通过 */ /** 全站取消自动通过 */
CMD_STATION_CANCEL_CI_AUTO: {value: 'Station_Cancel_CI_Auto', label: '全站取消自动通过'}, CMD_STATION_CANCEL_CI_AUTO: {value: 'Station_Cancel_CI_Auto', label: '全站取消自动通过'},
/** 设置/取消强制点灯 */ /** 设置/取消强制点灯 */
CMD_STATION_SET_OR_CANCEL_FORCE_PHYSICAL_SIGNAL: {value: 'Station_Set_Or_Cancel_Force_Physical_Signal', label: '设置/取消强制点灯'} CMD_STATION_SET_OR_CANCEL_FORCE_PHYSICAL_SIGNAL: {value: 'Station_Set_Or_Cancel_Force_Physical_Signal', label: '设置/取消强制点灯'},
/** 区域选择(请求区域控制权【泰雷兹】) */
CMD_STATION_CONTROL_APPLY: {value: 'Station_Control_Apply', label: '请求区域控制权'},
/** 授权转移 (【泰雷兹】) */
CMD_STATION_CONTROL_TRANSFER: {value: 'Station_Control_Transfer', label: '授权转移'},
/** 下放站控 (【泰雷兹】) */
CMD_STATION_CONTROL_DEVOLVE: {value: 'Station_Control_Devolve', label: '下放站控'},
/** 收回站控 (【泰雷兹】) */
CMD_STATION_CONTROL_REVOKE: {value: 'Station_Control_Revoke', label: '收回站控'},
/** 计轴预复位 */
CMD_STATION_PRE_RESET : {value: 'Station_Pre_Reset', label: '计轴预复位'}
}, },
// 列车 // 列车

View File

@ -65,11 +65,11 @@ class Handler {
} }
getCommand(operation) { getCommand(operation) {
let command = null; let command = null;
if (operation.cmdType) { if (operation.cmdType) {
const cmdType = operation.cmdType; const cmdType = operation.cmdType;
const wholeParam = this.getWholeParam(); const wholeParam = this.getWholeParam();
command = CommandHandler.getCommand(cmdType, wholeParam); command = CommandHandler.getCommand(cmdType, wholeParam);
if (command && command.isError) { if (command && command.isError) {
this.operations.pop(); this.operations.pop();
command = null; command = null;
@ -88,7 +88,7 @@ class Handler {
execute(cmdType, wholeParam) { execute(cmdType, wholeParam) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const command = CommandHandler.getCommand(cmdType, wholeParam); const command = CommandHandler.getCommand(cmdType, wholeParam);
if (command.isError) { if (command.isError) {
reject(command); reject(command);
} else { } else {
@ -109,13 +109,13 @@ class Handler {
this.afterValid(operation, valid).then(()=>{ this.afterValid(operation, valid).then(()=>{
rtn.valid = valid; rtn.valid = valid;
if (operation.cmdType && valid) { if (operation.cmdType && valid) {
const command = this.getCommand(operation); const command = this.getCommand(operation);
if (command) { if (command) {
CommandHandler.execute(command.id, command.get()).then(response => { CommandHandler.execute(command.id, command.get()).then(response => {
rtn.response = response; rtn.response = response;
resolve(rtn); resolve(rtn);
}).catch(error => { }).catch(error => {
console.error(error) console.error(error);
reject(error); reject(error);
}); });
} else { } else {

View File

@ -2488,6 +2488,25 @@ export const OperationEvent = {
operation: '6152', operation: '6152',
domId: '_Tips-Station-stationCancelCIAuto-Confirm' domId: '_Tips-Station-stationCancelCIAuto-Confirm'
} }
},
// 区域选择 申请控制权
areaSelection: {
menu: {
operation: '616',
domId: '_Tips-Station-areaSelection-Menu'
},
mbar: {
operation: '6161',
domId: '_Tips-Station-areaSelection-Mbar'
},
choose: {
operation: '6162',
domId: '_Tips-Station-areaSelection-Choose'
},
confirm: {
operation: '6163',
domId: '_Tips-Station-areaSelection-Confirm'
}
} }
}, },

View File

@ -59,7 +59,12 @@ export default {
let list = []; let list = [];
const member = this.$store.state.training.memberData[val]; const member = this.$store.state.training.memberData[val];
const station = this.$store.getters['map/getDeviceByCode'](member.deviceCode); const station = this.$store.getters['map/getDeviceByCode'](member.deviceCode);
if (station) { const lineCode = this.$store.getters['map/lineCode'];
if ((lineCode === '02' || lineCode === '05') && station) {
this.showStation = station.code;
const showStationCode = this.stationCentralizedMap[station.code];
this.setCenter(showStationCode);
} else if (station) {
this.showStation = station.code; this.showStation = station.code;
const showStationCode = this.stationCentralizedMap[station.code]; const showStationCode = this.stationCentralizedMap[station.code];
nameList.forEach(item => { nameList.forEach(item => {

View File

@ -155,11 +155,6 @@ export default {
$route() { $route() {
this.mapViewLoaded(true); this.mapViewLoaded(true);
}, },
'$store.state.training.prdType': function (val) {
if (val) {
this.changePrdType(val);
}
},
'$store.state.map.showCentralizedStationNum': function (val) { '$store.state.map.showCentralizedStationNum': function (val) {
if (this.$store.state.map.showCentralizedStationCode) { if (this.$store.state.map.showCentralizedStationCode) {
this.setShowStation(this.$store.state.map.showCentralizedStationCode); this.setShowStation(this.$store.state.map.showCentralizedStationCode);
@ -481,25 +476,6 @@ export default {
}; };
this.$store.dispatch('map/setMousemove'); this.$store.dispatch('map/setMousemove');
}, },
//
changePrdType(val) {
const nameList = Object.keys(this.$store.state.map.map || {});
let list = []; let showMode = '';
nameList.forEach(item => {
if (item !== 'skinVO') {
const data = this.$store.state.map.map[item];
if (data && data.constructor === Array) {
list = [...list, ...data];
}
}
});
if (val === '01') {
showMode = '03';
} else if (val === '02') {
showMode = '02';
}
this.$jlmap.updatePrdType(list, val, showMode);
},
// //
setShowMode(showMode) { setShowMode(showMode) {
if (this.showMode !== showMode) { if (this.showMode !== showMode) {
@ -518,21 +494,26 @@ export default {
EventBus.$emit('select_DrawType', showMode); EventBus.$emit('select_DrawType', showMode);
}, },
setShowStation(stationCode, setCenter) { setShowStation(stationCode, setCenter) {
const nameList = Object.keys(this.$store.state.map.map); const lineCode = this.$store.getters['map/lineCode'];
let list = []; if (lineCode === '02' || lineCode === '05') {
nameList.forEach(item => { !setCenter && this.setCenter(stationCode);
if (this.$store.state.map.map[item] && this.$store.state.map.map[item].constructor === Array) { } else {
if (item === 'trainList') { const nameList = Object.keys(this.$store.state.map.map);
this.$store.state.map.map[item].forEach(elem => { let list = [];
elem && list.push(elem); nameList.forEach(item => {
}); if (this.$store.state.map.map[item] && this.$store.state.map.map[item].constructor === Array) {
} else { if (item === 'trainList') {
list = [...list, ...this.$store.state.map.map[item]]; this.$store.state.map.map[item].forEach(elem => {
elem && list.push(elem);
});
} else {
list = [...list, ...this.$store.state.map.map[item]];
}
} }
} });
}); this.$jlmap.updateShowStation(list, stationCode);
this.$jlmap.updateShowStation(list, stationCode); !setCenter && this.setCenter(stationCode);
!setCenter && this.setCenter(stationCode); }
}, },
setOffset(data, num, sum, obj) { setOffset(data, num, sum, obj) {
this.$jlmap.switchScreen(data, num, sum, obj); this.$jlmap.switchScreen(data, num, sum, obj);

View File

@ -370,6 +370,7 @@ export default {
this.$store.dispatch('training/setRoles', 'DISPATCHER'); this.$store.dispatch('training/setRoles', 'DISPATCHER');
this.hideIbp(); this.hideIbp();
this.drivingShow = false; this.drivingShow = false;
this.changePrdType('02');
this.mapViewLoadedOver && this.setShowStation(''); this.mapViewLoadedOver && this.setShowStation('');
this.jl3dmaintainershow = false; this.jl3dmaintainershow = false;
break; break;
@ -378,6 +379,7 @@ export default {
this.$store.dispatch('training/setRoles', 'STATION_SUPERVISOR'); this.$store.dispatch('training/setRoles', 'STATION_SUPERVISOR');
this.$refs.menuSchema.chiShowStation = deviceCode; this.$refs.menuSchema.chiShowStation = deviceCode;
this.showStation = deviceCode; this.showStation = deviceCode;
this.changePrdType('01');
this.mapViewLoadedOver && this.switchStationMode(deviceCode); this.mapViewLoadedOver && this.switchStationMode(deviceCode);
this.jl3dmaintainershow = false; this.jl3dmaintainershow = false;
this.drivingShow = false; this.drivingShow = false;
@ -527,17 +529,46 @@ export default {
this.showStation = this.centralizedStationMap[stationCode]; this.showStation = this.centralizedStationMap[stationCode];
this.setShowStation(this.showStation); this.setShowStation(this.showStation);
}, },
setShowStation(stationCode) { changePrdType(val) {
const showStation = this.centralizedStationMap[stationCode]; const nameList = Object.keys(this.$store.state.map.map || {});
const nameList = Object.keys(this.$store.state.map.map); let list = []; let showMode = '';
let list = [];
nameList.forEach(item => { nameList.forEach(item => {
if (this.$store.state.map.map[item] && this.$store.state.map.map[item].constructor === Array) { if (item !== 'skinVO') {
list = [...list, ...this.$store.state.map.map[item]]; const data = this.$store.state.map.map[item];
if (data && data.constructor === Array) {
list = [...list, ...data];
}
} }
}); });
this.$jlmap.updateShowStation(list, showStation); if (val === '01') {
this.$jlmap.setCenter(showStation); showMode = '03';
} else if (val === '02') {
showMode = '02';
}
this.$jlmap.updatePrdType(list, val, showMode);
},
setShowStation(stationCode) {
const showStation = this.centralizedStationMap[stationCode];
const lineCode = this.$store.getters['map/lineCode'];
if (lineCode === '02' || lineCode === '05') {
this.$jlmap.setCenter(showStation);
} else {
const nameList = Object.keys(this.$store.state.map.map);
let list = [];
nameList.forEach(item => {
if (this.$store.state.map.map[item] && this.$store.state.map.map[item].constructor === Array) {
if (item === 'trainList') {
this.$store.state.map.map[item].forEach(elem => {
elem && list.push(elem);
});
} else {
list = [...list, ...this.$store.state.map.map[item]];
}
}
});
this.$jlmap.updateShowStation(list, showStation);
this.$jlmap.setCenter(showStation);
}
}, },
setStationList(map) { setStationList(map) {
this.stationList = []; this.stationList = [];

View File

@ -64,9 +64,9 @@ export default {
formModel: { formModel: {
code: '', code: '',
name: '', name: '',
length: 0, // -- length: 120, // --
weight:1, // -- weight:230, // --
numberOfCars:1 // numberOfCars:6//
// safeDistance: '', // safeDistance: '',
// maxSafeDistance: '', // maxSafeDistance: '',
// averageVelocity: 0, // averageVelocity: 0,