Merge branch 'test' of git.code.tencent.com:lian-cbtc/jl-client into yly_ElmImport
This commit is contained in:
commit
8f3835ad32
@ -180,12 +180,61 @@ class Iscs {
|
||||
update(list) {
|
||||
(list || []).forEach(elem => {
|
||||
const code = elem.code;
|
||||
const oDevice = this.iscsDevice[code];
|
||||
if (elem.dispose) {
|
||||
this.$painter.delete(oDevice);
|
||||
if (elem.deviceType === 'IBP') {
|
||||
if (this.iscsDevice['IscsCircle_20']) {
|
||||
elem.upStatus.operate ? this.iscsDevice['IscsCircle_20'].model.fillColor = '#00CC00' : this.iscsDevice['IscsCircle_20'].model.fillColor = '#008DCE';
|
||||
this.$painter.update(this.iscsDevice['IscsCircle_20']);
|
||||
}
|
||||
if (this.iscsDevice['IscsCircle_17']) {
|
||||
elem.upStatus.openCommand ? this.iscsDevice['IscsCircle_17'].model.fillColor = '#00CC00' : this.iscsDevice['IscsCircle_17'].model.fillColor = '#008DCE';
|
||||
this.$painter.update(this.iscsDevice['IscsCircle_17']);
|
||||
}
|
||||
if (this.iscsDevice['IscsCircle_18']) {
|
||||
elem.upStatus.openSideCommand ? this.iscsDevice['IscsCircle_18'].model.fillColor = '#00CC00' : this.iscsDevice['IscsCircle_18'].model.fillColor = '#008DCE';
|
||||
this.$painter.update(this.iscsDevice['IscsCircle_18']);
|
||||
}
|
||||
if (this.iscsDevice['IscsCircle_19']) {
|
||||
elem.upStatus.closeCommand ? this.iscsDevice['IscsCircle_19'].model.fillColor = '#00CC00' : this.iscsDevice['IscsCircle_19'].model.fillColor = '008DCE';
|
||||
this.$painter.update(this.iscsDevice['IscsCircle_19']);
|
||||
}
|
||||
} else if (elem.deviceType === 'PSL') {
|
||||
if (this.iscsDevice['IscsCircle_12']) {
|
||||
elem.upStatus.operate ? this.iscsDevice['IscsCircle_12'].model.fillColor = '#00CC00' : this.iscsDevice['IscsCircle_12'].model.fillColor = '#008DCE';
|
||||
this.$painter.update(this.iscsDevice['IscsCircle_12']);
|
||||
}
|
||||
if (this.iscsDevice['IscsCircle_9']) {
|
||||
elem.upStatus.openCommand ? this.iscsDevice['IscsCircle_9'].model.fillColor = '#00CC00' : this.iscsDevice['IscsCircle_9'].model.fillColor = '#008DCE';
|
||||
this.$painter.update(this.iscsDevice['IscsCircle_9']);
|
||||
}
|
||||
if (this.iscsDevice['IscsCircle_35']) {
|
||||
elem.upStatus.closeCommand ? this.iscsDevice['IscsCircle_35'].model.fillColor = '#00CC00' : this.iscsDevice['IscsCircle_35'].model.fillColor = '#008DCE';
|
||||
this.$painter.update(this.iscsDevice['IscsCircle_35']);
|
||||
}
|
||||
if (this.iscsDevice['IscsCircle_37']) {
|
||||
elem.upStatus.interlockRelease ? this.iscsDevice['IscsCircle_37'].model.fillColor = '#00CC00' : this.iscsDevice['IscsCircle_37'].model.fillColor = '#008DCE';
|
||||
this.$painter.update(this.iscsDevice['IscsCircle_37']);
|
||||
}
|
||||
} else if (elem.deviceType === 'SAFETY_CIRCLE') {
|
||||
if (this.iscsDevice['IscsCircle_26']) {
|
||||
elem.upStatus.pfdcFault ? this.iscsDevice['IscsCircle_26'].model.fillColor = '#00CC00' : this.iscsDevice['IscsCircle_26'].model.fillColor = '#008DCE';
|
||||
this.$painter.update(this.iscsDevice['IscsCircle_26']);
|
||||
}
|
||||
if (this.iscsDevice['IscsCircle_25']) {
|
||||
elem.upStatus.busFault ? this.iscsDevice['IscsCircle_25'].model.fillColor = '#00CC00' : this.iscsDevice['IscsCircle_25'].model.fillColor = '#008DCE';
|
||||
this.$painter.update(this.iscsDevice['IscsCircle_25']);
|
||||
}
|
||||
if (this.iscsDevice['IscsCircle_27']) {
|
||||
elem.upStatus.safetyCircle ? this.iscsDevice['IscsCircle_27'].model.fillColor = '#00CC00' : this.iscsDevice['IscsCircle_27'].model.fillColor = '#008DCE';
|
||||
this.$painter.update(this.iscsDevice['IscsCircle_27']);
|
||||
}
|
||||
} else {
|
||||
if (this.hookHandle(oDevice.model, elem)) {
|
||||
this.$painter.update(oDevice);
|
||||
const oDevice = this.iscsDevice[code];
|
||||
if (oDevice && elem.dispose) {
|
||||
this.$painter.delete(oDevice);
|
||||
} else if (oDevice) {
|
||||
if (this.hookHandle(oDevice.model, elem)) {
|
||||
this.$painter.update(oDevice);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -97,7 +97,7 @@ class Painter {
|
||||
} else {
|
||||
const instance = device.instance;
|
||||
if (instance) {
|
||||
instance.setState(device);
|
||||
instance.setState(device.model);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -68,15 +68,29 @@ export default class fuzhouPsd extends Group {
|
||||
this.add(this.grouper);
|
||||
}
|
||||
setState(model) {
|
||||
if (model.alarm) {
|
||||
this.fuzhouPsdBorder.setStyle('lineWidth', 1);
|
||||
}
|
||||
if (model.noStatus) {
|
||||
// if (model.alarm) {
|
||||
// this.fuzhouPsdBorder.setStyle('lineWidth', 1);
|
||||
// }
|
||||
if (model.status === 'UNDEFINED') {
|
||||
this.fuzhouPsdLeft.attr({shape:{x: 2}});
|
||||
this.fuzhouPsdRight.attr({shape:{x: this.model.height * 0.9 - 0.4}});
|
||||
this.fuzhouPsdBorder.setStyle('fill', '#0f96dc');
|
||||
this.fuzhouPsdRight.setStyle('fill', '#0f96dc');
|
||||
this.fuzhouPsdLeft.setStyle('fill', '#0f96dc');
|
||||
} else if (model.status === 'DCU_FAULT') {
|
||||
this.fuzhouPsdBorder.setStyle('lineWidth', 1);
|
||||
} else if (model.status === 'OPEN') {
|
||||
this.fuzhouPsdLeft.attr({shape:{x: 2 + (this.model.height * 1.5 - 4) * 0.1}});
|
||||
this.fuzhouPsdRight.attr({shape:{x: (this.model.height * 1.5 - 4) * 0.5 + 2}});
|
||||
this.fuzhouPsdBorder.setStyle('fill', '#33CC00');
|
||||
this.fuzhouPsdRight.setStyle('fill', '#33CC00');
|
||||
this.fuzhouPsdLeft.setStyle('fill', '#33CC00');
|
||||
} else if (model.status === 'CLOSE') {
|
||||
this.fuzhouPsdLeft.attr({shape:{x: 2 + (this.model.height * 1.5 - 4) * 0.1}});
|
||||
this.fuzhouPsdRight.attr({shape:{x: (this.model.height * 1.5 - 4) * 0.5 + 2}});
|
||||
this.fuzhouPsdBorder.setStyle('fill', '#33CC00');
|
||||
this.fuzhouPsdRight.setStyle('fill', '#33CC00');
|
||||
this.fuzhouPsdLeft.setStyle('fill', '#33CC00');
|
||||
}
|
||||
}
|
||||
setModel(dx, dy) {
|
||||
|
@ -823,7 +823,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
|
||||
// console.log(trainmodel.openleft);
|
||||
// console.log(trainmodel.openright);
|
||||
if(trainmodel.code == data.code){
|
||||
|
||||
console.log(data);
|
||||
if(trainmodel.right == "0"){
|
||||
if(data.doorCode == "2"){
|
||||
|
||||
@ -834,6 +834,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
|
||||
actions["traindoor"].top[an].time = actions["traindoor"].top[an]._clip.duration;
|
||||
actions["traindoor"].top[an].timeScale = -1;
|
||||
actions["traindoor"].top[an].play();
|
||||
|
||||
}
|
||||
}else if(trainmodel.openleft != data.open && data.open == "1"){
|
||||
trainmodel.openleft = "1";
|
||||
|
@ -73,15 +73,19 @@ export function Lesson3dPlayer(dom,lessonData,lessonIndex) {
|
||||
|
||||
|
||||
this.actionModelControl = function(actionType,actionModel){
|
||||
console.log(actionType);
|
||||
console.log(actionModel);
|
||||
// console.log(actionType);
|
||||
// console.log(actionModel);
|
||||
if(actionType == "remove"){
|
||||
|
||||
assetModelManager.otherModel.remove(actionModel);
|
||||
}else if(actionType == "show"){
|
||||
actionModel.visible = true;
|
||||
assetModelManager.otherModel.add(actionModel);
|
||||
}else if(actionType == "changeIndex"){
|
||||
actionModel.visible = true;
|
||||
assetModelManager.otherModel.add(actionModel);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
this.actionRemove = function(actionModel){
|
||||
@ -91,15 +95,16 @@ export function Lesson3dPlayer(dom,lessonData,lessonIndex) {
|
||||
this.changeIndex = function(nowIndex){
|
||||
if(nowIndex!=0){
|
||||
oldIndex = lessonIndex;
|
||||
if(lessonData.lessonProgress[oldIndex].roleName == nowRole){
|
||||
updateExam(lessonData.lessonProgress[oldIndex],oldIndex);
|
||||
}
|
||||
}
|
||||
if(lessonData.lessonProgress[oldIndex].roleName == nowRole){
|
||||
updateExam(lessonData.lessonProgress[oldIndex],oldIndex);
|
||||
}
|
||||
|
||||
|
||||
|
||||
lessonIndex = nowIndex;
|
||||
|
||||
console.log(nowIndex);
|
||||
// console.log(nowIndex);
|
||||
scope.nowSceneType = lessonData.lessonProgress[nowIndex].progressScene;
|
||||
// console.log(nowRole);
|
||||
// console.log(lessonData.lessonProgress[lessonIndex].roleName);
|
||||
@ -118,7 +123,10 @@ export function Lesson3dPlayer(dom,lessonData,lessonIndex) {
|
||||
controlManager.changeIndexEvent(lessonData.lessonProgress[lessonIndex].action,false,assetModelManager.lessonTriggerList[scope.nowSceneType]);
|
||||
}
|
||||
|
||||
if(nowIndex == lessonData.lessonProgress.length-1){
|
||||
|
||||
if(nowIndex == (lessonData.lessonProgress.length-1)){
|
||||
console.log(nowIndex);
|
||||
console.log(lessonData.lessonProgress.length);
|
||||
lessonEnd();
|
||||
}
|
||||
}
|
||||
@ -137,6 +145,7 @@ export function Lesson3dPlayer(dom,lessonData,lessonIndex) {
|
||||
}
|
||||
controlManager.initRoleMode(roleMode);
|
||||
for(let i=0;i<lessonData.lessonProgress.length;i++){
|
||||
|
||||
if(nowRole == lessonData.lessonProgress[i].roleName){
|
||||
examList.push(
|
||||
{
|
||||
@ -157,7 +166,7 @@ export function Lesson3dPlayer(dom,lessonData,lessonIndex) {
|
||||
time:0,
|
||||
};
|
||||
controlManager.initExam(examList,examData);
|
||||
updataExamStatus(examData);
|
||||
// updataExamStatus(examData);
|
||||
// if(lessonData.lessonProgress[lessonIndex].action.length>0){
|
||||
controlManager.changeIndexEvent(lessonData.lessonProgress[lessonIndex].action,roleMode,assetModelManager.lessonTriggerList[scope.nowSceneType]);
|
||||
|
||||
|
@ -29,9 +29,9 @@ export function AssetModelManager(editor,scene) {
|
||||
scope.staticAsset['station'] = {
|
||||
modelId:'station',
|
||||
packageName:"车站",
|
||||
url:JL3D_LOCAL_STATIC+"/lesson3d/station.FBX",
|
||||
url:"/MODEL/2021-09-08/211-9861.FBX",
|
||||
mesh:"",
|
||||
assetType:'static',
|
||||
assetType:'onlineasset',
|
||||
isUse:true,
|
||||
resourceType:"三维课程",
|
||||
sceneType:"standstation",
|
||||
@ -219,7 +219,12 @@ export function AssetModelManager(editor,scene) {
|
||||
scope.staticAsset['station'].mesh.getObjectByName("spbmkg").actionName = "PBMDH";
|
||||
scope.lessonTriggerList["standstation"].push(scope.staticAsset['station'].mesh.getObjectByName("spbmkg"));
|
||||
|
||||
// console.log(scope.loadAsset['default1'].mesh.getObjectByName("FTKG"));
|
||||
scope.staticAsset['station'].mesh.getObjectByName("DMH").showType = "default";
|
||||
scope.staticAsset['station'].mesh.getObjectByName("DMH").label = "隔离门";
|
||||
scope.staticAsset['station'].mesh.getObjectByName("DMH").actionName = "PBMDH";
|
||||
scope.lessonTriggerList["standstation"].push(scope.staticAsset['station'].mesh.getObjectByName("DMH"));
|
||||
|
||||
scope.staticAsset['station'].mesh.getObjectByName("DMH").rotation.z = Math.PI/2;
|
||||
}
|
||||
|
||||
//动态加载资源
|
||||
|
@ -564,70 +564,110 @@ export function ControlManager(dom,scene,lessonData,lessonIndex) {
|
||||
// console.log(eventTrigger);
|
||||
// console.log("----------------------------");
|
||||
|
||||
|
||||
if(actions.length>0 && roleMode){
|
||||
console.log(roleMode);
|
||||
if(actions.length>0 ){
|
||||
scope.eventHitMode = true;
|
||||
for(let i=0;i<actions.length;i++){
|
||||
|
||||
if(actions[i].actionType == "auto"){
|
||||
|
||||
console.log(actions[i]);
|
||||
if(actions[i].actionMode == "play"){
|
||||
for(let j=0;j<eventTrigger.length;j++){
|
||||
if(eventTrigger[j].label == actions[i].actionModel){
|
||||
|
||||
if(actionList[eventTrigger[j].actionName].status == "01"){
|
||||
actionList[eventTrigger[j].actionName].status = "02";
|
||||
|
||||
actionList[eventTrigger[j].actionName].action.reset();
|
||||
actionList[eventTrigger[j].actionName].action.timeScale = 1;
|
||||
actionList[eventTrigger[j].actionName].action.clampWhenFinished = true;
|
||||
actionList[eventTrigger[j].actionName].action.setLoop(THREE.LoopOnce);
|
||||
actionList[eventTrigger[j].actionName].action.play();
|
||||
|
||||
}else{
|
||||
actionList[eventTrigger[j].actionName].status = "01";
|
||||
|
||||
actionList[eventTrigger[j].actionName].action.reset();
|
||||
actionList[eventTrigger[j].actionName].action.timeScale = -1;
|
||||
actionList[eventTrigger[j].actionName].action.clampWhenFinished = true;
|
||||
actionList[eventTrigger[j].actionName].action.setLoop(THREE.LoopOnce);
|
||||
actionList[eventTrigger[j].actionName].action.play();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(actions[i].actionMode == "show"){
|
||||
for(let j=0;j<eventTrigger.length;j++){
|
||||
if(eventTrigger[j].label == actions[i].actionModel){
|
||||
actionEvent("show",actions[i],eventTrigger[j]);
|
||||
j = eventTrigger.length;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(actions[i].actionMode == "remove"){
|
||||
for(let j=0;j<eventTrigger.length;j++){
|
||||
if(eventTrigger[j].label == actions[i].actionModel){
|
||||
actionEvent("remove",actions[i],eventTrigger[j]);
|
||||
j = eventTrigger.length;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
console.log(eventTrigger);
|
||||
if(actions[i].actionType == "contact"){
|
||||
for(let j=0;j<eventTrigger.length;j++){
|
||||
if(eventTrigger[j].label == actions[i].actionModel){
|
||||
let eventTestBox = new THREE.Box3(new THREE.Vector3(), new THREE.Vector3());
|
||||
eventTestBox.setFromObject(eventTrigger[j]);
|
||||
eventTestBox.mesh = eventTrigger[j];
|
||||
eventTestBox.action = actions[i];
|
||||
eventBoxs.push(eventTestBox);
|
||||
actionEvent("changeIndex",eventBoxs[i].action,eventTestBox.mesh);
|
||||
if(roleMode){
|
||||
if(actions[i].actionType == "contact"){
|
||||
if(eventTrigger){
|
||||
|
||||
for(let j=0;j<eventTrigger.length;j++){
|
||||
if(eventTrigger[j].label == actions[i].actionModel){
|
||||
let eventTestBox = new THREE.Box3(new THREE.Vector3(), new THREE.Vector3());
|
||||
eventTestBox.setFromObject(eventTrigger[j]);
|
||||
eventTestBox.mesh = eventTrigger[j];
|
||||
eventTestBox.action = actions[i];
|
||||
eventBoxs.push(eventTestBox);
|
||||
actionEvent("changeIndex",eventBoxs[i].action,eventTestBox.mesh);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(actions[i].actionType == "switch"){
|
||||
for(let j=0;j<eventTrigger.length;j++){
|
||||
if(eventTrigger[j].label == actions[i].actionModel){
|
||||
|
||||
let eventRaycaster = {
|
||||
mesh:eventTrigger[j],
|
||||
action:actionList[eventTrigger[j].actionName],
|
||||
type:actions[i].actionType,
|
||||
actionMode:actions[i].actionMode,
|
||||
jumpNode:actions[i].jumpNode,
|
||||
};
|
||||
raycasterBoxs.push(eventRaycaster);
|
||||
|
||||
actionEvent("changeIndex",actions[i],eventTrigger[j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(actions[i].actionType == "urgeSwitch"){
|
||||
for(let j=0;j<eventTrigger.length;j++){
|
||||
if(eventTrigger[j].label == actions[i].actionModel){
|
||||
let eventRaycaster = {
|
||||
mesh:eventTrigger[j],
|
||||
action:actionList[eventTrigger[j].actionName],
|
||||
type:actions[i].actionType,
|
||||
};
|
||||
raycasterBoxs.push(eventRaycaster);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(actions[i].actionType == "switch"){
|
||||
for(let j=0;j<eventTrigger.length;j++){
|
||||
if(eventTrigger[j].label == actions[i].actionModel){
|
||||
|
||||
let eventRaycaster = {
|
||||
mesh:eventTrigger[j],
|
||||
action:actionList[eventTrigger[j].actionName],
|
||||
type:actions[i].actionType,
|
||||
actionMode:actions[i].actionMode,
|
||||
jumpNode:actions[i].jumpNode,
|
||||
};
|
||||
raycasterBoxs.push(eventRaycaster);
|
||||
|
||||
actionEvent("changeIndex",actions[i],eventTrigger[j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(actions[i].actionType == "urgeSwitch"){
|
||||
for(let j=0;j<eventTrigger.length;j++){
|
||||
if(eventTrigger[j].label == actions[i].actionModel){
|
||||
let eventRaycaster = {
|
||||
mesh:eventTrigger[j],
|
||||
action:actionList[eventTrigger[j].actionName],
|
||||
type:actions[i].actionType,
|
||||
};
|
||||
raycasterBoxs.push(eventRaycaster);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}else if(actions.length>0){
|
||||
console.log(actions);
|
||||
// console.log(actions);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -49,9 +49,9 @@ export function AssetModelManager(editor,scene) {
|
||||
scope.staticAsset['station'] = {
|
||||
modelId:'station',
|
||||
packageName:"车站",
|
||||
url:JL3D_LOCAL_STATIC+"/lesson3d/station.FBX",
|
||||
url:"/MODEL/2021-09-08/211-9861.FBX",
|
||||
mesh:"",
|
||||
assetType:'static',
|
||||
assetType:'onlineasset',
|
||||
isUse:true,
|
||||
resourceType:"三维课程",
|
||||
sceneType:"standstation",
|
||||
@ -282,6 +282,9 @@ export function AssetModelManager(editor,scene) {
|
||||
scope.staticAsset['station'].mesh.getObjectByName("spbmkg").label = "屏蔽门开关";
|
||||
scope.lessonTriggerList["standstation"].push(scope.staticAsset['station'].mesh.getObjectByName("spbmkg"));
|
||||
|
||||
scope.staticAsset['station'].mesh.getObjectByName("DMH").showType = "default";
|
||||
scope.staticAsset['station'].mesh.getObjectByName("DMH").label = "隔离门";
|
||||
scope.lessonTriggerList["standstation"].push(scope.staticAsset['station'].mesh.getObjectByName("DMH"));
|
||||
|
||||
|
||||
// console.log(scope.loadAsset['default1'].mesh.getObjectByName("FTKG"));
|
||||
|
@ -307,7 +307,7 @@ class Jlmap {
|
||||
}
|
||||
});
|
||||
|
||||
const prdType2ShowMode = { '01': '03', '02': '02', '09': '09'};
|
||||
const prdType2ShowMode = { '01': '03', '02': '02'};
|
||||
const showMode = prdType2ShowMode[this.showConfig.prdType];
|
||||
const stationCode = this.stationCode;
|
||||
|
||||
|
@ -54,7 +54,7 @@ export default class Arrow extends Group {
|
||||
}
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.show();
|
||||
this.isShowShape = true;
|
||||
this.setState(this.model);
|
||||
|
@ -173,7 +173,7 @@ export default class AutoTurnBack extends Group {
|
||||
}
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.isShowShape = true;
|
||||
this.showMode();
|
||||
} else {
|
||||
|
@ -138,7 +138,7 @@ export default class AutomacticRoute extends Group {
|
||||
}
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.isShowShape = true;
|
||||
this.showMode();
|
||||
} else {
|
||||
|
@ -142,7 +142,7 @@ export default class AxleReset extends Group {
|
||||
}
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.isShowShape = true;
|
||||
this.showMode();
|
||||
} else {
|
||||
|
@ -98,7 +98,7 @@ export default class DirectionRod extends Group {
|
||||
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.isShowShape = true;
|
||||
this.showMode();
|
||||
} else {
|
||||
|
@ -62,7 +62,7 @@ export default class FloodGate extends Group {
|
||||
}
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.isShowShape = true;
|
||||
this.showMode();
|
||||
} else {
|
||||
|
@ -149,7 +149,7 @@ export default class GuideLock extends Group {
|
||||
}
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.isShowShape = true;
|
||||
this.showMode();
|
||||
} else {
|
||||
|
@ -89,7 +89,7 @@ export default class LcControl extends Group {
|
||||
}
|
||||
setShowMode() {}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.control.show();
|
||||
this.isShowShape = true;
|
||||
this.setState(this.model);
|
||||
|
@ -94,7 +94,7 @@ export default class LimitControl extends Group {
|
||||
}
|
||||
setShowMode() {}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.control.show();
|
||||
this.isShowShape = true;
|
||||
this.setState(this.model);
|
||||
|
@ -104,12 +104,9 @@ export default class Line2 extends Group {
|
||||
this.segment && this.segment.hide();
|
||||
this.viceSegment && this.viceSegment.hide();
|
||||
}
|
||||
if (store.state.training.prdType === '09') {
|
||||
this.text && this.text.hide();
|
||||
}
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.segment && this.segment.show();
|
||||
this.viceSegment && this.viceSegment.show();
|
||||
this.isShowShape = true;
|
||||
|
@ -58,7 +58,7 @@ export default class OutFrame extends Group {
|
||||
}
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.box && this.box.show();
|
||||
this.isShowShape = true;
|
||||
this.setState(this.model);
|
||||
|
@ -136,7 +136,7 @@ export default class Line2 extends Group {
|
||||
}
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.eachChild((child) => {
|
||||
child.show();
|
||||
});
|
||||
|
@ -92,7 +92,7 @@ export default class Line2 extends Group {
|
||||
}
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.eachChild(item => {
|
||||
item.show();
|
||||
});
|
||||
|
@ -71,7 +71,7 @@ export default class Resource extends Group {
|
||||
}
|
||||
setShowMode() {}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.image && this.image.show();
|
||||
this.isShowShape = true;
|
||||
this.setState(this.model);
|
||||
|
@ -189,7 +189,7 @@ export default class Responder extends Group {
|
||||
}
|
||||
setShowMode() {}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.block && this.block.show();
|
||||
this.isShowShape = true;
|
||||
this.setState(this.model);
|
||||
|
@ -223,7 +223,7 @@ export default class SaidLamp extends Group {
|
||||
}
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.control && this.control.show();
|
||||
this.isShowShape = true;
|
||||
this.setState(this.model);
|
||||
|
@ -580,7 +580,6 @@ export default class Section extends Group {
|
||||
this.eachChild(item => {
|
||||
item.show();
|
||||
});
|
||||
this.isShowShape = true;
|
||||
this.setState(this.model);
|
||||
}
|
||||
if (this.model.showMode === '05') {
|
||||
@ -598,7 +597,7 @@ export default class Section extends Group {
|
||||
}
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.eachChild(item => {
|
||||
item.show();
|
||||
});
|
||||
@ -621,6 +620,7 @@ export default class Section extends Group {
|
||||
if (this.reentryTrackText) {
|
||||
this.model.reentryTrackNameShow ? this.reentryTrackText.show() : this.reentryTrackText.hide();
|
||||
}
|
||||
|
||||
this.setState(this.model);
|
||||
} else {
|
||||
this.eachChild(item => {
|
||||
|
@ -1174,7 +1174,6 @@ class Signal extends Group {
|
||||
this.eachChild(item => {
|
||||
item.show();
|
||||
});
|
||||
this.isShowShape = true;
|
||||
this.setState(this.model);
|
||||
}
|
||||
if (showMode == '03') {
|
||||
@ -1190,7 +1189,7 @@ class Signal extends Group {
|
||||
}
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.eachChild(item => {
|
||||
item.show();
|
||||
});
|
||||
|
@ -132,7 +132,7 @@ export default class SignalButton extends Group {
|
||||
setShowMode() {
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.eachChild(item => {
|
||||
item.show();
|
||||
});
|
||||
|
@ -133,7 +133,7 @@ export default class SplitStation extends Group {
|
||||
}
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.eachChild(item => {
|
||||
item.show();
|
||||
});
|
||||
|
@ -784,7 +784,7 @@ export default class Station extends Group {
|
||||
}
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (this.model.visible) {
|
||||
this.eachChild(item => {
|
||||
item.show();
|
||||
|
@ -91,7 +91,7 @@ export default class StationCounter extends Group {
|
||||
}
|
||||
setShowMode() {}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.eachChild(item => {
|
||||
item.show();
|
||||
});
|
||||
|
@ -109,7 +109,7 @@ export default class StationDelayUnlock extends Group {
|
||||
}
|
||||
setShowMode() {}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.eachChild(item => {
|
||||
item.show();
|
||||
});
|
||||
|
@ -249,7 +249,7 @@ class StationStand extends Group {
|
||||
}
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code) && this.model.visible) {
|
||||
if ((!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) && this.model.visible) {
|
||||
this.eachChild(item => {
|
||||
item.show();
|
||||
});
|
||||
|
@ -199,7 +199,7 @@ export default class StationTurnBack extends Group {
|
||||
}
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.eachChild(item => {
|
||||
item.show();
|
||||
});
|
||||
|
@ -802,7 +802,6 @@ export default class Switch extends Group {
|
||||
this.eachChild(item => {
|
||||
item.show();
|
||||
});
|
||||
this.isShowShape = true;
|
||||
this.setState(this.model);
|
||||
}
|
||||
if ( this.model.showMode === '05') {
|
||||
@ -812,7 +811,7 @@ export default class Switch extends Group {
|
||||
}
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.eachChild(item => {
|
||||
item.show();
|
||||
});
|
||||
|
@ -68,12 +68,9 @@ export default class Text2 extends Group {
|
||||
} else {
|
||||
this.text && this.text.hide();
|
||||
}
|
||||
if (store.state.training.prdType === '09') {
|
||||
this.text && this.text.hide();
|
||||
}
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.eachChild(item => {
|
||||
item.show();
|
||||
});
|
||||
|
@ -462,7 +462,7 @@ export default class Train extends Group {
|
||||
}
|
||||
}
|
||||
setShowStation(stationCode) {
|
||||
if (this.model.sectionModel && store.getters['map/checkDeviceShow'](stationCode, this.model.sectionModel.code)) {
|
||||
if ((this.model.sectionModel && store.getters['map/checkDeviceShow'](stationCode, this.model.sectionModel.code)) || !stationCode) {
|
||||
this.eachChild(item => {
|
||||
item.show();
|
||||
});
|
||||
|
@ -111,7 +111,7 @@ export default class ZcControl extends Group {
|
||||
}
|
||||
setShowMode() {}
|
||||
setShowStation(stationCode) {
|
||||
if (store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) {
|
||||
this.eachChild(item => {
|
||||
item.show();
|
||||
});
|
||||
|
@ -3,8 +3,8 @@ import systemGraphShape from './systemGraph';
|
||||
|
||||
export default {
|
||||
__Shape: {
|
||||
...graphMapShape
|
||||
// ...systemGraphShape
|
||||
...graphMapShape,
|
||||
...systemGraphShape
|
||||
},
|
||||
getBuilder(type) {
|
||||
const ShapeClazz = this.__Shape[type];
|
||||
|
@ -148,9 +148,7 @@ export default {
|
||||
const roleDeviceCode = this.$store.state.training.roleDeviceCode;
|
||||
const displayList = this.$store.state.map.map.displayList;
|
||||
const display = displayList.find(each=>{
|
||||
if (each.type === 'LOCAL') {
|
||||
return each.stationCodeList.includes(roleDeviceCode);
|
||||
}
|
||||
return each.stationCodeList.includes(roleDeviceCode);
|
||||
});
|
||||
if (display) {
|
||||
const codeList = [...display.switchStationCodeList];
|
||||
|
@ -15,6 +15,7 @@ const Jlmap3dedit = () => import('@/views/jlmap3d/edit/jlmap3dedit');
|
||||
const Jlmap3dAssetManager = () => import('@/views/jlmap3d/jl3dassetmanager/assetmanager');
|
||||
const Jlmap3dLesson3dEdit = () => import('@/views/jlmap3d/lesson3dedit/lesson3dedit');
|
||||
const Jlmap3dLesson3dPlayer = () => import('@/views/jlmap3d/lesson3dplayer/lesson3dplayer');
|
||||
const Jlmap3dLesson3dSelect = () => import('@/views/jlmap3d/lesson3dplayer/lesson3dselect');
|
||||
|
||||
const Jlmap3d = () => import('@/views/jlmap3d/drive/jl3ddrive');
|
||||
const Jlmap3dSandbox = () => import('@/views/jlmap3d/simulation/jl3dsimulation');
|
||||
@ -41,6 +42,7 @@ const PracticeDisplay = () => import('@/views/newMap/displayNew/practiceDisplay'
|
||||
const BigLPFStrategy = () => import('@/views/newMap/displayNew/bigLPFStrategy');
|
||||
|
||||
const JointTrainingNew = () => import('@/views/newMap/jointTrainingNew/index');
|
||||
const jointTrainingNewCCTV = () => import('@/views/newMap/jointTrainingNew/realCCTV');
|
||||
|
||||
const Errpr404 = () => import('@/views/error-page/404');
|
||||
|
||||
@ -289,6 +291,12 @@ export const constantRoutes = [
|
||||
component: Jlmap3dLesson3dPlayer,
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/jlmap3d/lesson3dselect',
|
||||
component: Jlmap3dLesson3dSelect,
|
||||
hidden: true
|
||||
},
|
||||
|
||||
{
|
||||
path: '/data2json',
|
||||
component: () => import('@/views/planMonitor/data2json/page.vue'),
|
||||
@ -346,6 +354,7 @@ export const constantRoutes = [
|
||||
component: Jl3dRailwayDrive,
|
||||
hidden: true
|
||||
},
|
||||
|
||||
{
|
||||
path: '/jlmap3d/devicemodel',
|
||||
component: Jlmap3dModel,
|
||||
@ -442,6 +451,11 @@ export const publicAsyncRoute = [
|
||||
component: JointTrainingNew,
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/jointTrainingNewCCTV',
|
||||
component: jointTrainingNewCCTV,
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/jlmap3d',
|
||||
component: Jlmap3d,
|
||||
|
@ -159,8 +159,7 @@ export default {
|
||||
{ enlabel: 'Comprehensive exercise cloud platform', label: '综合演练云平台', value: '03'},
|
||||
{ enlabel: 'Driver simulation driving system', label: '司机模拟驾驶系统', value: '04'},
|
||||
{ enlabel: 'Dispatch workstation', label: '派班工作站', value: '05'},
|
||||
{ enlabel: 'ISCS workstation', label: 'ISCS工作站', value: '06'},
|
||||
{ enlabel: 'Interlocking station at depot', label: '车辆段联锁工作站', value: '09' }
|
||||
{ enlabel: 'ISCS workstation', label: 'ISCS工作站', value: '06'}
|
||||
],
|
||||
trainingDeviceType: {
|
||||
Switch: {enlabel: 'Switch training', label:'道岔实训'},
|
||||
|
@ -448,6 +448,17 @@ export const loginInfo = {
|
||||
navigationMarginLeft: '50px',
|
||||
systemType: '022'
|
||||
},
|
||||
richorlesson3d:{
|
||||
title: '中航锐创城市轨道交通实训平台',
|
||||
loginPath: '/login?project=richorlesson3d',
|
||||
loginParam: 'RICHOR',
|
||||
bottomColumn: '中航锐创(北京)科技发展有限公司 联系电话:4000500081',
|
||||
linkIcon: FaviconRichor,
|
||||
titleIcon: FaviconRichor,
|
||||
navigationLogoWidth: '40px',
|
||||
navigationMarginLeft: '50px',
|
||||
systemType: '022'
|
||||
},
|
||||
designrichorjoint: {
|
||||
title: '中航锐创城市轨道交通设计平台',
|
||||
loginPath: '/design/login?project=richorjoint',
|
||||
@ -513,6 +524,7 @@ export const ProjectIcon = {
|
||||
cgy: FaviconCgy,
|
||||
designcgy: FaviconCgy,
|
||||
richor:FaviconRichor,
|
||||
richorlesson3d:FaviconRichor,
|
||||
richorjoint: FaviconRichor,
|
||||
designrichorjoint: FaviconRichor
|
||||
};
|
||||
@ -546,14 +558,15 @@ export const ProjectCode = {
|
||||
cgy: 'CGY',
|
||||
designcgy: 'CGY',
|
||||
richor:'RICHOR',
|
||||
richorlesson3d:'RICHOR',
|
||||
richorjoint: 'RICHOR_JOINT',
|
||||
designrichorjoint: 'RICHOR_JOINT'
|
||||
};
|
||||
export const BottomColumnOnlyConInfo = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'richor', 'richorjoint', 'designrichorjoint']; // 底部栏仅展示公司信息不展示备案号
|
||||
export const GetMapListByProjectList = ['xty', 'designxty', 'gzb', 'designgzb', 'xadt', 'designxadt', 'heb', 'designheb', 'designdrts', 'drts', 'wjls', 'nty', 'designnty', 'sdy', 'designsdy', 'ntyc', 'designntyc', 'ntyl', 'designntyl', 'designbjd', 'cgy', 'designcgy', 'zzww', 'zzwwtest', 'richor', 'richorjoint', 'designrichorjoint']; // 实训设计平台通过项目code获取地图列表的项目
|
||||
export const BottomColumnOnlyConInfo = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'richor', 'richorlesson3d', 'richorjoint', 'designrichorjoint']; // 底部栏仅展示公司信息不展示备案号
|
||||
export const GetMapListByProjectList = ['xty', 'designxty', 'gzb', 'designgzb', 'xadt', 'designxadt', 'heb', 'designheb', 'designdrts', 'drts', 'wjls', 'nty', 'designnty', 'sdy', 'designsdy', 'ntyc', 'designntyc', 'ntyl', 'designntyl', 'designbjd', 'cgy', 'designcgy', 'zzww', 'zzwwtest', 'richor','richorlesson3d', 'richorjoint', 'designrichorjoint']; // 实训设计平台通过项目code获取地图列表的项目
|
||||
export const CaseHideProjectList = ['heb', 'designheb', 'cgy', 'designcgy']; // 案例展示隐藏的项目
|
||||
export const VersionBaseNoShow = ['heb', 'designheb', 'hls', 'designhls', 'drts', 'wjls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'xadt', 'designxadt']; // 登录页右下角版本开发基于不展示
|
||||
export const MainBodyNoShow = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'xadt', 'designxadt']; // 登录页右下角主体不展示
|
||||
export const MainBodyNoShow = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'xadt', 'designxadt','richor','richorlesson3d', 'richorjoint']; // 登录页右下角主体不展示
|
||||
export const ProjectLoginStyleList = ['gzb', 'designgzb', 'xty', 'designxty', 'xadt', 'designxadt', 'tky', 'designtky', 'jyd', 'designjyd', 'bxkc', 'designbxkc',
|
||||
'crsc', 'designcrsc', 'hls', 'designhls', 'drts', 'wjls', 'hyd', 'designhyd', 'nty', 'designnty', 'bjd', 'designbjd', 'sdy', 'designsdy', 'ntyc', 'designntyc', 'ntyl', 'designntyl', 'cgy', 'designcgy', 'zzww', 'zzwwtest']; // 登录页样式
|
||||
export const NoQrcodeList = ['heb', 'designheb', 'cgy', 'designcgy', 'ntyl', 'designntyl'];
|
||||
@ -614,6 +627,7 @@ export const ProjectList = [
|
||||
{value: 'zzww', label: '郑州共赢'},
|
||||
{value: 'zzwwtest', label: '郑州共赢考试'},
|
||||
{value: 'richor', label: '中航锐创'},
|
||||
{value: 'richorlesson3d', label: '中航锐创(三维课程)'},
|
||||
{value: 'richor_joint', label: '中航锐创(实训室)'}
|
||||
];
|
||||
export const localPackageProject = {
|
||||
|
@ -181,6 +181,9 @@ const iscs = {
|
||||
},
|
||||
setCloseMusic: (state, num) => {
|
||||
state.closeMusicNum = num;
|
||||
},
|
||||
updateIscsState: (state, deviceStatus) => {
|
||||
Vue.prototype.$iscs && Vue.prototype.$iscs.update(deviceStatus);
|
||||
}
|
||||
},
|
||||
|
||||
@ -188,6 +191,9 @@ const iscs = {
|
||||
setIscsData: ({ commit }, iscs) => {
|
||||
commit('setIscsData', iscs);
|
||||
},
|
||||
updateIscsState: ({ commit }, deviceStatus) => {
|
||||
commit('updateIscsState', deviceStatus);
|
||||
},
|
||||
updateIscsDevices: ({ commit }, models) => {
|
||||
return new Promise((resolve) => {
|
||||
if (!(models instanceof Array)) {
|
||||
|
@ -340,6 +340,7 @@ const socket = {
|
||||
competitionPracticeFinish:0, // 竞赛场景结束标识
|
||||
simulationAlarmInfo: [], // 仿真报警信息
|
||||
deviceStateMessages: null, // 新版订阅设备状态消息
|
||||
iscsStateMessages: null, // iscs设备状态消息
|
||||
simulationSpeed: 1, // 仿真倍速
|
||||
simulationPause: false,
|
||||
simulationPslStatus: [], // PSL面板按钮状态信息
|
||||
@ -421,6 +422,9 @@ const socket = {
|
||||
},
|
||||
setSimulationSpeed: (state, speed) => {
|
||||
state.simulationSpeed = speed;
|
||||
},
|
||||
setIscsStateMessages: (state, speed) => {
|
||||
state.iscsStateMessages = speed;
|
||||
}
|
||||
},
|
||||
|
||||
@ -506,6 +510,9 @@ const socket = {
|
||||
},
|
||||
setSimulationTimeSync:({ commit }, time) => {
|
||||
commit('setSimulationTimeSync', time);
|
||||
},
|
||||
handleIscsState:({ commit }, state) => {
|
||||
commit('setIscsStateMessages', state);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -4,12 +4,13 @@ export function getBaseUrl() {
|
||||
// BASE_API = 'https://joylink.club/jlcloud';
|
||||
BASE_API = 'https://test.joylink.club/jlcloud';
|
||||
// BASE_API = 'http://192.168.8.107:9000'; // 袁琪
|
||||
// BASE_API = 'http://192.168.8.176:9000'; // 旭强
|
||||
// BASE_API = 'http://192.168.2.175:9000'; // 旭强 有线
|
||||
// BASE_API = 'http://192.168.8.167:9000'; // 旭强 无线
|
||||
// BASE_API = 'http://192.168.2.183:9000'; // 张赛
|
||||
// BASE_API = 'http://192.168.8.140:9000'; // 杜康
|
||||
// BASE_API = 'http://b29z135112.zicp.vip';
|
||||
// BASE_API = 'http://2925963m2a.zicp.vip'; // 杜康
|
||||
// BASE_API = 'http://2i38984j47.qicp.vip'; // 张赛
|
||||
BASE_API = 'http://2i38984j47.qicp.vip'; // 张赛
|
||||
} else {
|
||||
BASE_API = process.env.VUE_APP_BASE_API;
|
||||
}
|
||||
|
@ -8,6 +8,7 @@ export const perpetualTopic = '/user/topic/message'; // 公用topic
|
||||
export const roomTopic = '/user/queue/room'; // 房间topic
|
||||
export const jl3dTopic = '/user/queue/simulation/jl3d'; // 三维topic
|
||||
export const LPFTopic = '/user/queue/simulation/passenger'; // 客流topic
|
||||
// export const iscsTopic = '/topic/simulation/iscs'; // iscs topic
|
||||
|
||||
export function getTopic(type, group) {
|
||||
let topic = '';
|
||||
@ -24,6 +25,9 @@ export function getTopic(type, group) {
|
||||
// topic = `/user/queue/simulation/${group}/state`;
|
||||
topic = `/queue/simulation/${group}/state`;
|
||||
break;
|
||||
case 'ISCSPSD':
|
||||
topic = `/queue/simulation/${group}/iscs/psd`;
|
||||
break;
|
||||
}
|
||||
return topic;
|
||||
}
|
||||
@ -49,6 +53,8 @@ function callback(Response) {
|
||||
store.dispatch('socket/setSimulationTimeSync', Number.parseInt(Response.body));
|
||||
} else if (Response.headers.destination.includes('state')) {
|
||||
store.dispatch('socket/handleSimulationState', Number.parseInt(Response.body));
|
||||
} else if (Response.headers.destination.includes('iscs')) {
|
||||
store.dispatch('socket/handleIscsState', JSON.parse(Response.body));
|
||||
} else {
|
||||
const data = JSON.parse(Response.body);
|
||||
store.dispatch('socket/setStomp', data);
|
||||
|
@ -219,7 +219,7 @@ export default {
|
||||
});
|
||||
},
|
||||
async start() {
|
||||
const jumpFunc = ['jump', 'jump', 'enterIntegratedSimulation', 'jump', 'jumpScheduling', 'enterISCS', 'enterScreen', '', 'jump'];
|
||||
const jumpFunc = ['jump', 'jump', 'enterIntegratedSimulation', 'jump', 'jumpScheduling', 'enterISCS', 'enterScreen'];
|
||||
this[jumpFunc[parseInt(this.courseModel.prdType) - 1]]();
|
||||
},
|
||||
jumpSimulation() {
|
||||
|
@ -1,6 +1,9 @@
|
||||
<template>
|
||||
<div style="overflow-y: scroll;height: calc(100% - 46px); width: 100%;">
|
||||
<el-form ref="form" :rules="rules" :model="form" label-width="80px" style="width: 100%;padding: 10px 50px;">
|
||||
<el-form-item label="编码:" prop="code">
|
||||
<el-input v-model="form.code" :disabled="true" size="small" />
|
||||
</el-form-item>
|
||||
<el-form-item label="图层:" prop="z2">
|
||||
<el-input-number v-model="form.z2" controls-position="right" :min="0" size="small" />
|
||||
</el-form-item>
|
||||
|
@ -1,6 +1,9 @@
|
||||
<template>
|
||||
<div style="overflow-y: scroll;height: calc(100% - 46px); width: 100%;">
|
||||
<el-form ref="form" :rules="rules" :model="form" label-width="80px" style="width: 100%;padding: 10px 50px;">
|
||||
<el-form-item label="门高:" prop="height">
|
||||
<el-input v-model="form.code" :disabled="true" size="small" />
|
||||
</el-form-item>
|
||||
<el-form-item label="门高:" prop="height">
|
||||
<el-input-number v-model="form.height" controls-position="right" :min="20" size="small" />
|
||||
</el-form-item>
|
||||
|
@ -41,6 +41,8 @@ export default {
|
||||
return this.$route.query.lineCode;
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
}
|
||||
};
|
||||
|
@ -173,6 +173,7 @@ export default {
|
||||
}
|
||||
});
|
||||
}
|
||||
this.$emit('viewLoaded');
|
||||
},
|
||||
setIscs(data, oldData) {
|
||||
this.$iscs.setIscs(oldData, data, this.$route.query.lineCode);
|
||||
|
@ -58,6 +58,9 @@ export default {
|
||||
this.$store.dispatch('runPlan/setRunPlanInfo', res.data.runPlan);
|
||||
loadRunPlanData(this.group);
|
||||
});
|
||||
},
|
||||
'$store.state.socket.iscsStateMessages': function (list) {
|
||||
this.$store.dispatch('iscs/updateIscsState', list);
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
@ -2,7 +2,7 @@
|
||||
<div class="psdSystem">
|
||||
<div class="psdSystem_header">{{ stationName+' 屏蔽门系统' }}</div>
|
||||
<div>
|
||||
<iscsSystem ref="iscsPlate" />
|
||||
<iscsSystem ref="iscsPlate" @viewLoaded="viewLoaded" />
|
||||
<!-- :width-canvas="width" :canvas-height="height" -->
|
||||
</div>
|
||||
<!-- <div class="psdSystem_footer">
|
||||
@ -14,6 +14,8 @@
|
||||
<script>
|
||||
import iscsSystem from '../canvas/iscsCanvas';
|
||||
import {getIscsData} from '@/api/iscs';
|
||||
import { getToken } from '@/utils/auth';
|
||||
import { creatSubscribe, clearSubscribe, getTopic } from '@/utils/stomp';
|
||||
export default {
|
||||
name:'PsdSystem',
|
||||
components:{
|
||||
@ -49,9 +51,26 @@ export default {
|
||||
const data = JSON.parse(resp.data.graphData);
|
||||
this.$refs.iscsPlate.show(data, this.width, this.height, this.scaleRate);
|
||||
} else {
|
||||
this.loading = false;
|
||||
}
|
||||
this.loading = false;
|
||||
}
|
||||
});
|
||||
},
|
||||
beforeDestroy() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
viewLoaded() {
|
||||
this.subscribe();
|
||||
},
|
||||
subscribe() {
|
||||
this.clearSubscribe();
|
||||
const header = { group: this.$route.query.group || '', 'X-Token': getToken() };
|
||||
creatSubscribe(getTopic('ISCSPSD', this.$route.query.group), header);
|
||||
this.$store.dispatch('app/animationsClose');
|
||||
},
|
||||
clearSubscribe() {
|
||||
clearSubscribe(getTopic('ISCSPSD', this.$route.query.group));
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<el-tabs v-model="activeName" class="activediv" type="card" @tab-click="handleClick">
|
||||
<el-tab-pane label="课程场景" name="progresslist" >
|
||||
<draggable v-model="lessonData.lessonData.lessonProgress" group="people" @start="drag=true" @end="drag=false" >
|
||||
<div class="progressdiv" v-for="(element,index) in lessonData.lessonData.lessonProgress">
|
||||
<div class="progressdiv" :class="{active:index==isActive}" v-for="(element,index) in lessonData.lessonData.lessonProgress">
|
||||
<div class="changeprogressdiv" @click="changeProgressView(index)">{{element.progressName}}</div>
|
||||
<div class="progressdivimg"
|
||||
:style="{'background-image': 'url('+localstatic+'/lesson3d/sc.png)'}"/>
|
||||
@ -62,6 +62,7 @@
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isActive:-1,
|
||||
localstatic:JL3D_LOCAL_STATIC,
|
||||
activeName: 'progresslist',
|
||||
progressList:[
|
||||
@ -96,6 +97,7 @@
|
||||
this.$emit('addProgress');
|
||||
},
|
||||
changeProgressView(viewIndex){
|
||||
this.isActive=viewIndex;
|
||||
this.$emit('changeProgressView',viewIndex);
|
||||
console.log(viewIndex);
|
||||
},
|
||||
@ -122,7 +124,9 @@
|
||||
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
@import "src/styles/mixin.scss";
|
||||
|
||||
.active{
|
||||
background-color:#409EFF;
|
||||
}
|
||||
.lessonprogressdiv {
|
||||
position: absolute;
|
||||
width: 70%;
|
||||
|
@ -264,7 +264,7 @@
|
||||
saveData.modelList = assetModelData.modelList;
|
||||
|
||||
let accidentData = this.jl3d.saveAccidentModel();
|
||||
|
||||
|
||||
saveData.accidentList = accidentData;
|
||||
|
||||
saveData.setup.examMode = this.examMode;
|
||||
|
@ -267,14 +267,17 @@
|
||||
userJob:"",
|
||||
};
|
||||
loadData = JSON.parse(data.data.data);
|
||||
this.examMode = loadData.setup.examMode;
|
||||
if(this.$route.query.examMode == 1){
|
||||
this.examMode = true;
|
||||
}else{
|
||||
this.examMode = loadData.setup.examMode;
|
||||
}
|
||||
if(loadData.setup.checkedRole.length == 0){
|
||||
this.showSelectJob = false;
|
||||
}
|
||||
this.selectJobList = loadData.setup.checkedRole;
|
||||
this.jobPaneData.dataList = loadData.toolJobPane;
|
||||
this.$refs.jobpane.initJobList(this.jobPaneData.dataList);
|
||||
console.log(loadData.lessonTools);
|
||||
this.lessonTools = loadData.lessonTools;
|
||||
this.lessonData.loadLessonProgress(loadData.lessonProgress);
|
||||
|
||||
@ -295,13 +298,12 @@
|
||||
this.examStatus = newExamStatus;
|
||||
},
|
||||
lessonEnd(){
|
||||
|
||||
if(this.examMode == true){
|
||||
this.endExam = true;
|
||||
this.showResult();
|
||||
this.examStatus.time = this.lastPlayTime;
|
||||
this.stopTime();
|
||||
}
|
||||
this.stopTime();
|
||||
},
|
||||
showResult(){
|
||||
this.$refs.rtui.showdiv();
|
||||
@ -311,7 +313,7 @@
|
||||
for(let i=0;i<this.jobPaneData.dataList.length;i++){
|
||||
if(job == this.jobPaneData.dataList[i].name){
|
||||
this.nowRole = this.jobPaneData.dataList[i].value;
|
||||
console.log(this.nowRole);
|
||||
|
||||
this.lessonMsg.userJob = job;
|
||||
this.jl3d.initNowRole(this.nowRole);
|
||||
this.timeStart();
|
||||
|
126
src/views/jlmap3d/lesson3dplayer/lesson3dselect.vue
Normal file
126
src/views/jlmap3d/lesson3dplayer/lesson3dselect.vue
Normal file
@ -0,0 +1,126 @@
|
||||
<template>
|
||||
|
||||
<div class="jl3dmap3dMaintainer">
|
||||
<div class="jl3dmap3dMaintainerSelect" :style="{'background-image': 'url('+localStatic+'/texture/bg.jpg)'}">
|
||||
|
||||
<div style="position:absolute;left:40%;top:20%;font-size:30px">
|
||||
<el-row>
|
||||
考试模式:
|
||||
<el-switch
|
||||
v-model="examMode"
|
||||
active-text="开启考试模式"
|
||||
inactive-text="关闭考试模式">
|
||||
</el-switch>
|
||||
</el-row>
|
||||
</div>
|
||||
|
||||
<div class="lesson3dSelectButton"
|
||||
:style="{'background-image': 'url('+localStatic+'/texture/scene.png)'}"
|
||||
style="left:20%;top:40%;" @click="enterPlayer">单对屏蔽门无法开启</div>
|
||||
|
||||
<div class="lesson3dSelectButton"
|
||||
:style="{'background-image': 'url('+localStatic+'/texture/scene.png)'}"
|
||||
style="left:60%;top:40%;" >单对屏蔽门无法关闭</div>
|
||||
|
||||
<div class="lesson3dSelectButton"
|
||||
:style="{'background-image': 'url('+localStatic+'/texture/scene.png)'}"
|
||||
style="left:20%;top:70%;" >整列屏蔽门无法开启</div>
|
||||
|
||||
<div class="lesson3dSelectButton"
|
||||
:style="{'background-image': 'url('+localStatic+'/texture/scene.png)'}"
|
||||
style="left:60%;top:70%;" >整列屏蔽门无法关闭</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import { ProjectIcon } from '@/scripts/ProjectConfig';
|
||||
import { JL3D_LOCAL_STATIC } from '@/api/jlmap3d/assets3d.js';
|
||||
import bgPsdImg from '@/assets/bg_psd.png';
|
||||
// import Jlmap3dMsg from '@/views/jlmap3d/show/msg';
|
||||
|
||||
var train;
|
||||
export default {
|
||||
name: 'LessondSelect',
|
||||
components: {
|
||||
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
localStatic:JL3D_LOCAL_STATIC,
|
||||
normalShow:false,
|
||||
vrShow:false,
|
||||
trainRescueShow:false,
|
||||
examMode:false
|
||||
};
|
||||
},
|
||||
beforeDestroy() {
|
||||
|
||||
},
|
||||
created() {
|
||||
// document.querySelector("link[rel*='icon']").href = loginInfo[this.$route.query.project].linkIcon || ProjectIcon[this.$route.query.project];
|
||||
},
|
||||
mounted() {
|
||||
|
||||
// console.log("");
|
||||
},
|
||||
methods: {
|
||||
|
||||
enterPlayer:function ( ) {
|
||||
let examcode = 0;
|
||||
if(this.examMode == true){
|
||||
examcode = 1;
|
||||
}
|
||||
this.$router.push({ path: '/design/jlmap3d/lesson3dplayer', query: {lessonId:'34',examMode:examcode} });
|
||||
},
|
||||
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
@import "src/styles/mixin.scss";
|
||||
|
||||
|
||||
.jl3dmap3dMaintainer {
|
||||
position:absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 35;
|
||||
}
|
||||
|
||||
.jl3dmap3dMaintainerSelect{
|
||||
position:absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 350;
|
||||
top:0;
|
||||
left:0;
|
||||
// background-repeat:no-repeat;
|
||||
z-index: 350;
|
||||
background-size:100%;
|
||||
}
|
||||
|
||||
.lesson3dSelectButton{
|
||||
position:absolute;
|
||||
width: 20%;
|
||||
height: 20%;
|
||||
position:absolute;
|
||||
text-align: center;
|
||||
font-size: 25px;
|
||||
line-height:100px;
|
||||
background-size: 100%;
|
||||
background-repeat: no-repeat;
|
||||
color:#FFF;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</style>
|
@ -54,7 +54,7 @@
|
||||
handler: function (newVal, oldVal) {
|
||||
|
||||
if (newVal != oldVal) {
|
||||
console.log(this.lessonData.lessonData.lessonProgress[oldVal]);
|
||||
// console.log(this.lessonData.lessonData.lessonProgress[oldVal]);
|
||||
this.logTexts.push(this.lessonData.lessonData.lessonProgress[oldVal].explainPane);
|
||||
this.processTexts.push(this.lessonData.lessonData.lessonProgress[oldVal].explainPane);
|
||||
this.nowProcessText = this.lessonData.lessonData.lessonProgress[newVal].explainPane.text;
|
||||
|
@ -6,7 +6,7 @@
|
||||
<div class="resultMsgDiv">
|
||||
<div v-for="(examItem,index) in examStatus.trueStep" style="width:100%;height:10%">
|
||||
<div>
|
||||
{{examItem.explainPane.tittle}}
|
||||
{{examItem.explainPane.text}}
|
||||
</div>
|
||||
<div>
|
||||
得分:10分
|
||||
@ -56,6 +56,7 @@
|
||||
methods: {
|
||||
showdiv(){
|
||||
this.divshow = true;
|
||||
console.log(this.divshow);
|
||||
},
|
||||
closediv(){
|
||||
this.divshow = false;
|
||||
@ -79,7 +80,7 @@
|
||||
border-radius:10px;
|
||||
border:solid 2px #000;
|
||||
background-color: #fff;
|
||||
z-index:1;
|
||||
z-index:10;
|
||||
}
|
||||
|
||||
|
||||
|
@ -482,14 +482,27 @@ export default {
|
||||
projectDevice: this.$route.query.projectDevice,
|
||||
type: this.$route.query.type} });
|
||||
} else if (this.$route.query.type == 'CCTV') {
|
||||
this.$router.push({ path: `/jlmap3d/passengerflow`, query:{
|
||||
mapid:resp.data.map.id,
|
||||
group:res.data.group,
|
||||
lineCode: resp.data.map.lineCode,
|
||||
project: getSessionStorage('project'),
|
||||
projectDevice: this.$route.query.projectDevice,
|
||||
type: this.$route.query.type
|
||||
} });
|
||||
if (this.project == 'richorjoint') {
|
||||
this.$router.push({
|
||||
path:'/jointTrainingNewCCTV',
|
||||
query:{
|
||||
mapid:resp.data.map.id,
|
||||
group:res.data.group,
|
||||
project: getSessionStorage('project'),
|
||||
projectDevice: this.$route.query.projectDevice,
|
||||
type: this.$route.query.type
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.$router.push({ path: `/jlmap3d/passengerflow`, query:{
|
||||
mapid:resp.data.map.id,
|
||||
group:res.data.group,
|
||||
lineCode: resp.data.map.lineCode,
|
||||
project: getSessionStorage('project'),
|
||||
projectDevice: this.$route.query.projectDevice,
|
||||
type: this.$route.query.type
|
||||
} });
|
||||
}
|
||||
} else if (this.$route.query.type === 'DEPOT') {
|
||||
this.$router.push({ path: `/displayNew/demon`, query: {
|
||||
group: res.data.group,
|
||||
@ -567,8 +580,10 @@ export default {
|
||||
});
|
||||
}
|
||||
});
|
||||
}else if(this.project === 'zzwwtest'){
|
||||
this.$router.push({ path: '/design/jlmap3d/lesson3dplayer', query: {lessonId:'31'} });
|
||||
} else if (this.project === 'zzwwtest') {
|
||||
this.$router.push({ path: '/design/jlmap3d/lesson3dplayer', query: {lessonId:'31'} });
|
||||
} else if (this.project === 'richorlesson3d') {
|
||||
this.$router.push({ path: '/jlmap3d/lesson3dselect', query: {} });
|
||||
} else {
|
||||
if (this.teacherLogin) {
|
||||
this.$router.push({ path: '/info/organization/classManage?enter=teacher' });
|
||||
|
@ -98,14 +98,19 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
// 此处代码似乎没什么用,之前从menuSchema复制过来的
|
||||
'$store.state.training.prdType':function(val) {
|
||||
if (val == '01') { this.switchModeInner('01'); } else { this.switchModeInner('02'); }
|
||||
},
|
||||
'$store.state.config.menuBarLoadedCount': function (val) { // menuBar加载完成
|
||||
this.setPosition();
|
||||
},
|
||||
'$store.state.app.windowSizeCount': function() { // 窗口缩放
|
||||
this.setWindowSize();
|
||||
},
|
||||
// '$store.state.training.prdType': function (val) { // 根据权限类型计算高度
|
||||
// },
|
||||
'$store.state.training.prdType': function (val) { // 根据权限类型计算高度
|
||||
this.setPosition();
|
||||
},
|
||||
'$store.state.map.mapViewLoadedCount': function (val) { // 地图视图加载完成标识 开始加载默认状态
|
||||
if (this.planRunning) {
|
||||
this.$store.dispatch('training/simulationStart');
|
||||
@ -212,6 +217,29 @@ export default {
|
||||
this.dataError = resp.data.dataError;
|
||||
}
|
||||
},
|
||||
// 通过showMode切换显示效果
|
||||
switchModeInner(swch) {
|
||||
let showMode = '03';
|
||||
if (swch == '01') {
|
||||
showMode = '03';
|
||||
} else if (swch == '02') {
|
||||
showMode = '02';
|
||||
}
|
||||
|
||||
const list = [];
|
||||
const mapDevice = this.$store.state.map.mapDevice;
|
||||
for (const key in mapDevice) {
|
||||
list.push(mapDevice[key]);
|
||||
}
|
||||
|
||||
if (swch == '01') {
|
||||
this.$jlmap.updateShowStation(list, this.$store.state.training.centerStationCode); // 显示全部元素
|
||||
} else {
|
||||
this.$jlmap.updateShowStation(list, ''); // 显示全部元素
|
||||
}
|
||||
|
||||
this.$jlmap.updateShowMode(list, showMode); // 二次过滤
|
||||
},
|
||||
// 加载地图数据
|
||||
loadMapData() {
|
||||
if (parseInt(this.mapId)) {
|
||||
|
@ -144,7 +144,6 @@ export default {
|
||||
},
|
||||
'$store.state.map.mapViewLoadedCount': function (val) { // 地图视图加载完成标识
|
||||
this.$store.state.exam.deviceCode && this.setCenter(this.$store.state.exam.deviceCode);
|
||||
if (this.$store.state.training.prdType === '09') { this.setShowStation(''); }
|
||||
},
|
||||
'$store.state.config.canvasSizeCount': function (val) {
|
||||
this.resetSize();
|
||||
@ -502,6 +501,10 @@ export default {
|
||||
this.$jlmap.updateShowMode(list, showMode);
|
||||
},
|
||||
setShowStation(stationCode, setCenter) {
|
||||
const lineCode = this.$store.getters['map/lineCode'];
|
||||
// if (lineCode === '02' || lineCode === '05') {
|
||||
// !setCenter && this.setCenter(stationCode);
|
||||
// } else {
|
||||
const list = [];
|
||||
const mapDevice = this.$store.state.map.mapDevice;
|
||||
for (const key in mapDevice) {
|
||||
|
90
src/views/newMap/jointTrainingNew/realCCTV.vue
Normal file
90
src/views/newMap/jointTrainingNew/realCCTV.vue
Normal file
@ -0,0 +1,90 @@
|
||||
<template>
|
||||
<div class="jl3dpassflow">
|
||||
<div id="jlReal3d" class="jlReal3d">
|
||||
<div class="realCctv1">
|
||||
<video id="myvideo0" class="video-js">
|
||||
<source src="http://192.168.1.254/hls/cctv1.m3u8" type="application/x-mpegURL">
|
||||
</video>
|
||||
</div>
|
||||
<div class="realCctv2">
|
||||
<video id="myvideo1" class="video-js">
|
||||
<source src="http://192.168.1.254/hls/cctv2.m3u8" type="application/x-mpegURL">
|
||||
</video>
|
||||
</div>
|
||||
</div>
|
||||
<div class="menudown">
|
||||
<el-button-group>
|
||||
<el-button type="primary" @click="back">退出</el-button>
|
||||
</el-button-group>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import Video from 'video.js';
|
||||
import 'video.js/dist/video-js.css';
|
||||
export default {
|
||||
name:'RealCCTV',
|
||||
data() {
|
||||
return {
|
||||
videoList:[]
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
for (var i = 0; i < 2; i++) {
|
||||
const videoPlay = new Video('myvideo' + i, {
|
||||
controls: false,
|
||||
autoplay: 'muted',
|
||||
loop:true,
|
||||
preload: 'auto',
|
||||
width: window.innerWidth / 2 + 'px',
|
||||
height: window.innerHeight + 'px',
|
||||
hls: {
|
||||
withCredentials: true
|
||||
}
|
||||
}, function () { console.log('videojs播放器初始化成功'); });
|
||||
this.videoList.push(videoPlay);
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
back() {
|
||||
window.close();
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style>
|
||||
.jl3dpassflow{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.jlReal3d{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 0;
|
||||
font-size:0;
|
||||
}
|
||||
.realCctv1{
|
||||
position: absolute;
|
||||
width:50%;
|
||||
height:50%;
|
||||
left:0;
|
||||
top:0;
|
||||
}
|
||||
.realCctv2{
|
||||
position: absolute;
|
||||
width:50%;
|
||||
height:50%;
|
||||
left:50%;
|
||||
top:0;
|
||||
}
|
||||
.menudown{
|
||||
bottom:0;
|
||||
right:0;
|
||||
position:absolute;
|
||||
z-index: 2;
|
||||
}
|
||||
.video-js video{
|
||||
outline: none !important;
|
||||
}
|
||||
</style>
|
||||
|
@ -1,221 +0,0 @@
|
||||
<template>
|
||||
<div v-loading="loading" class="view-control-content">
|
||||
<el-scrollbar wrap-class="scrollbar-wrapper">
|
||||
<el-card class="box-card" shadow="never" style="width: 80%; margin: 0 auto 15px; border-top: none;">
|
||||
<div slot="header">
|
||||
<span>请选择车辆段显示设备</span>
|
||||
</div>
|
||||
<div style="padding: 10px;font-size: 14px;">
|
||||
<div class="content-box-list" style="margin-top: 10px;">
|
||||
<div class="title-box">设备列表</div>
|
||||
<div class="list-box" style="height:400px;overflow:auto">
|
||||
<div v-for="nor in addModel.elementList" :key="nor.code" class="list-content">
|
||||
<div class="name">{{ getDeviceName(nor) }}</div>
|
||||
<div class="close" @click="delList(nor, addModel.elementList)"><i class="el-icon-close" /></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
<div style="display: table; margin-left: 150px; margin-top: 12px; margin-bottom: 20px;">
|
||||
<el-button type="primary" size="small" @click="generateData">自动生成</el-button>
|
||||
<el-button type="primary" size="small" :loading="dataLoading" @click="save">保存</el-button>
|
||||
<el-button type="primary" size="small" @click="back">返回</el-button>
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import { saveMap } from '@/api/jmap/mapdraft';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default: function () {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
otherData: [],
|
||||
addModel: {
|
||||
type: 'DEPOT_IL',
|
||||
elementList: []
|
||||
},
|
||||
loading: false,
|
||||
dataLoading:false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'sectionList',
|
||||
'stationList',
|
||||
'signalList',
|
||||
'switchList',
|
||||
'stationStandList',
|
||||
'automaticRouteButtonList',
|
||||
'axleCounterResetButtonList',
|
||||
'cycleButtonList',
|
||||
'directionRodList',
|
||||
'indicatorLightList',
|
||||
'lineList',
|
||||
'outerFrameList',
|
||||
'psdList',
|
||||
'responderList',
|
||||
'tbStrategyList',
|
||||
'tempSpeedLimitList',
|
||||
'textList',
|
||||
'totalGuideLockButtonVOList',
|
||||
'seclectDeviceList'
|
||||
])
|
||||
},
|
||||
watch: {
|
||||
selected: function (val, oldVal) {
|
||||
this.deviceSelect(val);
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.initData();
|
||||
},
|
||||
methods: {
|
||||
initData() {
|
||||
this.$store.state.map.map.displayList.forEach(item => {
|
||||
if (item.type === 'DEPOT_IL') {
|
||||
this.addModel = item;
|
||||
} else {
|
||||
this.otherData.push(item);
|
||||
}
|
||||
});
|
||||
},
|
||||
deviceSelect(selected) {
|
||||
if (selected && selected._type.toUpperCase() == 'CheckBox'.toUpperCase()) {
|
||||
this.seclectDeviceList.forEach(item => {
|
||||
if (this.addModel.elementList.indexOf(item.code) < 0) {
|
||||
this.addModel.elementList.push(item.code);
|
||||
}
|
||||
});
|
||||
} else if (selected) {
|
||||
if (this.addModel.elementList.indexOf(selected.code) < 0) {
|
||||
this.addModel.elementList.push(selected.code);
|
||||
}
|
||||
}
|
||||
},
|
||||
getDeviceName(code) {
|
||||
const device = this.$store.getters['map/getDeviceByCode'](code);
|
||||
return device.name || device.code;
|
||||
},
|
||||
// 删除当前选中
|
||||
delList(model, list) {
|
||||
list.forEach((nor, index) => {
|
||||
if (nor == model) {
|
||||
list.splice(index, 1);
|
||||
}
|
||||
});
|
||||
this.seclectDeviceList.forEach((item, index) => {
|
||||
if (item.code == model) {
|
||||
this.seclectDeviceList.splice(index, 1);
|
||||
}
|
||||
});
|
||||
},
|
||||
save() {
|
||||
const map = this.$store.state.map.map;
|
||||
const param = {
|
||||
displayList: [...this.otherData, this.addModel],
|
||||
mapId: this.$route.params.mapId
|
||||
};
|
||||
this.dataLoading = true;
|
||||
saveMap(Object.assign(map, param)).then(response => {
|
||||
this.$message.success('保存车辆段配置成功');
|
||||
this.dataLoading = false;
|
||||
}).catch(() => {
|
||||
this.dataLoading = false;
|
||||
this.$messageBox('保存车辆段配置失败');
|
||||
});
|
||||
},
|
||||
back() {
|
||||
this.$emit('goDraw');
|
||||
},
|
||||
|
||||
clear() {
|
||||
this.addModel = { type: 'DEPOT_IL', elementList: [] };
|
||||
},
|
||||
generateData() {
|
||||
this.loading = true;
|
||||
this.clear();
|
||||
const station = this.stationList.find(item => item.depot);
|
||||
console.log(station, station.code);
|
||||
[...this.sectionList, ...this.signalList, ...this.stationStandList, ...this.switchList, ...this.automaticRouteButtonList,
|
||||
...this.axleCounterResetButtonList, ...this.cycleButtonList, ...this.indicatorLightList, ...this.lineList, ...this.outerFrameList,
|
||||
...this.responderList, ...this.tbStrategyList, ...this.tempSpeedLimitList, ...this.textList, ...this.totalGuideLockButtonVOList].forEach(item => {
|
||||
if (item.stationCode === station.code) {
|
||||
this.addModel.elementList.push(item.code);
|
||||
}
|
||||
});
|
||||
[...this.directionRodList].forEach(item => {
|
||||
if (item.deviceStationCode === station.code) {
|
||||
this.addModel.elementList.push(item.code);
|
||||
}
|
||||
});
|
||||
this.psdList.forEach(item => {
|
||||
const stand = this.$store.getters['map/getDeviceByCode'](item.standCode);
|
||||
if (stand.stationCode === station.code) {
|
||||
this.addModel.elementList.push(item.code);
|
||||
}
|
||||
});
|
||||
const map = this.$store.state.map.map;
|
||||
const param = {
|
||||
displayList: [...this.otherData, this.addModel],
|
||||
mapId: this.$route.params.mapId
|
||||
};
|
||||
saveMap(Object.assign(map, param)).then(response => {
|
||||
this.loading = false;
|
||||
this.$message.success('保存车辆段配置成功');
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.$messageBox('保存车辆段配置失败');
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
.title-box{
|
||||
padding-left: 10px;
|
||||
border-left: 4px solid red;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.list-box{
|
||||
overflow: hidden;
|
||||
.list-content{
|
||||
float: left;
|
||||
background: #e2e2e2;
|
||||
margin: 5px;
|
||||
border-radius: 5px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
padding-left: 10px;
|
||||
padding-right: 3px;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover{
|
||||
background: #ccc;
|
||||
}
|
||||
.name{
|
||||
float: left;
|
||||
margin-right: 20px;
|
||||
}
|
||||
.close{
|
||||
float: left;
|
||||
width: 23px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -1,219 +0,0 @@
|
||||
<template>
|
||||
<div v-loading="loading" class="view-control-content">
|
||||
<el-scrollbar wrap-class="scrollbar-wrapper">
|
||||
<el-card class="box-card" shadow="never" style="width: 80%; margin: 0 auto 15px; border-top: none;">
|
||||
<div slot="header">
|
||||
<span>请选择行调显示设备</span>
|
||||
</div>
|
||||
<div style="padding: 10px;font-size: 14px;">
|
||||
<div class="content-box-list" style="margin-top: 10px;">
|
||||
<div class="title-box">设备列表</div>
|
||||
<div class="list-box" style="height:400px;overflow:auto">
|
||||
<div v-for="nor in addModel.elementList" :key="nor.code" class="list-content">
|
||||
<div class="name">{{ getDeviceName(nor) }}</div>
|
||||
<div class="close" @click="delList(nor, addModel.elementList)"><i class="el-icon-close" /></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
<div style="display: table; margin-left: 150px; margin-top: 12px; margin-bottom: 20px;">
|
||||
<el-button type="primary" size="small" @click="generateData">自动生成</el-button>
|
||||
<el-button type="primary" size="small" :loading="dataLoading" @click="save">保存</el-button>
|
||||
<el-button type="primary" size="small" @click="back">返回</el-button>
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import { saveMap } from '@/api/jmap/mapdraft';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
type: Object,
|
||||
default: function () {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
otherData: [],
|
||||
addModel: {
|
||||
type: 'CENTER',
|
||||
elementList: []
|
||||
},
|
||||
loading: false,
|
||||
dataLoading:false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('map', [
|
||||
'sectionList',
|
||||
'stationList',
|
||||
'signalList',
|
||||
'switchList',
|
||||
'stationStandList',
|
||||
'automaticRouteButtonList',
|
||||
'axleCounterResetButtonList',
|
||||
'cycleButtonList',
|
||||
'directionRodList',
|
||||
'indicatorLightList',
|
||||
'lineList',
|
||||
'outerFrameList',
|
||||
'psdList',
|
||||
'responderList',
|
||||
'tbStrategyList',
|
||||
'tempSpeedLimitList',
|
||||
'textList',
|
||||
'totalGuideLockButtonVOList',
|
||||
'seclectDeviceList'
|
||||
])
|
||||
},
|
||||
watch: {
|
||||
selected: function (val, oldVal) {
|
||||
this.deviceSelect(val);
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.initData();
|
||||
},
|
||||
methods: {
|
||||
initData() {
|
||||
this.$store.state.map.map.displayList.forEach(item => {
|
||||
if (item.type === 'CENTER') {
|
||||
this.addModel = item;
|
||||
} else {
|
||||
this.otherData.push(item);
|
||||
}
|
||||
});
|
||||
},
|
||||
deviceSelect(selected) {
|
||||
if (selected && selected._type.toUpperCase() == 'CheckBox'.toUpperCase()) {
|
||||
this.seclectDeviceList.forEach(item => {
|
||||
if (this.addModel.elementList.indexOf(item.code) < 0) {
|
||||
this.addModel.elementList.push(item.code);
|
||||
}
|
||||
});
|
||||
} else if (selected) {
|
||||
if (this.addModel.elementList.indexOf(selected.code) < 0) {
|
||||
this.addModel.elementList.push(selected.code);
|
||||
}
|
||||
}
|
||||
},
|
||||
getDeviceName(code) {
|
||||
const device = this.$store.getters['map/getDeviceByCode'](code);
|
||||
return device.name || device.code;
|
||||
},
|
||||
// 删除当前选中
|
||||
delList(model, list) {
|
||||
list.forEach((nor, index) => {
|
||||
if (nor == model) {
|
||||
list.splice(index, 1);
|
||||
}
|
||||
});
|
||||
this.seclectDeviceList.forEach((item, index) => {
|
||||
if (item.code == model) {
|
||||
this.seclectDeviceList.splice(index, 1);
|
||||
}
|
||||
});
|
||||
},
|
||||
save() {
|
||||
const map = this.$store.state.map.map;
|
||||
const param = {
|
||||
displayList: [...this.otherData, this.addModel],
|
||||
mapId: this.$route.params.mapId
|
||||
};
|
||||
this.dataLoading = true;
|
||||
saveMap(Object.assign(map, param)).then(response => {
|
||||
this.$message.success('保存行调配置成功');
|
||||
this.dataLoading = false;
|
||||
}).catch(() => {
|
||||
this.dataLoading = false;
|
||||
this.$messageBox('保存行调配置失败');
|
||||
});
|
||||
},
|
||||
back() {
|
||||
this.$emit('goDraw');
|
||||
},
|
||||
clear() {
|
||||
this.addModel = { type: 'CENTER', elementList: []};
|
||||
},
|
||||
generateData() {
|
||||
this.loading = true;
|
||||
this.clear();
|
||||
const station = this.stationList.find(item => item.depot);
|
||||
[...this.sectionList, ...this.signalList, ...this.stationStandList, ...this.switchList, ...this.automaticRouteButtonList,
|
||||
...this.axleCounterResetButtonList, ...this.cycleButtonList, ...this.indicatorLightList, ...this.lineList, ...this.outerFrameList,
|
||||
...this.responderList, ...this.tbStrategyList, ...this.tempSpeedLimitList, ...this.textList, ...this.totalGuideLockButtonVOList].forEach(item => {
|
||||
if (item.stationCode !== station.code) {
|
||||
this.addModel.elementList.push(item.code);
|
||||
}
|
||||
});
|
||||
[...this.directionRodList].forEach(item => {
|
||||
if (item.deviceStationCode !== station.code) {
|
||||
this.addModel.elementList.push(item.code);
|
||||
}
|
||||
});
|
||||
this.psdList.forEach(item => {
|
||||
const stand = this.$store.getters['map/getDeviceByCode'](item.standCode);
|
||||
if (stand.stationCode !== station.code) {
|
||||
this.addModel.elementList.push(item.code);
|
||||
}
|
||||
});
|
||||
const map = this.$store.state.map.map;
|
||||
const param = {
|
||||
displayList: [...this.otherData, this.addModel],
|
||||
mapId: this.$route.params.mapId
|
||||
};
|
||||
saveMap(Object.assign(map, param)).then(response => {
|
||||
this.loading = false;
|
||||
this.$message.success('保存行调配置成功');
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.$messageBox('保存行调配置失败');
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
.title-box{
|
||||
padding-left: 10px;
|
||||
border-left: 4px solid red;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.list-box{
|
||||
overflow: hidden;
|
||||
.list-content{
|
||||
float: left;
|
||||
background: #e2e2e2;
|
||||
margin: 5px;
|
||||
border-radius: 5px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
padding-left: 10px;
|
||||
padding-right: 3px;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover{
|
||||
background: #ccc;
|
||||
}
|
||||
.name{
|
||||
float: left;
|
||||
margin-right: 20px;
|
||||
}
|
||||
.close{
|
||||
float: left;
|
||||
width: 23px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -13,10 +13,8 @@
|
||||
<el-dropdown class="operate-button" trigger="click">
|
||||
<span class="el-dropdown-link">配置</span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item><span @click="showDispatchConfig">行调配置</span></el-dropdown-item>
|
||||
<el-dropdown-item><span @click="showLocalConfig">现地配置</span></el-dropdown-item>
|
||||
<el-dropdown-item><span @click="showScreenConfig">大屏配置</span></el-dropdown-item>
|
||||
<el-dropdown-item><span @click="showDepotConfig">车辆段配置</span></el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
<el-dropdown class="operate-button" trigger="click">
|
||||
@ -40,10 +38,16 @@
|
||||
/>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<local-config v-if="configShow === 'local'" ref="localConfig" :selected="selected" @goDraw="goDraw" />
|
||||
<split-screen v-else-if="configShow === 'screen'" ref="splitScreen" :selected="selected" @goDraw="goDraw" />
|
||||
<dispatch-config v-else-if="configShow === 'dispatch'" ref="dispatchConfig" :selected="selected" @goDraw="goDraw" />
|
||||
<depot-config v-else-if="configShow === 'depot'" ref="dispatchConfig" :selected="selected" @goDraw="goDraw" />
|
||||
<template v-if="configShow === 'local'">
|
||||
<local-config ref="localConfig" :selected="selected" @goDraw="goDraw" />
|
||||
</template>
|
||||
<template v-show="configShow === 'screen'">
|
||||
<split-screen
|
||||
ref="splitScreen"
|
||||
:selected="selected"
|
||||
@goDraw="goDraw"
|
||||
/>
|
||||
</template>
|
||||
</div>
|
||||
</transition>
|
||||
</template>
|
||||
@ -71,13 +75,11 @@ import ResponderDraft from './responder/index';
|
||||
import ControlLamp from './controlLamp';
|
||||
import SplitStation from './splitStation';
|
||||
import Arrow from './arrow';
|
||||
import SplitScreen from './displayConfig/splitScreen';
|
||||
import SplitScreen from './splitScreen';
|
||||
import FloodGate from './floodGate';
|
||||
import DirectionRod from './directionRod';
|
||||
import SignalButton from './signalButton';
|
||||
import LocalConfig from './displayConfig/localConfig';
|
||||
import DispatchConfig from './displayConfig/dispatchConfig';
|
||||
import DepotConfig from './displayConfig/depotConfig';
|
||||
import LocalConfig from './localConfig';
|
||||
|
||||
export default {
|
||||
name: 'MapOperate',
|
||||
@ -109,9 +111,7 @@ export default {
|
||||
FloodGate,
|
||||
DirectionRod,
|
||||
SignalButton,
|
||||
LocalConfig,
|
||||
DispatchConfig,
|
||||
DepotConfig
|
||||
LocalConfig
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
@ -188,18 +188,12 @@ export default {
|
||||
dataRelation() {
|
||||
this.$emit('selectView', 'path');
|
||||
},
|
||||
showDispatchConfig() {
|
||||
this.configShow = 'dispatch';
|
||||
},
|
||||
showLocalConfig() {
|
||||
this.configShow = 'local';
|
||||
},
|
||||
showScreenConfig() {
|
||||
this.configShow = 'screen';
|
||||
},
|
||||
showDepotConfig() {
|
||||
this.configShow = 'depot';
|
||||
},
|
||||
goDraw() {
|
||||
this.configShow = 'none';
|
||||
},
|
||||
|
@ -65,8 +65,7 @@
|
||||
</div>
|
||||
</el-card>
|
||||
<div style="display: table; margin-left: 90px; margin-top: 12px; margin-bottom: 20px;">
|
||||
<el-button type="primary" size="small" @click="generateData">按集中站生成</el-button>
|
||||
<el-button type="primary" size="small" @click="generateAllData">全显生成</el-button>
|
||||
<el-button type="primary" size="small" @click="generateData">按集中站生成并保存</el-button>
|
||||
<el-button type="primary" size="small" :loading="dataLoading" @click="save">保存</el-button>
|
||||
<el-button type="primary" size="small" @click="back">返回</el-button>
|
||||
</div>
|
||||
@ -92,9 +91,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
tableData: [],
|
||||
otherData: [],
|
||||
addModel: {
|
||||
type: 'LOCAL',
|
||||
stationCodeList: [],
|
||||
switchStationCodeList:[],
|
||||
elementList: []
|
||||
@ -128,6 +125,7 @@ export default {
|
||||
'tempSpeedLimitList',
|
||||
'textList',
|
||||
'totalGuideLockButtonVOList',
|
||||
'localStationConfig',
|
||||
'seclectDeviceList'
|
||||
]),
|
||||
cardTitle() {
|
||||
@ -160,14 +158,7 @@ export default {
|
||||
// }
|
||||
// },
|
||||
initData() {
|
||||
// this.tableData = (this.$store.state.map.map.displayList || []).filter(item => item.type === 'LOCAL');
|
||||
this.$store.state.map.map.displayList.forEach( item => {
|
||||
if (item.type === 'LOCAL') {
|
||||
this.tableData.push(item);
|
||||
} else {
|
||||
this.otherData.push(item);
|
||||
}
|
||||
});
|
||||
this.tableData = this.$store.state.map.map.displayList || [];
|
||||
},
|
||||
deviceSelect(selected) {
|
||||
if (selected && selected._type.toUpperCase() == 'CheckBox'.toUpperCase()) {
|
||||
@ -231,7 +222,7 @@ export default {
|
||||
save() {
|
||||
const map = this.$store.state.map.map;
|
||||
const param = {
|
||||
displayList: [...this.tableData, ...this.otherData],
|
||||
displayList: this.tableData,
|
||||
mapId: this.$route.params.mapId
|
||||
};
|
||||
this.dataLoading = true;
|
||||
@ -260,63 +251,20 @@ export default {
|
||||
this.clearData();
|
||||
},
|
||||
clear() {
|
||||
this.addModel = { type: 'LOCAL', stationCodeList: [], elementList: [], switchStationCodeList:[] };
|
||||
this.addModel = { stationCodeList: [], elementList: [], switchStationCodeList:[] };
|
||||
},
|
||||
clearData() {
|
||||
this.addModel = { type: 'LOCAL', stationCodeList: [], elementList: [], switchStationCodeList:[] };
|
||||
this.addModel = { stationCodeList: [], elementList: [], switchStationCodeList:[] };
|
||||
this.index = '';
|
||||
this.cardMode = 'generate';
|
||||
},
|
||||
generateAllData() {
|
||||
this.loading = true;
|
||||
this.tableData = [];
|
||||
const tempData = { type: 'LOCAL', stationCodeList: [], elementList: [], switchStationCodeList:[] };
|
||||
const stationCodeList = [];
|
||||
this.stationList.forEach(item => {
|
||||
if (!item.depot) {
|
||||
tempData.stationCodeList.push(item.code);
|
||||
} else { stationCodeList.push(item.code); }
|
||||
});
|
||||
[...this.sectionList, ...this.signalList, ...this.stationStandList, ...this.switchList, ...this.automaticRouteButtonList,
|
||||
...this.axleCounterResetButtonList, ...this.cycleButtonList, ...this.indicatorLightList, ...this.lineList, ...this.outerFrameList,
|
||||
...this.responderList, ...this.tbStrategyList, ...this.tempSpeedLimitList, ...this.textList, ...this.totalGuideLockButtonVOList].forEach(item => {
|
||||
if (!stationCodeList.includes(item.stationCode)) {
|
||||
tempData.elementList.push(item.code);
|
||||
}
|
||||
});
|
||||
[...this.directionRodList].forEach(item => {
|
||||
if (!stationCodeList.includes(item.deviceStationCode)) {
|
||||
tempData.elementList.push(item.code);
|
||||
}
|
||||
});
|
||||
this.psdList.forEach(item => {
|
||||
const stand = this.$store.getters['map/getDeviceByCode'](item.standCode);
|
||||
if (!stationCodeList.includes(stand.stationCode)) {
|
||||
tempData.elementList.push(item.code);
|
||||
}
|
||||
});
|
||||
this.tableData.push(tempData);
|
||||
const map = this.$store.state.map.map;
|
||||
const param = {
|
||||
displayList: [...this.tableData, ...this.otherData],
|
||||
mapId: this.$route.params.mapId
|
||||
};
|
||||
saveMap(Object.assign(map, param)).then(response => {
|
||||
this.loading = false;
|
||||
this.$message.success('保存现地配置成功');
|
||||
this.cancelOverlab();
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
this.$messageBox('保存现地配置失败');
|
||||
});
|
||||
},
|
||||
generateData() {
|
||||
this.loading = true;
|
||||
this.tableData = [];
|
||||
// switchStationCodeList:[...item.switchStationCodeList, item.code]
|
||||
this.stationList.forEach(item => {
|
||||
if (item.centralized) {
|
||||
this.tableData.push({type: 'LOCAL', stationCodeList: [...item.chargeStationCodeList, item.code], elementList: [...item.chargeStationCodeList, item.code], switchStationCodeList:[...item.chargeStationCodeList, item.code]});
|
||||
this.tableData.push({stationCodeList: [...item.chargeStationCodeList, item.code], elementList: [...item.chargeStationCodeList, item.code], switchStationCodeList:[...item.chargeStationCodeList, item.code]});
|
||||
}
|
||||
});
|
||||
|
||||
@ -337,7 +285,7 @@ export default {
|
||||
});
|
||||
const map = this.$store.state.map.map;
|
||||
const param = {
|
||||
displayList: [...this.tableData, ...this.otherData],
|
||||
displayList: this.tableData,
|
||||
mapId: this.$route.params.mapId
|
||||
};
|
||||
saveMap(Object.assign(map, param)).then(response => {
|
@ -86,7 +86,6 @@ class Model {
|
||||
this.callOn = true;
|
||||
this.turnBack = false;
|
||||
this.ctc = true; // 是否灭灯显示
|
||||
this.ctcSetOverlap = true; // CTC级别是否办理延续保护
|
||||
this.noOverlap = false; // 是否无延续保护
|
||||
this.routeEnd = false; // 是否进路终端
|
||||
this.noRoute = false; // 是否不生成进路
|
||||
|
@ -150,11 +150,11 @@ export default {
|
||||
{ prop: 'callOn', label: '是否引导信号:', type: 'checkbox'},
|
||||
{ prop: 'turnBack', label: '是否自动折返始端:', type: 'checkbox', isHidden: this.editModel.virtual},
|
||||
{ prop: 'ctc', label: '是否灭灯显示(CTC级)', type: 'checkbox'},
|
||||
{ prop: 'ctcSetOverlap', label: 'CTC级别是否办理延续保护', type: 'checkbox' },
|
||||
{ prop: 'noOverlap', label: '是否无延续保护', type: 'checkbox'},
|
||||
{ prop: 'routeEnd', label: '是否进路终端', type: 'checkbox'},
|
||||
{ prop: 'ignoreRouteEnd', label: '不生成进路的信号机终端', type: 'multiSelectHover', optionLabel: 'name&&code', optionValue: 'code', options: this.signalList, hover: this.hover, buttonType: 'signalIgnoreRouteEnd', buttonShowType: this.signalIgnoreRouteEnd },
|
||||
{ prop: 'noRoute', label: this.$t('map.signalNoRoute') + ':', type: 'checkbox'}
|
||||
|
||||
]
|
||||
},
|
||||
map: {
|
||||
@ -166,6 +166,7 @@ export default {
|
||||
{ prop: 'uniqueName', label: this.$t('map.signalUniqueName'), type: 'input' },
|
||||
{ prop: 'sectionCode', label: this.$t('map.belongsSection'), type: 'selectHover', optionLabel: 'name&&code', optionValue: 'code', options: this.signalSectionList, hover: this.hover, buttonType: 'signalSection', buttonShowType: this.signalSectionShow },
|
||||
{ prop: 'sectionOffset', label: this.$t('map.signalOffset'), type: 'number', min: 0, placeholder: this.$t('tip.meter') }
|
||||
|
||||
]
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user