Browse Source

1,业务空间辅助屏静态参数页面替换为详情页静态参数页面。
2,优化详情页显示

shaun-sheep 4 years ago
parent
commit
115320e0c9

+ 6 - 6
config/dev.env.js

@@ -4,12 +4,12 @@ const prodEnv = require('./prod.env')
 
 module.exports = merge(prodEnv, {
     NODE_ENV: '"development"',
-    BASE_URL: '"http://172.16.44.215"', //测试iframe地址
-    SSO_SERVER: '"http://172.16.44.235:8081"', //测试环境
+    // BASE_URL: '"http://172.16.44.215"', //测试iframe地址
+    // SSO_SERVER: '"http://172.16.44.235:8081"', //测试环境
     // BASE_URL: '"http://192.168.20.236"', //(新)测试iframe地址
     // SSO_SERVER: '"http://192.168.20.236:8086"', //(新)测试环境
-    MQTT_SERVICE: '"ws://172.16.42.210:61614/stomp/"' //MQ测试环境地址
-    // SSO_SERVER: '"http://sso.sagacloud.cn"',  //正式环境
-    // BASE_URL: '"http://mbi.sagacloud.cn"', //线上iframe地址
-    // MQTT_SERVICE: '"ws://adm.sagacloud.cn/stomp/"' //MQ正式环境地址
+    // MQTT_SERVICE: '"ws://172.16.42.210:61614/stomp/"' //MQ测试环境地址
+    SSO_SERVER: '"http://sso.sagacloud.cn"',  //正式环境
+    BASE_URL: '"http://mbi.sagacloud.cn"', //线上iframe地址
+    MQTT_SERVICE: '"ws://adm.sagacloud.cn/stomp/"' //MQ正式环境地址
 })

+ 189 - 189
config/index.js

