Merge remote-tracking branch 'origin/test' into master2

This commit is contained in:
fan 2021-06-24 18:19:00 +08:00
commit 5a02b528c3
40 changed files with 1736 additions and 923 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -49,11 +49,13 @@ export default class alarm extends Group {
setStatus(state) {
// domid还是写在了alarm里面 待优化
const audioDom = document.querySelector('#buzzer');
if (state && state.on) {
audioDom.play().catch(e=>{throw e})
} else if (state && !state.on) {
audioDom.pause()
const audioDom = document.querySelector(`#buzzer_${this.model.code}`);
if (audioDom) {
if (state && state.on) {
audioDom.play().catch(e=>{throw e})
} else if (state && !state.on) {
audioDom.pause()
}
}
}
}

View File

@ -14,176 +14,331 @@ export function Moveanimate(main){
this.status = true;
//当前动画模型
this.nowmodelname = undefined;
//定义屏蔽门零件动画
this.initDoorAnima = function(animaModel){
scope.animatelist[animaModel.animacode+"chaijie"] = [];
scope.animatelist[animaModel.animacode+"fuwei"] = [];
for(let i=0,leni=animaModel.children.length;i<leni;i++){
if(animaModel.children[i].name == "SJZZ"){
let points1 = [];
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+4,animaModel.children[i].position.z+10));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"dizuoon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+4,animaModel.children[i].position.z+10));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"dizuooff",points2,0.5,true,0);
}
if(animaModel.children[i].name == "HLGJZ"){
let points1 = [];
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+4,animaModel.children[i].position.z+8));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"Lxingon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+4,animaModel.children[i].position.z+8));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"Lxingoff",points2,0.5,true,0);
}
if(animaModel.children[i].name == "HLGJY"){
let points1 = [];
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+4,animaModel.children[i].position.z+8));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"jiaoxingxiantieon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+4,animaModel.children[i].position.z+8));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"jiaoxingxiantieoff",points2,0.5,true,0);
}
if(animaModel.children[i].name == "PDJ"){
let points1 = [];
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+4,animaModel.children[i].position.z+6));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"zhongchuipianon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(animaModel.children[i].position.xx,animaModel.children[i].position.y+4,animaModel.children[i].position.z+6));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"zhongchuipianoff",points2,0.5,true,0);
}
if(animaModel.children[i].name == "PDJ1"){
let points1 = [];
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+4,animaModel.children[i].position.z+6));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"laganon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+4,animaModel.children[i].position.z+6));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"laganoff",points2,0.5,true,0);
}
if(animaModel.children[i].name == "HLZZZ"){
let points1 = [];
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+4,animaModel.children[i].position.z+4));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"dongjiedianzhouon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+4,animaModel.children[i].position.z+4));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"dongjiedianzhouoff",points2,0.5,true,0);
}
if(animaModel.children[i].name == "HLZZY"){
let points1 = [];
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+4,animaModel.children[i].position.z+4));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"neibuon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+4,animaModel.children[i].position.z+4));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"neibuoff",points2,0.5,true,0);
}
if(animaModel.children[i].name == "CLPD"){
let points1 = [];
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+6,animaModel.children[i].position.z+4));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"jiedianon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+6,animaModel.children[i].position.z+4));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"jiedianoff",points2,0.5,true,0);
}
if(animaModel.children[i].name == "LCB"){
let points1 = [];
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+8,animaModel.children[i].position.z+2));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"yapianon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+8,animaModel.children[i].position.z+2));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"yapianoff",points2,0.5,true,0);
}
if(animaModel.children[i].name == "DCU"){
let points1 = [];
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+8,animaModel.children[i].position.z+2));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"fanghuozhaoon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+8,animaModel.children[i].position.z+2));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"fanghuozhaooff",points2,0.5,true,0);
}
}
// let points = [];
// points.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
// points.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
// scope.initanimate(animaModel.children[i],animaModel.name+"select1",points,true);
let modelorderlist = [];
modelorderlist[animaModel.animacode] = [
{name:"SJZZ",pos:[0,4,10]},
{name:"HLGJZ",pos:[0,4,8]},
{name:"HLGJY",pos:[0,4,8]},
{name:"PDJ",pos:[0,4,6]},
{name:"PDJ1",pos:[0,4,6]},
{name:"HLZZZ",pos:[0,4,4]},
{name:"HLZZY",pos:[0,4,4]},
{name:"CLPD",pos:[0,6,4]},
{name:"LCB",pos:[0,8,2]},
{name:"DCU",pos:[0,8,2]},
];
scope.animatelist[animaModel.animacode+"on"] = [];
scope.animatelist[animaModel.animacode+"off"] = [];
for(let i=0,leni=modelorderlist[animaModel.animacode].length;i<leni;i++){
let orderdata = modelorderlist[animaModel.animacode];
let modelon = animaModel.getObjectByName(orderdata[i].name);
// modelon.helpbox = undefined;
let pointson = [];
pointson.push(new THREE.Vector3(modelon.position.x,modelon.position.y,modelon.position.z));
pointson.push(new THREE.Vector3(modelon.position.x+orderdata[i].pos[0],modelon.position.y+orderdata[i].pos[1],modelon.position.z+orderdata[i].pos[2]));
let pointsoff = [];
pointsoff.push(new THREE.Vector3(modelon.position.x+orderdata[i].pos[0],modelon.position.y+orderdata[i].pos[1],modelon.position.z+orderdata[i].pos[2]));
pointsoff.push(new THREE.Vector3(modelon.position.x,modelon.position.y,modelon.position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"on"],modelon,animaModel.animacode+modelon.name+"on",pointson,0.03,true,i);
scope.initanimate(scope.animatelist[animaModel.animacode+"off"],modelon,animaModel.animacode+modelon.name+"off",pointsoff,0.03,true,leni-i-1);
}
}
//定义转辙机零件动画
this.initlistnew = function(switchmodel){
scope.animatelist[switchmodel.animacode+"chaijie"] = [];
scope.animatelist[switchmodel.animacode+"fuwei"] = [];
for(let i=0,leni=switchmodel.children.length;i<leni;i++){
if(switchmodel.children[i].name == "DDJ"){
this.initSwitchAnima = function(animaModel){
scope.animatelist[animaModel.animacode+"chaijie"] = [];
scope.animatelist[animaModel.animacode+"fuwei"] = [];
for(let i=0,leni=animaModel.children.length;i<leni;i++){
if(animaModel.children[i].name == "DDJ"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x-1.5,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"dizuoon",points1,0.5,true,0);
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x-1.5,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"dizuoon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x-1.5,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"dizuooff",points2,0.5,true,0);
points2.push(new THREE.Vector3(animaModel.children[i].position.x-1.5,animaModel.children[i].position.y,animaModel.children[i].position.z));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"dizuooff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "DJZ"){
if(animaModel.children[i].name == "DJZ"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x-3,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"Lxingon",points1,0.5,true,0);
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x-3,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"Lxingon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x-3,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"Lxingoff",points2,0.5,true,0);
points2.push(new THREE.Vector3(animaModel.children[i].position.x-3,animaModel.children[i].position.y,animaModel.children[i].position.z));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"Lxingoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "DINGK"){
if(animaModel.children[i].name == "DINGK"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+9,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"jiaoxingxiantieon",points1,0.5,true,0);
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+9,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"jiaoxingxiantieon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+9,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"jiaoxingxiantieoff",points2,0.5,true,0);
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+9,animaModel.children[i].position.z));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"jiaoxingxiantieoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "SZ"){
if(animaModel.children[i].name == "SZ"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x-1.5,switchmodel.children[i].position.y,switchmodel.children[i].position.z-1));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"zhongchuipianon",points1,0.5,true,0);
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x-1.5,animaModel.children[i].position.y,animaModel.children[i].position.z-1));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"zhongchuipianon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.xx-1.5,switchmodel.children[i].position.y,switchmodel.children[i].position.z-1));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"zhongchuipianoff",points2,0.5,true,0);
points2.push(new THREE.Vector3(animaModel.children[i].position.xx-1.5,animaModel.children[i].position.y,animaModel.children[i].position.z-1));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"zhongchuipianoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "JSQ"){
if(animaModel.children[i].name == "JSQ"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x-3,switchmodel.children[i].position.y+3,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"laganon",points1,0.5,true,0);
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x-3,animaModel.children[i].position.y+3,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"laganon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x-3,switchmodel.children[i].position.y+3,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"laganoff",points2,0.5,true,0);
points2.push(new THREE.Vector3(animaModel.children[i].position.x-3,animaModel.children[i].position.y+3,animaModel.children[i].position.z));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"laganoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "YWJCQ"){
if(animaModel.children[i].name == "YWJCQ"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z+3));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"dongjiedianzhouon",points1,0.5,true,0);
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+6,animaModel.children[i].position.z+3));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"dongjiedianzhouon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z+3));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"dongjiedianzhouoff",points2,0.5,true,0);
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+6,animaModel.children[i].position.z+3));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"dongjiedianzhouoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "ESWCJJ"){
if(animaModel.children[i].name == "ESWCJJ"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"neibuon",points1,0.5,true,0);
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+6,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"neibuon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"neibuoff",points2,0.5,true,0);
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+6,animaModel.children[i].position.z));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"neibuoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "AQJD"){
if(animaModel.children[i].name == "AQJD"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z-2));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"jiedianon",points1,0.5,true,0);
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+6,animaModel.children[i].position.z-2));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"jiedianon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z-2));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"jiedianoff",points2,0.5,true,0);
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+6,animaModel.children[i].position.z-2));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"jiedianoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "QDP"){
if(animaModel.children[i].name == "QDP"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z-3));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"yapianon",points1,0.5,true,0);
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+6,animaModel.children[i].position.z-3));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"yapianon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z-3));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"yapianoff",points2,0.5,true,0);
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+6,animaModel.children[i].position.z-3));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"yapianoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "SDP"){
if(animaModel.children[i].name == "SDP"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z-4));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"fanghuozhaoon",points1,0.5,true,0);
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+6,animaModel.children[i].position.z-4));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"fanghuozhaoon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z-4));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"fanghuozhaooff",points2,0.5,true,0);
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+6,animaModel.children[i].position.z-4));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"fanghuozhaooff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "ZDKBQ"){
if(animaModel.children[i].name == "ZDKBQ"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+3,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"dianyuanpianon",points1,0.5,true,0);
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+3,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"dianyuanpianon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+3,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"dianyuanpianoff",points2,0.5,true,0);
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+3,animaModel.children[i].position.z));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"dianyuanpianoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "ZZ"){
if(animaModel.children[i].name == "ZZ"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x+3,switchmodel.children[i].position.y+3,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"xinpianon",points1,0.5,true,0);
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x+3,animaModel.children[i].position.y+3,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"xinpianon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x+3,switchmodel.children[i].position.y+3,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"xinpianoff",points2,0.5,true,0);
points2.push(new THREE.Vector3(animaModel.children[i].position.x+3,animaModel.children[i].position.y+3,animaModel.children[i].position.z));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"xinpianoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name =="BSG"){
if(animaModel.children[i].name =="BSG"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x+1,switchmodel.children[i].position.y,switchmodel.children[i].position.z-5));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"jueyuanzhouon",points1,0.5,true,0);
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x+1,animaModel.children[i].position.y,animaModel.children[i].position.z-5));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"jueyuanzhouon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x+1,switchmodel.children[i].position.y,switchmodel.children[i].position.z-5));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"jueyuanzhouoff",points2,0.5,true,0);
points2.push(new THREE.Vector3(animaModel.children[i].position.x+1,animaModel.children[i].position.y,animaModel.children[i].position.z-5));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"jueyuanzhouoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name =="DZG"){
if(animaModel.children[i].name =="DZG"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x-1,switchmodel.children[i].position.y,switchmodel.children[i].position.z-5));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"cigangon",points1,0.5,true,0);
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x-1,animaModel.children[i].position.y,animaModel.children[i].position.z-5));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"cigangon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x-1,switchmodel.children[i].position.y,switchmodel.children[i].position.z-5));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"cigangoff",points2,0.5,true,0);
points2.push(new THREE.Vector3(animaModel.children[i].position.x-1,animaModel.children[i].position.y,animaModel.children[i].position.z-5));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"cigangoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name =="CTK"){
if(animaModel.children[i].name =="CTK"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"ccichuihuqion",points1,0.5,true,0);
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
points1.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+6,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"chaijie"],animaModel.children[i],animaModel.name+"ccichuihuqion",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"ccichuihuqioff",points2,0.5,true,0);
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y+6,animaModel.children[i].position.z));
points2.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
scope.initanimate(scope.animatelist[animaModel.animacode+"fuwei"],animaModel.children[i],animaModel.name+"ccichuihuqioff",points2,0.5,true,0);
}
}
// let points = [];
// points.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
// points.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
// scope.initanimate(switchmodel.children[i],switchmodel.name+"select1",points,true);
// points.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
// points.push(new THREE.Vector3(animaModel.children[i].position.x,animaModel.children[i].position.y,animaModel.children[i].position.z));
// scope.initanimate(animaModel.children[i],animaModel.name+"select1",points,true);
let modelorderlist = [];
modelorderlist[switchmodel.animacode] = [
modelorderlist[animaModel.animacode] = [
{name:"SZ",pos:[-1.5,0,-1]},
{name:"DINGK",pos:[0,9,0]},
@ -206,13 +361,13 @@ export function Moveanimate(main){
{name:"DZG",pos:[-1,0,-5]}
];
scope.animatelist[switchmodel.animacode+"on"] = [];
scope.animatelist[switchmodel.animacode+"off"] = [];
scope.animatelist[animaModel.animacode+"on"] = [];
scope.animatelist[animaModel.animacode+"off"] = [];
for(let i=0,leni=modelorderlist[switchmodel.animacode].length;i<leni;i++){
for(let i=0,leni=modelorderlist[animaModel.animacode].length;i<leni;i++){
let orderdata = modelorderlist[switchmodel.animacode];
let modelon = switchmodel.getObjectByName(orderdata[i].name);
let orderdata = modelorderlist[animaModel.animacode];
let modelon = animaModel.getObjectByName(orderdata[i].name);
// modelon.helpbox = undefined;
let pointson = [];
pointson.push(new THREE.Vector3(modelon.position.x,modelon.position.y,modelon.position.z));
@ -223,19 +378,19 @@ export function Moveanimate(main){
pointsoff.push(new THREE.Vector3(modelon.position.x,modelon.position.y,modelon.position.z));
// if(i == 0){
scope.initanimate(scope.animatelist[switchmodel.animacode+"on"],modelon,switchmodel.animacode+modelon.name+"on",pointson,0.03,true,i);
scope.initanimate(scope.animatelist[switchmodel.animacode+"off"],modelon,switchmodel.animacode+modelon.name+"off",pointsoff,0.03,true,leni-i-1);
scope.initanimate(scope.animatelist[animaModel.animacode+"on"],modelon,animaModel.animacode+modelon.name+"on",pointson,0.03,true,i);
scope.initanimate(scope.animatelist[animaModel.animacode+"off"],modelon,animaModel.animacode+modelon.name+"off",pointsoff,0.03,true,leni-i-1);
// }else if((i+1)<leni){
// scope.initanimate(modelon,switchmodel.animacode+modelon.name+"on",pointson,0.03,true,switchmodel.animacode+orderdata[i+1].name+"on");
// scope.initanimate(modelon,switchmodel.animacode+modelon.name+"off",pointsoff,0.03,true,switchmodel.animacode+orderdata[i-1].name+"off");
// scope.initanimate(modelon,animaModel.animacode+modelon.name+"on",pointson,0.03,true,animaModel.animacode+orderdata[i+1].name+"on");
// scope.initanimate(modelon,animaModel.animacode+modelon.name+"off",pointsoff,0.03,true,animaModel.animacode+orderdata[i-1].name+"off");
// }else{
// scope.initanimate(modelon,switchmodel.animacode+modelon.name+"on",pointson,0.03,true);
// scope.initanimate(modelon,switchmodel.animacode+modelon.name+"off",pointsoff,0.03,true,switchmodel.animacode+orderdata[i-1].name+"off");
// scope.initanimate(modelon,animaModel.animacode+modelon.name+"on",pointson,0.03,true);
// scope.initanimate(modelon,animaModel.animacode+modelon.name+"off",pointsoff,0.03,true,animaModel.animacode+orderdata[i-1].name+"off");
// }
// if(switchmodel.children[i].name == "xinpian"){
// if(animaModel.children[i].name == "xinpian"){
// }
// if(switchmodel.children[i].name =="cigang"){
// if(animaModel.children[i].name =="cigang"){
// }
}
}

View File

@ -10,7 +10,99 @@ export function Textconfig(){
if(scope.devicelist.length>0){
scope.devicelist = [];
}
console.log(selectmodel.deviceType);
if(selectmodel.deviceType == "DeviceSwitch"){
initSwitchText(selectmodel);
}
if(selectmodel.deviceType == "DeviceDoor"){
initDoorText(selectmodel);
}
}
function initDoorText(selectmodel){
for(let i=0,leni=selectmodel.children.length;i<leni;i++){
let part= {
name:selectmodel.children[i].name,
text:null,
mesh:selectmodel.children[i],
index:i,
show:true,
msg:null,
};
if(selectmodel.children[i].name == "HLGJZ"){
part.text = "滑轮挂件左";
part.msg = "滑轮挂件左";
selectmodel.children[i].text = "滑轮挂件左";
}
if(selectmodel.children[i].name == "HLGJY"){
part.text = "滑轮挂件右";
part.msg = "滑轮挂件右";
selectmodel.children[i].text = "滑轮挂件右";
}
if(selectmodel.children[i].name == "HLZZZ"){
part.text = "滑轮装置左";
part.msg = "滑轮装置左";
selectmodel.children[i].text = "滑轮装置左";
}
if(selectmodel.children[i].name == "HLZZY"){
part.text = "滑轮装置右";
part.msg = "滑轮装置右";
selectmodel.children[i].text = "滑轮装置右";
}
if(selectmodel.children[i].name == "CLPD"){
part.text = "齿轮皮带";
part.msg = "齿轮皮带";
selectmodel.children[i].text = "齿轮皮带";
}
if(selectmodel.children[i].name == "SJZZ"){
part.text = "锁紧装置";
part.msg = "锁紧装置";
selectmodel.children[i].text = "锁紧装置";
}
if(selectmodel.children[i].name == "DCU"){
part.text = "门控单元";
part.msg = "门控单元";
selectmodel.children[i].text = "门控单元";
}
if(selectmodel.children[i].name == "MJL"){
part.text = "门机梁";
part.msg = "门机梁";
selectmodel.children[i].text = "门机梁";
}
if(selectmodel.children[i].name =="LCB"){
part.text = "就地控制盒";
part.msg = "就地控制盒";
selectmodel.children[i].text = "就地控制盒";
}
if(selectmodel.children[i].name =="PDJ"){
part.text = "皮带夹左";
part.msg = "皮带夹左";
selectmodel.children[i].text = "皮带夹左";
}
if(selectmodel.children[i].name =="PDJ1"){
part.text = "皮带夹右";
part.msg = "皮带夹右";
selectmodel.children[i].text = "皮带夹右";
}
// if(part.text == null){
// console.log(selectmodel.children[i].name);
// }
if(part.text){
scope.devicelist.push(part);
}
}
}
function initSwitchText(selectmodel){
for(let i=0,leni=selectmodel.children.length;i<leni;i++){
let part= {
name:selectmodel.children[i].name,
@ -109,5 +201,4 @@ export function Textconfig(){
}
}
}

View File

@ -208,7 +208,7 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
location.reload();
});
}
}
}
let changeelement = document.getElementById('jl3d');
@ -243,15 +243,19 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
scope.modelmanager.loadpromise(netDataAssets.deviceAssetList, scope.mixers).then(function (data) {
//综合演练情况下当模型加载后显示
psdModelShow();
moveanima.initlistnew(scope.modelmanager.switchmodel.mesh);
moveanima.initSwitchAnima(scope.modelmanager.switchmodel.mesh);
moveanima.initDoorAnima(scope.modelmanager.standmodel.mesh);
daochamodel = scope.modelmanager.switchmodel.mesh.getObjectByName("DAOCHA");
if(scope.stationtexture["devicelist"]){
scope.modelmanager.standmodel.mesh.getObjectByName("zhantailiebiao").material.map =scope.stationtexture["devicelist"];
scope.modelmanager.standmodel.mesh.getObjectByName("zhantailiebiao").material.map.needsUpdate = true;
}
if(scope.stationtexture["pingbimen"]){
scope.modelmanager.standmodel.mesh.getObjectByName("pingbimen1").material.map =scope.stationtexture["pingbimen"];
scope.modelmanager.standmodel.mesh.getObjectByName("pingbimen1").material.map.needsUpdate = true;
scope.modelmanager.standmodel.mesh.getObjectByName("DX").material.map =scope.stationtexture["pingbimen"];
scope.modelmanager.standmodel.mesh.getObjectByName("DX").material.map.needsUpdate = true;
scope.modelmanager.standmodel.mesh.getObjectByName("DXHDQG").material.map =scope.stationtexture["pingbimen"];
scope.modelmanager.standmodel.mesh.getObjectByName("DXHDQG").material.map.needsUpdate = true;
}
})
@ -313,6 +317,16 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
scope.modelmanager.switchmodel.mesh.remove(daochamodel);
}
}
//屏蔽门顶盖
this.hideDx = function (nowdxstatus){
if(nowdxstatus == true){
scope.modelmanager.standmodel.mesh.getObjectByName("DXHDQG").rotation.x = Math.PI/2;
}
if(nowdxstatus == false){
scope.modelmanager.standmodel.mesh.getObjectByName("DXHDQG").rotation.x = -Math.PI/2;
}
}
//选择模型
this.selectmodel = function (data) {
// scope.modelmanager
@ -325,6 +339,10 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
if(scope.nowobject){
scope.resetmodel();
}
scope.raycasterstatus = false;
scope.nowobject = null;
updatemenulist();
if (data._type == "Switch") {
// scope.modelmanager.switchmodel.locateType = data.body.locateType;
scope.modelmanager.switchmodel.code = data.code;
@ -332,13 +350,8 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
scope.scene.add(scope.showmodel);
scope.devicetext.initdevicetext(scope.modelmanager.switchmodel.mesh);
scope.nowobject = scope.modelmanager.switchmodel.mesh;
updatemenulist(scope.devicetext.devicelist);
updatemenulist(scope.devicetext.devicelist,"switch");
scope.raycasterstatus = true;
}else{
scope.raycasterstatus = false;
scope.nowobject = null;
updatemenulist();
}
if (data._type == "Signal") {
scope.modelmanager.signalmodel.code = data.code;
@ -351,9 +364,15 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
scope.showmodel = scope.modelmanager.standmodel.mesh;
scope.scene.add(scope.showmodel);
if(scope.stationtexture[psdtexturemap[data.standCode]]){
scope.modelmanager.standmodel.mesh.getObjectByName("zhantaiming").material.map =scope.stationtexture[psdtexturemap[data.standCode]];
scope.modelmanager.standmodel.mesh.getObjectByName("zhantaiming").material.map.needsUpdate = true;
scope.modelmanager.standmodel.mesh.getObjectByName("DX").material.map =scope.stationtexture[psdtexturemap[data.standCode]];
scope.modelmanager.standmodel.mesh.getObjectByName("DX").material.map.needsUpdate = true;
scope.modelmanager.standmodel.mesh.getObjectByName("DXHDQG").material.map =scope.stationtexture[psdtexturemap[data.standCode]];
scope.modelmanager.standmodel.mesh.getObjectByName("DXHDQG").material.map.needsUpdate = true;
}
scope.devicetext.initdevicetext(scope.modelmanager.standmodel.mesh);
updatemenulist(scope.devicetext.devicelist,"door");
scope.nowobject = scope.modelmanager.standmodel.mesh;
scope.raycasterstatus = true;
}
if (data._type == "Section") {
@ -377,7 +396,7 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
scope.devicetext.initdevicetext(scope.modelmanager.switchmodel.mesh);
scope.nowobject = scope.modelmanager.switchmodel.mesh;
updatemenulist(scope.devicetext.devicelist);
updatemenulist(scope.devicetext.devicelist,"switch");
scope.raycasterstatus = true;
// scope.scene.add(scope.showmodel);
if (data.normalPosition == "0") {
@ -406,20 +425,31 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
if (data._type == "Psd") {
scope.showmodel = scope.modelmanager.standmodel.mesh;
scope.scene.add(scope.showmodel);
scope.devicetext.initdevicetext(scope.modelmanager.standmodel.mesh);
updatemenulist(scope.devicetext.devicelist,"door");
scope.nowobject = scope.modelmanager.standmodel.mesh;
scope.raycasterstatus = true;
if(data.standCode == undefined){
if(psdtexturemap[data.code]){
scope.modelmanager.standmodel.mesh.getObjectByName("zhantaiming").material.map =scope.stationtexture[psdtexturemap[data.code]];
scope.modelmanager.standmodel.mesh.getObjectByName("zhantaiming").material.map.needsUpdate = true;
scope.modelmanager.standmodel.mesh.getObjectByName("DX").material.map =scope.stationtexture[psdtexturemap[data.code]];
scope.modelmanager.standmodel.mesh.getObjectByName("DX").material.map.needsUpdate = true;
scope.modelmanager.standmodel.mesh.getObjectByName("DXHDQG").material.map =scope.stationtexture[psdtexturemap[data.code]];
scope.modelmanager.standmodel.mesh.getObjectByName("DXHDQG").material.map.needsUpdate = true;
}else{
scope.modelmanager.standmodel.mesh.getObjectByName("zhantaiming").material.map =scope.stationtexture["Station18398"];
scope.modelmanager.standmodel.mesh.getObjectByName("zhantaiming").material.map.needsUpdate = true;
scope.modelmanager.standmodel.mesh.getObjectByName("DX").material.map =scope.stationtexture["Station18398"];
scope.modelmanager.standmodel.mesh.getObjectByName("DX").material.map.needsUpdate = true;
scope.modelmanager.standmodel.mesh.getObjectByName("DXHDQG").material.map =scope.stationtexture["Station18398"];
scope.modelmanager.standmodel.mesh.getObjectByName("DXHDQG").material.map.needsUpdate = true;
}
}
if(scope.stationtexture[psdtexturemap[data.standCode]]){
scope.modelmanager.standmodel.mesh.getObjectByName("zhantaiming").material.map =scope.stationtexture[psdtexturemap[data.standCode]];
scope.modelmanager.standmodel.mesh.getObjectByName("zhantaiming").material.map.needsUpdate = true;
scope.modelmanager.standmodel.mesh.getObjectByName("DX").material.map =scope.stationtexture[psdtexturemap[data.standCode]];
scope.modelmanager.standmodel.mesh.getObjectByName("DX").material.map.needsUpdate = true;
scope.modelmanager.standmodel.mesh.getObjectByName("DXHDQG").material.map =scope.stationtexture[psdtexturemap[data.standCode]];
scope.modelmanager.standmodel.mesh.getObjectByName("DXHDQG").material.map.needsUpdate = true;
}
@ -885,7 +915,7 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
raycaster.setFromCamera( mouse, scope.camera );
let intersects = raycaster.intersectObjects( scope.modelmanager.switchmodel.mesh.children,true);
let intersects = raycaster.intersectObjects( scope.nowobject.children,true);
if(helpbox){
scope.scene.remove( helpbox );
helpbox = null;
@ -931,7 +961,7 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
textplane= new THREE.Mesh( textgeometry, textmaterial );
// textplane.name = data[i].code;
textplane.position.x = point.x;
textplane.position.y = point.y+6;
textplane.position.y = point.y+7;
textplane.position.z = point.z;
textplane.rotation.y = -Math.PI/2;
textplane.lookAt(scope.camera.position);

View File

@ -55,11 +55,21 @@ export function ModelManager(){
deviceType: "staticSwitch",
id: "x11",
packageName: "转辙教学模型",
type: "staticSwitch",
type: "static",
url: "/device/switch/511DHcongxinzuo22222222222222(1).fbx"
};
initlist.push(fbxpromise(staticSwitch,mixers,scope.staticswitchmodel));
let staticDoor = {
assetname: "新屏蔽门",
deviceType: "DeviceDoor",
id: "d1",
packageName: "新屏蔽门",
type: "static",
url: "/device/door/PBM.FBX"
};
initlist.push(fbxpromise(staticDoor,mixers,scope.standmodel));
for(let i=0,leni=data.length;i<leni;i++){
if(data[i].deviceType == "DeviceSignal"){
initlist.push(fbxpromise(data[i],mixers,scope.signalmodel));
@ -67,9 +77,9 @@ export function ModelManager(){
if(data[i].deviceType == "DeviceSwitch"){
initlist.push(fbxpromise(data[i],mixers,scope.switchmodel));
}
if(data[i].deviceType == "DeviceDoor"){
initlist.push(fbxpromise(data[i],mixers,scope.standmodel));
}
// if(data[i].deviceType == "DeviceDoor"){
// initlist.push(fbxpromise(data[i],mixers,scope.standmodel));
// }
if(data[i].deviceType == "DeviceSection"){
initlist.push(fbxpromise(data[i],mixers,scope.sectionmodel));
}
@ -95,7 +105,7 @@ function fbxpromise(asset,mixers,model){
return new Promise(function(resolve, reject){
var loader = new THREE.FBXLoader();
let modelurl;
if(asset.type == "staticSwitch"){
if(asset.type == "static"){
modelurl = JL3D_LOCAL_STATIC+asset.url;
}else{
modelurl = BASE_ASSET_API+asset.url;
@ -109,9 +119,10 @@ function fbxpromise(asset,mixers,model){
}
} );
object.animacode = model.code;
object.deviceType = asset.deviceType;
model.mesh = object;
if(object.animations.length>0){
if(asset.type == "staticSwitch"){
if(asset.deviceType == "staticSwitch"){
// for(let i=0;i<object.animations.length;i++){
// model.action[object.animations[i].name] = mixer.clipAction( object.animations[ i ] );

View File

@ -19,58 +19,119 @@ export function Moveanimate(main){
scope.animatelist[switchmodel.animacode+"chaijie"] = [];
scope.animatelist[switchmodel.animacode+"fuwei"] = [];
for(let i=0,leni=switchmodel.children.length;i<leni;i++){
if(switchmodel.children[i].name == "DDJ"){
if(switchmodel.children[i].name == "SJ"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x-1.5,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x-3.5,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"dizuoon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x-1.5,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x-3.5,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"dizuooff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "DJZ"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x-3,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"Lxingon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x-3,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"Lxingoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "DINGK"){
if(switchmodel.children[i].name == "ZZJJG"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+9,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"jiaoxingxiantieon",points1,0.5,true,0);
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"dizuoon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+9,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"dizuooff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "BSGXT"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z-10));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"dizuoon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z-10));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"dizuooff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "DZGDG"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z-10));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"dizuoon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z-10));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"dizuooff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "SGBHG"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z-5));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"dizuoon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z-5));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"dizuooff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "SGBHG1"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z-8));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"dizuoon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z-8));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"dizuooff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "ZDKBQ"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+3,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"dizuoon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+3,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"dizuooff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "ZDKBQ1"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x+3,switchmodel.children[i].position.y+3,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"Lxingon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x+3,switchmodel.children[i].position.y+3,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"Lxingoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "DDJ"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"jiaoxingxiantieon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"jiaoxingxiantieoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "SZ"){
if(switchmodel.children[i].name == "QDPSDPBST"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x-1.5,switchmodel.children[i].position.y,switchmodel.children[i].position.z-1));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"zhongchuipianon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.xx-1.5,switchmodel.children[i].position.y,switchmodel.children[i].position.z-1));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"zhongchuipianoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "JSQ"){
if(switchmodel.children[i].name == "SKJPJ"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x-3,switchmodel.children[i].position.y+3,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x-3,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"laganon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x-3,switchmodel.children[i].position.y+3,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x-3,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"laganoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "YWJCQ"){
if(switchmodel.children[i].name == "MCLJQ"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z+3));
@ -80,70 +141,70 @@ export function Moveanimate(main){
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"dongjiedianzhouoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "ESWCJJ"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"neibuon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"neibuoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "AQJD"){
if(switchmodel.children[i].name == "SG"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z-2));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"jiedianon",points1,0.5,true,0);
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"neibuon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z-2));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"neibuoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "SG1"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z-3));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"jiedianon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z-3));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"jiedianoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "QDP"){
if(switchmodel.children[i].name == "TBT"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z-3));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"yapianon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z-3));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"yapianoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "SDP"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z-4));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"fanghuozhaoon",points1,0.5,true,0);
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"yapianon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z-4));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"yapianoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "GZSG"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x+1,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z-5));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"fanghuozhaoon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x+1,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z-5));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"fanghuozhaooff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "ZDKBQ"){
if(switchmodel.children[i].name == "BSG"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+3,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x-1,switchmodel.children[i].position.y,switchmodel.children[i].position.z-5));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"dianyuanpianon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+3,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x-1,switchmodel.children[i].position.y,switchmodel.children[i].position.z-5));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"dianyuanpianoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name == "ZZ"){
if(switchmodel.children[i].name == "DZG"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x+3,switchmodel.children[i].position.y+3,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x+1,switchmodel.children[i].position.y+3,switchmodel.children[i].position.z-5));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"xinpianon",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x+3,switchmodel.children[i].position.y+3,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x+1,switchmodel.children[i].position.y+3,switchmodel.children[i].position.z-5));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"xinpianoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name =="BSG"){
if(switchmodel.children[i].name =="AQKG"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x+1,switchmodel.children[i].position.y,switchmodel.children[i].position.z-5));
@ -153,7 +214,7 @@ export function Moveanimate(main){
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"jueyuanzhouoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name =="DZG"){
if(switchmodel.children[i].name =="LJX"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x-1,switchmodel.children[i].position.y,switchmodel.children[i].position.z-5));
@ -164,13 +225,13 @@ export function Moveanimate(main){
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"cigangoff",points2,0.5,true,0);
}
if(switchmodel.children[i].name =="CTK"){
if(switchmodel.children[i].name =="ZDQLJG"){
let points1 = [];
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z));
points1.push(new THREE.Vector3(switchmodel.children[i].position.x-1,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z-5));
scope.initanimate(scope.animatelist[switchmodel.animacode+"chaijie"],switchmodel.children[i],switchmodel.name+"ccichuihuqion",points1,0.5,true,0);
let points2 = [];
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x-1,switchmodel.children[i].position.y+6,switchmodel.children[i].position.z-5));
points2.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
scope.initanimate(scope.animatelist[switchmodel.animacode+"fuwei"],switchmodel.children[i],switchmodel.name+"ccichuihuqioff",points2,0.5,true,0);
}
@ -182,38 +243,48 @@ export function Moveanimate(main){
// points.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
// scope.initanimate(switchmodel.children[i],switchmodel.name+"select1",points,true);
let modelorderlist = [];
console.log(switchmodel);
for(let i=0;i<switchmodel.children.length;i++){
console.log(switchmodel.children[i].name);
console.log(switchmodel.children[i]);
}
modelorderlist[switchmodel.animacode] = [
{name:"SZ",pos:[-1.5,0,-1]},
{name:"DINGK",pos:[0,9,0]},
{name:"DJZ",pos:[-3,0,0]},
{name:"DDJ",pos:[-1.5,0,0]},
{name:"JSQ",pos:[-3,3,0]},
{name:"SJ",pos:[-3.5,0,-1]},
{name:"ZZJJG",pos:[0,9,0]},
{name:"BSGXT",pos:[0,0,-10]},
{name:"DZGDG",pos:[0,0,-10]},
{name:"SGBHG",pos:[0,0,-5]},
{name:"SGBHG1",pos:[0,0,-8]},
{name:"ZDKBQ",pos:[0,3,0]},
{name:"ZZ",pos:[3,3,0]},
{name:"ESWCJJ",pos:[0,6,0]},
{name:"CTK",pos:[0,6,0]},
{name:"YWJCQ",pos:[0,6,3]},
{name:"AQJD",pos:[0,6,-2]},
{name:"QDP",pos:[0,6,-3]},
{name:"SDP",pos:[0,6,-4]},
{name:"BSG",pos:[1,0,-5]},
{name:"DZG",pos:[-1,0,-5]}
{name:"ZDKBQ1",pos:[3,3,0]},
{name:"DDJ",pos:[0,6,0]},
{name:"QDPSDPBST",pos:[0,6,0]},
{name:"SKJPJ",pos:[0,6,0]},
{name:"MCLJQ",pos:[0,6,3]},
{name:"SG",pos:[0,6,-2]},
{name:"SG1",pos:[0,6,-3]},
{name:"TBT",pos:[0,6,-4]},
{name:"GZSG",pos:[1,0,-5]},
{name:"BSG",pos:[-1,0,-5]},
{name:"DZG",pos:[1,0,-5]},
{name:"AQKG",pos:[-1,0,-5]},
{name:"LJX",pos:[1,0,-5]},
{name:"ZDQLJG",pos:[-1,0,-5]}
];
scope.animatelist[switchmodel.animacode+"on"] = [];
scope.animatelist[switchmodel.animacode+"off"] = [];
console.log("==========");
for(let i=0,leni=modelorderlist[switchmodel.animacode].length;i<leni;i++){
let orderdata = modelorderlist[switchmodel.animacode];
console.log(switchmodel.animacode);
console.log(orderdata[i].name);
let modelon = switchmodel.getObjectByName(orderdata[i].name);
// modelon.helpbox = undefined;
console.log(modelon);
let pointson = [];
pointson.push(new THREE.Vector3(modelon.position.x,modelon.position.y,modelon.position.z));
pointson.push(new THREE.Vector3(modelon.position.x+orderdata[i].pos[0],modelon.position.y+orderdata[i].pos[1],modelon.position.z+orderdata[i].pos[2]));

View File

@ -20,6 +20,138 @@ export function Textconfig(){
show:true,
msg:null,
};
// if(selectmodel.children[i].name == ""){
// part.text = "";
// part.msg = "";
// selectmodel.children[i].text = "";
// }
if(selectmodel.children[i].name == "ZZJJG"){
part.text = "转辙机机盖";
part.msg = "转辙机机盖";
selectmodel.children[i].text = "转辙机机盖";
}
if(selectmodel.children[i].name == "ZZJDZ"){
part.text = "转辙机底座";
part.msg = "转辙机底座";
selectmodel.children[i].text = "转辙机底座";
}
if(selectmodel.children[i].name == "SJ"){
part.text = "锁具";
part.msg = "锁具";
selectmodel.children[i].text = "锁具";
}
if(selectmodel.children[i].name == "DZGDG"){
part.text = "动作杆端盖";
part.msg = "动作杆端盖";
selectmodel.children[i].text = "动作杆端盖";
}
if(selectmodel.children[i].name == "SGBHG1"){
part.text = "丝杆保护盖";
part.msg = "丝杆保护盖";
selectmodel.children[i].text = "丝杆保护盖";
}
if(selectmodel.children[i].name == "SGBHG"){
part.text = "丝杆保护盖";
part.msg = "丝杆保护盖";
selectmodel.children[i].text = "丝杆保护盖";
}
if(selectmodel.children[i].name == "BSGXT"){
part.text = "表示杆袖筒";
part.msg = "表示杆袖筒";
selectmodel.children[i].text = "表示杆袖筒";
}
if(selectmodel.children[i].name == "AQJDLQ"){
part.text = "安全接点螺圈";
part.msg = "安全接点螺圈";
selectmodel.children[i].text = "安全接点螺圈";
}
if(selectmodel.children[i].name == "AQKG"){
part.text = "安全开关";
part.msg = "安全开关";
selectmodel.children[i].text = "安全开关";
}
if(selectmodel.children[i].name == "LJX"){
part.text = "连接销";
part.msg = "连接销";
selectmodel.children[i].text = "连接销";
}
if(selectmodel.children[i].name == "ZDQLJG"){
part.text = "遮断器连接杆";
part.msg = "遮断器连接杆";
selectmodel.children[i].text = "遮断器连接杆";
}
if(selectmodel.children[i].name == "ZDKBQ1"){
part.text = "自动开闭器";
part.msg = "自动开闭器";
selectmodel.children[i].text = "自动开闭器";
}
if(selectmodel.children[i].name == "QDPSDPBST"){
part.text = "启动片速动片闭锁铁";
part.msg = "启动片速动片闭锁铁";
selectmodel.children[i].text = "启动片速动片闭锁铁";
}
if(selectmodel.children[i].name == "SKJPJ"){
part.text = "锁块及配件";
part.msg = "锁块及配件";
selectmodel.children[i].text = "锁块及配件";
}
if(selectmodel.children[i].name == "SG"){
part.text = "丝杠";
part.msg = "丝杠";
selectmodel.children[i].text = "丝杠";
}
if(selectmodel.children[i].name == "SG1"){
part.text = "丝杠";
part.msg = "丝杠";
selectmodel.children[i].text = "丝杠";
}
if(selectmodel.children[i].name == "MCLJQ"){
part.text = "摩擦联结器";
part.msg = "摩擦联结器";
selectmodel.children[i].text = "摩擦联结器";
}
if(selectmodel.children[i].name == "DZG"){
part.text = "动作杆";
part.msg = "动作杆";
selectmodel.children[i].text = "动作杆";
}
if(selectmodel.children[i].name == "TBT"){
part.text = "推板套";
part.msg = "推板套";
selectmodel.children[i].text = "推板套";
}
if(selectmodel.children[i].name == "GZSG"){
part.text = "滚珠丝杠";
part.msg = "滚珠丝杠";
selectmodel.children[i].text = "滚珠丝杠";
}
if(selectmodel.children[i].name == "AQJD"){
part.text = "安全接点";
part.msg = "安全接点应接触良好。在插入手摇把或钥匙时,安全接点应可靠断开,非经人工恢复不得接通电路。";

View File

@ -162,11 +162,11 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
scope.updateSwitch(data.srSwitch[1]);
}
}
if(data.type == "DeviceCtrl_3D"){
if(data.body.code == scope.nowcode){
scope.updateaction(data.body);
}
}
// if(data.type == "DeviceCtrl_3D"){
// if(data.body.code == scope.nowcode){
// scope.updateaction(data.body);
// }
// }
}
let changeelement = document.getElementById('jl3d');
@ -339,7 +339,6 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
}
if (data._type == "Signal") {
console.log(data);
if(data.type == "ARRIVAL"){
scope.showmodel = scope.modelmanager.signal5.mesh;
}else if(data.type == "EXIT"){
@ -399,9 +398,7 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
let switchActionMode = true;
this.changeAnimate = function(type){
//
console.log(type);
// console.log(scope.modelmanager.staticswitchmodel);
// scope.modelmanager.staticswitchmodel.action["2kai"].reset();
@ -847,6 +844,7 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
}
function initstatus(data) {
if (data._type == "Switch") {
if (data.normalPosition == "0") {
scope.modelmanager.switchmodel.normalPosition = "0";

View File

@ -58,6 +58,7 @@ export function ModelManager(){
};
this.loadpromise = function (data,mixers){
let initlist = [];
let staticSwitch = {
@ -110,11 +111,22 @@ export function ModelManager(){
};
initlist.push(fbxpromise(signal2,mixers,scope.signal2));
let zdj9Switch = {
assetname:"zdj9",
deviceType:"OtherSwitch",
id:"zdj9",
packageName:"zdj9",
type:"static",
url: "/jl3d/railway/model/ZDJ9_DH622.FBX"
};
///MODEL/2021-06-22/66-64647.FBX
initlist.push(fbxpromise(zdj9Switch,mixers,scope.switchmodel));
for(let i=0,leni=data.length;i<leni;i++){
if(data[i].deviceType == "DeviceSwitch"){
initlist.push(fbxpromise(data[i],mixers,scope.switchmodel));
}
// if(data[i].deviceType == "DeviceSwitch"){
// initlist.push(fbxpromise(data[i],mixers,scope.switchmodel));
// }
if(data[i].deviceType == "DeviceSection"){
initlist.push(fbxpromise(data[i],mixers,scope.sectionmodel));
@ -144,9 +156,9 @@ function fbxpromise(asset,mixers,model){
}else{
modelurl = BASE_ASSET_API+asset.url;
}
loader.load( modelurl, function ( object ) {
let mixer = new THREE.AnimationMixer( object );
object.traverse( function ( child ) {
if ( child.isMesh ) {
child.castShadow = true;
@ -155,6 +167,7 @@ function fbxpromise(asset,mixers,model){
} );
object.animacode = model.code;
object.deviceType = asset.deviceType;
object.assetname = asset.assetname;
if(asset.deviceType == "ARRIVAL" || asset.deviceType == "EXIT" || asset.deviceType == "PASSING" || asset.deviceType == "SHUNTING"){
for(let j=0;j<object.children.length;j++){
let newmaterial = new THREE.MeshPhongMaterial();

View File

@ -88,7 +88,7 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj
let planeCloud = new THREE.Mesh( new THREE.PlaneGeometry( 64, 64 ) );
let geoCloud = new THREE.Geometry();
for ( var i = 0; i < 20; i++ ) {
for ( var i = 0; i < 15; i++ ) {
planeCloud.position.x = 1000 - 2000 * Math.random();
planeCloud.position.y = Math.random() * 500+100 ;

View File

@ -203,12 +203,12 @@ class SkinCode extends defaultStyle {
buttonColor: 'darkgreen', // 信号灯按钮颜色
buttonLightenColor: '#E4EF50' // 信号灯按钮闪烁颜色
},
transmission: { // 传输信号机
transmission: { // 传输信号机
fillColor: '#f00',
fillColorVirtual: '#000080',
fillColorVirtual: '#000080',
sideLength: 20,
textColor: '#fff',
strokeColor: '#00FFFF',
strokeColor: '#00FFFF'
},
lowButton:{
display: false // 现地 信号机按钮
@ -282,7 +282,7 @@ class SkinCode extends defaultStyle {
z:1,
position: 1, // 停跳方向
text: 'S', // 停跳显示内容
offset: { x: 20, y: 21 },
offset: { x: 20, y: -21 },
textColor: '#00FF00', // 停跳文字颜色
fontWeight: 'bold', // 文字居中
fontSize: 18 // 文字大小
@ -829,7 +829,7 @@ class SkinCode extends defaultStyle {
fontOffsetX: 45,
fontOffsetY: 24
};
this[deviceType.IndicatorLight] = {};
this[deviceType.IndicatorLight] = {};
}
}

View File

@ -239,6 +239,7 @@ class MouseController extends Eventful {
this.$jmap.deleteCheckBox('check_box');
this.eventTarget = '';
this.deviceList = [];
store.commit('map/setSeclectDeviceList', this.deviceList); // 给store设置框选的 model
}
}
// 通过包围盒筛选选中区域的元素

View File

@ -5,6 +5,7 @@ import Group from 'zrender/src/container/Group';
import Rect from 'zrender/src/graphic/shape/Rect';
import Text from 'zrender/src/graphic/Text';
import Polygon from 'zrender/src/graphic/shape/Polygon';
import EHighlight from '../element/EHighlight';
const defaultStyle = {
distance: 12,
@ -35,6 +36,7 @@ export default class Responder extends Group {
this.z = model.z || 19;
if (model.previewOrMapDraw) {
this.create();
this.createMouseEvent();
this.setState(model);
}
}
@ -107,9 +109,9 @@ export default class Responder extends Group {
});
this.text = this.name = new Text({
zlevel: this.zlevel,
zlevel: this.zlevel,
z: this.z + 1,
style: {
style: {
x: textX,
y: textY,
text: textName,
@ -141,10 +143,14 @@ export default class Responder extends Group {
if (!this.isShowShape) return;
const responderStyle = this.style.Responder || defaultStyle;
const style = responderStyle.block.mapStyle[model.type] || {fill: '#000'};
this.block.setStyle(style);
[this.delta1, this.delta2].forEach(el => {
model.type == 'IB' ? el.show() : el.hide();
});
this.block && this.block.setStyle(style);
if (this.delta1) {
model.type == 'IB' ? this.delta1.show() : this.delta1.hide();
}
if (this.delta2) {
model.type == 'IB' ? this.delta2.show() : this.delta2.hide();
}
}
// 整体图片
@ -154,6 +160,21 @@ export default class Responder extends Group {
item.dirty();
}
createMouseEvent() {
const path = window.location.href;
if (path.includes('/map/draw')) {
this.highlight = new EHighlight(this);
this.add(this.highlight);
this.on('mouseout', () => { this.highlight.mouseout(); });
this.on('mouseover', () => { this.highlight.mouseover(); });
}
}
// 设置选中态
drawSelected(selected) {
this.highlight && this.highlight.drawSelected(selected);
}
getShapeTipPoint() {
if (this.block) {
var distance = 2;

View File

@ -441,12 +441,12 @@ export default class Section extends Group {
model.overlapLock && this.protectiveLock(model.lockRight);
/** 空闲锁闭或者叫进路锁闭 */
model.routeLock && this.routeLock(model.lockRight);
/** 计轴故障 */
model.invalid && this.invalid();
/** 轨道封锁 */
model.blockade && this.block(model.routeLock);
/** 非通信车占用状态 */
model.nctOccupied && this.unCommunicationOccupied();
/** 计轴故障 */
model.invalid && this.invalid();
/** 通信车占用状态 */
model.ctOccupied && this.communicationOccupied();
/** 区段关闭 */

View File

@ -16,7 +16,7 @@ class EJump extends Group {
const jumpDirct = model.right ? -1 : 1;
const jumpOffsetY = model.inside ? -1 : 1;
const jumpX = model.position.x - jumpDirct * (deviceParam.offset.x - model.width / 2);
const jumpY = model.position.y + jumpDirct * deviceParam.offset.y;
const jumpY = model.position.y + jumpDirct * jumpOffsetY * deviceParam.offset.y;
if (deviceParam.special) {
this.jump = new Text({

View File

@ -59,21 +59,22 @@ export default class ZcControl extends Group {
}
setAshShow() {
this.control && this.control.setControlColor('#7F7F7F');
}
setAshShow() {
this.control && this.control.setControlColor('#7F7F7F');
}
// 设置状态
setState(model) {
this.recover();
this.recover();
// 只响应前端自定义类型的状态变化
if (model._free) {
this.setAshShow()
} else {
model.fault == 'FAULT' && this.fault();
if (!this.isShowShape) return;
}
// 只响应前端自定义类型的状态变化
if (model._free) {
this.setAshShow();
} else {
model.fault == 'FAULT' && this.fault();
model.noService && this.fault();
if (!this.isShowShape) return;
}
}
recover() {

View File

@ -53,7 +53,7 @@ export default {
operateType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL.value,
skinCode: '04',
trainingName: '请求站控({2})',
trainingRemark: '请求站控功能',
trainingRemark: '现地控制工作站界面设置四个按钮表示灯:中央、站控、紧急站控、联锁控。用于实现中央、站控/紧急站控、联锁控三级控制模式间的切换。车站操作人员申请站控,中心授权同意后获得控制权,标识为“站控”的圆点,稳定黄色——当前控制模式为站控',
trainingType: 'ControlConvertMenu',
productTypes: ['01'],
stepVOList: [
@ -67,7 +67,7 @@ export default {
operateType: CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL.value,
skinCode: '04',
trainingName: '请求紧急站控({2})',
trainingRemark: '请求紧急站控功能',
trainingRemark: '现地控制工作站界面设置四个按钮表示灯:中央、站控、紧急站控、联锁控。用于实现中央、站控/紧急站控、联锁控三级控制模式间的切换。车站操作人员申请紧急站控,输入密码确认后,直接获得控制权,标识为“站控”的圆点,稳定红色——当前控制模式为站控',
trainingType: 'ControlConvertMenu',
productTypes: ['01'],
stepVOList: [
@ -82,7 +82,7 @@ export default {
operateType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL.value,
skinCode: '04',
trainingName: '请求中控({2})',
trainingRemark: '请求中控功能',
trainingRemark: '现地工作站界面设置四个按钮表示灯:中央、站控、紧急站控、联锁控。用于实现中央、站控/紧急站控、联锁控三级控制模式间的切换。车站操作人员申请中控输入密码确认中心同意后交权至中心ATS',
trainingType: 'ControlConvertMenu',
productTypes: ['01'],
stepVOList: [
@ -97,7 +97,7 @@ export default {
operateType: CMD.ControlConvertMenu.CMD_CM_INTERLOCK_CONTROL.value,
skinCode: '04',
trainingName: '请求联锁控({2})',
trainingRemark: '请求联锁控功能',
trainingRemark: '现地控制工作站界面设置四个按钮表示灯:中央、站控、紧急站控、联锁控。用于实现中央、站控/紧急站控、联锁控三级控制模式间的切换。车站操作人员申请联锁控,输入密码确认后,直接获得控制权。标识为“联锁控”的圆点,稳定紫色 - 当前控制模式为联锁控。在“联锁站”模式下,若办理了“自动进路、自动折返、引导总锁、全站维修点灯”、 或“上电解锁、临时限速清除”可设置时,不允许“联锁控”转 ATS 站控及 ATS 中央控。',
trainingType: 'ControlConvertMenu',
productTypes: ['01'],
stepVOList: [
@ -113,7 +113,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_SET_ROUTE.value,
skinCode: '04',
trainingName: '办理进路({3} 进路)',
trainingRemark: '办理进路功能',
trainingRemark: '进路:列车在站内运行时所经由的路径。依据进路是否建立,可以将进路状态分成锁闭状态和解锁状态。建立了进路,即指利用该进路排列了进路,称该进路处于锁闭状态。进路处于锁闭状态时,进路上的所有道岔被锁闭在规定位置(不能转换位置),防护该进路的信号机才能开放,列车才可能在该进路上运行。',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
@ -129,7 +129,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_SET_ROUTE.value,
skinCode: '04',
trainingName: '办理进路({3} 进路)',
trainingRemark: '办理进路功能',
trainingRemark: '进路:列车在站内运行时所经由的路径。依据进路是否建立,可以将进路状态分成锁闭状态和解锁状态。建立了进路,即指利用该进路排列了进路,称该进路处于锁闭状态。进路处于锁闭状态时,进路上的所有道岔被锁闭在规定位置(不能转换位置),防护该进路的信号机才能开放,列车才可能在该进路上运行。',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
@ -144,7 +144,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE.value,
skinCode: '04',
trainingName: '办理引导进路({3})',
trainingRemark: '进路办理信号引导',
trainingRemark: '因进路内轨道区段故障或允许灯光灯丝故障无法开放信号时通过办理的引导进路接车',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
@ -160,7 +160,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE.value,
skinCode: '04',
trainingName: '引导进路({3})[进路已锁闭]',
trainingRemark: '进路办理信号引导',
trainingRemark: '因进路内轨道区段故障或允许灯光灯丝故障无法开放信号时通过办理的引导进路接车',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
@ -175,7 +175,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE.value,
skinCode: '04',
trainingName: '取消进路({3} 进路)',
trainingRemark: '取消进路功能',
trainingRemark: '当列车运行通过锁闭的进路后,该进路将被解锁而处于解锁状态。解锁状态时进路上道岔随时有转换位置的可能,列车在该进路上运行将极其危险,因而一般不允许列车在没有锁闭的进路上运行。',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
@ -189,7 +189,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE.value,
skinCode: '04',
trainingName: '取消进路({3} 进路)',
trainingRemark: '取消进路功能(总取消)',
trainingRemark: '当列车运行通过锁闭的进路后,该进路将被解锁而处于解锁状态。解锁状态时进路上道岔随时有转换位置的可能,列车在该进路上运行将极其危险,因而一般不允许列车在没有锁闭的进路上运行。(总取消)',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
@ -197,16 +197,19 @@ export default {
{ deviceType: '04', orderNum: 2, operateCode: '2994', tip: '鼠标左键点击【{5}】', codeType:'SIGNAL' }
]
},
{
{
maxDuration: 15,
minDuration: 8,
operateType: CMD.Signal.CMD_SIGNAL_CANCEL_GUIDE.value,
skinCode: '04',
trainingName: '取消引导({3})',
trainingRemark: '取消引导进路功能(总取消)',
trainingRemark: '列车通过引导进路后,引导进路不解锁,通过【总人解】解锁引导锁。',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
// { deviceType: '04', orderNum: 1, operateCode: '3050', tip: '鼠标左键点击【总人解】' },
// { deviceType: '04', orderNum: 2, operateCode: '0011', tip: '输入密码123点击【确定】按钮' },
// { deviceType: '04', orderNum: 3, operateCode: '3050', tip: '鼠标左键点击【{5}】', val: '{6}', codeType:'SIGNAL' },
{ deviceType: '04', orderNum: 1, operateCode: '2994', tip: '鼠标左键点击【总取消】' },
{ deviceType: '04', orderNum: 2, operateCode: '2994', tip: '鼠标左键点击【{5}】', codeType:'SIGNAL' }
]
@ -217,13 +220,13 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE.value,
skinCode: '04',
trainingName: '总人解({3})',
trainingRemark: '总人解',
trainingRemark: '当信号机开放后,其接近区段被列车占用,这时要解锁已锁闭的进路,通过“总人解”办理进路的人工解锁(延时解锁时间为 45s',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '305', tip: '鼠标右键菜单选择【总人解】' },
{ deviceType: '04', orderNum: 2, operateCode: '3050', tip: '输入密码123点击【执行】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '305', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '04', orderNum: 2, operateCode: '3050', tip: '输入密码123点击【执行】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '305', tip: '鼠标左键点击【确定】按钮' }
]
},
{
@ -232,7 +235,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE.value,
skinCode: '04',
trainingName: '总人解({3})',
trainingRemark: '总人解',
trainingRemark: '当信号机开放后,其接近区段被列车占用,这时要解锁已锁闭的进路,通过“总人解”办理进路的人工解锁(延时解锁时间为 45s',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
@ -247,7 +250,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL.value,
skinCode: '04',
trainingName: '信号重开({5})',
trainingRemark: '信号重开功能',
trainingRemark: '信号由于故障(如锁闭的进路区段故障)或人工干预导致信号关闭,此后调度运营想再次开放此信号(前提是信号开放的条件具备,如故障区段已恢复),可以执行信号重开使信号重新开放',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
@ -261,7 +264,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL.value,
skinCode: '04',
trainingName: '信号重开({5})',
trainingRemark: '信号重开功能',
trainingRemark: '信号由于故障(如锁闭的进路区段故障)或人工干预导致信号关闭,此后调度运营想再次开放此信号(前提是信号开放的条件具备,如故障区段已恢复),可以执行信号重开使信号重新开放',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
@ -275,7 +278,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_BLOCK.value,
skinCode: '04',
trainingName: '信号封锁({5})',
trainingRemark: '信号封锁',
trainingRemark: '封锁信号机。信号机封锁后,不可经其办理进路。已开放信号的进路,应在进路解锁或取消后封锁信号机,否则造成信号关闭。',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
@ -289,7 +292,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_BLOCK.value,
skinCode: '04',
trainingName: '信号封锁({5})',
trainingRemark: '信号封锁功能',
trainingRemark: '封锁信号机。信号机封锁后,不可经其办理进路。已开放信号的进路,应在进路解锁或取消后封锁信号机,否则造成信号关闭。',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
@ -303,7 +306,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_UNBLOCK.value,
skinCode: '04',
trainingName: '信号解封({5})',
trainingRemark: '信号解封',
trainingRemark: '对封锁的信号解封',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
@ -318,7 +321,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_UNBLOCK.value,
skinCode: '04',
trainingName: '信号解封({5})',
trainingRemark: '信号解封功能',
trainingRemark: '对封锁的信号解封',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
@ -333,7 +336,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING.value,
skinCode: '04',
trainingName: '进路收人工控({3})',
trainingRemark: '进路收人工控',
trainingRemark: '正常情况下,车站 ATS 分机自动触发进路。但在某特定情况下需将某条进路交由人工排列时可使用“人工控”功能。设置该进路的始端信号机为人工控模式ATS 分机将不再自动触发以该信号机为始端的进路,直至取消了该信号机的“人工控”模式。',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
@ -348,7 +351,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING.value,
skinCode: '04',
trainingName: '人工控({5})',
trainingRemark: '人工控',
trainingRemark: '正常情况下,车站 ATS 分机自动触发进路。但在某特定情况下,需将某条进路交由人工排列时,可使用“人工控”功能。设置该进路的始端信号机为人工控模式ATS 分机将不再自动触发以该信号机为始端的进路,直至取消了该信号机的“人工控”模式。',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
@ -364,7 +367,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING.value,
skinCode: '04',
trainingName: '进路交自动控({3})',
trainingRemark: '进路交自动控',
trainingRemark: '取消该进路的始端信号机为人工控模式ATS 分机将自动触发以该信号机为始端的进路',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
@ -379,7 +382,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING.value,
skinCode: '04',
trainingName: '自动控({5})',
trainingRemark: '自动控',
trainingRemark: '取消该进路的始端信号机为人工控模式ATS 分机将自动触发以该信号机为始端的进路',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
@ -394,7 +397,7 @@ export default {
operateType:CMD.Signal.CMD_SIGNAL_DETAIL.value,
skinCode: '04',
trainingName: '查询进路信息({5} 信号机)',
trainingRemark: '查询进路信息',
trainingRemark: '查看某个信号机为始端的进路是否处于ATS自动触发状态',
trainingType:'Signal',
productTypes: ['02'],
stepVOList: [
@ -409,7 +412,7 @@ export default {
operateType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION.value, // 0312 新增定位字典
skinCode: '04',
trainingName: '单操到定位({7})',
trainingRemark: '单操到定位({15})',
trainingRemark: '在道岔未锁闭的情况下将道岔单操至定位',
trainingType: 'Switch',
productTypes: ['02'],
stepVOList: [
@ -423,7 +426,7 @@ export default {
operateType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION.value,
skinCode: '04',
trainingName: '单操到定位({7})',
trainingRemark: '单操到定位({7})',
trainingRemark: '在道岔未锁闭的情况下将道岔单操至定位',
trainingType: 'Switch',
productTypes: ['01'],
stepVOList: [
@ -437,7 +440,8 @@ export default {
operateType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION.value, // 0313 新增定位字典
skinCode: '04',
trainingName: '单操到反位({7})',
trainingRemark: '单操到反位({7})',
trainingRemark: '在道岔未锁闭的情况下将道岔单操至反位',
// ({7})
trainingType: 'Switch',
productTypes: ['02'],
stepVOList: [
@ -451,7 +455,7 @@ export default {
operateType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION.value,
skinCode: '04',
trainingName: '单操到反位({7})',
trainingRemark: '单操到反位({7})',
trainingRemark: '在道岔未锁闭的情况下将道岔单操至反位',
trainingType: 'Switch',
productTypes: ['01'],
stepVOList: [
@ -465,7 +469,7 @@ export default {
operateType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK.value,
skinCode: '04',
trainingName: '道岔单锁({7})',
trainingRemark: '道岔单锁功能',
trainingRemark: '单独锁闭道岔',
trainingType: 'Switch',
productTypes: ['02'],
stepVOList: [
@ -479,7 +483,7 @@ export default {
operateType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK.value,
skinCode: '04',
trainingName: '道岔单锁({7})',
trainingRemark: '道岔单锁功能',
trainingRemark: '单独锁闭道岔',
trainingType: 'Switch',
productTypes: ['01'], // 现地操作
stepVOList: [
@ -493,7 +497,7 @@ export default {
operateType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK.value,
skinCode: '04',
trainingName: '道岔解锁({7})',
trainingRemark: '道岔解锁功能',
trainingRemark: '对单独锁闭的道岔解锁',
trainingType: 'Switch',
productTypes: ['02'],
stepVOList: [
@ -507,7 +511,7 @@ export default {
operateType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK.value,
skinCode: '04',
trainingName: '道岔解锁({7})',
trainingRemark: '道岔解锁功能',
trainingRemark: '对单独锁闭的道岔解锁',
trainingType: 'Switch',
productTypes: ['01'],
stepVOList: [
@ -522,7 +526,7 @@ export default {
operateType: CMD.Switch.CMD_SWITCH_BLOCK.value,
skinCode: '04',
trainingName: '道岔封锁({7})',
trainingRemark: '道岔封锁功能',
trainingRemark: '道岔设备检修时使用,道岔封锁后,道岔位置可以操动,但不可经其排列进路',
trainingType: 'Switch',
productTypes: ['02'],
stepVOList: [
@ -537,7 +541,7 @@ export default {
operateType: CMD.Switch.CMD_SWITCH_BLOCK.value,
skinCode: '04',
trainingName: '道岔封锁({7})',
trainingRemark: '道岔封锁功能',
trainingRemark: '道岔设备检修时使用,道岔封锁后,道岔位置可以操动,但不可经其排列进路',
trainingType: 'Switch',
productTypes: ['01'],
stepVOList: [
@ -551,7 +555,7 @@ export default {
operateType: CMD.Switch.CMD_SWITCH_UNBLOCK.value,
skinCode: '04',
trainingName: '道岔解封({7})',
trainingRemark: '道岔解封功能',
trainingRemark: '对封锁的道岔进行解封',
trainingType: 'Switch',
productTypes: ['02'],
stepVOList: [
@ -566,7 +570,7 @@ export default {
operateType: CMD.Switch.CMD_SWITCH_UNBLOCK.value,
skinCode: '04',
trainingName: '道岔解封({7})',
trainingRemark: '道岔解封功能',
trainingRemark: '对封锁的道岔进行解封',
trainingType: 'Switch',
productTypes: ['01'],
stepVOList: [
@ -581,7 +585,7 @@ export default {
operateType: CMD.Switch.CMD_SWITCH_FAULT_UNLOCK.value,
skinCode: '04',
trainingName: '区故解({7})',
trainingRemark: '道岔区段故障解锁功能',
trainingRemark: '当联锁系统初始上电或由于某种原因使区段不能正常解锁时,逐段按区故解方式使其解锁。',
trainingType: 'Switch',
productTypes: ['02'],
stepVOList: [
@ -597,7 +601,7 @@ export default {
operateType: CMD.Section.CMD_SECTION_FAULT_UNLOCK.value,
skinCode: '04',
trainingName: '区故解({8}{9})',
trainingRemark: '故障解锁功能',
trainingRemark: '当联锁系统初始上电或由于某种原因使区段不能正常解锁时,逐段按区故解方式使其解锁。',
trainingType: 'Section',
productTypes: ['02'],
stepVOList: [
@ -612,7 +616,7 @@ export default {
operateType: CMD.Section.CMD_SECTION_FAULT_UNLOCK.value,
skinCode: '04',
trainingName: '区故解({8}{9})',
trainingRemark: '故障解锁功能',
trainingRemark: '当联锁系统初始上电或由于某种原因使区段不能正常解锁时,逐段按区故解方式使其解锁。',
trainingType: 'Section',
productTypes: ['01'],
stepVOList: [
@ -627,7 +631,8 @@ export default {
operateType: CMD.Section.CMD_SECTION_DETAILS.value,
skinCode: '04',
trainingName: '属性({8}{9})',
trainingRemark: '区段详情({8}{9})',
trainingRemark: '轨道区段属性窗显示了轨道区段的起始公里标和长度',
// ({8}{9})
trainingType: 'Section',
productTypes: ['02'],
stepVOList: [
@ -642,7 +647,7 @@ export default {
operateType: CMD.Stand.CMD_STAND_SET_HOLD_TRAIN.value,
skinCode: '04',
trainingName: '设置扣车({10}-{12}站台)',
trainingRemark: '设置扣车功能',
trainingRemark: '对指定站台设置扣车,设置后当列车运行至该站台时,将会执行扣车,列车不再行驶',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
@ -656,7 +661,7 @@ export default {
operateType: CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN.value,
skinCode: '04',
trainingName: '取消扣车({10}-{12}站台)',
trainingRemark: '设置取消扣车功能',
trainingRemark: '对指定站台取消之前设置的扣车',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
@ -670,7 +675,8 @@ export default {
operateType: CMD.Stand.CMD_STAND_WHOLE_LINE_CANCEL_HOLD_TRAIN.value,
skinCode: '04',
trainingName: '全线取消扣车',
trainingRemark: '设置取消扣车功能({12}全线)',
trainingRemark: '指定{12}所有站台取消之前设置的扣车',
// ({12}全线)
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
@ -685,7 +691,7 @@ export default {
operateType: CMD.Stand.CMD_STAND_SET_JUMP_STOP.value,
skinCode: '04',
trainingName: '设置跳停({10}-{12}站台)',
trainingRemark: '设置跳停功能',
trainingRemark: '对指定站台设置跳停命令,命令后续列车不停站通过该站台',
trainingType: 'Stand',
productTypes: ['01'],
stepVOList: [
@ -699,7 +705,7 @@ export default {
operateType: CMD.Stand.CMD_STAND_SET_JUMP_STOP.value,
skinCode: '04',
trainingName: '设置跳停({10}-{12}站台)',
trainingRemark: '设置跳停功能',
trainingRemark: '对指定站台设置跳停命令,命令后续列车不停站通过该站台',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
@ -713,7 +719,7 @@ export default {
operateType: CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP.value,
skinCode: '04',
trainingName: '取消跳停({10}-{12}站台)',
trainingRemark: '设置取消跳停功能',
trainingRemark: '对指定站台取消之前设置的跳停命令',
trainingType: 'Stand',
productTypes: ['01'],
stepVOList: [
@ -727,7 +733,7 @@ export default {
operateType: CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP.value,
skinCode: '04',
trainingName: '取消跳停({10}-{12}站台)',
trainingRemark: '设置取消跳停功能',
trainingRemark: '对指定站台取消之前设置的跳停命令',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
@ -741,7 +747,7 @@ export default {
operateType: CMD.Stand.CMD_STAND_SET_PARK_TIME.value,
skinCode: '04',
trainingName: '设置停站时间({10}-{12}站台)',
trainingRemark: '设置停站时间(自动, 一直有效)',
trainingRemark: '对某一指定站台设置列车停站时间 (自动, 一直有效)',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
@ -755,7 +761,7 @@ export default {
operateType: CMD.Stand.CMD_STAND_SET_PARK_TIME.value,
skinCode: '04',
trainingName: '设置停站时间({10}-{12}站台)',
trainingRemark: '设置停站时间(人工, 20秒, 一直有效)',
trainingRemark: '对某一指定站台设置列车停站时间 (人工, 20秒, 一直有效)',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
@ -772,7 +778,7 @@ export default {
operateType: CMD.Stand.CMD_STAND_SET_PARK_TIME.value,
skinCode: '04',
trainingName: '设置停站时间({10}-{12}站台)',
trainingRemark: '设置停站时间(人工, 20秒, 一次有效)',
trainingRemark: '对某一指定站台设置列车停站时间 (人工, 20秒, 一次有效)',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
@ -788,7 +794,7 @@ export default {
operateType: CMD.Stand.CMD_STAND_SET_RUN_TIME.value,
skinCode: '04',
trainingName: '设置站间运行等级({10}-{12}站台)',
trainingRemark: '设置站间运行等级(自动, 一直有效)',
trainingRemark: '设置某一指定站台到下一站台的区间运行时间 (自动, 一直有效)',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
@ -802,7 +808,7 @@ export default {
operateType: CMD.Stand.CMD_STAND_SET_RUN_TIME.value,
skinCode: '04',
trainingName: '设置站间运行等级({10}-{12}站台)',
trainingRemark: '设置站间运行等级(人工, 常速, 一直有效)',
trainingRemark: '设置某一指定站台到下一站台的区间运行时间 (人工, 常速, 一直有效)',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
@ -818,7 +824,7 @@ export default {
operateType: CMD.Stand.CMD_STAND_SET_RUN_TIME.value,
skinCode: '04',
trainingName: '设置站间运行等级({10}-{12}站台)',
trainingRemark: '设置站间运行等级(人工, 常速, 一次有效)',
trainingRemark: '设置某一指定站台到下一站台的区间运行时间 (人工, 常速, 一次有效)',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
@ -833,7 +839,7 @@ export default {
operateType: CMD.Stand.CMD_STAND_VIEW_STATUS.value,
skinCode: '04',
trainingName: '显示站台信息({10}-{12}站台)',
trainingRemark: '查询站台状态功能',
trainingRemark: '显示站台的扣车、停站时间、运行等级状态等信息',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
@ -847,7 +853,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO.value,
skinCode: '04',
trainingName: '设置自动进路({3})',
trainingRemark: '设置自动进路功能',
trainingRemark: '对于正向运行,经常有连续通过列车的信号机具有自动进路功能。当信号机设置为自动进路属性后,能使防护该进路的信号机随列车运行自动变换相应显示,此时进路中的道岔保证处于锁闭状态。',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
@ -863,7 +869,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO.value,
skinCode: '04',
trainingName: '取消自动进路({3})',
trainingRemark: '取消自动进路功能',
trainingRemark: '取消信号机的自动进路属性',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
@ -879,7 +885,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_SET_AUTO_TURN_BACK.value,
skinCode: '04',
trainingName: '设置自动折返({3})',
trainingRemark: '设置自动折返功能',
trainingRemark: '自动办理终端折返站的折入和折返进路',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
@ -895,7 +901,7 @@ export default {
operateType: CMD.Signal.CMD_SIGNAL_CANCEL_AUTO_TURN_BACK.value,
skinCode: '04',
trainingName: '取消自动折返({3})',
trainingRemark: '取消自动折返功能',
trainingRemark: '取消自动办理终端折返站的折入和折返进路',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
@ -912,7 +918,7 @@ export default {
operateType: CMD.Station.CMD_STATION_SET_MASTER_GUIDE_LOCK.value,
skinCode: '04',
trainingName: '引导总锁({26})',
trainingRemark: '设置引导总锁',
trainingRemark: '当道岔失去表示时,通过办理引导总锁,锁闭该设备集中站的所有道岔。道岔锁闭后,可开放相应的引导信号。此时,行车安全完全由人工保证。',
trainingType: 'Station',
productTypes: ['01'],
stepVOList: [

View File

@ -100,7 +100,7 @@ export default {
operateType: 'Station_Set_CI_Auto_Trigger',
skinCode: '07',
trainingName: '全站设置联锁自动触发({26})',
trainingRemark: '全站设置联锁自动触发',
trainingRemark: '向 ATP 下达“全站设置联锁自动触发命令”成功后,本一级集中站内,所有在联锁表中配置了联锁自动触发的进路都会被设置为联锁自动触发模式。',
trainingType: 'Station',
productTypes: ['01'],
stepVOList: [
@ -113,7 +113,7 @@ export default {
operateType: 'Station_Cancel_CI_Auto_Trigger',
skinCode: '07',
trainingName: '全站取消联锁自动触发({26})',
trainingRemark: '全站取消联锁自动触发',
trainingRemark: '向 ATP 下达“全站取消联锁自动触发命令”成功后,本一级集中站内,所有设置了联锁自动触发的进路都会被取消联锁自动触发模式。',
trainingType: 'Station',
productTypes: ['01'],
stepVOList: [
@ -629,7 +629,7 @@ export default {
operateType: 'Switch_Set_Limit_Speed',
skinCode: '02',
trainingName: '道岔区段设置限速({7})',
trainingRemark: '对道岔设置限速限速值5',
trainingRemark: '对道岔区段设置限速限速值5',
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
@ -648,7 +648,7 @@ export default {
operateType: 'Switch_Cancel_Limit_Speed',
skinCode: '02',
trainingName: '道岔区段取消限速({7})',
trainingRemark: '取消对道岔的限速',
trainingRemark: '取消对道岔区段的限速',
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
@ -922,7 +922,7 @@ export default {
operateType: 'Station_Close_Auto_Setting',
skinCode: '07',
trainingName: '全站进路交人工控({26})',
trainingRemark: '全站进路交人工控',
trainingRemark: '将全站信号机为始端的进路取消ATS自动触发使能转为人工办理',
trainingType: 'Station',
productTypes: ['02'],
stepVOList: [
@ -936,7 +936,7 @@ export default {
operateType: 'Station_Open_Auto_Setting',
skinCode: '07',
trainingName: '全站进路ATS自排({26})',
trainingRemark: '全站进路ATS自排',
trainingRemark: '将全站信号机为始端的进路设置为由ATS自动触发使能',
trainingType: 'Station',
productTypes: ['02'],
stepVOList: [

View File

@ -36,7 +36,7 @@ export default {
operateType: 'Stand_Set_Hold_Train_Batch',
skinCode: '06',
trainingName: '批量扣车({10}-{12} 站台)',
trainingRemark: '批量扣车功能',
trainingRemark: '设置多个站台扣车',
trainingType: 'Stand',
productTypes: ['02'], // 产品类型 01 现地 02 行调
stepVOList: [
@ -50,7 +50,7 @@ export default {
operateType: 'Stand_Cancel_Hold_Train_Batch',
skinCode: '06',
trainingName: '取消批量扣车({10}-{12} 站台)',
trainingRemark: '取消批量扣车功能',
trainingRemark: '取消多个站台扣车',
trainingType: 'Stand',
productTypes: ['02'], // 产品类型 01 现地 02 行调
stepVOList: [
@ -204,7 +204,7 @@ export default {
operateType: 'Stand_Set_Hold_Train_Auto',
skinCode: '06',
trainingName: '区间列车数量限制({10}-{12}站台)',
trainingRemark: '区间列车数量限制',
trainingRemark: '维护台通过选择此功能可对某一站台上行或下行方向设置自动扣车功能使能。当设置后如果前方隧道内列车超过一定数量ATS会自动在该站台设置相应方向的站台扣车。',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
@ -218,7 +218,7 @@ export default {
operateType: 'Stand_Cancel_Hold_Train_Auto',
skinCode: '06',
trainingName: '取消区间列车数量限制({10}-{12}站台)',
trainingRemark: '取消区间列车数量限制',
trainingRemark: '维护台选择此功能用于取消对某一站台上行或下行方向自动扣车功能',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
@ -380,7 +380,8 @@ export default {
operateType: 'Switch_Normal_Position',
skinCode: '06',
trainingName: '定操({7})',
trainingRemark: '道岔定操功能({7})',
trainingRemark: '在道岔未锁闭的情况下将道岔单操至定位',
// ({7})
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
@ -395,7 +396,8 @@ export default {
operateType: 'Switch_Reverse_Position', // 0313 新增定位字典
skinCode: '06',
trainingName: '反操({7})',
trainingRemark: '道岔反操功能({7})',
trainingRemark: '在道岔未锁闭的情况下将道岔单操至反位',
// ({7})
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
@ -520,7 +522,7 @@ export default {
operateType: 'Switch_Set_Limit_Speed',
skinCode: '06',
trainingName: '设置临时限速({7})',
trainingRemark: '对道岔设置限速限速值10',
trainingRemark: '对道岔区段设置限速限速值10',
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
@ -539,7 +541,7 @@ export default {
operateType: 'Switch_Set_Limit_Speed',
skinCode: '06',
trainingName: '设置临时限速({7})',
trainingRemark: '取消对道岔的限速(限速值:不限速)',
trainingRemark: '取消对道岔区段的限速(限速值:不限速)',
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
@ -702,7 +704,7 @@ export default {
operateType: 'Signal_Human_Release_Route',
skinCode: '06',
trainingName: '人解列车进路({5})',
trainingRemark: '人解列车进路',
trainingRemark: '当需取消已处于接近锁闭状态(接近区段有车、信号开放、进路空闲)的进路时,可以使用人解进路功能;在办理取消引导接车进路时,使用人解进路功能',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
@ -772,7 +774,6 @@ export default {
{ deviceType: '04', orderNum: 2, operateCode: '316', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 20,
minDuration: 15,
@ -823,7 +824,7 @@ export default {
operateType: 'Signal_Set_Auto_Turn_Back',
skinCode: '06',
trainingName: '设置自动折返({3})',
trainingRemark: '设置自动折返',
trainingRemark: '自动办理终端折返站的折入和折返进路',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
@ -839,7 +840,7 @@ export default {
operateType: 'Signal_Cancel_Auto_Turn_Back',
skinCode: '06',
trainingName: '取消自动折返({3})',
trainingRemark: '取消自动折返',
trainingRemark: '取消自动办理终端折返站的折入和折返进路',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
@ -855,7 +856,7 @@ export default {
operateType: 'Station_Close_Auto_Setting',
skinCode: '06',
trainingName: '所有进路自排关({26})',
trainingRemark: '所有进路自排关',
trainingRemark: '将车站中所有进路交人工控',
trainingType: 'Station',
productTypes: ['02'],
stepVOList: [
@ -869,7 +870,7 @@ export default {
operateType: 'Station_Cancel_CI_Auto_Trigger',
skinCode: '06',
trainingName: '全站取消联锁自动触发({26})',
trainingRemark: '全站取消联锁自动触发',
trainingRemark: '取消全站信号机处于联锁自动排列进路',
trainingType: 'Station',
productTypes: ['01'],
stepVOList: [
@ -882,7 +883,7 @@ export default {
operateType: 'Station_Set_CI_Auto_Trigger',
skinCode: '06',
trainingName: '全站设置联锁自动触发({26})',
trainingRemark: '全站设置联锁自动触发',
trainingRemark: '设置全站信号机处于联锁自动排列进路',
trainingType: 'Station',
productTypes: ['01'],
stepVOList: [
@ -911,7 +912,7 @@ export default {
operateType: 'Station_Set_Or_Cancel_Force_Physical_Signal',
skinCode: '06',
trainingName: '设置/取消强制点灯({26})',
trainingRemark: '设置/取消强制点灯',
trainingRemark: '信号检修时,使用强制点灯操作',
trainingType: 'Station',
productTypes: ['01', '02'],
stepVOList: [
@ -930,7 +931,7 @@ export default {
operateType: 'Station_Open_Auto_Setting',
skinCode: '06',
trainingName: '所有进路自排开({26})',
trainingRemark: '所有进路自排开',
trainingRemark: '将车站中所有进路交自动控',
trainingType: 'Station',
productTypes: ['02'],
stepVOList: [
@ -984,6 +985,7 @@ export default {
// { deviceType: '05', orderNum: 2, operateCode: '10002', tip: '鼠标左键点击【确定】按钮' },
// ]
// },
// 后端未生成
{
maxDuration: 15,
minDuration: 8,
@ -1008,7 +1010,7 @@ export default {
operateType: 'Station_Open_Auto_Setting',
skinCode: '06',
trainingName: '{26}全站进路交自动控',
trainingRemark: '全站进路交自动控',
trainingRemark: '将全站进路设置为由ATS自动触发使能',
trainingType: 'Station',
productTypes: ['01'],
stepVOList: [
@ -1023,7 +1025,7 @@ export default {
operateType: 'Station_Set_CI_Auto',
skinCode: '06',
trainingName: '设置{26}全站自动通过进路',
trainingRemark: '设置全站自动通过进路',
trainingRemark: '一次性对集中站所有信号机设置自动通过模式',
trainingType: 'Station',
productTypes: ['01'],
stepVOList: [
@ -1038,7 +1040,7 @@ export default {
operateType: 'Station_Cancel_CI_Auto',
skinCode: '06',
trainingName: '取消{26}全站自动通过进路',
trainingRemark: '取消全站自动通过进路',
trainingRemark: '一次性对集中站所有信号机取消自动通过模式',
trainingType: 'Station',
productTypes: ['01'],
stepVOList: [
@ -1046,7 +1048,7 @@ export default {
{ deviceType: 'mbm', orderNum: 2, operateCode: '6151', tip: '鼠标左键点击菜单【取消{26}全站自动通过进路】' },
{ deviceType: '05', orderNum: 3, operateCode: '6152', tip: '鼠标左键点击【确定】按钮' }
]
},
}
// {
// maxDuration: 15,
// minDuration: 8,
@ -1064,22 +1066,23 @@ export default {
// { deviceType: '05', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
// ]
// },
{
maxDuration: 15,
minDuration: 8,
operateType: 'Station_Power_On_Unlock',
skinCode: '06',
trainingName: '上电解锁({26})',
trainingRemark: '上电解锁',
trainingType: 'Station',
productTypes: ['01'],
stepVOList:[
{deviceType: '05', orderNum: 1, operateCode: '603', tip: '鼠标右键菜单选择【上电解锁】'},
{deviceType: '05', orderNum: 2, operateCode: '6031', tip: '鼠标左键点击【下达】'},
{deviceType: '05', orderNum: 3, operateCode: '6033', tip: '鼠标左键点击【确认1】'},
{deviceType: '05', orderNum: 4, operateCode: '6034', tip: '鼠标左键点击【确认2】'},
{deviceType: '05', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮'}
]
}
// 暂不生成
// {
// maxDuration: 15,
// minDuration: 8,
// operateType: 'Station_Power_On_Unlock',
// skinCode: '06',
// trainingName: '上电解锁({26})',
// trainingRemark: '上电解锁当联锁机上电重启后,系统处于初始启动状态,在正常使用之前须在直连视图下执行“上电解锁”操作',
// trainingType: 'Station',
// productTypes: ['01'],
// stepVOList:[
// {deviceType: '05', orderNum: 1, operateCode: '603', tip: '鼠标右键菜单选择【上电解锁】'},
// {deviceType: '05', orderNum: 2, operateCode: '6031', tip: '鼠标左键点击【下达】'},
// {deviceType: '05', orderNum: 3, operateCode: '6033', tip: '鼠标左键点击【确认1】'},
// {deviceType: '05', orderNum: 4, operateCode: '6034', tip: '鼠标左键点击【确认2】'},
// {deviceType: '05', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮'}
// ]
// }
]
};

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,7 @@ export default {
operateType: 'Stand_Set_Hold_Train',
skinCode: '09',
trainingName: '扣车({10}-{12} 站台)',
trainingRemark: '设置扣车功能',
trainingRemark: '用于在某一指定站台设置扣车,设置后当列车运行至该站台时,将会执行扣车,列车不再行驶',
trainingType: 'Stand',
productTypes: ['01', '02'], // 产品类型 01 现地 02 行调
stepVOList: [
@ -21,8 +21,8 @@ export default {
minDuration: 5,
operateType: 'Stand_Cancel_Hold_Train',
skinCode: '09',
trainingName: '取消扣车({10}-{12} 站台)',
trainingRemark: '取消扣车功能',
trainingName: '车({10}-{12} 站台)',
trainingRemark: '对某一指定站台取消之前设置的扣车',
trainingType: 'Stand',
productTypes: ['01', '02'], // 产品类型 01 现地 02 行调
stepVOList: [
@ -38,7 +38,7 @@ export default {
operateType: 'Stand_Set_Jump_Stop',
skinCode: '09',
trainingName: '设置跳停({10}-{12}站台)',
trainingRemark: '设置跳停功能',
trainingRemark: '设置一个跳停本站命令,请求列车跳过这个计划中本要停靠的车站。系统传输跳停信息给列车',
trainingType: 'Stand',
productTypes: ['01', '02'],
stepVOList: [
@ -54,7 +54,7 @@ export default {
operateType: 'Stand_Cancel_Jump_Stop',
skinCode: '09',
trainingName: '取消跳停({10}-{12}站台)',
trainingRemark: '设置取消跳停功能',
trainingRemark: '对指定站台取消之前设置的跳停命令',
trainingType: 'Stand',
productTypes: ['01', '02'],
stepVOList: [
@ -126,14 +126,13 @@ export default {
{ deviceType: '06', orderNum: 2, operateCode: '0012', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Section_Fault_Unlock',
skinCode: '09',
trainingName: '区段故障解锁({8}{9})',
trainingRemark: '区段故障解锁',
trainingRemark: '列车通过进路时,因进路中设备故障,无法正常解锁时,需采用故障解锁使未解锁的部分解锁',
trainingType: 'Section',
productTypes: ['01'],
stepVOList: [
@ -214,7 +213,7 @@ export default {
operateType: 'Section_Block',
skinCode: '09',
trainingName: '区段封锁({8}{9})',
trainingRemark: '区段封锁功能',
trainingRemark: '封锁后,禁止通过该区段排列进路',
trainingType: 'Section',
productTypes: ['01', '02'],
stepVOList: [
@ -228,7 +227,7 @@ export default {
operateType: 'Section_Unblock',
skinCode: '09',
trainingName: '区段解封({8}{9})',
trainingRemark: '区段解封功能',
trainingRemark: '允许通过该区段排列进路',
trainingType: 'Section',
productTypes: ['01', '02'],
stepVOList: [
@ -243,8 +242,9 @@ export default {
minDuration: 8,
operateType: 'Switch_Normal_Position',
skinCode: '09',
trainingName: '定操({7})',
trainingRemark: '定操({7})',
trainingName: '道岔定位({7})',
trainingRemark: '通过“道岔定位”功能请求道岔转至定位',
// ({7})
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
@ -257,8 +257,9 @@ export default {
minDuration: 8,
operateType: 'Switch_Reverse_Position',
skinCode: '09',
trainingName: '反操({7})',
trainingRemark: '反操({7})',
trainingName: '道岔反位({7})',
trainingRemark: '通过“道岔反位”功能请求道岔转至反位',
// ({7})
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
@ -272,7 +273,7 @@ export default {
operateType: 'Switch_Single_Lock',
skinCode: '09',
trainingName: '道岔单锁({7})',
trainingRemark: '道岔单锁功能',
trainingRemark: '通过“道岔单锁功能请求系统阻止道岔从其当前位置进行转动',
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
@ -286,7 +287,7 @@ export default {
operateType: 'Switch_Single_Unlock',
skinCode: '09',
trainingName: '道岔单解({7})',
trainingRemark: '道岔单解功能',
trainingRemark: '通过“道岔单解功能请求系统对已单锁的道岔解锁',
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
@ -303,7 +304,7 @@ export default {
operateType: 'Signal_Set_Route',
skinCode: '09',
trainingName: '排列进路({3})',
trainingRemark: '排列进路',
trainingRemark: '进路:列车在站内运行时所经由的路径。依据进路是否建立,可以将进路状态分成锁闭状态和解锁状态。建立了进路,即指利用该进路排列进路,称该进路处于锁闭状态。进路处于锁闭状态时,进路上的所有道岔被锁闭在规定位置(不能转换位置),防护该进路的信号机才能开放,列车才可能在该进路上运行。',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
@ -318,7 +319,7 @@ export default {
operateType: 'Signal_Cancel_Route',
skinCode: '09',
trainingName: '取消进路({3})',
trainingRemark: '取消进路',
trainingRemark: '当列车运行通过锁闭的进路后,该进路将被解锁而处于解锁状态。解锁状态时进路上道岔随时有转换位置的可能,列车在该进路上运行将极其危险,因而一般不允许列车在没有锁闭的进路上运行。',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
@ -332,7 +333,7 @@ export default {
operateType: 'Signal_Set_CI_Auto',
skinCode: '09',
trainingName: '开放自动进路({5})',
trainingRemark: '设置联锁自动进路',
trainingRemark: '设置“自动进路”功能可通过信号机开放自动进路或取消自动进路。“开放自动进路”可让系统在进路区段出清时自动重新开放进路。如果信号关闭并且道岔处于定位,则可使用信号自动进路功能开放信号。联锁自动进路',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
@ -346,7 +347,7 @@ export default {
operateType: 'Signal_Cancel_CI_Auto',
skinCode: '09',
trainingName: '关闭自动进路({5})',
trainingRemark: '取消自动联锁进路',
trainingRemark: '“关闭自动进路”让系统关闭信号机自动进路功能,并且仅可在已经开放自动进路的信号机上请求。“关闭自动进路”并不取消进路。',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
@ -360,7 +361,7 @@ export default {
operateType: 'Signal_Block',
skinCode: '09',
trainingName: '终端信号封锁({5})',
trainingRemark: '终端信号封锁功能',
trainingRemark: '终端信号封锁/解封”功能可以防止调度员开放以此信号机作为终端的进路或在信号解锁并允许再次设置进路。“终端信号封锁”阻止以此信号机作为终端设置进路。',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
@ -374,7 +375,7 @@ export default {
operateType: 'Signal_Unblock',
skinCode: '09',
trainingName: '终端信号解封({5})',
trainingRemark: '终端信号解封功能',
trainingRemark: '“终端信号解封”取消信号机终端封锁',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
@ -390,14 +391,14 @@ export default {
operateType: 'Signal_Set_Guide',
skinCode: '09',
trainingName: '引导信号({5})',
trainingRemark: '引导信号功能',
trainingRemark: '开放信号并建立引导进路。如果进路内任一轨道故障出现红光带,在确认故障轨道无车占用的情况下,可在接近轨道占用时开放引导信号',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '308', tip: '鼠标右键菜单选择【引导信号】' },
{ deviceType: '04', orderNum: 2, operateCode: '009', tip: '鼠标左键点击【发送请求】按钮' }
],
config: {onlySignalOP:true}
config: {onlySignalOP:true}
},
{
maxDuration: 15,
@ -405,7 +406,7 @@ export default {
operateType: 'Signal_Find_Routes_Status',
skinCode: '09',
trainingName: '帮助({5})',
trainingRemark: '帮助',
trainingRemark: '查看某个信号机为始端的进路是否处于ATS自动触发状态',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
@ -447,7 +448,7 @@ export default {
operateType: 'CM_Apply_For_Station_Control',
skinCode: '09',
trainingName: '本地控制许可/请求({2})',
trainingRemark: '本地控制许可功能/请求',
trainingRemark: '从 ATS 车站工作站请求本地控制',
trainingType: 'ControlConvertMenu',
productTypes: ['01'],
stepVOList: [
@ -461,7 +462,7 @@ export default {
operateType: 'CM_Apply_For_Center_Control',
skinCode: '09',
trainingName: '本地控制许可/取消({2})',
trainingRemark: '本地控制许可/取消功能',
trainingRemark: '可通过“本地控制->取消”功能释放本地控制将本地控制权限返回中央ATS。',
trainingType: 'ControlConvertMenu',
productTypes: ['01'],
stepVOList: [
@ -475,7 +476,7 @@ export default {
operateType: 'CM_Emergency_Station_Control',
skinCode: '09',
trainingName: '本地控制许可/紧急本地控制({2})',
trainingRemark: '本地控制许可/紧急本地控制功能',
trainingRemark: '在ATS车站工作站进行操作时需要从中央ATS快速获取紧急情况下的控制用户可使用“紧急本地控制”功能。',
trainingType: 'ControlConvertMenu',
productTypes: ['01'],
stepVOList: [
@ -490,7 +491,7 @@ export default {
operateType: 'Station_Open_Auto_Setting',
skinCode: '09',
trainingName: '进路模式/自动({26})',
trainingRemark: '进路模式/自动功能',
trainingRemark: '将某个信号机为始端的某条进路设置为由ATS自动触发使能',
trainingType: 'Station',
productTypes: ['02'],
stepVOList: [
@ -505,7 +506,7 @@ export default {
operateType: 'Station_Close_Auto_Setting',
skinCode: '09',
trainingName: '进路模式/人工({26})',
trainingRemark: '进路模式/人工功能',
trainingRemark: '将某个信号机为始端的进路取消ATS自动触发使能转为人工办理',
trainingType: 'Station',
productTypes: ['02'],
stepVOList: [
@ -520,7 +521,7 @@ export default {
operateType: 'Station_Set_Turn_Back_Strategy',
skinCode: '09',
trainingName: '折返模式/侧线优先({26})',
trainingRemark: '折返模式/侧线优先功能',
trainingRemark: '折返站的折返模式应根据运营需要进行设置。(侧线优先)',
trainingType: 'Station',
productTypes: ['02'],
stepVOList: [
@ -534,7 +535,7 @@ export default {
operateType: 'Station_Set_Turn_Back_Strategy',
skinCode: '09',
trainingName: '折返模式/直线折返({26})',
trainingRemark: '折返模式/直线折返功能',
trainingRemark: '折返站的折返模式应根据运营需要进行设置。(直线折返)',
trainingType: 'Station',
productTypes: ['02'],
stepVOList: [
@ -548,7 +549,8 @@ export default {
operateType: 'Station_Set_Turn_Back_Strategy',
skinCode: '09',
trainingName: '折返模式/侧线折返({26})',
trainingRemark: '折返模式/侧线折返功能',
trainingRemark: '折返站的折返模式应根据运营需要进行设置。(侧线折返)',
// 共有三种折返模式:侧线优先、直线折返、侧线折返
trainingType: 'Station',
productTypes: ['02'],
stepVOList: [

View File

@ -225,6 +225,7 @@ export const projectTky = '018'; // 铁科院
export const projectHeb = '019'; // 哈盈达
export const projectDrts = '020'; // 行调实训
export const projectSdy = '021';// 苏电院
export const projectRichor = '022';// 中航锐创
export const userTrainingPlatform = '016'; // 实训系统
// export const refereePlatform = '017'; // 裁判系统

View File

@ -15,6 +15,7 @@ import FaviconNty from '@/assets/icon/favicon_nty.png';
import FaviconBjd from '@/assets/icon/favicon_bjd.png';
import FaviconSdy from '@/assets/icon/favicon_jdy.png';
import FaviconCgy from '@/assets/icon/favicon_cgy.png';
import FaviconRichor from '@/assets/icon/favicon_richor.png';
import FaviconZzww from '@/assets/icon/favicon_zzww.png';
import Link_Bxkc from '@/assets/icon/link_bxkc.png';
import Link_Crsc from '@/assets/icon/link_crsc.png';
@ -425,6 +426,16 @@ export const loginInfo = {
navigationLogoWidth: '180px',
navigationMarginLeft: '195px',
systemType: '011'
},
richor:{
title: '中航锐创城市轨道交通实训平台',
loginParam: 'RICHOR',
bottomColumn: '中航锐创(北京)科技发展有限公司 联系电话:4000500081',
linkIcon: FaviconRichor,
titleIcon: FaviconRichor,
navigationLogoWidth: '40px',
navigationMarginLeft: '50px',
systemType: '022'
}
};
@ -466,7 +477,8 @@ export const ProjectIcon = {
sdy: FaviconSdy,
designsdy: FaviconSdy,
cgy: FaviconCgy,
designcgy: FaviconCgy
designcgy: FaviconCgy,
richor:FaviconRichor
};
export const ProjectCode = {
@ -495,10 +507,11 @@ export const ProjectCode = {
sdy: 'SDY',
designsdy: 'SDY',
cgy: 'CGY',
designcgy: 'CGY'
designcgy: 'CGY',
richor:'RICHOR'
};
export const BottomColumnOnlyConInfo = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy']; // 底部栏仅展示公司信息不展示备案号
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']; // 实训设计平台通过项目code获取地图列表的项目
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 CaseHideProjectList = ['heb', 'designheb', 'cgy', 'designcgy']; // 案例展示隐藏的项目
export const VersionBaseNoShow = ['heb', 'designheb', 'hls', 'designhls', 'drts', 'wjls', 'hyd', 'designhyd', 'cgy', 'designcgy']; // 登录页右下角版本开发基于不展示
export const MainBodyNoShow = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy']; // 登录页右下角主体不展示
@ -557,7 +570,8 @@ export const ProjectList = [
{value: 'sdy', label: '苏电院'},
{value: 'cgy', label: '成都工业'},
{value: 'wjls', label: '微机联锁'},
{value: 'zzww', label: '郑州共赢'}
{value: 'zzww', label: '郑州共赢'},
{value: 'richor', label: '中航锐创'}
];
export const localPackageProject = {
localdesign: 'designheb',

View File

@ -30,7 +30,8 @@ export const MapDeviceType = {
export const deviceFaultType = {
Section: [
{label: '计轴故障', value: 'FAULT'},
{label: '通信车占用', value: 'CBTC_OCCUPIED_FAULT'}
{label: '通信车占用', value: 'CBTC_OCCUPIED_FAULT'},
{label: 'ARB', value: 'ARB'}
// {label: '计轴干扰', value: 'DISTURBANCE'}
],
Signal: [
@ -68,7 +69,8 @@ export const deviceFaultType = {
export const deviceFaultMap = {
Section: {
FAULT: '计轴故障',
CBTC_OCCUPIED_FAULT: '通信车占用'
CBTC_OCCUPIED_FAULT: '通信车占用',
ARB: 'ARB'
},
Signal: {
MAIN_FILAMENT_BROKEN: '熔断'

View File

@ -1,4 +1,4 @@
import { publicAsyncRoute, asyncRouter, constantRoutes, user, projectTrain, projectXian, projectXty, projectGzzb, projectJsxt, projectJyd, projectTky, projectHeb, superAdmin, admin, userTrainingPlatform, JSXT, projectRoute, projectDrts, projectSdy } from '@/router/index';
import { publicAsyncRoute, asyncRouter, constantRoutes, user, projectTrain, projectXian, projectXty, projectGzzb, projectJsxt, projectJyd, projectRichor, projectTky, projectHeb, superAdmin, admin, userTrainingPlatform, JSXT, projectRoute, projectDrts, projectSdy } from '@/router/index';
import { loginInfo } from '@/scripts/ProjectConfig';
import { getSessionStorage } from '@/utils/auth';
@ -78,6 +78,8 @@ function resetAsyncRouter({ systemType }) {
list = [...list, ...asyncRouter];
} else if (systemType == projectDrts) {
list = [...list, ...asyncRouter];
} else if (systemType == projectRichor) {
list = [...list, ...asyncRouter];
} else if (systemType == projectSdy) {
if (projectRoute && projectRoute.designsdy && projectRoute.designsdy.length) {
projectRoute.designheb.forEach(item => {

View File

@ -113,7 +113,7 @@ const runPlan = {
state.planData[serviceNumber] = { oldIndex, serviceNumber, trainMap: {} };
state.planLoadedCount++;
}
},
},
clear: (state) => {
// state.stations = [];
state.planData = {};

View File

@ -9,9 +9,9 @@
</div>
<div class="bullshit">
<div class="bullshit__oops">OOPS!</div>
<div class="bullshit__info">All rights reserved
<!-- <div class="bullshit__info">All rights reserved
<a style="color:#20a0ff" href="https://wallstreetcn.com" target="_blank">wallstreetcn</a>
</div>
</div> -->
<div class="bullshit__headline">{{ message }}</div>
<div class="bullshit__info">Please check that the URL you entered is correct, or click the button below to
return to the homepage.</div>

View File

@ -15,6 +15,16 @@
<el-form-item :label="this.$t('ibp.yCoordinate')">
<el-input-number v-model="form.y" controls-position="right" :min="1" />
</el-form-item>
<el-form-item label="方向">
<el-select v-model="form.direction" placeholder="请选择">
<el-option
v-for="(item, i) in directions"
:key="i"
:label="item.name"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit('form')">{{ buttonText }}</el-button>
<el-button v-show="showDeleteButton" type="danger" @click="deleteDevice">{{ $t('global.delete') }}</el-button>
@ -38,7 +48,8 @@ export default {
code: '',
alarmWidth: '',
x: 10,
y: 10
y: 10,
direction: null,
},
rules: {
code: [
@ -47,7 +58,12 @@ export default {
alarmWidth: [
{ required: true, message: this.$t('rules.enterTheAlarmWidth'), trigger: 'blur' }
]
}
},
directions: [
{ name: '全部', value: null},
{ name: '上行', value: true},
{ name: '下行', value: false},
],
};
},
computed: {
@ -64,6 +80,7 @@ export default {
this.form.alarmWidth = model.width;
this.form.x = model.point.x;
this.form.y = model.point.y;
this.form.direction = model.direction
}
}
},
@ -80,7 +97,8 @@ export default {
},
code: this.form.code,
_type: 'Alarm',
width: this.form.alarmWidth
width: this.form.alarmWidth,
direction: this.form.direction
};
this.$emit('createData', alarmModel);
this.initPage();
@ -97,7 +115,8 @@ export default {
},
code: this.form.code,
_type: 'Alarm',
width: this.form.alarmWidth
width: this.form.alarmWidth,
direction: this.form.direction
};
this.$emit('deleteDataModel', alarmModel );
this.initPage();
@ -110,7 +129,8 @@ export default {
code: '',
alarmWidth: '',
x: 10,
y: 10
y: 10,
direction: null
};
},
generateCode() {

View File

@ -44,6 +44,16 @@
/>
</el-select>
</el-form-item>
<el-form-item v-if="needDirectionItem" label="方向">
<el-select v-model="form.direction" placeholder="请选择">
<el-option
v-for="(item, i) in directions"
:key="i"
:label="item.name"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit('form')">{{ buttonText }}</el-button>
<el-button v-show="showDeleteButton" type="danger" @click="deleteDevice">{{ $t('global.delete') }}</el-button>
@ -65,19 +75,17 @@ export default {
buttonText: this.$t('ibp.createNow'),
showDeleteButton: false,
operateMeanList: [
{ label: '上行扣车', value: 'SXKC' },
{ label: '下行扣车', value: 'XXKC' },
{ label: '上行终止扣车', value: 'SXZZKC' },
{ label: '下行终止扣车', value: 'XXZZKC' },
{ label: '扣车', value: 'KC' },
{ label: '终止扣车', value: 'ZZKC' },
{ label: '紧急停车', value: 'JJTC' },
{ label: '取消紧急停车', value: 'QXJJTC' },
{ label: '报警切除', value: 'BJQC' },
{ label: '下行屏蔽门开门', value: 'XXKM' },
{ label: '上行屏蔽门开门', value: 'SXKM' },
{ label: '屏蔽门开门', value: 'KM' },
{ label: '计轴复位', value: 'AXLE_RESET' },
{ label: '计轴预复位', value: 'AXLE_PRE_RESET' },
{ label: '计轴预复零', value: 'PRERESET_Z' },
],
operateWithoutDirections: ['AXLE_RESET', 'AXLE_PRE_RESET', 'PRERESET_Z'],
form: {
code: '',
buttonColor: 'red',
@ -85,7 +93,8 @@ export default {
x: 10,
y: 10,
sectionCode: '',
mean: ''
mean: '',
direction: null,
},
rules: {
code: [
@ -99,13 +108,20 @@ export default {
],
sectionCode: [
{ required: true, message: '请选择关联区段', trigger: 'blur' }
]
],
},
sectionList: []
sectionList: [],
directions: [
{ name: '全部', value: null},
{ name: '上行', value: true},
{ name: '下行', value: false},
],
};
},
computed: {
needDirectionItem() {
return !this.operateWithoutDirections.includes(this.form.mean);
}
},
watch: {
'$store.state.ibp.rightClickCount': function (val) {
@ -121,6 +137,7 @@ export default {
this.form.y = model.point.y;
this.form.mean = model.mean;
this.form.sectionCode = model.sectionCode;
this.form.direction = model.direction;
}
}
},
@ -128,7 +145,7 @@ export default {
if (this.$route.query.stationCode) {
getSectionListByCenStationCode(this.$route.query.mapId, this.$route.query.stationCode).then(resp => {
this.sectionList = resp.data;
console.log(resp.data);
// console.log(resp.data);
}).catch(() => {
this.$message.error('获取区段列表失败!');
});
@ -142,9 +159,6 @@ export default {
}
},
methods: {
// consoleChange() {
// console.log(this.form.mean === 'PRERESET', this.form.mean );
// },
onSubmit(form) {
this.$refs[form].validate((valid) => {
if (valid) {
@ -159,7 +173,8 @@ export default {
status: 'off',
width: this.form.buttonWidth,
mean: this.form.mean,
sectionCode: this.form.sectionCode
sectionCode: this.form.sectionCode,
direction: this.form.direction,
};
this.$emit('createData', buttonModel);
this.initPage();
@ -180,7 +195,8 @@ export default {
status: 'off',
width: this.form.buttonWidth,
mean: this.form.mean,
sectionCode: this.form.sectionCode
sectionCode: this.form.sectionCode,
direction: this.form.direction,
};
this.$emit('deleteDataModel', buttonModel );
this.initPage();
@ -196,7 +212,8 @@ export default {
x: 10,
y: 10,
mean: '',
sectionCode: ''
sectionCode: '',
direction: null,
};
},
generateCode() {

View File

@ -25,6 +25,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="方向">
<el-select v-model="form.direction" placeholder="请选择">
<el-option
v-for="(item, i) in directions"
:key="i"
:label="item.name"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit('form')">{{ buttonText }}</el-button>
<el-button v-show="showDeleteButton" type="danger" @click="deleteDevice">{{ $t('global.delete') }}</el-button>
@ -45,20 +55,18 @@ export default {
buttonText: this.$t('ibp.createNow'),
showDeleteButton: false,
showMeanList: [
{label: '下行扣车', value: 'xxkcLight'},
{label: '上行扣车', value: 'sxkcLight'},
{label: '下行关门灯', value: 'xxgmLight'},
{label: '下行开门灯', value: 'xxkmLight'},
{label: '上行关门灯', value: 'sxgmLight'},
{label: '上行开门灯', value: 'sxkmLight'},
{label: '紧急停车灯', value: 'jjtcLight'}
{label: '扣车灯', value: 'kcLight'},
{label: '关门灯', value: 'gmLight'},
{label: '开门灯', value: 'kmLight'},
{label: '紧急停车灯', value: 'jjtcLight'},
],
form: {
code: '',
r: '',
x: 10,
y: 10,
mean: ''
mean: '',
direction: null
},
rules: {
code: [
@ -67,7 +75,12 @@ export default {
r: [
{ required: true, message: '请输入圆形灯半径', trigger: 'blur'}
]
}
},
directions: [
{ name: '全部', value: null},
{ name: '上行', value: true},
{ name: '下行', value: false},
],
};
},
computed: {
@ -85,6 +98,7 @@ export default {
this.form.x = model.point.x;
this.form.y = model.point.y;
this.form.mean = model.mean;
this.form.direction = model.direction
}
}
},
@ -103,6 +117,7 @@ export default {
code: this.form.code,
r: this.form.r,
mean: this.form.mean,
direction: this.form.direction,
fillColor: '#332C22'
};
this.$emit('createData', lampModel);
@ -123,6 +138,7 @@ export default {
code: this.form.code,
r: this.form.r,
mean: this.form.mean,
direction: this.form.direction,
fillColor: '#332C22'
};
this.$emit('deleteDataModel', lampModel );
@ -137,7 +153,8 @@ export default {
r: '',
x: 10,
y: 10,
mean: ''
mean: '',
direction: null
};
},
generateCode() {

View File

@ -7,9 +7,11 @@
<el-button v-if="$route.query.noPreLogout" type="primary" @click="quit">退出</el-button>
</el-button-group>
<audio id="buzzer" controls loop="loop">
<template v-for="alarm in alarmList" >
<audio :key="alarm.code" :id="`buzzer_${alarm.code}`" controls loop="loop">
<source :src="buzzerAudio" type="audio/mpeg">
</audio>
</audio>
</template>
</div>
</template>
@ -64,7 +66,8 @@ export default {
stationCode: '',
banUpOpenScreenDoor: false,
banDownOpenScreenDoor: false,
buzzerAudio:BuzzerAudio
buzzerAudio:BuzzerAudio,
alarmList: []
};
},
computed: {
@ -193,7 +196,8 @@ export default {
this.setIbp(data, ibpDatas);
this.$store.dispatch('ibp/setIbpData', ibpDatas);
this.handleBanOpenScreenDoorStatus();
this.preResetBtn = this.$ibp.$painter.ibpInstanceLevel.SquareButton.children().find(e=>e.model.mean === IbpOperation.PRERESET_Z.event);
this.preResetBtn = this.$ibp.$painter.ibpInstanceLevel.SquareButton.children().find(e=>e.model.mean === IbpOperation.PRERESET_Z.event); //
this.alarmList = this.$ibp.$painter.ibpInstanceLevel.Alarm.children().map(e=>e.model);
} else {
//
this.loading = false;

View File

@ -1,21 +1,25 @@
<template>
<div id="jl3d" style="z-index: 2010" class="jl3ddraw">
<Jl3ddevice-Msg v-show="isswitch ">
<Jl3ddevice-Msg v-show="showMsgComponent ">
</Jl3ddevice-Msg>
<Jl3ddevice-List v-show="!actionshow &&isswitch" :devicelist="devicelist" @sdevice="sdevice">
<Jl3ddevice-List v-show="!actionshow &&showMsgComponent" :devicelist="devicelist" @sdevice="sdevice">
</Jl3ddevice-List>
<canvas id="canvastexture" ></canvas>
<div class="jl3dcontrolpane" v-show="isswitch">
<div class="jl3dcontrolpane" v-show="showMsgComponent">
<el-button-group>
<el-button type="primary" @click="back">初始化</el-button>
<el-button type="primary" @click="alldisper">{{disperreset}}</el-button>
<el-button type="primary" @click="dispersed">{{devicestats}}</el-button>
<el-button type="primary" @click="switchhide">{{switchshow}}</el-button>
<el-button type="primary" @click="actionmodechange">{{actioncontrol}}</el-button>
<el-button v-show="showbutton=='door'" type="primary" @click="dxchange">{{doorDxStatus}}</el-button>
<el-button v-show="showbutton=='switch'" type="primary" @click="switchhide">{{switchshow}}</el-button>
<el-button v-show="showbutton=='switch'" type="primary" @click="actionmodechange">{{actioncontrol}}</el-button>
</el-button-group>
</div>
<div class="jl3dactionpane" v-show="actionshow && isswitch">
<div class="jl3dactionpane" v-show="actionshow && showMsgComponent">
<el-button-group>
<el-button type="primary" v-for="item in actionList" :key="item.type" @click="changeAction(item)">{{item.name}}</el-button>
</el-button-group>
@ -55,11 +59,13 @@
devicestats:"分步拆解",
disperreset:"整体拆解",
switchshow:"隐藏轨道",
doorDxStatus:"顶箱关",
switchstatus:true,
actioncontrol:"启用手摇道岔操作模式",
actionshow:false,
isPsd:true,
isswitch:false,
showbutton:"",
showMsgComponent:false,
actionList:[
{
name:"步骤1:查看道岔",
@ -219,13 +225,14 @@
this.jl3d.domresize();
}
},
updatemenulist(devicelist) {
updatemenulist(devicelist,type) {
this.showbutton = type;
if(devicelist){
this.devicelist = devicelist;
this.isswitch = true;
this.showMsgComponent = true;
}else{
this.devicelist = [];
this.isswitch = false;
this.showMsgComponent = false;
}
this.actionshow = false;
@ -254,6 +261,15 @@
this.jl3d.hideswitch(this.switchstatus);
}
},
dxchange(){
if(this.doorDxStatus == "顶箱关"){
this.doorDxStatus = "顶箱开";
this.jl3d.hideDx(true);
}else{
this.doorDxStatus = "顶箱关";
this.jl3d.hideDx(false);
}
},
actionmodechange(){
if(this.actionshow == false){
this.actionshow = true;

View File

@ -44,6 +44,12 @@
@deviceChange="deviceChange"
@deviceSelect="deviceSelect" />
</el-tab-pane>
<el-tab-pane class="view-control" label="批量操作" name="fourth" :lazy="lazy">
<responder-batch-operate
:responder-list="responderList"
:signal-list="signalList"
/>
</el-tab-pane>
</el-tabs>
</template>
@ -53,13 +59,15 @@ import ConstConfig from '@/scripts/ConstConfig';
import ResponderCreate from './responderCreate';
import ResponderModel from './responderModel';
import ResponderBatch from './responderBatch';
import ResponderBatchOperate from './responderBatchOperate';
export default {
name: 'ResponderDraft',
components: {
ResponderCreate,
ResponderModel,
ResponderBatch
ResponderBatch,
ResponderBatchOperate
},
props: {
selected: {

View File

@ -0,0 +1,86 @@
<template>
<div class="content">
<el-button type="primary" size="mini" @click="batchConnectHandler"
>一键关联信号机</el-button
>
<div class="desc">一键将未关联信号机的可变应答器关联到最近的信号机</div>
</div>
</template>
<script>
export default {
name: "responderBatchOperate",
props: ["responderList", "signalList"],
data() {
return {};
},
methods: {
batchConnectHandler() {
try {
let models = this.responderList.filter(
el => el.type === "VB" && !el.signalCode
);
models.forEach(responder => {
const sectionCode = responder.sectionCode;
let signals = this.signalList.filter(
signal => signal.sectionCode === sectionCode
);
if (signals.length === 1) {
responder.signalCode = signals[0].code;
} else if (signals.length > 1) {
let signalsPosition = signals.map(_ => _.position);
let nearestSignalCode =
signals[
this.chooseNearestSignal(
responder.position,
signalsPosition
)
].code;
responder.signalCode = nearestSignalCode;
}
});
this.$emit("updateMapModel", models);
this.$message.success("关联成功");
} catch (error) {
this.$message.info(error);
}
},
/**
* 计算最近的信号机的序号
* @param {Object} respPos
* @param {Number} respPos.x
* @param {Number} respPos.y
* @returns {Number} index of the Nearest element
*/
chooseNearestSignal(respPos, sigPos) {
let [minDistance, idx] = [Infinity, -1];
sigPos.forEach((s, i) => {
let distance = this.distanceOf(respPos, s);
if (distance < minDistance) [minDistance, idx] = [distance, i];
});
return idx;
},
//
distanceOf(a, b) {
return Math.hypot(b.x - a.x, b.y - a.y);
}
}
};
</script>
<style lang="scss" scoped>
.content {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
.desc {
font-size: 12px;
color: gray;
margin-top: 10px;
}
}
</style>

View File

@ -167,6 +167,7 @@ export default {
this.editModel[prop] = selected.code;
},
setModel(selected) {
if (!selected.signalCode) selected.signalCode = '';
this.editModel = deepAssign(this.editModel, selected);
},
deviceChange(code) {

View File

@ -55,7 +55,8 @@ export default {
name: '',
managedSectionList:[],
// visible: '',
// concentrateStationList:[],
noService: false,
concentrateStationList:[],
position: {
x: 0,
y: 0
@ -65,7 +66,8 @@ export default {
code: '',
name: '',
// visible: '',
// concentrateStationList:[],
noService: false,
concentrateStationList:[],
position: {
x: 0,
y: 0
@ -97,6 +99,7 @@ export default {
computed: {
...mapGetters('map', [
'zcList',
'stationList',
'seclectDeviceList'
]),
isButtonType() {
@ -120,8 +123,10 @@ export default {
{ prop: 'position.x', firstLevel: 'position', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '20px' },
{ prop: 'position.y', firstLevel: 'position', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '20px' }
] },
{ prop: 'noService', label: '无服务:', type: 'checkbox' },
{ prop:'concentrateStationList', label:this.$t('map.concentrateStationList'), type: 'multiSelect', optionLabel: 'name', optionValue: 'code', options: this.concertrateStation },
// deviceChange: this.changeConcertrateStation
{ prop:'managedSectionList', label:'管理区段列表: ', type: 'checkBoxDevice', getName:this.getName, mouseenter:this.mouseenter, mouseleave:this.mouseleave, buttonShowType:this.isButtonType, hover:this.hover, buttonType:'checkZcSection', clear:this.clear}
// { prop:'concentrateStationList', label:this.$t('map.concentrateStationList'), type: 'multiSelect', optionLabel: 'name', optionValue: 'code', options: this.concertrateStation, deviceChange: this.changeConcentrateStation }
]
}
}
@ -139,9 +144,9 @@ export default {
{ prop: 'position', label: this.$t('map.stateSignalsPlotCoordinates'), type: 'coordinate', width: '140px', children: [
{ prop: 'position.x', firstLevel: 'position', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '20px' },
{ prop: 'position.y', firstLevel: 'position', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '20px' }
] }
//
// { prop:'concentrateStationList', label:this.$t('map.concentrateStationList'), type: 'multiSelect', optionLabel: 'name', optionValue: 'code', options: this.concertrateStation, deviceChange: this.changeConcentrateStation }
] },
// deviceChange: this.changeConcertrateStation
{ prop:'concentrateStationList', label:this.$t('map.concentrateStationList'), type: 'multiSelect', optionLabel: 'name', optionValue: 'code', options: this.concertrateStation }
]
}
}
@ -150,10 +155,13 @@ export default {
}
},
watch: {
stationList() {
this.getConcertrateStation();
}
},
mounted() {
this.getConcertrateStation();
},
// mounted() {
// this.getConcertrateStation();
// },
methods: {
deviceChange(code) {
this.$emit('setCenter', code);
@ -165,8 +173,10 @@ export default {
if (selected && selected._type.toUpperCase() === 'CheckBox'.toUpperCase()) {
this.activeName = 'first';
this.seclectDeviceList.forEach(item => {
if (item._type == 'Section' && (item.type == '01' || item.type == '04') && !this.editModel.managedSectionList.includes(selected.code)) {
this.editModel.managedSectionList.push(item.code);
if (item._type == 'Section' && (item.type == '01' || item.type == '04')) {
if (!this.editModel.managedSectionList.includes(item.code)) {
this.editModel.managedSectionList.push(item.code);
}
}
});
} else if (selected && selected._type.toUpperCase() === 'Section'.toUpperCase()) {
@ -176,15 +186,47 @@ export default {
} else if (selected && selected._type.toUpperCase() === 'ZcControl'.toUpperCase()) {
this.$refs.dataform && this.$refs.dataform.resetFields();
this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected);
// this.editModel = deepAssign({}, selected);
this.editModel = {
code: selected.code,
name: selected.name,
noService: !!selected.noService,
concentrateStationList:selected.concentrateStationList || [],
managedSectionList:selected.managedSectionList || [],
position: Object.assign({}, selected.position)
};
// this.editModel
// if (this.editModel.concentrateStationList) { delete this.editModel.concentrateStationList; }
// if (!this.editModel.managedSectionList) { this.editModel.managedSectionList = []; }
}
},
getConcertrateStation() {
//
const beConcentrateStation = {};
this.zcList.forEach(data=>{
if (data.concentrateStationList) {
data.concentrateStationList.forEach(concentrate=>{
beConcentrateStation[concentrate] = data.code;
});
}
});
this.concertrateStation = this.stationList.filter(station=>{
// if (this.activeName == 'first') {
// return station.centralized && !( beConcentrateStation[station.code] && (beConcentrateStation[station.code] != this.editModel.code));
return station.centralized;
// } else {
// return station.centralized && !( beConcentrateStation[station.code]);
// }
});
},
clear() {
this.editModel.managedSectionList = [];
},
create() {
const uid = getUID('ZcControl', this.zcList);
const models = [];
let models = [];
const model = {
_type: 'ZcControl',
code: uid,
@ -195,8 +237,13 @@ export default {
}
};
models.push(model);
model.concentrateStationList.forEach(stationCode=>{
const arr = this.setStationStand(stationCode, model.code);
models = [...models, ...arr];
});
this.$emit('updateMapModel', models);
this.getConcertrateStation();
this.$refs.createForm.resetForm();
},
//
@ -204,7 +251,11 @@ export default {
this.$refs['dataform'].validate((valid) => {
if (valid) {
const data = Object.assign({_type: 'ZcControl'}, this.editModel);
const models = [data];
let models = [data];
data.concentrateStationList.forEach(stationCode=>{
const arr = this.setStationStand(stationCode, data.code);
models = [...models, ...arr];
});
this.$emit('updateMapModel', models);
this.$emit('deviceSelect', '');
}
@ -219,6 +270,16 @@ export default {
cancelButtonText: this.$t('tip.cancel'),
type: 'warning'
}).then(() => {
this.concertrateStation.forEach(station=>{
selected.concentrateStationList.forEach(stationCode=>{
switch (stationCode) {
case station.code: {
this.setStationStand(station.code, '');
break;
}
}
});
});
this.$emit('updateMapModel', {...selected, _dispose: true});
this.$refs.dataform && this.$refs.dataform.resetFields();
}).catch(() => {
@ -226,6 +287,21 @@ export default {
});
}
},
// ZC
setStationStand(stationCode, code) {
const arr = [];
this.stationList.forEach(elem=>{
if (elem.code == stationCode) {
const station = deepAssign({}, elem);
// const station = Object.assign({}, elem);
station.zcCode = code;
arr.push(station);
// this.$emit('updateMapModel', station);
}
});
return arr; // list
},
getName(code) {
const section = this.$store.getters['map/getDeviceByCode'](code);
return section.name || '';

View File

@ -9,7 +9,9 @@
import { LoginParams } from '@/utils/login';
import { thirdCountLogin } from '@/api/management/user';
import md5 from 'js-md5';
import { setToken, getToken, setSessionStorage } from '@/utils/auth';
import { setToken, getToken, setSessionStorage, getSessionStorage } from '@/utils/auth';
// , ProjectLoginStyleList, VersionBaseNoShow, MainBodyNoShow, NoQrcodeList, localPackageProject, RegisterCodeList
import { loginInfo, ProjectIcon } from '@/scripts/ProjectConfig';
export default {
name:'ThirdLogin',
@ -24,8 +26,14 @@ export default {
return project || 'login';
}
},
mounted() {
created() {
setSessionStorage('project', this.project);
const project = getSessionStorage('project');
if (project) {
document.querySelector("link[rel*='icon']").href = loginInfo[project].linkIcon || ProjectIcon[project];
}
},
mounted() {
const userId = this.$route.query.userId;
const paccount = this.$route.query.paccount;
const secret = this.$route.query.secret;
@ -35,6 +43,7 @@ export default {
if (userId && paccount && secret == computeSecret) {
const model = Object.assign({
parentAccount:paccount,
project:loginInfo[this.project].loginParam,
account:userId,
deviceCode:deviceCode
}, LoginParams.LianKeTang);

BIN
static/device/door/PBM.FBX Normal file

Binary file not shown.

Binary file not shown.