diff --git a/src/jlmap3d/jl3ddrive/moveupdate/DrivingConnectNew.js b/src/jlmap3d/jl3ddrive/moveupdate/DrivingConnectNew.js index b71194943..8f99441a3 100644 --- a/src/jlmap3d/jl3ddrive/moveupdate/DrivingConnectNew.js +++ b/src/jlmap3d/jl3ddrive/moveupdate/DrivingConnectNew.js @@ -103,7 +103,6 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,sta return; } if(data.type == "Train_Hmi_3D"){ - console.log(data.body); updatestatus(data.body); // if(data.body.trust){ diff --git a/src/jlmap3d/jl3dmaintainer/Jl3dfaultdevice.js b/src/jlmap3d/jl3dmaintainer/Jl3dfaultdevice.js index 6f39e1d71..36cdcf547 100644 --- a/src/jlmap3d/jl3dmaintainer/Jl3dfaultdevice.js +++ b/src/jlmap3d/jl3dmaintainer/Jl3dfaultdevice.js @@ -149,6 +149,15 @@ export function Jl3dfaultdevice(dom,group,token,skinCode) { moveanima.initlistnew(scope.modelmanager.switchmodel.mesh); daochamodel = scope.modelmanager.switchmodel.mesh.getObjectByName("DAOCHA"); + if(scope.modelmanager.standmodel.mesh.getObjectByName("zhantailiebiao") && scope.stationtexture["devicelist"]){ + scope.modelmanager.standmodel.mesh.getObjectByName("zhantailiebiao").material.map =scope.stationtexture["devicelist"]; + scope.modelmanager.standmodel.mesh.getObjectByName("zhantailiebiao").material.map.needsUpdate = true; + } + + if(scope.modelmanager.standmodel.mesh.getObjectByName("menkuangyanse") && scope.stationtexture["pingbimen"]){ + scope.modelmanager.standmodel.mesh.getObjectByName("menkuangyanse").material.map =scope.stationtexture["pingbimen"]; + scope.modelmanager.standmodel.mesh.getObjectByName("menkuangyanse").material.map.needsUpdate = true; + } // scope.stationtexture animate(); }) @@ -243,9 +252,13 @@ export function Jl3dfaultdevice(dom,group,token,skinCode) { scope.modelmanager.standmodel.action.time = 0; scope.modelmanager.standmodel.action.timeScale = 1; scope.modelmanager.standmodel.action.play(); + console.log(data.standCode); + console.log(psdtexturemap); + if(psdtexturemap[data.code]){ + scope.modelmanager.standmodel.mesh.getObjectByName("zhantaiming").material.map =scope.stationtexture[psdtexturemap[data.code]]; + scope.modelmanager.standmodel.mesh.getObjectByName("zhantaiming").material.map.needsUpdate = true; - // scope.modelmanager.standmodel.mesh.getObjectByName("zhantaiming").material.map =scope.stationtexture[psdtexturemap[data.standCode]]; - // scope.modelmanager.standmodel.mesh.getObjectByName("zhantaiming").material.map.needsUpdate = true; + } } if (data.type == "SECTION") { @@ -316,6 +329,12 @@ export function Jl3dfaultdevice(dom,group,token,skinCode) { scope.modelmanager.standmodel.action.time = 0; scope.modelmanager.standmodel.action.timeScale = 1; scope.modelmanager.standmodel.action.play(); + + if(psdtexturemap[data.code]){ + scope.modelmanager.standmodel.mesh.getObjectByName("zhantaiming").material.map =scope.stationtexture[psdtexturemap[data.code]]; + scope.modelmanager.standmodel.mesh.getObjectByName("zhantaiming").material.map.needsUpdate = true; + + } // scope.modelmanager.standmodel.mesh.getObjectByName("zhantaiming").material.map =scope.stationtexture[psdtexturemap[data.standCode]]; // scope.modelmanager.standmodel.mesh.getObjectByName("zhantaiming").material.map.needsUpdate = true; diff --git a/src/jlmap3d/main/loaders/SimulationLoadNew.js b/src/jlmap3d/main/loaders/SimulationLoadNew.js index 5f07c0902..f0aaf1f9c 100644 --- a/src/jlmap3d/main/loaders/SimulationLoadNew.js +++ b/src/jlmap3d/main/loaders/SimulationLoadNew.js @@ -69,7 +69,7 @@ export function SimulationLoadNew(data,scope,netdata,mapdata,camera,controls,sce let signaldata = JSON.parse(netdata.signals); let standsdata = JSON.parse(netdata.stands); let psddata = data.psdList; - + console.log(standsdata); assetloader.setModelListOver(JSON.parse(netdata.assets).sceneAssetList); // assetloader.setmodellistnew(netdata.assets); diff --git a/src/jmapNew/config/skinCode/foshan_01.js b/src/jmapNew/config/skinCode/foshan_01.js index d0652e369..dc22d8a4d 100644 --- a/src/jmapNew/config/skinCode/foshan_01.js +++ b/src/jmapNew/config/skinCode/foshan_01.js @@ -579,8 +579,8 @@ class SkinCode extends defaultStyle { trainHSDATextFontSize: 8// 列车HDSA字号 }, trainNumber: { - targetCodePrefix: '000', // 目的地码前缀 - defaultTargetCode: 'AAA', // 默认目的地码 + targetCodePrefix: '00', // 目的地码前缀 + defaultTargetCode: 'AA', // 默认目的地码 trainTargetTextAlign: 'left', // 车次号文字显示位置 trainNumberOffset: { x: 1, y: 1}// 目的地码偏移量 }, diff --git a/src/jmapNew/shape/Signal/index.js b/src/jmapNew/shape/Signal/index.js index 59d03881d..93a93d528 100644 --- a/src/jmapNew/shape/Signal/index.js +++ b/src/jmapNew/shape/Signal/index.js @@ -254,7 +254,7 @@ class Signal extends Group { textVerticalAlign: 'middle' }); - if (isShowThePrdType(model.prdType, '03') && this.style.Signal.lowButton.display) { + if (this.style.Signal.lowButton.display) { // 北京一号线现地 信号机点击按钮 let lowButtonH = this.count * style.Signal.lamp.radiusR * 2; if (drict == 1) { @@ -595,13 +595,14 @@ class Signal extends Group { setState(model) { if (!this.isShowShape) return; + const path = window.location.href; this.recover(); /** 信号机进路按钮显示 */ if (isShowThePrdType(model.prdType, '03') && this.style.Signal.lowButton.display) { /** 终端信号机按钮 */ if (model.isRouteActive) { this.setLowButtonActive(); - } else if (!model.isRouteActive && isShowThePrdType(model.prdType, '03') && this.style.Signal.lowButton.display) { + } else { this.setLowButtonRecover(); } model.isRouteSignal && this.setLowButtonShow(); @@ -615,14 +616,15 @@ class Signal extends Group { model.greenOpen && !model.redOpen && !model.yellowOpen && this.openPositive(model.logicLight); // 信号正向开放 model.yellowOpen && !model.redOpen && !model.greenOpen && this.openLateral(model.logicLight); // 信号侧向开放 model.fault && this.fault();// 信号机故障 - - // 联锁自动进路通过 - model.fleetMode && this.setAutoRouteOpen(); - // 联锁自动触发 - if (model.ciControl) { - this.setAutoTriggerOpen(); - } else { - !model.atsControl && this.setArtificialRouteClose(); /** 进路交人工控或自动控 */ + if (!path.includes('/map/draw')) { + // 联锁自动进路通过 + model.fleetMode && this.setAutoRouteOpen(); + // 联锁自动触发 + if (model.ciControl) { + this.setAutoTriggerOpen(); + } else { + !model.atsControl && this.setArtificialRouteClose(); /** 进路交人工控或自动控 */ + } } // 设置点灯类型 必须在最后设置不能放前面 logicLight 0 物理点灯 1 逻辑点灯 if (model.logicLight) { @@ -652,11 +654,16 @@ class Signal extends Group { if (model.isRequestGuide) { this.lamps && this.lamps[0] && this.lamps[0].setAnimationStart(this.style.Signal.lamp.yellowColor); } - const path = window.location.href; - if (model.type == 'PASSING' && path.includes('/map/draw')) { - this.lamps && this.lamps.length && this.lamps.forEach(elem => { - elem.setColor(this.style.Signal.lamp.greenColor); - }); + if (path.includes('/map/draw')) { + if (model.type == 'PASSING') { + this.lamps && this.lamps.length && this.lamps.forEach(elem => { + elem.setColor(this.style.Signal.lamp.greenColor); + }); + } else { + this.lamps && this.lamps.length && this.lamps.forEach(elem => { + elem.setColor(this.style.Signal.lamp.redColor); + }); + } } } diff --git a/src/views/newMap/newMapdraft/ciConfig.vue b/src/views/newMap/newMapdraft/ciConfig.vue index d3a9edc6f..1dec3ca4d 100644 --- a/src/views/newMap/newMapdraft/ciConfig.vue +++ b/src/views/newMap/newMapdraft/ciConfig.vue @@ -93,7 +93,7 @@ export default { focus: false, booleanList: ['upRight', 'lockFirst', 'switchSingleHandle', 'signalApproachOnlyOne', 'signalApproachOnlyNpSwitch', 'routeNameUseEndOppositeSignalName', 'generateTbRoute', 'tbRouteNameUseEndOppositeSignalName', 'routeSignalAlwaysGreen', - 'routeApartByOverlap', 'overlapOnlySwitch', 'overlapSwitchNpOnly', 'overlapSignalOppositeSwitchNpOnly', 'overlapOnlyOneSwitch', 'generateCycle', 'routeButton', 'overlapSettingByTrigger'], + 'routeApartByOverlap', 'overlapOnlySwitch', 'overlapSwitchNpOnly', 'overlapSignalOppositeSwitchNpOnly', 'overlapOnlyOneSwitch', 'generateCycle', 'routeButton', 'overlapSettingByTrigger', 'generateFls'], selectList: [], numberList: ['overlapReleaseTime', 'routeReleaseTime'], optionsMap: { @@ -118,7 +118,8 @@ export default { routeReleaseTime: '默认进路解锁时间', generateCycle: '是否生成自动折返', routeButton: '是否生成进路结束按钮', - overlapSettingByTrigger: '延续保护的建立方式:是-通过触发建立,否-随进路建立' + overlapSettingByTrigger: '延续保护的建立方式:是-通过触发建立,否-随进路建立', + generateFls: '是否生成侧防:是-生成侧防,不要联动道岔,否-不生成侧防,用联动道岔' } }; }, @@ -209,7 +210,7 @@ export default { instance.confirmButtonLoading = false; instance.confirmButtonText = '确定'; instance.dangerouslyUseHTMLString = true; - instance.message = ` + instance.message = ` 生成并保存联锁关系成功!
生成自动信号数据${resp.data.autoSignalCount}条;
生成进路数据${resp.data.routeCount}条;
diff --git a/src/views/newMap/newMapdraft/index.vue b/src/views/newMap/newMapdraft/index.vue index 0fe746092..cfdba59e4 100644 --- a/src/views/newMap/newMapdraft/index.vue +++ b/src/views/newMap/newMapdraft/index.vue @@ -16,7 +16,7 @@
-
+
设置 + + + 设置 + +
@@ -162,6 +167,7 @@ export default { ...mapGetters('map', [ 'sectionList', 'stationList', + 'switchList', 'stationStandList' ]) }, @@ -309,6 +315,22 @@ export default { }); this.$emit('updateMapModel', models); this.$message.success('数据构建成功!'); + }, + setSwitchSectionName() { + const models = []; + this.switchList.forEach(item => { + const sectionAModel = deepAssign({}, this.$store.getters['map/getDeviceByCode'](item.sectionACode)); + const sectionBModel = deepAssign({}, this.$store.getters['map/getDeviceByCode'](item.sectionBCode)); + const sectionCModel = deepAssign({}, this.$store.getters['map/getDeviceByCode'](item.sectionCCode)); + sectionAModel.name = `${item.name}_A`; + sectionBModel.name = `${item.name}_B`; + sectionCModel.name = `${item.name}_C`; + models.push(sectionAModel); + models.push(sectionBModel); + models.push(sectionCModel); + }); + this.$emit('updateMapModel', models); + this.$message.success('道岔区段设置成功!'); } } }; diff --git a/src/views/newMap/newMapdraft/mapoperate/station.vue b/src/views/newMap/newMapdraft/mapoperate/station.vue index 22bf6b554..f4e492078 100644 --- a/src/views/newMap/newMapdraft/mapoperate/station.vue +++ b/src/views/newMap/newMapdraft/mapoperate/station.vue @@ -199,12 +199,12 @@ export default { name: this.$t('map.mapData'), item: [ { prop: 'ciStation', label: this.$t('map.isCIStation'), type: 'checkbox'}, - { prop: 'centralized', label: this.$t('map.centralized'), type: 'checkbox', disabled:this.controlled }, + { prop: 'centralized', label: '是否集中站', type: 'checkbox', disabled:this.controlled }, { prop: 'zcCode', label: this.$t('map.zcCode'), type: 'select', optionLabel: 'code&&name', optionValue: 'code', options: this.zcList, isHidden: !this.isZcCode, disabled:true }, { prop: 'chargeStationCodeList', label: '管理车站列表:', type: 'multiSelect', optionLabel: 'name', optionValue: 'code', options: this.chargeStation, isHidden: !this.isZcCode }, { prop: 'relStationCodeList', label: '联锁站关联车站:', type: 'multiSelect', optionLabel: 'name', optionValue: 'code', options: this.relStationList, isHidden: !this.idCiStation}, { prop: 'runPlanName', label: this.$t('map.stationRunPlanName'), type: 'input' }, - { prop: 'jp', label: '车站编码', type: 'input' } + { prop: 'jp', label: '车站简称', type: 'input' } ] } } @@ -308,22 +308,24 @@ export default { } return lists; }, - changeCentralized(data) { + changeCentralized(centralized) { let list = []; - if (!data) { // 将当前车站选为非集中站 - this.editModel.chargeStationCodeList = []; - const arr = this.modifyChargeStation(); - const arr1 = this.setStationStand(this.editModel, ''); + if (centralized) { // 当前车站是 集中站 + const arr = this.setStationStand(this.editModel, this.editModel.code); + const arr1 = this.modifyChargeStation(this.editModel.code); list = [...arr, ...arr1]; } else { - list = list.concat(this.setStationStand(this.editModel, this.editModel.code)); + this.editModel.chargeStationCodeList = []; + // const arr = this.modifyChargeStation(); + // const arr1 = this.setStationStand(this.editModel, ''); + // list = [...arr, ...arr1]; } return list; }, - modifyChargeStation() { + modifyChargeStation(code = '') { let list = []; this.chargeStation.forEach(station=>{ - list = list.concat(this.setStationStand(station, '')); + list = list.concat(this.setStationStand(station, code)); }); return list; }, @@ -383,9 +385,7 @@ export default { this.$refs['dataform'].validate((valid) => { if (valid) { const list = this.changeChargeStation(this.editModel.chargeStationCodeList); - // if (this.editModel.centralized != this.selected.centralized) { const centralizedList = this.changeCentralized(this.editModel.centralized); - // } const models = [this.editModel, ...list, ...centralizedList]; this.$emit('updateMapModel', models); } diff --git a/src/views/newMap/newMapdraft/mapoperate/stationstand.vue b/src/views/newMap/newMapdraft/mapoperate/stationstand.vue index c0c493018..1e0daa6a9 100644 --- a/src/views/newMap/newMapdraft/mapoperate/stationstand.vue +++ b/src/views/newMap/newMapdraft/mapoperate/stationstand.vue @@ -154,8 +154,8 @@ export default { map: { name: this.$t('map.mapData'), item: [ - { prop: 'deviceStationCode', label: this.$t('map.equipmentStation'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.stationList, disabled:true}, - { prop: 'stationCode', label: this.$t('map.belongsStation'), type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.stationList, deviceChange: this.changeStation } + { prop: 'deviceStationCode', label: '所属设备集中站', type: 'select', optionLabel: 'name', optionValue: 'code', options: this.stationList, disabled:true}, + { prop: 'stationCode', label: '所属车站', type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.stationList, deviceChange: this.changeStation } ] } }