|
@@ -477,33 +477,60 @@ export default {
|
|
|
},
|
|
|
// 根据图创建新的业务空间-弹窗返回确认创建
|
|
|
createRoom(val) {
|
|
|
- const zoneObj = { Outline: [], Height: 0 }, IspaceIdList = [];
|
|
|
- let spaces = {};
|
|
|
+ // const zoneObj = { Outline: [], Height: 0 }, IspaceIdList = [];
|
|
|
+ // let spaces = {};
|
|
|
+ // if (this.scene.cutItem || this.scene.sceneMark) {
|
|
|
+ // // 如果有划分,求交集
|
|
|
+ // // 格式为Poly(先与业务空间求差集)
|
|
|
+ // const obj = this.scene.getZoneDifference(true);
|
|
|
+ // // 差集与楼层平面图或用户划分区域求交集
|
|
|
+ // spaces = this.scene.getPloyIntersect(obj)
|
|
|
+ // } else {
|
|
|
+ // // 格式为SPoint[]
|
|
|
+ // spaces = this.scene.getZoneDifference();
|
|
|
+ // }
|
|
|
+ // for (let key in spaces) {
|
|
|
+ // spaces[key].map(t => {
|
|
|
+ // let temp = t.map(item => {
|
|
|
+ // return {
|
|
|
+ // X: 1*item.x.toFixed(2),
|
|
|
+ // Y: -item.y.toFixed(2),
|
|
|
+ // Z: 0
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ // zoneObj.Outline.push([temp]);
|
|
|
+ // })
|
|
|
+ // let curISP = this.sourceIdToISP[key];
|
|
|
+ // curISP && IspaceIdList.push(curISP.RoomID);
|
|
|
+ // zoneObj.Height = zoneObj.Height == 0 ? curISP.Height : zoneObj.Height > curISP.Height ? curISP.Height : zoneObj.Height;
|
|
|
+ // }
|
|
|
+
|
|
|
+ // 数据计算导致浏览器奔溃,临时注释
|
|
|
+ let zoneObj = { Outline: [], Height: 0 }, IspaceIdList = [];
|
|
|
+ let selectSpaces = this.scene.getSelectedSpaces();
|
|
|
+ selectSpaces.map(t => {
|
|
|
+ zoneObj.Outline.push(t.data.OutLine);
|
|
|
+ let key = t.data.SourceId;
|
|
|
+ let curISP = this.sourceIdToISP[key];
|
|
|
+ curISP && IspaceIdList.push(curISP.RoomID);
|
|
|
+ zoneObj.Height = zoneObj.Height == 0 ? curISP.Height : zoneObj.Height > curISP.Height ? curISP.Height : zoneObj.Height;
|
|
|
+ })
|
|
|
+ // 如果有划分,求交集
|
|
|
if (this.scene.cutItem || this.scene.sceneMark) {
|
|
|
- // 如果有划分,求交集
|
|
|
- // 格式为Poly(先与业务空间求差集)
|
|
|
- const obj = this.scene.getZoneDifference(true);
|
|
|
- // 差集与楼层平面图或用户划分区域求交集
|
|
|
- spaces = this.scene.getPloyIntersect(obj)
|
|
|
- } else {
|
|
|
- // 格式为SPoint[]
|
|
|
- spaces = this.scene.getZoneDifference();
|
|
|
- }
|
|
|
- for (let key in spaces) {
|
|
|
- spaces[key].map(t => {
|
|
|
+ zoneObj.Outline = [];
|
|
|
+ let arr = this.scene.getIntersect();
|
|
|
+ arr.map(t => {
|
|
|
let temp = t.map(item => {
|
|
|
return {
|
|
|
- X: 1*item.x.toFixed(2),
|
|
|
- Y: -item.y.toFixed(2),
|
|
|
+ X: item.x,
|
|
|
+ Y: -item.y,
|
|
|
Z: 0
|
|
|
}
|
|
|
})
|
|
|
zoneObj.Outline.push([temp]);
|
|
|
})
|
|
|
- let curISP = this.sourceIdToISP[key];
|
|
|
- curISP && IspaceIdList.push(curISP.RoomID);
|
|
|
- zoneObj.Height = zoneObj.Height == 0 ? curISP.Height : zoneObj.Height > curISP.Height ? curISP.Height : zoneObj.Height;
|
|
|
}
|
|
|
+ // 至此
|
|
|
if (!zoneObj.Outline.length) {
|
|
|
zoneObj.Outline = null;
|
|
|
}
|
|
@@ -531,7 +558,7 @@ export default {
|
|
|
spaces[key].map(t => {
|
|
|
let temp = t.map(item => {
|
|
|
return {
|
|
|
- X: 1*item.x.toFixed(2),
|
|
|
+ X: 1 * item.x.toFixed(2),
|
|
|
Y: -item.y.toFixed(2),
|
|
|
Z: 0
|
|
|
}
|
|
@@ -646,7 +673,7 @@ export default {
|
|
|
spaces[key].map(t => {
|
|
|
let temp = t.map(item => {
|
|
|
return {
|
|
|
- X: 1*item.x.toFixed(2),
|
|
|
+ X: 1 * item.x.toFixed(2),
|
|
|
Y: -item.y.toFixed(2),
|
|
|
Z: 0
|
|
|
}
|