陈鹏飞 4 years ago
parent
commit
e16686c188
  1. 2
      debug.log
  2. 26
      src/app/canvas-share-data.service.ts
  3. 44
      src/app/working-area/working-area.component.ts
  4. BIN
      src/assets/images/handle-fixed.png
  5. BIN
      src/assets/images/handle-main.png
  6. BIN
      src/assets/images/handle-secondary.png
  7. BIN
      src/assets/images/handle-terminal.png

2
debug.log

@ -1 +1,3 @@
[1214/094922.722:ERROR:directory_reader_win.cc(43)] FindFirstFile: 系统找不到指定的路径。 (0x3)
[1215/082617.914:ERROR:directory_reader_win.cc(43)] FindFirstFile: 系统找不到指定的路径。 (0x3)
[1215/093432.367:ERROR:directory_reader_win.cc(43)] FindFirstFile: 系统找不到指定的路径。 (0x3)

26
src/app/canvas-share-data.service.ts

@ -16,7 +16,7 @@ export class CanvasShareDataService {
// 总平面图/建筑 楼层
selectStorey: any = {area: '', details: ''}; // 选择当前 楼层 数据
originalcompanyBuildingData: any; // 单位/建筑 数据
// originalcompanyBuildingData: any; // 单位/建筑 数据
originaleveryStoreyData: any; // 总平面图/楼层/区域 楼层数据
// 总平面图/建筑 楼层
@ -87,8 +87,8 @@ export class CanvasShareDataService {
*/
public getCompanyAdjoinInfo(): CompanyAdjoinInfo[] {
const list: CompanyAdjoinInfo[] = [];
Object.keys(this.originalcompanyBuildingData.data).forEach((key) => {
const item = this.originalcompanyBuildingData.data[key];
Object.keys(this.originaleveryStoreyData.data).forEach((key) => {
const item = this.originaleveryStoreyData.data[key];
if (item.Name === '毗邻') {
const adjoin = new CompanyAdjoinInfo();
adjoin.AssetId = item.Id;
@ -114,8 +114,8 @@ export class CanvasShareDataService {
*/
public getBuildingAdjoinInfo(): BuildingAdjoinInfo[] {
const list: BuildingAdjoinInfo[] = [];
Object.keys(this.originalcompanyBuildingData.data).forEach((key) => {
const item = this.originalcompanyBuildingData.data[key];
Object.keys(this.originaleveryStoreyData.data).forEach((key) => {
const item = this.originaleveryStoreyData.data[key];
if (item.Name === '毗邻') {
const adjoin = new BuildingAdjoinInfo();
adjoin.AssetId = item.Id;
@ -141,8 +141,8 @@ export class CanvasShareDataService {
*/
public getCompanyImportantLocations(): CompanyImportantLocationInfo[] {
const list: CompanyImportantLocationInfo[] = [];
Object.keys(this.originalcompanyBuildingData.data).forEach((key) => {
const item = this.originalcompanyBuildingData.data[key];
Object.keys(this.originaleveryStoreyData.data).forEach((key) => {
const item = this.originaleveryStoreyData.data[key];
if (item.Name === '重点部位') {
const important = new CompanyImportantLocationInfo();
important.AssetId = item.Id;
@ -174,8 +174,8 @@ export class CanvasShareDataService {
*/
public getBuildingImportantLocations(): BuildingImportantLocationInfo[] {
const list: BuildingImportantLocationInfo[] = [];
Object.keys(this.originalcompanyBuildingData.data).forEach((key) => {
const item = this.originalcompanyBuildingData.data[key];
Object.keys(this.originaleveryStoreyData.data).forEach((key) => {
const item = this.originaleveryStoreyData.data[key];
if (item.Name === '重点部位') {
const important = new BuildingImportantLocationInfo();
important.AssetId = item.Id;
@ -207,8 +207,8 @@ export class CanvasShareDataService {
*/
public getAllCompanyFacilityAssetInfo(): CompanyFacilityAssetInfo[] {
const list: CompanyFacilityAssetInfo[] = [];
Object.keys(this.originalcompanyBuildingData.data).forEach((key) => {
const item = this.originalcompanyBuildingData.data[key];
Object.keys(this.originaleveryStoreyData.data).forEach((key) => {
const item = this.originaleveryStoreyData.data[key];
if (this.facilityAssetsName.has(item.Name)) {
const facility = new CompanyFacilityAssetInfo();
facility.CompanyId = sessionStorage.getItem('companyId');
@ -228,8 +228,8 @@ export class CanvasShareDataService {
*/
public getAllBuildingFacilityAssetInfo(): BuildingFacilityAssetInfo[] {
const list: BuildingFacilityAssetInfo[] = [];
Object.keys(this.originalcompanyBuildingData.data).forEach((key) => {
const item = this.originalcompanyBuildingData.data[key];
Object.keys(this.originaleveryStoreyData.data).forEach((key) => {
const item = this.originaleveryStoreyData.data[key];
if (this.facilityAssetsName.has(item.Name)) {
const facility = new BuildingFacilityAssetInfo();
facility.BuildingId = this.selectStorey.buildingId;

44
src/app/working-area/working-area.component.ts

@ -388,7 +388,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
}
});
this.on('backgroundScale', scale => {
this.backgroundImage.children.forEach(item => {
this.backgroundImage?.children.forEach(item => {
if (item instanceof AxImageShape) {
if (item.assetData.FixedSize) {
const data = 1 / scale;
@ -415,13 +415,8 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
});
this.on('createIcon', obj => {
if (obj.assetData.GameMode === GameMode.BasicInformation) {
// if (obj.assetData.IsFromBuilding) {
// this.canvasData.originalcompanyBuildingData.data[obj.assetData.Id] = obj.assetData;
// } else {
this.canvasData.originaleveryStoreyData.data[obj.assetData.Id] = obj.assetData;
// }
} else {
// console.log();
if (this.canvasData.selectPanelPoint.Data === undefined
|| this.canvasData.selectPanelPoint.Data === null) {
this.canvasData.selectPanelPoint.Data = new FloorNodeData();
@ -506,10 +501,11 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
this.setPaintMode(PaintMode.endPaint);
this.resetCanvas();
this.destroyBackgroundImage();
if (this.canvasData.selectStorey.imageUrl === null) {
if (this.canvasData.selectStorey.imageUrl === null
||this.canvasData.selectStorey.imageUrl === undefined) {
return;
}
console.log(this.canvasData.selectStorey.imageUrl);
await this.createBackgroundImage(this.canvasData.selectStorey.imageUrl);
this.createFloorShape();
if (this.canvasData.gameMode === GameMode.Assignment) {
@ -865,12 +861,15 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
}
if (this.rectToolGraphics.visible === true) {
this.backgroundImage.children.forEach(item => {
if (item instanceof AxImageShape
if ( item instanceof AxImageShape
|| item instanceof MultipointIcon
|| item instanceof PolygonIcon) {
if (this.rectToolGraphics.getLocalBounds().contains(item.x, item.y)) {
console.log(item);
this.selection.select(item);
|| item instanceof PolygonIcon
|| item instanceof AxArrowConnector) {
// 判断2个矩形是否相交
const rect1 = this.rectToolGraphics.getBounds();
const rect2 = item.getBounds();
if (this.isOverlap(rect1, rect2)) {
this.selection.select(item);
}
}
});
@ -920,6 +919,19 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
this.backgroundImage.addChild(this.paintingLine);
}
public isOverlap(rect1, rect2):boolean {
const l1 = { x: rect1.x, y: rect1.y }
const r1 = { x: rect1.x + rect1.width, y: rect1.y + rect1.height }
const l2 = { x: rect2.x, y: rect2.y }
const r2 = { x: rect2.x + rect2.width, y: rect2.y + rect2.height }
if (
l1.x > r2.x ||
l2.x > r1.x ||
l1.y > r2.y ||
l2.y > r1.y
) return false
return true
}
/**
*
@ -1163,6 +1175,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
case PaintMode.Pipeline:
if (this.canvasData.selectTemplateData.name !== '水带') {
this.emit('createIcon', this.paintingShape);
console.log("1");
this.paintingShape = null;
}
break;
@ -1207,6 +1220,11 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
case PaintMode.polygonIcon:
const polygonIcon = new PolygonIcon(newData, this);
break;
case PaintMode.Pipeline:
if (item.Name !== '水带') {
const wall = new AxArrowConnector(newData, this);
}
break;
}
this.selection.select(this.backgroundImage.getChildByName(newData.Id));
});

BIN
src/assets/images/handle-fixed.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
src/assets/images/handle-main.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 B

BIN
src/assets/images/handle-secondary.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
src/assets/images/handle-terminal.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Loading…
Cancel
Save