|
@@ -131,7 +131,7 @@ import {
|
|
|
queryZone,
|
|
|
zoneCount,
|
|
|
zoneCreate,
|
|
|
- zoneQueryOutline,
|
|
|
+ zoneQuery,
|
|
|
zoneUpdate,
|
|
|
zoneUpdateOutline,
|
|
|
handleZoneUpdateBd
|
|
@@ -187,12 +187,12 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
- ...mapGetters("layout", ["projectId","projects"]),
|
|
|
+ ...mapGetters("layout", ["projectId", "projects"]),
|
|
|
projectName() {
|
|
|
let projectObj = this.projects.find(item => {
|
|
|
return item.id == this.projectId
|
|
|
})
|
|
|
- return projectObj?projectObj.name?projectObj.name:projectObj.id:this.projectId
|
|
|
+ return projectObj ? projectObj.name ? projectObj.name : projectObj.id : this.projectId
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
@@ -242,8 +242,9 @@ export default {
|
|
|
let pa = {
|
|
|
zone: 'Ispace',
|
|
|
data: {
|
|
|
- Filters: `FloorId='${this.buildFloor[1]}'`,
|
|
|
- PageSize: 1000
|
|
|
+ // Filters: `FloorId='${this.buildFloor[1]}'`,
|
|
|
+ PageSize: 1000,
|
|
|
+ FloorId: this.buildFloor[1]
|
|
|
}
|
|
|
}
|
|
|
queryZone(pa, res => {
|
|
@@ -337,8 +338,9 @@ export default {
|
|
|
getISPSPUnrelaBSP() {
|
|
|
let pa = {
|
|
|
data: {
|
|
|
- Filters: `FloorId='${this.buildFloor[1]}'`,
|
|
|
- PageSize: 1000
|
|
|
+ // Filters: `FloorId='${this.buildFloor[1]}'`,
|
|
|
+ PageSize: 1000,
|
|
|
+ FloorId: this.buildFloor[1]
|
|
|
},
|
|
|
objectType: this.tab.code == 'OtherZone' ? this.OtherValue : this.tab.code
|
|
|
}
|
|
@@ -392,7 +394,7 @@ export default {
|
|
|
pa.BuildingId = this.buildFloor[0];
|
|
|
pa.FloorId = this.buildFloor[1];
|
|
|
}
|
|
|
- zoneQueryOutline(pa, res => {
|
|
|
+ zoneQuery(pa, res => {
|
|
|
// 所有业务空间
|
|
|
this.businessSpaceList = res.Content;
|
|
|
// 已关联元空间的业务空间
|
|
@@ -1160,7 +1162,7 @@ export default {
|
|
|
let scale = this.view.scale;
|
|
|
this.view.scaleByPoint(val / scale, this.canvasWidth / 2, this.canvasHeight / 2);
|
|
|
},
|
|
|
- // 给定多个轮廓线的数据,计算得到面积最大值,并把它放置数组第一项
|
|
|
+ // 给定多个轮廓线的数据,计算得到面积最大值,并把它放置数组第一项,并将第一项顺时针处理,第一项以后的每一项做逆时针处理
|
|
|
// list {XYZ}[][]
|
|
|
makeMaxAreaFirst(list) {
|
|
|
let arr = [], area = 0;
|
|
@@ -1172,7 +1174,39 @@ export default {
|
|
|
arr.push(list[i])
|
|
|
}
|
|
|
}
|
|
|
+ arr.map((t, i) => {
|
|
|
+ if (!i) {
|
|
|
+ if (this.clockDir(t) > 0) {
|
|
|
+ return t
|
|
|
+ } else {
|
|
|
+ return t.reverse()
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (this.clockDir(t) > 0) {
|
|
|
+ return t.reverse()
|
|
|
+ } else {
|
|
|
+ return t
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
return arr;
|
|
|
+ },
|
|
|
+ // 数组为顺时针or逆时针 顺时针非负 逆时针为 负
|
|
|
+ clockDir(pointList) {
|
|
|
+ if (pointList.length < 3) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ let index = 0;
|
|
|
+ let len = pointList.length;
|
|
|
+ for (let i = 1; i < len; i++) {
|
|
|
+ if (pointList[i].X > pointList[index].X) {
|
|
|
+ index = i;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let p1 = pointList[index == 0 ? len - 1 : index - 1];
|
|
|
+ let p2 = pointList[index];
|
|
|
+ let p3 = pointList[(index + 1) % len];
|
|
|
+ return (p2.X - p1.X) * (p3.Y - p2.Y) - (p2.Y - p1.Y) * (p3.X - p2.X);
|
|
|
}
|
|
|
},
|
|
|
filters: {
|