diff --git a/src/app/pages/left-domain/left-domain.component.ts b/src/app/pages/left-domain/left-domain.component.ts
index 7c15bc1..9b9a86a 100644
--- a/src/app/pages/left-domain/left-domain.component.ts
+++ b/src/app/pages/left-domain/left-domain.component.ts
@@ -101,6 +101,9 @@ export class LeftDomainComponent implements OnInit {
//选中 设备
selectFacility(event, item: FacilityInfoUIItem) {
+ if (event.target.localName == 'img') {
+ return
+ }
if (this.selectFacilityId != item.getID()) {
this.selectFacilityId = item.getID()
FacilityInfoInSceneWindow.instance.selectFacilityItem(item);
@@ -128,7 +131,7 @@ export class LeftDomainComponent implements OnInit {
PlanComponent.instance.isShowLoading = true //打开遮罩
let institutionKey = `${PlanComponent.instance.companyData.id}` || "ceshi"; //单位id
let buildingKey = PlanComponent.instance.buildingUIItems.find(item => { return item.getBuildingID() == PlanComponent.instance.beforeOneBuildingID })
- let url = DataManager.getResPath_facilityProperty(institutionKey, buildingKey.getBuildingID(), item.getType(), item.getID(), null)
+ let url = DataManager.getResPath_facilityProperty(institutionKey, buildingKey? buildingKey.getBuildingID() : "building", item.getType(), item.getID(), null)
ServeManager.instance.openFileSelect(file, url, (name: string, path: string) => { //上传
item.getPropertyData().img = ObjectsService.getFullPath(path + name)
if (this.beforeFence === 5) {
diff --git a/src/app/pages/plan/plan.component.ts b/src/app/pages/plan/plan.component.ts
index 69c01ec..dff2c73 100644
--- a/src/app/pages/plan/plan.component.ts
+++ b/src/app/pages/plan/plan.component.ts
@@ -471,7 +471,7 @@ export class PlanComponent implements OnInit {
let institutionKey = `${this.companyData.id}` || "ceshi"; //单位id
let buildingKey = this.buildingUIItems.find(item => { return item.getBuildingID() == this.beforeOneBuildingID })
let facility = this.beforeOnePropertyData
- let url = DataManager.getResPath_facilityProperty(institutionKey, buildingKey.getBuildingID(), facility.getType(), facility.getID(), null)
+ let url = DataManager.getResPath_facilityProperty(institutionKey, buildingKey? buildingKey.getBuildingID() : "building", facility.getType(), facility.getID(), null)
ServeManager.instance.openFileSelect(file, url, (name: string, path: string) => { //上传
this.beforeOnePropertyData.getPropertyData().img = ObjectsService.getFullPath(path + name)
if (!this.beforeOnePropertyData.getPropertyData().is360) {
diff --git a/src/styles.scss b/src/styles.scss
index de5f572..b27f4fa 100644
--- a/src/styles.scss
+++ b/src/styles.scss
@@ -132,7 +132,7 @@ h1 {
}
.videoDialog{
height: 80%;
- .ant-modal-footer { padding: 0; }
+ .ant-modal-body,.ant-modal-footer { padding: 0; }
.ant-modal-body,.ant-modal-content { height: 100%; }
canvas{ width: 100%; height: 100%; border: none; outline: none; }
}
From 5ff6fc6c225fa5a040b12443afccd7f7848965f3 Mon Sep 17 00:00:00 2001
From: liuxianghui <519646741@qq.com>
Date: Fri, 3 Dec 2021 09:41:38 +0800
Subject: [PATCH 2/6] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=87=8D=E5=A4=8D?=
=?UTF-8?q?=E8=BF=9B=E5=85=A5=E5=90=8C=E4=B8=80=E5=9C=BA=E6=99=AF=EF=BC=8C?=
=?UTF-8?q?=20=E4=B8=8D=E5=86=8D=E9=9C=80=E8=A6=81=E9=87=8D=E6=96=B0?=
=?UTF-8?q?=E5=8A=A0=E8=BD=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/app/babylon/controller/data-manager.ts | 26 +++++-
.../controller/status/building-status.ts | 28 +++---
.../babylon/controller/status/login-status.ts | 11 +++
src/app/babylon/game.ts | 91 ++++++++++++++-----
src/app/babylon/tool/load-tool.ts | 2 -
.../view/building-window/building-window.ts | 21 ++++-
.../view/facility-window/facility-window.ts | 45 ++++++---
.../facilityinfoinscene-window.ts | 6 +-
.../left-domain/left-domain.component.ts | 2 +
src/app/pages/plan/plan.component.ts | 22 +++--
10 files changed, 183 insertions(+), 71 deletions(-)
diff --git a/src/app/babylon/controller/data-manager.ts b/src/app/babylon/controller/data-manager.ts
index 7870503..431e216 100644
--- a/src/app/babylon/controller/data-manager.ts
+++ b/src/app/babylon/controller/data-manager.ts
@@ -34,7 +34,6 @@ import {
} from '../model/data/model-data/model-data';
import { ModelData_building } from '../model/data/model-data/model-data-building';
import {
- FacilityPosType,
FacilityType
} from '../model/data/model-data/model-data-facility';
import { ModelEditData } from '../model/data/model-data/model-edit-data';
@@ -75,10 +74,27 @@ export class DataManager {
if (dataFromServe) {
+ if (DataManager.institutionData != null) {
+ //同一单位
+ console.log("=======", DataManager.institutionData.normalData.key, institutionID.toString());
+ if (DataManager.institutionData.normalData.key == institutionID.toString()) {
+ console.log("同一单位");
+ if (onSuccess) {
+ onSuccess(institutionID.toString());
+ }
+ return;
+ }
+ else //不同单位,释放原有单位
+ {
+
+ }
+ }
+
ServeManager.instance.getInstitutionData(institutionID, (key, result) => {
if (onSuccess) {
DataManager.institutionData = plainToClass(InstitutionData, result);
DataManager.institutionData.normalData.name = DataManager.institutionData_simple.name;
+ DataManager.institutionData.normalData.key = DataManager.institutionData_simple.key;
// console.log(DataManager.institutionData);
onSuccess(key);
}
@@ -91,11 +107,11 @@ export class DataManager {
console.error("获取单位信息失败,本地捏造数据");
PlanComponent.instance.openSnackBar("获取单位失败,请刷新重试");
- // DataManager.initDebugData_institution();
- // if (onSuccess) {
- // onSuccess(key);
- // }
});
+
+
+
+
}
else {
//本地捏造测试数据
diff --git a/src/app/babylon/controller/status/building-status.ts b/src/app/babylon/controller/status/building-status.ts
index a087bdd..65b6a24 100644
--- a/src/app/babylon/controller/status/building-status.ts
+++ b/src/app/babylon/controller/status/building-status.ts
@@ -1,5 +1,6 @@
import { Observable, Observer } from "@babylonjs/core";
+import { PlanComponent } from "src/app/pages/plan/plan.component";
import { Game } from "../../game";
import { BuildingType, BuildingData } from "../../model/data/institution/building/building-data";
import { FacilityPosType, ModelData_facility } from "../../model/data/model-data/model-data-facility";
@@ -59,7 +60,7 @@ export class BuildingStatus extends StatusBase {
onEnter() {
super.onEnter();
Game.instance.engine.resize();
-
+ this.buildingWindow = BuildingWindow.instance;
//首次进入
if (this.buildingWindow == null) {
SceneManager.s_facilityWindow = UIManager.open
(FacilityWindow);
@@ -76,19 +77,19 @@ export class BuildingStatus extends StatusBase {
else { //从室内返回
UIManager.show(this.buildingWindow);
if (this.buildingWindow.currentBuidngItem != null) {
- this.buildingWindow.currentBuidngItem.select();
+ PlanComponent.instance.selectLeftBuilding(this.buildingWindow.currentBuidngItem);
BuildingStatus.startEnterObservable.notifyObservers(this.buildingWindow.currentBuidngItem);
BuildingStatus.enterSuccessObservable.notifyObservers(this.buildingWindow.currentBuidngItem)
- if (MarkWindow.s_cameraData == null) {
- this.buildingWindow.currentBuidngItem.lookAt();
- }
- else {
+ // if (MarkWindow.s_cameraData == null) {
+ // this.buildingWindow.currentBuidngItem.lookAt();
+ // }
+ // else {
- MarkWindow.s_cameraData.setDataToCamera(SceneManager.Instance.defaultCamera);
- MarkWindow.s_cameraData = null;
- }
+ // MarkWindow.s_cameraData.setDataToCamera(SceneManager.Instance.defaultCamera);
+ // MarkWindow.s_cameraData = null;
+ // }
- FacilityInfoInSceneWindow.instance.createAllFacilities(this.buildingWindow.currentBuidngItem.buildingInfo.ModelInfo.facilityInfos);
+ //FacilityInfoInSceneWindow.instance.createAllFacilities(this.buildingWindow.currentBuidngItem.buildingInfo.ModelInfo.facilityInfos);
if (ModeManager.currentMode == ModeType.Look) {
FacilityInfoInSceneWindow.instance.showFacilityByType(null, false);
}
@@ -117,9 +118,9 @@ export class BuildingStatus extends StatusBase {
//改变当前选中的建筑
changeCurrentBuilding(buildingInfo: BuildingInfo) {
- if (buildingInfo == this.currentBuildingInfo) {
- return;
- }
+ // if (buildingInfo == this.currentBuildingInfo) {
+ // return;
+ // }
// console.log("改变当前建筑" + buildingInfo.buildingData.normalData.key);
//FacilityInfoInSceneWindow.instance.clearFacilityInfoUIItemes();
@@ -165,4 +166,5 @@ export class BuildingStatus extends StatusBase {
}
}
}
+
}
\ No newline at end of file
diff --git a/src/app/babylon/controller/status/login-status.ts b/src/app/babylon/controller/status/login-status.ts
index 839ebb6..f0c4381 100644
--- a/src/app/babylon/controller/status/login-status.ts
+++ b/src/app/babylon/controller/status/login-status.ts
@@ -6,6 +6,7 @@ import { plainToClass } from "class-transformer";
import { InstitutionData, NormalData } from "../../model/data/institution/institution-data";
import { InsitutionDataSimple } from "../../model/data/institution/institution-data-simple";
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 { TopbarWindow } from "../../view/topbar-window/topbar-window";
@@ -99,6 +100,16 @@ export class LoginSatus extends StatusBase {
* @param simpleData 选择的单位
*/
onSelectInsSuccess(simpleData: InsitutionDataSimple) {
+
+ if (DataManager.institutionData != null) {
+ //不同单位,释放建筑
+ console.log("=======", DataManager.institutionData.normalData.key, simpleData.key.toString());
+ if (DataManager.institutionData.normalData.key != simpleData.key) {
+ BuildingWindow.instance.dispose();
+ }
+ }
+
+
let status: LoginSatus = StatusManager.getStatus(LoginSatus);
if (status.institutionSelectWindow != null) {
UIManager.close(status.institutionSelectWindow);
diff --git a/src/app/babylon/game.ts b/src/app/babylon/game.ts
index 7b04f45..b45ad39 100644
--- a/src/app/babylon/game.ts
+++ b/src/app/babylon/game.ts
@@ -11,6 +11,8 @@ export class Game {
public engine: Engine;
public scene: Scene;
+ private isRender: boolean = true;//是否更新渲染
+
static instance: Game;
//初始化引擎和画布
@@ -18,35 +20,63 @@ export class Game {
// FileTools.DefaultRetryStrategy = MyRetryStrategy.ExponentialBackoff(2, 1000);
// FileTools.DefaultRetryStrategy = RetryStrategy.ExponentialBackoff(2, 1000);
+ if (Game.instance != null) {
+ // canvas.setAttribute("touch-action", "none");
+ // canvas.style.touchAction = "none";
+ // canvas.tabIndex = 1;
+ this.startRender();
+ this.scene.detachControl();
+ let view = this.engine.registerView(canvas, SceneManager.Instance.defaultCamera);
+ this.canvas = canvas;
+ this.engine.inputElement = canvas;
+ this.scene.attachControl();
+ this.canvas.addEventListener('contextmenu', function (e) {
+ e.preventDefault();
+ })
+ SceneManager.Instance.defaultCamera.attachControl(canvas, true);
+
+ }
+ else {
+ this.startRender();
+ Game.instance = this;
+ this.canvas = canvas;
+ this.engine = new Engine(canvas, null, { stencil: true });
+ Database.IDBStorageEnabled = true;//开启本地缓存
+ this.scene = new Scene(this.engine);
+ this.scene.useRightHandedSystem = true;//使用右手坐标系
+ RenderingManager.MIN_RENDERINGGROUPS = -1;//最小渲染序列
+ this.createScene();
+ UIManager.Instance.init();
+ let scene = this.scene;
+ //最后,将场景渲染出来 (重要,不可缺少)
+ this.engine.runRenderLoop(function () {
+ if (Game.instance != null && Game.instance.isRender) {
+ scene.render();
+ }
+
+ })
+
+ // 监听浏览器改变大小的事件,通过调用engine.resize()来自适应窗口大小
+ window.addEventListener("resize", function () {
+ if (Game.instance != null && Game.instance.isRender) {
+ Game.instance.engine.resize();
+ UIManager.Instance.uiRoot.renderScale = 0.99;
+ setTimeout(() => {
+ UIManager.Instance.uiRoot.renderScale = 1;
+ }, 10);
+ }
+ });
+ }
+
+ StatusManager.enterStatus(LoginSatus);
- Game.instance = this;
- this.canvas = canvas;
- this.engine = new Engine(canvas, null, { stencil: true });
- Database.IDBStorageEnabled = true;//开启本地缓存
- this.scene = new Scene(this.engine);
- this.scene.useRightHandedSystem = true;//使用右手坐标系
- RenderingManager.MIN_RENDERINGGROUPS = -1;//最小渲染序列
- // Engine.DefaultLoadingScreenFactory() //尝试更改canvas
- this.createScene();
- let scene = this.scene;
// canvas.translate = true; //用于设置背景透明
// scene.autoClear = true;
- UIManager.Instance.init();
- StatusManager.enterStatus(LoginSatus);
- //最后,将场景渲染出来 (重要,不可缺少)
- this.engine.runRenderLoop(function () {
- scene.render();
- })
- // 监听浏览器改变大小的事件,通过调用engine.resize()来自适应窗口大小
- window.addEventListener("resize", function () {
- if (Game.instance != null) {
- Game.instance.engine.resize();
- }
- });
+
}
@@ -66,8 +96,25 @@ export class Game {
this.scene = null;
this.engine.dispose();
this.engine = null;
+
}
+ /**
+ * 暂停渲染
+ */
+ pauseRender() {
+ this.engine.unRegisterView(this.canvas);
+ this.isRender = false;
+ }
+
+ /**
+ * 开始或继续渲染
+ */
+ startRender() {
+ this.isRender = true;
+ }
+
+
}
// /**
diff --git a/src/app/babylon/tool/load-tool.ts b/src/app/babylon/tool/load-tool.ts
index 12f267b..222b740 100644
--- a/src/app/babylon/tool/load-tool.ts
+++ b/src/app/babylon/tool/load-tool.ts
@@ -51,7 +51,6 @@ export class LoadTool {
* 开始加载
*/
static onStart() {
- // console.log("开始加载");
PlanComponent.instance.showLoading(true);
Event_LoadingChange.dispatch(true);
}
@@ -60,7 +59,6 @@ export class LoadTool {
* 全部加载结束
*/
static onEnd() {
- // console.log("结束加载");
PlanComponent.instance.showLoading(false);
Event_LoadingChange.dispatch(false);
}
diff --git a/src/app/babylon/view/building-window/building-window.ts b/src/app/babylon/view/building-window/building-window.ts
index 2957973..6471318 100644
--- a/src/app/babylon/view/building-window/building-window.ts
+++ b/src/app/babylon/view/building-window/building-window.ts
@@ -1,5 +1,5 @@
-import { AbstractMesh, Material, Mesh, PBRMaterial, Texture, Animatable } from "@babylonjs/core";
+import { AbstractMesh, Material, PBRMaterial, Texture, Animatable } from "@babylonjs/core";
import { PlanComponent } from "src/app/pages/plan/plan.component";
import { ConfigManager } from "../../controller/config-manager";
import { DataManager } from "../../controller/data-manager";
@@ -25,7 +25,6 @@ import { ModelInfo_building } from "../../model/info/model/model-info-building";
import { FacilityInfoByType, ModelInfo_facility } from "../../model/info/model/model-info-facility";
import { BabylonTool } from "../../tool/babylon-tool";
import { GizmoTool } from "../../tool/gizmo-tool";
-import { LoadTool } from "../../tool/load-tool";
import { TsTool } from "../../tool/ts-tool";
import { FacilityInfoInSceneWindow } from "../facilityinfoinscene-window/facilityinfoinscene-window";
import { MarkWindow } from "../mark-window/mark-window";
@@ -329,6 +328,8 @@ export class BuildingWindow extends UIBase {
}
onShow() {
+ this.three = PlanComponent.instance;
+ this.three.buildingUIItems = this.buildingUIItems
this.showModel(true);
super.onShow();
@@ -343,6 +344,7 @@ export class BuildingWindow extends UIBase {
}
+
/**
* loading状态改变时
* @param eventInfo
@@ -362,11 +364,24 @@ export class BuildingWindow extends UIBase {
}
}
+ /**
+ * 释放建筑,回到未创建建筑前
+ */
+ dispose() {
+ for (let i = 0; i < this.buildingUIItems.length; i++) {
+ this.buildingUIItems[i].dispose();
+ }
+ BuildingWindow.instance = null;
+ }
+
//#endregion
//#region 外部公有
+
+
+
/**
* 清空建筑上的设备实例
* @param buildingInfo
@@ -415,7 +430,7 @@ export class BuildingWindow extends UIBase {
//this.onChangeCurrentBuildingItem(item);
- // this.three.selectLeftBuilding(item);
+ //this.three.selectLeftBuilding(item);
}
diff --git a/src/app/babylon/view/facility-window/facility-window.ts b/src/app/babylon/view/facility-window/facility-window.ts
index c928549..60c597a 100644
--- a/src/app/babylon/view/facility-window/facility-window.ts
+++ b/src/app/babylon/view/facility-window/facility-window.ts
@@ -61,6 +61,7 @@ export class FacilityWindow extends UIBase {
static readonly c_createIcon_width = 40;
createIndex = 0; //临时的创建序号
+ indexDBInit: boolean = false; //是否完成了indexDB的初始化
onInit() {
FacilityWindow.instance = this;
@@ -166,26 +167,40 @@ export class FacilityWindow extends UIBase {
let instance = this;
//为了避免多个模型同时加载、导致indexDB创建冲突,所以先加载一个,保证indexDB创建完成
- BabylonTool.importMeshSync(null, "mesh/indexdb/gd/", "GD.gltf", undefined, "GD_indexDB", (meshes) => {
- meshes[0].dispose();
- for (let i = 0; i < facilities.length; i++) {
-
- let facilityUIItem: FacilityUIItem = new FacilityUIItem(
- facilities[i],
- null,
- null
- );
-
- instance.allFacilityUIItemes.push(facilityUIItem);
- }
- // console.log("所有可用的设备", instance.allFacilityUIItemes);
- PlanComponent.instance.getAllIcons(instance)
+ if (!instance.indexDBInit) {
+ BabylonTool.importMeshSync(null, "mesh/indexdb/gd/", "GD.gltf", undefined, "GD_indexDB", (meshes) => {
+ meshes[0].dispose();
+ instance.indexDBInit = true;
+ instance.updateFacilitieUIItems(facilities);
+ })
+ }
+ else {
+ instance.updateFacilitieUIItems(facilities);
+ }
- })
instance.three = PlanComponent.instance
}
+ /**
+ * 真正更新设备Item
+ * @param facilities
+ */
+ updateFacilitieUIItems(facilities: ModelData_facility[]) {
+ for (let i = 0; i < facilities.length; i++) {
+
+ let facilityUIItem: FacilityUIItem = new FacilityUIItem(
+ facilities[i],
+ null,
+ null
+ );
+
+ FacilityWindow.instance.allFacilityUIItemes.push(facilityUIItem);
+ }
+ // console.log("所有可用的设备", instance.allFacilityUIItemes);
+ PlanComponent.instance.getAllIcons(FacilityWindow.instance)
+ }
+
//清空可用设施列表
clearAllFacilityUIItemes() {
for (let i = 0; i < this.allFacilityUIItemes.length; i++) {
diff --git a/src/app/babylon/view/facilityinfoinscene-window/facilityinfoinscene-window.ts b/src/app/babylon/view/facilityinfoinscene-window/facilityinfoinscene-window.ts
index 1dfa899..8b496d9 100644
--- a/src/app/babylon/view/facilityinfoinscene-window/facilityinfoinscene-window.ts
+++ b/src/app/babylon/view/facilityinfoinscene-window/facilityinfoinscene-window.ts
@@ -164,9 +164,9 @@ export class FacilityInfoInSceneWindow extends UIBase {
}
} else { // 单选
if (isChecked) { //选中
- this.three.selectProperty(facilityInfoUIItem[0])
+ this.three.selectProperty(facilityInfoUIItem[0])
} else { //取消选中
- this.three.isShowNature = false
+ this.three.isShowNature = false
}
}
@@ -586,7 +586,7 @@ export class FacilityInfoInSceneWindow extends UIBase {
}
}
-
+ this.three = PlanComponent.instance;
//通知ui更新
//this.three.getAllCensusList(this.facilityInfoUIItemes || []);
diff --git a/src/app/pages/left-domain/left-domain.component.ts b/src/app/pages/left-domain/left-domain.component.ts
index 7c15bc1..8777b8a 100644
--- a/src/app/pages/left-domain/left-domain.component.ts
+++ b/src/app/pages/left-domain/left-domain.component.ts
@@ -83,6 +83,7 @@ export class LeftDomainComponent implements OnInit {
item.getType() === "JY_YQHSGX" ? list.push(item) : null
}
})
+ console.log("所有设备", list);
this.FacilityList = list
this.selectFacilityId = null
if (this.beforeFence === 3) { //消防设施
@@ -127,6 +128,7 @@ export class LeftDomainComponent implements OnInit {
}
PlanComponent.instance.isShowLoading = true //打开遮罩
let institutionKey = `${PlanComponent.instance.companyData.id}` || "ceshi"; //单位id
+ console.log(PlanComponent.instance.buildingUIItems, PlanComponent.instance.beforeOneBuildingID);
let buildingKey = PlanComponent.instance.buildingUIItems.find(item => { return item.getBuildingID() == PlanComponent.instance.beforeOneBuildingID })
let url = DataManager.getResPath_facilityProperty(institutionKey, buildingKey.getBuildingID(), item.getType(), item.getID(), null)
ServeManager.instance.openFileSelect(file, url, (name: string, path: string) => { //上传
diff --git a/src/app/pages/plan/plan.component.ts b/src/app/pages/plan/plan.component.ts
index 69c01ec..cbcef73 100644
--- a/src/app/pages/plan/plan.component.ts
+++ b/src/app/pages/plan/plan.component.ts
@@ -47,13 +47,13 @@ export class PlanComponent implements OnInit {
static instance: PlanComponent;
- public game: Game = new Game();
+ public game: Game;
public beforeOneSatus; //当前 satus
public canvas: HTMLCanvasElement; //canvas 实例
public editMode: boolean = true; //编辑/查看 模式
public userMode: boolean = ModeManager.s_isMakeMode; //是否为 内部权限
public bucketName: string = ObjectsService.getFullPath("文件路径"); //当前桶名
- public isShowLoading: boolean = true; //显隐 loading加载条
+ public isShowLoading: boolean = false; //显隐 loading加载条
public companyData: any; //当前加油站所属组织机构 data
private readonly c_frameSpace = 16;//更新的帧间隔, 16大概是60帧每秒
@@ -63,6 +63,12 @@ export class PlanComponent implements OnInit {
PlanComponent.instance = this;
ServeManager.Init(this.buildingBISrv, this.objectsSrv);
this.canvas = this.element.nativeElement.querySelector('#center') as HTMLCanvasElement;
+ if (Game.instance == null) {
+ this.game = new Game();
+ }
+ else {
+ this.game = Game.instance;
+ }
this.game.init(this.canvas);
this.companyData = (JSON.parse(sessionStorage.getItem('userdataOfgasstation'))).organization || {}
let editMode = sessionStorage.getItem('isGasStation')
@@ -148,7 +154,7 @@ export class PlanComponent implements OnInit {
}
ngOnDestroy(): void { //组件销毁前 销毁canvas
- this.game.dispose();
+ this.game.pauseRender();
this.game = null;
}
@@ -403,7 +409,7 @@ export class PlanComponent implements OnInit {
//选中 设备
selectProperty(e: FacilityInfoUIItem) {
- this.propertyImg? this.propertyImg.destroy() : null
+ this.propertyImg ? this.propertyImg.destroy() : null
this.isShowNature = true
this.beforeOnePropertyData = e
if (this.selectFence === 1 || this.selectFence === 2) { //刷新弹窗 位置
@@ -433,7 +439,7 @@ export class PlanComponent implements OnInit {
return
}
if (this.beforeOnePropertyData.getPropertyData().is360) { //全景模式 销毁 Viewer
- this.propertyImg? this.propertyImg.destroy() : null
+ this.propertyImg ? this.propertyImg.destroy() : null
} else { //非全景模式 初始化 Viewer
window.setTimeout(() => {
this.propertyImg = new Viewer(this.element.nativeElement.querySelector('#propertyImg'), { url: 'data-original', navbar: false });
@@ -446,15 +452,15 @@ export class PlanComponent implements OnInit {
if (this.beforeOnePropertyData.getPropertyData().img && this.beforeOnePropertyData.getPropertyData().is360) { //全景模式 打开canvas弹窗
this.videoDialogType.isVideo = false
this.videoDialogType.url = this.beforeOnePropertyData.getPropertyData().img
- window.setTimeout(()=>{
+ window.setTimeout(() => {
Photo360Tool.open(document.getElementById('panorama') as HTMLCanvasElement, this.videoDialogType.url)
- },0)
+ }, 0)
}
}
//销毁全景图片 canvas/ 关闭弹窗
closePanorama() {
- !this.videoDialogType.isVideo? Photo360Tool.close() : null
+ !this.videoDialogType.isVideo ? Photo360Tool.close() : null
this.videoDialogType.url = null
}
From cb7d054c22d655a0f112acbccb033a1aa11fec4f Mon Sep 17 00:00:00 2001
From: liuxianghui <519646741@qq.com>
Date: Fri, 3 Dec 2021 09:55:19 +0800
Subject: [PATCH 3/6] =?UTF-8?q?=E5=85=B3=E9=97=AD=E6=89=93=E5=8D=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/app/pages/left-domain/left-domain.component.ts | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/app/pages/left-domain/left-domain.component.ts b/src/app/pages/left-domain/left-domain.component.ts
index d71f208..dff46d2 100644
--- a/src/app/pages/left-domain/left-domain.component.ts
+++ b/src/app/pages/left-domain/left-domain.component.ts
@@ -83,7 +83,6 @@ export class LeftDomainComponent implements OnInit {
item.getType() === "JY_YQHSGX" ? list.push(item) : null
}
})
- console.log("所有设备", list);
this.FacilityList = list
this.selectFacilityId = null
if (this.beforeFence === 3) { //消防设施
@@ -133,7 +132,7 @@ export class LeftDomainComponent implements OnInit {
let institutionKey = `${PlanComponent.instance.companyData.id}` || "ceshi"; //单位id
console.log(PlanComponent.instance.buildingUIItems, PlanComponent.instance.beforeOneBuildingID);
let buildingKey = PlanComponent.instance.buildingUIItems.find(item => { return item.getBuildingID() == PlanComponent.instance.beforeOneBuildingID })
- let url = DataManager.getResPath_facilityProperty(institutionKey, buildingKey? buildingKey.getBuildingID() : "building", item.getType(), item.getID(), null)
+ let url = DataManager.getResPath_facilityProperty(institutionKey, buildingKey ? buildingKey.getBuildingID() : "building", item.getType(), item.getID(), null)
ServeManager.instance.openFileSelect(file, url, (name: string, path: string) => { //上传
item.getPropertyData().img = ObjectsService.getFullPath(path + name)
if (this.beforeFence === 5) {
From 7701af23ad84a0a9b09e15092a4579eb2a89fac6 Mon Sep 17 00:00:00 2001
From: liuxianghui <519646741@qq.com>
Date: Fri, 3 Dec 2021 10:29:27 +0800
Subject: [PATCH 4/6] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=8F=91=E5=B8=83?=
=?UTF-8?q?=E6=97=A5=E5=BF=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/README.md b/README.md
index 7df3884..a0d01b7 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,35 @@
# 中国石化加油站项目
+## 🌼v1.0.1 主要变化 完成功能,部署测试
+
+### 🌻 简介
+
+> 时间:2021、12、3 周五
+> 修复 bug,三维优化
+
+### 🌻 详情
+
+> 前端部分
+
+- [🚩 重大变更] 无
+- [🌱 新增] 无
+- [🍀 完善] 无
+
+> 三维部分
+
+- [🚩 重大变更] 尝试优化运行时缓存机制,避免多次进入同一单位反复释放、加载三维场景(只要不关闭页面或刷新页面)。
+- [🌱 新增] 无
+- [🍀 完善] 修复属性框上传的图片无法查看的问题
+
+## 🌼v1.0.0 主要变化 完成功能,部署测试
+
+### 🌻 简介
+
+> 时间:2021、12、2 周四
+> 根据功能需求和开发计划,完成已知功能,部署测试
+
+### 🌻 详情
+
+- [🚩 重大变更] 无
+- [🌱 新增] 无
+- [🍀 完善] 无
From 063657e4d360b84a6b197f6575a8fbfc9c8ca058 Mon Sep 17 00:00:00 2001
From: liuxianghui <519646741@qq.com>
Date: Fri, 3 Dec 2021 15:01:30 +0800
Subject: [PATCH 5/6] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9C=A8=E5=BA=94?=
=?UTF-8?q?=E6=80=A5=E9=A2=84=E6=A1=88=E4=B8=8B=EF=BC=8C=E5=88=87=E5=87=BA?=
=?UTF-8?q?=E3=80=81=E5=88=87=E5=85=A5=E5=90=8C=E4=B8=80=E5=8D=95=E4=BD=8D?=
=?UTF-8?q?=E6=B2=A1=E6=9C=89=E9=87=8A=E6=94=BE=E6=A8=A1=E5=9E=8B=E7=9A=84?=
=?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/app/babylon/view/building-window/building-window.ts | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/app/babylon/view/building-window/building-window.ts b/src/app/babylon/view/building-window/building-window.ts
index 6471318..5669b94 100644
--- a/src/app/babylon/view/building-window/building-window.ts
+++ b/src/app/babylon/view/building-window/building-window.ts
@@ -422,6 +422,7 @@ export class BuildingWindow extends UIBase {
}
// console.log("选中建筑", modelInfo);
+ this.showJYZModules(JYZInfoMoudleType.YJCZ, false);
this.showJYZModules(JYZInfoMoudleType.JBXX, false);
this.showJYZModules(JYZInfoMoudleType.AQSS, false);
this.showJYZModules(JYZInfoMoudleType.YQHSGX, false);
From 2319e14fd87a81dfea33ceb843894a723eeb354c Mon Sep 17 00:00:00 2001
From: liuxianghui <519646741@qq.com>
Date: Mon, 6 Dec 2021 11:34:19 +0800
Subject: [PATCH 6/6] =?UTF-8?q?=E5=8F=91=E5=B8=831.0.1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index a0d01b7..c3eaa7c 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
### 🌻 简介
-> 时间:2021、12、3 周五
+> 时间:2021、12、6 周一
> 修复 bug,三维优化
### 🌻 详情