yangjunjing 5 år sedan
förälder
incheckning
1c48142ace

+ 1 - 0
src/framework/layout/layout-store.js

@@ -79,6 +79,7 @@ export default {
             state.projects.map((item) => {
                 if (item.id == val) {
                     state.secret = item.pwd
+                    localStorage.setItem('secret', item.pwd)
                 }
             })
         }

+ 46 - 30
src/views/screen/splitscreen/spaceledger/index.vue

@@ -12,26 +12,29 @@
       </el-header>
       <el-container>
         <el-aside width="450px">
-          <div class="aside-top">
-            <div class="aside-top-left">
-              <p><b>空间功能区类型:</b>{{spaceDetails.RoomFuncType?spaceDetails.RoomFuncType:"-"}}</p>
-              <p><b>备注文字:</b>{{spaceDetails.Intro?spaceDetails.Intro:"-"}}</p>
+          <el-scrollbar>
+            <div class="aside-top">
+              <div class="aside-top-left">
+                <p><b>空间功能区类型:</b>{{spaceDetails.RoomFuncType?spaceDetails.RoomFuncType:"-"}}</p>
+                <p><b>备注文字:</b>{{spaceDetails.Intro?spaceDetails.Intro:"-"}}</p>
+              </div>
+              <div class="aside-top-right">
+                <p><b>空间二维码:</b><span v-if="!spaceDetails.RoomQRCode">-</span></p>
+                <img :src="'/image-service/common/file_get/'+ spaceDetails.RoomQRCode +'?systemId=dataPlatform'" alt="二维码图片"
+                  v-if="spaceDetails.RoomQRCode">
+              </div>
             </div>
-            <div class="aside-top-right">
-              <p><b>空间二维码:</b><span v-if="!spaceDetails.RoomQRCode">-</span></p>
-              <img :src="'/image-service/common/file_get/'+ spaceDetails.RoomQRCode +'?systemId=dataPlatform'" alt="二维码图片"
-                v-if="spaceDetails.RoomQRCode">
+            <div v-show="spaceDetails.Outline && spaceDetails.Outline[0] && spaceDetails.Outline[0].length" id="graphy" ref="graphy"
+              style="width:400px;height:400px;">
+              <p><b>位置图片:</b></p>
+              <canvas id="floorCanvas" :width="canvasWidth" :height="canvasHeight" ref="canvas" tabindex="0"></canvas>
             </div>
-          </div>
-          <div v-show="spaceDetails.Outline && spaceDetails.Outline.length" id="graphy" ref="graphy" style="width:400px;height:400px;">
-            <p><b>位置图片:</b></p>
-            <canvas id="floorCanvas" :width="canvasWidth" :height="canvasHeight" ref="canvas" tabindex="0"></canvas>
-          </div>
-          <div class="space-img" v-if="spaceDetails.Pic">
-            <div class="img-box" v-for="(item) in spaceDetails.Pic" :key='item'>
-              <img :src="'/image-service/common/file_get?systemId=revit&key=${item}'" alt="空间图片">
+            <div class="space-img" v-if="spaceDetails.Pic">
+              <div class="img-box" v-for="(item) in spaceDetails.Pic" :key='item'>
+                <img :src="'/image-service/common/file_get?systemId=revit&key=${item}'" alt="空间图片">
+              </div>
             </div>
-          </div>
+          </el-scrollbar>
           <!-- <div class="space-img" v-if="!spaceDetails.Pic">
             <div class="img-box">
               <img src="https://hbimg.huabanimg.com/bac4414614279b3f7bef2d92d6d918bba7b556f82c501-NkQLir_fw658" alt="空间图片">
@@ -52,10 +55,10 @@
             <template v-for="(item,index) in tabsList">
               <el-tab-pane :name="item.Code" :key="index" :label="item.Name">
                 <div v-show="activeTab === 'staticData'" style="width:100%;textAlign:left;">
-                  <iframe height="100%" width="100%" :src="iframeSrc" id="staticData"></iframe>
+                  <iframe height="100%" width="100%" :src="iframeSrc" id="screenIframe"></iframe>
                 </div>
                 <div v-show="activeTab === 'dynamicData'" style="width:100%;textAlign:left;">