@@ -10,197 +10,197 @@ module.exports = {
     assetsSubDirectory: 'static',
     assetsPublicPath: '/',
 
-    // proxyTable: {//正式环境
-    //   '/admin': {
-    //     target: 'http://mbi.sagacloud.cn:8080',
-    //     changeOrigin: true,
-    //     pathRewrite: {
-    //       "^/admin": "/"
-    //     }
-    //   },
-    //   '/api': {
-    //     target: 'http://mbi.sagacloud.cn:8080',
-    //     changeOrigin: true,
-    //     pathRewrite: {
-    //       "^/api": "/"
-    //     }
-    //   },
-    //   '/data-platform-3': {
-    //     // 目标 API 地址
-    //     target: 'http://api.sagacloud.cn/',
-    //     // 如果要代理 websockets
-    //     ws: true,
-    //     // 将主机标头的原点更改为目标URL
-    //     changeOrigin: false
-    //   },
-    //   '/business-space': {
-    //     // 目标 API 地址
-    //     target: 'http://api.sagacloud.cn',
-    //     changeOrigin: true,
-    //     pathRewrite: {
-    //       "^/business-space": "/dp-auxiliary/business-space/"
-    //     }
-    //   },
-    //   '/pointconfig': {
-    //     // 目标 API 地址
-    //     target: 'http://mbi.sagacloud.cn:8080/',
-    //     // 如果要代理 websockets
-    //     ws: true,
-    //     // 将主机标头的原点更改为目标URL
-    //     changeOrigin: false
-    //   },
-    //   '/venders-dp': {
-    //     // 目标 API 地址
-    //     target: 'http://api.sagacloud.cn',
-    //     changeOrigin: true,
-    //     pathRewrite: {
-    //       "^/venders-dp": "/dp-auxiliary/venders-dp/"
-    //     }
-    //   },
-    //   '/venders': {
-    //     // 目标 API 地址
-    //     target: 'http://api.sagacloud.cn',
-    //     changeOrigin: true,
-    //     pathRewrite: {
-    //       "^/venders": "/dp-auxiliary/venders/"
-    //     }
-    //   },
-    //   '/ScanBuilding': {
-    //     // 目标 API 地址
-    //     target: 'http://mbi.sagacloud.cn:8080/',
-    //     // 如果要代理 websockets
-    //     ws: true,
-    //     // 将主机标头的原点更改为目标URL
-    //     changeOrigin: false
-    //   },
-    //   '/image-service': {
-    //     // 目标 API 地址
-    //     target: 'http://api.sagacloud.cn',
-    //     changeOrigin: true,
-    //     pathRewrite: {
-    //       "^/image-service": "/dp-auxiliary/image-service/"
-    //     }
-    //   },
-    //   '/godhand': {
-    //     // 目标 API 地址
-    //     target: 'http://api.sagacloud.cn',
-    //     changeOrigin: true,
-    //     pathRewrite: {
-    //       "^/godhand": "/dp-auxiliary/godhand/"
-    //     }
-    //   },
-    //   '/modelapi': {
-    //     target: 'http://mbi.sagacloud.cn:8080',
-    //     changeOrigin: true,
-    //     pathRewrite: {
-    //       "^/modelapi": "/revit-algorithm/"
-    //     }
-    //   },
-    //   '/schedulerapi': {
-    //     target: 'http://mbi.sagacloud.cn:8080',
-    //     changeOrigin: true,
-    //     pathRewrite: {
-    //         "^/schedulerapi": "/scheduler/"
-    //     }
-    //   },
-    // },
-
-    proxyTable: {
-        '/admin': {
-            target: 'http://172.16.44.235:8080',
-            changeOrigin: true,
-            pathRewrite: {
-                "^/admin": "/"
-            }
-        },
-        '/api': {
-            target: 'http://172.16.44.235:8080',
-            changeOrigin: true,
-            pathRewrite: {
-                "^/api": "/"
-            }
-        },
-        '/data-platform-3': {
-            // 目标 API 地址
-            target: 'http://172.16.42.210:8080/',
-            // 如果要代理 websockets
-            ws: true,
-            // 将主机标头的原点更改为目标URL
-            changeOrigin: false
-        },
-        '/business-space': {
-            // 目标 API 地址
-            target: 'http://172.16.42.210:8080/',
-            // 如果要代理 websockets
-            ws: true,
-            // 将主机标头的原点更改为目标URL
-            changeOrigin: false
-        },
-        '/pointconfig': {
-            // 目标 API 地址
-            target: 'http://172.16.44.235:8080/',
-            // 如果要代理 websockets
-            ws: true,
-            // 将主机标头的原点更改为目标URL
-            changeOrigin: false
-        },
-        '/venders-dp': {
-            // 目标 API 地址
-            target: 'http://172.16.42.210:8080/',
-            // 如果要代理 websockets
-            ws: true,
-            // 将主机标头的原点更改为目标URL
-            changeOrigin: false
-        },
-        '/venders': {
-            // 目标 API 地址
-            target: 'http://172.16.42.210:8080/',
-            // 如果要代理 websockets
-            ws: true,
-            // 将主机标头的原点更改为目标URL
-            changeOrigin: false
-        },
-        '/ScanBuilding': {
-            // 目标 API 地址
-            target: 'http://172.16.44.235:8080/',
-            // 如果要代理 websockets
-            ws: true,
-            // 将主机标头的原点更改为目标URL
-            changeOrigin: false
-        },
-        '/image-service': {
-            // 目标 API 地址
-            target: 'http://172.16.42.210:8080/',
-            // 如果要代理 websockets
-            ws: true,
-            // 将主机标头的原点更改为目标URL
-            changeOrigin: false
-        },
-        '/godhand': {
-            // 目标 API 地址
-            target: 'http://172.16.42.210:8080/',
-            // 如果要代理 websockets
-            ws: true,
-            // 将主机标头的原点更改为目标URL
-            changeOrigin: false
-        },
-        '/modelapi': {
-            target: 'http://172.16.42.210:8082',
-            // target: 'http://192.168.20.218:8082',//景灏
-            changeOrigin: true,
-            pathRewrite: {
-                "^/modelapi": "/"
-            }
-        },
-        '/schedulerapi': {
-          target: 'http://172.16.42.210:8081',
-          changeOrigin: true,
-          pathRewrite: {
-              "^/schedulerapi": "/"
-          }
-        },
+    proxyTable: {//正式环境
+      '/admin': {
+        target: 'http://mbi.sagacloud.cn:8080',
+        changeOrigin: true,
+        pathRewrite: {
+          "^/admin": "/"
+        }
+      },
+      '/api': {
+        target: 'http://mbi.sagacloud.cn:8080',
+        changeOrigin: true,
+        pathRewrite: {
+          "^/api": "/"
+        }
+      },
+      '/data-platform-3': {
+        // 目标 API 地址
+        target: 'http://api.sagacloud.cn/',
+        // 如果要代理 websockets
+        ws: true,
+        // 将主机标头的原点更改为目标URL
+        changeOrigin: false
+      },
+      '/business-space': {
+        // 目标 API 地址
+        target: 'http://api.sagacloud.cn',
+        changeOrigin: true,
+        pathRewrite: {
+          "^/business-space": "/dp-auxiliary/business-space/"
+        }
+      },
+      '/pointconfig': {
+        // 目标 API 地址
+        target: 'http://mbi.sagacloud.cn:8080/',
+        // 如果要代理 websockets
+        ws: true,
+        // 将主机标头的原点更改为目标URL
+        changeOrigin: false
+      },
+      '/venders-dp': {
+        // 目标 API 地址
+        target: 'http://api.sagacloud.cn',
+        changeOrigin: true,
+        pathRewrite: {
+          "^/venders-dp": "/dp-auxiliary/venders-dp/"
+        }
+      },
+      '/venders': {
+        // 目标 API 地址
+        target: 'http://api.sagacloud.cn',
+        changeOrigin: true,
+        pathRewrite: {
+          "^/venders": "/dp-auxiliary/venders/"
+        }
+      },
+      '/ScanBuilding': {
+        // 目标 API 地址
+        target: 'http://mbi.sagacloud.cn:8080/',
+        // 如果要代理 websockets
+        ws: true,
+        // 将主机标头的原点更改为目标URL
+        changeOrigin: false
+      },
+      '/image-service': {
+        // 目标 API 地址
+        target: 'http://api.sagacloud.cn',
+        changeOrigin: true,
+        pathRewrite: {
+          "^/image-service": "/dp-auxiliary/image-service/"
+        }
+      },
+      '/godhand': {
+        // 目标 API 地址
+        target: 'http://api.sagacloud.cn',
+        changeOrigin: true,
+        pathRewrite: {
+          "^/godhand": "/dp-auxiliary/godhand/"
+        }
+      },
+      '/modelapi': {
+        target: 'http://mbi.sagacloud.cn:8080',
+        changeOrigin: true,
+        pathRewrite: {
+          "^/modelapi": "/revit-algorithm/"
+        }
+      },
+      '/schedulerapi': {
+        target: 'http://mbi.sagacloud.cn:8080',
+        changeOrigin: true,
+        pathRewrite: {
+            "^/schedulerapi": "/scheduler/"
+        }
+      },
     },
 
+    // proxyTable: {
+    //     '/admin': {
+    //         target: 'http://172.16.44.235:8080',
+    //         changeOrigin: true,
+    //         pathRewrite: {
+    //             "^/admin": "/"
+    //         }
+    //     },
+    //     '/api': {
+    //         target: 'http://172.16.44.235:8080',
+    //         changeOrigin: true,
+    //         pathRewrite: {
+    //             "^/api": "/"
+    //         }
+    //     },
+    //     '/data-platform-3': {
+    //         // 目标 API 地址
+    //         target: 'http://172.16.42.210:8080/',
+    //         // 如果要代理 websockets
+    //         ws: true,
+    //         // 将主机标头的原点更改为目标URL
+    //         changeOrigin: false
+    //     },
+    //     '/business-space': {
+    //         // 目标 API 地址
+    //         target: 'http://172.16.42.210:8080/',
+    //         // 如果要代理 websockets
+    //         ws: true,
+    //         // 将主机标头的原点更改为目标URL
+    //         changeOrigin: false
+    //     },
+    //     '/pointconfig': {
+    //         // 目标 API 地址
+    //         target: 'http://172.16.44.235:8080/',
+    //         // 如果要代理 websockets
+    //         ws: true,
+    //         // 将主机标头的原点更改为目标URL
+    //         changeOrigin: false
+    //     },
+    //     '/venders-dp': {
+    //         // 目标 API 地址
+    //         target: 'http://172.16.42.210:8080/',
+    //         // 如果要代理 websockets
+    //         ws: true,
+    //         // 将主机标头的原点更改为目标URL
+    //         changeOrigin: false
+    //     },
+    //     '/venders': {
+    //         // 目标 API 地址
+    //         target: 'http://172.16.42.210:8080/',
+    //         // 如果要代理 websockets
+    //         ws: true,
+    //         // 将主机标头的原点更改为目标URL
+    //         changeOrigin: false
+    //     },
+    //     '/ScanBuilding': {
+    //         // 目标 API 地址
+    //         target: 'http://172.16.44.235:8080/',
+    //         // 如果要代理 websockets
+    //         ws: true,
+    //         // 将主机标头的原点更改为目标URL
+    //         changeOrigin: false
+    //     },
+    //     '/image-service': {
+    //         // 目标 API 地址
+    //         target: 'http://172.16.42.210:8080/',
+    //         // 如果要代理 websockets
+    //         ws: true,
+    //         // 将主机标头的原点更改为目标URL
+    //         changeOrigin: false
+    //     },
+    //     '/godhand': {
+    //         // 目标 API 地址
+    //         target: 'http://172.16.42.210:8080/',
+    //         // 如果要代理 websockets
+    //         ws: true,
+    //         // 将主机标头的原点更改为目标URL
+    //         changeOrigin: false
+    //     },
+    //     '/modelapi': {
+    //         target: 'http://172.16.42.210:8082',
+    //         // target: 'http://192.168.20.218:8082',//景灏
+    //         changeOrigin: true,
+    //         pathRewrite: {
+    //             "^/modelapi": "/"
+    //         }
+    //     },
+    //     '/schedulerapi': {
+    //       target: 'http://172.16.42.210:8081',
+    //       changeOrigin: true,
+    //       pathRewrite: {
+    //           "^/schedulerapi": "/"
+    //       }
+    //     },
+    // },
+
     // Various Dev Server settings
     host: '0.0.0.0', // can be overwritten by process.env.HOST
     port: 28080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined

+ 28 - 21
src/components/ledger/details/detail/exhibitionBaseInformation.vue

@@ -31,37 +31,44 @@
             @click="handleCopy(value.Value)">复制
           </el-button>
         </div>
-        <el-button slot="reference" type="text">{{value.Value ? '有' :'-'}}</el-button>
+<!--        <el-button slot="reference" type="text">{{value.Value ? '有' :'-'}}</el-button>-->
+        <el-button slot="reference" type="text">有</el-button>
       </el-popover>
-      <el-popover
-        v-else-if="Array.isArray(value.Value) && value.InputMode== 'F2'"
-        placement="right"
-        width="250"
-        trigger="hover">
-        <p style="border-bottom: 1px solid #eee;padding:2px 0 4px 0;'">{{value.InfoPointName}}</p>
-        <div v-for="(pic,index) in value.Value">
-          <div>图纸名称:{{pic.Name}}
-<!--              <el-button style="" type="text" size="mini" @click="downloadFile(pic.Key)">下载</el-button>-->
-            <a
-              style="cursor: pointer;color: #409eff"
-              :href="`/image-service/common/file_get/${pic.Key}?systemId=dataPlatform`"
-              :download="pic.Name"
-            >下载</a>
+      <span  v-else-if="Array.isArray(value.Value) && value.InputMode== 'F2' ">
+        <el-popover
+          v-if="value.Value.length "
+          placement="right"
+          width="250"
+          trigger="hover">
+          <p style="border-bottom: 1px solid #eee;padding:2px 0 4px 0;'">{{value.InfoPointName}}</p>
+          <div v-for="(pic,index) in value.Value">
+            <div>图纸名称:{{pic.Name}}
+              <!--              <el-button style="" type="text" size="mini" @click="downloadFile(pic.Key)">下载</el-button>-->
+              <a
+                style="cursor: pointer;color: #409eff"
+                :href="`/image-service/common/file_get/${pic.Key}?systemId=dataPlatform`"
+                :download="pic.Name"
+              >下载</a>
+            </div>
           </div>
-        </div>
-        <el-button slot="reference" type="text">{{value.Value.length >0 ? '有':'-'}}</el-button>
-      </el-popover>
+<!--          <el-button slot="reference" type="text">{{value.Value.length >0 ? '有':'-'}}</el-button>-->
+          <el-button slot="reference" type="text">有</el-button>
+        </el-popover>
+        <span v-else>-</span>
+      </span>
+
       <el-popover
         v-else-if="Array.isArray(value.Value) && value.InputMode=='N2'"
         placement="right"
-        width="600"
+        width="400"
         trigger="hover">
         <p style="border-bottom: 1px solid #eee;padding:2px 0 4px 0;'">{{value.InfoPointName}}</p>
-        <p style="height: 300px;overflow: auto">{{value.Value}}</p>
+        <p style="height: 250px;overflow: auto">{{value.Value}}</p>
         <div style="text-align: center; margin: 0">
           <el-button type="text" size="mini" @click="handleCopy(value.Value)">复制</el-button>
         </div>
-        <el-button slot="reference" type="text">{{value.Value.length >0  ? '有' :'-'}}</el-button>
+<!--        <el-button slot="reference" type="text">{{value.Value.length >0  ? '有' :'-'}}</el-button>-->
+        <el-button slot="reference" type="text">有</el-button>
       </el-popover>
       <el-popover
         v-else-if="value.Value && value.Value.length  && `${value.InfoPointName}:${value.Value}`.length>21 "

+ 5 - 0
src/views/ledger/cenotelist/cenoteDetail/index.vue

@@ -146,6 +146,11 @@
         this.exampleData = values[1].Content[0];
         let obj = this.deepCopy(values[1].Content[0]);
         obj = tools.flattenKeys(obj);
+        for(let key in obj) {
+          if(Array.isArray(obj[key]) && !obj[key].length) {
+            delete obj[key]
+          }
+        }
         this.instance = obj;
         this.handleRadios(1)
       })

