This commit is contained in:
zyy 2020-12-18 15:37:53 +08:00
commit 2884d0f02c
47 changed files with 1241 additions and 176 deletions

View File

@ -10,7 +10,7 @@ const publicPath = process.env.VUE_APP_PRO == 'local' ? '' : '/cbtc';
const BASE_API = getBaseUrl(); const BASE_API = getBaseUrl();
export const JL3D_LOCAL_STATIC = publicPath+"/static"; export const JL3D_LOCAL_STATIC = publicPath+"/static";
// console.log(JL3D_LOCAL_STATIC); console.log(JL3D_LOCAL_STATIC);
let uploadurl = null; let uploadurl = null;
let asseturl = null; let asseturl = null;

View File

@ -421,3 +421,11 @@ export function changePassengerFlowData(group, passengerFlowId) {
}); });
} }
// 哈尔滨线路(仿真行调工作站 获取 日志信息)
export function getLogList(group, params) {
return request({
url: `/simulation/${group}/log`,
method: 'get',
params:params
});
}

View File

@ -94,7 +94,7 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj
this.nowmxlen = null; this.nowmxlen = null;
this.atpspeed = null; this.atpspeed = null;
this.atospeed = null; this.atospeed = null;
this.trainnum = null; // this.trainnum = null;
this.stime = null; this.stime = null;
this.drivecount = 0; this.drivecount = 0;
this.drivedata = null; this.drivedata = null;
@ -257,12 +257,12 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj
updatemmi.updateatospeed = function(atospeed) { updatemmi.updateatospeed = function(atospeed) {
scope.atospeed = atospeed; scope.atospeed = atospeed;
}; };
updatemmi.updatetrainnum = function(trainnum) { // updatemmi.updatetrainnum = function(trainnum) {
scope.trainnum = trainnum; // scope.trainnum = trainnum;
}; // };
updatemmi.updatestoptime = function(stime) { // updatemmi.updatestoptime = function(stime) {
scope.stime = stime; // scope.stime = stime;
}; // };
updatemmi.updatedrivedata = function(drivedata) { updatemmi.updatedrivedata = function(drivedata) {
scope.drivecount += 1; scope.drivecount += 1;
scope.drivedata = drivedata; scope.drivedata = drivedata;

View File

@ -74,6 +74,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
if(data.body.groupNumber){ if(data.body.groupNumber){
changeNowTrain(data.body); changeNowTrain(data.body);
updateDriveValue(data.body.groupNumber);
} }
updatestatus(data.body); updatestatus(data.body);
@ -360,7 +361,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
updateTrainModel.rotation.y = Math.PI; updateTrainModel.rotation.y = Math.PI;
let point = updateTrainModel.curve.getPointAt(data.offset); let point = updateTrainModel.curve.getPointAt(data.offset);
updateTrainModel.position.x = point.x; updateTrainModel.position.x = point.x;
for (let tl=0; tl<6; tl++) { for (let tl=0; tl<updateTrainModel.children.length; tl++) {
updateTrainModel.children[tl].position.z = point.z; updateTrainModel.children[tl].position.z = point.z;
} }
}else{ }else{
@ -368,7 +369,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
updateTrainModel.rotation.y = 0; updateTrainModel.rotation.y = 0;
let point = updateTrainModel.curve.getPointAt(data.offset); let point = updateTrainModel.curve.getPointAt(data.offset);
updateTrainModel.position.x = point.x; updateTrainModel.position.x = point.x;
for (let tl=0; tl<6; tl++) { for (let tl=0; tl<updateTrainModel.children.length; tl++) {
updateTrainModel.children[tl].position.z = point.z; updateTrainModel.children[tl].position.z = point.z;
} }
} }
@ -400,9 +401,9 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
// trainmodel.position.z = point.z; // trainmodel.position.z = point.z;
} }
if(updateTrainModel.children[1].rotalist.length > 0 || updateTrainModel.children[2].rotalist.length > 0 || updateTrainModel.children[3].rotalist.length > 0 || updateTrainModel.children[4].rotalist.length > 0|| updateTrainModel.children[5].rotalist.length > 0){ // if(updateTrainModel.children[1].rotalist.length > 0 || updateTrainModel.children[2].rotalist.length > 0 || updateTrainModel.children[3].rotalist.length > 0 || updateTrainModel.children[4].rotalist.length > 0|| updateTrainModel.children[5].rotalist.length > 0){
for(let rs = 1;rs<6;rs++){ for(let rs = 1;rs<updateTrainModel.children.length;rs++){
//console.log(rs); //console.log(rs);
if(updateTrainModel.children[rs].rotalist[0]){ if(updateTrainModel.children[rs].rotalist[0]){
@ -412,7 +413,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
for(let xh=0;xh<updateTrainModel.children[rs].rotalist.length;xh++){ for(let xh=0;xh<updateTrainModel.children[rs].rotalist.length;xh++){
if((updateTrainModel.children[rs].matrixWorld.elements[12]+10)>=updateTrainModel.children[rs].rotalist[0].posr.x){ if((updateTrainModel.children[rs].matrixWorld.elements[12]+10)>=updateTrainModel.children[rs].rotalist[0].posr.x){
if(rs != 5){ if(rs != updateTrainModel.children.length-1){
let asd = updateTrainModel.children[rs].rotalist[0]; let asd = updateTrainModel.children[rs].rotalist[0];
updateTrainModel.children[rs+1].rotalist.push(asd); updateTrainModel.children[rs+1].rotalist.push(asd);
@ -433,7 +434,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
} }
// console.log(trainmodel.rotalist); // console.log(trainmodel.rotalist);
} // }
}else{ }else{
// //
@ -476,8 +477,8 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
} }
if(updateTrainModel.children[1].rotalist.length > 0 || updateTrainModel.children[2].rotalist.length > 0 || updateTrainModel.children[3].rotalist.length > 0 || updateTrainModel.children[4].rotalist.length > 0|| updateTrainModel.children[5].rotalist.length > 0){ // if(updateTrainModel.children[1].rotalist.length > 0 || updateTrainModel.children[2].rotalist.length > 0 || updateTrainModel.children[3].rotalist.length > 0 || updateTrainModel.children[4].rotalist.length > 0|| updateTrainModel.children[5].rotalist.length > 0){
for(let rs = 1;rs<6;rs++){ for(let rs = 1;rs<updateTrainModel.children.length;rs++){
//console.log(rs); //console.log(rs);
if(updateTrainModel.children[rs].rotalist[0]){ if(updateTrainModel.children[rs].rotalist[0]){
let offsetz = parseFloat(updateTrainModel.children[rs].rotalist[0].posr.z) - parseFloat(updateTrainModel.children[rs].matrixWorld.elements[14]); let offsetz = parseFloat(updateTrainModel.children[rs].rotalist[0].posr.z) - parseFloat(updateTrainModel.children[rs].matrixWorld.elements[14]);
@ -487,7 +488,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
for(let xh=0;xh<updateTrainModel.children[rs].rotalist.length;xh++){ for(let xh=0;xh<updateTrainModel.children[rs].rotalist.length;xh++){
if((updateTrainModel.children[rs].matrixWorld.elements[12]-10)<=updateTrainModel.children[rs].rotalist[0].posr.x){ if((updateTrainModel.children[rs].matrixWorld.elements[12]-10)<=updateTrainModel.children[rs].rotalist[0].posr.x){
if(rs != 5){ if(rs != updateTrainModel.children.length-1){
let asd = updateTrainModel.children[rs].rotalist[0]; let asd = updateTrainModel.children[rs].rotalist[0];
updateTrainModel.children[rs+1].rotalist.push(asd); updateTrainModel.children[rs+1].rotalist.push(asd);
@ -502,7 +503,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
} }
} }
} }
} // }
} }
} }
@ -536,7 +537,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
trainmodel.rotation.y = Math.PI; trainmodel.rotation.y = Math.PI;
let point = trainmodel.curve.getPointAt(data.offset); let point = trainmodel.curve.getPointAt(data.offset);
trainmodel.position.x = point.x; trainmodel.position.x = point.x;
for (let tl=0; tl<6; tl++) { for (let tl=0; tl<trainmodel.children.length; tl++) {
trainmodel.children[tl].position.z = point.z; trainmodel.children[tl].position.z = point.z;
} }
@ -571,7 +572,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
trainmodel.rotation.y = 0; trainmodel.rotation.y = 0;
let point = trainmodel.curve.getPointAt(data.offset); let point = trainmodel.curve.getPointAt(data.offset);
trainmodel.position.x = point.x; trainmodel.position.x = point.x;
for (let tl=0; tl<6; tl++) { for (let tl=0; tl<trainmodel.children.length; tl++) {
trainmodel.children[tl].position.z = point.z; trainmodel.children[tl].position.z = point.z;
} }
@ -638,7 +639,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
} }
if(trainmodel.children[1].rotalist.length > 0 || trainmodel.children[2].rotalist.length > 0 || trainmodel.children[3].rotalist.length > 0 || trainmodel.children[4].rotalist.length > 0|| trainmodel.children[5].rotalist.length > 0){ if(trainmodel.children[1].rotalist.length > 0 || trainmodel.children[2].rotalist.length > 0 || trainmodel.children[3].rotalist.length > 0 || trainmodel.children[4].rotalist.length > 0|| trainmodel.children[5].rotalist.length > 0){
for(let rs = 1;rs<6;rs++){ for(let rs = 1;rs<trainmodel.children.length;rs++){
//console.log(rs); //console.log(rs);
if(trainmodel.children[rs].rotalist[0]){ if(trainmodel.children[rs].rotalist[0]){
@ -651,7 +652,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
for(let xh=0;xh<trainmodel.children[rs].rotalist.length;xh++){ for(let xh=0;xh<trainmodel.children[rs].rotalist.length;xh++){
if((trainmodel.children[rs].matrixWorld.elements[12]+10)>=trainmodel.children[rs].rotalist[0].posr.x){ if((trainmodel.children[rs].matrixWorld.elements[12]+10)>=trainmodel.children[rs].rotalist[0].posr.x){
if(rs != 5){ if(rs != trainmodel.children.length-1){
let asd = trainmodel.children[rs].rotalist[0]; let asd = trainmodel.children[rs].rotalist[0];
trainmodel.children[rs+1].rotalist.push(asd); trainmodel.children[rs+1].rotalist.push(asd);
@ -748,7 +749,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
if(trainmodel.children[1].rotalist.length > 0 || trainmodel.children[2].rotalist.length > 0 || trainmodel.children[3].rotalist.length > 0 || trainmodel.children[4].rotalist.length > 0|| trainmodel.children[5].rotalist.length > 0){ if(trainmodel.children[1].rotalist.length > 0 || trainmodel.children[2].rotalist.length > 0 || trainmodel.children[3].rotalist.length > 0 || trainmodel.children[4].rotalist.length > 0|| trainmodel.children[5].rotalist.length > 0){
for(let rs = 1;rs<6;rs++){ for(let rs = 1;rs<trainmodel.children.length;rs++){
//console.log(rs); //console.log(rs);
if(trainmodel.children[rs].rotalist[0]){ if(trainmodel.children[rs].rotalist[0]){
let offsetz = parseFloat(trainmodel.children[rs].rotalist[0].posr.z) - parseFloat(trainmodel.children[rs].matrixWorld.elements[14]); let offsetz = parseFloat(trainmodel.children[rs].rotalist[0].posr.z) - parseFloat(trainmodel.children[rs].matrixWorld.elements[14]);
@ -760,7 +761,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
for(let xh=0;xh<trainmodel.children[rs].rotalist.length;xh++){ for(let xh=0;xh<trainmodel.children[rs].rotalist.length;xh++){
if((trainmodel.children[rs].matrixWorld.elements[12]-10)<=trainmodel.children[rs].rotalist[0].posr.x){ if((trainmodel.children[rs].matrixWorld.elements[12]-10)<=trainmodel.children[rs].rotalist[0].posr.x){
if(rs != 5){ if(rs != trainmodel.children.length-1){
let asd = trainmodel.children[rs].rotalist[0]; let asd = trainmodel.children[rs].rotalist[0];
trainmodel.children[rs+1].rotalist.push(asd); trainmodel.children[rs+1].rotalist.push(asd);

View File

@ -167,7 +167,7 @@ export function Jl3dfaultdevice(dom,group,token,skinCode) {
function setpsdstationmap(stationlist){ function setpsdstationmap(stationlist){
for(let i=0,leni=stationlist.length;i<leni;i++){ for(let i=0,leni=stationlist.length;i<leni;i++){
console.log(stationlist[i]);
psdtexturemap[stationlist[i].stands[0].code] = stationlist[i].code; psdtexturemap[stationlist[i].stands[0].code] = stationlist[i].code;
psdtexturemap[stationlist[i].stands[1].code] = stationlist[i].code; psdtexturemap[stationlist[i].stands[1].code] = stationlist[i].code;
} }
@ -285,7 +285,7 @@ export function Jl3dfaultdevice(dom,group,token,skinCode) {
} else { } else {
scope.nowcode = data.code; scope.nowcode = data.code;
if (data.type == "room") { if (data.type == "room") {
console.log(scope.modelmanager.roommodel.mesh);
scope.showmodel = scope.modelmanager.roommodel.mesh; scope.showmodel = scope.modelmanager.roommodel.mesh;
scope.scene.add(scope.showmodel); scope.scene.add(scope.showmodel);
scope.camera.position.set(5, 7, -9); scope.camera.position.set(5, 7, -9);

View File

@ -114,7 +114,6 @@ export function Maintainerconnect(jlmap3d,routegroup,jsonwebwork,lablecodemap) {
if(event.data.type == "Device_Fault_Over_3D"){ if(event.data.type == "Device_Fault_Over_3D"){
console.log(event.data);
deletefault(event.data.body.code); deletefault(event.data.body.code);
warningmsg("已修复故障设备:"+event.data.body.code); warningmsg("已修复故障设备:"+event.data.body.code);
@ -127,7 +126,7 @@ export function Maintainerconnect(jlmap3d,routegroup,jsonwebwork,lablecodemap) {
let fault = event.data.body.faultInfoList; let fault = event.data.body.faultInfoList;
for(let i=0,leni= fault.length;i<leni;i++){ for(let i=0,leni= fault.length;i<leni;i++){
console.log(fault[i]);
let newfault = { let newfault = {
code:fault[i].code, code:fault[i].code,
name:'', name:'',

View File

@ -15,10 +15,7 @@ import {Materialload} from '@/jlmap3d/main/loaders/Materialload.js';
// import {SwitchModel} from '@/jlmap3d/model/SwitchModel.js'; // import {SwitchModel} from '@/jlmap3d/model/SwitchModel.js';
export function MaintainerLoad(data,scope,netdata,mapdata,camera,controls,scene){ export function MaintainerLoad(data,scope,netdata,mapdata,camera,controls,scene){
//console.log(mapdata);
//console.log(data);
//console.log(scope);
let sceneload = scene; let sceneload = scene;
let backdata = scope; let backdata = scope;
let jlmap3ddata = mapdata; let jlmap3ddata = mapdata;
@ -69,25 +66,20 @@ export function MaintainerLoad(data,scope,netdata,mapdata,camera,controls,scene)
assetloader.assetPromiseOver(sceneload) assetloader.assetPromiseOver(sceneload)
.then(function(data){ .then(function(data){
//console.log(data);
//,netdata.stands,mixers,actions,"0" //,netdata.stands,mixers,actions,"0"
return stationstandlist.loadpromise(mapdata.stationList,standsdata,psddata,sceneload,assetloader,mixers,actions,"02"); return stationstandlist.loadpromise(mapdata.stationList,standsdata,psddata,sceneload,assetloader,mixers,actions,"02");
}) })
.then(function(data){ .then(function(data){
//console.log(data);
return sectionlist.loadpromise(mapdata.sectionList,sectiondata.section,rails,scene,assetloader); return sectionlist.loadpromise(mapdata.sectionList,sectiondata.section,rails,scene,assetloader);
}) })
.then(function(data){ .then(function(data){
//console.log(data);
return signallist.loadpromise(mapdata.signalList,signaldata,sceneload,assetloader); return signallist.loadpromise(mapdata.signalList,signaldata,sceneload,assetloader);
}) })
.then(function(data){ .then(function(data){
return switchlist.loadpromise(mapdata.switchList,switchdata,sceneload,assetloader,mixers,actions); return switchlist.loadpromise(mapdata.switchList,switchdata,sceneload,assetloader,mixers,actions);
}) })
.then(function(data){ .then(function(data){
//console.log(data);
//console.log(assetloader);
return trainlisttest.initpromise(mapdata.trainList,sceneload,assetloader,mixers,actions,"02"); return trainlisttest.initpromise(mapdata.trainList,sceneload,assetloader,mixers,actions,"02");
}) })
.then(function(data){ .then(function(data){
@ -109,16 +101,19 @@ export function MaintainerLoad(data,scope,netdata,mapdata,camera,controls,scene)
if(scope.stationtexture["stationlist"]){ if(scope.stationtexture["stationlist"]){
for(let mm=0;mm< stationstandlist.group.children.length;mm++){ for(let mm=0;mm< stationstandlist.group.children.length;mm++){
let stationname = stationstandlist.group.children[mm].name; let stationname = stationstandlist.group.children[mm].name;
if(stationstandlist.group.children[mm].getObjectByName("zhantailiebiao")){
stationstandlist.group.children[mm].getObjectByName("zhantailiebiao").material.map =scope.stationtexture["stationlist"]; stationstandlist.group.children[mm].getObjectByName("zhantailiebiao").material.map =scope.stationtexture["stationlist"];
stationstandlist.group.children[mm].getObjectByName("zhantailiebiao").material.map.needsUpdate = true; stationstandlist.group.children[mm].getObjectByName("zhantailiebiao").material.map.needsUpdate = true;
// console.log(stationstandlist.group.children[mm].getObjectByName("menkuangyanse")); }
if(stationstandlist.group.children[mm].getObjectByName("menkuangyanse")){ if(stationstandlist.group.children[mm].getObjectByName("menkuangyanse")){
stationstandlist.group.children[mm].getObjectByName("menkuangyanse").material.map =scope.stationtexture["pingbimen"]; stationstandlist.group.children[mm].getObjectByName("menkuangyanse").material.map =scope.stationtexture["pingbimen"];
stationstandlist.group.children[mm].getObjectByName("menkuangyanse").material.map.needsUpdate = true; stationstandlist.group.children[mm].getObjectByName("menkuangyanse").material.map.needsUpdate = true;
} }
if(stationstandlist.group.children[mm].getObjectByName("zhantaiming")){
let newmaterial = stationstandlist.group.children[mm].getObjectByName("zhantaiming").material.clone(); let newmaterial = stationstandlist.group.children[mm].getObjectByName("zhantaiming").material.clone();
newmaterial.map =scope.stationtexture[stationname]; newmaterial.map =scope.stationtexture[stationname];
stationstandlist.group.children[mm].getObjectByName("zhantaiming").material = newmaterial; stationstandlist.group.children[mm].getObjectByName("zhantaiming").material = newmaterial;
@ -126,6 +121,8 @@ export function MaintainerLoad(data,scope,netdata,mapdata,camera,controls,scene)
} }
}
} }

View File

@ -43,18 +43,23 @@ export function PassflowConnect(deviceaction,toptrain,downtrain,routegroup,passe
} }
/** 站台客流当前人数信息 */ /** 站台客流当前人数信息 */
if(data.type == "STAND_PFI"){ if(data.type == "STAND_PFI"){
// console.log(data);
let newStandData = data.body; let newStandData = data.body;
let count = 0; let count = 0;
for(let j=0;j<passerStation.stationlist.length;j++){ for(let j=0;j<passerStation.stationlist.length;j++){
count = 0; count = 0;
for(let i=0;i<newStandData.length;i++){ for(let i=0;i<newStandData.length;i++){
if(passerStation.stationlist[j].topstand == newStandData[i].standCode){ if(passerStation.stationlist[j].topstand == newStandData[i].standCode){
passerStation.stationlist[j].topspeed = newStandData[i].to; passerStation.stationlist[j].topspeed = newStandData[i].to;
passerStation.stationlist[j].toppassers = newStandData[i].num; passerStation.stationlist[j].toppassers = newStandData[i].num;
count++; count++;
} }
if(passerStation.stationlist[j].downstand == newStandData[i].standCode){ if(passerStation.stationlist[j].downstand == newStandData[i].standCode){
passerStation.stationlist[j].downspeed = newStandData[i].to; passerStation.stationlist[j].downspeed = newStandData[i].to;
passerStation.stationlist[j].downpassers = newStandData[i].num; passerStation.stationlist[j].downpassers = newStandData[i].num;
count++; count++;
@ -201,6 +206,8 @@ export function PassflowConnect(deviceaction,toptrain,downtrain,routegroup,passe
if(data.type == 'Device_Load_Destroy_3D'){ if(data.type == 'Device_Load_Destroy_3D'){
start = true; start = true;
toptrain.nowcode = null;
downtrain.nowcode = null;
console.log("仿真重开====================="); console.log("仿真重开=====================");
} }

View File

@ -197,6 +197,7 @@ export function Jl3dTrafficPlan(dom,skinCode,routegroup,viewMap,initCode) {
this.changestation = function(stationname){ this.changestation = function(stationname){
passerStation.changestation(stationname); passerStation.changestation(stationname);
// console.log(passerStation.nowStation);
scope.humanWaitTop = passerStation.nowStation.toppassers; scope.humanWaitTop = passerStation.nowStation.toppassers;
scope.humanWaitDown = passerStation.nowStation.downpassers; scope.humanWaitDown = passerStation.nowStation.downpassers;
passerHuman.speed = passerStation.nowStation.topspeed + passerStation.nowStation.downspeed; passerHuman.speed = passerStation.nowStation.topspeed + passerStation.nowStation.downspeed;
@ -232,7 +233,7 @@ export function Jl3dTrafficPlan(dom,skinCode,routegroup,viewMap,initCode) {
for(let i=0;i<waitForCreatOutTop.length;i++){ for(let i=0;i<waitForCreatOutTop.length;i++){
for(let j=0;j<waitForCreatOutTop[i];j++){ for(let j=0;j<waitForCreatOutTop[i];j++){
setTimeout(function(){ setTimeout(function(){
console.log(passerZone.list["standtop"].doorpoints[i]); // console.log(passerZone.list["standtop"].doorpoints[i]);
passerHuman.newHumanCreate(outStationPassers,passerZone.list["standtop"].doorpoints[i],5,"top",i); passerHuman.newHumanCreate(outStationPassers,passerZone.list["standtop"].doorpoints[i],5,"top",i);
}, Math.random()*1000*j); }, Math.random()*1000*j);
} }
@ -242,7 +243,7 @@ export function Jl3dTrafficPlan(dom,skinCode,routegroup,viewMap,initCode) {
for(let i=0;i<waitForCreatOutDown.length;i++){ for(let i=0;i<waitForCreatOutDown.length;i++){
for(let j=0;j<waitForCreatOutDown[i];j++){ for(let j=0;j<waitForCreatOutDown[i];j++){
setTimeout(function(){ setTimeout(function(){
console.log(passerZone.list["standdown"].doorpoints[i]); // console.log(passerZone.list["standdown"].doorpoints[i]);
passerHuman.newHumanCreate(outStationPassers,passerZone.list["standdown"].doorpoints[i],5,"down",i); passerHuman.newHumanCreate(outStationPassers,passerZone.list["standdown"].doorpoints[i],5,"down",i);
}, Math.random()*1000*j); }, Math.random()*1000*j);
} }

View File

@ -63,9 +63,7 @@ export function PasserHuman() {
newhuman.overGoal = overGoal; newhuman.overGoal = overGoal;
} }
if(newhuman.direct == "top"){
newhuman.rotation.y = Math.PI;
}
newhuman.status = 0; newhuman.status = 0;
newhuman.stage = stage; newhuman.stage = stage;
@ -77,7 +75,9 @@ export function PasserHuman() {
}else{ }else{
newhuman.direct = null; newhuman.direct = null;
} }
if(newhuman.direct == "top"){
newhuman.rotation.y = Math.PI;
}
newhuman.doorstatus = null; newhuman.doorstatus = null;
if(door){ if(door){
newhuman.door = door; newhuman.door = door;

View File

@ -232,7 +232,9 @@ export function PasserAi(zone,finder) {
//1--top //1--top
//2-- down //2-- down
if(humanlist.children[i].overGoal == "top"){ // console.log(humanlist.children[i].overGoal);
// console.log(humanlist.children[i].direct);
if(humanlist.children[i].direct == "top"){
targetPosition = passerZone.getstandposition("standtop"); targetPosition = passerZone.getstandposition("standtop");
path = pathFinder.find(points[0],targetPosition.point); path = pathFinder.find(points[0],targetPosition.point);
humanlist.children[i].direct = "top"; humanlist.children[i].direct = "top";

View File

@ -11,7 +11,8 @@ const mapDeviceStyle = {
'10': 'xian_01', // 西安一号线 '10': 'xian_01', // 西安一号线
'11': 'xian_01', // 西安三号线 '11': 'xian_01', // 西安三号线
'12': 'ningbo_03', // 宁波三号线 '12': 'ningbo_03', // 宁波三号线
'13': 'race_01' // 2020国赛线路 '13': 'race_01', // 2020国赛线路
'14':'nanjing_02' // 南京二号线
}; };
export function selectLineCode(code) { export function selectLineCode(code) {

View File

@ -133,7 +133,8 @@ class SkinCode extends defaultStyle {
standardLength: 6, // 高柱长度 standardLength: 6, // 高柱长度
standardHeight: 6, // 灯柱高度 standardHeight: 6, // 灯柱高度
standardColor: '#5578B6', // 灯灯柱颜色 standardColor: '#5578B6', // 灯灯柱颜色
standardWidth: 1.5 // 灯柱宽度 standardVerticalWidth: 1.5, // 灯柱竖杆宽度
standardRailWidth: 1.5 // 灯柱横杆宽度
}, },
text: { text: {
show: true, // 信号机名称显示 show: true, // 信号机名称显示

View File

@ -141,7 +141,8 @@ class SkinCode extends defaultStyle {
standardLength: 6, // 高柱长度 standardLength: 6, // 高柱长度
standardHeight: 6, // 灯柱高度 standardHeight: 6, // 灯柱高度
standardColor: '#C0C0C0', // 灯柱颜色 standardColor: '#C0C0C0', // 灯柱颜色
standardWidth: 2 // 灯柱宽度 standardVerticalWidth: 2, // 灯柱竖杆宽度
standardRailWidth: 2 // 灯柱横杆宽度
}, },
text: { text: {
show: true, // 信号机名称显示 show: true, // 信号机名称显示

View File

@ -147,7 +147,8 @@ class SkinCode extends defaultStyle {
standardLength: 6, // 高柱长度 standardLength: 6, // 高柱长度
standardHeight: 6, // 灯柱高度 standardHeight: 6, // 灯柱高度
standardColor: '#FFFFFF', // 灯柱颜色 standardColor: '#FFFFFF', // 灯柱颜色
standardWidth: 2 // 灯柱宽度 standardVerticalWidth: 2, // 灯柱竖杆宽度
standardRailWidth: 2 // 灯柱横杆宽度
}, },
text: { text: {
show: true, // 信号机名称显示 show: true, // 信号机名称显示

View File

@ -125,7 +125,8 @@ class SkinCode extends defaultStyle {
standardLength: 6, // 高柱长度 standardLength: 6, // 高柱长度
standardHeight: 6, // 灯柱高度 standardHeight: 6, // 灯柱高度
standardColor: '#3149C3', // 灯珠颜色 standardColor: '#3149C3', // 灯珠颜色
standardWidth: 2 // 灯珠宽度 standardVerticalWidth: 2, // 灯柱竖杆宽度
standardRailWidth: 2 // 灯柱横杆宽度
}, },
text: { text: {
show: true, // 信号机名称显示 show: true, // 信号机名称显示

View File

@ -125,7 +125,8 @@ class SkinCode extends defaultStyle {
standardLength: 6, // 高柱长度 standardLength: 6, // 高柱长度
standardHeight: 6, // 灯柱高度 standardHeight: 6, // 灯柱高度
standardColor: '#3149C3', // 灯珠颜色 standardColor: '#3149C3', // 灯珠颜色
standardWidth: 2 // 灯珠宽度 standardVerticalWidth: 2, // 灯柱竖杆宽度
standardRailWidth: 2 // 灯柱横杆宽度
}, },
text: { text: {
show: true, // 信号机名称显示 show: true, // 信号机名称显示

View File

@ -148,7 +148,8 @@ class SkinCode extends defaultStyle {
standardLength: 4, // 高柱长度 standardLength: 4, // 高柱长度
standardHeight: 5, // 灯柱高度 standardHeight: 5, // 灯柱高度
standardColor: '#FF0000', // 灯柱颜色 standardColor: '#FF0000', // 灯柱颜色
standardWidth: 4 // 灯柱宽度 standardVerticalWidth: 4, // 灯柱竖杆宽度
standardRailWidth: 4 // 灯柱横杆宽度
}, },
text: { text: {
show: true, // 信号机名称显示 show: true, // 信号机名称显示

View File

@ -0,0 +1,832 @@
import defaultStyle from '../defaultStyle';
import deviceType from '../../constant/deviceType';
class SkinCode extends defaultStyle {
constructor() {
super();
this.fontFamily = '宋体';
this[deviceType.Section] = {
elemnetType:['name', 'logicText', 'standTrackText', 'reentryTrackText', 'transferTrackText', 'line', 'lineBorder', 'sectionBlock', 'speedLimitName'],
active: {
routeColor: false // 进路触发颜色
},
name: {
z: 10,
position: 0, // 区段名称位置 1 上面 -1 下面 0 对称
distance: 18, // 文字离区段距离
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
fontColor: '#FFFFFF', // 字体颜色
textAlign: 'center', // 水平对齐方式
textPosition: 'inside', // 文字位置
textVerticalAlign: 'middle', // 文字垂直对齐方式
approachColor: '#FFFFFF'
},
logicText: {
z: 10,
position: 0, // 区段名称位置 1 上面 -1 下面 0 对称
distance: 6, // 文字离区段距离
fontSize: 8, // 字体大小
fontWeight: 'normal', // 字体粗细
fontColor: '#FFFFFF', // 字体颜色
textAlign: 'center', // 水平对齐方式
textPosition: 'inside', // 文字位置
textVerticalAlign: 'middle' // 文字垂直对齐方式
},
standTrackText: {
z: 10,
position: 0, // 区段名称位置 1 上面 -1 下面 0 对称
distance: 30, // 文字离区段距离
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
fontColor: '#FFFFFF', // 字体颜色
textAlign: 'center', // 水平对齐方式
textPosition: 'inside', // 文字位置
textVerticalAlign: 'middle' // 文字垂直对齐方式
},
reentryTrackText: {
z: 10,
position: 0, // 区段名称位置 1 上面 -1 下面 0 对称
distance: 30, // 文字离区段距离
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
fontColor: '#FFFFFF', // 字体颜色
textAlign: 'center', // 水平对齐方式
textPosition: 'inside', // 文字位置
textVerticalAlign: 'middle' // 文字垂直对齐方式
},
transferTrackText: {
z: 10,
position: 0, // 区段名称位置 1 上面 -1 下面 0 对称
distance: 28, // 文字离区段距离
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
fontColor: '#FFFFFF', // 字体颜色
textAlign: 'center', // 水平对齐方式
textPosition: 'inside', // 文字位置
textVerticalAlign: 'middle' // 文字垂直对齐方式
},
destinationText: {
z: 10,
position: 0, // 区段名称位置 1 上面 -1 下面 0 对称
distance: 10, // 文字离区段距离
fontSize: 10, // 字体大小
fontWeight: 'bold', // 字体粗细
fontColor: 'yellow', // 字体颜色
textAlign: 'center', // 水平对齐方式
textPosition: 'inside', // 文字位置
textVerticalAlign: 'middle' // 文字垂直对齐方式
},
line: {
z: 0,
width: 5, // 区段宽度
beyondWidth: 0, // 区段宽超出宽度
invadeColor: '#EF0C08', // 区段侵入颜色
spareColor: '#ffff00', // 区段空闲颜色 (黄色)
communicationOccupiedColor: '#ff0000', // 区段通信车占用颜色 红色
unCommunicationOccupiedColor: '#ff0000', // 区段非通讯车占用颜色 红色
routeLockColor: '#00FF00', // 区段路由锁定颜色
faultLockColor: '#9B4A0A', // 区段故障锁定颜色
invalidColor: '#ff0000', // 计轴故障
undefinedColor: '#0071C1', // 区段未定义颜色
protectionLockedColor: '#FEFF00', // 保护区段锁闭(未用)
blockColor: '#000080', // 区段封锁颜色 深蓝色
atcExcisionColor: '#A0522D', // 区段atc切除颜色
atsExcisionColor: '#A0522D', // 区段ats切除颜色
timeReleaseColor: '#ffff00', // 区段延时释放颜色
protectiveLockColor: '#FFFF00', // 区段保护锁闭
protectiveTimeReleaseColor: '#0071C1', // 区段保护延时解锁
logicalColor: '#FFFF00', // 逻辑区段颜色 (未用)
logicalTextColor: '#FFFFFF' // 逻辑区段名称颜色 (未用)
},
lineBorder: { // 哈尔滨点击背景 元素
z: -1,
activeStroke: '#2EBFBF'
},
sectionBlock: {
z: 2
}, // 计轴
speedLimit: { // 限速元素
z: 2,
width: 1, // 限速线的宽短
distance: 5, // 限速线距离区段距离
lineColor: '#FFFF00', // 限速线颜色
nameShow: false // 名称显示
},
speedLimitName: {
z: 10,
leftName: true, // 左侧限速值是否展示
rightName: false, // 右侧限速值是否展示
nameBackgroundIsRect: true, // 限速值背景是否为矩形
nameBackgroundBorderWidth: 1, // 限速值背景是否边框宽度
nameBackgroundBorderColor: '#C00808', // 限速值背景边框颜色
limitValueDistance: 18,
kilometerFontSize: 0, // 公里标大小
nameNumberFontSize: 11, // 限速值大小
nameNumberColor: '#C00808', // 限速值颜色
nameBackground: '#000', // 限速名称背景颜色
drogueWidth: 15, // 浮标宽度
drogueHeight: 12 // 浮标高度
},
separator: {
z: 3, // 分割符层级
width: 1.2, // 分隔符宽度
endWidth: 3.5, // 尽头分隔符宽度
endColor: '#3F3F3F', // 尽头分隔符颜色
color: '#3149C3', // 区段边界符颜色
halfHeight: 5 // 区段分隔符高度的一半
},
trainPosition:{
display: false // 列车实时位置显示
}
};
this[deviceType.Signal] = {
distance: 10, // 设备距离区段的距离
post: {
standardShow: true, // 灯柱显示
standardVerticalShape: '8', // 灯柱 竖杆 8边型
standardLength: 12, // 高柱长度
standardHeight: 5, // 灯柱高度
standardColor: '#FF0000', // 灯柱颜色
standardVerticalWidth: 1, // 灯柱竖杆宽度
standardRailWidth: 6 // 灯柱横杆宽度
},
text: {
show: true, // 信号机名称显示
distance: 4, // 文字和灯杆的距离
isAlignCenter: true, // 信号字体对其方式
fontSize: 11, // 信号机名称字体大小
fontWeight: 'bold', // 信号机名称字体粗细
defaultColor: '#00CE00', // 信号灯字体默认色
blockColor: '#ffffff', // 信号灯字体锁定颜色
checkColor: '#00FF00', // 信号字体
ArtificialRouteColor: '#FFFFFF', // ATS关自排 设定颜色
AutoRouteColor: '#D8D800', // 联锁自动进路颜色
nameBorderShow: false // 信号机名字边框显示
},
lamp: {
bgShow: true, // 是否被选中
logicDisplayNone: true, // 逻辑点灯斜线不显示
guidName: 'doubleAndBase', // 默认引导类型
stopWidth: 2, // 禁止线宽度
borderWidth: 0, // 信号灯边框线宽度
borderColor: '#FF0000', // 信号灯边框线颜色 (虚拟信号机)
radiusR: 4, // 信号灯半径
blockColor: '#EF0C08', // 信号灯锁闭
grayColor: '#7F7F7F', // 信号灯灰色
redColor: '#FF0000', // 信号灯红色
greenColor: '#00FF00', // 信号灯绿色
yellowColor: '#FFFF00', // 信号灯黄色
whiteColor: '#FFFFFF', // 信号灯白色
blueColor: '#000080' // 信号灯蓝色
},
route: {
direction: false, // 自动进路方向
offset: { x: -4, y: 0 }, // 自动进路偏移量
routeColor: '#00FF00' // 自动进路
},
auto: {
signalFrontTriangle: false, // 信号灯前三角展示
direction: false, // 自动通过方向
offset: { x: -4, y: 0 }, // 自动通过偏移量
width: 5, // 自动宽度
autoRoute: '#00FF00', // 自动进路
autoTrigger: '#FFFF00', // 自动触发
autoTriggerType:'text', // 自动触发类型 text 为哈尔滨线路的类型(只更改信号机名称的颜色)
autoRouteType:'text', // 自动进路类型 text 为哈尔滨线路的类型(只更改信号机名称的颜色)
manualControl: '#FFFF00', // 人工控制
outConflict: '#C00808' // 出车冲突
},
delay: {
direction: true, // 延时解锁方向
offset: { x: 15, y: -10 }, // 延时解锁偏移量
fontSize: 11, // 延迟解锁字体大小
fontColor: '#FF0000', // 延迟解锁颜色
fontWeight: 'bold' // 字体粗细
},
button: {
distance: 5, // 信号灯按钮距离区段的距离
borderDashColor: '#FFFFFF', // 信号灯按钮边线
buttonColor: 'darkgreen', // 信号灯按钮颜色
buttonLightenColor: '#E4EF50' // 信号灯按钮闪烁颜色
},
lowButton:{
display: false // 现地 信号机按钮
}
};
// 屏蔽门
this[deviceType.Psd] = {
// 西安一/三号线 屏蔽门
elemnetType:['horizontal2Door'],
horizontal2Door: { // 屏蔽门
z:0,
height: 3, // 站台屏蔽门高度
width: 60,
distance: 8, // 站台和屏蔽门之间的距离
defaultColor: '#fff', // 屏蔽门默认颜色
splitDoorColor: '#F61107' // 屏蔽门切除颜色
}
};
this[deviceType.StationStand] = {
// 哈尔滨一号线站台元素 站台 站台紧急关闭 扣车元素 停站时间 运行等级 跳停
elemnetType:['gapStand', 'emergentArrow', 'detainNormal', 'level', 'jump', 'trainStop', 'trainDepart', 'trainSetButton'],
// 站台
gapStand:{
// 层级
z:0,
spareColor: '#00FFFF', // 站台空闲颜色
jumpStopColor: '#9A99FF', // 站台跳停颜色
designatedJumpStopColor: 'lightSkyBlue', // 站台指定列车跳停颜色
headFontSize: 11, // 站台首端字体大小
stopColor: '#FEFE00', // 站台列车停站颜色
textFill: '#fff' // 站台字体颜色
},
// 站台紧急关闭
emergentArrow:{
z:1,
special:false,
mergentR: 4, // 站台紧急关闭半径
mergentN: 4, // 站台紧急关闭边数
insideOffset: { x: -10, y: -20 }, // 内站台紧急关闭偏移量
outsideOffset: { x: -10, y: -10}, // 外站台紧急关闭偏移量
closeColor: '#F61107', // 站台紧急关闭颜色
width: 4,
radiusR: 6
},
// 扣车元素 普通扣车
detainNormal:{
z:0,
position: 1, // 扣车标识在站台上显示方向
text: 'H', // 扣车显示内容
insideOffset: { x: 60, y: -18 }, // 内站台扣车偏移量
outsideOffset: { x: 60, y: 25 }, // 外站台扣车偏移量
centerTrainColor: '#F61107', // 中心扣车颜色
andCenterTrainColor: '#F61107', // 车站+中心扣车颜色
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
fontSize: 18, // 字体大小
fontWeight: 'bolder',
textVerticalAlign: 'middle' // 车站扣车 文字垂直对齐方式
},
// 运行等级
level:{
z:1,
textFontSize: 11, // 运行等级字体大小
position: 1, // 运行等级方向
offset: { x: -8, y: 6 }, // 运行等级偏移量
textColor: '#FFFFFF' // 停站等级字体颜色
},
// 跳停
jump: {
z:1,
position: 1, // 停跳方向
text: 'S', // 停跳显示内容
offset: { x: 20, y: 21 },
textColor: '#00FF00', // 停跳文字颜色
fontWeight: 'bold', // 文字居中
fontSize: 18 // 文字大小
},
// 列车停站
trainStop: { // 停车标志
z:1,
fillColor: '#FF0000',
insideOffset:{ x: 6, y: -22}, // 内站台停车标志偏移量
outsideOffset: { x: -6, y: 22}, // 外站台停车标志偏移量
radiusR: 4 // 标志半径
},
// 停车计时
trainDepart:{ // 停车计时
z:1,
insideOffset:{ x: 25, y: -21}, // 内站台停车计时偏移量
outsideOffset: { x: -25, y: -11}, // 外站台停车计时偏移量
textFill: '#00FF00', // 文字颜色
textBorderColor: '#00FF00', // 文字边框颜色
fontSize: 10 // 字体大小
},
// 站台 扣车/取消扣车,越站/取消越站 设置按钮
trainSetButton:{
z:1,
offset: { x: 80, y:10}, // 按钮偏移
textFontSize: 13, // 按钮字体大小
textColor:'#00FF00'
},
common: { // 通用属性
bgShow: true, // 是否被选中
textFontSize: 11, // 站台默认字体大小
functionButtonShow: '03' // 功能灯按钮显示条件01所有模式下显示 02 行调显示 03现地显示
},
lamp: {
radiusR: 6, // 控制灯大小
lampColor: '#5A5D5A' // 功能按钮颜色
},
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
}
// reentry: {}, // 站台折返策略
// stopTime: {}, // 停站时间
};
this[deviceType.StationCounter] = {
text: {
distance: 2, // 计数器名称和文字的距离
fontColor: '#FFFFFF', // 计数器字体颜色
borderColor: '#E4EF50' // 计数器边框颜色
}
};
this[deviceType.StationDelayUnlock] = {
text: {
distance: 3, // 延迟解锁和设备之间的距离
fontColor: '#FFFFFF', // 延时解锁字体颜色
borderColor: '#FFFFFF' // 延迟解锁边框颜色
}
};
this[deviceType.AutoTurnBack] = {
// 是否显示
visibleConditions: '03',
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
subtitleText: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 17 // 等于副标题距离
},
lamp: {
lineDash: null, // 灯的包围框
borderShow: false, // 是否显示边框
stroke: '#FFFFFF', // 框的颜色
fill: 'rgba(0,0,0,0)', // 填充色
radiusR: 6, // 控制灯大小
controlColor: '#b5b3b3', // 控制灯颜色 (灰色)
lightUpColor: '#ffff00' // 点亮灯颜色
},
OutFrame: {
}
};
/** 引导总锁 */
this[deviceType.GuideLock] = {
// 是否显示
displayCondition: '03', // 显示条件 prdType
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
lamp: {
fill: 'rgba(0,0,0,0)', // 填充色
radiusR: 6, // 控制灯大小
controlColor: '#b5b3b3', // 控制灯颜色 (灰色)
lightUpColor: '#FF0000' // 点亮灯颜色
}
};
this[deviceType.Station] = {
// 哈尔滨一号线 车站元素 车站名称
elemnetType:['stationText'],
stationText:{
z:0,
fontWeight:'normal', // 字体粗细
textPadding:[2, 6], // 字体边距
borderColor:'', // 字体边框颜色
textBorderWidth:1 // 字体边框宽度
},
kmPostShow: true, // 公里标显示
kilometerPosition: 'up', // 公里标朝向
text: {
borderShow: true, // 车站包围框显示
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
lamp: {
radiusR: 6, // 控制灯大小
controlColor: '#FFFF00' // 控制灯颜色
},
turnBack: { // 按图折返
lamp: 1, // 灯数量
lampSpace: 60 // 灯间距
},
StationControl: {
disPlayNone: true, // 不显示
text: {
distance: 2, // 灯和文字之间的距离
fontSize: 11, // 字体大小
fontFormat: 'consolas', // 字体格式
fontColor: '#ffffff', // 字体颜色
fontWeight: 'normal', // 字体粗细
textAlign: 'middle', // 字体水平对齐
textVerticalAlign: 'top' // 字体垂直对齐
},
lamp: {
count: 2, // 控制模式灯个数
offset: { x: 0, y: 0 }, // 控制模式灯偏移量
emergencyOffset: {x: 0, y: 0},
radiusR: 4, // 控制模式灯的半径
distance: 36, // 控制模式之间灯之间的距离
grayColor: '#7F7F7F', // 控制模式灰色
greenColor: '#00FF00', // 控制模式绿色
redColor: '#FF0000', // 控制模式红色
yellowColor: '#FFFF00' // 控制模式黄色
},
emergencyControl: { // 紧急站控
show: false,
offset: { x: 0, y: 0 },
text: '紧急',
arrowShow: false,
grayColor: '#7F7F7F'
},
centerControl: { // 中控
show: true,
offset: { x: 0, y: 0 },
text: '中控',
buttonShow: false,
arrowShow: false,
grayColor: '#7F7F7F'
},
substationControl: { // 站控按钮
show: true,
offset: { x: 0, y: 0 },
text: '站控',
arrowShow: true,
grayColor: '#7F7F7F'
},
interconnectedControl: { // 联锁控
show: false,
offset: { x: 0, y: 0 },
text: '联锁控',
arrowShow: false,
grayColor: '#7F7F7F'
},
mouseOverStyle: { // 鼠标悬浮样式
fontSize: null,
fontFormat: 'consolas',
fontColor: '#000',
fontWeight: 'normal',
textAlign: 'middle',
textVerticalAlign: 'top'
}
}
};
// 供电线路
this[deviceType.Power] = {
noElectricStrokeColor:'#808080', // 无电颜色
defaultStrokeColor: '#F00', // 线条颜色
extendLength: 10 // 延伸长度
};
// 延续保护计时
this[deviceType.OverAp] = {
show: false
};
this[deviceType.Switch] = {
text: {
show: true, // 道岔名称显示
position: 0, // 区段名称位置 1 上面 -1 下面 0 对称
offset: { x: 0, y: 8 }, // 道岔名称与区段距离
fontSize: 11, // 字体大小
fontColor: '#fff', // 道岔名称颜色
fontWeight: 'bold', // 字体粗细
borderColor: 'red', // 道岔边框颜色
lossColor: '#FFFFFF', // 道岔失去颜色
locateColor: '#fff', // 道岔定位颜色
inversionColor: '#fff', // 道岔反位颜色
monolock: true, // 名称单锁显示包围框
monolockLocationColor: '#fff', // 道岔单锁'定位'颜色
monolockInversionColor: '#fff', // 道岔单锁'反位'颜色
faultFlashing: true // 故障闪烁
},
sectionAction: {
flag: true, // 道岔 关联区段显示
spareColor: '#5b5b5b' // 区段显示颜色 (灰色)
},
core: {
splice: true, // 哈尔滨特殊显示
length: 6 // 道岔单边长度
},
trapezoid: { // 直角梯形元素
length: 16, // 默认长度
block: true // 封锁显示
},
jointImg: { // 道岔 A B C D四元素属性配置
trapezoidLength: 8, // 直角梯形元素默认长度
trapezoidBlock: true, // 梯形封锁显示
fork: true, // 挤岔专用(如有挤岔操作 变为true
forKColor: 'red' // 挤岔颜色 配合挤岔专用
},
arcBlcok: { // 圆形封锁图形
show: false, // 显示
arcBorderColor: 'green', // 默认边框颜色
locationColor: 'green', // 定位封锁颜色
inversionColor: '#FFFF00' // 反位封锁颜色
},
rectLock: { // 矩形封锁框图形
rectWidth: 18, // 矩形框 宽高
rectBorderColor: 'red', // 矩形边框颜色
monolock: false, // 单锁显示
block: false // 封锁显示
}
};
this[deviceType.Line] = {
lineColor: '#FFFFFF' // 线条颜色
};
this[deviceType.LcControl] = {
text: {
fontSize: 10, // 灯字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
lamp: {
radiusR: 6, // 灯大小
controlColor: '#FFFF00' // 灯颜色
},
mouseOverStyle: {
fontSize: 10,
fontFormat: 'consolas',
fontColor: '#FFF000',
fontWeight: 'normal',
textAlign: 'middle',
textVerticalAlign: 'top',
arcColor: '#00FFFF',
textColor: '#000000'
}
};
this[deviceType.ZcControl] = {
text: {
fontSize: 10, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
lamp: {
radiusR: 6, // 灯大小
controlColor: '#00FF00' // 灯颜色
},
mouseOverStyle: {
fontSize: 10,
fontFormat: 'consolas',
fontColor: '#FFF000',
fontWeight: 'normal',
textAlign: 'middle',
textVerticalAlign: 'top',
arcColor: '#00FFFF',
textColor: '#000000'
}
};
this[deviceType.LimitControl] = {
text: {
fontSize: 10, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
lamp: {
radiusR: 6, // 灯大小
controlColor: '#ECE9D8' // 灯颜色
},
mouseOverStyle: {
fontSize: 10,
fontFormat: 'consolas',
fontColor: '#FFF000',
fontWeight: 'normal',
textAlign: 'middle',
textVerticalAlign: 'top',
textColor: '#000000',
arcColor: '#00FFFF'
}
};
this[deviceType.AutomaticRoute] = {
// 是否显示
displayCondition: '03',
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
lamp: {
fill: 'rgba(0,0,0,0)', // 填充色
radiusR: 6, // 控制灯大小
controlColor: '#b5b3b3' // 控制灯颜色 (灰色)
}
};
this[deviceType.TrainWindow] = {
lineColor: '#4DD43F', // 车次窗颜色
lineDash: null, // 车次窗虚线间隔
lineWidth: 1, // 车次窗线宽
trainWindowSmooth: 0, // 车次窗矩形圆滑程度
show: true // 车次窗是否显示
};
this[deviceType.SplitStation] = {
lineLength: 15, // 箭头线长度
lineWidth: 2, // 线宽
height: 35, // 分隔整体高度
strokeColor: '#00FF00', // 线颜色
triangleFillColor: '#00FF00', // 三角填充颜色
textFill: '#FFFFFF', // 文字颜色
verticalDistance: 10, // 箭头三角垂直高度
horizontalDistance: 7// 箭头三角水平高度
};
this[deviceType.Train] = {
trainBody: {
fontFamily: 'consolas',
trainBodyLineWidth: 2, // 车身line宽
changeTrainWidth: false, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度
specialTrainType: [
{
type: '03',
serviceNumber: 'MM',
nameFormat: 'tripNumber:serviceNumber:groupNumber'
},
{
type: '02',
nameFormat: 'tripNumber:serviceNumber:groupNumber'
}
], // 特殊列车类型需设置显示格式
lrPadding: 1, // 两边间隔
upPadding: 1, // 上边距离
trainBodyFillColor: '#000000', // 列车车身填充颜色
trainSidelineColor: '#FFFF00',
trainNameFormat: 'tripNumber:serviceNumber:groupNumber'// 列车显示格式
},
soonerOrLater: {
level: 5,
earlyColor: '#00FF00',
severeEarlyColor: '#0000FF',
lateColor: '#FF00FF',
severeLateColor: '#FF0000',
normalColor: '#DADA00'
},
directionArrow: {
},
hsda: {
lrPaddingHSDA: 3, // HSDA两边间隔
upPaddingHSDA: 20, // HSDA上边距离
trainHSDATextFontSize: 8, // 列车HDSA字号
textHContent: '扣', // textH文本
textSContent: '跳', // textS文本
textDContent: '门', // textD文本
textAContent: '警' // textA文本
},
trainAtrStatus: {
trainAtrStatusOffset: { x: 74, y: 8},
r: 5
},
travelSigns: {
trainTravelLeftSignsOffset: { x:3, y: 3},
trainTravelRightSignsOffset: { x: 62, y: 3}
},
delayTime: {
trainDelayTimeOffset: { x:5, y: 14}
},
crewNum: {
trainCrewNumOffset: { x:50, y: 25}
},
travelNum: {
trainTravelNumOffset: { x:9, y:3}
},
trainNumber: {
targetCodePrefix: '000', // 目的地码前缀
defaultTargetCode: 'AAA', // 默认目的地码
trainTargetTextAlign: 'left', // 车次号文字显示位置
trainNumberOffset: { x: 48, y: 3 }// 目的地码偏移量
},
trainServer: {
serviceNumberPrefix: '000', // 服务号(表号)前缀
defaultServiceNumber: 'BBB', // 默认服务号(表号)
trainServerOffset: { x: 33, y: 3 }, // 列车服务号偏移
fontColor: '#00C300'
},
trainTarget: {
tripNumberPrefix: '00', // 车次号前缀
defaultDirectionCode: '', // 默认车次号1
defaultTripNumber: 'CC', // 默认车次号2
trainTargetOffset: { x: 53, y: 3 }, // 列车车次号偏移
fontColor: '#00C300'
},
trainTargetNumber: {
groupNumberPrefix: '000', // 车组号前缀
defaultGroupNumber: 'EEE', // 默认车组号
trainTargetNumberOffset: { x: 5, y: 25 }// 车组号偏移量
},
trainHead: {
trainHeadRectHeight: 15, // 列车车头矩形高度
trainConntWidth: 0, // 列车竖杠的宽度
trainHeadFillColor: '#EF0C08', // 列车车头矩形填充颜色
directionStopType:'normal', // special 西安二号线 停车 列车方向图标不消失 normal 正常
trainHeadHeight: 'trainBox', // 列车车头高度取决于trainBox高度
trainHeadArrowWidth: 5, // 列车车头三角宽度
trainHeadArrowOffsetX: 2 // 列车车头三角偏移
},
common: {
hasTravelSigns: true, // 是否有行进标志
hasAtrStatus: true, // 是否有atr状态
hasDelayTime: true, // 是否有延迟时间
hasCrewNum: true, // 是否有乘务组号
hasTravelNum: true, // 是否有行程号
fixedCoordinates: true, // 列车车组号等固定坐标
trainHeight: 40, // 列车高度
trainHeadDistance: 2, // 列车和车头之间的间距
trainWidth: 82, // 列车长度
trainTextFontSize: 12, // 列车字号
fontFamily: 'consolas', // 默认字体 族类
haveTextHSDA: false, // 是否需创建textHSDA对象
haveArrowText: true, // 是否需创建arrowText对象
textOffset: 1, // 字体偏移(用以控制字体据车头的距离)
trainWidthMoreText: 2, // 计算列车长度时--列车长比text多出尺寸
trainTip:true // 鼠标悬停列车状态信息框是否显示
},
trainStatusStyle: {
defaultDestinationColor: '#FFFF00', // 默认目的地状态显示颜色
destinationStatus: [
{ status: '01', showColor: '#FFFF00' },
{ status: '02', showColor: '#00FF00' },
{ status: '03', showColor: '#3265FF' },
{ status: '04', showColor: '#FF14E9' },
{ status: '05', showColor: '#FF0000' },
{ status: '06', showColor: '#FFFFFF' },
{ status: '07', showColor: '#FFFF00' }
], // 目的地状态 01准点 02早点 03严重早点 04晚点 05严重晚点 06头码车 07ATP切除
destinationStatusSetText: 'trainServer', // 目的地状态设置的对应哪个text的颜色
directionType: [
{
type: 1,
lineLShow: false,
lineRShow: false,
arrowLShow: false,
arrowRShow: false
},
{
type: 0,
lineLShow: false,
lineRShow: false,
arrowLShow: false,
arrowRShow: false
}
], // 运行方向状态类型对应车头显示状态 1从左往右 0从右往左
directionStopType: [
{ type: 1, lineLShow: false, lineRShow: false },
{ type: 0, lineLShow: false, lineRShow: false }
], // 列车停止方向类型对应车头显示状态 1从左往右 0从右往左
driveModeStatus: [
{
status: 'AM',
trainLColor: '#00FF00',
trainRColor: '#00FF00'
},
{
status: 'CM',
trainLColor: '#FFFF00',
trainRColor: '#FFFF00'
},
{
status: 'RM',
trainLColor: '#EA700D',
trainRColor: '#EA700D'
},
{
status: 'NRM',
trainLColor: '#A0522D',
trainRColor: '#A0522D'
}
], // 列车运行模式对应车头颜色 ATO自动驾驶模式AM ATP监控下的人工驾驶模式CM 限制人工驾驶模式RM 非限制人工驾驶模式NRM
runControlStatus: [], // 设置运行控制状态类型 eg:{status: '01', hShow: false, sShow: false}
doorStatus: [], // 设置车门状态类型
communicationStatus: [
{status: 'CBTC', trainColor: '#000000'},
{status: 'ITC', trainColor: '#C0C0C0'},
{status: 'IL', trainColor: '#C0C0C0'}
], // 设置通信状态
alarmStatus: [], // 设置报警状态 eg:{status: '01', aShow: false}
serverNoType: []// 服务号状态类型 eg:{type: '01', showColor: '#FFFFFF'}
}
};
this[deviceType.FloodGate] = {};
this[deviceType.DirectionRod] = {
displayCondition: '01', // 显示条件 01所有模式下显示 02 行调显示 03现地显示
fillColor: '#0F0',
fontColor: '#FFF',
rodLength: 90,
rodHeight: 10,
triangleLength: 25,
triangleHeight: 20,
fontSize: 14,
fontOffsetX: 45,
fontOffsetY: 24
};
}
}
export default new SkinCode();

View File

@ -128,7 +128,8 @@ class SkinCode extends defaultStyle {
standardLength: 6, // 高柱长度 standardLength: 6, // 高柱长度
standardHeight: 6, // 灯柱高度 standardHeight: 6, // 灯柱高度
standardColor: '#C0C0C0', // 灯柱颜色 standardColor: '#C0C0C0', // 灯柱颜色
standardWidth: 2 // 灯柱宽度 standardVerticalWidth: 2, // 灯柱竖杆宽度
standardRailWidth: 2 // 灯柱横杆宽度
}, },
text: { text: {
show: true, // 信号机名称显示 show: true, // 信号机名称显示

View File

@ -164,7 +164,8 @@ class SkinCode extends defaultStyle {
standardHeight: 6, // 灯柱高度 standardHeight: 6, // 灯柱高度
standardColor: '#000000', // 灯柱颜色 standardColor: '#000000', // 灯柱颜色
physicColor:'#c0c0c0', // 物理点灯灯柱颜色 physicColor:'#c0c0c0', // 物理点灯灯柱颜色
standardWidth: 2 // 灯柱宽度 standardVerticalWidth: 2, // 灯柱竖杆宽度
standardRailWidth: 2 // 灯柱横杆宽度
}, },
text: { text: {
show: true, // 信号机名称显示 show: true, // 信号机名称显示

View File

@ -150,7 +150,8 @@ class SkinCode extends defaultStyle {
standardLength: 6, // 高柱长度 standardLength: 6, // 高柱长度
standardHeight: 6, // 灯柱高度 standardHeight: 6, // 灯柱高度
standardColor: '#969696', // 灯灯柱颜色 standardColor: '#969696', // 灯灯柱颜色
standardWidth: 3 // 灯柱宽度 standardVerticalWidth: 3, // 灯柱竖杆宽度
standardRailWidth: 3 // 灯柱横杆宽度
}, },
text: { text: {
show: true, // 信号机名称显示 show: true, // 信号机名称显示

View File

@ -133,7 +133,8 @@ class SkinCode extends defaultStyle {
standardLength: 6, // 高柱长度 standardLength: 6, // 高柱长度
standardHeight: 6, // 灯柱高度 standardHeight: 6, // 灯柱高度
standardColor: '#3149C3', // 灯珠颜色 standardColor: '#3149C3', // 灯珠颜色
standardWidth: 2 // 灯珠宽度 standardVerticalWidth: 2, // 灯柱竖杆宽度
standardRailWidth: 2 // 灯柱横杆宽度
}, },
text: { text: {
show: true, // 信号机名称显示 show: true, // 信号机名称显示

View File

@ -142,7 +142,8 @@ class SkinCode extends defaultStyle {
standardLength: 7, // 高柱长度 standardLength: 7, // 高柱长度
standardHeight: 6, // 灯柱高度 standardHeight: 6, // 灯柱高度
standardColor: '#fff', // 灯柱颜色 standardColor: '#fff', // 灯柱颜色
standardWidth: 2, // 灯柱宽度 standardVerticalWidth: 2, // 灯柱竖杆宽度
standardRailWidth: 2, // 灯柱横杆宽度
autoRouteColor: '#008000', // 自动进路开启灯柱颜色 autoRouteColor: '#008000', // 自动进路开启灯柱颜色
shapeChange: true, // 灯柱形状改变 shapeChange: true, // 灯柱形状改变
terminalOptional: '#CC3399' // 终端可选信号机灯柱颜色 terminalOptional: '#CC3399' // 终端可选信号机灯柱颜色

View File

@ -12,23 +12,49 @@ class ESigPost extends Group {
create() { create() {
const model = this.model; const model = this.model;
const style = this.model.style; const style = this.model.style;
// 竖杆 // 基座
let verPoints = [[model.x, model.y + style.Signal.post.standardHeight * 1.2], [model.x, model.y - style.Signal.post.standardHeight * 1.2]];
if (style.Signal.post.standardVerticalShape && style.Signal.post.standardVerticalShape === '8') {
verPoints = [
[model.x - model.drict * 2, model.y + style.Signal.post.standardHeight * 1.2],
[model.x - model.drict * 2, model.y - style.Signal.post.standardHeight * 1.2],
[model.x, model.y - style.Signal.post.standardHeight * 1.2],
[model.x, model.y - style.Signal.post.standardRailWidth / 2],
[model.x + model.drict * 2, model.y - style.Signal.post.standardRailWidth / 2],
[model.x + model.drict * 2, model.y + style.Signal.post.standardRailWidth / 2],
[model.x, model.y + style.Signal.post.standardRailWidth / 2],
[model.x, model.y + style.Signal.post.standardHeight * 1.2]
];
this.ver = new Polygon({
_subType: 'SignalLamp',
_val: '3',
zlevel: model.zlevel,
z: model.z,
shape: {
points: verPoints
},
style: {
lineWidth: style.Signal.post.standardVerticalWidth,
stroke: style.Signal.post.standardColor,
fill: style.Signal.post.standardColor
}
});
} else {
this.ver = new Polyline({ this.ver = new Polyline({
_subType: 'SignalLamp', _subType: 'SignalLamp',
_val: '3', _val: '3',
zlevel: model.zlevel, zlevel: model.zlevel,
z: model.z, z: model.z,
shape: { shape: {
points: [ points: verPoints
[model.x, model.y + style.Signal.post.standardHeight * 1.2],
[model.x, model.y - style.Signal.post.standardHeight * 1.2]
]
}, },
style: { style: {
lineWidth: style.Signal.post.standardWidth, lineWidth: style.Signal.post.standardVerticalWidth,
stroke: style.Signal.post.standardColor stroke: style.Signal.post.standardColor,
fill: style.Signal.post.standardColor
} }
}); });
}
// 横杆 // 横杆
this.hor = new Polyline({ this.hor = new Polyline({
zlevel: model.zlevel, zlevel: model.zlevel,
@ -41,18 +67,13 @@ class ESigPost extends Group {
] ]
}, },
style: { style: {
lineWidth: style.Signal.post.standardWidth, lineWidth: style.Signal.post.standardRailWidth,
stroke: style.Signal.post.standardColor stroke: style.Signal.post.standardColor
} }
}); });
this.add(this.ver); this.add(this.ver);
this.add(this.hor); this.add(this.hor);
model.type === '01' ? this.hor.hide() : this.hor.show();
if (style.Signal.post.standardShow) {
this.hor.show();
}
} }
setColor(color) { setColor(color) {
@ -100,7 +121,7 @@ class ESigPost extends Group {
if (style.Signal.post.standardShow) { if (style.Signal.post.standardShow) {
type = '01'; type = '01';
} }
const length = style.Signal.post.standardShow ? 4 : 0; const length = style.Signal.post.standardShow ? style.Signal.post.standardLength : 0;
if (type === '01') { if (type === '01') {
return { return {
x: model.x + model.drict * style.Signal.lamp.radiusR * 3 / 2 + model.drict * length, x: model.x + model.drict * style.Signal.lamp.radiusR * 3 / 2 + model.drict * length,

View File

@ -180,7 +180,7 @@ class Signal extends Group {
this.sigBack.hide(); this.sigBack.hide();
} }
// 信号机名称 // 信号机名称
const sigNameX = model.position.x + model.positionPoint.x - drict * (style.Signal.post.standardWidth) + model.namePosition.x; const sigNameX = model.position.x + model.positionPoint.x - drict * (style.Signal.post.standardVerticalWidth) + model.namePosition.x;
const sigNameY = model.position.y + model.positionPoint.y + posit * (style.Signal.distance + style.Section.line.width + style.Signal.lamp.radiusR * 2 + model.namePosition.y + style.Signal.text.distance); const sigNameY = model.position.y + model.positionPoint.y + posit * (style.Signal.distance + style.Section.line.width + style.Signal.lamp.radiusR * 2 + model.namePosition.y + style.Signal.text.distance);
const textAlign = style.Signal.text.isAlignCenter ? 'middle' : this.model.right ? 'left' : 'right'; const textAlign = style.Signal.text.isAlignCenter ? 'middle' : this.model.right ? 'left' : 'right';
const textVerticalAlign = posit == 1 ? 'top' : 'bottom'; const textVerticalAlign = posit == 1 ? 'top' : 'bottom';
@ -725,7 +725,7 @@ class Signal extends Group {
const rect = this.sigPost.getBoundingRect().clone(); const rect = this.sigPost.getBoundingRect().clone();
return { return {
x: rect.x + drict * this.style.Signal.post.standardWidth, x: rect.x + drict * this.style.Signal.post.standardVerticalWidth,
y: rect.y - offsetY y: rect.y - offsetY
}; };
} }

View File

@ -15,7 +15,8 @@ class Theme {
'10': 'xian_01', '10': 'xian_01',
'11': 'xian_01', '11': 'xian_01',
'12': 'ningbo_03', '12': 'ningbo_03',
'13': 'race_01' '13': 'race_01',
'14': 'haerbin_01' // 南京二号线菜单暂用 哈尔滨的
}; };
this._localShowMode = { // 现地显示模式 this._localShowMode = { // 现地显示模式
'01': 'all', // 成都一 全显 '01': 'all', // 成都一 全显
@ -30,7 +31,8 @@ class Theme {
'10': 'all', '10': 'all',
'11': 'all', '11': 'all',
'12': 'all', '12': 'all',
'13':'all' '13':'all',
'14':'all'
}; };
} }

View File

@ -29,7 +29,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="tripNumber" label="车次号"> <el-table-column prop="tripNumber" label="车次号">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.serviceNumber+scope.row.tripNumber+scope.row.destinationCode }}</span> <span>{{ scope.row.serviceNumber+scope.row.destinationCode+(scope.row.tripNumber.substring(1)) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="groupNumber" label="车组号" /> <el-table-column prop="groupNumber" label="车组号" />
@ -52,7 +52,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="tripNumber" label="车次号"> <el-table-column prop="tripNumber" label="车次号">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.destinationCode+scope.row.serviceNumber+scope.row.tripNumber }}</span> <span>{{ scope.row.destinationCode+scope.row.serviceNumber+(scope.row.tripNumber.substring(1)) }}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -157,7 +157,7 @@ export default {
if (device && device.code && device.deviceType === 'TRAIN') { if (device && device.code && device.deviceType === 'TRAIN') {
this.tempTableData = [device]; this.tempTableData = [device];
this.sectionCode = device.sectionModel.name; this.sectionCode = device.sectionModel.name;
this.tripNum = device.destinationCode + device.serviceNumber + device.tripNumber; this.tripNum = device.destinationCode + device.serviceNumber + (device.tripNumber.substring(1));
this.groupNum = device.groupNumber; this.groupNum = device.groupNumber;
} }
} }
@ -186,10 +186,10 @@ export default {
}, },
commit() { commit() {
this.newTripNumError = false; this.newTripNumError = false;
if (this.newTripNum && this.newTripNum.length === 9) { if (this.newTripNum && this.newTripNum.length === 8) {
const params = { const params = {
groupNumber: this.groupNum, groupNumber: this.groupNum,
tripNumber: this.newTripNum.slice(6, 9), tripNumber: '0' + this.newTripNum.slice(6, 8),
serviceNumber: this.newTripNum.slice(3, 6) serviceNumber: this.newTripNum.slice(3, 6)
}; };
const step = { const step = {

View File

@ -383,8 +383,7 @@ export default {
}); });
}, },
showLogDetail() { showLogDetail() {
// this.$refs.logDetail.doShow(); this.$refs.logDetail.doShow();
this.undeveloped();
}, },
login() { login() {
if (this.loginActive) { if (this.loginActive) {

View File

@ -794,7 +794,7 @@ export default {
this.standParamList = this.$store.state.training.prdType === '01' ? [] : [ this.standParamList = this.$store.state.training.prdType === '01' ? [] : [
{ name: '扣车', cmdType: CMD.Stand.CMD_STAND_SET_HOLD_TRAIN, operate: OperationEvent.StationStand.setDetainTrain.menuButton, show: false }, { name: '扣车', cmdType: CMD.Stand.CMD_STAND_SET_HOLD_TRAIN, operate: OperationEvent.StationStand.setDetainTrain.menuButton, show: false },
{ name: '取消扣车', cmdType: CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN, operate: OperationEvent.StationStand.cancelDetainTrain.menuButton, show: false }, { name: '取消扣车', cmdType: CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN, operate: OperationEvent.StationStand.cancelDetainTrain.menuButton, show: false },
{ name: '越站', cmdType: CMD.Stand.CMD_STAND_SET_JUMP_STOP, operate: OperationEvent.StationStand.setJumpStop.menuButton, show: false, securityCommand: true }, { name: '越站', cmdType: CMD.Stand.CMD_STAND_SET_JUMP_STOP, operate: OperationEvent.StationStand.setJumpStop.menuButton, show: false },
{ name: '取消越站', cmdType: CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP, operate: OperationEvent.StationStand.cancelJumpStop.menuButton, show: false, securityCommand: true } { name: '取消越站', cmdType: CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP, operate: OperationEvent.StationStand.cancelJumpStop.menuButton, show: false, securityCommand: true }
]; ];
this.directionRodParamList = [ this.directionRodParamList = [

View File

@ -0,0 +1,61 @@
export default {
Signal_Set_Route:{name:'ATP进路', code:'routeCode' },
Signal_Cancel_Route:{name:'取消ATP', code:'signalCode' },
// Signal_Set_Route:{name:'联锁进路',},
// Signal_Cancel_Route:{name:'取消联锁',},
Signal_Set_Guide:{name:'引导进路', code:'routeCode' },
Signal_Cancel_Guide:{name:'取消引导', code:'signalCode' },
// 道岔操作
Switch_Block:{name:'封锁道岔', code:'switchCode' },
Switch_Unblock:{name:'解封道岔', code:'switchCode' },
Switch_Single_Unlock:{name:'取消锁定', code:'switchCode' },
Switch_Single_Lock:{name:'单锁道岔', code:'switchCode' },
Switch_Normal_Position:{name:'转换定位', code:'switchCode' },
Switch_Reverse_Position:{name:'转换反位', code:'switchCode' },
Switch_Section_Block:{name:'封锁区段', code:'switchCode' },
Switch_Section_Unblock:{name:'解封区段', code:'switchCode' },
Switch_Cancel_Limit_Speed:{name:'轨区消限', code:'switchCode' },
Switch_Set_Limit_Speed:{name:'轨区设限', code:'switchCode', params:[{code:'speedLimitValue', name:'限速值为:'}]},
Switch_Fault_Unlock:{name:'强解区段', code:'switchCode' },
// 信号机操作
Signal_Set_CI_Auto_Trigger:{name:'追踪单开', code:'signalCode' },
Signal_Cancel_CI_Auto_Trigger:{name:'追踪单关', code:'signalCode' },
Signal_Open_Auto_Setting:{name:'自排单开', code:'signalCode' },
Signal_Close_Auto_Setting:{name:'自排单关', code:'signalCode' },
Signal_Block:{name:'封锁信号', code:'signalCode' },
Signal_Reopen_Signal:{name:'重复开放', code:'signalCode' },
Signal_Unblock:{name:'解封信号', code:'signalCode' },
Signal_Close_Signal:{name:'关单信号', code:'signalCode' },
// 站台操作
Stand_Set_Hold_Train:{name:'扣车', code:'standCode' },
Stand_Cancel_Hold_Train:{name:'取消扣车', code:'standCode' },
Stand_Set_Jump_Stop:{name:'越站', code:'standCode' },
Stand_Cancel_Jump_Stop:{name:'取消越站', code:'standCode' },
// 方向杆
Direction_Change:{name:'切换右向', code:'code' },
// Direction_Change:{name:'切换右向', code:'signalCode' }
// 区段操作
Section_Block:{name:'封锁区段', code:'sectionCode' },
Section_Unblock:{name:'解封区段', code:'sectionCode' },
Section_Cancel_Limit_Speed:{name:'轨区消限', code:'sectionCode' },
Section_Set_Limit_Speed:{name:'轨区设限', code:'sectionCode', params:[{code:'speedLimitValue', name:'限速值为:'}] },
Section_Fault_Unlock:{name:'强解区段', code:'sectionCode' },
// 车站操作
Station_Set_CI_Auto_Trigger:{name:'追踪全开', code:'stationCode' },
Station_Cancel_CI_Auto_Trigger:{name:'追踪全关', code:'stationCode' },
Station_CIArea_Close_AllSignal :{name:'关区信号', code:'stationCode' },
Station_Open_Auto_Setting:{name:'自排全开', code:'stationCode' },
Station_Close_Auto_Setting :{name:'自排全关', code:'stationCode' },
Station_Close_AllSignal:{name:'关站信号', code:'stationCode' },
// 联锁区操作
CM_Receive_Control:{name:'接收控制', code:'stationCode' },
CM_Surrender_Control :{name:'交出控制', code:'stationCode' }
};

View File

@ -18,26 +18,27 @@
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择日期时间" placeholder="选择日期时间"
/> />
<el-button style="margin-left: 10px;" @click="queryData">查询</el-button> <el-button style="margin-left: 10px;" :loading="loading" @click="queryData">查询</el-button>
</div> </div>
<el-table <el-table
v-loading="loading"
:data="totalData" :data="totalData"
border border
style="width: 100%" style="width: 100%"
height="600" height="520"
> >
<el-table-column prop="data" label="日期/时间" header-align="center" align="center" width="200px" /> <el-table-column prop="time" label="日期/时间" header-align="center" align="center" width="200px" />
<el-table-column prop="operateName" label="操作人" header-align="center" align="center" width="100px" /> <el-table-column prop="operateName" label="操作人" header-align="center" align="center" width="100px" />
<el-table-column prop="terminal" label="终端" header-align="center" align="center" width="100px" /> <el-table-column prop="terminal" label="终端" header-align="center" align="center" width="200px" />
<el-table-column prop="operateDes" label="操作" header-align="center" align="center" /> <el-table-column prop="operateDes" label="操作" header-align="center" align="center" />
</el-table> </el-table>
<el-pagination <el-pagination
:current-page="currentPage" :current-page="pageIndex"
:page-size="100" :page-size="pageSize"
layout="total, prev, pager, next, jumper" layout="total, prev, pager, next, jumper"
:total="totalNum" :total="totalNum"
@size-change="handleSizeChange" @size-change="handleSizeChange"
@current-change="handleCurrentChange" @current-change="changePage"
/> />
</div> </div>
</el-dialog> </el-dialog>
@ -45,39 +46,120 @@
<script> <script>
import {deviceType} from '@/scripts/cmdPlugin/Config'; import {deviceType} from '@/scripts/cmdPlugin/Config';
import {getLogList} from '@/api/simulation';
import command from './commandEnum';
import { mapGetters } from 'vuex';
export default { export default {
name: 'LogDetail', name: 'LogDetail',
data() { data() {
return { return {
currentPage: 1, pageIndex: 1,
show: false, show: false,
level: '',
startTime: '', startTime: '',
endTime: '', endTime: '',
totalData: [{data: '2020-12-02 18:00:00', operateName: 'admin', terminal: '维护HMI', operateDes: '对联锁区“太平桥联锁区”执行命令“交出控制”'}], loading:false,
tableData: [{data: '2020-12-02 18:00:00', operateName: 'admin', terminal: '维护HMI', operateDes: '对联锁区“太平桥联锁区”执行命令“交出控制”'}], totalData: [],
totalNum: 0 pageSize: 10,
totalNum:0,
beCentralizedStationMap:{}
}; };
}, },
computed:{ computed:{
...mapGetters('map', [
'stationList'
])
},
mounted() {
this.stationList.forEach(data=>{
if (data.centralized) {
this.beCentralizedStationMap[data.code] = data.code;
data.chargeStationCodeList.forEach(each=>{
this.beCentralizedStationMap[each] = data.code;
});
}
});
}, },
methods:{ methods:{
doShow(level) { doShow() {
this.show = true; this.show = true;
this.level = level;
this.queryData(); this.queryData();
}, },
handleClose() { handleClose() {
this.level = '';
this.startTime = ''; this.startTime = '';
this.endTime = ''; this.endTime = '';
this.show = false; this.show = false;
}, },
queryData() { queryData() {
// const params = { level: this.level, startTime: this.startTime, endTime:this.endTime }; const params = { startTime: this.startTime, endTime:this.endTime, pageSize:this.pageSize, pageNum:this.pageIndex };
// getAlarmList(this.$route.query.group, params).then(resp => { this.loading = true;
// this.totalData = resp.data; getLogList(this.$route.query.group, params).then(resp => {
// }); this.loading = false;
const totalData = [];
this.totalData = [];
resp.data.list.forEach(element => {
const eachData = {
time:element.time,
operateName:element.member.userId,
terminal:this.getTerminal(element.member.id),
operateDes:this.getOperateDetail(element.event)
};
totalData.push(eachData);
});
this.totalNum = resp.data.total;
this.pageIndex = resp.data.pageNum;
this.pageSize = resp.data.pageSize;
this.totalData = totalData;
}).catch(error=>{
this.loading = false;
console.log(error);
});
},
getTerminal(id) {
const member = this.$store.state.training.memberData[id];
return member ? member.labelName : '';
},
getOperateDetail(event) {
switch (event.type) {
case 'LOGIN': {
return '用户登陆成功';
}
case 'LOGOUT': {
return '用户退出登陆';
}
case 'OPERATE': {
let result = '';
const deviceType = command[event.operation].code;
const deviceCode = event.operationParamMap[deviceType];
if (deviceType == 'routeCode') {
const device = this.$store.getters['map/routeList'].find(route=>{ return route.code == deviceCode; });
result += '对元素 “' + device.name + '”';
} else {
if (deviceCode) {
if (event.operation == 'CM_Surrender_Control' || event.operation == 'CM_Receive_Control' || event.operation == 'Station_Close_AllSignal') {
const device = this.$store.getters['map/getDeviceByCode'](this.beCentralizedStationMap[deviceCode]);
result += '对联锁区 “' + device.name + '联锁区”';
} else {
const device = this.$store.getters['map/getDeviceByCode'](deviceCode);
if (device) {
if (event.operation == 'Station_Set_CI_Auto_Trigger' || event.operation == 'Station_Cancel_CI_Auto_Trigger') {
result += '对联锁区 “' + device.name + '联锁区”';
} else {
result += '对元素 “' + device.name + '”';
}
}
}
}
}
result += ' 执行命令 “' + command[event.operation].name + '”';
const params = command[event.operation].params;
if (params && params.length > 0) {
params.forEach(each=>{
result += ', ' + each.name + event.operationParamMap[each.code];
});
}
return result;
}
}
}, },
handleDeviceType(code) { handleDeviceType(code) {
const device = this.$store.getters['map/getDeviceByCode'](code); const device = this.$store.getters['map/getDeviceByCode'](code);
@ -87,11 +169,16 @@ export default {
const device = this.$store.getters['map/getDeviceByCode'](code); const device = this.$store.getters['map/getDeviceByCode'](code);
return device.name; return device.name;
}, },
handleSizeChange() { handleSizeChange(newPageSize) {
// this.handleSizeChange if (newPageSize) {
this.pageSize = newPageSize;
// {pageSize:this.pageSize, pageNum:this.pageIndex}
this.changePage(this.pageIndex);
}
}, },
handleCurrentChange() { changePage(pageIndex) {
// this.handleCurrentChange this.pageIndex = pageIndex;
this.queryData();
} }
} }
}; };

View File

@ -29,7 +29,8 @@ function getRouteInfo(to) {
if (whiteList.includes(toRoutePath)) { // 登陆页面清空 token if (whiteList.includes(toRoutePath)) { // 登陆页面清空 token
removeToken(); removeToken();
} }
loginPath = loginInfo[current_session] ? loginInfo[current_session].loginPath : whiteList[0]; const localLogin = process.env.VUE_APP_PRO == 'local' || process.env.VUE_APP_PRO == 'ntyl';
loginPath = loginInfo[current_session] && !localLogin ? loginInfo[current_session].loginPath : whiteList[0];
if (to.query.projectDevice && to.query.type) { if (to.query.projectDevice && to.query.type) {
loginPath = `${loginPath}&projectDevice=${to.query.projectDevice}&type=${to.query.type}`; loginPath = `${loginPath}&projectDevice=${to.query.projectDevice}&type=${to.query.type}`;
} }

View File

@ -427,7 +427,7 @@ export const ProjectIcon = {
export const ProjectCode = { export const ProjectCode = {
login: 'DEFAULT', login: 'DEFAULT',
designlogin: 'DEFAULT', design: 'DEFAULT',
xty: 'XTY', xty: 'XTY',
designxty: 'XTY', designxty: 'XTY',
gzb: 'GZB', gzb: 'GZB',

View File

@ -2,11 +2,11 @@ export function getBaseUrl() {
let BASE_API; let BASE_API;
if (process.env.NODE_ENV === 'development') { if (process.env.NODE_ENV === 'development') {
// BASE_API = 'https://joylink.club/jlcloud'; // BASE_API = 'https://joylink.club/jlcloud';
BASE_API = 'https://test.joylink.club/jlcloud'; // BASE_API = 'https://test.joylink.club/jlcloud';
// BASE_API = 'http://192.168.8.107:9000'; // 袁琪 // BASE_API = 'http://192.168.8.107:9000'; // 袁琪
// BASE_API = 'http://192.168.8.129:9000'; // 旭强 // BASE_API = 'http://192.168.8.129:9000'; // 旭强
// BASE_API = 'http://192.168.8.119:9000'; // 张赛 // BASE_API = 'http://192.168.8.119:9000'; // 张赛
// BASE_API = 'http://192.168.8.110:9000'; // 杜康 BASE_API = 'http://192.168.8.110:9000'; // 杜康
// BASE_API = 'http://b29z135112.zicp.vip'; // BASE_API = 'http://b29z135112.zicp.vip';
// BASE_API = 'http://2925963m2a.zicp.vip'; // 杜康 // BASE_API = 'http://2925963m2a.zicp.vip'; // 杜康
// BASE_API = 'http://2i38984j47.qicp.vip'; // 张赛 // BASE_API = 'http://2i38984j47.qicp.vip'; // 张赛

View File

@ -2,10 +2,10 @@
<div id="drivediv" class="jalmap3ddiv" > <div id="drivediv" class="jalmap3ddiv" >
<div class="trainstatus"> <!-- <div class="trainstatus">
{{$t('jlmap3d.trainGroupNumber')}}{{ trainnum }}</br> {{$t('jlmap3d.trainGroupNumber')}}{{ trainnum }}</br>
{{ stoptimes }} {{ stoptimes }}
</div> </div> -->
<div class="display-draft"> <div class="display-draft">
<el-button-group> <el-button-group>
@ -88,8 +88,8 @@ export default {
mmishow: false, mmishow: false,
showbuttonmsg: this.$t('jlmap3d.trainInstrumentationDisplay'), showbuttonmsg: this.$t('jlmap3d.trainInstrumentationDisplay'),
backmsg:this.$t('global.back'), backmsg:this.$t('global.back'),
trainnum: '', // trainnum: '',
stoptimes: '', // stoptimes: '',
dcontrolshow: false, dcontrolshow: false,
msgshow:false, msgshow:false,
controlmsg:"不能选择其它列车", controlmsg:"不能选择其它列车",
@ -133,20 +133,20 @@ export default {
} }
} }
}, },
'jlmap3d.trainnum': { // 'jlmap3d.trainnum': {
handler: function (newVal, oldVal) { // handler: function (newVal, oldVal) {
if (newVal != oldVal) { // if (newVal != oldVal) {
this.trainnum = newVal; // this.trainnum = newVal;
} // }
} // }
}, // },
'jlmap3d.stime': { // 'jlmap3d.stime': {
handler: function (newVal, oldVal) { // handler: function (newVal, oldVal) {
if (newVal != oldVal) { // if (newVal != oldVal) {
this.stoptimes = newVal; // this.stoptimes = newVal;
} // }
} // }
}, // },
'jlmap3d.drivecount': { 'jlmap3d.drivecount': {
handler: function (newVal, oldVal) { handler: function (newVal, oldVal) {
if (newVal != oldVal) { if (newVal != oldVal) {
@ -315,11 +315,11 @@ export default {
}, },
updatestatus(newdata){ updatestatus(newdata){
if(newdata.groupNumber){ // if(newdata.groupNumber){
this.trainnum = newdata.groupNumber; // this.trainnum = newdata.groupNumber;
//
updateDriveValue(this.trainnum); // updateDriveValue(this.trainnum);
} // }
updatedoorlight(newdata); updatedoorlight(newdata);
if(this.$refs.mmiui){ if(this.$refs.mmiui){
this.$refs.mmiui.updatetrainstatus(newdata); this.$refs.mmiui.updatetrainstatus(newdata);

View File

@ -512,7 +512,6 @@ export default {
if(end){ if(end){
this.endstation = end; this.endstation = end;
} }
}, },
}, },
beforeDestroy() { beforeDestroy() {

View File

@ -341,6 +341,9 @@ export default {
updateEditSelectAsset(selsetAsset,selectData){ updateEditSelectAsset(selsetAsset,selectData){
console.log(selectData); console.log(selectData);
if(this.nowSelect != null){ if(this.nowSelect != null){
if(selsetAsset == "clear"){
}
if(selectData.fileType == "model"){ if(selectData.fileType == "model"){
if(selsetAsset == "sceneEdit"){ if(selsetAsset == "sceneEdit"){
this.sceneAssetList[this.nowSelect].id = selectData.id; this.sceneAssetList[this.nowSelect].id = selectData.id;

View File

@ -20,7 +20,7 @@
</el-form> </el-form>
</el-scrollbar> </el-scrollbar>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="清空当前选项内容" name="delet"> <el-tab-pane label="清空当前选项内容" name="delet" @click="clearModel()">
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
@ -175,6 +175,9 @@ export default {
// this.$emit('smodel',this.modelList[index]); // this.$emit('smodel',this.modelList[index]);
updateEditSelectAsset(this.nowAssetName,this.nowAssetList[index]); updateEditSelectAsset(this.nowAssetName,this.nowAssetList[index]);
}, },
clearModel(){
updateEditSelectAsset("clear");
},
// //
updateAssetList(newdata,newtype){ updateAssetList(newdata,newtype){
console.log(newdata); console.log(newdata);

View File

@ -70,8 +70,12 @@ export default {
createPost(this.form).then(resp => { createPost(this.form).then(resp => {
this.$emit('reloadTable'); this.$emit('reloadTable');
this.handleClose(); this.handleClose();
}).catch(() => { }).catch((error) => {
if (error.code == '10012') {
this.$message.error('本项目下的留言板已存在,请勿重复创建!');
} else {
this.$message.error('创建留言板失败!'); this.$message.error('创建留言板失败!');
}
this.handleClose(); this.handleClose();
}); });
} }

View File

@ -277,7 +277,7 @@ export default {
const routeData = this.$router.resolve({ const routeData = this.$router.resolve({
path:'/messageBoard', path:'/messageBoard',
query:{ query:{
project: this.$route.query.project, project: this.$route.query.project || getSessionStorage('project'),
noPreLogout: true noPreLogout: true
} }
}); });

View File

@ -234,7 +234,7 @@ export default {
this.group = this.$route.query.group; this.group = this.$route.query.group;
this.setWindowSize(); this.setWindowSize();
this.initLoadData(); this.initLoadData();
getPostByProjectCode(ProjectCode[this.project]).then(resp => { getPostByProjectCode(ProjectCode[this.$route.query.project]).then(resp => {
if (resp.data) { if (resp.data) {
this.messageBoard = true; this.messageBoard = true;
} }

View File

@ -51,13 +51,15 @@ export default {
activeName: 'first', activeName: 'first',
lazy: true, lazy: true,
LineTypeList: [], LineTypeList: [],
centralizedStationList: [],
editModel: { editModel: {
code: '', code: '',
type: '', type: '',
width: 1, width: 1,
lineColor: '', lineColor: '',
showConditions: '01', showConditions: '01',
points: [] points: [],
stationCode: ''
}, },
addModel: { addModel: {
type: '', type: '',
@ -110,7 +112,8 @@ export default {
{ prop: 'lineColor', label: this.$t('map.lineColor'), type: 'color' }, { prop: 'lineColor', label: this.$t('map.lineColor'), type: 'color' },
{ prop: 'width', label: this.$t('map.lineWidth'), type: 'number', min: 1, placeholder: 'px' }, { prop: 'width', label: this.$t('map.lineWidth'), type: 'number', min: 1, placeholder: 'px' },
{ prop: 'showConditions', label: this.$t('map.showConditions'), type: 'radio', optionLabel: 'label', optionValue:'value', radioList: this.showConditionsList}, { prop: 'showConditions', label: this.$t('map.showConditions'), type: 'radio', optionLabel: 'label', optionValue:'value', radioList: this.showConditionsList},
{ prop: 'points', label: this.$t('map.segmentCoordinates'), type: 'points', width: '100px', isHidden: !this.isPointsShow, addPoint: this.addPoint, delPoint: this.delPoint } { prop: 'points', label: this.$t('map.segmentCoordinates'), type: 'points', width: '100px', isHidden: !this.isPointsShow, addPoint: this.addPoint, delPoint: this.delPoint },
{ prop: 'stationCode', label: this.$t('map.equipmentStation') + ':', type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.centralizedStationList }
] ]
}, },
map: { map: {
@ -153,14 +156,20 @@ export default {
clearDeviceSelect() { clearDeviceSelect() {
this.$emit('deviceSelect', ''); this.$emit('deviceSelect', '');
}, },
handleInit() {
if (this.stationList && this.stationList.length) {
this.centralizedStationList = this.stationList.filter(station=> station.centralized);
}
},
deviceChange(code) { deviceChange(code) {
this.$emit('setCenter', code); this.$emit('setCenter', code);
this.deviceSelect(this.$store.getters['map/getDeviceByCode'](code)); this.deviceSelect(this.$store.getters['map/getDeviceByCode'](code));
}, },
deviceSelect(selected) { deviceSelect(selected) {
this.handleInit();
if (selected && selected._type.toUpperCase() === 'Line'.toUpperCase()) { if (selected && selected._type.toUpperCase() === 'Line'.toUpperCase()) {
this.$refs.form && this.$refs.form.resetFields(); this.$refs.form && this.$refs.form.resetFields();
this.$refs.make && this.$refs.make.resetFields(); this.$refs.dataform && this.$refs.dataform.resetFields();
this.activeName = 'first'; this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected); this.editModel = deepAssign(this.editModel, selected);
} }

View File

@ -51,6 +51,7 @@ export default {
activeName: 'first', activeName: 'first',
lazy: true, lazy: true,
LineTypeList: [], LineTypeList: [],
centralizedStationList: [],
editModel: { editModel: {
code: '', code: '',
width: 1, width: 1,
@ -59,7 +60,8 @@ export default {
position: { position: {
x: 0, x: 0,
y: 0 y: 0
} },
stationCode: ''
}, },
addModel: { addModel: {
code: '', code: '',
@ -86,7 +88,8 @@ export default {
}, },
computed: { computed: {
...mapGetters('map', [ ...mapGetters('map', [
'outerFrameList' 'outerFrameList',
'stationList'
]), ]),
showConditionsList() { showConditionsList() {
const showConditionsList = ConstConfig.ConstSelect.showConditionsList; const showConditionsList = ConstConfig.ConstSelect.showConditionsList;
@ -108,7 +111,8 @@ export default {
{ prop: 'position', label: '坐标:', type: 'coordinate', width: '140px', children: [ { prop: 'position', label: '坐标:', type: 'coordinate', width: '140px', children: [
{ prop: 'position.x', firstLevel: 'position', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '20px' }, { 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: 'position.y', firstLevel: 'position', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '20px' }
] } ] },
{ prop: 'stationCode', label: this.$t('map.equipmentStation') + ':', type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.centralizedStationList }
] ]
} }
} }
@ -125,12 +129,17 @@ export default {
}); });
}, },
methods: { methods: {
handleInit() {
if (this.stationList && this.stationList.length) {
this.centralizedStationList = this.stationList.filter(station=> station.centralized);
}
},
deviceChange(code) { deviceChange(code) {
this.$emit('setCenter', code); this.$emit('setCenter', code);
this.deviceSelect(this.$store.getters['map/getDeviceByCode'](code)); this.deviceSelect(this.$store.getters['map/getDeviceByCode'](code));
}, },
deviceSelect(selected) { deviceSelect(selected) {
this.handleInit();
this.$refs.createForm && this.$refs.createForm.resetFields(); this.$refs.createForm && this.$refs.createForm.resetFields();
if (selected && selected._type.toUpperCase() === 'OutFrame'.toUpperCase()) { if (selected && selected._type.toUpperCase() === 'OutFrame'.toUpperCase()) {
this.activeName = 'first'; this.activeName = 'first';

View File

@ -61,7 +61,8 @@ export default {
position: { position: {
x: 0, x: 0,
y: 0 y: 0
} },
stationCode: ''
}, },
addModel: { addModel: {
prepend: 'H', prepend: 'H',
@ -72,6 +73,7 @@ export default {
y: 0 y: 0
} }
}, },
centralizedStationList: [], //
rules: { rules: {
code: [ code: [
{ required: true, message: this.$t('rules.selectText'), trigger: 'blur' } { required: true, message: this.$t('rules.selectText'), trigger: 'blur' }
@ -125,7 +127,8 @@ export default {
{ prop: 'position', label: this.$t('map.textPoints'), type: 'coordinate', width: '120px', children: [ { prop: 'position', label: this.$t('map.textPoints'), type: 'coordinate', width: '120px', children: [
{ prop: 'position.x', firstLevel: 'position', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '25px', disabled: false }, { prop: 'position.x', firstLevel: 'position', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '25px', disabled: false },
{ prop: 'position.y', firstLevel: 'position', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '25px', disabled: false } { prop: 'position.y', firstLevel: 'position', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '25px', disabled: false }
] } ] },
{ prop: 'stationCode', label: this.$t('map.equipmentStation') + ':', type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.centralizedStationList }
] ]
}, },
map: { map: {
@ -158,13 +161,19 @@ export default {
} }
}, },
methods: { methods: {
handleInit() {
if (this.stationList && this.stationList.length) {
this.centralizedStationList = this.stationList.filter(station=> station.centralized);
}
},
deviceChange(code) { deviceChange(code) {
this.$emit('setCenter', code); this.$emit('setCenter', code);
this.deviceSelect(this.$store.getters['map/getDeviceByCode'](code)); this.deviceSelect(this.$store.getters['map/getDeviceByCode'](code));
}, },
deviceSelect(selected) { deviceSelect(selected) {
this.handleInit();
this.$refs.form && this.$refs.form.resetFields(); this.$refs.form && this.$refs.form.resetFields();
this.$refs.make && this.$refs.make.resetFields(); this.$refs.dataform && this.$refs.dataform.resetFields();
if (selected && selected._type.toUpperCase() === 'Text'.toUpperCase()) { if (selected && selected._type.toUpperCase() === 'Text'.toUpperCase()) {
this.activeName = 'first'; this.activeName = 'first';
this.editModel = deepAssign(this.editModel, selected); this.editModel = deepAssign(this.editModel, selected);

View File

@ -264,14 +264,13 @@ export default {
message: this.$t('publish.setSuccess') message: this.$t('publish.setSuccess')
}); });
}).catch(res => { }).catch(res => {
// if (res.code == '500009') { if (res.code == '10004') {
// this.$message({ type: 'warning', message: this.$t('error.paperHasUseNotDel') }); this.$message({ type: 'error', message: '删除失败:试卷已被使用,无法删除!' });
// } else if (res.code == '10005') { } else if (res.code == '10003') {
// this.$message({ type: 'warning', message: '使'}); this.$message({ type: 'warning', message: '删除失败:无权限删除!'});
// } else { } else {
// this.$message({ type: 'error', message: this.$t('error.deleteException') }); this.$message({ type: 'error', message: this.$t('error.deleteException') });
// } }
this.$message({ type: 'error', message: '删除失败:' + res.message });
}); });
}).catch(() => { }); }).catch(() => { });
}, },

View File

@ -87,7 +87,7 @@ export default {
doSave() { doSave() {
const self = this; const self = this;
this.$refs.dataform.validateForm(() => { this.$refs.dataform.validateForm(() => {
if (this.isAdd === 'ADD') { if (this.isAdd) {
self.create(); self.create();
} else { } else {
self.update(); self.update();