Browse Source

添加竖井详情和空间详情;修改系统详情

zhangyu 5 years ago
parent
commit
587aa05d2c

+ 79 - 4
src/views/ledger/cenotelist/cenoteDetail/index.vue

@@ -17,6 +17,18 @@
           <el-button size="small" @click="deleteCenote">删除竖井</el-button>
         </div>
       </el-row>
+      <div v-if="activeTab=='detail'"  class="content">
+        <div class="content-left">
+          <div class="content-showType"></div>
+          <div class="content-point">
+            <div class="content-point-left">
+              <el-scrollbar style="height:100%;">
+                <div style="height:1000px"></div>
+              </el-scrollbar>
+            </div>
+          </div>
+        </div>
+      </div>
       <!-- 竖井内的设备 -->
       <device-table v-if="activeTab=='device'" :params="params" :type="activeTab"></device-table>
       <!-- 连通的其他竖井 -->
@@ -29,7 +41,7 @@
 
 <script>
 import { mapGetters } from "vuex"
-import { deleteCenoteTableData } from '@/api/scan/request'
+import { getDataDictionary, queryCenoteTableData, deleteCenoteTableData } from '@/api/scan/request'
 import cenoteTable from '@/components/ledger/cenote/table/cenoteTable'
 import deviceTable from '@/components/ledger/cenote/table/deviceTable'
 import systemTable from '@/components/ledger/cenote/table/systemTable'