+ 9 - 3
src/views/ledger/facility/details/index.vue

@@ -207,10 +207,15 @@
         Promise.all([promise1, promise2]).then(values => {
           this.pointData = values[0].Content;
           this.exampleData = values[1].Content[0];
-          this.name = this.exampleData.EquipLocalName?this.exampleData.EquipLocalName:this.exampleData.EquipName?this.exampleData.EquipName:'';
-          this.code = this.exampleData.EquipLocalID?this.exampleData.EquipLocalID:'';
+          this.name = this.exampleData.EquipLocalName ? this.exampleData.EquipLocalName : this.exampleData.EquipName ? this.exampleData.EquipName : '';
+          this.code = this.exampleData.EquipLocalID ? this.exampleData.EquipLocalID : '';
           let obj = this.deepCopy(values[1].Content[0]);
           obj = tools.flattenKeys(obj);
+          for (let key in obj) {           //删除对象中数组为空的项
+            if (Array.isArray(obj[key]) && !obj[key].length) {
+              delete obj[key]
+            }
+          }
           this.instance = obj;
           this.pointData.forEach(item => {
             if (item.InputMode == "L" || item.InputMode == "L1" || item.InputMode == "L2" || item.InputMode == "M") {
@@ -297,6 +302,8 @@
                 ...j,
                 value: this.instance[j.Path]
               }
+
+
             }
           })
           arr = list.filter(k => k.value)
@@ -448,7 +455,6 @@
             }
             source.forEach(j => {
               if (j.Code == this.instance[i.Path]) {
-                console.log(j.Name)
                 i.value = j.Name
               }
             })

