差异化打包调整&哈尔滨登录页

This commit is contained in:
fan 2020-03-30 13:07:11 +08:00
parent a8d9aa001c
commit ab4928d924
64 changed files with 2353 additions and 1033 deletions

View File

@ -53,6 +53,7 @@
"compression-webpack-plugin": "^3.0.0", "compression-webpack-plugin": "^3.0.0",
"connect": "3.6.6", "connect": "3.6.6",
"copy-webpack-plugin": "^4.5.2", "copy-webpack-plugin": "^4.5.2",
"eslint": "5.15.3", "eslint": "5.15.3",
"eslint-plugin-vue": "5.2.2", "eslint-plugin-vue": "5.2.2",
"file-loader": "^3.0.1", "file-loader": "^3.0.1",

View File

@ -4,14 +4,14 @@ import { getTrainingCbtcDemon, runDiagramStart, runDiagramOver, setTrainingCbtcI
import { creatSubscribe, clearSubscribe, displayTopic, screenTopic } from '@/utils/stomp'; import { creatSubscribe, clearSubscribe, displayTopic, screenTopic } from '@/utils/stomp';
import { getToken } from '@/utils/auth'; import { getToken } from '@/utils/auth';
import router from '@/router'; import router from '@/router/index_APP_TARGET';
// 定于仿真socket接口 // 定于仿真socket接口
export function Jl3dDriving(mixers, updatemmi, sound, translation, routegroup) { export function Jl3dDriving(mixers, updatemmi, sound, translation, routegroup) {
let scope = this; const scope = this;
this.map = null; this.map = null;
let toppic = '/app/topic/simulation/client/'+routegroup+'/drive'; const toppic = '/app/topic/simulation/client/' + routegroup + '/drive';
var trainlisttest = null; var trainlisttest = null;
var sectionlist = null; var sectionlist = null;
var signallist = null; var signallist = null;
@ -32,15 +32,15 @@ export function Jl3dDriving(mixers,updatemmi,sound,translation,routegroup) {
let driverswitch = false; let driverswitch = false;
let stoptimer = null; const stoptimer = null;
let num = 30; const num = 30;
let pointstand = null; const pointstand = null;
// run as plane = 01; // run as plane = 01;
// reset = 02; // reset = 02;
var datatype = '00'; var datatype = '00';
this.teststomp = new StompClient(); this.teststomp = new StompClient();
this.topic = '/user/queue/simulation/jl3d/' + routegroup; this.topic = '/user/queue/simulation/jl3d/' + routegroup;
let header = {'X-Token': getToken() }; const header = {'X-Token': getToken() };
this.updatamap = function(newsectionlist, newlinklist, newsignallist, newstationstandlist, newtrainlisttest, newrealsectionlist, newrails, materiallist, nowaction, scene) { this.updatamap = function(newsectionlist, newlinklist, newsignallist, newstationstandlist, newtrainlisttest, newrealsectionlist, newrails, materiallist, nowaction, scene) {
// console.log(mapdata); // console.log(mapdata);
@ -91,7 +91,7 @@ export function Jl3dDriving(mixers,updatemmi,sound,translation,routegroup) {
function callback(Response) { function callback(Response) {
// console.log(Response); // console.log(Response);
// 对象化数据 // 对象化数据
let data = JSON.parse(Response.body); const data = JSON.parse(Response.body);
// 遍历后台数据 // 遍历后台数据
// 判断消息类型 // 判断消息类型
@ -103,7 +103,6 @@ export function Jl3dDriving(mixers,updatemmi,sound,translation,routegroup) {
switch (data.type) { switch (data.type) {
case 'Simulation_Driver_Change': case 'Simulation_Driver_Change':
trainlisttest.group.remove(trainlisttest.list[drivingcode]); trainlisttest.group.remove(trainlisttest.list[drivingcode]);
trainlisttest.list[data.body.code].dispose = true; trainlisttest.list[data.body.code].dispose = true;
trainlisttest.list[drivingcode].dispose = true; trainlisttest.list[drivingcode].dispose = true;
@ -186,8 +185,6 @@ export function Jl3dDriving(mixers,updatemmi,sound,translation,routegroup) {
} }
} }
if (code == drivingcode) { if (code == drivingcode) {
// if(sound.volswitch == true){ // if(sound.volswitch == true){
// sound.setVolume( data.body[tl].v/100 ); // sound.setVolume( data.body[tl].v/100 );
@ -203,7 +200,7 @@ export function Jl3dDriving(mixers,updatemmi,sound,translation,routegroup) {
updatemmi.updateatospeed(-1); updatemmi.updateatospeed(-1);
} }
if (trainlisttest.list[code].progress < 1) { if (trainlisttest.list[code].progress < 1) {
let syncdata = { const syncdata = {
type: 'Train', type: 'Train',
code: code, code: code,
linkCode: trainlisttest.list[code].nowcode, linkCode: trainlisttest.list[code].nowcode,
@ -358,7 +355,6 @@ export function Jl3dDriving(mixers,updatemmi,sound,translation,routegroup) {
// console.log(data.body[i]); // console.log(data.body[i]);
if (data.body[i].directionType == '02') { // 向右 if (data.body[i].directionType == '02') { // 向右
if (data.body[i].targetStation) { if (data.body[i].targetStation) {
trainlisttest.list[code].stopstation = data.body[i].targetStation; trainlisttest.list[code].stopstation = data.body[i].targetStation;
@ -376,7 +372,7 @@ export function Jl3dDriving(mixers,updatemmi,sound,translation,routegroup) {
trainlisttest.list[code].status = '02'; trainlisttest.list[code].status = '02';
trainlisttest.list[code].curve = rails.linkrail[data.body[i].linkCode].lineleft; trainlisttest.list[code].curve = rails.linkrail[data.body[i].linkCode].lineleft;
let point = rails.linkrail[data.body[i].linkCode].lineleft.getPointAt(trainlisttest.list[code].progress); const point = rails.linkrail[data.body[i].linkCode].lineleft.getPointAt(trainlisttest.list[code].progress);
trainlisttest.list[code].rotation.y = 0; trainlisttest.list[code].rotation.y = 0;
trainlisttest.list[code].position.x = point.x; trainlisttest.list[code].position.x = point.x;
trainlisttest.list[code].position.y = 0; trainlisttest.list[code].position.y = 0;
@ -412,7 +408,7 @@ export function Jl3dDriving(mixers,updatemmi,sound,translation,routegroup) {
trainlisttest.list[code].status = '03'; trainlisttest.list[code].status = '03';
trainlisttest.list[code].curve = rails.linkrail[data.body[i].linkCode].lineright; trainlisttest.list[code].curve = rails.linkrail[data.body[i].linkCode].lineright;
let point = rails.linkrail[data.body[i].linkCode].lineright.getPointAt(trainlisttest.list[code].progress); const point = rails.linkrail[data.body[i].linkCode].lineright.getPointAt(trainlisttest.list[code].progress);
trainlisttest.list[code].rotation.y = Math.PI; trainlisttest.list[code].rotation.y = Math.PI;
trainlisttest.list[code].position.x = point.x; trainlisttest.list[code].position.x = point.x;
trainlisttest.list[code].position.y = 0; trainlisttest.list[code].position.y = 0;
@ -425,7 +421,6 @@ export function Jl3dDriving(mixers,updatemmi,sound,translation,routegroup) {
// trainlisttest.list[code].len = sectionlist.sections.datalist[data.body[i].sectionCode].distance; // trainlisttest.list[code].len = sectionlist.sections.datalist[data.body[i].sectionCode].distance;
if (data.body[i].speed == 0) { if (data.body[i].speed == 0) {
trainlisttest.list[code].speeds = data.body[i].speed; trainlisttest.list[code].speeds = data.body[i].speed;
trainlisttest.list[code].speeds = 0; trainlisttest.list[code].speeds = 0;
@ -435,7 +430,6 @@ export function Jl3dDriving(mixers,updatemmi,sound,translation,routegroup) {
trainlisttest.list[code].speeds = parseFloat(data.body[i].speed * 10 / 36 / 25 / trainlisttest.list[code].len); trainlisttest.list[code].speeds = parseFloat(data.body[i].speed * 10 / 36 / 25 / trainlisttest.list[code].len);
} }
} }
} else if (trainlisttest.list[code].dispose != data.body[i].dispose && data.body[i].dispose == true) { } else if (trainlisttest.list[code].dispose != data.body[i].dispose && data.body[i].dispose == true) {
@ -493,8 +487,8 @@ export function Jl3dDriving(mixers,updatemmi,sound,translation,routegroup) {
if (data.body[i].directionType == '02') { // 向右 if (data.body[i].directionType == '02') { // 向右
trainlisttest.list[code].progress = 0; trainlisttest.list[code].progress = 0;
let rotaposx = trainlisttest.list[code].children[5].matrixWorld.elements[12]; const rotaposx = trainlisttest.list[code].children[5].matrixWorld.elements[12];
let rotaposz = trainlisttest.list[code].children[0].matrixWorld.elements[14]; const rotaposz = trainlisttest.list[code].children[0].matrixWorld.elements[14];
trainlisttest.list[code].rotation.y = 0; trainlisttest.list[code].rotation.y = 0;
trainlisttest.list[code].position.x = rotaposx; trainlisttest.list[code].position.x = rotaposx;
for (let tl = 0; tl < 6; tl++) { for (let tl = 0; tl < 6; tl++) {
@ -510,8 +504,8 @@ export function Jl3dDriving(mixers,updatemmi,sound,translation,routegroup) {
} else if (data.body[i].directionType == '03') { // 向左 } else if (data.body[i].directionType == '03') { // 向左
trainlisttest.list[code].progress = 0; trainlisttest.list[code].progress = 0;
let rotaposx = trainlisttest.list[code].children[5].matrixWorld.elements[12]; const rotaposx = trainlisttest.list[code].children[5].matrixWorld.elements[12];
let rotaposz = Math.abs(trainlisttest.list[code].children[0].matrixWorld.elements[14]); const rotaposz = Math.abs(trainlisttest.list[code].children[0].matrixWorld.elements[14]);
trainlisttest.list[code].rotation.y = Math.PI; trainlisttest.list[code].rotation.y = Math.PI;
trainlisttest.list[code].position.x = rotaposx; trainlisttest.list[code].position.x = rotaposx;
for (let tl = 0; tl < 6; tl++) { for (let tl = 0; tl < 6; tl++) {
@ -596,8 +590,6 @@ export function Jl3dDriving(mixers,updatemmi,sound,translation,routegroup) {
} else { } else {
// trainlisttest.list[code].stopstation = data.body[i].targetStation; // trainlisttest.list[code].stopstation = data.body[i].targetStation;
// // console.log(rails.stops[data.body[i].targetStation].direct2.percent); // // console.log(rails.stops[data.body[i].targetStation].direct2.percent);
// trainlisttest.list[code].pc = data.body[i].targetLinkPercent/rails.stops[data.body[i].targetStation].direct2.percent; // trainlisttest.list[code].pc = data.body[i].targetLinkPercent/rails.stops[data.body[i].targetStation].direct2.percent;
@ -606,8 +598,6 @@ export function Jl3dDriving(mixers,updatemmi,sound,translation,routegroup) {
// trainlisttest.list[code].linkOffsetPercent = data.body[i].linkOffsetPercent; // trainlisttest.list[code].linkOffsetPercent = data.body[i].linkOffsetPercent;
// trainlisttest.list[code].targetLink = data.body[i].targetLink; // trainlisttest.list[code].targetLink = data.body[i].targetLink;
let nextcode; let nextcode;
if (data.body[i].directionType == '02') { if (data.body[i].directionType == '02') {
if (rails.linkrail[data.body[i].linkCode].lineleft) { if (rails.linkrail[data.body[i].linkCode].lineleft) {
@ -656,9 +646,6 @@ export function Jl3dDriving(mixers,updatemmi,sound,translation,routegroup) {
trainlisttest.list[code].nextcode = nextcode; trainlisttest.list[code].nextcode = nextcode;
} }
// console.log(data.body[i].linkOffsetPercent); // console.log(data.body[i].linkOffsetPercent);
// console.log(trainlisttest.list[code].progress); // console.log(trainlisttest.list[code].progress);
// console.log(trainlisttest.list[code].curve.points); // console.log(trainlisttest.list[code].curve.points);
@ -675,7 +662,7 @@ export function Jl3dDriving(mixers,updatemmi,sound,translation,routegroup) {
function simulationreset(data) { function simulationreset(data) {
// console.log(data); // console.log(data);
for(let k in trainlisttest.list){ for (const k in trainlisttest.list) {
trainlisttest.list[k].dispose = true; trainlisttest.list[k].dispose = true;
trainlisttest.group.remove(trainlisttest.list[k]); trainlisttest.group.remove(trainlisttest.list[k]);
trainlisttest.list[k].stopstation = null; trainlisttest.list[k].stopstation = null;
@ -754,60 +741,60 @@ export function Jl3dDriving(mixers,updatemmi,sound,translation,routegroup) {
// 77 // 77
// 关闭 // 关闭
if (data.status == '01') { if (data.status == '01') {
signallist.list[code].mesh.getObjectByName("red").material.map = materials[0]; signallist.list[code].mesh.getObjectByName('red').material.map = materials[0];
signallist.list[code].mesh.getObjectByName("red").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('red').material.map.needsUpdate = true;
signallist.list[code].mesh.getObjectByName("yellow").material.map = materials[3]; signallist.list[code].mesh.getObjectByName('yellow').material.map = materials[3];
signallist.list[code].mesh.getObjectByName("yellow").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('yellow').material.map.needsUpdate = true;
signallist.list[code].mesh.getObjectByName("green").material.map = materials[3]; signallist.list[code].mesh.getObjectByName('green').material.map = materials[3];
signallist.list[code].mesh.getObjectByName("green").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('green').material.map.needsUpdate = true;
} }
// 开放 // 开放
if (data.status == '02') { if (data.status == '02') {
signallist.list[code].mesh.getObjectByName("red").material.map = materials[3]; signallist.list[code].mesh.getObjectByName('red').material.map = materials[3];
signallist.list[code].mesh.getObjectByName("red").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('red').material.map.needsUpdate = true;
signallist.list[code].mesh.getObjectByName("yellow").material.map = materials[3]; signallist.list[code].mesh.getObjectByName('yellow').material.map = materials[3];
signallist.list[code].mesh.getObjectByName("yellow").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('yellow').material.map.needsUpdate = true;
signallist.list[code].mesh.getObjectByName("green").material.map = materials[2]; signallist.list[code].mesh.getObjectByName('green').material.map = materials[2];
signallist.list[code].mesh.getObjectByName("green").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('green').material.map.needsUpdate = true;
} }
if (data.status == '03') { if (data.status == '03') {
signallist.list[code].mesh.getObjectByName("red").material.map = materials[3]; signallist.list[code].mesh.getObjectByName('red').material.map = materials[3];
signallist.list[code].mesh.getObjectByName("red").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('red').material.map.needsUpdate = true;
signallist.list[code].mesh.getObjectByName("yellow").material.map = materials[1]; signallist.list[code].mesh.getObjectByName('yellow').material.map = materials[1];
signallist.list[code].mesh.getObjectByName("yellow").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('yellow').material.map.needsUpdate = true;
signallist.list[code].mesh.getObjectByName("green").material.map = materials[3]; signallist.list[code].mesh.getObjectByName('green').material.map = materials[3];
signallist.list[code].mesh.getObjectByName("green").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('green').material.map.needsUpdate = true;
} }
// 引导 // 引导
if (data.status == '03') { if (data.status == '03') {
signallist.list[code].mesh.getObjectByName("red").material.map = materials[0]; signallist.list[code].mesh.getObjectByName('red').material.map = materials[0];
signallist.list[code].mesh.getObjectByName("red").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('red').material.map.needsUpdate = true;
signallist.list[code].mesh.getObjectByName("yellow").material.map = materials[1]; signallist.list[code].mesh.getObjectByName('yellow').material.map = materials[1];
signallist.list[code].mesh.getObjectByName("yellow").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('yellow').material.map.needsUpdate = true;
signallist.list[code].mesh.getObjectByName("green").material.map = materials[3]; signallist.list[code].mesh.getObjectByName('green').material.map = materials[3];
signallist.list[code].mesh.getObjectByName("green").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('green').material.map.needsUpdate = true;
} }
// 封锁 // 封锁
if (data.status == '04') { if (data.status == '04') {
signallist.list[code].mesh.getObjectByName("red").material.map = materials[3]; signallist.list[code].mesh.getObjectByName('red').material.map = materials[3];
signallist.list[code].mesh.getObjectByName("red").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('red').material.map.needsUpdate = true;
signallist.list[code].mesh.getObjectByName("yellow").material.map = materials[3]; signallist.list[code].mesh.getObjectByName('yellow').material.map = materials[3];
signallist.list[code].mesh.getObjectByName("yellow").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('yellow').material.map.needsUpdate = true;
signallist.list[code].mesh.getObjectByName("green").material.map = materials[3]; signallist.list[code].mesh.getObjectByName('green').material.map = materials[3];
signallist.list[code].mesh.getObjectByName("green").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('green').material.map.needsUpdate = true;
} }
// 故障 // 故障
if (data.status == '05') { if (data.status == '05') {
signallist.list[code].mesh.getObjectByName("red").material.map = materials[3]; signallist.list[code].mesh.getObjectByName('red').material.map = materials[3];
signallist.list[code].mesh.getObjectByName("red").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('red').material.map.needsUpdate = true;
signallist.list[code].mesh.getObjectByName("yellow").material.map = materials[3]; signallist.list[code].mesh.getObjectByName('yellow').material.map = materials[3];
signallist.list[code].mesh.getObjectByName("yellow").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('yellow').material.map.needsUpdate = true;
signallist.list[code].mesh.getObjectByName("green").material.map = materials[3]; signallist.list[code].mesh.getObjectByName('green').material.map = materials[3];
signallist.list[code].mesh.getObjectByName("green").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('green').material.map.needsUpdate = true;
} }
@ -815,12 +802,12 @@ export function Jl3dDriving(mixers,updatemmi,sound,translation,routegroup) {
} else if (data.lightType == '02') { } else if (data.lightType == '02') {
if (signallist.list[code].mesh.code) { if (signallist.list[code].mesh.code) {
signallist.list[code].mesh.getObjectByName("red").material.map = materials[3]; signallist.list[code].mesh.getObjectByName('red').material.map = materials[3];
signallist.list[code].mesh.getObjectByName("red").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('red').material.map.needsUpdate = true;
signallist.list[code].mesh.getObjectByName("yellow").material.map = materials[3]; signallist.list[code].mesh.getObjectByName('yellow').material.map = materials[3];
signallist.list[code].mesh.getObjectByName("yellow").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('yellow').material.map.needsUpdate = true;
signallist.list[code].mesh.getObjectByName("green").material.map = materials[3]; signallist.list[code].mesh.getObjectByName('green').material.map = materials[3];
signallist.list[code].mesh.getObjectByName("green").material.map.needsUpdate = true; signallist.list[code].mesh.getObjectByName('green').material.map.needsUpdate = true;
} }
@ -844,16 +831,16 @@ export function Jl3dDriving(mixers,updatemmi,sound,translation,routegroup) {
actions[sectionlist.switchs.modellist[j].code].play(); actions[sectionlist.switchs.modellist[j].code].play();
} }
rails.switchrail[code].locateType = "02"; rails.switchrail[code].locateType = '02';
let testswitch = rails.switchrail[code]; const testswitch = rails.switchrail[code];
if(rails.switchrail[code].directtype == "1"){ if (rails.switchrail[code].directtype == '1') {
// console.log("道岔朝向1向左"); // console.log("道岔朝向1向左");
// console.log("aleft:"+testswitch.clink); // console.log("aleft:"+testswitch.clink);
// console.log("cright:"+testswitch.alink); // console.log("cright:"+testswitch.alink);
rails.linkrail[testswitch.alink].lconnect = testswitch.clink; rails.linkrail[testswitch.alink].lconnect = testswitch.clink;
rails.linkrail[testswitch.clink].rconnect = testswitch.alink; rails.linkrail[testswitch.clink].rconnect = testswitch.alink;
}else if(rails.switchrail[code].directtype == "2"){ } else if (rails.switchrail[code].directtype == '2') {
// console.log("道岔朝向2向右"); // console.log("道岔朝向2向右");
// console.log("aright:"+testswitch.clink); // console.log("aright:"+testswitch.clink);
// console.log("cleft:"+testswitch.alink); // console.log("cleft:"+testswitch.alink);
@ -871,15 +858,15 @@ export function Jl3dDriving(mixers,updatemmi,sound,translation,routegroup) {
actions[sectionlist.switchs.modellist[j].code].play(); actions[sectionlist.switchs.modellist[j].code].play();
} }
rails.switchrail[code].locateType = "01"; rails.switchrail[code].locateType = '01';
let testswitch = rails.switchrail[code]; const testswitch = rails.switchrail[code];
if(rails.switchrail[code].directtype == "1"){ if (rails.switchrail[code].directtype == '1') {
// console.log("道岔朝向1向左"); // console.log("道岔朝向1向左");
// console.log("aleft"+testswitch.blink); // console.log("aleft"+testswitch.blink);
// console.log("cright:"+testswitch.alink); // console.log("cright:"+testswitch.alink);
rails.linkrail[testswitch.alink].lconnect = testswitch.blink; rails.linkrail[testswitch.alink].lconnect = testswitch.blink;
rails.linkrail[testswitch.blink].rconnect = testswitch.alink; rails.linkrail[testswitch.blink].rconnect = testswitch.alink;
}else if(rails.switchrail[code].directtype == "2"){ } else if (rails.switchrail[code].directtype == '2') {
// console.log("道岔朝向2向右"); // console.log("道岔朝向2向右");
// console.log("aright:"+testswitch.blink); // console.log("aright:"+testswitch.blink);
// console.log("cleft:"+testswitch.alink); // console.log("cleft:"+testswitch.alink);

View File

@ -1,7 +1,7 @@
import StompClient from '@/utils/sock'; import StompClient from '@/utils/sock';
import { displayTopic } from '@/utils/stomp'; import { displayTopic } from '@/utils/stomp';
import { getToken } from '@/utils/auth'; import { getToken } from '@/utils/auth';
import router from '@/router'; import router from '@/router/index_APP_TARGET';
// 定于仿真socket接口 // 定于仿真socket接口
export function Jlmap3dSubscribe(worker,routegroup) { export function Jlmap3dSubscribe(worker,routegroup) {

View File

@ -311,7 +311,7 @@ import { OperationEvent } from '@/scripts/ConstDic';
// import { now } from '@/utils/date'; // import { now } from '@/utils/date';
import ConfirmTip from './childDialog/confirmTip'; import ConfirmTip from './childDialog/confirmTip';
import { sendCommand } from '@/api/jmap/training'; import { sendCommand } from '@/api/jmap/training';
import router from '@/router'; import router from '@/router/index_APP_TARGET';
export default { export default {
name: 'SectionCmdSpeed', name: 'SectionCmdSpeed',

View File

@ -311,7 +311,7 @@ import { OperationEvent } from '@/scripts/ConstDic';
// import { now } from '@/utils/date'; // import { now } from '@/utils/date';
import ConfirmTip from './childDialog/confirmTip'; import ConfirmTip from './childDialog/confirmTip';
import { sendCommand } from '@/api/jmap/training'; import { sendCommand } from '@/api/jmap/training';
import router from '@/router'; import router from '@/router/index_APP_TARGET';
export default { export default {
name: 'SectionCmdSpeed', name: 'SectionCmdSpeed',

View File

@ -20,7 +20,7 @@
<script> <script>
import userInfo from './userInfo'; import userInfo from './userInfo';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
export default { export default {
name: 'Logout', name: 'Logout',

View File

@ -10,7 +10,7 @@ import App from './App';
import VueI18n from 'vue-i18n'; import VueI18n from 'vue-i18n';
import store from './store'; import store from './store';
import router from './router'; import router from './router/index_APP_TARGET';
import CancelMouseState from '@/mixin/CancelMouseState.js'; import CancelMouseState from '@/mixin/CancelMouseState.js';
Vue.mixin(CancelMouseState); Vue.mixin(CancelMouseState);

View File

@ -1,8 +1,8 @@
import Vue from 'vue'; import Vue from 'vue';
import store from '@/store'; import store from '@/store';
import router from './router'; import router from './router/index_APP_TARGET';
import NProgress from 'nprogress'; import NProgress from 'nprogress';
import { admin} from './router'; import { admin} from './router/index_APP_TARGET';
import { getToken, removeToken} from '@/utils/auth'; import { getToken, removeToken} from '@/utils/auth';
import { LoginParams } from '@/utils/login'; import { LoginParams } from '@/utils/login';
import { getSessionStorage } from '@/utils/auth'; import { getSessionStorage } from '@/utils/auth';

View File

@ -151,102 +151,6 @@ export const userPlan = '015'; // 计划系统
export const userTrainingPlatform = '016'; // 实训平台 export const userTrainingPlatform = '016'; // 实训平台
// const isDev = process.env.NODE_ENV === 'development'; // const isDev = process.env.NODE_ENV === 'development';
export const UrlConfig = {
display: '/display',
displayNew: '/displayNew',
scriptDisplay: '/scriptDisplay',
scriptDisplayNew:'/scriptDisplayNew',
examRuleDraft: '/examRule/draft',
examRuleManage: '/examRule/manage',
lesson: {
prefix: '/lesson',
record: '/system/record/training',
manage: '/lesson/manage/training'
},
design: {
prefix: '/design/home',
mapDraw: '/design/map/draw',
lessonEdit: '/design/lesson/edit',
lessonHome: '/design/lesson/home',
lessonManage: '/design/lesson/manage',
taskManage: '/design/lesson/taskManage',
trainingRule: '/design/lesson/trainingRule',
trainingRuleDetail: '/design/lesson/trainingRule/detail',
trainingManage: '/design/lesson/trainingManage',
lessonTraining: '/design/lesson/training',
trainingRecord: '/design/lesson/training',
runPlan: '/design/runPlan/detail',
scriptHome: '/design/script/home',
display: '/design/display',
mapPreview: '/design/mapPreview',
mapPreviewNew: '/design/mapPreviewNew',
ibpHome: '/design/ibp/home'
},
designUser: {
prefix: '/design/userlist/home',
scriptHome: '/design/userlist/script/home',
mapDraw: '/design/userlist/map/draw',
lessonHome: '/design/userlist/lesson/home',
runPlan: '/design/userlist/runPlan/detail'
},
newDesignuser: {
prefix: '/design/usermap/home',
scriptHome: '/design/usermap/script/home',
mapDraw: '/design/usermap/map/draw',
lessonHome: '/design/usermap/lesson/home',
runPlan: '/design/usermap/runPlan/detail'
},
replay: {
prefix: '/replay'
},
publish: {
prefix: '/publish',
map: '/publish/map',
runPlanEveryDay: '/publish/runPlan/everyDay',
runPlanTemplate: '/publish/runPlan/template',
runPlanCommon: '/publish/runPlan/common',
runPlanView: '/publish/runPlan/view'
},
orderauthor: {
prefix: '/orderauthor',
commodityManage: '/orderauthor/commodity/manage',
commodityDraft: '/orderauthor/commodity/draft',
orderManage: '/orderauthor/order/manage',
orderDraft: '/orderauthor/order/draft',
authorMange: '/orderauthor/author/manage',
authorDetail: '/orderauthor/author/detail',
transferDetail: '/orderauthor/transfer/detail',
createPackage: '/orderauthor/transfer/create'
},
script: {
prefix: '/script',
detail: '/script/detail',
display: '/script/display'
},
ibp: {
prefix: 'ibp',
draft: '/ibp/draft',
edit: 'ibp/edit'
},
trainingPlatform: {
trainingPlatform: '/trainingPlatform',
prodDetail: '/trainingPlatform/detail',
teachDetail: '/trainingPlatform/teach',
teachHome: '/trainingPlatform/teachHome',
examDetail: '/trainingPlatform/exam',
examHome: '/trainingPlatform/examHome',
examRuleManage: '/trainingPlatform/examRule/manage',
examRuleDraft: '/trainingPlatform/examRule/Draft',
course: '/trainingPlatform/course',
practical: '/trainingPlatform/practical',
permission: '/trainingPlatform/permission',
permissionDetails: '/trainingPlatform/permission/detail',
draft: '/trainingPlatform/draft',
pay: '/trainingPlatform/pay',
runPlan: '/trainingPlatform/runPlan/manage'
}
};
/** /**
* constantRoutes * constantRoutes
* a base page that does not have permission requirements * a base page that does not have permission requirements

890
src/router/index_HYD.js Normal file
View File

@ -0,0 +1,890 @@
// import Vue from 'vue';
import Router from 'vue-router';
// import VueRouter from 'vue-router';
// Vue.use(Router);
/* Layout */
const Layout = () => import('@/layout');
const Login = () => import('@/views/login/hydLogin');
const Jlmap3dedit = () => import('@/views/jlmap3d/edit/jlmap3dedit');
const Jlmap3d = () => import('@/views/jlmap3d/drive/jl3ddrive');
const Jlmap3dSandbox = () => import('@/views/jlmap3d/simulation/jl3dsimulation');
const Jlmap3dModel = () => import('@/views/jlmap3d/device/jl3ddevice');
const Jlmap3dTrain = () => import('@/views/jlmap3d/devicetrain/jl3ddevicetrain');
const Display = () => import('@/views/display/index');
const DisplayNew = () => import('@/views/newMap/displayNew/index');
const DesignDisplay = () => import('@/views/display/designIndex');
const TrainRoom = () => import('@/views/trainRoom/index');
const JointTraining = () => import('@/views/jointTraining/index');
const JointTrainingNew = () => import('@/views/newMap/jointTrainingNew/index');
const Error401 = () => import('@/views/error-page/401');
const Errpr404 = () => import('@/views/error-page/404');
const Dictionary = () => import('@/views/system/dictionary/index');
const DictionaryDetail = () => import('@/views/system/dictionaryDetail/index');
const UserControl = () => import('@/views/system/userControl/index');
const UserTraining = () => import('@/views/system/userTraining/index');
const UserExam = () => import('@/views/system/userExam/index');
const UserSimulation = () => import('@/views/system/userSimulation/index');
const ExistingSimulation = () => import('@/views/system/existingSimulation/index');
const CacheControl = () => import('@/views/system/cacheControl/index');
const SystemGenerate = () => import('@/views/system/systemGenerate/index');
const News = () => import('@/views/system/news/index');
const CommandDictionary = () => import('@/views/system/commandDictionary/index');
const CommandDictionaryDetail = () => import('@/views/system/commandDictionary/edit');
const configLine = () => import('@/views/system/configLine/index');
const Mapedit = () => import('@/views/mapdraft/index');
const IscsSystem = () => import('@/views/iscs/iscsSystem/index');
const IscsDraw = () => import('@/views/iscs/iscsDraw/index');
const IscsDesign = () => import('@/views/iscs/iscsDesign/index');
const IscsConfig = () => import('@/views/iscs/iscsSystem/config/index');
const NewMapDraft = () => import('@/views/newMap/newMapdraft/index');
const NewDesignPlatformUser = () => import('@/views/newMap/newDesignUser/index');
const Taskmanage = () => import('@/views/lesson/taskmanage/list');
const TrainingRuleList = () => import('@/views/lesson/trainingRule/list');
const TrainingRuleEdit = () => import('@/views/lesson/trainingRule/detail/index');
const Trainingmanage = () => import('@/views/lesson/trainingmanage/index');
const LessonEdit = () => import('@/views/lesson/lessoncategory/index');
const LessonHome = () => import('@/views/lesson/home');
const LessonDetail = () => import('@/views/lesson/details');
const ScriptmanageHome = () => import('@/views/scriptManage/home');
const ScriptDisplay = () => import('@/views/scriptManage/display/index');
const ScriptDisplayNew = () => import('@/views/scriptManage/display/indexNew');
const IbpHome = () => import('@/views/ibp/home');
const IbpDraw = () => import('@/views/ibp/ibpDraw/index');
const TeachDetail = () => import('@/views/teach/detail/index');
const TeachHome = () => import('@/views/teach/index');
const Pay = () => import('@/views/components/pay/index');
const ExamHome = () => import('@/views/exam/index');
const ExamResult = () => import('@/views/exam/result');
const ExamDetail = () => import('@/views/exam/detail/examDetail');
const ExamCourseDetail = () => import('@/views/exam/detail/courseDetail');
const DemonstrationDetail = () => import('@/views/demonstration/detail/index');
const PlanMonitorEditTool = () => import('@/views/planMonitor/editTool/index');
const PlanMonitorEditUserTool = () => import('@/views/planMonitor/editTool/userindex');
const PlanMonitorDetail = () => import('@/views/planMonitor/detail');
const DesignPlatformHome = () => import('@/views/designPlatform/home');
const DesignPlatform = () => import('@/views/designPlatform/index');
const MapPreview = () => import('@/views/designPlatform/mapPreview');
const MapPreviewNew = () => import('@/views/designPlatform/mapPreviewNew');
const DesignPlatformUser = () => import('@/views/designUser/index');
const Package = () => import('@/views/package/index');
const PublishMap = () => import('@/views/publish/publishMap/index');
const PublishMapDetail = () => import('@/views/publish/publishMap/list'); // 发布历史
const PublishLesson = () => import('@/views/publish/publishLesson/index');
const RunPlanTemplate = () => import('@/views/publish/runPlanTemplate/index');
const RunPlanCommon = () => import('@/views/publish/runPlanCommon/index');
const RunPlanCommonDraft = () => import('@/views/publish/runPlanCommon/draft');
const RunPlanEveryDay = () => import('@/views/publish/runPlanEveryDay/index');
const RunplanView = () => import('@/views/publish/runPlanEveryDay/runPlanView');
const PublishExamRule = () => import('@/views/publish/examRule/index');
const PublishExamRuleDraft = () => import('@/views/publish/examRule/draft/index');
const TrainingPlatform = () => import('@/views/trainingPlatform/index');
const Commodity = () => import('@/views/orderauthor/commodity/index');
const OrderList = () => import('@/views/orderauthor/order/list');
const OrderDraft = () => import('@/views/orderauthor/order/draft');
const Author = () => import('@/views/orderauthor/author/index');
const Permission = () => import('@/views/orderauthor/permission/index');
const PermissionDetail = () => import('@/views/orderauthor/permission/detail');
const PermissionCreate = () => import('@/views/orderauthor/permission/create/index');
const UserRules = () => import('@/views/orderauthor/rules/index');
const UserRulesDetail = () => import('@/views/orderauthor/rules/detail');
const LessonApproval = () => import('@/views/approval/lesson/index');
const ScriptApproval = () => import('@/views/approval/script/index');
const RunPlanApproval = () => import('@/views/approval/runPlan/index');
const DeviceManage = () => import('@/views/system/deviceManage/index');
const MapSort = () => import('@/views/publish/publishMap/mapSort');
import { loginInfo } from '@/scripts/ConstDic';
import { getSessionStorage } from '@/utils/auth';
/**
* Note: sub-menu only appear when route children.length >= 1
* Detail see: https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
*
* hidden: true if set true, item will not show in the sidebar(default is false)
* alwaysShow: true if set true, will always show the root menu
* if not set alwaysShow, when item has more than one children route,
* it will becomes nested mode, otherwise not show the root menu
* redirect: noRedirect if set noRedirect will no redirect in the breadcrumb
* name:'router-name' the name is used by <keep-alive> (must set!!!)
* meta : {
roles: ['admin','editor'] control the page roles (you can set multiple roles)
title: 'title' the name show in sidebar and breadcrumb (recommend set)
icon: 'svg-name' the icon show in the sidebar
breadcrumb: false if set false, the item will hidden in breadcrumb(default is true)
activeMenu: '/example/list' if set path, the sidebar will highlight the path you set
}
*/
export const user = '01'; // 普通用户
export const mapCreater = '02'; // 地图创建权限
export const lessonCreater = '03'; // 课程创建权限
export const admin = '04'; // 管理员
export const superAdmin = '05'; // 超级管理员
export const userExam = '011'; // 考试系统
export const userLesson = '012'; // 教学系统
export const userSimulation = '013'; // 仿真系统
export const userScreen = '014'; // 大屏系统
export const userPlan = '015'; // 计划系统
export const userTrainingPlatform = '016'; // 实训平台
// const isDev = process.env.NODE_ENV === 'development';
/**
* constantRoutes
* a base page that does not have permission requirements
* all roles can be accessed
*/
export const constantRoutes = [
// 实训平台登录
{
path: '/login',
component: Login,
hidden: true
},
// 设计平台登录
{
path: '/design/login',
component: Login,
hidden: true
},
{
path: '/design/jlmap3d/edit',
component: Jlmap3dedit,
hidden: true
},
{
path: '/jlmap3d/sandbox',
component: Jlmap3dSandbox,
hidden: true
},
{
path: '/jlmap3d/devicemodel',
component: Jlmap3dModel,
hidden: true
},
{
path: '/jlmap3d/devicetrain',
component: Jlmap3dTrain,
hidden: true
},
{
path: '/401',
component: Error401,
hidden: true
},
{
path: '/404',
component: Errpr404,
hidden: true
},
{ path: '*', redirect: '/404', hidden: true }
];
export const asyncRouter = [
{ // 公共地图
path: '/design',
component: Layout,
redirect: '/design/home',
meta: {
roles: [admin, user]
},
children: [
{
path: '',
redirect: '/design/home',
component: DesignPlatform,
meta: {
i18n: 'router.designhomePage',
icon: 'design'
},
children: [
{
path: 'home',
component: DesignPlatformHome,
meta: {
}
},
{ // 运行图设计
path: 'runPlan/detail/:mapId',
component: PlanMonitorDetail,
hidden: true
},
{ // 剧本
path: 'script/home/:mapId',
component: ScriptmanageHome,
meta: {
i18n: 'router.scriptManage'
},
hidden: true
},
{ // 课程列表
path: 'lesson/home/:mapId',
component: LessonHome,
hidden: true
},
{ // 操作定义
path: 'lesson/trainingRule',
component: TrainingRuleList,
hidden: true
},
{ // 操作定义步骤
path: 'lesson/trainingRule/detail',
hidden: true,
component: TrainingRuleEdit
},
{ // 任务管理
path: 'lesson/taskManage',
component: Taskmanage,
hidden: true
},
{ // 实训管理
path: 'lesson/trainingManage',
component: Trainingmanage,
hidden: true
},
{ // 创建课程
path: 'lesson/edit/:type',
component: LessonEdit,
hidden: true
},
{ // 课程详情
path: 'lesson/details',
component: LessonDetail,
hidden: true,
children: [
{
path: 'edit/:type',
component: LessonEdit,
hidden: true
}
]
},
{ // 地图预览
path: 'mapPreview/:mapId',
component: MapPreview,
hidden: true
},
{ // 新版地图预览
path: 'mapPreviewNew/:mapId',
component: MapPreviewNew,
hidden: true
},
{ // ibp列表
path: 'ibp/home/:mapId',
component: IbpHome,
hidden: true
},
{
path: 'ibp/edit',
component: IbpDraw,
hidden: true
}
]
}
]
},
{ // 个人地图
path: '/design/userlist',
redirect: '/design/userlist/home',
component: Layout,
meta: {
roles: [admin, user]
},
children: [
{
path: '',
redirect: '/design/userlist/home',
component: DesignPlatformUser,
meta: {
i18n: 'router.designUserPage',
icon: 'design'
},
children: [
{
path: 'home',
component: DesignPlatformHome,
meta: {
}
},
{ // 地图绘制
path: 'map/draw/:mapId/:view',
component: Mapedit,
hidden: true
},
{ // 运行图设计
path: 'runPlan/detail/:mapId',
component: PlanMonitorDetail,
hidden: true
}
]
}
]
},
{ // 全屏战场图
path: '/display/:mode',
component: Display,
meta: {
},
hidden: true
},
{
path: '/displayNew/:mode',
component: DisplayNew,
meta: {
},
hidden: true
},
{
path: '/design/display/:mode',
component: DesignDisplay,
meta: {
},
hidden: true
},
{ // 剧本编辑 战场图
path: '/scriptDisplay/:mode',
component: ScriptDisplay,
meta: {
},
hidden: true
},
{ // 剧本编辑 战场图
path: '/scriptDisplayNew/:mode',
component: ScriptDisplayNew,
meta: {
},
hidden: true
},
{
path: '/displayIscs/system',
component: IscsSystem,
meta: {
},
hidden: true,
children: [
{
path: 'config/:mode',
component: IscsConfig,
hidden: true
}
]
},
{ // 综合演练室
path: '/trainroom',
component: TrainRoom,
meta: {
},
hidden: true
},
{
path: '/jointTraining',
component: JointTraining,
hidden: true
},
{
path: '/jointTrainingNew',
component: JointTrainingNew,
hidden: true
},
{
path: '/jlmap3d',
component: Jlmap3d,
meta: {
},
hidden: true
},
{ // 实训平台
path: '/trainingPlatform',
component: Layout,
hidden: true,
meta: {
roles: [admin, userSimulation, user, userTrainingPlatform]
},
children: [
{
path: '',
component: TrainingPlatform,
meta: {
},
children: [
{ // 仿真详情
path: 'detail/:subSystem',
component: DemonstrationDetail,
hidden: true
},
{ // 教学系统 课程列表
path: 'teachHome/:subSystem',
component: TeachHome,
hidden: true
},
{ // 课程详情
path: 'teach/:subSystem',
component: TeachDetail,
hidden: true
},
{ // 试卷列表
path: 'course/:subSystem',
component: ExamCourseDetail,
hidden: true
},
{ // 考试系统 课程列表
path: 'examHome/:subSystem',
component: ExamHome,
hidden: true
},
{ // 试卷详情
path: 'exam/:examId',
component: ExamDetail,
hidden: true
},
{ // 试卷列表
path: 'examRule/manage',
component: PublishExamRule,
hidden: true
},
{ // 创建试卷
path: 'examRule/draft/:mode/:ruleId/:lessonId',
component: PublishExamRuleDraft,
hidden: true
},
{ // 购买
path: 'pay/:lessonId',
component: Pay,
hidden: true
},
{ // 考试结果
path: 'result/:userExamId',
component: ExamResult,
hidden: true
},
{ // 线路权限列表
path: 'permission/:mapId',
component: Package,
hidden: true
}
]
}
]
},
{ // 运行图编辑
path: '/plan/usertool',
component: PlanMonitorEditUserTool,
meta: {
},
hidden: true
},
{ // 运行图编辑
path: '/plan/tool',
component: PlanMonitorEditTool,
meta: {
},
hidden: true
},
{ // 发布内容管理
path: '/publish',
component: Layout,
meta: {
i18n: 'router.pulishManage',
roles: [admin]
},
children: [
{ // 发布地图
path: 'map',
component: PublishMap,
meta: {
i18n: 'router.publishMapManage'
}
},
{
path: '/publish/mapSort',
component: MapSort,
hidden: true
},
{ // 发布历史
path: 'map/detail',
hidden: true,
component: PublishMapDetail
},
{ // 发布课程
path: 'lesson',
component: PublishLesson,
meta: {
i18n: 'router.publishLessonManage'
}
},
{ // 模板运行图
path: 'runPlan/template',
component: RunPlanTemplate,
meta: {
i18n: 'router.runPlanTemplateManage'
}
},
{ // 加载运行图管理
path: 'runPlan/common',
component: RunPlanCommon,
meta: {
i18n: 'router.runPlanCommonManage'
}
},
{ // 新增加载运行图
path: 'runPlan/common/:mode',
component: RunPlanCommonDraft,
hidden: true
},
{ // 运行图预览
path: 'runPlan/view/:mode',
component: RunplanView,
hidden: true
},
{ // 每日运行图
path: 'runPlan/everyDay',
component: RunPlanEveryDay,
meta: {
i18n: 'router.runPlanEveryDayManage'
}
},
{ // 考试规则列表
path: 'examRule/manage',
component: PublishExamRule,
meta: {
i18n: 'router.examRuleManage'
}
},
{
path: 'examRule/draft/:mode/:ruleId/:lessonId',
component: PublishExamRuleDraft,
hidden: true
}
]
},
{ // 订单权限管理
path: '/orderauthor',
component: Layout,
meta: {
i18n: 'router.orderAuthorityManage',
roles: [admin]
},
children: [
{
path: 'author/manage',
component: Author,
meta: {
i18n: 'router.authorityManage'
}
},
{
path: 'commodity/manage',
component: Commodity,
meta: {
i18n: 'router.commodityManage'
}
},
{
path: 'order/manage',
component: OrderList,
meta: {
i18n: 'router.orderManage'
}
},
{
path: 'transfer/manage',
component: Permission,
meta: {
i18n: 'router.authorityTransferManage'
}
},
{
path: 'rules/manage',
component: UserRules,
meta: {
i18n: 'router.userRulesManage'
}
},
{
path: 'rules/manage/detail/:id',
hidden: true,
component: UserRulesDetail,
meta: {
i18n: 'router.userRulesManage'
}
},
{
path: 'order/draft/:mode/:orderId',
hidden: true,
component: OrderDraft,
meta: {
i18n: 'router.addOrder'
}
},
{
path: 'transfer/detail/:permissionId',
component: PermissionDetail,
hidden: true
},
{
path: 'transfer/create',
component: PermissionCreate,
hidden: true
}
]
},
{ // 系统管理
path: '/system',
component: Layout,
meta: {
i18n: 'router.systemManage',
roles: [admin]
},
children: [
{
path: 'dictionary',
component: Dictionary,
meta: {
i18n: 'router.dataDictionary'
}
},
{
path: 'dictionary/detail',
hidden: true,
component: DictionaryDetail,
meta: {
i18n: 'router.dataDictionaryDetails'
}
},
{
// 用户管理
path: 'userManage',
component: UserControl,
meta: {
i18n: 'router.userManage'
}
},
{
// 缓存管理
path: 'cache',
component: CacheControl,
meta: {
i18n: 'router.cacheManage'
}
},
{
path: 'userTrainingManage',
component: UserTraining,
meta: {
i18n: 'router.userTrainingManage'
}
},
{
path: 'userExamManage',
component: UserExam,
meta: {
i18n: 'router.userExamManage'
}
},
{
path: 'userSimulationManage',
component: UserSimulation,
meta: {
i18n: 'router.userSimulationManage'
}
},
{
path: 'existingSimulation',
component: ExistingSimulation,
meta: {
i18n: 'router.existingSimulation'
}
},
{
// 子系统生成
path: 'systemGenerate',
component: SystemGenerate,
meta: {
i18n: 'router.subsystemGeneration'
}
},
{ // 消息公告
path: 'news',
component: News,
meta: {
i18n: 'router.newsBulletin'
}
},
{ // 命令管理
path: 'commands',
component: CommandDictionary,
meta: {
i18n: 'router.commandDictionary'
}
},
{
path: 'commands/Detail',
hidden: true,
component: CommandDictionaryDetail
},
{ // 线路管理
path: 'configLine',
component: configLine,
meta: {
i18n: 'router.configLine'
}
},
{
path: 'deviceManage',
component: DeviceManage,
meta: {
i18n: 'router.deviceManage'
}
}
]
},
{ // 发布申请
path: '/apply',
component: Layout,
meta: {
i18n: 'router.releaseApplication',
roles: [admin]
},
children: [
{
path: 'lesson',
component: LessonApproval,
meta: {
i18n: 'router.courseApplication'
}
},
{
path: 'script',
component: ScriptApproval,
meta: {
i18n: 'router.scriptReleaseApplication'
}
},
{
path: 'runGraph',
component: RunPlanApproval,
meta: {
i18n: 'router.runGraphReleaseApplication'
}
}
]
},
{ // 新个人地图
path: '/design/usermap',
redirect: '/design/usermap/home',
component: Layout,
meta: {
roles: [admin]
},
children: [
{
path: '',
redirect: '/design/usermap/home',
component: NewDesignPlatformUser,
meta: {
i18n: 'router.newDesignUserPage',
icon: 'design'
},
children: [
{
path: 'home',
component: DesignPlatformHome,
meta: {
}
},
{ // 地图绘制
path: 'map/draw/:mapId/:view',
component: NewMapDraft,
hidden: true
}
]
}
]
},
{ // iscs系统
path: '/iscs',
component: Layout,
meta: {
i18n: 'router.iscsSystem',
roles: [admin]
},
children: [
{
path:'design',
component: IscsDesign,
meta: {
i18n: 'router.iscsDraw',
roles: [admin]
},
children: [
{
path: 'edit/:id/:mode',
component: IscsDraw,
hidden: true
}
]
},
{
path: 'system',
component: IscsSystem,
meta: {
i18n: 'router.iscsSystem',
roles: [admin, user]
},
children: [
{
path: 'config/:mode',
component: IscsConfig,
hidden: true
}
]
}
]
}
];
const createRouter = () => new Router({
mode: 'history', // require service support
scrollBehavior: () => ({ y: 0 }),
routes: constantRoutes
});
const router = createRouter();
router.beforeEach((to, from, next) => {
const project = getSessionStorage('project');
document.title = loginInfo[project || 'login'].title;
next();
});
// 兼容 vue-router在3.1.0版本以上的路由跳转使用的是 promise 的方式
const originalPush = Router.prototype.push;
Router.prototype.push = function push(location) {
return originalPush.call(this, location).catch(err => err);
};
export default router;

View File

@ -2265,3 +2265,98 @@ export const ProjectCode = {
designgzb: 'GZB', designgzb: 'GZB',
hyd: 'HYD' hyd: 'HYD'
}; };
export const UrlConfig = {
display: '/display',
displayNew: '/displayNew',
scriptDisplay: '/scriptDisplay',
scriptDisplayNew:'/scriptDisplayNew',
examRuleDraft: '/examRule/draft',
examRuleManage: '/examRule/manage',
lesson: {
prefix: '/lesson',
record: '/system/record/training',
manage: '/lesson/manage/training'
},
design: {
prefix: '/design/home',
mapDraw: '/design/map/draw',
lessonEdit: '/design/lesson/edit',
lessonHome: '/design/lesson/home',
lessonManage: '/design/lesson/manage',
taskManage: '/design/lesson/taskManage',
trainingRule: '/design/lesson/trainingRule',
trainingRuleDetail: '/design/lesson/trainingRule/detail',
trainingManage: '/design/lesson/trainingManage',
lessonTraining: '/design/lesson/training',
trainingRecord: '/design/lesson/training',
runPlan: '/design/runPlan/detail',
scriptHome: '/design/script/home',
display: '/design/display',
mapPreview: '/design/mapPreview',
mapPreviewNew: '/design/mapPreviewNew',
ibpHome: '/design/ibp/home'
},
designUser: {
prefix: '/design/userlist/home',
scriptHome: '/design/userlist/script/home',
mapDraw: '/design/userlist/map/draw',
lessonHome: '/design/userlist/lesson/home',
runPlan: '/design/userlist/runPlan/detail'
},
newDesignuser: {
prefix: '/design/usermap/home',
scriptHome: '/design/usermap/script/home',
mapDraw: '/design/usermap/map/draw',
lessonHome: '/design/usermap/lesson/home',
runPlan: '/design/usermap/runPlan/detail'
},
replay: {
prefix: '/replay'
},
publish: {
prefix: '/publish',
map: '/publish/map',
runPlanEveryDay: '/publish/runPlan/everyDay',
runPlanTemplate: '/publish/runPlan/template',
runPlanCommon: '/publish/runPlan/common',
runPlanView: '/publish/runPlan/view'
},
orderauthor: {
prefix: '/orderauthor',
commodityManage: '/orderauthor/commodity/manage',
commodityDraft: '/orderauthor/commodity/draft',
orderManage: '/orderauthor/order/manage',
orderDraft: '/orderauthor/order/draft',
authorMange: '/orderauthor/author/manage',
authorDetail: '/orderauthor/author/detail',
transferDetail: '/orderauthor/transfer/detail',
createPackage: '/orderauthor/transfer/create'
},
script: {
prefix: '/script',
detail: '/script/detail',
display: '/script/display'
},
ibp: {
prefix: 'ibp',
draft: '/ibp/draft',
edit: 'ibp/edit'
},
trainingPlatform: {
trainingPlatform: '/trainingPlatform',
prodDetail: '/trainingPlatform/detail',
teachDetail: '/trainingPlatform/teach',
teachHome: '/trainingPlatform/teachHome',
examDetail: '/trainingPlatform/exam',
examHome: '/trainingPlatform/examHome',
examRuleManage: '/trainingPlatform/examRule/manage',
examRuleDraft: '/trainingPlatform/examRule/Draft',
course: '/trainingPlatform/course',
practical: '/trainingPlatform/practical',
permission: '/trainingPlatform/permission',
permissionDetails: '/trainingPlatform/permission/detail',
draft: '/trainingPlatform/draft',
pay: '/trainingPlatform/pay',
runPlan: '/trainingPlatform/runPlan/manage'
}
};

View File

@ -1,5 +1,5 @@
import { sendCommandNew } from '@/api/jmap/training'; import { sendCommandNew } from '@/api/jmap/training';
import router from '@/router'; import router from '@/router/index_APP_TARGET';
import Command from './Command'; import Command from './Command';
import Handler from './Handler'; import Handler from './Handler';

View File

@ -1,5 +1,5 @@
import store from '@/store'; import store from '@/store';
import router from '@/router'; import router from '@/router/index_APP_TARGET';
import CommandHandler from './CommandHandler.js'; import CommandHandler from './CommandHandler.js';
import ValidateHandler from './ValidateHandler.js'; import ValidateHandler from './ValidateHandler.js';
import { State2SimulationMap } from './Config.js'; import { State2SimulationMap } from './Config.js';

View File

@ -1,5 +1,5 @@
import store from '@/store'; import store from '@/store';
import router from '@/router'; import router from '@/router/index_APP_TARGET';
import OperateHandler from '@/scripts/plugin/OperateHandler'; import OperateHandler from '@/scripts/plugin/OperateHandler';
import { sendCommand } from '@/api/jmap/training'; import { sendCommand } from '@/api/jmap/training';
import { OperationEvent } from '@/scripts/ConstDic'; import { OperationEvent } from '@/scripts/ConstDic';

View File

@ -1,5 +1,5 @@
import store from '@/store'; import store from '@/store';
import router from '@/router'; import router from '@/router/index_APP_TARGET';
import OperateConverter from '@/scripts/plugin/OperateConvert2Command'; import OperateConverter from '@/scripts/plugin/OperateConvert2Command';
import { TrainingMode } from '@/scripts/ConstDic'; import { TrainingMode } from '@/scripts/ConstDic';
import { getConverter } from '@/scripts/plugin/Converter/manager'; import { getConverter } from '@/scripts/plugin/Converter/manager';

View File

@ -1,6 +1,6 @@
import { asyncRouter, constantRoutes, user, userLesson, userExam, userSimulation, userScreen, userPlan, superAdmin, admin, userTrainingPlatform } from '@/router'; import { asyncRouter, constantRoutes, user, userLesson, userExam, userSimulation, userScreen, userPlan, superAdmin, admin, userTrainingPlatform } from '@/router/index_APP_TARGET';
import { PermissionType } from '@/utils/PermissionType'; import { PermissionType } from '@/utils/PermissionType';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import { getSessionStorage } from '@/utils/auth'; import { getSessionStorage } from '@/utils/auth';
function setHonePagePath(route, roles) { function setHonePagePath(route, roles) {

View File

@ -11,7 +11,7 @@ import { reviewRunPlanList, publishRunPlan, rejectRunPlan, previewRunPlan } from
import { getPublishMapListOnline } from '@/api/jmap/map'; import { getPublishMapListOnline } from '@/api/jmap/map';
import { launchFullscreen } from '@/utils/screen'; import { launchFullscreen } from '@/utils/screen';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
export default { export default {
name: 'RunPlanApproval', name: 'RunPlanApproval',
components: { components: {

View File

@ -6,7 +6,7 @@
</template> </template>
<script> <script>
import { launchFullscreen } from '@/utils/screen'; import { launchFullscreen } from '@/utils/screen';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import { scriptDraftRecordNotify } from '@/api/simulation'; import { scriptDraftRecordNotify } from '@/api/simulation';
import ScriptOperate from './operate'; import ScriptOperate from './operate';
import { reviewScriptList, publishScript, rejectScript } from '@/api/designPlatform'; import { reviewScriptList, publishScript, rejectScript } from '@/api/designPlatform';

View File

@ -40,7 +40,7 @@
<script> <script>
import { getCommodityDetailByParams } from '@/api/management/goods'; import { getCommodityDetailByParams } from '@/api/management/goods';
import { PermissionType } from '@/scripts/ConstDic'; import { PermissionType } from '@/scripts/ConstDic';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import CommitDraft from './commit'; import CommitDraft from './commit';
import ConfirmDraft from './confirm'; import ConfirmDraft from './confirm';
import FinishDraft from './finish'; import FinishDraft from './finish';

View File

@ -26,11 +26,11 @@
<script> <script>
import { getPublishMapInfo } from '@/api/jmap/map'; import { getPublishMapInfo } from '@/api/jmap/map';
import { getGoodsTryUse } from '@/api/management/goods'; import { getGoodsTryUse } from '@/api/management/goods';
import { PermissionType } from '@/scripts/ConstDic'; import { PermissionType, UrlConfig } from '@/scripts/ConstDic';
import { launchFullscreen } from '@/utils/screen'; import { launchFullscreen } from '@/utils/screen';
import { postCreateRoom, getjointTraining } from '@/api/chat'; import { postCreateRoom, getjointTraining } from '@/api/chat';
import { postCreateRoomNew, getjointTrainingNew, checkRoomExistNew } from '@/api/jointTraining'; import { postCreateRoomNew, getjointTrainingNew, checkRoomExistNew } from '@/api/jointTraining';
import { UrlConfig } from '@/router/index'; import { } from '@/scripts/ConstDic';
import { simulationNotify, schedulingNotify, createSimulationNew } from '@/api/simulation'; import { simulationNotify, schedulingNotify, createSimulationNew } from '@/api/simulation';
import LimitList from '@/views/components/limits/index'; import LimitList from '@/views/components/limits/index';
import { getSubSystemDetail } from '@/api/trainingPlatform'; import { getSubSystemDetail } from '@/api/trainingPlatform';

View File

@ -19,8 +19,8 @@
</template> </template>
<script> <script>
import { listPublishMap, getMapListByProjectCode } from '@/api/jmap/map'; import { listPublishMap, getMapListByProjectCode } from '@/api/jmap/map';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import { superAdmin, admin } from '@/router'; import { superAdmin, admin } from '@/router/index_APP_TARGET';
import { getSessionStorage, setSessionStorage, removeSessionStorage } from '@/utils/auth'; import { getSessionStorage, setSessionStorage, removeSessionStorage } from '@/utils/auth';
import FilterCity from '@/views/components/filterCity'; import FilterCity from '@/views/components/filterCity';
import localStore from 'storejs'; import localStore from 'storejs';

View File

@ -34,7 +34,7 @@
<script> <script>
import { DeviceMenu } from '@/scripts/ConstDic'; import { DeviceMenu } from '@/scripts/ConstDic';
import { postBuildMapImport, listMap } from '@/api/jmap/mapdraft'; import { postBuildMapImport, listMap } from '@/api/jmap/mapdraft';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import { removeSessionStorage } from '@/utils/auth'; import { removeSessionStorage } from '@/utils/auth';
import MapOperateMenu from './mapmanage/operateMenu'; import MapOperateMenu from './mapmanage/operateMenu';

View File

@ -11,7 +11,7 @@
<script> <script>
import { deleteMap } from '@/api/jmap/mapdraft'; import { deleteMap } from '@/api/jmap/mapdraft';
import { DeviceMenu } from '@/scripts/ConstDic'; import { DeviceMenu } from '@/scripts/ConstDic';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import PopMenu from '@/components/PopMenu'; import PopMenu from '@/components/PopMenu';
import MapEdit from './edit'; import MapEdit from './edit';
import MapSaveAs from './saveAs'; import MapSaveAs from './saveAs';

View File

@ -30,7 +30,7 @@ import { startTraining, endTraining } from '@/api/jmap/training';
import { trainingNotify } from '@/api/simulation'; import { trainingNotify } from '@/api/simulation';
import { TrainingMode } from '@/scripts/ConstDic'; import { TrainingMode } from '@/scripts/ConstDic';
import { timeFormat } from '@/utils/date'; import { timeFormat } from '@/utils/date';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
export default { export default {
name: 'MenuLesson', name: 'MenuLesson',

View File

@ -53,7 +53,7 @@
<script> <script>
import { getCourseLessonDetail } from '@/api/management/exam'; import { getCourseLessonDetail } from '@/api/management/exam';
import { PermissionType } from '@/scripts/ConstDic'; import { PermissionType } from '@/scripts/ConstDic';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import LimitList from '@/views/components/limits/index'; import LimitList from '@/views/components/limits/index';
import { getSessionStorage, setSessionStorage } from '@/utils/auth'; import { getSessionStorage, setSessionStorage } from '@/utils/auth';
import localStore from 'storejs'; import localStore from 'storejs';

View File

@ -57,7 +57,7 @@ import { PermissionType } from '@/scripts/ConstDic';
import { getDetailList } from '@/api/management/dictionary'; import { getDetailList } from '@/api/management/dictionary';
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import { launchFullscreen } from '@/utils/screen'; import { launchFullscreen } from '@/utils/screen';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import LangStorage from '@/utils/lang'; import LangStorage from '@/utils/lang';
import { getPublishMapInfo } from '@/api/jmap/map'; import { getPublishMapInfo } from '@/api/jmap/map';

View File

@ -23,7 +23,7 @@
<script> <script>
import { getSubSystemDetail } from '@/api/trainingPlatform'; import { getSubSystemDetail } from '@/api/trainingPlatform';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import localStore from 'storejs'; import localStore from 'storejs';
export default { export default {

View File

@ -32,7 +32,7 @@
</template> </template>
<script> <script>
import { submitExam } from '@/api/management/userexam'; import { submitExam } from '@/api/management/userexam';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
export default { export default {
name: 'ExamResult', name: 'ExamResult',

View File

@ -45,7 +45,7 @@ import { simulationNotify, setTrainingCbtcInitTime } from '@/api/simulation';
import { getPublishMapDetail, getPublish3dMapDetail } from '@/api/jlmap3d/load3ddata'; import { getPublishMapDetail, getPublish3dMapDetail } from '@/api/jlmap3d/load3ddata';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import { JLmapDriving } from '@/jlmap3d/jl3ddrive/jl3ddrive'; import { JLmapDriving } from '@/jlmap3d/jl3ddrive/jl3ddrive';

View File

@ -31,7 +31,7 @@
import SetTime from '@/views/display/demon/setTime'; import SetTime from '@/views/display/demon/setTime';
import { getTrainingCbtcDemon, setTrainingCbtcInitTime } from '@/api/simulation'; import { getTrainingCbtcDemon, setTrainingCbtcInitTime } from '@/api/simulation';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import { JLmap3dEdit } from '@/jlmap3d/edit/jlmap3dedit'; import { JLmap3dEdit } from '@/jlmap3d/edit/jlmap3dedit';

View File

@ -41,7 +41,7 @@ import { mapGetters } from 'vuex';
import { simulationNotify, setTrainingCbtcInitTime } from '@/api/simulation'; import { simulationNotify, setTrainingCbtcInitTime } from '@/api/simulation';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import { JLmap3d } from '@/jlmap3d/jl3dsimulation/jlmap3d.js'; import { JLmap3d } from '@/jlmap3d/jl3dsimulation/jlmap3d.js';

View File

@ -20,7 +20,7 @@
<script> <script>
import { releaseOrCancel } from '@/api/designPlatform'; import { releaseOrCancel } from '@/api/designPlatform';
import { getLessonDrftList } from '@/api/jmap/lessondraft'; import { getLessonDrftList } from '@/api/jmap/lessondraft';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import PublishCreate from './lessoncategory/edit/create'; import PublishCreate from './lessoncategory/edit/create';
import PublishLesson from './lessoncategory/edit/lesson/publish'; import PublishLesson from './lessoncategory/edit/lesson/publish';
import { delLesson } from '@/api/jmap/lessondraft'; import { delLesson } from '@/api/jmap/lessondraft';

View File

@ -72,7 +72,7 @@
<script> <script>
import { createLessonChapter, updateLessonChapter, getLessonDetail, getLessonChapterDetail } from '@/api/jmap/lessondraft'; import { createLessonChapter, updateLessonChapter, getLessonDetail, getLessonChapterDetail } from '@/api/jmap/lessondraft';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import TrainList from './list'; import TrainList from './list';
export default { export default {

View File

@ -59,7 +59,7 @@
<script> <script>
import { createLesson, updateLesson, getLessonDetail } from '@/api/jmap/lessondraft'; import { createLesson, updateLesson, getLessonDetail } from '@/api/jmap/lessondraft';
import { getPublishMapListOnline } from '@/api/jmap/map'; import { getPublishMapListOnline } from '@/api/jmap/map';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import Cookies from 'js-cookie'; import Cookies from 'js-cookie';
import ConstConfig from '@/scripts/ConstConfig'; import ConstConfig from '@/scripts/ConstConfig';

View File

@ -22,7 +22,7 @@ import {
import TrainingEdit from './addEdit'; import TrainingEdit from './addEdit';
import AddBatch from './addBatch'; import AddBatch from './addBatch';
import SaveAs from './saveAs.vue'; import SaveAs from './saveAs.vue';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
export default { export default {
name: 'TrainingRule', name: 'TrainingRule',

View File

@ -23,7 +23,7 @@ import { pageQueryTraining, pageQueryTrainingNew } from '@/api/jmap/training';
import { trainingNotify, trainingNotifyNew } from '@/api/simulation'; import { trainingNotify, trainingNotifyNew } from '@/api/simulation';
import { launchFullscreen } from '@/utils/screen'; import { launchFullscreen } from '@/utils/screen';
import { getPublishMapListOnline } from '@/api/jmap/map'; import { getPublishMapListOnline } from '@/api/jmap/map';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import TrainingDraft from './draft'; import TrainingDraft from './draft';
import localStore from 'storejs'; import localStore from 'storejs';

View File

@ -0,0 +1,437 @@
<template>
<div class="login-container" :style="{'background-image': 'url('+bgImg+')'}">
<div class="text-box">
<img class="logo" :src="logoImg" style="width: 140px">
<span>{{ title }}</span>
</div>
<div class="language_box">
<el-tooltip effect="dark" :content="this.$t('login.clickSwitchLanguage')" placement="bottom-end">
<el-button class="language_btn" type="text" @click="handleLanguage">{{ language }}</el-button>
</el-tooltip>
</div>
<div class="content-box">
<el-form ref="loginForm" class="login-form" :model="loginForm" :rules="loginRules" label-position="left">
<el-form-item prop="username" class="item_form_box">
<span class="svg-container svg-container_login">
<svg-icon icon-class="user" />
</span>
<el-input v-model="loginForm.username" name="username" type="text" :placeholder="this.$t('login.mobilePhoneNumberOrEmail')" @keyup.enter.native="goToNext" />
</el-form-item>
<el-form-item prop="password" class="item_form_box item_form_password">
<span class="svg-container">
<svg-icon icon-class="password" />
</span>
<el-input
ref="password"
v-model="loginForm.password"
name="password"
:type="pwdType"
:placeholder="this.$t('login.password')"
@keyup.enter.native="handleLogin"
/>
<span class="show-pwd" @click="showPwd">
<svg-icon v-if="pwdDisplay" icon-class="eye" />
<svg-icon v-else icon-class="eye-open" />
</span>
</el-form-item>
<div class="tip-message">{{ tipsMsg }}</div>
<div style="display: inline-block;width: 100%;margin-bottom: 10px;">
<div style="display:inline-block">
<el-checkbox v-model="isAutoLogin">{{ $t('login.autoLogin') }}</el-checkbox>
</div>
<el-popover
placement="right"
title=""
width="200"
trigger="hover"
class="popover_box"
>
<div>
<img :src="QCode" alt="" style="width: 100px; height: 100px; display: block; margin:0 auto;">
<div style="margin-top: 10px; word-break: break-word;text-align: center;">{{ $t('login.perfectInformation') }}</div>
</div>
<div slot="reference">{{ $t('login.unableToLogin') }}</div>
</el-popover>
</div>
<el-form-item>
<el-button type="primary" style="width:100%;" :loading="loading" @click.native.prevent="handleLogin">
{{ $t('login.login') }}
</el-button>
</el-form-item>
</el-form>
</div>
</div>
</template>
<script>
import QCode from '@/assets/erCode.jpg';
import { setSessionStorage, removeSessionStorage } from '@/utils/auth';
import Cookies from 'js-cookie';
import md5 from 'js-md5';
import QrcodeVue from 'qrcode.vue';
import { checkLoginStatus } from '@/api/login';
import { UrlConfig } from '@/scripts/ConstDic';
import { removeToken } from '@/utils/auth';
import LangStorage from '@/utils/lang';
import logoImgHyd from '@/assets/logo_hyd.png';
export default {
name: 'Login',
components: { QrcodeVue},
data() {
const validateUsername = (rule, value, callback) => {
if (value.length < 5) {
callback(new Error(this.$t('login.enterTheCorrectUserName')));
} else {
callback();
}
};
const validatePass = (rule, value, callback) => {
if (value.length < 5) {
callback(new Error(this.$t('login.passwordHint')));
} else {
callback();
}
};
return {
bgImg: '',
QCode: QCode,
isAutoLogin: false,
loginForm: {
username: '',
password: ''
},
loginRules: {
username: [{ required: true, trigger: 'blur', validator: validateUsername }],
password: [{ required: true, trigger: 'blur', validator: validatePass }]
},
loading: false,
pwdType: 'password',
tipsMsg: '',
qrcodeClassName: 'login-qrcode',
sessionId: '',
loginUrl: '',
loadingCode: false,
checkLogin: null,
checkTimeout: null,
scanSuccess: false,
pwdDisplay: true,
cookiesName: 'UserName',
cookiesToken: 'UserToken',
modelType: 'class',
loginClient: 'LianKeTang',
path: '/trainingPlatform',
lang: 'zh',
language: '中文',
logoImg: logoImgHyd,
title: '城市轨道交通实训平台'
};
},
computed: {
project() {
return this.$route.path.split('/')[1];
}
},
created() {
this.computedAttribute();
if (Cookies.get(this.cookiesName) && Cookies.get(this.cookiesToken)) {
const model = {'username': Cookies.get(this.cookiesName), 'password': Cookies.get(this.cookiesToken)};
model.type = this.modelType;
this.$store.dispatch('Login', model).then(() => {
this.$store.dispatch('SetAccount', model.username);
this.handleLoginSucessRoute();
}).catch(error => {
if (error.code === '30001') {
this.tipsMsg = this.$t('login.accountOrPasswordIsIncorrect');
} else {
this.tipsMsg = error.message;
}
this.loading = false;
setTimeout(() => { this.tipsMsg = ''; }, 5000);
});
}
},
mounted() {
document.title = this.title;
},
methods: {
computedAttribute() {
if (this.project.startsWith('design')) {
this.cookiesName = 'UserDesignName';
this.cookiesToken = 'UserDesignToken';
this.modelType = 'design';
this.loginClient = 'Design';
this.path = UrlConfig.design.prefix;
}
const nowLang = LangStorage.getLang('zh');
if (nowLang === 'zh') {
this.lang = 'en';
this.language = 'English';
}
removeToken();
setSessionStorage('project', 'hyd');
},
clearTimer(timer) {
if (timer) {
clearTimeout(timer);
timer = null;
}
},
checkLoginStatus() {
const self = this;
//
if (this && this._isDestroyed) {
return;
}
//
//
this.clearTimer(this.checkLogin);
this.checkLogin = setTimeout(() => {
checkLoginStatus(self.sessionId).then(response => {
//
self.$store.dispatch('QrLoginSetting', { key: 'SET_TOKEN', value: response.data.token, type: this.modelType }).then(() => {
//
self.clearTimer(self.checkLogin);
this.handleLoginSucessRoute();
});
}).catch(error => {
if (error.data && error.data.status === '1') {
self.scanSuccess = true;
}
self.checkLoginStatus();
});
}, 3000);
},
showPwd() {
if (this.pwdType === 'password') {
this.pwdDisplay = false;
this.pwdType = '';
} else {
this.pwdType = 'password';
this.pwdDisplay = true;
}
},
goToNext() {
if (this.loginForm.username.length < 5) {
return;
} else {
this.$refs['password'].focus();
}
},
handleLogin() {
this.$refs.loginForm.validate(valid => {
if (valid) {
const model = Object.assign({}, this.loginForm);
model.password = md5(model.password);
model.type = this.modelType;
this.loading = true;
if (this.isAutoLogin) {
Cookies.set(this.cookiesName, model.username, { expires: 2});
Cookies.set(this.cookiesToken, model.password, { expires: 2});
}
this.$store.dispatch('Login', model).then(() => {
this.$store.dispatch('SetAccount', model.username);
this.handleLoginSucessRoute();
}).catch(error => {
if (error.code === '30001') {
this.tipsMsg = this.$t('login.accountOrPasswordIsIncorrect');
} else {
this.tipsMsg = error.message;
}
this.loading = false;
setTimeout(() => { this.tipsMsg = ''; }, 5000);
});
} else {
console.log('error submit!!');
return false;
}
});
},
handleLoginSucessRoute() {
//
this.loading = false;
this.tipsMsg = '';
removeSessionStorage('againEnter');
this.$router.push({ path: this.path });
},
handleLanguage() {
this.$i18n.locale = this.lang;
LangStorage.setLang(this.lang);
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss">
$bg:#fff;
$light_gray:#eee;
.login-container {
background: #E4EAEA;
.el-form-item{
background: #fff !important;
border: 1px solid rgba(0, 0, 0, 0.1) !important;
.el-input {
height: 40px;
width: 85%;
background: #fff;
input {
background: #fff !important;
border: 0px;
-webkit-appearance: none;
border-radius: 0px;
padding: 8px 9px 7px 5px;
color: #000;
height: 100%;
&:-webkit-autofill {
box-shadow: 0 0 0px 1000px $bg inset !important;
-webkit-text-fill-color: #000 !important;
}
}
}
}
.item_form_box {
border: 1px solid #ccc;
border-radius: 5px;
color: #454545;
}
.item_form_password{
margin-bottom: 10px;
}
.tip-message {
color: #F56C61;
padding: 5px;
font-size: 12px;
height: 23px;
margin-bottom: 10px;
}
}
</style>
<style rel="stylesheet/scss" lang="scss" scoped>
$bg:#f0f0f0;
$qrbg:#fff;
$dark_gray:#889aa4;
$light_gray:#eee;
$qrcodeSize: 270px;
.popover_box {
position: absolute;
right: 80px;
bottom: 106px;
cursor: pointer;
color: #225592;
font-size: 14px;
}
.login-container {
position: fixed;
display: flex;
align-items: center;
justify-content: center;
height: 100%;
width: 100%;
background-repeat: no-repeat;
background-origin: border-box;
background-size: 100% 100%;
.content-box{
width: 450px;
display: flex;
align-items: center;
justify-content: center;
background: #fff;
padding: 30px 30px 30px;
margin-bottom: 20px;
box-sizing: border-box;
position: relative;
}
.text-box{
position: absolute;
top: 10%;
font-size: 40px;
font-weight: bold;
}
.logo{
vertical-align: middle;
}
.language_box{
position: absolute;
top: 20px;
right: 40px;
.language_btn{
/*font-weight: bold;*/
cursor: pointer;
font-size: 18px;
}
}
.login-form {
width: 440px;
padding: 0 50px;
}
.svg-container {
padding-left: 14px;
color: $dark_gray;
vertical-align: middle;
width: 30px;
display: inline-block;
&_login {
font-size: 16px;
}
}
.title_box {
font-size: 20px;
color: #000;
margin: 0px auto 30px auto;
text-align: center;
}
.show-pwd {
position: absolute;
right: 10px;
top: 3px;
font-size: 16px;
color: $dark_gray;
cursor: pointer;
user-select: none;
}
}
.qrcode-main{
width: 300px;
background-color: $qrbg;
text-align: center;
border-right: 1px solid #ececec;
.tip-info {
text-align: left;
display: inline-block;
color: green;
margin: 0 auto;
}
.login-code-box{
width: 150px;
margin: 0 auto;
cursor: pointer;
}
.system-type {
margin: 5px 0;
display: block;
}
.sub-title {
font-size: 16px;
text-align: center;
color: #353535;
line-height: 30px;
}
}
</style>

View File

@ -102,10 +102,9 @@ import QrcodeVue from 'qrcode.vue';
import { getLoginWmurl, checkLoginStatus } from '@/api/login'; import { getLoginWmurl, checkLoginStatus } from '@/api/login';
import { LoginParams } from '@/utils/login'; import { LoginParams } from '@/utils/login';
import bgImg from '@/assets/bg1.jpg'; import bgImg from '@/assets/bg1.jpg';
import { loginInfo } from '@/scripts/ConstDic'; import { loginInfo, UrlConfig } from '@/scripts/ConstDic';
import { removeToken } from '@/utils/auth'; import { removeToken } from '@/utils/auth';
import LangStorage from '@/utils/lang'; import LangStorage from '@/utils/lang';
import { UrlConfig } from '@/router/index';
import logoImgXty from '@/assets/logo_xty.png'; import logoImgXty from '@/assets/logo_xty.png';
import logoImgGzb from '@/assets/logo_gzb.png'; import logoImgGzb from '@/assets/logo_gzb.png';
import logoImgHyd from '@/assets/logo_hyd.png'; import logoImgHyd from '@/assets/logo_hyd.png';

View File

@ -39,7 +39,7 @@
import { getPublishLessonTree } from '@/api/jmap/lesson'; import { getPublishLessonTree } from '@/api/jmap/lesson';
import { trainingNotifyNew } from '@/api/simulation'; import { trainingNotifyNew } from '@/api/simulation';
import { launchFullscreen } from '@/utils/screen'; import { launchFullscreen } from '@/utils/screen';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
export default { export default {
name: 'LeftSlider', name: 'LeftSlider',
data() { data() {

View File

@ -30,7 +30,7 @@ import { startTrainingNew, endTrainingNew } from '@/api/jmap/training';
import { trainingNotifyNew } from '@/api/simulation'; import { trainingNotifyNew } from '@/api/simulation';
import { TrainingMode } from '@/scripts/ConstDic'; import { TrainingMode } from '@/scripts/ConstDic';
import { timeFormat } from '@/utils/date'; import { timeFormat } from '@/utils/date';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
export default { export default {
name: 'MenuLesson', name: 'MenuLesson',

View File

@ -34,7 +34,7 @@
<script> <script>
import { DeviceMenu } from '@/scripts/ConstDic'; import { DeviceMenu } from '@/scripts/ConstDic';
import { postBuildMapImport, listMap } from '@/api/jmap/mapdraft'; import { postBuildMapImport, listMap } from '@/api/jmap/mapdraft';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import { removeSessionStorage } from '@/utils/auth'; import { removeSessionStorage } from '@/utils/auth';
import MapOperateMenu from './mapmanage/operateMenu'; import MapOperateMenu from './mapmanage/operateMenu';

View File

@ -11,7 +11,7 @@
<script> <script>
import { deleteMap } from '@/api/jmap/mapdraft'; import { deleteMap } from '@/api/jmap/mapdraft';
import { DeviceMenu } from '@/scripts/ConstDic'; import { DeviceMenu } from '@/scripts/ConstDic';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import PopMenu from '@/components/PopMenu'; import PopMenu from '@/components/PopMenu';
import MapEdit from './edit'; import MapEdit from './edit';
import MapSaveAs from './saveAs'; import MapSaveAs from './saveAs';

View File

@ -7,7 +7,6 @@
<script> <script>
import { getCommodityList, delCommodity, setCommodityStatus } from '@/api/management/goods'; import { getCommodityList, delCommodity, setCommodityStatus } from '@/api/management/goods';
// import { UrlConfig } from '@/router/index';
import Edit from './edit'; import Edit from './edit';
export default { export default {

View File

@ -11,7 +11,7 @@ import { getOrderPageList } from '@/api/management/order';
import { getSellerList } from '@/api/management/user'; import { getSellerList } from '@/api/management/user';
import { getOrganizationList } from '@/api/management/organization'; import { getOrganizationList } from '@/api/management/organization';
import { getDistributeFromOrder } from '@/api/management/order'; import { getDistributeFromOrder } from '@/api/management/order';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import QrCode from '@/components/QrCode'; import QrCode from '@/components/QrCode';
import detail from './detail'; import detail from './detail';

View File

@ -7,9 +7,9 @@
</template> </template>
<script> <script>
import { admin } from '@/router'; import { admin } from '@/router/index_APP_TARGET';
import { listPackagePermission, restorePackagePermission, getPackageQrCode, setCommodityStatus } from '@/api/management/distribute'; import { listPackagePermission, restorePackagePermission, getPackageQrCode, setCommodityStatus } from '@/api/management/distribute';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import QrCode from '@/components/QrCode'; import QrCode from '@/components/QrCode';
import Qcode from './Qcode'; import Qcode from './Qcode';
import { getPublishMapListOnline } from '@/api/jmap/map'; import { getPublishMapListOnline } from '@/api/jmap/map';

View File

@ -7,7 +7,7 @@
<script> <script>
import { listUserPermision } from '@/api/management/author'; import { listUserPermision } from '@/api/management/author';
import { superAdmin, admin } from '@/router'; import { superAdmin, admin } from '@/router/index_APP_TARGET';
import selectRole from './selectRole/list'; import selectRole from './selectRole/list';
import LangStorage from '@/utils/lang'; import LangStorage from '@/utils/lang';

View File

@ -53,7 +53,7 @@ import CreateEmptyPlan from './editTool/menus/createEmptyPlan';
import { getRpListByUserMapId, publishRunPlan, releaseOrCancelRunPlan, previewRunPlan} from '@/api/designPlatform'; import { getRpListByUserMapId, publishRunPlan, releaseOrCancelRunPlan, previewRunPlan} from '@/api/designPlatform';
import { getRpListByMapId, deleteRunPlan } from '@/api/runplan'; import { getRpListByMapId, deleteRunPlan } from '@/api/runplan';
import { launchFullscreen } from '@/utils/screen'; import { launchFullscreen } from '@/utils/screen';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
export default { export default {
name: 'UserRunPlanList', name: 'UserRunPlanList',
components: { components: {

View File

@ -116,7 +116,7 @@
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import { planEffectiveCheck, runPlanNotify } from '@/api/runplan'; import { planEffectiveCheck, runPlanNotify } from '@/api/runplan';
import { launchFullscreen } from '@/utils/screen'; import { launchFullscreen } from '@/utils/screen';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import { EventBus } from '@/scripts/event-bus'; import { EventBus } from '@/scripts/event-bus';
export default { export default {

View File

@ -46,7 +46,7 @@
</template> </template>
<script> <script>
import { getRpListByMapId, deleteRunPlan } from '@/api/runplan'; import { getRpListByMapId, deleteRunPlan } from '@/api/runplan';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import EditPlanName from './editPlanName'; import EditPlanName from './editPlanName';
export default { export default {

View File

@ -21,7 +21,7 @@
<script> <script>
import { planEffectiveCheck, runPlanNotify } from '@/api/runplan'; import { planEffectiveCheck, runPlanNotify } from '@/api/runplan';
import { launchFullscreen } from '@/utils/screen'; import { launchFullscreen } from '@/utils/screen';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
export default { export default {
name: 'PlanStatusBar', name: 'PlanStatusBar',

View File

@ -10,7 +10,7 @@
<script> <script>
import logo_ from '@/assets/logo_.png'; import logo_ from '@/assets/logo_.png';
import { getPublishMapInfo } from '@/api/jmap/map'; import { getPublishMapInfo } from '@/api/jmap/map';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
export default { export default {
name: 'PlanTitleBar', name: 'PlanTitleBar',

View File

@ -27,7 +27,7 @@
<script> <script>
import { getExamLessonDetail, setCourseList } from '@/api/management/exam'; import { getExamLessonDetail, setCourseList } from '@/api/management/exam';
import { getDetailList } from '@/api/management/dictionary'; import { getDetailList } from '@/api/management/dictionary';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import editRule from './editRule'; import editRule from './editRule';
export default { export default {

View File

@ -14,7 +14,7 @@
<script> <script>
import { getExamList, deleteExam, setExamEfficacy, setExamEffectivey } from '@/api/management/exam'; import { getExamList, deleteExam, setExamEfficacy, setExamEffectivey } from '@/api/management/exam';
import { getPublishLessonList } from '@/api/jmap/lesson'; import { getPublishLessonList } from '@/api/jmap/lesson';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
export default { export default {
name: 'List', name: 'List',

View File

@ -5,9 +5,9 @@
</template> </template>
<script> <script>
import { superAdmin } from '@/router'; import { superAdmin } from '@/router/index_APP_TARGET';
import { getRunPlanLoadList, listAllTempLateRunPlan, deleteDailyRunPlanLoad, postDailyRunPlanLoadGenerate, postSchedulingCommonGenerate } from '@/api/runplan'; import { getRunPlanLoadList, listAllTempLateRunPlan, deleteDailyRunPlanLoad, postDailyRunPlanLoadGenerate, postSchedulingCommonGenerate } from '@/api/runplan';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import { getPublishMapListOnline } from '@/api/jmap/map'; import { getPublishMapListOnline } from '@/api/jmap/map';
export default { export default {

View File

@ -5,10 +5,10 @@
</template> </template>
<script> <script>
import { superAdmin } from '@/router'; import { superAdmin } from '@/router/index_APP_TARGET';
import { getPublishMapListOnline } from '@/api/jmap/map'; import { getPublishMapListOnline } from '@/api/jmap/map';
import { runPlanEveryDayList, deleteRunPlanEveryDay } from '@/api/runplan'; import { runPlanEveryDayList, deleteRunPlanEveryDay } from '@/api/runplan';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
export default { export default {
name: 'RunPlanEveryDay', name: 'RunPlanEveryDay',

View File

@ -13,7 +13,7 @@
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import { getStationList, queryRunPlan, queryRunPlanTemplate, queryRunPlanDaily } from '@/api/runplan'; import { getStationList, queryRunPlan, queryRunPlanTemplate, queryRunPlanDaily } from '@/api/runplan';
import { timeFormat } from '@/utils/date'; import { timeFormat } from '@/utils/date';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import echarts from 'echarts'; import echarts from 'echarts';
export default { export default {

View File

@ -6,10 +6,10 @@
</template> </template>
<script> <script>
import { superAdmin } from '@/router'; import { superAdmin } from '@/router/index_APP_TARGET';
import { getPublishMapListOnline } from '@/api/jmap/map'; import { getPublishMapListOnline } from '@/api/jmap/map';
import { runPlanTemplateList, deleteRunPlanTemplate, generateCommonRunPlanEveryDay, postRunPlanTemplate } from '@/api/runplan'; import { runPlanTemplateList, deleteRunPlanTemplate, generateCommonRunPlanEveryDay, postRunPlanTemplate } from '@/api/runplan';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import CopyPlan from './copyPlan.vue'; import CopyPlan from './copyPlan.vue';
export default { export default {

View File

@ -14,8 +14,8 @@
<script> <script>
import Cookies from 'js-cookie'; import Cookies from 'js-cookie';
import ConstConfig from '@/scripts/ConstConfig'; import ConstConfig from '@/scripts/ConstConfig';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import { admin, superAdmin} from '@/router'; import { admin, superAdmin} from '@/router/index_APP_TARGET';
import { getQuestPageList, createQuest, deleteQuest, updateQuest, publishQuest, retractQuest} from '@/api/quest'; import { getQuestPageList, createQuest, deleteQuest, updateQuest, publishQuest, retractQuest} from '@/api/quest';
import { launchFullscreen } from '@/utils/screen'; import { launchFullscreen } from '@/utils/screen';
import { scriptDraftRecordNotify, scriptRecordNotify, scriptRecordNotifyNew } from '@/api/simulation'; import { scriptDraftRecordNotify, scriptRecordNotify, scriptRecordNotifyNew } from '@/api/simulation';

View File

@ -47,7 +47,7 @@
<script> <script>
import { getPublishLessonTree } from '@/api/jmap/lesson'; import { getPublishLessonTree } from '@/api/jmap/lesson';
import { PermissionType } from '@/scripts/ConstDic'; import { PermissionType } from '@/scripts/ConstDic';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import LimitList from '@/views/components/limits/index'; import LimitList from '@/views/components/limits/index';
import { getSessionStorage, setSessionStorage } from '@/utils/auth'; import { getSessionStorage, setSessionStorage } from '@/utils/auth';
import { trainingNotify, trainingNotifyNew } from '@/api/simulation'; import { trainingNotify, trainingNotifyNew } from '@/api/simulation';

View File

@ -23,7 +23,7 @@
<script> <script>
import { getSubSystemDetail } from '@/api/trainingPlatform'; import { getSubSystemDetail } from '@/api/trainingPlatform';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import localStore from 'storejs'; import localStore from 'storejs';
export default { export default {

View File

@ -38,7 +38,7 @@
</template> </template>
<script> <script>
import { getTrainingSystemList, getSubSystemInfo, getSubSystemByProjectCode } from '@/api/trainingPlatform'; import { getTrainingSystemList, getSubSystemInfo, getSubSystemByProjectCode } from '@/api/trainingPlatform';
import { UrlConfig } from '@/router/index'; import { UrlConfig } from '@/scripts/ConstDic';
import FilterCity from '@/views/components/filterCity'; import FilterCity from '@/views/components/filterCity';
import localStore from 'storejs'; import localStore from 'storejs';
import { getSessionStorage } from '@/utils/auth'; import { getSessionStorage } from '@/utils/auth';

View File

@ -1,4 +1,4 @@
import { formatTime } from '@/utils/index.js' import { formatTime } from '@/utils/index_Common.js'
describe('Utils:formatTime', () => { describe('Utils:formatTime', () => {
const d = new Date('2018-07-13 17:54:01') // "2018-07-13 17:54:01" const d = new Date('2018-07-13 17:54:01') // "2018-07-13 17:54:01"

View File

@ -1,4 +1,4 @@
import { parseTime } from '@/utils/index.js' import { parseTime } from '@/utils/index_Common.js'
describe('Utils:parseTime', () => { describe('Utils:parseTime', () => {
const d = new Date('2018-07-13 17:54:01') // "2018-07-13 17:54:01" const d = new Date('2018-07-13 17:54:01') // "2018-07-13 17:54:01"

View File

@ -1,10 +1,10 @@
// import { getBasePathConfig } from '@/utils/baseUrl' // import { getBasePathConfig } from '@/utils/baseUrl'
const path = require('path'); const path = require('path');
const defaultSettings = require('./src/settings.js'); const defaultSettings = require('./src/settings.js');
const CopyWebpackPlugin = require('copy-webpack-plugin'); const CopyWebpackPlugin = require('copy-webpack-plugin');
const webpack = require('webpack');
// const CompressionPlugin = require('compression-webpack-plugin'); // const CompressionPlugin = require('compression-webpack-plugin');
// const productionGzipExtensions = ['js', 'css']; // const productionGzipExtensions = ['js', 'css'];
@ -93,6 +93,13 @@ module.exports = {
'@': path.resolve('src') '@': path.resolve('src')
} }
}; };
var appTarget = 'Common';
// var appTarget = 'HYD';// 哈尔滨项目打包
config.plugins.push(new webpack.NormalModuleReplacementPlugin(/(.*)_APP_TARGET(\.*)/,
function (resourse) {
resourse.request = resourse.request.replace(/APP_TARGET/, `${appTarget}`);
})
);
config.plugins.push(new CopyWebpackPlugin([ config.plugins.push(new CopyWebpackPlugin([
{ {
from: path.resolve(__dirname, './static'), from: path.resolve(__dirname, './static'),
@ -100,6 +107,7 @@ module.exports = {
ignore: ['.*'] ignore: ['.*']
} }
])); ]));
config.externals = { // 配置使用CDN config.externals = { // 配置使用CDN
'vue': 'Vue', 'vue': 'Vue',
'vuex': 'Vuex', 'vuex': 'Vuex',