初始化按计划行车状态and其他调整

This commit is contained in:
fan 2020-03-09 14:23:44 +08:00
parent 815e4446d4
commit 2b971cdf12
8 changed files with 47 additions and 52 deletions

View File

@ -20,14 +20,10 @@ export default class Station extends Group {
this.z = 40; this.z = 40;
this.model = model; this.model = model;
this.style = style; this.style = style;
this.create(); this.create();
this.createTurnBack(); // 创建按图折返 this.createTurnBack(); // 创建按图折返
const path = window.location.href; const path = window.location.href;
if (!path.includes('/map/draw')) {
this.createGuideTotalLock(); // 创建引导总锁
}
this.prdType = '';
if (path.includes('?')) { if (path.includes('?')) {
const arr = window.location.href.split('?')[1].split('&'); const arr = window.location.href.split('?')[1].split('&');
arr.forEach(elem => { arr.forEach(elem => {
@ -36,6 +32,9 @@ export default class Station extends Group {
} }
}); });
} }
if ((!this.prdType || this.style.StationStand.common.functionButtonShow.indexOf(this.prdType) !== -1) && model.guideTotalLockPoint) {
this.createGuideTotalLock(); // 创建引导总锁
}
this.createControlMode(); this.createControlMode();
this.setState(model); this.setState(model);
this.checkIsDrawMap(); this.checkIsDrawMap();
@ -121,7 +120,7 @@ export default class Station extends Group {
createGuideTotalLock() { // 创建引导总锁 createGuideTotalLock() { // 创建引导总锁
const model = this.model; const model = this.model;
const style = this.style; const style = this.style;
if (model.guideTotalLock || (!this.prdType && style.Station.functionButtonShow.indexOf(this.prdType) !== -1 && model.guideTotalLockPoint)) { if (model.guideTotalLock) {
this.guideLamp = new EControl({ this.guideLamp = new EControl({
zlevel: this.zlevel, zlevel: this.zlevel,
z: this.z, z: this.z,
@ -316,26 +315,26 @@ export default class Station extends Group {
// 设置状态 // 设置状态
setState(model) { setState(model) {
switch (model.controlMode) { switch (model.controlMode) {
case '': // 无状态 case '': // 无状态
this.emergencyControl && this.emergencyControl.setColor(this.style.Station.StationControl.lamp.grayColor); this.emergencyControl && this.emergencyControl.setColor(this.style.Station.StationControl.lamp.grayColor);
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.grayColor); this.centerControl && this.centerControl.setColor(this.style.Station.StationControl.lamp.grayColor);
break; break;
case 'Center': // 中控 case 'Center': // 中控
this.emergencyControl && this.emergencyControl.setColor(this.style.Station.StationControl.lamp.grayColor); this.emergencyControl && this.emergencyControl.setColor(this.style.Station.StationControl.lamp.grayColor);
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);
break; break;
case 'Local': // 站控 case 'Local': // 站控
this.emergencyControl && this.emergencyControl.setColor(this.style.Station.StationControl.lamp.grayColor); this.emergencyControl && this.emergencyControl.setColor(this.style.Station.StationControl.lamp.grayColor);
this.substationControl && this.substationControl.setColor(this.style.Station.StationControl.lamp.yellowColor); this.substationControl && this.substationControl.setColor(this.style.Station.StationControl.lamp.yellowColor);
this.centerControl && this.centerControl.setColor(this.style.Station.StationControl.lamp.grayColor); this.centerControl && this.centerControl.setColor(this.style.Station.StationControl.lamp.grayColor);
break; break;
case 'Emergency': // 紧急站控 case 'Emergency': // 紧急站控
this.emergencyControl && this.emergencyControl.setColor(this.style.Station.StationControl.lamp.redColor); this.emergencyControl && this.emergencyControl.setColor(this.style.Station.StationControl.lamp.redColor);
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.grayColor); this.centerControl && this.centerControl.setColor(this.style.Station.StationControl.lamp.grayColor);
break; break;
} }
} }

View File

@ -35,7 +35,7 @@ class StationStand extends Group {
} }
this.create(); this.create();
this.createMouseEvent(); this.createMouseEvent();
if (!this.prdType || (this.style.StationStand.common.functionButtonShow.indexOf(this.prdType) !== -1 && model.guideTotalLockPoint)) { if (!this.prdType || this.style.StationStand.common.functionButtonShow.indexOf(this.prdType) !== -1) {
this.createFunctionButton(); this.createFunctionButton();
} }
this.setVisible(model.visible); this.setVisible(model.visible);

View File

@ -2,7 +2,7 @@ import store from '@/store';
import { Notification } from 'element-ui'; import { Notification } from 'element-ui';
function handle(state, data) { function handle(state, data) {
console.log(data, 'socket订阅'); // console.log(data, 'socket订阅');
const msg = data.body; const msg = data.body;
const path = window.location.href; const path = window.location.href;
switch (data.type) { switch (data.type) {

View File

@ -22,7 +22,7 @@ export function creatSubscribe(topic, header) {
function callback(Response) { function callback(Response) {
if (store) { if (store) {
var data = JSON.parse(Response.body); var data = JSON.parse(Response.body);
// console.log(data); // console.log(Response.body);
store.dispatch('socket/setStomp', data); store.dispatch('socket/setStomp', data);
} else { } else {
callback(Response); callback(Response);

View File

@ -322,6 +322,16 @@ export default {
this.$store.dispatch('scriptRecord/updateSimulationPause', resp.data.pause); this.$store.dispatch('scriptRecord/updateSimulationPause', resp.data.pause);
this.questId = Number(resp.data.questId) || 0; this.questId = Number(resp.data.questId) || 0;
this.$store.dispatch('training/setInitTime', +new Date(`${new Date().getFullYear()} ${timeFormat(resp.data.systemTime)}`)); this.$store.dispatch('training/setInitTime', +new Date(`${new Date().getFullYear()} ${timeFormat(resp.data.systemTime)}`));
if (resp.data.planRunning) {
this.$store.dispatch('training/simulationStart');
} else {
this.$store.dispatch('training/over');
}
if (this.isDemon) {
this.$refs.menuDemon.initPlannedDriving(resp.data.planRunning);
} else if (this.isScript) {
this.$refs.menuScript.initPlannedDriving(resp.data.planRunning);
}
} }
}, },
// //

View File

@ -113,21 +113,14 @@ export default {
if (this.try != '0') { if (this.try != '0') {
this.loadInitData(); this.loadInitData();
} }
const resp = '';// await runDiagramIsStart(this.group);
if (resp && resp.data) {
this.isDisable = true;
this.$store.dispatch('training/simulationStart');
} else {
this.isDisable = false;
this.$store.dispatch('training/over');
}
this.change3dname(); this.change3dname();
} catch (error) { } catch (error) {
console.log(error); console.log(error);
} }
}, },
initPlannedDriving(isDisable) {
this.isDisable = isDisable;
},
loadInitData() { loadInitData() {
const data = { const data = {
mapId: this.$route.query.mapId, mapId: this.$route.query.mapId,

View File

@ -21,7 +21,6 @@
import SetTime from './demon/setTime'; import SetTime from './demon/setTime';
import { Notification } from 'element-ui'; import { Notification } from 'element-ui';
import { ranAsPlan, runDiagramOver, runDiagramGetTime } from '@/api/simulation'; import { ranAsPlan, runDiagramOver, runDiagramGetTime } from '@/api/simulation';
import { runDiagramIsStart } from '@/api/simulation';
import { timeFormat } from '@/utils/date'; import { timeFormat } from '@/utils/date';
import { EventBus } from '@/scripts/event-bus'; import { EventBus } from '@/scripts/event-bus';
@ -76,20 +75,14 @@ export default {
methods: { methods: {
async initLoadPage() { async initLoadPage() {
try { try {
const resp = '';// await runDiagramIsStart(this.group);
if (resp && resp.data) {
this.isDisable = true;
this.$store.dispatch('training/simulationStart');
} else {
this.isDisable = false;
this.$store.dispatch('training/over');
}
await this.loadSystemTime(); await this.loadSystemTime();
} catch (error) { } catch (error) {
console.log(error); console.log(error);
} }
}, },
initPlannedDriving(isDisable) {
this.isDisable = isDisable;
},
selectBeginTime() { selectBeginTime() {
this.$refs.setTime.doShow(); this.$refs.setTime.doShow();
}, },

View File

@ -115,7 +115,7 @@ export default {
{ prop: 'position.x', firstLevel: 'position', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '20px' }, { prop: 'position.x', firstLevel: 'position', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '20px' },
{ prop: 'position.y', firstLevel: 'position', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '20px' } { prop: 'position.y', firstLevel: 'position', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '20px' }
] }, ] },
{ prop:'cycleCode', label: '自动折返进路code:', type: 'select', optionLabel: 'name', optionValue: 'code', options: this.autoList }, { prop:'cycleCode', label: '自动折返进路code:', type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.autoList },
] ]
} }
} }
@ -126,14 +126,14 @@ export default {
const form = { const form = {
labelWidth: '150px', labelWidth: '150px',
items: [ items: [
{ prop:'cycleCode', label: '自动折返进路:', type: 'select', optionLabel: 'name', optionValue: 'code', options: this.autoList }, { prop:'cycleCode', label: '自动折返进路:', type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.autoList },
{ prop: 'name', label: '自动折返名称:', type: 'input' }, { prop: 'name', label: '自动折返名称:', type: 'input' },
{ prop: 'subtitleName', label: '副标题名称:', type: 'input' }, { prop: 'subtitleName', label: '副标题名称:', type: 'input' },
{ prop: 'position', label: '坐标:', type: 'coordinate', width: '140px', children: [ { prop: 'position', label: '坐标:', type: 'coordinate', width: '140px', children: [
{ prop: 'position.x', firstLevel: 'position', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '25px' }, { prop: 'position.x', firstLevel: 'position', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '25px' },
{ prop: 'position.y', firstLevel: 'position', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '25px' } { prop: 'position.y', firstLevel: 'position', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '25px' }
] }, ] },
] ]
}; };
return form; return form;