浏览代码

'修改竖井相关'

zhangyu 5 年之前
父节点
当前提交
643294c4f3

+ 19 - 93
src/components/ledger/cenote/elevationMap.vue

@@ -7,14 +7,17 @@
           <div class="saga-group" v-for="(winth, index) in groupWidth" :key="index" :style="`width: ${100*winth}px;`"></div>
         </div>
       </div>
-      <div class="saga-floor-item" v-for="floor in elevationData" :key="'FloorSequenceID'+floor.FloorSequenceID">
-        <p class="saga-floorName">{{floor.FloorLocalName}}<i class="el-icon-right"></i></p>
+      <div class="saga-floor-item" v-for="floor in elevationData" :key="floor.FloorID">
+        <p class="saga-floorName" :title="floor.FloorLocalName?floor.FloorLocalName:floor.FloorName">
+          {{floor.FloorLocalName?floor.FloorLocalName:floor.FloorName}}
+          <i class="el-icon-right"></i>
+        </p>
         <div class="saga-spaceList">
-          <div class="saga-group" v-for="(group, groupIndex) in floor.group" :key="floor.FloorSequenceID+'-'+groupIndex" :style="`width: ${100*groupWidth[groupIndex]}px;`">
+          <div class="saga-group" v-for="(group, groupIndex) in floor.group" :style="`width: ${100*groupWidth[groupIndex]}px;`">
             <div class="saga-spaceItem" 
             :class="[spaceItem.IsAI?spaceItem.checked?'saga-spaceItem-checked':'saga-spaceItem-ai':'']" 
             v-for="spaceItem in group.spaceList" 
-            :key="spaceItem.RoomID" 
+            :key="spaceItem.RoomID"
             :title="spaceItem.RoomLocalName"
             @click="handleClickCheck(spaceItem)"
             >
