修改三维课程编辑界面逻辑,增加三维驾驶设备柜

This commit is contained in:
sunzhenyu 2021-08-27 18:06:08 +08:00
parent 128f00772d
commit bdb734a5e4
31 changed files with 2233 additions and 37 deletions

View File

@ -988,6 +988,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
}
function standupdate(data) {
code = data.code;
if ( actions[code]) {
if (data.open == '1') {
actions[code].status = '1';

View File

@ -13,6 +13,7 @@ export function AssetModelManager(editor,scene) {
let groupList = [];
groupList["standstation"] = new THREE.Group();
groupList["stopstation"] = new THREE.Group();
groupList["occ"] = new THREE.Group();
groupList["device"] = new THREE.Group();
groupList["xl"] = new THREE.Group();
groupList["dc"] = new THREE.Group();
@ -23,6 +24,13 @@ export function AssetModelManager(editor,scene) {
planeDevice.rotation.x = -Math.PI/2;
groupList["device"].add(planeDevice);
let geometryXl = new THREE.PlaneGeometry( 100, 100, 32 );
let materialXl = new THREE.MeshBasicMaterial( {color: 0xffffff, side: THREE.DoubleSide} );
let planeXl = new THREE.Mesh( geometryXl, materialXl );
planeXl.rotation.x = -Math.PI/2;
groupList["xl"].add(planeXl);
this.loadAsset = [];
this.staticAsset = [];
@ -91,20 +99,34 @@ export function AssetModelManager(editor,scene) {
sceneType:"stopstation",
};
scope.staticAsset['occ'] = {
modelId:'occ',
packageName:"occ大厅",
url:"/MODEL/2021-08-23/203-65635.FBX",
mesh:"",
assetType:'onlineasset',
isUse:true,
resourceType:"三维课程",
sceneType:"occ",
};
//场景中可触发事件模型
this.lessonTriggerList = [];
scope.lessonTriggerList["standstation"] = [];
scope.lessonTriggerList["stopstation"] = [];
scope.lessonTriggerList["occ"] = [];
scope.lessonTriggerList["device"] = [];
scope.lessonTriggerList["xl"] = [];
scope.lessonTriggerList["dc"] = [];
this.changeSceneGroup = function(groupType){
console.log(groupType);
console.log(editor.nowSceneType);
console.log(scope.lessonTriggerList[editor.nowSceneType]);
// console.log(groupType);
// console.log(editor.nowSceneType);
// console.log(scope.lessonTriggerList[editor.nowSceneType]);
editor.nowSceneType = groupType;
scene.remove(this.otherModel);
this.otherModel = groupList[groupType];

View File

@ -113,6 +113,7 @@ export function Lesson3dEditor(dom,lessonData) {
this.changeIndex = function(nowIndex){
lessonIndex = nowIndex;
scope.nowSceneType = lessonData.lessonProgress[lessonIndex].progressScene;
assetModelManager.changeSceneGroup(scope.nowSceneType);
// if(lessonData.lessonProgress[lessonIndex].roleName == nowRole){
// controlManager.initControlMode(lessonIndex);
// controlManager.initRoleMode(true,nowRole);

View File

@ -119,6 +119,75 @@ export function JobPaneData() {
},
],
},
{
name:"列车司机",
value:"lcsj",
text:"",
picurl:"",
controlList:[
//联控
{
name:"联控",
data:[],
},
//动作
{
name:"动作",
data:[],
},
//口呼
{
name:"口呼",
data:[],
},
],
},
{
name:"故障列车司机",
value:"gzlcsj",
text:"",
picurl:"",
controlList:[
//联控
{
name:"联控",
data:[],
},
//动作
{
name:"动作",
data:[],
},
//口呼
{
name:"口呼",
data:[],
},
],
},
{
name:"救援列车司机",
value:"jylcsj",
text:"",
picurl:"",
controlList:[
//联控
{
name:"联控",
data:[],
},
//动作
{
name:"动作",
data:[],
},
//口呼
{
name:"口呼",
data:[],
},
],
},
{
name:"站长",
value:"zz",
@ -189,7 +258,7 @@ export function JobPaneData() {
],
},
{
name:"生产调度",
name:"调度",
value:"scdd",
text:"",
picurl:"",

View File

@ -56,16 +56,11 @@
import RightPane from '@/views/jlmap3d/drive/drivecontrol/rightpane';
import TopRightPane from '@/views/jlmap3d/drive/drivecontrol/toprightpane';
import StompClient from '@/utils/sock';
import { creatSubscribe, clearSubscribe, displayTopic, screenTopic } from '@/utils/stomp';
import { bindSimulationTrain,getSimulationTrainlistNew,getSimulationMembersNew,trainSimulationEb,trainSimulationForce,trainSimulationGear} from '@/jlmap3d/jl3ddrive/drivecontrol/simulation.js';
import { getSimulationInfoNew } from '@/api/simulation';
import { tuoguan3ddrive } from '@/api/jlmap3d/load3ddata';
import { getToken } from '@/utils/auth';
// import Vue from 'vue';
// import StompClient from '@/utils/stompclient.js';
import axios from 'axios';
export default {
name: 'DriveControl',
@ -132,7 +127,6 @@ import axios from 'axios';
window.updateDriverTrust = this.updateDriverTrust;
window.updateDriveValue = this.updateDriveValue;
// this.teststomp = new StompClient();
},

View File

@ -123,14 +123,14 @@
<img class="buttonimg" :style="urgestopStyle" :src="urgestopimg" />
<div class="buttontext">{{ $t('jlmap3d.emergencyBraking') }}</div>
</div>
<div id="doorpick" class="panebutton2" style="bottom:6%;left:85%;">
<!-- <div id="doorpick" class="panebutton2" style="bottom:6%;left:85%;">
<img class="buttonimg2" :src="zuoimg" />
<img class="buttonimg2" :src="niuimg" :style="{transform:doordirecttou}" @touchstart='doordirecttouchstart' @touchmove='doordirecttouchmove' @touchend='doordirecttouchend'/>
<div class="tfbutton" style="font-size:1px;top:13px;left:5px;">{{ $t('jlmap3d.leftSide') }}</div>
<div class="tfbutton" style="font-size:1px;top:8px;left:33px;">{{ $t('jlmap3d.location0') }}</div>
<div class="tfbutton" style="font-size:1px;top:13px;left:50px;">{{ $t('jlmap3d.rightSide') }}</div>
<div class="buttontext2">{{ $t('jlmap3d.doorSideChoose') }}</div>
</div>
</div> -->
</div>
@ -140,9 +140,9 @@
<script>
import Vue from 'vue';
// import { sendSimulationCommand } from '@/api/simulation.js';
import { trainSimulationDriveMode, trainSimulationAto ,trainSimulationAtp,trainSimulationChangeHead,trainSimulationDoorControl,trainSimulationEb } from '@/jlmap3d/jl3ddrive/drivecontrol/simulation.js';
import { trainSimulationDriveMode, trainSimulationAto ,trainSimulationAtp,trainSimulationChangeHead,trainSimulationDoorControl,trainSimulationEb } from '@/jlmap3d/jl3ddrive/drivecontrol/simulation.js';
import { JL3D_LOCAL_STATIC } from '@/api/jlmap3d/assets3d.js';
import { JL3D_LOCAL_STATIC } from '@/api/jlmap3d/assets3d.js';
export default {
name: 'TopRightPane',
@ -486,7 +486,7 @@
});
},
updatabuttonlight: function (data){
console.log(data);
// console.log(data);
// if(data.runLevel){
// // this.runLevel = data.runLevel;
// if(data.runLevel == "CBTC"){

View File

@ -0,0 +1,647 @@
import { JL3D_LOCAL_STATIC } from '@/api/jlmap3d/assets3d.js';
export function EbUiData() {
let scope = this;
this.switchList = [
//switchListtop
{
name:"ATON",
label:"ATO",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"ATPN",
label:"ATP",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"BCN",
label:"制动控制",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"BVN",
label:"司控器制动控制",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"CABN",
label:"司机室激活",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"CEHECN",
label:"司机室电热设备控制",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"CLN",
label:"司机室灯",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"CMCN",
label:"空压机控制",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"CVSN",
label:"CVS控制",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"DACUN",
label:"广播控制盒",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"DC24M1N",
label:"DC24V电源1",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"DC24M2N",
label:"DC24V电源2",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"DCN",
label:"车门控制",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"DFVN",
label:"蓄电池电压表",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"EBCN",
label:"紧急制动控制",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"FPCN",
label:"废排风机控制",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"HMIN",
label:"信号显示屏",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"PACN",
label:"PA司机室",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"PANCN",
label:"受电弓控制",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"PCN",
label:"司控器牵引控制",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"PEHCN",
label:"客室电加热器控制",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"EHVN",
label:"备用",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
//switchListdown
{
name:"PISCN",
label:"司机室信显",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"PLCN",
label:"客室照明控制",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"RBN",
label:"雨刷",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"RCSN",
label:"信号无线",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"RN",
label:"车载无线电台",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"SILN",
label:"信号灯",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"TCMSDPN",
label:"TCMS显示屏",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"TCMSN",
label:"TCMS",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"WFLN",
label:"轮缘润滑装置",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"CLBPN",
label:"导光板",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"HLN",
label:"前照灯",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"MSRN",
label:"司控器电位计",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"RPLN",
label:"防护灯",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"VSN",
label:"网压传感器",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"备用",
label:"备用",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"CVN",
label:"司机室通风",
light:"#6C6C6C",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"4.5%",
},
{
name:"SLPN",
label:"漏电保护",
light:"#6C6C6C",
lighttype:"non",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close1.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"9%",
},
{
name:"EHGN",
label:"电热玻璃",
light:"#6C6C6C",
lighttype:"two",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close2.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"9%",
},
{
name:"CEHN",
label:"司机室电加热",
light:"#6C6C6C",
lighttype:"two",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close2.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%",
width:"9%",
},
];
this.buttonList = [
{
name:"BNBB",
label:"制动不缓解旁路",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%",
width:"11%",
},
{
name:"PABB",
label:"停放制动旁路",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%",
width:"11%",
},
{
name:"DCBB",
label:"门安全旁路",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%",
width:"11%",
},
{
name:"DSBB",
label:"门选择旁路",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%",
width:"11%",
},
{
name:"DMBB",
label:"警惕旁路",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%",
width:"11%",
},
{
name:"TOWB",
label:"回送",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%",
width:"11%",
},
{
name:"CFB",
label:"换端",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/green.png",
top:"5%",
width:"11%",
},
{
name:"BATOB",
label:"蓄电池断",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/red.png",
top:"5%",
width:"11%",
},
{
name:"DMTB",
label:"警惕测试",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/yellow.png",
top:"5%",
width:"11%",
},
{
name:"ADDCB",
label:"ADD切除",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%",
width:"11%",
},
{
name:"BACKMB",
label:"后背模式",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%",
width:"11%",
},
{
name:"EBSB",
label:"紧急制动环路短接",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%",
width:"11%",
},
{
name:"E3B",
label:"紧急按钮旁路",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%",
width:"11%",
},
{
name:"LD1BB",
label:"左门1km/h旁路",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%",
width:"11%",
},
{
name:"RD1BB",
label:"右门1km/h旁路",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%",
width:"11%",
},
{
name:"",
label:"备用",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%",
width:"11%",
},
{
name:"BATCB",
label:"蓄电池合",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/green.png",
top:"5%",
width:"11%",
},
{
name:"FRB",
label:"初次升弓",
lighttype:"normal",
status:false,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/green.png",
top:"5%",
width:"11%",
},
];
}

View File

@ -0,0 +1,303 @@
<template>
<div id="equipbox" class="equipbox" v-show="showEquipbox">
<div id="ebtop" class="ebtop" >
<div class="ebtopbutton"
v-for="(switchbt,switchindex) in switchList"
:style="{width:switchbt.width,top:switchbt.top}">
<div :style="{height:'50%',backgroundImage: 'url(' + switchbt.bgpic + ')', backgroundSize: '100% 100%',backgroundRepeat: 'no-repeat'}" >
<div :style="{height:'35%'}"/>
<div :style="{height:'10%'}" >
{{switchbt.name}}
</div>
<div :style="{width:'100%',height:'5%'}">
<div v-if="switchbt.lighttype === 'normal'" :style="{marginLeft:'35%',width:'30%',height:'100%',backgroundColor:switchbt.light}" />
<div v-if="switchbt.lighttype === 'two'" :style="{width:'100%',height:'100%',display:'inline-block'}">
<div :style="{marginLeft:'20%',width:'20%',height:'100%',backgroundColor:switchbt.light,float:'left'}" />
<div :style="{marginLeft:'20%',width:'20%',height:'100%',backgroundColor:switchbt.light,float:'left'}" />
</div>
</div>
<div @click="switchChange(switchbt)" :style="{height:'50%',backgroundImage: 'url(' +switchbt.statuspic+')', backgroundSize: '100% 100%',backgroundRepeat: 'no-repeat'}" >
</div>
</div>
<div :style="{height:'40%'}" >
<div :style="{height:'20%'}"/>
<div :style="{height:'40%',backgroundColor:'#000',color:' #fff'}">
{{switchbt.label}}
</div>
<div :style="{height:'20%',backgroundColor:'#FFFF37',color:' #000'}">
{{switchbt.name}}
</div>
</div>
</div>
</div>
<div id="ebmid" class="ebmid" >
<div :style="{position:'absolute',left:'10%',width:'15%',height:'100%'}" >
<div :style="{position:'absolute',width:'90%',left:'5%',height:'80%',backgroundImage: 'url(' +yibiaobg+')', backgroundSize: '100% 100%',backgroundRepeat: 'no-repeat'}" >
</div>
<div style="font-size:8px;" :style="{width:'100%',height:'40%',position:'absolute',top:'80%'}" >
<div :style="{height:'15%',backgroundColor:'#000',color:' #fff'}">
接触网/蓄电池电压表
</div>
<div :style="{height:'15%',backgroundColor:'#FFFF37',color:' #000'}">
DFV
</div>
</div>
</div>
<div id="doorpick" class="ebpanebutton2" style="top:33%;left:40%;">
<img class="ebbuttonimg2" :src="zuoimg" />
<img class="ebbuttonimg2" :src="niuimg"/>
<div class="tfbutton" style="font-size:1px;top:13px;left:5px;">{{ $t('jlmap3d.leftSide') }}</div>
<div class="tfbutton" style="font-size:1px;top:5px;left:33px;">{{ $t('jlmap3d.location0') }}</div>
<div class="tfbutton" style="font-size:1px;top:13px;left:50px;">{{ $t('jlmap3d.rightSide') }}</div>
<div style="font-size:10px;" :style="{position:'absolute',width:'70px',height:'20px',position:'absolute',top:'70px',left:'5px'}" >
<div :style="{height:'10px',backgroundColor:'#000',color:' #fff'}">
废排风机
</div>
<div :style="{height:'10px',backgroundColor:'#FFFF37',color:' #000'}">
FPS
</div>
</div>
</div>
<div id="doorpick" class="ebpanebutton2" style="top:33%;left:50%;">
<img class="ebbuttonimg2" :src="zuoimg" />
<img class="ebbuttonimg2" :src="niuimg"/>
<div class="tfbutton" style="font-size:1px;top:13px;left:5px;">{{ $t('jlmap3d.leftSide') }}</div>
<div class="tfbutton" style="font-size:1px;top:5px;left:33px;">{{ $t('jlmap3d.location0') }}</div>
<div class="tfbutton" style="font-size:1px;top:13px;left:50px;">{{ $t('jlmap3d.rightSide') }}</div>
<div style="font-size:10px;" :style="{position:'absolute',width:'70px',height:'20px',position:'absolute',top:'70px',left:'5px'}" >
<div :style="{height:'10px',backgroundColor:'#000',color:' #fff'}">
客室电加热
</div>
<div :style="{height:'10px',backgroundColor:'#FFFF37',color:' #000'}">
PEHS
</div>
</div>
</div>
<div id="doorpick" class="ebpanebutton2" style="top:33%;left:60%;">
<img class="ebbuttonimg2" :src="zuoimg" />
<img class="ebbuttonimg2" :src="niuimg"/>
<div class="tfbutton" style="font-size:1px;top:13px;left:5px;">{{ $t('jlmap3d.leftSide') }}</div>
<div class="tfbutton" style="font-size:1px;top:5px;left:33px;">{{ $t('jlmap3d.location0') }}</div>
<div class="tfbutton" style="font-size:1px;top:13px;left:50px;">{{ $t('jlmap3d.rightSide') }}</div>
<div style="font-size:10px;" :style="{position:'absolute',width:'70px',height:'20px',position:'absolute',top:'70px',left:'5px'}" >
<div :style="{height:'10px',backgroundColor:'#000',color:' #fff'}">
司机室电加热
</div>
<div :style="{height:'10px',backgroundColor:'#FFFF37',color:' #000'}">
CEHS
</div>
</div>
</div>
<div id="doorpick" class="ebpanebutton2" style="top:33%;left:70%;">
<img class="ebbuttonimg2" :src="zuoimg" />
<img class="ebbuttonimg2" :src="niuimg"/>
<div class="tfbutton" style="font-size:1px;top:13px;left:5px;">{{ $t('jlmap3d.leftSide') }}</div>
<div class="tfbutton" style="font-size:1px;top:5px;left:33px;">{{ $t('jlmap3d.location0') }}</div>
<div class="tfbutton" style="font-size:1px;top:13px;left:50px;">{{ $t('jlmap3d.rightSide') }}</div>
<div style="font-size:10px;" :style="{position:'absolute',width:'70px',height:'20px',position:'absolute',top:'70px',left:'5px'}" >
<div :style="{height:'10px',backgroundColor:'#000',color:' #fff'}">
ATP切除
</div>
<div :style="{height:'10px',backgroundColor:'#FFFF37',color:' #000'}">
ATPCS
</div>
</div>
</div>
<div id="doorpick" class="ebpanebutton2" style="top:33%;left:80%;">
<img class="ebbuttonimg2" :src="zuoimg" />
<img class="ebbuttonimg2" :src="niuimg"/>
<div class="tfbutton" style="font-size:1px;top:13px;left:5px;">{{ $t('jlmap3d.leftSide') }}</div>
<div class="tfbutton" style="font-size:1px;top:5px;left:33px;">{{ $t('jlmap3d.location0') }}</div>
<div class="tfbutton" style="font-size:1px;top:13px;left:50px;">{{ $t('jlmap3d.rightSide') }}</div>
<div style="font-size:10px;" :style="{position:'absolute',width:'70px',height:'20px',position:'absolute',top:'70px',left:'5px'}" >
<div :style="{height:'10px',backgroundColor:'#000',color:' #fff'}">
空压机模式
</div>
<div :style="{height:'10px',backgroundColor:'#FFFF37',color:' #000'}">
CMCS
</div>
</div>
</div>
</div>
<div id="ebdown" class="ebdown" >
<div class="ebdownbutton"
v-for="(buttonbt,switchindex) in buttonList"
:style="{width:buttonbt.width,top:buttonbt.top}">
<div :style="{height:'70%',backgroundImage: 'url(' + buttonbt.statuspic + ')', backgroundSize: '100% 100%',backgroundRepeat: 'no-repeat'}" >
</div>
<div :style="{height:'40%'}" >
<div :style="{height:'20%'}"/>
<div :style="{height:'40%',backgroundColor:'#000',color:' #fff'}">
{{buttonbt.label}}
</div>
<div :style="{height:'20%',backgroundColor:'#FFFF37',color:' #000'}">
{{buttonbt.name}}
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { JL3D_LOCAL_STATIC } from '@/api/jlmap3d/assets3d.js';
import { EbUiData } from '@/views/jlmap3d/drive/equipbox/ebuidata';
export default {
name: 'EquipBox',
components: {
},
data() {
return {
showEquipbox:true,
switchList:[],
buttonList:[],
yibiaobg:JL3D_LOCAL_STATIC+"/jl3d/equipbox/DYB3.png",
zuoimg:JL3D_LOCAL_STATIC+"/jl3d/control/zuo.png",
niuimg:JL3D_LOCAL_STATIC+"/jl3d/control/niu.png",
}
},
computed: {
},
watch: {
},
mounted() {
let initUiData = new EbUiData();
this.switchList = initUiData.switchList;
this.buttonList = initUiData.buttonList;
},
beforeDestroy() {
},
methods: {
switchChange: function(switchbt){
console.log(switchbt);
if(switchbt.status == true){
switchbt.status = false;
switchbt.light = "#6C6C6C";
if(switchbt.lighttype == "normal"){
switchbt.statuspic = JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png";
}else if(switchbt.lighttype == "non"){
switchbt.statuspic = JL3D_LOCAL_STATIC+"/jl3d/equipbox/close1.png";
}else if(switchbt.lighttype == "two"){
switchbt.statuspic = JL3D_LOCAL_STATIC+"/jl3d/equipbox/close2.png";
}
}else{
switchbt.status = true;
switchbt.light = "#FF2D2D";
if(switchbt.lighttype == "normal"){
switchbt.statuspic = JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png";
}else if(switchbt.lighttype == "non"){
switchbt.statuspic = JL3D_LOCAL_STATIC+"/jl3d/equipbox/open1.png";
}else if(switchbt.lighttype == "two"){
switchbt.statuspic = JL3D_LOCAL_STATIC+"/jl3d/equipbox/open2.png";
}
}
}
},
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
@import "src/styles/mixin.scss";
.equipbox {
position: absolute;
width: 40%;
height: 90%;
top:10%;
left:30%;
background-color: #fff;
border-radius: 18px;
border:solid 2px #000;
z-index: 5;
}
.ebtop{
position:absolute;
width:100%;
height:45%;
top:1%;
left:0.5%;
}
.ebtopbutton{
height:40%;
float: left;
// position:relative;
display: inline-block;
font-size: 8px;
text-align: center;
// position: relative;
}
.ebmid{
position:absolute;
width:100%;
height:25%;
top:45%;
text-Align:center;
}
.ebdown{
position:absolute;
width:100%;
height:30%;
top:70%;
}
.ebdownbutton{
height:40%;
float: left;
// position:relative;
display: inline-block;
font-size: 8px;
text-align: center;
}
.ebpanebutton2{
height: 100px;
width: 80px;
position: absolute;
text-align: center;
cursor:pointer;
}
.ebbuttonimg2{
top:0;
left:0px;
position: absolute;
height: 80px;
width: 80px;
}
.tfbutton{
color:#000000;
font-size: 1px;
position:absolute;
}
</style>

View File

@ -10,6 +10,8 @@
<el-button-group>
<!-- <el-button type="primary" @click="raystand">站台选择</el-button> -->
<el-button type="primary" @click="equipboxplane">{{ equipboxmsg }}</el-button>
<el-button type="primary" @click="cctvplane">{{ cctvbuttonmsg }}</el-button>
<el-button type="primary" @click="showmmiplane">{{ showbuttonmmimsg }}</el-button>
<el-button type="primary" @click="showtmsplane">{{ showbuttontmsmsg }}</el-button>
@ -35,6 +37,7 @@
<Drive-Mmi v-if="mmishow" ref="mmiui" />
<Drive-Tms v-if="tmsshow" ref="tmsui"/>
<Drive-Control v-if="dcontrolshow" ref="dcontrol" @warningmsg="warningmsg" @warningmsgoff="warningmsgoff" />
<Equip-Box v-if="equipboxshow" />
</div>
</template>
@ -61,13 +64,16 @@ import DriveMmi from '@/views/jlmap3d/drive/sceneview/mmiview';
import DriveTms from '@/views/jlmap3d/drive/sceneview/tmsview';
import DriveControl from '@/views/jlmap3d/drive/drivecontrol/drivecontrol';
import EquipBox from '@/views/jlmap3d/drive/equipbox/equipbox';
var train;
export default {
name: 'Jl3dDrive',
components: {
DriveMmi,
DriveTms,
DriveControl
DriveControl,
EquipBox
},
data() {
return {
@ -84,6 +90,7 @@ export default {
jlmap3d: null,
selectmodel: null,
cctvshow:true,
equipboxmsg:"设备柜——隐藏",
cctvbuttonmsg: this.$t('jlmap3d.surveillanceHidden'),
mmishow: false,
tmsshow: false,
@ -93,6 +100,7 @@ export default {
// trainnum: '',
// stoptimes: '',
dcontrolshow: true,
equipboxshow:false,
msgshow:false,
controlmsg:"不能选择其它列车",
@ -319,6 +327,16 @@ export default {
datanew(){
this.dcontrolshow = true;
},
equipboxplane(){
if (this.equipboxshow == true) {
this.equipboxmsg = "设备柜——隐藏";
this.equipboxshow = false;
} else {
this.equipboxmsg = "设备柜——显示";
this.equipboxshow = true;
}
},
cctvplane() {
if (this.cctvshow == true) {
this.cctvbuttonmsg = this.$t('jlmap3d.surveillanceHidden');

View File

@ -10,8 +10,12 @@
<el-option label="信号机贴图" value="textureSignal"></el-option>
<el-option label="单体设备贴图" value="textureDevice"></el-option>
<el-option label="小程序大铁贴图" value="textureRailwayWx"></el-option>
<el-option label="三维课程图片" value="textureLesson"></el-option>
</el-select>
</el-form-item>
<el-form-item label="图片组名">
<el-input v-model="form.deviceType"></el-input>
</el-form-item>
<el-form-item label="所属项目">
<el-input v-model="form.line"></el-input>
</el-form-item>
@ -105,7 +109,7 @@ export default {
let data = {
packageName:this.form.packageName ,
resourceType:this.form.resourceType,
deviceType:'',
deviceType:this.form.deviceType,
fileType:'texture',
remarks:this.form.remarks,
line:this.form.line,

View File

@ -30,21 +30,23 @@
<el-tab-pane label="图片资源列表" name="picasset">
<el-tabs v-model="activeName" class="activediv" type="card" @tab-click="handleClick" >
<el-tab-pane label="图片资源列表" name="picasset">
<el-tab-pane v-for="picAssets in picAssetList" label="图片资源列表" name="picasset">
picAssets
<draggable v-model="picAssetList" group="picasset" @start="drag=true" @end="drag=false">
<div class="progressdiv"
v-for="item in picAssets" @click="changePicUrl($event,item)">
<div class="progressdivimg"
:style="{'background-image': 'url('+netStatic+item.url+')'}"/>
<div class="progressdivtext">{{item.packageName}}</div>
</div>
</draggable>
</el-tab-pane>
</el-tabs>
<draggable v-model="picAssetList" group="picasset" @start="drag=true" @end="drag=false">
<div class="progressdiv"
v-for="item in picAssetList" @click="changePicUrl($event,item)">
<div class="progressdivimg"
:style="{'background-image': 'url('+netStatic+item.url+')'}"/>
<div class="progressdivtext">{{item.packageName}}</div>
</div>
</draggable>
<!-- <Assets-Model></Assets-Model> -->
</el-tab-pane>
@ -104,9 +106,20 @@
console.log(error);
});
getMap3dModelData("textureDevice").then(netdata => {
getMap3dModelData("textureLesson").then(netdata => {
console.log(netdata);
this.picAssetList = netdata.data;
let newPicAssets = [];
for(let i=0;i<netdata.data.length;i++){
if(Array.isArray(newPicAssets[netdata.data[i].deviceType])){
newPicAssets[netdata.data[i].deviceType].push( netdata.data[i]);
}else{
newPicAssets[netdata.data[i].deviceType] = [];
newPicAssets[netdata.data[i].deviceType].push( netdata.data[i]);
}
}
console.log(newPicAssets);netdata.data
this.picAssetList = newPicAssets;
}).catch(error => {
console.log(error);
});

View File

@ -33,6 +33,7 @@
<el-form-item label="场景角色设置:">
<el-select v-model="lessonData.lessonData.lessonProgress[lessonEditIndex].roleName" :disabled="!lessonData.lessonData.lessonProgress[lessonEditIndex].roleUse" placeholder="请选择步骤归属角色">
<el-option label="空角色" value="kong"></el-option>
<el-option v-for="jobItem in jobDataList" :label="jobItem.name" :value="jobItem.value" :key="jobItem.value"></el-option>
</el-select>
@ -160,7 +161,7 @@
<el-tab-pane label="组件属性" name="toolproperty" v-if="lessonData.lessonData.lessonProgress[lessonEditIndex]">
<el-form>
<el-form-item label="标题:" v-if="selected.tittle" >
<el-form-item label="标题:" >
<el-input v-model="selected.tittle" ></el-input>
</el-form-item>
@ -174,7 +175,7 @@
<el-input v-model="selected.sceneId" ></el-input>
</el-form-item>
<el-form-item label="内容:" v-if="selected.text">
<el-form-item label="内容:" >
<el-input v-model="selected.text" ></el-input>
</el-form-item>
@ -300,6 +301,10 @@
label:"停车场",
value:"stopstation",
},
{
label:"调度大厅",
value:"occ",
},
{
label:"单体设备",
value:"device",

View File

@ -32,17 +32,17 @@
<Step-Tips
:lessonData='lessonData'
:lessonEditIndex='lessonEditIndex'
v-show="lessonTools[0].isShow && lessonData.lessonData.lessonProgress[lessonEditIndex].progressScene == 'standstation'">
v-show="lessonTools[0].isShow ">
</Step-Tips>
<Process-Log
v-show="lessonTools[1].isShow && lessonData.lessonData.lessonProgress[lessonEditIndex].progressScene == 'standstation'">
v-show="lessonTools[1].isShow ">
</Process-Log>
<Explain-Pane
:lessonData='lessonData'
:lessonEditIndex='lessonEditIndex'
v-show="lessonTools[2].isShow && lessonData.lessonData.lessonProgress[lessonEditIndex].progressScene == 'standstation'">
v-show="lessonTools[2].isShow ">
</Explain-Pane>
<Job-Pane
@ -50,10 +50,10 @@
:lessonData='lessonData'
:lessonEditIndex='lessonEditIndex'
ref="jobpane"
v-show="lessonTools[3].isShow && lessonData.lessonData.lessonProgress[lessonEditIndex].progressScene == 'standstation'">
v-show="lessonTools[3].isShow ">
</Job-Pane>
<Tool-Bar v-show="lessonTools[4].isShow && lessonData.lessonData.lessonProgress[lessonEditIndex].progressScene == 'standstation'"></Tool-Bar>
<Tool-Bar v-show="lessonTools[4].isShow "></Tool-Bar>
<div id="lesson3ddraw" class="lesson3ddraw">
</div>

View File

@ -63,6 +63,7 @@
top:0;
border-radius:10px;
border:solid 2px #000;
color:#fff;
z-index:1;
}
.stepstipstittle{

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

1118
static/lesson3d/occPZ.obj Normal file

File diff suppressed because it is too large Load Diff