|
@@ -14,7 +14,9 @@ import { VirtualWall } from "@persagy-web/big/lib/types/floor/VirtualWall";
|
|
import { Wall } from "@persagy-web/big/lib/types/floor/Wall";
|
|
import { Wall } from "@persagy-web/big/lib/types/floor/Wall";
|
|
import { Zone } from "@persagy-web/big/lib/types/floor/Zone";
|
|
import { Zone } from "@persagy-web/big/lib/types/floor/Zone";
|
|
import { FloorData } from "@persagy-web/big/lib/types/FloorData";
|
|
import { FloorData } from "@persagy-web/big/lib/types/FloorData";
|
|
|
|
+import { SColor } from "@persagy-web/draw/lib";
|
|
import { SGraphItem, SGraphScene } from "@persagy-web/graph/lib";
|
|
import { SGraphItem, SGraphScene } from "@persagy-web/graph/lib";
|
|
|
|
+import zoneColor from "./config/zoneColor";
|
|
|
|
|
|
/**
|
|
/**
|
|
* 楼层平面图
|
|
* 楼层平面图
|
|
@@ -55,7 +57,7 @@ export class FloorScene extends SGraphScene {
|
|
);
|
|
);
|
|
} // Set isSpaceSelectable
|
|
} // Set isSpaceSelectable
|
|
|
|
|
|
- /** 空间是否可选 */
|
|
|
|
|
|
+ /** 业务空间是否可选 */
|
|
_isZoneSelectable: boolean = true;
|
|
_isZoneSelectable: boolean = true;
|
|
get isZoneSelectable(): boolean {
|
|
get isZoneSelectable(): boolean {
|
|
return this._isZoneSelectable;
|
|
return this._isZoneSelectable;
|
|
@@ -66,8 +68,13 @@ export class FloorScene extends SGraphScene {
|
|
}
|
|
}
|
|
this._isZoneSelectable = v;
|
|
this._isZoneSelectable = v;
|
|
this.zoneList.map(
|
|
this.zoneList.map(
|
|
- (t: SZoneItem): SZoneItem => {
|
|
|
|
|
|
+ (t: SZoneItem, i: number): SZoneItem => {
|
|
t.selectable = this._isZoneSelectable;
|
|
t.selectable = this._isZoneSelectable;
|
|
|
|
+ if (v) {
|
|
|
|
+ t.fillColor = new SColor(zoneColor[i % zoneColor.length]);
|
|
|
|
+ } else {
|
|
|
|
+ t.fillColor = ItemColor.zoneUnselectColor;
|
|
|
|
+ }
|
|
return t;
|
|
return t;
|
|
}
|
|
}
|
|
);
|
|
);
|
|
@@ -209,8 +216,8 @@ export class FloorScene extends SGraphScene {
|
|
* @param zone 业务空间list
|
|
* @param zone 业务空间list
|
|
*/
|
|
*/
|
|
addZoneList(zone: Zone[]): void {
|
|
addZoneList(zone: Zone[]): void {
|
|
- zone.forEach((t): void => {
|
|
|
|
- this.addZone(t);
|
|
|
|
|
|
+ zone.forEach((t, i): void => {
|
|
|
|
+ this.addZone(t, i);
|
|
});
|
|
});
|
|
} // Function addZoneList()
|
|
} // Function addZoneList()
|
|
|
|
|
|
@@ -219,9 +226,10 @@ export class FloorScene extends SGraphScene {
|
|
*
|
|
*
|
|
* @param zone 业务空间
|
|
* @param zone 业务空间
|
|
*/
|
|
*/
|
|
- addZone(zone: Zone): void {
|
|
|
|
|
|
+ addZone(zone: Zone, i: number): void {
|
|
let item = new SZoneItem(null, zone);
|
|
let item = new SZoneItem(null, zone);
|
|
item.selectable = this.isZoneSelectable;
|
|
item.selectable = this.isZoneSelectable;
|
|
|
|
+ item.fillColor = new SColor(zoneColor[i % zoneColor.length])
|
|
this.zoneList.push(item);
|
|
this.zoneList.push(item);
|
|
this.addItem(item);
|
|
this.addItem(item);
|
|
} // Function addZone()
|
|
} // Function addZone()
|
|
@@ -229,8 +237,31 @@ export class FloorScene extends SGraphScene {
|
|
/**
|
|
/**
|
|
* 选择器触发事件
|
|
* 选择器触发事件
|
|
*/
|
|
*/
|
|
- listChange(item: SGraphItem, data: SGraphItem[]) {
|
|
|
|
|
|
+ listChange(item: SGraphItem, data: SGraphItem[]): void {
|
|
this.changeSelect(item, data)
|
|
this.changeSelect(item, data)
|
|
}
|
|
}
|
|
- changeSelect(item: SGraphItem, data: SGraphItem[]) { }
|
|
|
|
|
|
+ changeSelect(item: SGraphItem, data: SGraphItem[]): void { }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 初始化空间颜色
|
|
|
|
+ */
|
|
|
|
+ initSpaceColor(): void {
|
|
|
|
+ this.spaceList.forEach(
|
|
|
|
+ (t: SSpaceItem) => {
|
|
|
|
+ t.fillColor = ItemColor.spaceColor;
|
|
|
|
+ }
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 初始化业务空间颜色
|
|
|
|
+ */
|
|
|
|
+ initZoneColor(): void {
|
|
|
|
+ this.zoneList.forEach(
|
|
|
|
+ (t: SZoneItem, i: number) => {
|
|
|
|
+ t.fillColor = new SColor(zoneColor[i % zoneColor.length]);
|
|
|
|
+ }
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|