|
@@ -477,60 +477,33 @@ export default {
|
|
|
},
|
|
|
// 根据图创建新的业务空间-弹窗返回确认创建
|
|
|
createRoom(val) {
|
|
|
- // 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;
|
|
|
- })
|
|
|
- // 如果有划分,求交集
|
|
|
+ const zoneObj = { Outline: [], Height: 0 }, IspaceIdList = [];
|
|
|
+ let spaces = {};
|
|
|
if (this.scene.cutItem || this.scene.sceneMark) {
|
|
|
- zoneObj.Outline = [];
|
|
|
- let arr = this.scene.getIntersect();
|
|
|
- arr.map(t => {
|
|
|
+ // 如果有划分,求交集
|
|
|
+ // 格式为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: item.x,
|
|
|
- Y: -item.y,
|
|
|
+ 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;
|
|
|
}
|
|
|
- // 至此
|
|
|
if (!zoneObj.Outline.length) {
|
|
|
zoneObj.Outline = null;
|
|
|
}
|
|
@@ -558,7 +531,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
|
|
|
}
|
|
@@ -673,7 +646,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
|
|
|
}
|