Merge remote-tracking branch 'origin/test'
This commit is contained in:
commit
8593174685
@ -93,6 +93,9 @@ export default {
|
|||||||
if (this.project !== this.$store.state.projectConfig.markKey) {
|
if (this.project !== this.$store.state.projectConfig.markKey) {
|
||||||
this.initFrontProjectConfig();
|
this.initFrontProjectConfig();
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
'$store.state.projectConfig.markKey': function(val) {
|
||||||
|
if (val) { this.loadingComponent = true; }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@ -121,7 +124,6 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
initFrontProjectConfig() {
|
initFrontProjectConfig() {
|
||||||
getFrontProjectConfigByLogin(this.project).then(resp => {
|
getFrontProjectConfigByLogin(this.project).then(resp => {
|
||||||
this.loadingComponent = true;
|
|
||||||
const urlData = handlerUrl();
|
const urlData = handlerUrl();
|
||||||
const { baseApiUrl, baseSite, ossUrl, loginProLogo, browserTitle} = resp.data.viewSetting;
|
const { baseApiUrl, baseSite, ossUrl, loginProLogo, browserTitle} = resp.data.viewSetting;
|
||||||
this.$store.dispatch('setBaseUrl', baseApiUrl || urlData.BASE_API);
|
this.$store.dispatch('setBaseUrl', baseApiUrl || urlData.BASE_API);
|
||||||
|
@ -180,7 +180,7 @@ export default class Train extends Group {
|
|||||||
}
|
}
|
||||||
if (style.Train.directionArrow.hasArrow) { // 列车运行上下方箭头(eg:宁波yi)
|
if (style.Train.directionArrow.hasArrow) { // 列车运行上下方箭头(eg:宁波yi)
|
||||||
const arrowPoint = { x: 0, y: 0 };
|
const arrowPoint = { x: 0, y: 0 };
|
||||||
if (model.trainWindowModel) {
|
if (model.trainWindowModel && model.trainWindowModel.instance) {
|
||||||
arrowPoint.x = model.trainWindowModel.instance.computedPoint.x;
|
arrowPoint.x = model.trainWindowModel.instance.computedPoint.x;
|
||||||
arrowPoint.y = model.right ? model.trainWindowModel.instance.computedPoint.y + style.Train.directionArrow.distanceBottom : model.trainWindowModel.instance.computedPoint.y - style.Train.directionArrow.distanceTop;
|
arrowPoint.y = model.right ? model.trainWindowModel.instance.computedPoint.y + style.Train.directionArrow.distanceBottom : model.trainWindowModel.instance.computedPoint.y - style.Train.directionArrow.distanceTop;
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="menus" :style="{width: width + 'px'}">
|
<div class="menus" :style="{width: width + 'px', height: '100%'}">
|
||||||
<menu-bar ref="menuBar" :selected="selected" work="dispatchWork" />
|
<menu-bar ref="menuBar" :selected="selected" work="dispatchWork" />
|
||||||
<menu-station-stand ref="menuStationStand" :selected="selected" work="dispatchWork" />
|
<menu-station-stand ref="menuStationStand" :selected="selected" work="dispatchWork" />
|
||||||
<menu-train ref="menuTrain" :selected="selected" work="dispatchWork" />
|
<menu-train ref="menuTrain" :selected="selected" work="dispatchWork" />
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="menus" :style="{width: width + 'px'}">
|
<div class="menus" :style="{width: width + 'px', height: '100%'}">
|
||||||
<menu-bar ref="menuBar" :selected="selected" />
|
<menu-bar ref="menuBar" :selected="selected" />
|
||||||
<menu-station-stand ref="menuStationStand" :selected="selected" work="localWork" />
|
<menu-station-stand ref="menuStationStand" :selected="selected" work="localWork" />
|
||||||
<menu-train ref="menuTrain" :selected="selected" work="localWork" />
|
<menu-train ref="menuTrain" :selected="selected" work="localWork" />
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="menus" :style="{width: width + 'px'}">
|
<div class="menus" :style="{width: width + 'px', height: '100%'}">
|
||||||
<menu-train ref="menuTrain" :selected="selected" />
|
<menu-train ref="menuTrain" :selected="selected" />
|
||||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
||||||
<menu-signal ref="menuSignal" :selected="selected" />
|
<menu-signal ref="menuSignal" :selected="selected" />
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="menus" :style="{width: width + 'px'}">
|
<div class="menus" :style="{width: width + 'px', height: '100%'}">
|
||||||
<menu-bar ref="menuBar" :selected="selected" :login-active="loginActive" :is-ignore-login="isIgnoreLogin" @login="login" />
|
<menu-bar ref="menuBar" :selected="selected" :login-active="loginActive" :is-ignore-login="isIgnoreLogin" @login="login" />
|
||||||
<menu-train ref="menuTrain" :selected="selected" />
|
<menu-train ref="menuTrain" :selected="selected" />
|
||||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
||||||
|
@ -4,14 +4,16 @@ import router from './router/index';
|
|||||||
import NProgress from 'nprogress';
|
import NProgress from 'nprogress';
|
||||||
import 'nprogress/nprogress.css';
|
import 'nprogress/nprogress.css';
|
||||||
import { setToken, getToken, getSessionStorage, setSessionStorage } from '@/utils/auth';
|
import { setToken, getToken, getSessionStorage, setSessionStorage } from '@/utils/auth';
|
||||||
|
import { getFrontProjectConfigByLogin} from '@/api/projectConfig';
|
||||||
import localStore from 'storejs';
|
import localStore from 'storejs';
|
||||||
|
import { handlerUrl } from '@/utils/baseUrl';
|
||||||
|
|
||||||
const whiteList = ['/login', '/design/login', '/loginNew', '/gzzbxy/relay', '/authorization', '/AUSline', '/AUStool', '/demo', '/thirdLogin']; // 不重定向白名单
|
const whiteList = ['/login', '/design/login', '/loginNew', '/gzzbxy/relay', '/authorization', '/AUSline', '/AUStool', '/demo', '/thirdLogin']; // 不重定向白名单
|
||||||
|
|
||||||
// 登录路径判断获取
|
// 登录路径判断获取
|
||||||
function getRouteInfo(to) {
|
function getRouteInfo(to) {
|
||||||
let loginPath = '';
|
let loginPath = '';
|
||||||
const markKey = store.state.projectConfig.markKey;
|
const markKey = store.state.projectConfig.markKey || getSessionStorage('project');
|
||||||
loginPath = markKey == 'login' ? '/login' : '/login?project=' + markKey;
|
loginPath = markKey == 'login' ? '/login' : '/login?project=' + markKey;
|
||||||
if (to.query.projectDevice && to.query.type && loginPath.includes('?')) {
|
if (to.query.projectDevice && to.query.type && loginPath.includes('?')) {
|
||||||
loginPath = `${loginPath}&projectDevice=${to.query.projectDevice}&type=${to.query.type}`;
|
loginPath = `${loginPath}&projectDevice=${to.query.projectDevice}&type=${to.query.type}`;
|
||||||
@ -21,30 +23,52 @@ function getRouteInfo(to) {
|
|||||||
return loginPath;
|
return loginPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleRoute(to, next, loginPath) {
|
function getInfoAndGenerateRoutes(to, next, loginPath) {
|
||||||
if (store.getters.roles.length == 0) {
|
store.dispatch('GetInfo', getToken()).then(res => {
|
||||||
store.dispatch('GetInfo', getToken()).then(res => {
|
// 根据roles权限生成可访问的路由表
|
||||||
// 根据roles权限生成可访问的路由表
|
// const roles = res.roles;
|
||||||
// const roles = res.roles;
|
store.dispatch('GenerateRoutes', res).then(() => {
|
||||||
store.dispatch('GenerateRoutes', res).then(() => {
|
router.addRoutes(store.getters.addRouters); // 动态添加可访问路由表
|
||||||
router.addRoutes(store.getters.addRouters); // 动态添加可访问路由表
|
if (to.redirectedFrom) {
|
||||||
if (to.redirectedFrom) {
|
next({ path: to.redirectedFrom, replace: true });
|
||||||
next({ path: to.redirectedFrom, replace: true });
|
} else {
|
||||||
} else {
|
next({ ...to, replace: true });
|
||||||
next({ ...to, replace: true });
|
}
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}).catch(() => {
|
|
||||||
store.dispatch('FedLogOut').then(() => {
|
|
||||||
Vue.prototype.$messageBox('验证失败,请重新登录!');
|
|
||||||
next({ path: loginPath });
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
}).catch(() => {
|
||||||
|
store.dispatch('FedLogOut').then(() => {
|
||||||
|
Vue.prototype.$messageBox('验证失败,请重新登录!');
|
||||||
|
next({ path: loginPath });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleRoute(to, next, loginPath) {
|
||||||
|
const project = getSessionStorage('project');
|
||||||
|
if (store.getters.roles.length == 0) {
|
||||||
|
if (!store.state.projectConfig.markKey) {
|
||||||
|
getFrontProjectConfigByLogin(project).then(resp => {
|
||||||
|
const urlData = handlerUrl();
|
||||||
|
const { baseApiUrl, baseSite, ossUrl, loginProLogo, browserTitle} = resp.data.viewSetting;
|
||||||
|
store.dispatch('setBaseUrl', baseApiUrl || urlData.BASE_API);
|
||||||
|
store.dispatch('setBaseSite', baseSite || urlData.BASE_SITE);
|
||||||
|
store.dispatch('setOssUrl', ossUrl || urlData.OSS_URL);
|
||||||
|
store.dispatch('projectConfig/setMarkKey', resp.data.markKey);
|
||||||
|
store.dispatch('projectConfig/setProjectCode', resp.data.project);
|
||||||
|
store.dispatch('projectConfig/setViewSetting', resp.data.viewSetting);
|
||||||
|
document.title = browserTitle;
|
||||||
|
if (loginProLogo) {
|
||||||
|
document.querySelector("link[rel*='icon']").href = (ossUrl || urlData.OSS_URL) + '/logo/' + loginProLogo;
|
||||||
|
}
|
||||||
|
getInfoAndGenerateRoutes(to, next, loginPath);
|
||||||
|
}).catch(e => this.$message.error('获取配置数据失败!'));
|
||||||
|
} else {
|
||||||
|
getInfoAndGenerateRoutes(to, next, loginPath);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// 除没有动态改变权限的需求可直接next() 删下方权限判断
|
// 除没有动态改变权限的需求可直接next() 删下方权限判断
|
||||||
if (to.path === '/404' && to.redirectedFrom === '/') {
|
if (to.path === '/404' && to.redirectedFrom === '/') {
|
||||||
const project = getSessionStorage('project');
|
|
||||||
next(localStore.get('trainingPlatformRoute' + store.getters.id + project) || '/trainingPlatform');
|
next(localStore.get('trainingPlatformRoute' + store.getters.id + project) || '/trainingPlatform');
|
||||||
} else {
|
} else {
|
||||||
next();
|
next();
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
<span>{{ $t('global.roomId')+group }}</span>
|
<span>{{ $t('global.roomId')+group }}</span>
|
||||||
</div>
|
</div>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="copyGroup">复制</el-button>
|
||||||
<el-button @click="doClose">{{ $t('global.close') }}</el-button>
|
<el-button @click="doClose">{{ $t('global.close') }}</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
@ -21,6 +22,13 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
copyGroup() {
|
||||||
|
navigator.clipboard.writeText(this.group).then(() => {
|
||||||
|
this.$message.success('仿真号已经复制到粘贴板');
|
||||||
|
}).catch(()=> {
|
||||||
|
this.$message.error('复制失败!');
|
||||||
|
});
|
||||||
|
},
|
||||||
clearModel() {
|
clearModel() {
|
||||||
this.title = '';
|
this.title = '';
|
||||||
},
|
},
|
||||||
|
@ -131,7 +131,7 @@ export default {
|
|||||||
this.standCode = '';
|
this.standCode = '';
|
||||||
this.standList = [];
|
this.standList = [];
|
||||||
this.stationStandList.forEach(stand => {
|
this.stationStandList.forEach(stand => {
|
||||||
if (stand.stationCode === stationCode) {
|
if (stand.stationCode === stationCode && !stand.small) {
|
||||||
let dir = '';
|
let dir = '';
|
||||||
if (this.$store.state.map.mapConfig.upRight) {
|
if (this.$store.state.map.mapConfig.upRight) {
|
||||||
dir = stand.right ? '上行' : '下行';
|
dir = stand.right ? '上行' : '下行';
|
||||||
|
@ -304,7 +304,9 @@ export default {
|
|||||||
this.changePictureShow('maintainerSelect');
|
this.changePictureShow('maintainerSelect');
|
||||||
} else if (this.roles === 'DRIVER') {
|
} else if (this.roles === 'DRIVER') {
|
||||||
// 司机模拟
|
// 司机模拟
|
||||||
this.changePictureShow('driverAtsWork');
|
const trainingDesign = this.$store.state.training.domConfig ? this.$store.state.training.domConfig.trainingDesign : false;
|
||||||
|
console.log('1111111111111111', trainingDesign);
|
||||||
|
this.changePictureShow(trainingDesign ? 'driverAtsWork' : 'drivingPlan');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
changePictureShow(code) {
|
changePictureShow(code) {
|
||||||
|
@ -8,8 +8,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="slider-tree">
|
<div class="slider-tree">
|
||||||
<el-scrollbar wrap-class="scrollbar-wrapper" style="background: #fff;">
|
<el-scrollbar wrap-class="scrollbar-wrapper" style="background: #fff;">
|
||||||
<template v-for="(training, index) in trainingList">
|
<template>
|
||||||
<div :key="training.id" class="training-name-box" :class="{'active': trainingDetail && trainingDetail.id === training.id}" @click="loadScript(training)">
|
<div v-for="(training, index) in trainingList" :key="training.id" class="training-name-box" :class="{'active': trainingDetail && trainingDetail.id === training.id}" @click="loadScript(training)">
|
||||||
<span>{{ `${index + 1}、${training.name}` }}</span>
|
<span>{{ `${index + 1}、${training.name}` }}</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -53,6 +53,9 @@ export default {
|
|||||||
this.handleSliderShow(true);
|
this.handleSliderShow(true);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
beforeDestroy() {
|
||||||
|
EventBus.$off('handleSliderShow');
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
initLoadPage() {
|
initLoadPage() {
|
||||||
const trainingType = this.$store.state.training.domConfig ? this.$store.state.training.domConfig.trainingType : '';
|
const trainingType = this.$store.state.training.domConfig ? this.$store.state.training.domConfig.trainingType : '';
|
||||||
|
Loading…
Reference in New Issue
Block a user