|
@@ -17,7 +17,11 @@
|
|
|
:id="'space' + area.id"
|
|
|
:class="[
|
|
|
area.canClick ? '' : 'click-disable',
|
|
|
- selectArea.id === area.id ? (area.disabled ? 'select-disable' : 'select') : '',
|
|
|
+ selectArea.spaceId === area.spaceId
|
|
|
+ ? area.disabled
|
|
|
+ ? 'select-disable'
|
|
|
+ : 'select'
|
|
|
+ : '',
|
|
|
isSetSpace ? 'use-select' : '',
|
|
|
area.disabled ? 'space-disable-box' : 'space-box-bg',
|
|
|
]"
|
|
@@ -28,7 +32,7 @@
|
|
|
>
|
|
|
<div
|
|
|
class="device"
|
|
|
- :class="selectArea.id === area.id ? 'select-device' : ''"
|
|
|
+ :class="selectArea.spaceId === area.spaceId ? 'select-device' : ''"
|
|
|
v-show="
|
|
|
area.width * displacement.scale > 24 &&
|
|
|
area.height * displacement.scale > 24
|
|
@@ -36,7 +40,7 @@
|
|
|
>
|
|
|
<img
|
|
|
:src="area.icon"
|
|
|
- v-if="selectArea.id !== area.id && area.icon"
|
|
|
+ v-if="selectArea.spaceId !== area.spaceId && area.icon"
|
|
|
/>
|
|
|
<img :src="area.selectIcon" v-else class="select-icon" alt="" />
|
|
|
<template v-if="area.localName">
|
|
@@ -44,7 +48,7 @@
|
|
|
v-if="
|
|
|
(area.height > 80 &&
|
|
|
area.localName.length * 12 < area.width) ||
|
|
|
- selectArea.id === area.id
|
|
|
+ selectArea.spaceId === area.spaceId
|
|
|
"
|
|
|
style="font-size: 12px"
|
|
|
>{{ area.localName }}</span
|
|
@@ -202,8 +206,10 @@ export default defineComponent({
|
|
|
let floorItem: any = {};
|
|
|
let selectArea: any = {};
|
|
|
let transformData: any = {};
|
|
|
+ let spaceInfo: any = null;
|
|
|
const proxyData = reactive({
|
|
|
parseImgUrl: parseImgUrl,
|
|
|
+ spaceInfo: spaceInfo,
|
|
|
isSetSpace: props.isSetSpace, // isSetSpace:true 代表为设置常驻空间页面展示
|
|
|
widthMapScale: 1,
|
|
|
tempScale: 0.8,
|
|
@@ -509,14 +515,10 @@ export default defineComponent({
|
|
|
proxyData.isSetSearchSpace = false;
|
|
|
if (area && area.canClick) {
|
|
|
proxyData.setSelectSpacePosition(area);
|
|
|
- if (proxyData.isSetSpace) {
|
|
|
- // 记录当前选中的id
|
|
|
- proxyData.comfirSetSpace(area);
|
|
|
- } else {
|
|
|
- proxyData.selectArea = area;
|
|
|
- proxyData.setLocalSpaceInfo();
|
|
|
- contx.emit("changeSpace", proxyData.selectArea);
|
|
|
- }
|
|
|
+ proxyData.selectArea = area;
|
|
|
+ proxyData.selectArea.buildingId = proxyData.buildingItem.buildingId;
|
|
|
+ proxyData.setLocalSpaceInfo();
|
|
|
+ contx.emit("changeSpace", proxyData.selectArea);
|
|
|
} else {
|
|
|
Toast("不可选区域");
|
|
|
}
|
|
@@ -1019,34 +1021,15 @@ export default defineComponent({
|
|
|
proxyData.clearPreStyle();
|
|
|
proxyData.formateMapData();
|
|
|
|
|
|
- /**
|
|
|
- * 如果是当前页面切换楼层,展示历史楼层
|
|
|
- */
|
|
|
- if (flag) {
|
|
|
- proxyData.getHistorySpace();
|
|
|
- } else {
|
|
|
- // 首次进入页面的时候展示空间来源于父div
|
|
|
+ // 首次进入页面的时候展示空间来源于父div
|
|
|
+ if (searchItem) {
|
|
|
let area = proxyData.getFirstSelectSpace(searchItem);
|
|
|
+ // debugger
|
|
|
if (area) {
|
|
|
proxyData.selectArea = area;
|
|
|
}
|
|
|
}
|
|
|
- // debugger
|
|
|
- // 当没有默认空间的时候设置常驻空间页面不可高量
|
|
|
- if (proxyData.isSetSpace && !props.spaceInfo.isPermanent) {
|
|
|
- proxyData.selectArea = {};
|
|
|
- } else {
|
|
|
- // 非常驻空间进入需要点击切换空间
|
|
|
- if (!proxyData.isSetSpace) {
|
|
|
- proxyData.checkSpace(proxyData.selectArea);
|
|
|
- }
|
|
|
- // if (!proxyData.selectArea.disabled) {
|
|
|
- // proxyData.setSelectSpacePosition(proxyData.selectArea);
|
|
|
- // } else {
|
|
|
- // proxyData.selectArea = {};
|
|
|
- // }
|
|
|
- proxyData.setSelectSpacePosition(proxyData.selectArea);
|
|
|
- }
|
|
|
+ proxyData.setSelectSpacePosition(proxyData.selectArea);
|
|
|
// 接口返回后设置地图缩放和滚动
|
|
|
nextTick(() => {
|
|
|
// 地图双指缩放
|
|
@@ -1122,13 +1105,6 @@ export default defineComponent({
|
|
|
if (spaceList[i].spaceId === item.spaceId) {
|
|
|
// proxyData.selectArea = spaceList[i]
|
|
|
area = spaceList[i];
|
|
|
- if (!proxyData.isSetSpace) {
|
|
|
- localStorageSpaceId(
|
|
|
- proxyData.buildingItem.buildingId,
|
|
|
- proxyData.floorItem.id,
|
|
|
- item.spaceId
|
|
|
- );
|
|
|
- }
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
@@ -1152,15 +1128,6 @@ export default defineComponent({
|
|
|
if (item) {
|
|
|
proxyData.setDefaultSpace(item);
|
|
|
}
|
|
|
- /**
|
|
|
- *缓存建筑对应的楼层
|
|
|
- */
|
|
|
- if (!proxyData.isSetSpace) {
|
|
|
- localStorageFloor(
|
|
|
- proxyData.buildingItem.buildingId,
|
|
|
- proxyData.floorItem.id
|
|
|
- );
|
|
|
- }
|
|
|
proxyData.getBuildingList();
|
|
|
proxyData.getFloorList(false);
|
|
|
proxyData.getMapInfo(false, item);
|
|
@@ -1200,28 +1167,18 @@ export default defineComponent({
|
|
|
}
|
|
|
},
|
|
|
});
|
|
|
- watch(
|
|
|
- props,
|
|
|
- (newProps: any) => {
|
|
|
- let item: any = props.spaceInfo;
|
|
|
- proxyData.buildingItem.buildingId = newProps.buildingId;
|
|
|
- proxyData.floorItem.id = newProps.floorId;
|
|
|
- // proxyData.selectArea.spaceId = newProps.spaceInfo.spaceId;
|
|
|
- // proxyData.init(item);
|
|
|
- },
|
|
|
- {
|
|
|
- deep: false,
|
|
|
- immediate: true,
|
|
|
- }
|
|
|
- );
|
|
|
+ watch(props, (newProps: any) => {}, {
|
|
|
+ deep: false,
|
|
|
+ immediate: true,
|
|
|
+ });
|
|
|
onMounted(() => {
|
|
|
- let item: any = props.spaceInfo;
|
|
|
- console.log(item);
|
|
|
+ proxyData.spaceInfo = props.spaceInfo;
|
|
|
proxyData.buildingItem.buildingId = props.buildingId;
|
|
|
proxyData.floorItem.id = props.floorId;
|
|
|
- item.buildingId = props.buildingId;
|
|
|
- item.floorId = props.floorId;
|
|
|
- proxyData.init(item);
|
|
|
+ proxyData.spaceInfo.buildingId = props.buildingId;
|
|
|
+ proxyData.spaceInfo.floorId = props.floorId;
|
|
|
+ proxyData.selectArea.spaceId = props.spaceInfo.spaceId;
|
|
|
+ proxyData.init(proxyData.spaceInfo);
|
|
|
});
|
|
|
return {
|
|
|
...toRefs(proxyData),
|
|
@@ -1252,6 +1209,8 @@ export default defineComponent({
|
|
|
.space-box-bg {
|
|
|
// background: #5e8bcf;
|
|
|
background: rgba(94, 139, 207, 0.4) !important;
|
|
|
+ border: 2px solid rgba(94, 139, 207, 0.8);
|
|
|
+ border-radius: 5px;
|
|
|
// color: #fff;
|
|
|
.select-device {
|
|
|
span {
|