@@ -62,90 +65,6 @@
       // 查询竖井关联的空间垂直交通关系
       shaftVerticalSpace(this.params, (res) => {
         let data = res.Content;
-        // let data = [
-        //   {
-        //     FloorSequenceID: 5,
-        //     FloorLocalName: 'F5',
-        //     ZoneSpaceList: [
-        //       {
-        //         RoomID: 'f5-001',
-        //         IsAI: false,
-        //         RoomLocalName: '业务空间f5-001',
-        //         SpaceIdList: ['f4-002']
-        //       }
-        //     ]
-        //   },
-        //   {
-        //     FloorSequenceID: 4,
-        //     FloorLocalName: 'F4',
-        //     ZoneSpaceList: [{
-        //       RoomID: 'f4-001',
-        //       IsAI: true,
-        //       RoomLocalName: '业务空间f4-001',
-        //       SpaceIdList: ['f3-002']
-        //     }, {
-        //       RoomID: 'f4-002',
-        //       IsAI: true,
-        //       RoomLocalName: '业务空间f4-002',
-        //       SpaceIdList: ['f5-001']
-        //     }]
-        //   },
-        //   {
-        //     FloorSequenceID: 3,
-        //     FloorLocalName: 'F3',
-        //     ZoneSpaceList: [{
-        //       RoomID: 'f3-001',
-        //       IsAI: false,
-        //       RoomLocalName: '业务空间f3-001',
-        //       SpaceIdList: ['f2-002']
-        //     }, {
-        //       RoomID: 'f3-002',
-        //       IsAI: true,
-        //       RoomLocalName: '业务空间f3-002',
-        //       SpaceIdList: ['f2-002','f4-001']
-        //     }]
-        //   },
-        //   {
-        //     FloorSequenceID: 2,
-        //     FloorLocalName: 'F2',
-        //     ZoneSpaceList: [{
-        //       RoomID: 'f2-001',
-        //       IsAI: false,
-        //       RoomLocalName: '业务空间f2-001',
-        //       SpaceIdList: ['f1-001']
-        //     }, {
-        //       RoomID: 'f2-002',
-        //       IsAI: true,
-        //       RoomLocalName: '业务空间f2-002',
-        //       SpaceIdList: ['f3-001','f3-002']
-        //     }, {
-        //       RoomID: 'f2-003',
-        //       IsAI: false,
-        //       RoomLocalName: '业务空间f2-003',
-        //       SpaceIdList: []
-        //     }]
-        //   },
-        //   {
-        //     FloorSequenceID: 1,
-        //     FloorLocalName: 'F1',
-        //     ZoneSpaceList: [{
-        //       RoomID: 'f1-001',
-        //       IsAI: false,
-        //       RoomLocalName: '业务空间f1-001',
-        //       SpaceIdList: ['f2-001']
-        //     }, {
-        //       RoomID: 'f1-002',
-        //       IsAI: false,
-        //       RoomLocalName: '业务空间f1-002',
-        //       SpaceIdList: []
-        //     }, {
-        //       RoomID: 'f1-003',
-        //       IsAI: false,
-        //       RoomLocalName: '业务空间f1-003',
-        //       SpaceIdList: []
-        //     }]
-        //   }
-        // ];
         let max = 0, idMap = {}, groupMap = {}, copyData = JSON.parse(JSON.stringify(data));
         this.groupWidth = {};
         copyData.reverse().forEach(floor => {
@@ -204,11 +123,15 @@
       if (sapceItem.IsAI && this.isEdit && !this.onlyRead) { //是AI推荐并且编辑模式下
         sapceItem.checked = sapceItem.checked? false: true;
         if (sapceItem.checked) {
-          this.checkedList.push(sapceItem)
+          this.checkedList.push(sapceItem);
+          // 选中平面图的对应空间
+          this.$emit('elevationChecked',sapceItem.RoomID);
         } else {
           let index = this.checkedList.findIndex(item =>{ return item.RoomID == sapceItem.RoomID })
           if (index != -1) { // 找到对应的数据
-            this.checkedList.splice(index,1)
+            this.checkedList.splice(index,1);
+            // 取消选中平面图的对应空间
+            this.$emit('elevationUncheck',sapceItem.RoomID);
           }
         }
       }
@@ -267,7 +190,7 @@
       box-sizing: border-box;
       flex-direction: column;
       justify-content: flex-end;
-      padding: 60px 10px 20px 0;
+      padding: 60px 10px 20px 0px;
       .saga-rf {
         display: flex;
         flex-direction: row;
@@ -282,8 +205,11 @@
         line-height: 60px;
       }
       .saga-floorName {
-        min-width: 50px;
+        min-width: 80px;
         text-align: right;
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
       }
       .saga-spaceList {
         display: flex;
@@ -294,7 +220,7 @@
         .saga-group {
           display: flex;
           flex-direction: row;
-          margin-left: 10px;
+          margin-left: 25px;
           box-sizing: border-box;
           .saga-spaceItem {
             width: 100px;

+ 16 - 0
src/components/ledger/lib/cenoteGraphy.vue

@@ -180,6 +180,22 @@ export default {
         item.selected = false;
       }
     },
+    // 立面图选中空间对应平面图选中
+    canvasChecked(RoomID) {
+      this.scene.zoneList.map(zoneItem => {
+        if (zoneItem.data.RoomID == RoomID) {
+          zoneItem.selected = true;
+        }
+      })
+    },
+    // 立面图取消选中对应平面图取消选中
+    canvasUncheck(RoomID) {
+      this.scene.zoneList.map(zoneItem => {
+        if (zoneItem.data.RoomID == RoomID) {
+          zoneItem.selected = false;
+        }
+      })
+    },
     //取消编辑
     cancelEdit() {
       this.config.isEdit = false;

+ 16 - 2
src/views/ledger/cenotelist/relatedSpace.vue

@@ -31,7 +31,7 @@
         <el-badge :is-dot="showBuildDot">
           <label style="line-height:32px;padding: 0 10px;">所属建筑:</label>
           <el-select v-model="building" placeholder="请选择建筑" @change="changeBuilding" v-loading="buildingLoading">
-            <el-option v-for="item in buildingList" :key="item.value" :label="item.BuildLocalName" :value="item.BuildID"></el-option>
+            <el-option v-for="item in buildingList" :key="item.value" :label="item.BuildLocalName?item.BuildLocalName:item.BuildName" :value="item.BuildID"></el-option>
           </el-select>
         </el-badge>
         <el-switch
@@ -63,6 +63,8 @@
               :onlyRead="cenoteObj.onlyRead" 
               :isEdit="isEdit" 
               :isAI="isAI"
+              @elevationChecked="handleCheckedSpace"
+              @elevationUncheck="handleUncheckSpace"
               :params="{BuildingId: building, ObjectType: space, ShaftId: $route.query.ShaftId}">
             </elevation-map>
           </div>
@@ -106,6 +108,7 @@ export default {
   },
   computed: {
     cenoteObj() {
+      this.$route.query.onlyRead = this.$route.query.onlyRead == 'false'?false:true;
       return this.$route.query;
     },
     showSpaceDot() {
@@ -206,7 +209,10 @@ export default {
       else {
         let param = {
           Cascade: [
-            { Name: "floor" }
+            {
+              Name: "floor",
+              Orders: "FloorSequenceID desc, name asc",
+            }
           ]
         };
         buildingQuery(param, res => {
@@ -273,6 +279,14 @@ export default {
       let buildfloor = [this.building, fid]
       this.$refs.cenotegraphy.getFloorMap(buildfloor, this.space)
     },
+    //平面图选中空间,立面图对应选中
+    handleCheckedSpace(RoomID) {
+      this.$refs.cenotegraphy.canvasChecked(RoomID);
+    },
+    //平面图取消选中空间,立面图对应取消选中
+    handleUncheckSpace(RoomID) {
+      this.$refs.cenotegraphy.canvasUncheck(RoomID);
+    },
     // 编辑
     changeEditType() {
       this.isEdit = true;