This commit is contained in:
fan 2021-08-17 14:14:37 +08:00
commit a4dea11f3b
12 changed files with 1627 additions and 27 deletions

View File

@ -386,7 +386,7 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj
realsectionlist = loadrealsectionlist; realsectionlist = loadrealsectionlist;
rails = loadrails; rails = loadrails;
console.log(trainlisttest.group.children[0]); // console.log(trainlisttest.group.children[0]);
trainlisttest.group.children[0].getObjectByName("C3").add(cameracctv); trainlisttest.group.children[0].getObjectByName("C3").add(cameracctv);
} }

View File

@ -79,7 +79,16 @@ export function AssetModelManager(editor,scene) {
resourceType:"三维课程", resourceType:"三维课程",
sceneType:"standstation", sceneType:"standstation",
}; };
scope.staticAsset['wxc'] = {
modelId:'wxc',
packageName:"维修厂",
url:"/MODEL/2021-08-12/200-34275.FBX",
mesh:"",
assetType:'onlineasset',
isUse:true,
resourceType:"三维课程",
sceneType:"stopstation",
};
//场景中可触发事件模型 //场景中可触发事件模型
this.lessonTriggerList = []; this.lessonTriggerList = [];
@ -251,6 +260,16 @@ export function AssetModelManager(editor,scene) {
asset.mesh = object; asset.mesh = object;
groupList[asset.sceneType].add(object); groupList[asset.sceneType].add(object);
// scene.add(object); // scene.add(object);
resolve();
} );
}else if(asset.assetType == "onlineasset"){
loader.load( BASE_ASSET_API+asset.url, function ( object ) {
if(asset.sceneType){
object.sceneType = asset.sceneType;
}
asset.mesh = object;
groupList[asset.sceneType].add(object);
resolve(); resolve();
} ); } );
}else{ }else{

View File

@ -84,26 +84,30 @@ export function ControlManager(dom,scene,lessonData,lessonIndex) {
let loaderObj = new THREE.OBJLoader(); let loaderObj = new THREE.OBJLoader();
let pengzhuang; let standstationPZ,stopstationPZ;
// load a resource // load a resource
loaderObj.load( loaderObj.load(
// resource URL JL3D_LOCAL_STATIC+'/lesson3d/standstationPZ.obj',
JL3D_LOCAL_STATIC+'/lesson3d/PZ427.obj',
// called when resource is loaded
function ( object ) { function ( object ) {
pengzhuang = object; standstationPZ = object;
},
function ( xhr ) {
console.log( ( xhr.loaded / xhr.total * 100 ) + '% loaded' );
},
function ( error ) {
console.log( 'An error happened' );
}
);
loaderObj.load(
JL3D_LOCAL_STATIC+'/lesson3d/stopstationPZ.obj',
function ( object ) {
stopstationPZ = object;
}, },
// called when loading is in progresses
function ( xhr ) { function ( xhr ) {
console.log( ( xhr.loaded / xhr.total * 100 ) + '% loaded' ); console.log( ( xhr.loaded / xhr.total * 100 ) + '% loaded' );
}, },
// called when loading has errors
function ( error ) { function ( error ) {
console.log( 'An error happened' ); console.log( 'An error happened' );
} }
); );
this.initRoleMode = function(rMode,role){ this.initRoleMode = function(rMode,role){
@ -211,7 +215,7 @@ export function ControlManager(dom,scene,lessonData,lessonIndex) {
this.init = function(actions){ this.init = function(actions){
worldOctree.fromGraphNode( pengzhuang ); worldOctree.fromGraphNode( standstationPZ );
actionList = actions; actionList = actions;
} }
@ -463,6 +467,11 @@ export function ControlManager(dom,scene,lessonData,lessonIndex) {
} }
if ( keyStates[ 'Space' ] ) {
playerVelocity.y = 10;
}
} }
@ -476,6 +485,13 @@ export function ControlManager(dom,scene,lessonData,lessonIndex) {
} }
this.initControlMode = function(nowLessonIndex){ this.initControlMode = function(nowLessonIndex){
console.log(lessonData.lessonProgress[nowLessonIndex].progressScene);
if(lessonData.lessonProgress[nowLessonIndex].progressScene == "standstation"){
worldOctree.fromGraphNode( standstationPZ );
}else if(lessonData.lessonProgress[nowLessonIndex].progressScene == "stopstation"){
worldOctree.fromGraphNode( stopstationPZ );
}
scope.controlMode = lessonData.lessonProgress[nowLessonIndex].controlMode; scope.controlMode = lessonData.lessonProgress[nowLessonIndex].controlMode;
if(lessonData.lessonProgress[nowLessonIndex].changeCamera == true){ if(lessonData.lessonProgress[nowLessonIndex].changeCamera == true){
@ -526,6 +542,8 @@ export function ControlManager(dom,scene,lessonData,lessonIndex) {
console.log(roleMode); console.log(roleMode);
console.log(eventTrigger); console.log(eventTrigger);
console.log("----------------------------"); console.log("----------------------------");
if(actions.length>0 && roleMode){ if(actions.length>0 && roleMode){
scope.eventHitMode = true; scope.eventHitMode = true;
for(let i=0;i<actions.length;i++){ for(let i=0;i<actions.length;i++){

View File

@ -80,6 +80,16 @@ export function AssetModelManager(editor,scene) {
resourceType:"三维课程", resourceType:"三维课程",
sceneType:"standstation", sceneType:"standstation",
}; };
scope.staticAsset['wxc'] = {
modelId:'wxc',
packageName:"维修厂",
url:"/MODEL/2021-08-12/196-43574.FBX",
mesh:"",
assetType:'onlineasset',
isUse:true,
resourceType:"三维课程",
sceneType:"stopstation",
};
//场景中可触发事件模型 //场景中可触发事件模型
@ -319,6 +329,16 @@ export function AssetModelManager(editor,scene) {
asset.mesh = object; asset.mesh = object;
groupList[asset.sceneType].add(object); groupList[asset.sceneType].add(object);
// scope.otherModel.add(object); // scope.otherModel.add(object);
resolve();
} );
}else if(asset.assetType == "onlineasset"){
loader.load( BASE_ASSET_API+asset.url, function ( object ) {
if(asset.sceneType){
object.sceneType = asset.sceneType;
}
asset.mesh = object;
groupList[asset.sceneType].add(object);
resolve(); resolve();
} ); } );
}else{ }else{

View File

@ -21,6 +21,7 @@ export default {
sepField: '车次号', sepField: '车次号',
columns: { columns: {
'停车站名称': { key: 'stationName', formatter: (val) => { return val; } }, '停车站名称': { key: 'stationName', formatter: (val) => { return val; } },
'停车轨名称':{key: 'trackName', formatter: (val) => { return val; }},
'到达时间': { key: 'arriveTime', formatter: (val) => { return val; } }, '到达时间': { key: 'arriveTime', formatter: (val) => { return val; } },
'出发时间': { key: 'departureTime', formatter: (val) => { return val; } } '出发时间': { key: 'departureTime', formatter: (val) => { return val; } }
} }
@ -82,7 +83,7 @@ export default {
// 添加字段值 // 添加字段值
if (Object.keys(stationObj).length) { if (Object.keys(stationObj).length) {
if (stationObj.arriveTime) { if (stationObj.trackName || stationObj.arriveTime) {
tripObj.arrivalList.push(stationObj); tripObj.arrivalList.push(stationObj);
} }
} }

View File

@ -45,6 +45,16 @@ export const loginInfo = {
navigationMarginLeft: '140px', navigationMarginLeft: '140px',
systemType: '011' systemType: '011'
}, },
zzwwtest:{
title: '共赢列车仿真驾驶系统',
loginPath: '/login?project=zzwwtest',
loginParam: 'ZZWWTEST',
loginTitle: '空串',
logoWidth: '140px',
navigationLogoWidth: '120px',
navigationMarginLeft: '140px',
systemType: '011'
},
bjd: { bjd: {
title: '城市轨道交通列车运行智慧辅助系统', title: '城市轨道交通列车运行智慧辅助系统',
loginPath: '/login?project=bjd', loginPath: '/login?project=bjd',
@ -442,6 +452,7 @@ export const loginInfo = {
export const ProjectIcon = { export const ProjectIcon = {
xty: FaviconXty, xty: FaviconXty,
zzww: FaviconZzww, zzww: FaviconZzww,
zzwwtest: FaviconZzww,
login: Favicon, login: Favicon,
design: Favicon, design: Favicon,
designxty: FaviconXty, designxty: FaviconXty,
@ -487,6 +498,7 @@ export const ProjectCode = {
xty: 'XTY', xty: 'XTY',
designxty: 'XTY', designxty: 'XTY',
zzww: 'ZZWW', zzww: 'ZZWW',
zzwwtest: 'ZZWWTEST',
gzb: 'GZB', gzb: 'GZB',
designgzb: 'GZB', designgzb: 'GZB',
heb: 'HEB', heb: 'HEB',
@ -511,12 +523,12 @@ export const ProjectCode = {
richor:'RICHOR' richor:'RICHOR'
}; };
export const BottomColumnOnlyConInfo = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'richor']; // 底部栏仅展示公司信息不展示备案号 export const BottomColumnOnlyConInfo = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'richor']; // 底部栏仅展示公司信息不展示备案号
export const GetMapListByProjectList = ['xty', 'designxty', 'gzb', 'designgzb', 'xadt', 'designxadt', 'heb', 'designheb', 'designdrts', 'drts', 'wjls', 'nty', 'designnty', 'sdy', 'designsdy', 'ntyc', 'designntyc', 'ntyl', 'designntyl', 'designbjd', 'cgy', 'designcgy', 'zzww', 'richor']; // 实训设计平台通过项目code获取地图列表的项目 export const GetMapListByProjectList = ['xty', 'designxty', 'gzb', 'designgzb', 'xadt', 'designxadt', 'heb', 'designheb', 'designdrts', 'drts', 'wjls', 'nty', 'designnty', 'sdy', 'designsdy', 'ntyc', 'designntyc', 'ntyl', 'designntyl', 'designbjd', 'cgy', 'designcgy', 'zzww','zzwwtest', 'richor']; // 实训设计平台通过项目code获取地图列表的项目
export const CaseHideProjectList = ['heb', 'designheb', 'cgy', 'designcgy']; // 案例展示隐藏的项目 export const CaseHideProjectList = ['heb', 'designheb', 'cgy', 'designcgy']; // 案例展示隐藏的项目
export const VersionBaseNoShow = ['heb', 'designheb', 'hls', 'designhls', 'drts', 'wjls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'xadt', 'designxadt']; // 登录页右下角版本开发基于不展示 export const VersionBaseNoShow = ['heb', 'designheb', 'hls', 'designhls', 'drts', 'wjls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'xadt', 'designxadt']; // 登录页右下角版本开发基于不展示
export const MainBodyNoShow = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'xadt', 'designxadt']; // 登录页右下角主体不展示 export const MainBodyNoShow = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'xadt', 'designxadt']; // 登录页右下角主体不展示
export const ProjectLoginStyleList = ['gzb', 'designgzb', 'xty', 'designxty', 'xadt', 'designxadt', 'tky', 'designtky', 'jyd', 'designjyd', 'bxkc', 'designbxkc', export const ProjectLoginStyleList = ['gzb', 'designgzb', 'xty', 'designxty', 'xadt', 'designxadt', 'tky', 'designtky', 'jyd', 'designjyd', 'bxkc', 'designbxkc',
'crsc', 'designcrsc', 'hls', 'designhls', 'drts', 'wjls', 'hyd', 'designhyd', 'nty', 'designnty', 'bjd', 'designbjd', 'sdy', 'designsdy', 'ntyc', 'designntyc', 'ntyl', 'designntyl', 'cgy', 'designcgy', 'zzww']; // 登录页样式 'crsc', 'designcrsc', 'hls', 'designhls', 'drts', 'wjls', 'hyd', 'designhyd', 'nty', 'designnty', 'bjd', 'designbjd', 'sdy', 'designsdy', 'ntyc', 'designntyc', 'ntyl', 'designntyl', 'cgy', 'designcgy', 'zzww', 'zzwwtest']; // 登录页样式
export const NoQrcodeList = ['heb', 'designheb', 'cgy', 'designcgy', 'ntyl', 'designntyl']; export const NoQrcodeList = ['heb', 'designheb', 'cgy', 'designcgy', 'ntyl', 'designntyl'];
export const NoSimulationQrCodeList = ['heb', 'bjd']; export const NoSimulationQrCodeList = ['heb', 'bjd'];
export const RegisterCodeList = ['cgy', 'designcgy']; export const RegisterCodeList = ['cgy', 'designcgy'];
@ -571,6 +583,7 @@ export const ProjectList = [
{value: 'cgy', label: '成都工业'}, {value: 'cgy', label: '成都工业'},
{value: 'wjls', label: '微机联锁'}, {value: 'wjls', label: '微机联锁'},
{value: 'zzww', label: '郑州共赢'}, {value: 'zzww', label: '郑州共赢'},
{value: 'zzwwtest', label: '郑州共赢考试'},
{value: 'richor', label: '中航锐创'} {value: 'richor', label: '中航锐创'}
]; ];
export const localPackageProject = { export const localPackageProject = {

View File

@ -23,10 +23,17 @@
:style="{'background-image': 'url('+lessonbg+')'}"> :style="{'background-image': 'url('+lessonbg+')'}">
课程:{{lessonMsg.lessonTittle}} 课程:{{lessonMsg.lessonTittle}}
</div> </div>
<div class="lessontopdivmsg"
:style="{'background-image': 'url('+lessonbg+')'}"
@click="openBack">
退出
</div>
<div class="lessontopdivmsg" <div class="lessontopdivmsg"
:style="{'background-image': 'url('+lessonbg+')'}"> :style="{'background-image': 'url('+lessonbg+')'}">
用户ID:{{lessonMsg.userId}} 用户ID:{{lessonMsg.userId}}
</div> </div>
<div class="lessontopdivmsg" <div class="lessontopdivmsg"
:style="{'background-image': 'url('+lessonbg+')'}" :style="{'background-image': 'url('+lessonbg+')'}"
v-if="lessonMsg.userJob"> v-if="lessonMsg.userJob">
@ -90,21 +97,24 @@
<div class="lessondowndivmsg" <div class="lessondowndivmsg"
:style="{'background-image': 'url('+lessonbg+')'}" :style="{'background-image': 'url('+lessonbg+')'}"
v-show = "endExam" v-show = "endExam && examMode"
@click="showResult"> @click="showResult">
考试成绩分析 考试成绩分析
</div> </div>
<div class="lessondowndivmsg" <div class="lessondowndivmsg"
:style="{'background-image': 'url('+lessonbg+')'}"> :style="{'background-image': 'url('+lessonbg+')'}"
v-show = "examMode">
考试计时:{{this.lastPlayTime}} 考试计时:{{this.lastPlayTime}}
</div> </div>
<div class="lessondowndivmsg" <div class="lessondowndivmsg"
:style="{'background-image': 'url('+lessonbg+')'}"> :style="{'background-image': 'url('+lessonbg+')'}"
v-show = "examMode">
考核步骤:{{examStatus.nowStep}}/{{examStatus.allStep}} 考核步骤:{{examStatus.nowStep}}/{{examStatus.allStep}}
</div> </div>
<div class="lessondowndivmsg" <div class="lessondowndivmsg"
:style="{'background-image': 'url('+lessonbg+')'}"> :style="{'background-image': 'url('+lessonbg+')'}"
v-show = "examMode">
考试得分:{{examStatus.lastScore}}/{{examStatus.allScore}} 考试得分:{{examStatus.lastScore}}/{{examStatus.allScore}}
</div> </div>
</div> </div>
@ -153,6 +163,7 @@
return { return {
lessonbg:JL3D_LOCAL_STATIC+"/lesson3d/lessonbg.png", lessonbg:JL3D_LOCAL_STATIC+"/lesson3d/lessonbg.png",
staticImg:JL3D_LOCAL_STATIC, staticImg:JL3D_LOCAL_STATIC,
examMode:false,
examStatus:{ examStatus:{
allScore:0, allScore:0,
nowStep:0, nowStep:0,
@ -255,7 +266,7 @@
userJob:"", userJob:"",
}; };
loadData = JSON.parse(data.data.data); loadData = JSON.parse(data.data.data);
this.examMode = loadData.setup.examMode;
if(loadData.setup.checkedRole.length == 0){ if(loadData.setup.checkedRole.length == 0){
this.showSelectJob = false; this.showSelectJob = false;
} }
@ -283,10 +294,12 @@
this.examStatus = newExamStatus; this.examStatus = newExamStatus;
}, },
lessonEnd(){ lessonEnd(){
this.endExam = true;
this.showResult();
this.examStatus.time = this.lastPlayTime; if(this.examMode == true){
this.endExam = true;
this.showResult();
this.examStatus.time = this.lastPlayTime;
}
this.stopTime(); this.stopTime();
}, },
showResult(){ showResult(){
@ -381,6 +394,9 @@
changeCameraPos(pos){ changeCameraPos(pos){
this.jl3d.changeCameraPos(pos); this.jl3d.changeCameraPos(pos);
}, },
openBack(){
history.go(-1);
},
}, },
} }

View File

@ -18,7 +18,7 @@
<script> <script>
// import { releaseOrCancel } from '@/api/lesson3d'; // import { releaseOrCancel } from '@/api/lesson3d';
import { getLesson3dDrftList,createLesson3d,updateLesson3dBasic,delLesson3d } from '@/api/jmap/lesson3d'; import { getLesson3dDrftList,createLesson3d,updateLesson3dBasic,delLesson3d,publishLesson3d } from '@/api/jmap/lesson3d';
// import { delLesson } from '@/api/jmap/lesson3d'; // import { delLesson } from '@/api/jmap/lesson3d';

View File

@ -567,6 +567,8 @@ export default {
}); });
} }
}); });
}else if(this.project === 'zzwwtest'){
this.$router.push({ path: '/design/jlmap3d/lesson3dplayer', query: {lessonId:'31'} });
} else { } else {
if (this.teacherLogin) { if (this.teacherLogin) {
this.$router.push({ path: '/info/organization/classManage?enter=teacher' }); this.$router.push({ path: '/info/organization/classManage?enter=teacher' });
@ -873,4 +875,3 @@ export default {
} }
} }
</style> </style>

View File

@ -26,6 +26,7 @@ export default {
'SDY_Joylink':'苏电院实训平台', 'SDY_Joylink':'苏电院实训平台',
'SDY_Design':'苏电院设计平台', 'SDY_Design':'苏电院设计平台',
'ZZWW_Joylink':'共赢列车仿真驾驶系统(郑州)', 'ZZWW_Joylink':'共赢列车仿真驾驶系统(郑州)',
'ZZWWTEST_Joylink':'共赢列车仿真驾驶系统(郑州)',
'NTY_Joylink':'南铁院实训平台(云平台通用版)', 'NTY_Joylink':'南铁院实训平台(云平台通用版)',
'NTY_Design':'南铁院设计平台(云平台通用版)', 'NTY_Design':'南铁院设计平台(云平台通用版)',
'NTYC_Joylink':'南铁院实训平台(云平台专用版)', 'NTYC_Joylink':'南铁院实训平台(云平台专用版)',

File diff suppressed because it is too large Load Diff