diff --git a/src/app/babylon/controller/data-manager.ts b/src/app/babylon/controller/data-manager.ts index 4befcff..7870503 100644 --- a/src/app/babylon/controller/data-manager.ts +++ b/src/app/babylon/controller/data-manager.ts @@ -360,7 +360,7 @@ export class DataManager { */ static initAllMarkPlaneData() { DataManager.allMarkPlanData = new AllMarkPlanData(); - DataManager.allMarkPlanData.institutionID = DataManager.institutionData.normalData.key; + DataManager.allMarkPlanData.institutionID = DataManager.institutionData_simple.key; DataManager.allMarkPlanData.datas = []; return DataManager.allMarkPlanData; } @@ -369,7 +369,7 @@ export class DataManager { * 初始化当前建筑的 态势标绘信息 */ static initMarkData(onSuccess?: (data: AllMarkPlanData) => void) { - ServeManager.instance.getMarkData(DataManager.institutionData.normalData.key, (institutionID: string, data: string) => { + ServeManager.instance.getMarkData(DataManager.institutionData_simple.id, (institutionID: number, data: string) => { if (data == null) //新建单位的标绘信息 { DataManager.initAllMarkPlaneData(); @@ -381,7 +381,7 @@ export class DataManager { if (onSuccess != null) { onSuccess(DataManager.allMarkPlanData); } - }, (institutionID: string, data: any) => { + }, (institutionID: number, data: any) => { if (data instanceof HttpErrorResponse && data.status == 404) { //404,新增单位标绘数据,不算错误 } diff --git a/src/app/babylon/controller/serve-manager.ts b/src/app/babylon/controller/serve-manager.ts index 6047f84..327df3d 100644 --- a/src/app/babylon/controller/serve-manager.ts +++ b/src/app/babylon/controller/serve-manager.ts @@ -5,6 +5,7 @@ import { BuildingBasicInfosService } from "src/app/service/babylon/building-basi import { ObjectsService } from "src/app/service/objects.service"; import { InsitutionDataSimple } from "../model/data/institution/institution-data-simple"; import { AllMarkPlanData } from "../model/data/mark/mark-plan-data"; +import { DataManager } from "./data-manager"; import { ModeManager, ModeType } from "./mode-manager"; //服务器通信 @@ -89,9 +90,9 @@ export class ServeManager { * @param onSuccess * @param onError */ - getMarkData(institutionID: string, - onSuccess?: (institutionID: string, data: string) => void, - onError?: (institutionID: string, error: any) => void) { + getMarkData(institutionID: number, + onSuccess?: (institutionID: number, data: string) => void, + onError?: (institutionID: number, error: any) => void) { this.buildingBISrv.getMarkData(institutionID) .subscribe(data => { @@ -102,7 +103,7 @@ export class ServeManager { }, (error) => { if (error instanceof HttpErrorResponse) { if (error.status === 404) { - console.log("没有标绘数据,新建:" + error.error); + console.log("没有标绘数据,新建:", error.error); if (ModeManager.currentMode == ModeType.Edit) { onSuccess(institutionID, null); //data 为null ,表示新建 } @@ -136,9 +137,9 @@ export class ServeManager { } else { let data = classToPlain(allMarkPlanData); - this.buildingBISrv.postMarkData(allMarkPlanData.institutionID, data) + this.buildingBISrv.postMarkData(allMarkPlanData.institutionID, DataManager.institutionData_simple.id, data) .subscribe(data => { - ModeManager.log("保存标绘信息成功:" + allMarkPlanData.institutionID); + console.log("保存标绘信息成功:" + allMarkPlanData.institutionID, DataManager.institutionData_simple.id); if (onSuccess) { onSuccess(allMarkPlanData.institutionID, data.result); } diff --git a/src/app/babylon/model/data/mark/mark-plan-data.ts b/src/app/babylon/model/data/mark/mark-plan-data.ts index 916cf31..19e1585 100644 --- a/src/app/babylon/model/data/mark/mark-plan-data.ts +++ b/src/app/babylon/model/data/mark/mark-plan-data.ts @@ -12,10 +12,11 @@ import { MarkData } from "./mark-data"; export class AllMarkPlanData { /** - * 单位ID + * 单位ID("字符串") */ institutionID: string; + /** * 所有方案 */ diff --git a/src/app/babylon/tool/particle-system-tool.ts b/src/app/babylon/tool/particle-system-tool.ts index fdf13fc..66b07a2 100644 --- a/src/app/babylon/tool/particle-system-tool.ts +++ b/src/app/babylon/tool/particle-system-tool.ts @@ -40,6 +40,7 @@ export class ParticleSystemTool { let instance = this; ParticleHelper.ParseFromFileAsync(null, path, this.scene, false).then((value: ParticleSystem) => { value.stop(); + value.emitter = Vector3.Zero(); value.name += "(prefab)"; instance.psPool.set(path, value); if (clone) { @@ -66,7 +67,7 @@ export class ParticleSystemTool { if (instance.psPool.has(path)) { let set = instance.psPool.get(path); let result = instance.cloneParticle(set, name); - console.log("克隆特效", name); + console.log(set.uniqueId + "克隆特效id", result.uniqueId); onSuccess(result); } else { @@ -106,7 +107,7 @@ export class ParticleSystemTool { cloneParticle(particle: ParticleSystem, name: string) { // let root = new AbstractMesh("root_" + name, this.scene); let root = Vector3.Zero(); - let result = particle.clone(particle.name, root); + let result = particle.clone(name, root); return result; } diff --git a/src/app/pages/plan/plan.component.ts b/src/app/pages/plan/plan.component.ts index a0a3c25..e8d94c6 100644 --- a/src/app/pages/plan/plan.component.ts +++ b/src/app/pages/plan/plan.component.ts @@ -79,8 +79,8 @@ export class PlanComponent implements OnInit { } ngAfterViewInit(): void { - this.getGasStationBaseInfo().then((res: any)=>{ //获取单位 基本信息 - console.log(res,"当前加油站信息") + this.getGasStationBaseInfo().then((res: any) => { //获取单位 基本信息 + console.log(res, "当前加油站信息") let simpleData: InsitutionDataSimple = new InsitutionDataSimple(); simpleData.id = res.id || 1; //来自选中的单位的信息 ,测试:1 simpleData.key = `${res.id}` || "ceshi"; //测试:"ceshi" @@ -91,6 +91,7 @@ export class PlanComponent implements OnInit { if (ModeManager.institutionDemoKey == ModeManager.c_demoKey_null) { //无指定测试单位,则为正式启动,根据当前单位key寻找 if (has3dData) { //如果已经有三维数据,直接进入 this.beforeOneSatus = StatusManager.getStatus(LoginSatus); + console.log("单位数据", simpleData); this.beforeOneSatus.onSelectInsSuccess(simpleData) } else { //如果没有三维数据 if (ModeManager.s_isMakeMode) //内部制作模式下,询问新建 @@ -130,7 +131,7 @@ export class PlanComponent implements OnInit { getGasStationBaseInfo() { return new Promise((resolve, reject) => { let params = { organizationUnitId: this.companyData.id } - this.http.get('/api/services/app/GasStation/Get', { params: params }).subscribe((data: any)=>{ + this.http.get('/api/services/app/GasStation/Get', { params: params }).subscribe((data: any) => { resolve(data.result) }) }) @@ -158,22 +159,22 @@ export class PlanComponent implements OnInit { this.initializePlan() } if (type === 7) { //初始化 应急预案 data - this.isShowChildComponent && this.leftDomain? this.leftDomain.initComponent(type) : null; //手动初始化子组件 + this.isShowChildComponent && this.leftDomain ? this.leftDomain.initComponent(type) : null; //手动初始化子组件 this.selectFence = type - this.editMode? this.isShowChildComponent = true : this.isShowChildComponent = false + this.editMode ? this.isShowChildComponent = true : this.isShowChildComponent = false buildingWindow.changeJYZInfoModel(fenceType, true) MarkWindow.instance ? this.allMarkPlanData = MarkWindow.instance.allMarkPlanData : null; babylonEventManager.addListener(Event_GetAllMarkPlanData, (data: Event_GetAllMarkPlanData) => { this.allMarkPlanData = MarkWindow.instance.allMarkPlanData - this.isShowChildComponent && this.leftDomain? this.leftDomain.allMarkPlanData = MarkWindow.instance.allMarkPlanData : null + this.isShowChildComponent && this.leftDomain ? this.leftDomain.allMarkPlanData = MarkWindow.instance.allMarkPlanData : null }) - this.isShowChildComponent && this.leftDomain? this.leftDomain.allMarkPlanData = MarkWindow.instance.allMarkPlanData : null + this.isShowChildComponent && this.leftDomain ? this.leftDomain.allMarkPlanData = MarkWindow.instance.allMarkPlanData : null } else { this.isShowChildComponent && this.leftDomain && type != 4 ? this.leftDomain.initComponent(type) : null; //手动初始化子组件 this.selectFence = type this.isShowChildComponent = true buildingWindow.changeJYZInfoModel(fenceType, true) - if (type === 0) { this.baseInfoMarks.forEach(item=>{ item.isShow = true }) } //初始化基本信息 设备显隐 + if (type === 0) { this.baseInfoMarks.forEach(item => { item.isShow = true }) } //初始化基本信息 设备显隐 } } else { //取消选中 this.selectFence = -1 @@ -389,7 +390,7 @@ export class PlanComponent implements OnInit { window.setTimeout(() => { this.propertyImg = new Viewer(this.element.nativeElement.querySelector('#propertyImg'), { url: 'data-original' }); }, 0) - } + } } //上传设备 图片 @@ -438,8 +439,8 @@ export class PlanComponent implements OnInit { publicToggleNode() { return new Promise((resolve, reject) => { this.beforePlanNode = this.beforeEmergencyPlan.nodes[this.nzCurrent] - this.isShowChildComponent && this.leftDomain? this.leftDomain.selectPlanId = this.beforeEmergencyPlan.id : null - this.isShowChildComponent && this.leftDomain? this.leftDomain.selectNodeId = this.beforePlanNode.id : null + this.isShowChildComponent && this.leftDomain ? this.leftDomain.selectPlanId = this.beforeEmergencyPlan.id : null + this.isShowChildComponent && this.leftDomain ? this.leftDomain.selectNodeId = this.beforePlanNode.id : null MarkWindow.instance.selectMarkNode(this.beforeEmergencyPlan.id, this.beforePlanNode.id, false, true) this.beforePlanNode = MarkWindow.instance.currentMarkNodeInfo.nodeData this.initViewer() @@ -649,7 +650,7 @@ export class PlanComponent implements OnInit { } this.isShowLoading = true //打开遮罩 let institutionKey = sessionStorage.getItem('unitId') || "ceshi"; //单位id - let resType = isVideo? ResType.Video : ResType.Texture + let resType = isVideo ? ResType.Video : ResType.Texture let key = `${(new Date()).getMonth() + 1}-${(new Date()).getDate()}-${(new Date()).getHours()}` let url = DataManager.getResPath_mark(institutionKey, resType, key) //url ServeManager.instance.openFileSelect(file, url, (name: string, path: string) => { //上传 @@ -821,7 +822,7 @@ export class modelBuilding { modelType: BuildingType = BuildingType.Normal; } //基本信息 设备筛选 -export class baseInfoMark{ +export class baseInfoMark { markerName: string; isShow: boolean = true; constructor(markerName: string) { diff --git a/src/app/service/babylon/building-basic-infos.service.ts b/src/app/service/babylon/building-basic-infos.service.ts index 0a410c2..248f9a6 100644 --- a/src/app/service/babylon/building-basic-infos.service.ts +++ b/src/app/service/babylon/building-basic-infos.service.ts @@ -1,5 +1,6 @@ import { HttpClient, HttpErrorResponse } from '@angular/common/http'; import { Injectable } from '@angular/core'; +import { NumberValueAccessor } from '@angular/forms'; import { Observable, throwError } from 'rxjs'; import { catchError, retry } from 'rxjs/operators'; @@ -43,8 +44,8 @@ export class BuildingBasicInfosService { * 获取事态标绘的信息 * @param name */ - getMarkData(name: string): Observable { - return this.getInfos(this.api_sandBox, { "name": name }); + getMarkData(id: number): Observable { + return this.getInfos(this.api_sandBox, { "gasStationId": id }); } /** @@ -52,8 +53,8 @@ export class BuildingBasicInfosService { * @param name * @param data */ - postMarkData(name: string, data: object): Observable { - return this.postInfos(this.api_sandBox, data, { name: name }); + postMarkData(name: string, id: number, data: object): Observable { + return this.postInfos(this.api_sandBox, data, { name: name, "gasStationId": id }); }