|
@@ -99,3 +99,154 @@ THING.Utils.dynamicLoad(fileArr, function () {
|
|
|
app.on(THING.EventType.LeaveLevel, ".Building", function (ev) {
|
|
|
// 要进入的层级对象
|
|
|
var current = ev.current;
|
|
|
+ // 上一层级对象(退出的层级)
|
|
|
+ var preObject = ev.previous;
|
|
|
+ if (current.parent === preObject) {
|
|
|
+ removeMark();
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ removeMark();
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
+/**
|
|
|
+ * 说明:注册事件
|
|
|
+ */
|
|
|
+function registerEvent() {
|
|
|
+ var _this = this
|
|
|
+ // 楼层横向展开按钮的点击事件,楼层展开只在建筑有2层或2层以上的楼层才会生效
|
|
|
+ $('#horizontalExpansion').on('click', function () {
|
|
|
+ stopRotate();
|
|
|
+ checkBtnActives(['#mapBg', '#sceneSetting']);
|
|
|
+ let expandState = building.getAttribute('expandState');
|
|
|
+ if ($(this).hasClass('active')) {
|
|
|
+ // 楼层横向展开关闭
|
|
|
+ if (expandState == 'horizontal') {
|
|
|
+ $(this).removeClass('active');
|
|
|
+ horizontalExpand(building, 'close');
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 楼层横向展开前应判断楼层是否处于垂直展开状态,是,则应先关闭垂直展开,然后横向展开
|
|
|
+ if (expandState != 'moving') {
|
|
|
+ $(this).addClass('active');
|
|
|
+ $('#verticalExpansion').removeClass('active');
|
|
|
+ if (expandState == 'vertical') {
|
|
|
+ verticalToHorizontal(building);
|
|
|
+ } else {
|
|
|
+ horizontalExpand(building, 'horizontal');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ restarRotate();
|
|
|
+ });
|
|
|
+ // 楼层垂直展开按钮的点击事件,楼层展开只在建筑有2层或2层以上的楼层才会生效
|
|
|
+ $('#verticalExpansion').on('click', function () {
|
|
|
+ stopRotate();
|
|
|
+ checkBtnActives(['#mapBg', '#sceneSetting']);
|
|
|
+ let expandState = building.getAttribute('expandState');
|
|
|
+ if ($(this).hasClass('active')) {
|
|
|
+ // 楼层垂直展开关闭
|
|
|
+ if (expandState == 'vertical') {
|
|
|
+ $(this).removeClass('active');
|
|
|
+ verticalExpand(building, 'close');
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 楼层垂直展开前应判断楼层是否处于横向展开状态,是,则应先关闭横向展开,然后垂直展开
|
|
|
+ if (expandState != 'moving') {
|
|
|
+ $(this).addClass('active');
|
|
|
+ $('#horizontalExpansion').removeClass('active');
|
|
|
+ if (expandState == 'horizontal') {
|
|
|
+ horizontalToVertical(building);
|
|
|
+ } else {
|
|
|
+ verticalExpand(building, 'vertical');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ restarRotate();
|
|
|
+ });
|
|
|
+ // 设置按钮点击事件,按钮的tip与功能面板的互相切换
|
|
|
+ $('#sceneSetting').on('click', function () {
|
|
|
+ checkBtnActives(['#mapBg']);
|
|
|
+ if ($(this).hasClass('active')) {
|
|
|
+ $(this).removeClass('active');
|
|
|
+ $(this).children('.control-menu').removeClass('actives');
|
|
|
+ $(this).find('.tooltiptext').css({ "visibility": "visible" });
|
|
|
+ } else {
|
|
|
+ $(this).addClass('active');
|
|
|
+ $(this).children('.control-menu').addClass('actives');
|
|
|
+ $(this).find('.tooltiptext').css({ "visibility": "hidden" });
|
|
|
+ }
|
|
|
+ }).hover(function () {
|
|
|
+ if (!$(this).hasClass('active')) {
|
|
|
+ $(this).find('.tooltiptext').css({ "visibility": "visible" });
|
|
|
+ }
|
|
|
+ }, function () {
|
|
|
+ $(this).find('.tooltiptext').css({ "visibility": "hidden" });
|
|
|
+ });
|
|
|
+ // 设置li标签添加点击事件
|
|
|
+ $('#sceneSetting .control-menu-pane li').on('click', function (ev) {
|
|
|
+ //ev.stopPropagation();
|
|
|
+ if ($(this).hasClass('selected')) {
|
|
|
+ stopRotate();
|
|
|
+ $(this).removeClass('selected');
|
|
|
+ } else {
|
|
|
+ $(this).addClass('selected');
|
|
|
+ restarRotate();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // 小地图的开启/关闭按钮的鼠标点击事件
|
|
|
+ $('#miniMap').on('click', function () {
|
|
|
+ if ($(this).hasClass('active')) {
|
|
|
+ $(this).removeClass('active');
|
|
|
+ destoryMiniMap();
|
|
|
+ } else {
|
|
|
+ $(this).addClass('active');
|
|
|
+ createMiniMap();
|
|
|
+ }
|
|
|
+ checkBtnActives(['#mapBg', '#sceneSetting']);
|
|
|
+ });
|
|
|
+ // 地图背景的开启/关闭按钮的鼠标点击事件,按钮的tip与功能面板的互相切换
|
|
|
+ $('#mapBg').on('click', function () {
|
|
|
+ checkBtnActives(['#sceneSetting']);
|
|
|
+ if ($(this).hasClass('active')) {
|
|
|
+ $(this).removeClass('active');
|
|
|
+ $(this).children('.control-menu').removeClass('actives');
|
|
|
+ $(this).find('.tooltiptext').css({ "visibility": "visible" });
|
|
|
+ } else {
|
|
|
+ $(this).addClass('active');
|
|
|
+ $(this).children('.control-menu').addClass('actives');
|
|
|
+ $(this).find('.tooltiptext').css({ "visibility": "hidden" });
|
|
|
+ }
|
|
|
+ }).hover(function () {
|
|
|
+ if (!$(this).hasClass('active')) {
|
|
|
+ $(this).find('.tooltiptext').css({ "visibility": "visible" });
|
|
|
+ }
|
|
|
+ }, function () {
|
|
|
+ $(this).find('.tooltiptext').css({ "visibility": "hidden" });
|
|
|
+ });
|
|
|
+ // 进入层级事件
|
|
|
+ app.on(THING.EventType.EnterLevel, function (ev) {
|
|
|
+ stopRotate();
|
|
|
+ // 进入建筑层级
|
|
|
+ if (ev.object.type == 'Building') {
|
|
|
+ //清除设备列表和面板
|
|
|
+ _this.delMydiv();
|
|
|
+ _this.destroy_ui();
|
|
|
+ let floors = ev.object.floors;
|
|
|
+ if (floors.length > 1) {
|
|
|
+ building = ev.object;
|
|
|
+ addFloorPos(building);
|
|
|
+ let expandState = building.getAttribute('expandState');
|
|
|
+ if (expandState == null) {
|
|
|
+ building.setAttribute('expandState', 'close');
|
|
|
+ }
|
|
|
+ $('#horizontalExpansion').css({ 'display': 'block' });
|
|
|
+ $('#verticalExpansion').css({ 'display': 'block' });
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ $('#horizontalExpansion').css({ 'display': 'none' });
|
|
|
+ $('#verticalExpansion').css({ 'display': 'none' });
|
|
|
+ // 进入园区层级
|
|
|
+ if (ev.object.type == 'Campus') {
|
|
|
+ if (building != null) {
|
|
|
+ exitBuildingCloseFloor(building);
|