@@ -38,11 +50,14 @@ export default {
     return {
       params: {},
       tabsList: [
+        { Code: 'detail', Name: '竖井详情' },
         { Code: 'device', Name: '竖井内的设备' },
         { Code: 'cenote', Name: '连通的其它竖井' },
         { Code: 'system', Name: '竖井内系统' },
       ], //tab页
-      activeTab: 'device' //当前选中的tab
+      activeTab: 'detail', //当前选中的tab
+      pointData: [], //信息点数据
+      exampleData: {}, //实例数据
     }
   },
   computed: {
@@ -55,6 +70,7 @@ export default {
   },
   created() {
     this.params = this.$route.query;
+    this.getData();
   },
   mounted() { },
   watch: {
@@ -63,7 +79,33 @@ export default {
   methods: {
     // 返回
     goBack() {
-      this.$router.push({ name: "cenotelist" })
+      this.$router.push({ name: "cenotelist" });
+    },
+    getData() {
+      let params1 = {
+        data: {
+          Orders: "sort asc",
+          PageNumber: 1,
+          PageSize: 1000
+        },
+        type: 'Shaft'
+      }, params2 = {
+        Filters: `ShaftID='${this.params.ShaftID}'`
+      };
+      let promise1 = new Promise((resolve, reject) => {
+        getDataDictionary(params1, res => {
+          resolve(res)
+        })
+      })
+      let promise2 = new Promise((resolve, reject) => {
+        queryCenoteTableData(params2, res => {
+          resolve(res)
+        })
+      })
+      Promise.all([promise1, promise2]).then(values => {
+        this.pointData = values[0].Content;
+        this.exampleData = values[1].Content[0];
+      })
     },
     // 删除业务空间
     deleteCenote() {
@@ -92,8 +134,8 @@ export default {
     height: 100%;
     flex-direction: column;
     border: 1px solid #dfe6ec;
+    box-sizing: border-box;
     background: #fff;
-    margin-bottom: 10px;
     .header {
       padding-bottom: 10px;
       span {
@@ -120,6 +162,35 @@ export default {
         border-bottom: 1px solid #e4e7ed;
       }
     }
+
+    .content {
+      display: flex;
+      flex-direction: row;
+      box-sizing: border-box;
+      height: calc(100% - 99px);
+      .content-left {
+        display: flex;
+        flex-direction: column;
+        flex: 1;
+        .content-showType {
+          height: 50px;
+          border: 1px solid #ccc;
+          border-bottom: none;
+          box-sizing: border-box;
+        }
+        .content-point {
+          display: flex;
+          flex-direction: row;
+          height: calc(100% - 50px);
+          border: 1px solid #ccc;
+          box-sizing: border-box;
+          .content-point-left {
+            flex: 1;
+          }
+        }
+      }
+    }
+
     .main {
       margin-top: 10px;
       height: calc(100% - 96px);
@@ -127,6 +198,10 @@ export default {
     .footer {
       margin-bottom: 10px;
     }
+
+    /deep/ .el-scrollbar__wrap {
+      overflow-x: hidden;
+    }
   }
 }
 </style>

+ 130 - 21
src/views/ledger/spacelist/spaceDetail/index.vue

@@ -3,7 +3,7 @@
     <div class="condition">
       <div class="header">
         <el-button style="float:left;" size="small" type="default" icon="el-icon-back" @click="goBack"></el-button>
-        <span>{{spaceDetails.RoomLocalName||spaceDetails.RoomName||''}}</span>
+        <span>{{exampleData.RoomLocalName||exampleData.RoomName||''}}</span>
       </div>
       <el-row class="spaceTypes">
         <div class="types">
@@ -17,8 +17,31 @@
           <el-button size="small" @click="deleteSpace">删除业务空间</el-button>
         </div>
       </el-row>
-      <div v-if="activeTab=='detail'" style="height:calc(100% - 110px)">
-        <iframe height="100%" width="100%" :src="iframeSrc"></iframe>
+      <div v-if="activeTab=='detail'"  class="content">
+        <iframe v-if="params.isMyTab == 1" height="100%" width="100%" :src="iframeSrc"></iframe>
+        <div v-else class="content-left">
+          <div class="content-showType"></div>
+          <div class="content-point">
+            <div class="content-point-left">
+              <el-scrollbar style="height:100%;">
+                <div style="height:1000px"></div>
+              </el-scrollbar>
+            </div>
+            <div class="content-point-right">
+              <el-scrollbar style="height:100%;">
+                <div style="height:1000px"></div>
+              </el-scrollbar>
+            </div>
+          </div>
+        </div>
+        <div class="content-right">
+          <div class="content-repair"></div>
+          <div class="content-media">
+            <el-scrollbar style="height:100%;">
+              <div style="height:1000px"></div>
+            </el-scrollbar>
+          </div>
+        </div>
       </div>
       <!-- 空间内设备列表--服务于空间的设备 -->
       <eqToSpaceTable v-else-if="activeTab=='Equipment' || activeTab=='EquipmentFor'" :params="params" :type="activeTab"></eqToSpaceTable>
@@ -30,10 +53,12 @@
 </template>
 
 <script>
-import { mapGetters } from "vuex"
-import { queryZone, deleteZone } from '@/api/scan/request'
-import eqToSpaceTable from '@/components/business_space/newTables/eqToSpaceTable'
-import syInSpaceTable from '@/components/business_space/newTables/syInSpaceTable'
+import { mapGetters } from "vuex";
+import tools from "@/utils/scan/tools";
+import { getDataDictionary, queryZone, deleteZone } from '@/api/scan/request';
+
+import eqToSpaceTable from '@/components/business_space/newTables/eqToSpaceTable';
+import syInSpaceTable from '@/components/business_space/newTables/syInSpaceTable';
 export default {
   data() {
     return {
@@ -45,7 +70,9 @@ export default {
         { Code: 'generalSystem', Name: '空间内系统' },
       ], //tab页
       activeTab: 'detail', //当前选中的tab
-      spaceDetails: {}, //空间信息
+      pointData: [], //信息点数据
+      exampleData: {}, //实例数据
+      criterias: [], //动态参数
       iframeSrc: '', //空间详情iframe
     }
   },
@@ -58,8 +85,8 @@ export default {
   },
   created() {
     this.params = this.$route.query;
-    this.getSpaceDetails();
-    this.setFrame()
+    this.getData();
+    this.setFrame();
   },
   mounted() { },
   watch: {
@@ -74,22 +101,52 @@ export default {
       })
     },
     // 查询空间详情
-    getSpaceDetails() {
-      let pa = {
+    getData() {
+      let params1 = {
         data: {
-          Filters: `RoomID="${this.params.RoomID}"`
+          Orders: "sort asc",
+          PageNumber: 1,
+          PageSize: 1000
+        },
+        type: this.params.zone
+      }, params2 = {
+        data: {
+          Filters: `RoomID='${this.params.RoomID}'`
         },
         zone: this.params.zone
-      }
-      queryZone(pa, res => {
-        this.spaceDetails = res.Content[0];
+      };
+      let promise1 = new Promise((resolve, reject) => {
+        getDataDictionary(params1, res => {
+          resolve(res)
+        })
+      })
+      let promise2 = new Promise((resolve, reject) => {
+        queryZone(params2, res => {
+          resolve(res)
+        })
+      })
+      Promise.all([promise1, promise2]).then(values => {
+        this.pointData = values[0].Content;
+        this.exampleData = values[1].Content[0];
+        this.pointData.forEach(item => {
+          if (item.InputMode == "L" || item.InputMode == "L1" || item.InputMode == "L2" || item.InputMode == "M") {
+            let cur = tools.dataForKey(this.exampleData, item.Path);
+            if (cur) {
+              this.criterias.push({
+                id: exampleData.EquipID,
+                code: item.InfoPointCode
+              })
+            }
+          }
+        })
       })
     },
     // 设置iframe
     setFrame() {
-      this.iframeSrc = this.params.isMyTab == 2 ?
-        `${process.env.BASE_URL}:8889/#/details?perjectId=${this.projectId}&secret=${this.secret}&FmId=${this.params.RoomID}&type=0&code=${this.params.zone}`
-        : `${process.env.BASE_URL}:8889/#/changeMess?perjectId=${this.projectId}&secret=${this.secret}&id=${this.params.RoomID}&type=${this.params.zone}`;
+      this.iframeSrc = `${process.env.BASE_URL}:8889/#/changeMess?perjectId=${this.projectId}&secret=${this.secret}&id=${this.params.RoomID}&type=${this.params.zone}`;
+      // this.iframeSrc = this.params.isMyTab == 2 ?
+      //   `${process.env.BASE_URL}:8889/#/details?perjectId=${this.projectId}&secret=${this.secret}&FmId=${this.params.RoomID}&type=0&code=${this.params.zone}`
+      //   : `${process.env.BASE_URL}:8889/#/changeMess?perjectId=${this.projectId}&secret=${this.secret}&id=${this.params.RoomID}&type=${this.params.zone}`;
     },
     // 删除业务空间
     deleteSpace() {
@@ -100,7 +157,7 @@ export default {
       }).then(() => {
         let pa = {
           data: [{
-            RoomID: this.spaceDetails.RoomID
+            RoomID: this.exampleData.RoomID
           }],
           zone: this.params.zone
         }
@@ -125,8 +182,8 @@ export default {
     height: 100%;
     flex-direction: column;
     border: 1px solid #dfe6ec;
+    box-sizing: border-box;
     background: #fff;
-    margin-bottom: 10px;
     .header {
       padding-bottom: 10px;
       span {
@@ -153,6 +210,54 @@ export default {
         border-bottom: 1px solid #e4e7ed;
       }
     }
+
+    .content {
+      display: flex;
+      flex-direction: row;
+      box-sizing: border-box;
+      height: calc(100% - 99px);
+      .content-left {
+        display: flex;
+        flex-direction: column;
+        flex: 1;
+        .content-showType {
+          height: 50px;
+          border: 1px solid #ccc;
+          border-bottom: none;
+          box-sizing: border-box;
+        }
+        .content-point {
+          display: flex;
+          flex-direction: row;
+          height: calc(100% - 50px);
+          border: 1px solid #ccc;
+          box-sizing: border-box;
+          .content-point-left {
+            flex: 1;
+          }
+          .content-point-right {
+            width: 400px;
+            border-left: 1px solid #ccc;
+          }
+        }
+      }
+      .content-right {
+        width: 400px;
+        margin-left: 10px;
+        .content-repair {
+          height: 50px;
+          margin-bottom: 10px;
+          border: 1px solid #ccc;
+          box-sizing: border-box;
+        }
+        .content-media {
+          height: calc(100% - 60px);
+          border: 1px solid #ccc;
+          box-sizing: border-box;
+        }
+      }
+    }
+
     .main {
       margin-top: 10px;
       height: calc(100% - 96px);
@@ -160,6 +265,10 @@ export default {
     .footer {
       margin-bottom: 10px;
     }
+
+    /deep/ .el-scrollbar__wrap {
+      overflow-x: hidden;
+    }
   }
 }
 </style>

+ 21 - 26
src/views/ledger/system/systemDetail/index.vue

@@ -26,11 +26,6 @@
                 <div style="height:1000px"></div>
               </el-scrollbar>
             </div>
-            <div class="content-point-right">
-              <el-scrollbar style="height:100%;">
-                <div style="height:1000px"></div>
-              </el-scrollbar>
-            </div>
           </div>
         </div>
         <div class="content-right">
@@ -142,29 +137,29 @@ export default {
     // 获取表头和实例数据
     getData () {
       let params1 = {
-          data: {
-            Orders: "sort asc",
-            PageNumber: 1,
-            PageSize: 1000
-          },
-          type: this.params.SysType
-        }, params2 = {
-          Filters: `SysID='${this.params.SysID}'`,
-        };
-        let promise1 = new Promise((resolve, reject) => {
-          getDataDictionary(params1, res => {
-            resolve(res)
-          })
+        data: {
+          Orders: "sort asc",
+          PageNumber: 1,
+          PageSize: 1000
+        },
+        type: this.params.SysType
+      }, params2 = {
+        Filters: `SysID='${this.params.SysID}'`,
+      };
+      let promise1 = new Promise((resolve, reject) => {
+        getDataDictionary(params1, res => {
+          resolve(res)
         })
-        let promise2 = new Promise((resolve, reject) => {
-          queryLinkSys(params2, res => {
-            resolve(res)
-          })
-        })
-        Promise.all([promise1, promise2]).then(values => {
-          this.pointData = values[0].Content;
-          this.exampleData = values[1].Content[0];
+      })
+      let promise2 = new Promise((resolve, reject) => {
+        queryLinkSys(params2, res => {
+          resolve(res)
         })
+      })
+      Promise.all([promise1, promise2]).then(values => {
+        this.pointData = values[0].Content;
+        this.exampleData = values[1].Content[0];
+      })
     },
     // 删除系统
     deleteSystem() {