diff --git a/src/api/runplan.js b/src/api/runplan.js index 9cb7a336b..1e0d5198d 100644 --- a/src/api/runplan.js +++ b/src/api/runplan.js @@ -21,10 +21,10 @@ export function getStationList(mapId) { }); } -// 创建通用运行图 -export function createRunPlan(mapId, data) { +// 运行图填充通用数据 +export function populatingGenericData(planId, data) { return request({ - url: `/api/runPlan/draft/${mapId}`, + url: `/api/runPlan/draft/${planId}`, method: 'post', data: data }); @@ -122,7 +122,13 @@ export function getStationRunning(mapId) { method: 'get' }); } - +/** 获取地图原始站间运行等级 */ +export function getMapStationRun(mapId) { + return request({ + url: `/api/runPlan/draft/${mapId}/stationRunLevel`, + method: 'get' + }); +} /** 设置站间运行时间*/ export function setStationRunning(mapId, data) { return request({ diff --git a/src/jlmap3d/jl3ddrive/moveupdate/DrivingConnectNew.js b/src/jlmap3d/jl3ddrive/moveupdate/DrivingConnectNew.js index 8f99441a3..5c574df96 100644 --- a/src/jlmap3d/jl3ddrive/moveupdate/DrivingConnectNew.js +++ b/src/jlmap3d/jl3ddrive/moveupdate/DrivingConnectNew.js @@ -103,6 +103,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,sta return; } if(data.type == "Train_Hmi_3D"){ + // console.log(data.body); updatestatus(data.body); // if(data.body.trust){ diff --git a/src/jlmap3d/jl3dmaintainer/Jl3dfaultdevicevr.js b/src/jlmap3d/jl3dmaintainer/Jl3dfaultdevicevr.js index ddcd13779..b40dc5c17 100644 --- a/src/jlmap3d/jl3dmaintainer/Jl3dfaultdevicevr.js +++ b/src/jlmap3d/jl3dmaintainer/Jl3dfaultdevicevr.js @@ -8,6 +8,8 @@ import { OrbitControls } from '@/jlmap3d/main/control/OrbitControls'; import { ModelManagerVR } from '@/jlmap3d/jl3dmaintainer/utils/vrloader.js'; import { VRButton } from '@/jlmap3d/jl3dmaintainer/utils/VRButton.js'; import { VrGui } from '@/jlmap3d/jl3dmaintainer/utils/vrgui.js'; +import { TrainControl } from '@/jlmap3d/jl3dmaintainer/utils/trainControl.js'; + import { MoveanimateVr } from '@/jlmap3d/jl3dmaintainer/utils/moveanimatevr.js'; import { Textconfig } from '@/jlmap3d/jl3ddevice/component/textconfig.js'; @@ -37,6 +39,8 @@ let lableCodeMap = { }; let faultList = []; let stationList = []; + +let trainControl = new TrainControl(); export function Jl3dfaultdeviceVR(dom,group,token,skinCode) { var scope = this; @@ -68,7 +72,7 @@ export function Jl3dfaultdeviceVR(dom,group,token,skinCode) { this.dom = dom; this.nowcode = null; this.animateswitch = false; - this.mixers = []; + let mixers = []; this.showmodel = null; let helpbox,textplane; let daochamodel; @@ -380,7 +384,7 @@ export function Jl3dfaultdeviceVR(dom,group,token,skinCode) { Materialload(scope,JSON.parse(netdata3d.data.assets).stationTextureList[0]); // let netDataAssets = JSON.parse(netdata.data.assets); // setpsdstationmap(JSON.parse(netdata.data.stands)); - scope.modelmanager.loadpromise(scope.mixers).then(function (data) { + scope.modelmanager.loadpromise(mixers).then(function (data) { switchModel = scope.modelmanager.otherDevice.mesh.getObjectByName("SWITCH"); moveanima.initlistnew(switchModel); @@ -402,8 +406,7 @@ export function Jl3dfaultdeviceVR(dom,group,token,skinCode) { scope.nowStationModel = scope.modelmanager.stationIn.mesh; scope.scene.add(scope.nowStationModel); } - console.log(scope.nowstation); - console.log(scope.nowStationModel); + if(scope.stationtexture["stationlist"]){ vrPlane.setStationPlane(stationList,scope.stationtexture); console.log(scope.nowStationModel.getObjectByName("zhantailiebiao")); @@ -417,7 +420,7 @@ export function Jl3dfaultdeviceVR(dom,group,token,skinCode) { scope.nowStationModel.getObjectByName("zhantaiming").material.map.needsUpdate = true; } - + trainControl.inittrain(scope.scene,scope.modelmanager.train.mesh,mixers); scope.scene.add(scope.modelmanager.otherDevice.mesh); scope.scene.add( vrPlane.group ); vrwebworker.postMessage("connect"); @@ -920,10 +923,10 @@ export function Jl3dfaultdeviceVR(dom,group,token,skinCode) { intersectObjects( controller1 ); moveanima.animateupdate(); let delta = clock.getDelta(); - if (scope.mixers) { - for (let i = 0; i < scope.mixers.length; i++) { - if (scope.mixers[i]) { - scope.mixers[i].update(delta); + if (mixers) { + for (let i = 0; i < mixers.length; i++) { + if (mixers[i]) { + mixers[i].update(delta); } } } diff --git a/src/jlmap3d/jl3dmaintainer/utils/standControl.js b/src/jlmap3d/jl3dmaintainer/utils/standControl.js new file mode 100644 index 000000000..e69de29bb diff --git a/src/jlmap3d/jl3dmaintainer/utils/switchControl.js b/src/jlmap3d/jl3dmaintainer/utils/switchControl.js new file mode 100644 index 000000000..e69de29bb diff --git a/src/jlmap3d/jl3dmaintainer/utils/trainControl.js b/src/jlmap3d/jl3dmaintainer/utils/trainControl.js new file mode 100644 index 000000000..3f489813f --- /dev/null +++ b/src/jlmap3d/jl3dmaintainer/utils/trainControl.js @@ -0,0 +1,112 @@ +export function TrainControl(){ + let scope = this; + this.toptrain = null; + this.downtrain = null; + + this.inittrain = function(scene,object,mixers){ + let ntracks1,ntracks2,tclip,fclip; + console.log(object); + ntracks1 = object.animations.slice(16,27); + + tclip = new THREE.AnimationClip("three",2,ntracks1); + + ntracks2 = object.animations.slice(0,15); + + fclip = new THREE.AnimationClip("four",2,ntracks2); + + + + scope.toptrain = object.clone(true); + scope.toptrain.nowcode = null; + scope.toptrain.action = { + top:[], + down:[] + }; + let points1 = []; + points1.push(new THREE.Vector3(-71,0.06,-6.3)); + points1.push(new THREE.Vector3(60.73,0.06,-6.3)); + + + scope.toptrain.curve = new THREE.CatmullRomCurve3(points1); + + scope.downtrain = object.clone(true); + scope.downtrain.nowcode = null; + scope.downtrain.action = { + top:[], + down:[] + }; + let points2 = []; + points2.push(new THREE.Vector3(-71,0.06,28.68)); + points2.push(new THREE.Vector3(60.73,0.06,28.68)); + scope.downtrain.curve = new THREE.CatmullRomCurve3(points2); + + + inittrainanimation(scope.toptrain,tclip,fclip,mixers); + inittrainanimation(scope.downtrain,tclip,fclip,mixers); + + + scope.toptrain.position.z = -20; + scope.toptrain.position.y = -20000; + scope.toptrain.rotation.y = Math.PI; + scope.downtrain.position.z = 40; + scope.downtrain.position.y = -20000; + scene.add(scope.toptrain); + scene.add(scope.downtrain); + } + + function inittrainanimation(train,tclip,fclip,mixers){ + for(let j=0;j0){ + if(object.animations.length>0 && model.code != "train"){ model.action = mixer.clipAction( object.animations[ 0 ] ); model.action.setLoop(THREE.LoopOnce); diff --git a/src/router/index_Common.js b/src/router/index_Common.js index ab25647f0..c4a235bac 100644 --- a/src/router/index_Common.js +++ b/src/router/index_Common.js @@ -362,8 +362,33 @@ export const publicAsyncRoute = [ ] }, { - path: '/device/runPlan', - component: PlanMonitorDetail, + path: '/device/teachDetail', + component: TeachDetail, + hidden: true + }, + { + path: '/device/course', + component: ExamCourseDetail, + hidden: true + }, + { + path: '/device/examRule/manage', + component: PublishExamRule, + hidden: true + }, + { + path: '/device/examRule/draft/:mode/:ruleId/:lessonId', + component: PublishExamRuleDraft, + hidden: true + }, + { // 试卷详情 + path: '/device/exam/:examId', + component: ExamDetail, + hidden: true + }, + { // 考试结果 + path: '/device/result/:userExamId', + component: ExamResult, hidden: true } ]; diff --git a/src/scripts/ConstDic.js b/src/scripts/ConstDic.js index 8fd40f917..af6e2513e 100644 --- a/src/scripts/ConstDic.js +++ b/src/scripts/ConstDic.js @@ -2236,6 +2236,7 @@ export const UrlConfig = { practiceDisplayNew:'/practiceDisplayNew', examRuleDraft: '/examRule/draft', examRuleManage: '/examRule/manage', + examDetail: '/exam', lesson: { prefix: '/lesson', record: '/system/record/training', diff --git a/src/store/modules/runplan.js b/src/store/modules/runplan.js index 683e2a197..d32a0f323 100644 --- a/src/store/modules/runplan.js +++ b/src/store/modules/runplan.js @@ -12,8 +12,9 @@ const runPlan = { width: 800, // 运行图canvas 容器 宽度 height: 600, // 运行图canvas 容器 高度 refreshCount: 0, // 刷新页面重新加载 - initialPlanData: {} // 运行图原始数据 - + initialPlanData: {}, // 运行图原始数据 + draftSelected: {}, // 草稿运行图选中对象 + draftStations: [] // 草稿运行图车站列表 }, getters: { stations: (state) => { @@ -62,6 +63,9 @@ const runPlan = { setStations: (state, stations) => { state.stations = stations; }, + setDraftStations: (state, stations) => { + state.draftStations = stations; + }, setInitialPlanData: (state, data) => { state.initialPlanData = {}; if (data && data.serviceNumberDataList && data.serviceNumberDataList.length) { @@ -90,9 +94,26 @@ const runPlan = { } state.planLoadedCount++; }, + setDraftPlanData: (state, data) => { + state.draftPlanData = data; + state.draftEditData = {}; + if (data && data.serviceNumberDataList && data.serviceNumberDataList.length) { + const serviceList = data.serviceNumberDataList; + serviceList.forEach((service, i) => { + const trainList = service.tripNumberDataList; + state.draftEditData[service.serviceNumber] = { oldIndex: i, serviceNumber: service.serviceNumber, backup: service.backup, trainMap: {} }; + trainList.forEach((train, j) => { + state.draftEditData[service.serviceNumber].trainMap[`${train.directionCode}${train.tripNumber}`] = { oldIndex: j, tripNumber: train.tripNumber, directionCode: train.directionCode, reentry: train.reentry, stationTimeList: train.stationTimeList }; + }); + }); + } + }, setSelected: (state, selected) => { state.selected = selected; }, + setDraftSelected: (state, draftSelected) => { + state.draftSelected = draftSelected; + }, addserviceNumber: (state, serviceNumber) => { const serviceObj = state.planData[serviceNumber]; if (serviceObj) { @@ -107,6 +128,11 @@ const runPlan = { state.editData = {}; state.selected = {}; }, + draftClear: (state) => { + state.draftPlanData = {}; + state.draftEditData = {}; + state.draftSelecte = {}; + }, refresh: (state) => { state.refreshCount++; } @@ -128,6 +154,13 @@ const runPlan = { resolve(mapModel); }); }, + /** 设置草稿stations数据 */ + setDraftStations: ({ commit }, mapModel) => { + return new Promise((resolve) =>{ + commit('setDraftStations', mapModel); + resolve(mapModel); + }); + }, /** 重置运行图数据更新池 */ resetRunPlanData:({ commit }) => { commit('resetRunPlanData'); @@ -140,6 +173,9 @@ const runPlan = { setPlanData: ({ commit }, data) => { commit('setPlanData', data); }, + setDraftPlanData: ({ commit }, data) => { + commit('setDraftPlanData', data); + }, /** 设置初始运行图数据 */ setInitialPlanData: ({ commit }, data) => { commit('setInitialPlanData', data); @@ -152,6 +188,9 @@ const runPlan = { setSelected: ({ commit }, selected) => { commit('setSelected', selected); }, + setDraftSelected: ({ commit }, draftSelected) => { + commit('setDraftSelected', draftSelected); + }, /** 更新数据*/ updateRunPlanData: ({ commit }, data) => { commit('updateRunPlanData', data); @@ -163,6 +202,12 @@ const runPlan = { resolve(); }); }, + draftClear: ({ commit }) => { + return new Promise(resolve => { + commit('draftClear'); + resolve(); + }); + }, /** 刷新页面*/ refresh: ({commit}) => { commit('refresh'); diff --git a/src/utils/baseUrl.js b/src/utils/baseUrl.js index 778caeb7b..e69529481 100644 --- a/src/utils/baseUrl.js +++ b/src/utils/baseUrl.js @@ -3,7 +3,7 @@ export function getBaseUrl() { if (process.env.NODE_ENV === 'development') { // BASE_API = 'https://joylink.club/jlcloud'; BASE_API = 'https://test.joylink.club/jlcloud'; - // BASE_API = 'http://192.168.3.5:9000'; // 袁琪 + // BASE_API = 'http://192.168.3.5:9000'; // 袁.el-button+.el-button琪 // BASE_API = 'http://192.168.3.6:9000'; // 旭强 // BASE_API = 'http://192.168.3.41:9000'; // 张赛 // BASE_API = 'http://192.168.3.82:9000'; // 杜康 diff --git a/src/views/exam/detail/courseDetail.vue b/src/views/exam/detail/courseDetail.vue index bf2216077..f8f5f8b60 100644 --- a/src/views/exam/detail/courseDetail.vue +++ b/src/views/exam/detail/courseDetail.vue @@ -50,7 +50,7 @@ {{ $t('exam.buy') }} {{ $t('exam.distributePermission') }} {{ $t('exam.viewCoursePapers') }} - {{ $t('exam.returnCourseList') }} + {{ $t('exam.returnCourseList') }} @@ -171,9 +171,11 @@ export default { checkCourse() { this.loading = true; if (this.isAddRule) { + const path = `${this.$route.path.match(/(\/.*)\/course/)[1]}${UrlConfig.examRuleManage}`; this.$router.push({ - path: `${UrlConfig.trainingPlatform.examRuleManage}`, - query: { lessonId: this.courseModel.id } + path: path, + query: { lessonId: this.courseModel.id }, + noPreLogout: this.$route.query.noPreLogout }); } else { this.$messageBox(this.$t('tip.notViewTheCoursePaper')); @@ -195,8 +197,9 @@ export default { }, 100); }, clickEvent(obj) { + const path = `${this.$route.path.match(/(\/.*)\/course/)[1]}${UrlConfig.examDetail}`; if (this.valid || obj.trial) { - this.$router.push({ path: `${UrlConfig.trainingPlatform.examDetail}/${obj.id}`, query: { subSystem: this.$route.params.subSystem, mapId: this.courseModel.mapId }}); + this.$router.push({ path: `${path}/${obj.id}`, query: { subSystem: this.$route.params.subSystem, mapId: this.courseModel.mapId, noPreLogout: this.$route.query.noPreLogout }}); } else { this.confirmToBuy(); } diff --git a/src/views/exam/detail/examDetail.vue b/src/views/exam/detail/examDetail.vue index 7f6e959a7..29b2f1ea5 100644 --- a/src/views/exam/detail/examDetail.vue +++ b/src/views/exam/detail/examDetail.vue @@ -250,7 +250,8 @@ export default { subSystem: this.$route.query.subSystem, examId: this.$route.params.examId, mapId: this.$route.query.mapId, - lineCode: this.lineCode + lineCode: this.lineCode, + noPreLogout: this.$route.query.noPreLogout }; this.$router.push({ path: `${UrlConfig.display}/exam`, query: query }); launchFullscreen(); @@ -268,7 +269,8 @@ export default { subSystem: this.$route.query.subSystem, examId: this.$route.params.examId, mapId: this.$route.query.mapId, - lineCode: this.lineCode + lineCode: this.lineCode, + noPreLogout: this.$route.query.noPreLogout }; this.$router.push({ path: `${UrlConfig.displayNew}/exam`, query: query }); launchFullscreen(); @@ -283,7 +285,11 @@ export default { back() { this.disabled = true; setTimeout(() => { - this.$router.push({ path: `${UrlConfig.trainingPlatform.course}/${this.$route.query.subSystem}`, query: {lessonId: this.examDetails.lessonId}}); + if (this.$route.query.subSystem) { + this.$router.push({ path: `${UrlConfig.trainingPlatform.course}/${this.$route.query.subSystem}`, query: {lessonId: this.examDetails.lessonId}}); + } else { + this.$router.push({ path: '/device/examDetail', query: {lessonId: this.examDetails.lessonId, noPreLogout: this.$route.query.noPreLogout}}); + } }, 100); } } diff --git a/src/views/exam/result.vue b/src/views/exam/result.vue index 2ae9a3995..9bdc100df 100644 --- a/src/views/exam/result.vue +++ b/src/views/exam/result.vue @@ -109,7 +109,8 @@ export default { }, back() { const examId = this.resultModel.examId; - this.$router.push({path: `${UrlConfig.trainingPlatform.examDetail}/${examId}`, query: { subSystem: this.$route.query.subSystem, mapId: this.$route.query.mapId }}); + const path = `${this.$route.path.match(/(\/.*)\/result/)[1]}${UrlConfig.examDetail}`; + this.$router.push({path: `${path}/${examId}`, query: { subSystem: this.$route.query.subSystem, mapId: this.$route.query.mapId, noPreLogout: this.$route.query.noPreLogout }}); } } }; diff --git a/src/views/jlmap3d/drive/drivecontrol/toprightpane.vue b/src/views/jlmap3d/drive/drivecontrol/toprightpane.vue index ec50921f7..9411cdef7 100644 --- a/src/views/jlmap3d/drive/drivecontrol/toprightpane.vue +++ b/src/views/jlmap3d/drive/drivecontrol/toprightpane.vue @@ -120,7 +120,7 @@
{{ $t('jlmap3d.closeRightDoor') }}
- +
{{ $t('jlmap3d.emergencyBraking') }}
@@ -163,6 +163,7 @@ redlimg:"/static/jl3d/control/redl.png", greenimg:"/static/jl3d/control/green.png", urgestopimg:"/static/jl3d/control/urgestop.png", + iconrotate:0, doordirecttou:"rotate(0deg)", doormodetou:"rotate(0deg)", watertou:"rotate(0deg)", @@ -205,7 +206,12 @@ group() { return this.$route.query.group; }, - + urgestopStyle:function(){ + let arr = new Array(); + arr.push('transform:'); + arr.push('rotate('+this.iconrotate+'deg) '); + return arr.join(""); + } }, mounted() { window.updatabuttonlight = this.updatabuttonlight; @@ -490,7 +496,8 @@ this.rmbuttonimg = this.greenimg; } } - if(data.atoOn){ + if(typeof(data.atoOn) != "undefined"){ + // console.log(data.atoOn); // this.atoOn = data.atoOn; if(data.atoOn){ this.atobuttonimg = this.greenlimg; @@ -499,10 +506,25 @@ } } + if(typeof(data.circuitEB) != "undefined"){ + if(data.circuitEB){ + this.iconrotate = 0; + }else{ + this.iconrotate = 160; + } + } + } }, } diff --git a/src/views/jlmap3d/drive/sceneview/mmiview.vue b/src/views/jlmap3d/drive/sceneview/mmiview.vue index 1c72ac7d9..ed008270b 100644 --- a/src/views/jlmap3d/drive/sceneview/mmiview.vue +++ b/src/views/jlmap3d/drive/sceneview/mmiview.vue @@ -152,6 +152,7 @@ export default { images:null, newa1state:"black", a1state:"black", + ebStatus:false, } }, mounted() { @@ -187,7 +188,7 @@ export default { this.m5image = this.images.m5['noalloffdoor']; this.m6image = this.images.m6['fache']; this.m7image = this.images.m7['aoac']; - this.m8image = this.images.m8['jinjizhidong']; + this.m8image = this.images.m8['none']; this.m9image = this.images.m9['ato']; this.m10image = this.images.m10['jinduan']; this.c1image = this.images.c1['none']; @@ -210,14 +211,22 @@ export default { }, updatetrainstatus(newdata){ + + if(typeof(newdata.eb) != "undefined"){ + + this.updateEbStatus(newdata.eb); + } + //更新车组号 this.updateMmiSpeedView(newdata.v,newdata.pv,newdata.tv); - + if(newdata.maLen){ + this.updateMmiLen(newdata.maLen); } + this.updatemmidrivemodelevel(newdata.runLevel,newdata.driveMode,newdata.atoOn,newdata.atpOn); // this.updatammirunlevel(newdata.runLevel); // @@ -236,35 +245,68 @@ export default { }, updatemmistate(aaa){ + }, + updateEbStatus(ebData){ + this.ebStatus = ebData; + if(this.ebStatus){ + this.m8image = this.images.m8["jinjizhidong"]; + }else{ + this.m8image = this.images.m8["none"]; + } }, updateMmiSpeedView(speed,atpspeed,atospeed) { - this.nowspeed = parseInt(speed); - if(this.mmimodel.updatezz){ - this.mmimodel.updatezz(speed); - } - this.nowatpspeed = parseInt(atpspeed); - if(this.mmimodel.updateatp){ - this.mmimodel.updateatp(atpspeed); - } + // if(this.m9state1 == false){ + // console.log(this.nowspeed); + // console.log(this.nowatospeed); - this.nowatospeed = parseInt(atospeed); - if(this.mmimodel.updateato){ - this.mmimodel.updateato(atospeed); - } + if(this.ebStatus){ + this.newa1state = "red"; + this.nowspeed = 0; + if(this.mmimodel.updatezz){ + this.mmimodel.updatezz(0); + } + this.nowatpspeed = 0; + if(this.mmimodel.updateatp){ + this.mmimodel.updateatp(0); + } - if(this.m9state1 == false){ - if(this.nowspeed>this.nowatospeed){ - this.newa1state = "yellow"; + this.nowatospeed = 0; + if(this.mmimodel.updateato){ + this.mmimodel.updateato(0); + } + + if(this.newa1state != this.a1state){ + this.a1state = this.newa1state; + + } }else{ - this.newa1state = "black"; - } - if(this.newa1state != this.a1state){ - this.a1state = this.newa1state; + this.nowspeed = parseInt(speed); + if(this.mmimodel.updatezz){ + this.mmimodel.updatezz(speed); + } + this.nowatpspeed = parseInt(atpspeed); + if(this.mmimodel.updateatp){ + this.mmimodel.updateatp(atpspeed); + } + + this.nowatospeed = parseInt(atospeed); + if(this.mmimodel.updateato){ + this.mmimodel.updateato(atospeed); + } + if(this.nowspeed>this.nowatospeed){ + this.newa1state = "yellow"; + }else{ + this.newa1state = "black"; + } + if(this.newa1state != this.a1state){ + this.a1state = this.newa1state; + + } } - } + }, diff --git a/src/views/newMap/displayNew/LeftSlider.vue b/src/views/newMap/displayNew/LeftSlider.vue index 7e5054adf..4c3c6efe4 100644 --- a/src/views/newMap/displayNew/LeftSlider.vue +++ b/src/views/newMap/displayNew/LeftSlider.vue @@ -92,7 +92,7 @@ export default { this.disabled = true; trainingNotifyNew({ trainingId: obj.id }).then(resp => { const query = { - group: resp.data, trainingId: obj.id, lessonId: this.$route.query.lessonId, mapId: this.$route.query.mapId, lineCode:this.$route.query.lineCode + group: resp.data, trainingId: obj.id, lessonId: this.$route.query.lessonId, mapId: this.$route.query.mapId, lineCode:this.$route.query.lineCode, noPreLogout: this.$route.query.noPreLogout }; this.$router.replace({ path: `${UrlConfig.displayNew}/teach`, query: query }); launchFullscreen(); diff --git a/src/views/newMap/displayNew/demon/runPlanEdit.vue b/src/views/newMap/displayNew/demon/runPlanEdit.vue new file mode 100644 index 000000000..b6c87658d --- /dev/null +++ b/src/views/newMap/displayNew/demon/runPlanEdit.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/views/newMap/displayNew/menuSchema.vue b/src/views/newMap/displayNew/menuSchema.vue index 24274f9e0..72e3be7e8 100644 --- a/src/views/newMap/displayNew/menuSchema.vue +++ b/src/views/newMap/displayNew/menuSchema.vue @@ -9,6 +9,7 @@ \ No newline at end of file + diff --git a/src/views/planMonitor/editTool/schedule.vue b/src/views/planMonitor/editTool/schedule.vue index 396f87653..04761d1ea 100644 --- a/src/views/planMonitor/editTool/schedule.vue +++ b/src/views/planMonitor/editTool/schedule.vue @@ -48,6 +48,18 @@ export default { maxHeight: { type: Number, required: true + }, + loadRunPlanId: { + type: String, + default() { + return ''; + } + }, + loadRunPlanName: { + type: String, + default() { + return ''; + } } }, data() { @@ -237,6 +249,9 @@ export default { this.$nextTick(() => { this.loadChartPage(); }); + }, + loadRunPlanId() { + this.loadChartPage(); } }, mounted() { @@ -371,11 +386,11 @@ export default { try { if (/^\/plan\/usertool/.test(this.$route.fullPath)) { getUserMapDetailByMapId(this.$route.query.mapId).then(resp => { - this.mapName = `${resp.data.name} (${this.$route.query.planName || ''})`; + this.mapName = `${resp.data.name} (${this.$route.query.planName || this.loadRunPlanName || ''})`; }); } else { getPublishMapInfo(this.$route.query.mapId).then(resp => { - this.mapName = `${resp.data.name} (${this.$route.query.planName || ''})`; + this.mapName = `${resp.data.name} (${this.$route.query.planName || this.loadRunPlanName || ''})`; }); } @@ -390,8 +405,8 @@ export default { const stationList = res.stationList.sort((a, b)=>{ return a.kmRange - b.kmRange; }); this.$store.dispatch('runPlan/setStations', stationList).then(() => { this.loadInitData(); - if (this.planId) { - getRpDetailByUserMapId(this.planId).then(rest => { + if (this.planId || this.loadRunPlanId) { + getRpDetailByUserMapId(this.planId || this.loadRunPlanId).then(rest => { this.$store.dispatch('runPlan/setPlanData', rest.data).then(() => { this.analyticalServiceNumber(this.$store.state.runPlan.editData); this.loadChartData(); @@ -410,9 +425,9 @@ export default { getStationList(this.$route.query.mapId).then(resp => { this.$store.dispatch('runPlan/setStations', resp.data).then(() => { this.loadInitData(); - if (this.planId) { + if (this.planId || this.loadRunPlanId) { this.myChart && this.myChart.showLoading(); - queryRunPlan(this.planId).then(rest => { + queryRunPlan(this.planId || this.loadRunPlanId).then(rest => { this.$store.dispatch('runPlan/setPlanData', rest.data).then(() => { this.analyticalServiceNumber(this.$store.state.runPlan.editData); this.loadChartData(); @@ -533,7 +548,7 @@ export default { if (this.myChart && this.myChart.isDisposed) { this.myChart.clear(); } - if (this.$route.query.planName) { + if (this.$route.query.planName || this.$route.query.prdType === '05') { this.option.title.text = this.mapName; } this.myChart = echarts.init(document.getElementById(this.runPlanId)); @@ -545,6 +560,18 @@ export default { } }); }, + refreshRunPlanName(name) { + getPublishMapInfo(this.$route.query.mapId).then(resp => { + this.mapName = `${resp.data.name} (${name})`; + this.myChart.setOption({ + title: { + text: this.mapName, + left: 'center', // 居中对齐 + top: '10px' + } + }); + }); + }, clearCanvas() { this.option.series = []; this.option.title.text = ''; diff --git a/src/views/planMonitor/editTool/statusBar.vue b/src/views/planMonitor/editTool/statusBar.vue index ea35180db..b8166a249 100644 --- a/src/views/planMonitor/editTool/statusBar.vue +++ b/src/views/planMonitor/editTool/statusBar.vue @@ -25,6 +25,14 @@ import { UrlConfig } from '@/scripts/ConstDic'; export default { name: 'PlanStatusBar', + props: { + loadRunPlanId: { + type: String, + default() { + return ''; + } + } + }, data() { return { isNotUser: true @@ -46,7 +54,7 @@ export default { }, // 添加计划 handleAddPlanningTrain() { - const planId = this.$route.query.planId; + const planId = this.$route.query.planId || this.loadRunPlanId; if (planId) { this.$emit('dispatchDialog', { name: 'addPlanningTrain', params: {} }); } else { diff --git a/src/views/planMonitor/editTool/userindex.vue b/src/views/planMonitor/editTool/userindex.vue index 46265770f..1fd5355bc 100644 --- a/src/views/planMonitor/editTool/userindex.vue +++ b/src/views/planMonitor/editTool/userindex.vue @@ -59,7 +59,7 @@ import SystermOut from './menus/systermOut'; // import AddSmoothRunTime from './menus/addSmoothRunTime'; // import EditSmoothRunTime from './menus/editSmoothRunTime'; // import ModifyingStationIntervalTime from './menus/modifyingStationIntervalTime'; -// import { deletePlanService } from '@/api/runplan'; +import { deletePlanService } from '@/api/runplan'; export default { name: 'Menus', diff --git a/src/views/planMonitor/newEditTool/index.vue b/src/views/planMonitor/newEditTool/index.vue new file mode 100644 index 000000000..dd509bfb2 --- /dev/null +++ b/src/views/planMonitor/newEditTool/index.vue @@ -0,0 +1,547 @@ + + + + + diff --git a/src/views/planMonitor/newEditTool/menuBar.vue b/src/views/planMonitor/newEditTool/menuBar.vue new file mode 100644 index 000000000..1ea1f356f --- /dev/null +++ b/src/views/planMonitor/newEditTool/menuBar.vue @@ -0,0 +1,711 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menuTool.vue b/src/views/planMonitor/newEditTool/menuTool.vue new file mode 100644 index 000000000..9cbe4e450 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menuTool.vue @@ -0,0 +1,170 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/addPlanningTrain.vue b/src/views/planMonitor/newEditTool/menus/addPlanningTrain.vue new file mode 100644 index 000000000..3becb4983 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/addPlanningTrain.vue @@ -0,0 +1,111 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/addSmoothRunTime.vue b/src/views/planMonitor/newEditTool/menus/addSmoothRunTime.vue new file mode 100644 index 000000000..defda51df --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/addSmoothRunTime.vue @@ -0,0 +1,141 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/addTask.vue b/src/views/planMonitor/newEditTool/menus/addTask.vue new file mode 100644 index 000000000..02e6f11f1 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/addTask.vue @@ -0,0 +1,342 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/components/dataTable.vue b/src/views/planMonitor/newEditTool/menus/components/dataTable.vue new file mode 100644 index 000000000..4adf68074 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/components/dataTable.vue @@ -0,0 +1,215 @@ + + + + + diff --git a/src/views/planMonitor/newEditTool/menus/createEmptyPlan.vue b/src/views/planMonitor/newEditTool/menus/createEmptyPlan.vue new file mode 100644 index 000000000..3700316eb --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/createEmptyPlan.vue @@ -0,0 +1,291 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/deleteTask.vue b/src/views/planMonitor/newEditTool/menus/deleteTask.vue new file mode 100644 index 000000000..572c0209e --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/deleteTask.vue @@ -0,0 +1,120 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/duplicateTrain.vue b/src/views/planMonitor/newEditTool/menus/duplicateTrain.vue new file mode 100644 index 000000000..0030d67a9 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/duplicateTrain.vue @@ -0,0 +1,114 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/editPlanName.vue b/src/views/planMonitor/newEditTool/menus/editPlanName.vue new file mode 100644 index 000000000..7d32a543c --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/editPlanName.vue @@ -0,0 +1,116 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/editPlanningTrain.vue b/src/views/planMonitor/newEditTool/menus/editPlanningTrain.vue new file mode 100644 index 000000000..385d56511 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/editPlanningTrain.vue @@ -0,0 +1,245 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/editSmoothRunTime.vue b/src/views/planMonitor/newEditTool/menus/editSmoothRunTime.vue new file mode 100644 index 000000000..ba235e3a6 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/editSmoothRunTime.vue @@ -0,0 +1,121 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/editStationBetweenTime.vue b/src/views/planMonitor/newEditTool/menus/editStationBetweenTime.vue new file mode 100644 index 000000000..0b0d81fec --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/editStationBetweenTime.vue @@ -0,0 +1,54 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/lookup.vue b/src/views/planMonitor/newEditTool/menus/lookup.vue new file mode 100644 index 000000000..6558b29b1 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/lookup.vue @@ -0,0 +1,54 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/modifyingBeginTime.vue b/src/views/planMonitor/newEditTool/menus/modifyingBeginTime.vue new file mode 100644 index 000000000..863ba2db8 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/modifyingBeginTime.vue @@ -0,0 +1,71 @@ + + + diff --git a/src/views/planMonitor/newEditTool/menus/modifyingRouting.vue b/src/views/planMonitor/newEditTool/menus/modifyingRouting.vue new file mode 100644 index 000000000..58f1380d4 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/modifyingRouting.vue @@ -0,0 +1,89 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/modifyingStationIntervalTime.vue b/src/views/planMonitor/newEditTool/menus/modifyingStationIntervalTime.vue new file mode 100644 index 000000000..d45489013 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/modifyingStationIntervalTime.vue @@ -0,0 +1,164 @@ + + + diff --git a/src/views/planMonitor/newEditTool/menus/modifyingTask.vue b/src/views/planMonitor/newEditTool/menus/modifyingTask.vue new file mode 100644 index 000000000..6356e027f --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/modifyingTask.vue @@ -0,0 +1,463 @@ + + + diff --git a/src/views/planMonitor/newEditTool/menus/offLine.vue b/src/views/planMonitor/newEditTool/menus/offLine.vue new file mode 100644 index 000000000..e7f24afb7 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/offLine.vue @@ -0,0 +1,89 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/parameter/baseLoop.vue b/src/views/planMonitor/newEditTool/menus/parameter/baseLoop.vue new file mode 100644 index 000000000..8e00a11e1 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/parameter/baseLoop.vue @@ -0,0 +1,62 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/parameter/baseParameter.vue b/src/views/planMonitor/newEditTool/menus/parameter/baseParameter.vue new file mode 100644 index 000000000..d8e2aec7d --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/parameter/baseParameter.vue @@ -0,0 +1,78 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/parameter/baseParkingDepot.vue b/src/views/planMonitor/newEditTool/menus/parameter/baseParkingDepot.vue new file mode 100644 index 000000000..c513fe058 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/parameter/baseParkingDepot.vue @@ -0,0 +1,42 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/parameter/baseRouting.vue b/src/views/planMonitor/newEditTool/menus/parameter/baseRouting.vue new file mode 100644 index 000000000..0d2ed520f --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/parameter/baseRouting.vue @@ -0,0 +1,49 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/parameter/baseStation.vue b/src/views/planMonitor/newEditTool/menus/parameter/baseStation.vue new file mode 100644 index 000000000..67974391d --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/parameter/baseStation.vue @@ -0,0 +1,42 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/parameter/index.vue b/src/views/planMonitor/newEditTool/menus/parameter/index.vue new file mode 100644 index 000000000..8c17d1f80 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/parameter/index.vue @@ -0,0 +1,102 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/parameter/modifyingDepotProperty.vue b/src/views/planMonitor/newEditTool/menus/parameter/modifyingDepotProperty.vue new file mode 100644 index 000000000..b4a0b2723 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/parameter/modifyingDepotProperty.vue @@ -0,0 +1,82 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/parameter/modifyingStationProperty.vue b/src/views/planMonitor/newEditTool/menus/parameter/modifyingStationProperty.vue new file mode 100644 index 000000000..2f9d6974f --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/parameter/modifyingStationProperty.vue @@ -0,0 +1,127 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/parameter/modifyingStationStandProperty.vue b/src/views/planMonitor/newEditTool/menus/parameter/modifyingStationStandProperty.vue new file mode 100644 index 000000000..9b0a29a76 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/parameter/modifyingStationStandProperty.vue @@ -0,0 +1,88 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/populatingGenericData.vue b/src/views/planMonitor/newEditTool/menus/populatingGenericData.vue new file mode 100644 index 000000000..8c832b617 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/populatingGenericData.vue @@ -0,0 +1,160 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/quickLoopsIncrease.vue b/src/views/planMonitor/newEditTool/menus/quickLoopsIncrease.vue new file mode 100644 index 000000000..c6aa68460 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/quickLoopsIncrease.vue @@ -0,0 +1,54 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/quickTaskIncrease.vue b/src/views/planMonitor/newEditTool/menus/quickTaskIncrease.vue new file mode 100644 index 000000000..900be6f22 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/quickTaskIncrease.vue @@ -0,0 +1,54 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/routingSelection.vue b/src/views/planMonitor/newEditTool/menus/routingSelection.vue new file mode 100644 index 000000000..cc130af96 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/routingSelection.vue @@ -0,0 +1,54 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/selectDeleteRoute.vue b/src/views/planMonitor/newEditTool/menus/selectDeleteRoute.vue new file mode 100644 index 000000000..7bcfa7a75 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/selectDeleteRoute.vue @@ -0,0 +1,54 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/selectPrintArea.vue b/src/views/planMonitor/newEditTool/menus/selectPrintArea.vue new file mode 100644 index 000000000..054d90be6 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/selectPrintArea.vue @@ -0,0 +1,54 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/menus/systermOut.vue b/src/views/planMonitor/newEditTool/menus/systermOut.vue new file mode 100644 index 000000000..bd6db6522 --- /dev/null +++ b/src/views/planMonitor/newEditTool/menus/systermOut.vue @@ -0,0 +1,82 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/schedule.vue b/src/views/planMonitor/newEditTool/schedule.vue new file mode 100644 index 000000000..8d902295c --- /dev/null +++ b/src/views/planMonitor/newEditTool/schedule.vue @@ -0,0 +1,643 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/statusBar.vue b/src/views/planMonitor/newEditTool/statusBar.vue new file mode 100644 index 000000000..df17cf153 --- /dev/null +++ b/src/views/planMonitor/newEditTool/statusBar.vue @@ -0,0 +1,206 @@ + + + + + diff --git a/src/views/planMonitor/newEditTool/titleBar.vue b/src/views/planMonitor/newEditTool/titleBar.vue new file mode 100644 index 000000000..75b93f266 --- /dev/null +++ b/src/views/planMonitor/newEditTool/titleBar.vue @@ -0,0 +1,74 @@ + + + + diff --git a/src/views/planMonitor/newEditTool/userindex.vue b/src/views/planMonitor/newEditTool/userindex.vue new file mode 100644 index 000000000..42779cecb --- /dev/null +++ b/src/views/planMonitor/newEditTool/userindex.vue @@ -0,0 +1,485 @@ + + + + + diff --git a/src/views/publish/examRule/draft/index.vue b/src/views/publish/examRule/draft/index.vue index 4817a3d31..d7c637665 100644 --- a/src/views/publish/examRule/draft/index.vue +++ b/src/views/publish/examRule/draft/index.vue @@ -153,9 +153,9 @@ export default { const path = `${this.$route.path.match(/(\/.*)\/examRule/)[1]}${UrlConfig.examRuleManage}`; const lessonId = this.$route.params.lessonId; if (parseInt(lessonId)) { - this.$router.push({ path: `${path}`, query: { lessonId: lessonId } }); + this.$router.push({ path: `${path}`, query: { lessonId: lessonId, noPreLogout: this.$route.query.noPreLogout } }); } else { - this.$router.push({ path: `${path}` }); + this.$router.push({ path: `${path}`, query: { noPreLogout: this.$route.query.noPreLogout } }); } } catch (error) { if (error) { diff --git a/src/views/publish/examRule/draft/rule.vue b/src/views/publish/examRule/draft/rule.vue index d076d8a49..bd4363744 100644 --- a/src/views/publish/examRule/draft/rule.vue +++ b/src/views/publish/examRule/draft/rule.vue @@ -207,9 +207,9 @@ export default { const path = `${this.$route.path.match(/(\/.*)\/examRule/)[1]}${UrlConfig.examRuleManage}`; const lessonId = this.$route.params.lessonId; if (parseInt(lessonId)) { - this.$router.push({ path: `${path}`, query: { lessonId: lessonId } }); + this.$router.push({ path: `${path}`, query: { lessonId: lessonId, noPreLogout: this.$route.query.noPreLogout } }); } else { - this.$router.push({ path: `${path}` }); + this.$router.push({ path: `${path}`, query: {noPreLogout: this.$route.query.noPreLogout} }); } } catch (error) { if (error) { diff --git a/src/views/publish/examRule/index.vue b/src/views/publish/examRule/index.vue index f4b29cfb1..c5ee79758 100644 --- a/src/views/publish/examRule/index.vue +++ b/src/views/publish/examRule/index.vue @@ -209,17 +209,17 @@ export default { handleNormalAdd() { const path = `${this.$route.path.match(/(\/.*)\/examRule/)[1]}${UrlConfig.examRuleDraft}`; const lessonId = this.$route.query.lessonId ? this.$route.query.lessonId : 0; - this.$router.push({ path: `${path}/add/0/${lessonId}` }); + this.$router.push({ path: `${path}/add/0/${lessonId}`, query: {noPreLogout: this.$route.query.noPreLogout} }); }, handleUpdate(index, data) { const path = `${this.$route.path.match(/(\/.*)\/examRule/)[1]}${UrlConfig.examRuleDraft}`; const lessonId = this.$route.query.lessonId ? this.$route.query.lessonId : 0; - this.$router.push({ path: `${path}/edit/${data.id}/${lessonId}` }); + this.$router.push({ path: `${path}/edit/${data.id}/${lessonId}`, query: {noPreLogout: this.$route.query.noPreLogout} }); }, handleDistribute(index, data) { const path = `${this.$route.path.match(/(\/.*)\/examRule/)[1]}${UrlConfig.examRuleDraft}`; const lessonId = this.$route.query.lessonId ? this.$route.query.lessonId : 0; - this.$router.push({ path: `${path}/add/${data.id}/${lessonId}` }); + this.$router.push({ path: `${path}/add/${data.id}/${lessonId}`, query: {noPreLogout: this.$route.query.noPreLogout} }); }, // 删除 deleteList(index, data) { diff --git a/src/views/teach/detail/index.vue b/src/views/teach/detail/index.vue index 942cc0f69..1c8d116f0 100644 --- a/src/views/teach/detail/index.vue +++ b/src/views/teach/detail/index.vue @@ -7,28 +7,28 @@
- - - - -  {{ node.label }} -  {{ node.label }} - - - + + + + +  {{ node.label }} +  {{ node.label }} + + +
@@ -39,7 +39,7 @@
{{ $t('teach.buy') }} {{ $t('teach.permissionDistribute') }} - {{ $t('teach.returnCourseList') }} + {{ $t('teach.returnCourseList') }}
@@ -149,7 +149,7 @@ export default { if (this.drawWay) { trainingNotifyNew({ trainingId: obj.id }).then(resp => { const query = { - group: resp.data, trainingId: obj.id, lessonId: this.$route.query.lessonId, mapId: this.courseModel.mapId, lineCode: this.lineCode + group: resp.data, trainingId: obj.id, lessonId: this.$route.query.lessonId, mapId: this.courseModel.mapId, lineCode: this.lineCode, noPreLogout: this.$route.query.noPreLogout }; this.$router.push({ path: `${UrlConfig.displayNew}/teach`, query: query }); launchFullscreen(); diff --git a/static/jl3d/biaotest.png b/static/jl3d/biaotest.png deleted file mode 100644 index 47eb8103b..000000000 Binary files a/static/jl3d/biaotest.png and /dev/null differ diff --git a/static/jl3d/ebbiao.png b/static/jl3d/ebbiao.png new file mode 100644 index 000000000..4e2beccab Binary files /dev/null and b/static/jl3d/ebbiao.png differ diff --git a/static/vrtest/vrTrain.FBX b/static/vrtest/vrTrain.FBX new file mode 100644 index 000000000..052a5cece Binary files /dev/null and b/static/vrtest/vrTrain.FBX differ diff --git a/static/vrtest/zhankong.png b/static/vrtest/zhankong.png new file mode 100644 index 000000000..163800c3d Binary files /dev/null and b/static/vrtest/zhankong.png differ