class MainPanel { constructor(app) { this.app = app; this.panels_znyg = []; this.panels_znjk = []; this.panels_znef = []; this.toolBar = null; this.toolImgs = {}; this.isExpandBuilding = false; this.createToolsPanel(); this.building = this.app.buildings[0]; } // 创建工具面板 createToolsPanel() { var that = this; // this.toolBar = THING.widget.ToolBar({ width: '12%', media: true,captionPos:'hover',opacity:0.5}); this.toolBar = THING.widget.Banner({ column: 'left', width: '20px', media: true, captionPos: 'hover', opacity: 0.8 }); this.toolBar.data = { znsx: false, enterBuilding: false, expandBuilding: false, deviceShow: false, electricalFire: false }; this.toolBar.setPosition({ right: 0, top: 60 }); this.toolImgs.img3 = this.toolBar.addImageBoolean(this.toolBar.data, 'enterBuilding').name('进入建筑').imgUrl(baseURL + '建筑.png'); this.toolImgs.img4 = this.toolBar.addImageBoolean(this.toolBar.data, 'expandBuilding').name('楼层展开').imgUrl(baseURL + '多楼层.png'); this.toolImgs.img6 = this.toolBar.addImageBoolean(this.toolBar.data, 'deviceShow').name('建筑透视').imgUrl(baseURL + '透视.png'); this.toolImgs.img3.on('change', function (boolValue) { that.onChangeImageButton('enterBuilding', boolValue); }); this.toolImgs.img4.on('change', function (boolValue) { that.onChangeImageButton('expandBuilding', boolValue); }); this.toolImgs.img6.on('change', function (boolValue) { that.onChangeImageButton('deviceShow', boolValue); }); } // 处理工具条按钮 onChangeImageButton(key, boolValue) { var that = this; if (key == "enterBuilding") { // 进入建筑/室外 this.goinBuild(boolValue); } else if (key == "deviceShow") {//展示全部设备隐藏楼层\ var devicList = []; var build = app.buildings[0] var opacity = build.style.opacity;// 0 为全透明 ,1 为不透明 build.style.opacity = (opacity > 0.8) ? 0.1 : 1.0; var deviceArray = app.query('["userData/物体类型"="烟感"]'); devicList.push(deviceArray) if (boolValue) { flash(devicList); this.goinBuild(boolValue); // updateData(); } else { reset(devicList); } } else if (key == "expandBuilding") { // 楼层横向展开 this.app.level.change(app.buildings[0]); // 进入建筑 if (boolValue) { this.building.expandFloors({ 'time': 1000, 'length': 4, 'horzMode': false, 'hideRoof': true, 'complete': function () { that.isExpandBuilding = true; } }) } else { this.building.unexpandFloors({ 'time': 500, 'complete': function () { that.isExpandBuilding = false; } }) } } } // 展开的楼层收回去 resetExpand() { var that = this; if (this.isExpandBuilding) { this.toolBar.data.expandBuilding = false; this.building.unexpandFloors({ 'time': 500, 'complete': function () { that.isExpandBuilding = false; } }) } } goinBuild(boolValue) { delMydiv(); this.resetExpand(); var name = boolValue ? '返回室外' : '进入建筑'; this.toolImgs.img3.name(name); if (boolValue) { removeMark(); this.app.level.change(app.buildings[0]); var domDiv = document.getElementById('bottomBackground'); if (domDiv) { domDiv.remove(); } } else { this.app.level.change(app.root.campuses[0]); } } }