-                  <div class="main" style="height: 750px;">
+                  <div class="main" style="height: 790px;">
                     <el-table ref="multipleTable" :data="tableData" stripe height="100%" :header-cell-style="headerStyle">
                       <el-table-column prop="InfoPointName" label="信息点名称">
                         <template slot-scope="scope">
@@ -137,7 +140,8 @@ export default {
         backgroundColor: '#e1e4e5',
         color: '#2b2b2b',
         lineHeight: '30px'
-      }
+      },
+      secret: ''
     }
   },
   components: {
@@ -152,14 +156,13 @@ export default {
   created() {
     if (this.$route.name === "spaceLedger" && this.$route.query.RoomID && this.$route.query.zone) {
       this.getData();
-      this.setFrame();
       this.params = this.$route.query;
     }
     this.getInFormationPoitnName();
   },
   updated() { },
   computed: {
-    ...mapGetters('layout', ['userId', 'secret', 'projectId'])
+    ...mapGetters('layout', ['userId', 'projectId'])
   },
   methods: {
     getData() {
@@ -172,15 +175,21 @@ export default {
       }
       queryZone(params, res => {
         this.spaceDetails = res.Content[0];
-        if (this.spaceDetails.Outline && this.spaceDetails.Outline.length) {
+        if (this.spaceDetails.Outline && this.spaceDetails.Outline[0] && this.spaceDetails.Outline[0].length) {
           this.getSpaceFloor();
         }
+        this.setFrame();
       })
     },
     setFrame() {
       // 设置静态数据tab的iframe地址
       this.proId = localStorage.getItem('projectId');
+      this.secret = localStorage.getItem('secret');
       this.iframeSrc = `${process.env.BASE_URL}:8889/#/details?perjectId=${this.proId}&secret=${this.secret}&FmId=${this.$route.query.RoomID}&type=0&code=${this.$route.query.zone}`
+      this.$nextTick(() => {
+        // document.getElementById('screenIframe').contentWindow.location.reload(true);
+        document.getElementById('screenIframe').src = this.iframeSrc;
+      })
     },
     getSpaceFloor() {
       // 获取业务空间楼层
@@ -188,9 +197,11 @@ export default {
         Filters: `FloorID='${this.spaceDetails.FloorId}'`
       }
       floorQuery(params, res => {
-        this.buildFloorSelectd = res.Content[0];
-        res.Content[0].StructureInfo && res.Content[0].StructureInfo.FloorMap ? this.FloorMap = res.Content[0].StructureInfo.FloorMap : this.FloorMap = "";
-        this.getGraphy();
+        if (res.Content[0] && res.Content[0].StructureInfo && res.Content[0].StructureInfo.FloorMap) {
+          this.FloorMap = res.Content[0].StructureInfo.FloorMap;
+          this.getGraphy();
+        }
+
       })
     },
     getGraphy() {// 绘制空间位置图片
@@ -225,6 +236,7 @@ export default {
       this.view = new FloorView('floorCanvas')
     },
     getInFormationPoitnName() {// 获取动态数据
+      let secret = localStorage.getItem('secret');
       let params = {
         data: {
           Filters: 'InputMode in ["L1","L2","L","M"]',
@@ -235,7 +247,7 @@ export default {
         type: this.$route.query.zone
       }
       let param = {
-        secret: this.secret,
+        secret: secret,
         ProjId: this.projectId,
         data: {
           criterias: []
@@ -267,7 +279,7 @@ export default {
     // 监听路由地址,并判断有RoomID和zone,重新请求空间数据
     "$route"(to, from) {
       if (this.$route.name === "spaceLedger" && this.$route.query.RoomID && this.$route.query.zone) {
-        window.location.reload();
+        this.getData();
       }
     }
   }
@@ -303,8 +315,8 @@ export default {
   margin: 10px 0 0 10px;
   padding: 20px;
   box-sizing: border-box;
-  height: 100%;
-  overflow-y: auto;
+  height: calc(100% - 20px);
+  overflow: hidden;
   .aside-top {
     overflow: hidden;
     display: flex;
@@ -337,10 +349,14 @@ export default {
     }
   }
 }
+.el-scrollbar{
+  width: 430px;
+}
 .el-main {
   color: #333;
   text-align: center;
   margin: -10px;
+  padding-bottom: 0;
 }
 .objectRelationship {
   display: flex;