diff --git a/README.md b/README.md index c3eaa7c..30ac15a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,27 @@ # 中国石化加油站项目 +## 🌼v1.0.2 主要变化 完成功能,部署测试 + +### 🌻 简介 + +> 时间:2021、12、7 周二 +> 修复 bug,三维优化 + +### 🌻 详情 + +> 前端部分 + +- [🚩 重大变更] 无 +- [🌱 新增] 无 +- [🍀 完善] 无 + +> 三维部分 + +- [🚩 重大变更] 无 +- [🌱 新增] 无 +- [🍀 完善] 修复多个单位切换时,未重新获取应急预案信息的问题 +- [🍀 完善] 增加打印,排查部署与本地差异: 部署后新建单位创建应急预案不成功,本地未出现此情况 + ## 🌼v1.0.1 主要变化 完成功能,部署测试 ### 🌻 简介 diff --git a/src/app/babylon/controller/data-manager.ts b/src/app/babylon/controller/data-manager.ts index 431e216..2ca8fe3 100644 --- a/src/app/babylon/controller/data-manager.ts +++ b/src/app/babylon/controller/data-manager.ts @@ -40,6 +40,7 @@ import { ModelEditData } from '../model/data/model-data/model-edit-data'; import { TransformData } from '../model/data/transform-data'; import { BabylonTool } from '../tool/babylon-tool'; import { TsTool } from '../tool/ts-tool'; +import { MarkWindow } from '../view/mark-window/mark-window'; import { ConfigManager } from './config-manager'; import { ModeManager } from './mode-manager'; import { ServeManager } from './serve-manager'; @@ -75,10 +76,10 @@ export class DataManager { if (dataFromServe) { if (DataManager.institutionData != null) { + console.log("单位id", institutionID.toString()); //同一单位 - console.log("=======", DataManager.institutionData.normalData.key, institutionID.toString()); if (DataManager.institutionData.normalData.key == institutionID.toString()) { - console.log("同一单位"); + console.log("同一单位", DataManager.institutionData.normalData.key); if (onSuccess) { onSuccess(institutionID.toString()); } diff --git a/src/app/babylon/controller/event-manager/events/event-mark-info-change.ts b/src/app/babylon/controller/event-manager/events/event-mark-info-change.ts index e826135..1dac2d0 100644 --- a/src/app/babylon/controller/event-manager/events/event-mark-info-change.ts +++ b/src/app/babylon/controller/event-manager/events/event-mark-info-change.ts @@ -13,7 +13,6 @@ export class Event_MarkInfoChange extends Event_Base { markInfo: ModelInfo_mark; static dispatch(eventType: MarkInfoChangeType, markInfo: ModelInfo_mark) { - let eventInfo = new Event_MarkInfoChange(); eventInfo.eventType = eventType; eventInfo.markInfo = markInfo; diff --git a/src/app/babylon/controller/inputController.ts b/src/app/babylon/controller/inputController.ts index a922e1f..39f7793 100644 --- a/src/app/babylon/controller/inputController.ts +++ b/src/app/babylon/controller/inputController.ts @@ -96,6 +96,10 @@ export class InputController { //添加监听事件 EventManager.addListener(Event_MarkInfoChange, (eventData, eventState) => { this.markInfo = eventData.markInfo; + if (eventData.markInfo == null) { + console.trace("Event_MarkInfoChange===="); + return; + } this.markData = eventData.markInfo.markData; this.markType = eventData.markInfo.markData.type; switch (eventData.eventType) { diff --git a/src/app/babylon/controller/scene-manager.ts b/src/app/babylon/controller/scene-manager.ts index c488456..68ca990 100644 --- a/src/app/babylon/controller/scene-manager.ts +++ b/src/app/babylon/controller/scene-manager.ts @@ -830,15 +830,11 @@ export class SceneManager { return; } else { - console.log(modelInfo.modelData instanceof ModelData_facility, (modelInfo.modelData as ModelData_facility).posType); - if (modelInfo.modelData instanceof ModelData_facility && modelInfo.modelData.posType == FacilityPosType.In) { - console.log("1111"); //来自建筑模型中的设备 modelInfo.dispose(false); } else { - console.log("222"); TsTool.arrayRemove(SceneManager.s_allModelInfo, modelInfo); modelInfo.dispose(); } diff --git a/src/app/babylon/controller/status/login-status.ts b/src/app/babylon/controller/status/login-status.ts index f0c4381..060cb61 100644 --- a/src/app/babylon/controller/status/login-status.ts +++ b/src/app/babylon/controller/status/login-status.ts @@ -9,6 +9,7 @@ import { BabylonTool } from "../../tool/babylon-tool"; import { BuildingWindow } from "../../view/building-window/building-window"; import { InstitutionCreateWindow } from "../../view/institution/institution-create-window"; import { InstitutionSelectWindow } from "../../view/institution/institution-select-window"; +import { MarkWindow } from "../../view/mark-window/mark-window"; import { TopbarWindow } from "../../view/topbar-window/topbar-window"; import { DataManager } from "../data-manager"; @@ -103,9 +104,12 @@ export class LoginSatus extends StatusBase { if (DataManager.institutionData != null) { //不同单位,释放建筑 - console.log("=======", DataManager.institutionData.normalData.key, simpleData.key.toString()); if (DataManager.institutionData.normalData.key != simpleData.key) { BuildingWindow.instance.dispose(); + + if (MarkWindow.instance != null) { + MarkWindow.instance.dispose(); + } } } diff --git a/src/app/babylon/view/mark-window/mark-window.ts b/src/app/babylon/view/mark-window/mark-window.ts index c4703d4..a41e9d5 100644 --- a/src/app/babylon/view/mark-window/mark-window.ts +++ b/src/app/babylon/view/mark-window/mark-window.ts @@ -39,6 +39,7 @@ import { WeatherTool } from "./weather-tool"; export class MarkWindow extends UIBase { + /** * 游离节点特殊名称 */ @@ -87,7 +88,7 @@ export class MarkWindow extends UIBase { /** * 所有的标绘方案数据 */ - allMarkPlanData: AllMarkPlanData; + allMarkPlanData: AllMarkPlanData = null; /** @@ -143,12 +144,7 @@ export class MarkWindow extends UIBase { // 创建输入控制器 const control = new InputController(SceneManager.Instance.scene); - DataManager.initMarkData((data: AllMarkPlanData) => { - instance.onGetAllMarkPlanData(data); - MarkWindow.instance.selectMarkNode(null, null, true); //模拟选中空节点,创建游离节点 - // console.log("标绘信息", data); - // console.log(JSON.stringify(data)); - }); + this.weatherTool = new WeatherTool(SceneManager.Instance.defaultCamera, SceneManager.Instance.scene); @@ -163,7 +159,7 @@ export class MarkWindow extends UIBase { onOpen() { super.onOpen(); - + this.onShow(); } onClose() { @@ -180,7 +176,29 @@ export class MarkWindow extends UIBase { onShow() { super.onShow(); + let instance = this; + if (this.allMarkPlanData == null) { + DataManager.initMarkData((data: AllMarkPlanData) => { + instance.onGetAllMarkPlanData(data); + MarkWindow.instance.selectMarkNode(null, null, true); //模拟选中空节点,创建游离节点 + // console.log("标绘信息", data); + // console.log(JSON.stringify(data)); + }); + } + else { + MarkWindow.instance.selectMarkNode(null, null, true); //模拟选中空节点,创建游离节点 + } + + + } + + /** + * 不同单位,释放数据,下次重新请求 + */ + dispose() { + this.allMarkPlanData = null; } + //#endregion