+ 5 - 0
src/views/ledger/facility/details/index_old.vue

@@ -197,6 +197,11 @@
           this.code = this.exampleData.EquipLocalID?this.exampleData.EquipLocalID:'';
           let obj = this.deepCopy(values[1].Content[0]);
           obj = tools.flattenKeys(obj);
+          for(let key in obj) {
+            if(Array.isArray(obj[key]) && !obj[key].length) {
+              delete obj[key]
+            }
+          }
           this.instance = obj;
           this.handleRadios(1)
           this.handleEnclosure() //处理图片视频文件信息

+ 5 - 0
src/views/ledger/property/details/index.vue

@@ -187,6 +187,11 @@
           this.code = this.exampleData.EquipLocalID?this.exampleData.EquipLocalID:'';
           let obj = this.deepCopy(values[1].Content[0]);
           obj = tools.flattenKeys(obj);
+          for(let key in obj) {
+            if(Array.isArray(obj[key]) && !obj[key].length) {
+              delete obj[key]
+            }
+          }
           this.instance = obj;
           this.handleRadios(this.currentRadio)
           this.handleEnclosure() //处理图片视频文件信息

+ 5 - 0
src/views/ledger/property/details/index_old.vue

@@ -176,6 +176,11 @@
           this.code = this.exampleData.EquipLocalID?this.exampleData.EquipLocalID:'';
           let obj = this.deepCopy(values[1].Content[0]);
           obj = tools.flattenKeys(obj);
