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;
rails = loadrails;
console.log(trainlisttest.group.children[0]);
// console.log(trainlisttest.group.children[0]);
trainlisttest.group.children[0].getObjectByName("C3").add(cameracctv);
}

View File

@ -79,7 +79,16 @@ export function AssetModelManager(editor,scene) {
resourceType:"三维课程",
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 = [];
@ -251,6 +260,16 @@ export function AssetModelManager(editor,scene) {
asset.mesh = object;
groupList[asset.sceneType].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();
} );
}else{

View File

@ -84,26 +84,30 @@ export function ControlManager(dom,scene,lessonData,lessonIndex) {
let loaderObj = new THREE.OBJLoader();
let pengzhuang;
let standstationPZ,stopstationPZ;
// load a resource
loaderObj.load(
// resource URL
JL3D_LOCAL_STATIC+'/lesson3d/PZ427.obj',
// called when resource is loaded
JL3D_LOCAL_STATIC+'/lesson3d/standstationPZ.obj',
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 ) {
console.log( ( xhr.loaded / xhr.total * 100 ) + '% loaded' );
},
// called when loading has errors
function ( error ) {
console.log( 'An error happened' );
}
);
this.initRoleMode = function(rMode,role){
@ -211,7 +215,7 @@ export function ControlManager(dom,scene,lessonData,lessonIndex) {
this.init = function(actions){
worldOctree.fromGraphNode( pengzhuang );
worldOctree.fromGraphNode( standstationPZ );
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){
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;
if(lessonData.lessonProgress[nowLessonIndex].changeCamera == true){
@ -526,6 +542,8 @@ export function ControlManager(dom,scene,lessonData,lessonIndex) {
console.log(roleMode);
console.log(eventTrigger);
console.log("----------------------------");
if(actions.length>0 && roleMode){
scope.eventHitMode = true;
for(let i=0;i<actions.length;i++){

View File

@ -80,6 +80,16 @@ export function AssetModelManager(editor,scene) {
resourceType:"三维课程",
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;
groupList[asset.sceneType].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();
} );
}else{

View File

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

View File

@ -45,6 +45,16 @@ export const loginInfo = {
navigationMarginLeft: '140px',
systemType: '011'
},
zzwwtest:{
title: '共赢列车仿真驾驶系统',
loginPath: '/login?project=zzwwtest',
loginParam: 'ZZWWTEST',
loginTitle: '空串',
logoWidth: '140px',
navigationLogoWidth: '120px',
navigationMarginLeft: '140px',
systemType: '011'
},
bjd: {
title: '城市轨道交通列车运行智慧辅助系统',
loginPath: '/login?project=bjd',
@ -442,6 +452,7 @@ export const loginInfo = {
export const ProjectIcon = {
xty: FaviconXty,
zzww: FaviconZzww,
zzwwtest: FaviconZzww,
login: Favicon,
design: Favicon,
designxty: FaviconXty,
@ -487,6 +498,7 @@ export const ProjectCode = {
xty: 'XTY',
designxty: 'XTY',
zzww: 'ZZWW',
zzwwtest: 'ZZWWTEST',
gzb: 'GZB',
designgzb: 'GZB',
heb: 'HEB',
@ -511,12 +523,12 @@ export const ProjectCode = {
richor:'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 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 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 NoSimulationQrCodeList = ['heb', 'bjd'];
export const RegisterCodeList = ['cgy', 'designcgy'];
@ -571,6 +583,7 @@ export const ProjectList = [
{value: 'cgy', label: '成都工业'},
{value: 'wjls', label: '微机联锁'},
{value: 'zzww', label: '郑州共赢'},
{value: 'zzwwtest', label: '郑州共赢考试'},
{value: 'richor', label: '中航锐创'}
];
export const localPackageProject = {

View File

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

View File

@ -18,7 +18,7 @@
<script>
// 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';

View File

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

View File

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

File diff suppressed because it is too large Load Diff