+          for(let key in obj) {
+            if(Array.isArray(obj[key]) && !obj[key].length) {
+              delete obj[key]
+            }
+          }
           this.instance = obj;
           this.handleRadios(1)
           this.handleEnclosure() //处理图片视频文件信息

+ 5 - 0
src/views/ledger/spacelist/spaceDetail/index.vue

@@ -214,6 +214,11 @@
         let obj = values[1].Content[0] ? this.deepCopy(values[1].Content[0]) :values[1].Content[0];
 
         obj = tools.flattenKeys(obj);
+        for(let key in obj) {
+          if(Array.isArray(obj[key]) && !obj[key].length) {
+            delete obj[key]
+          }
+        }
         this.instance = obj;
         this.pointData.forEach(item => {
           if (item.InputMode == "L" || item.InputMode == "L1" || item.InputMode == "L2" || item.InputMode == "M") {

+ 5 - 0
src/views/ledger/system/systemDetail/index.vue

@@ -235,6 +235,11 @@
         this.exampleData = values[1].Content[0];
         let obj = this.deepCopy(values[1].Content[0]);
         obj = tools.flattenKeys(obj);
+        for(let key in obj) {
+          if(Array.isArray(obj[key]) && !obj[key].length) {
+            delete obj[key]
+          }
+        }
         this.instance = obj;
         this.handleRadios(this.currentRadio)
         this.handleEnclosure() //处理图片视频文件信息

+ 263 - 120
src/views/screen/splitscreen/spaceledger/index.vue

@@ -29,7 +29,7 @@
             </div>
           </div>
           <div v-show="spaceDetails.Outline && !spaceDetails.Outline[0] || !spaceDetails.Outline"
-            style="height: 280px;transform: translateY(30%);textAlign:center;">
+               style="height: 280px;transform: translateY(30%);text-align:center;">
             <i class="icon-wushuju iconfont"></i>
             数据暂无
           </div>
@@ -52,11 +52,24 @@
           <el-tabs v-model="activeTab" type='card'>
             <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%;height:100%;text-align: left;"
-                     id="iframe-box"></div>
+                <section v-show="activeTab === 'staticData'">
+                  <el-radio-group
+                    v-model="radio"
+                    style=" margin: 0 10px;"
+                    @change="changRadio"
+                    v-for="(item,index) in radioList"
+                    :key="index"
+                  >
+                    <el-radio :label="item.label">{{item.value}}</el-radio>
+                  </el-radio-group>
+
+                  <exhibitionBaseInformation :exhibitionBaseInformation="exhibitionBaseInformation"/>
+                </section>
                 <div v-show="activeTab === 'dynamicData'" style="width:100%;height:100%;">
                   <div class="content-box">
-                    <div style="text-align: left;margin-bottom: 10px">  <el-checkbox v-model="onlyMessage" @change="handleCheckbox">只看需采集的信息点</el-checkbox></div>
+                    <div style="text-align: left;margin-bottom: 10px">
+                      <el-checkbox v-model="onlyMessage" @change="handleCheckbox">只看需采集的信息点</el-checkbox>
+                    </div>
 
                     <el-table ref="multipleTable" :data="tableData" stripe :header-cell-style="headerStyle">
                       <el-table-column prop="InfoPointName" label="信息点名称">
@@ -110,6 +123,8 @@
   import syInSpaceTable from '@/components/business_space/newTables/syInSpaceTable'
   import {DivideFloorScene, FloorView} from "@saga-web/cad-engine/lib";
   import tools from "@/utils/scan/tools";
+  import exhibitionBaseInformation from "@/components/ledger/details/detail/exhibitionBaseInformation";
+
 
   export default {
     data() {
@@ -144,12 +159,29 @@
         secret: '',
         canvasLoading: false,
         buildingFloor: localStorage.getItem('buildingFloor'),
-        onlyMessage: false
+        onlyMessage: false,
+        exhibitionBaseInformation: {
+          information: {},
+        },
+        pointData: [],
+        instance: {},
+        radioList: [
+          {
+            value: '显示全部信息点',
+            label: '1'
+          },
+          {
+            value: '显示有值信息点',
+            label: '2'
+          }
+        ],
+        radio: '1'
       }
     },
     components: {
       eqToSpaceTable,
-      syInSpaceTable
+      syInSpaceTable,
+      exhibitionBaseInformation
     },
     beforeRouteEnter(to, from, next) {
       if (to.query.RoomID && to.query.zone) {
@@ -166,129 +198,241 @@
     computed: {},
     methods: {
       getData() {
-        this.params = this.$route.query;
-      // 获取空间数据
-      let params = {
-        Filters: `RoomID="${this.$route.query.RoomID}"`,
-        ZoneType: this.$route.query.zone
-      }
-      zoneQuery(params, res => {
-        this.spaceDetails = res.Content[0];
-        if (this.spaceDetails.Outline && this.spaceDetails.Outline[0] && this.spaceDetails.Outline[0].length) {
-          this.getSpaceFloor();
+        //获取表头
+        let params1 = {
+          data: {
+            Orders: "sort asc",
+            PageNumber: 1,
+            PageSize: 1000
+          },
+          type: this.$route.query.zone
         }
-        this.setFrame();
-        this.getInFormationPoitnName();
-      })
-    },
-    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}`
-      let box = document.getElementById('iframe-box');
-      box.innerHTML = '';
-      let iframe = document.createElement('iframe');
-      iframe.src = this.iframeSrc
-      iframe.style.width = '100%';
-      iframe.style.height = '100%';
-      box.appendChild(iframe);
-    },
-    getSpaceFloor() {
-      // 获取业务空间楼层
-      let params = {
-        Filters: `FloorID='${this.spaceDetails.FloorId}'`
-      }
-      floorQuery(params, res => {
-        if (res.Content[0] && res.Content[0].StructureInfo && res.Content[0].StructureInfo.FloorMap) {
-          this.FloorMap = res.Content[0].StructureInfo.FloorMap;
-          this.getGraphy();
+        // 获取空间数据
+        let params2 = {
+          Filters: `RoomID="${this.$route.query.RoomID}"`,
+          ZoneType: this.$route.query.zone
         }
-      })
-    },
-    getGraphy() {// 绘制空间位置图片
-      let that = this;
-      that.clearGraphy()
-      that.scene = new DivideFloorScene();
-      this.canvasLoading = true;
-      that.scene.loadUrl(`/image-service/common/file_get?systemId=revit&key=${this.FloorMap}`).then(res => {
-        that.canvasLoading = false;
-        if (res == 'error') {
-          this.FloorMap = '';
-          this.$message.warning('数据解析异常');
-          return;
+        this.params = this.$route.query;
+        let promise1 = new Promise((resolve, reject) => {
+          getDataDictionary(params1, res => {
+            resolve(res)
+          })
+        })
+        let promise2 = new Promise((resolve, reject) => {
+          zoneQuery(params2, res => {
+            resolve(res)
+          })
+        })
+        Promise.all([promise1, promise2]).then(values => {
+          this.pointData = values[0].Content;
+          this.spaceDetails = values[1].Content[0];
+          if (this.spaceDetails.Outline && this.spaceDetails.Outline[0] && this.spaceDetails.Outline[0].length) {
+            this.getSpaceFloor();
+          }
+          let obj = values[1].Content[0] ? this.deepCopy(values[1].Content[0]) : values[1].Content[0];
+          obj = tools.flattenKeys(obj);
+          for(let key in obj) {
+            if(Array.isArray(obj[key]) && !obj[key].length) {
+              delete obj[key]
+            }
+          }
+          this.instance = obj;
+          this.getInFormationPoitnName();
+          this.handleRadios(this.radio);
+        })
+      },
+      deepCopy(obj) {
+        return JSON.parse(JSON.stringify(obj))
+      },
+      getSpaceFloor() {
+        // 获取业务空间楼层
+        let params = {
+          Filters: `FloorID='${this.spaceDetails.FloorId}'`
         }
-        that.view.scene = that.scene;
-        that.view.fitSceneToView();
-        let tempArr = {
-          RoomLocalName: this.spaceDetails.RoomLocalName,
-          OutLine: this.spaceDetails.Outline,
-          RoomID: this.spaceDetails.RoomID,
-          Color: "#F56C6C",
-          HighLightFlag: true
+        floorQuery(params, res => {
+          if (res.Content[0] && res.Content[0].StructureInfo && res.Content[0].StructureInfo.FloorMap) {
+            this.FloorMap = res.Content[0].StructureInfo.FloorMap;
+            this.getGraphy();
+          }
+        })
+      },
+      getGraphy() {// 绘制空间位置图片
+        let that = this;
+        that.clearGraphy()
+        that.scene = new DivideFloorScene();
+        this.canvasLoading = true;
+        that.scene.loadUrl(`/image-service/common/file_get?systemId=revit&key=${this.FloorMap}`).then(res => {
+          that.canvasLoading = false;
+          if (res == 'error') {
+            this.FloorMap = '';
+            this.$message.warning('数据解析异常');
+            return;
+          }
+          that.view.scene = that.scene;
+          that.view.fitSceneToView();
+          let tempArr = {
+            RoomLocalName: this.spaceDetails.RoomLocalName,
+            OutLine: this.spaceDetails.Outline,
+            RoomID: this.spaceDetails.RoomID,
+            Color: "#F56C6C",
+            HighLightFlag: true
+          }
+          that.scene.addZoneList([tempArr]);
+          this.scene.isSpaceSelectable = false;
+        })
+      },
+      clearGraphy() {
+        if (this.view && this.view.scene) {
+          this.view.scene = null;
+          return
         }
-        that.scene.addZoneList([tempArr]);
-        this.scene.isSpaceSelectable = false;
-      })
-    },
-    clearGraphy() {
-      if (this.view && this.view.scene) {
-        this.view.scene = null;
-        return
-      }
-      this.view = new FloorView('floorCanvas')
-    },
-    getInFormationPoitnName() {// 获取动态数据
-      let proId = localStorage.getItem('projectId');
-      let secret = localStorage.getItem('secret');
-      let params = {
-        data: {
-          Filters: 'InputMode in ["L1","L2","L","M"]',
-          Orders: "sort asc",
-          PageNumber: 1,
-          PageSize: 500
-        },
-        type: this.$route.query.zone
-      }
-      let param = {
-        secret: secret,
-        ProjId: proId,
-        data: {
-          criterias: []
+        this.view = new FloorView('floorCanvas')
+      },
+      getInFormationPoitnName() {// 获取动态数据
+        let proId = localStorage.getItem('projectId');
+        let secret = localStorage.getItem('secret');
+        let params = {
+          data: {
+            Filters: 'InputMode in ["L1","L2","L","M"]',
+            Orders: "sort asc",
+            PageNumber: 1,
+            PageSize: 500
+          },
+          type: this.$route.query.zone
         }
-      }
-      getDataDictionary(params, res => {// 获取表号功能号
-        // this.tableData = res.Content;
-
-        if (this.onlyMessage) {
-          this.tableData = res.Content.filter(i => i.Visible)
-        } else {
-          this.tableData = res.Content
+        let param = {
+          secret: secret,
+          ProjId: proId,
+          data: {
+            criterias: []
+          }
         }
-        this.tableData.map(item => {
-          let cur = tools.dataForKey(this.spaceDetails, item.Path);
-          // item.functionNo = cur;
-          param.data.criterias.push({
-            id: this.spaceDetails.RoomID,
-            code: item.InfoPointCode
+        getDataDictionary(params, res => {// 获取表号功能号
+          // this.tableData = res.Content;
+
+          if (this.onlyMessage) {
+            this.tableData = res.Content.filter(i => i.Visible)
+          } else {
+            this.tableData = res.Content
+          }
+          this.tableData.map(item => {
+            let cur = tools.dataForKey(this.spaceDetails, item.Path);
+            // item.functionNo = cur;
+            param.data.criterias.push({
+              id: this.spaceDetails.RoomID,
+              code: item.InfoPointCode
+            });
+          })
+          BeatchQueryParam(param, res => {// 获取动态数据
+            res.Content.forEach((item, index) => {
+              this.$set(this.tableData[index], 'functionNo', item.data)
+              this.$set(this.tableData[index], 'functionNoTime', item.receivetime)
+              tools.setDataForKey(
+                this.spaceDetails,
+                this.tableData[index].Path,
+                this.$set(this.tableData[index], "functionNoDynamicData", item.interrupt ? '已断数' : (item.error ? item.value ? "表号功能号不存在" : "未维护" : "暂未采集到实时数据"))
+              );
+            })
           });
         })
-        BeatchQueryParam(param, res => {// 获取动态数据
-          res.Content.forEach((item, index) => {
-            this.$set(this.tableData[index], 'functionNo', item.data)
-            this.$set(this.tableData[index], 'functionNoTime', item.receivetime)
-            tools.setDataForKey(
-              this.spaceDetails,
-              this.tableData[index].Path,
-              this.$set(this.tableData[index], "functionNoDynamicData", item.interrupt ? '已断数' :(item.error ? item.value ? "表号功能号不存在" : "未维护" : "暂未采集到实时数据"))
-            );
-          })
-        });
-      })
-    },
+      },
       handleCheckbox(val) {
         this.onlyMessage = val
         this.getInFormationPoitnName()
+      },
+      displayData(arr) {//对数据进行处理传给组件展示
+        const result = {}
+        const resultEnergy = {};
+        arr.forEach(i => {
+          if (this.instance && this.instance.hasOwnProperty(i.Path) && this.currentRadio != 2) {
+            i.value = this.instance[i.Path]
+          }
+          if (i.InputMode == 'C5') {
+            if (this.instance && this.instance.hasOwnProperty(i.Path)) {
+              let time = this.instance[i.Path]
+              i.value = this.formatDate(time)
+            }
+          }
+          if (i.DataSource && i.DataSource.length) {
+            let source = JSON.parse(i.DataSource)
+            //判断输入类型
+            if (i.InputMode == 'D1L') {
+              let d1l = tools.formatDataSource(i.DataSource)
+              d1l.forEach(k => {
+                if (k.Code == this.instance[i.Path]) {
+                  i.value = k.Name
+                }
+              })
+            } else if (i.InputMode == 'D2' || i.InputMode == 'C6') {
+              if (this.instance && this.instance.hasOwnProperty(i.Path)) {
+                if (!Array.isArray(this.instance[i.Path])) {
+                  let transArray = this.instance[i.Path].split(',')
+                  i.value = source.filter(item => transArray.includes(item.Code)).map(item => item.Name).join(',')
+                }
+              }
+            }
+            source.forEach(j => {
+              if (this.instance && j.Code == this.instance[i.Path]) {
+                i.value = j.Name
+              }
+            })
+          }
+          switch (i.InputMode) {
+            case "L":
+            case "L1":
+            case "L2":
+            case "M":
+              break;
+            default:
+              if (result[`${i.FirstName}${i.SecondName ? '/' + i.SecondName : ''}`]) {
+                result[`${i.FirstName}${i.SecondName ? '/' + i.SecondName : ''}`].paths.push({
+                  Path: i.Path,
+                  InfoPointName: i.InfoPointName,
+                  InfoPointCode: i.InfoPointCode,
+                  Value: i.value,
+                  Visible: i.Visible,
+                  KeyWord: i.KeyWord,
+                  InputMode: i.InputMode
+                })
+              } else {
+                result[`${i.FirstName}${i.SecondName ? '/' + i.SecondName : ''}`] = {
+                  paths: [{
+                    Path: i.Path,
+                    InfoPointName: i.InfoPointName,
+                    InfoPointCode: i.InfoPointCode,
+                    Value: i.value,
+                    Visible: i.Visible,
+                    KeyWord: i.KeyWord,
+                    InputMode: i.InputMode
+                  }]
+                }
+              }
+
+          }
+        })
+        this.exhibitionBaseInformation.information = result
+      },
+      changRadio(val) {
+        this.handleRadios(val)
+        this.radio = val
+      },
+      handleRadios(val) {
+        let arr = []
+        if (val == 1) {
+          arr = this.pointData
+        } else {
+          let list = this.pointData
+          list.map(j => {
+            if (this.instance.hasOwnProperty(j.Path)) {
+              return {
+                ...j,
+                value: this.instance[j.Path]
+              }
+            }
+          })
+          arr = list.filter(k => k.value)
+        }
+        this.displayData(arr)
       }
     },
   watch: {
@@ -356,7 +500,6 @@
   .space-img {
     width: 100%;
     .img-box {
-      margin-bottom: 20px;
       float: left;
       position: relative;
       width: 47%;
@@ -380,7 +523,7 @@
 }
 .el-main {
   color: #333;
-  text-align: center;
+  /*text-align: center;*/
   overflow: hidden;
   width: 100%;
   padding: 10px 0 0 10px;