Browse Source

模型质量报告

yangjunjing 5 years ago
parent
commit
368435631d

+ 5 - 1
src/router/system.js

@@ -22,6 +22,8 @@ import repetitionGraphy from '@/views/ready/buildfloor/repetitionGraphy'
 /**模型管理 */
 import modelFile from '@/views/model/file'
 import modelReport from '@/views/model/report'
+import deleted from '@/views/model/report/deleted'
+import supplement from '@/views/model/report/supplement'
 
 /**系统集成 */
 import pointConfig from '@/views/point/config_point'
@@ -157,9 +159,11 @@ export default [{
                 name: 'modelReport',
                 component: modelReport,
                 meta: { keepAlive: false, breadcrumbs: [{ label: '模型管理', path: '/model/file' }, { label: '模型质量报告' }] }
-            }
+            },
         ]
     },
+    { path: '/deleted', name: 'deleted', component: deleted },
+    { path: '/supplement', name: 'supplement', component: supplement },
     // 系统集成
     {
         path: '/point',

+ 130 - 0
src/views/model/report/deleted.vue

@@ -0,0 +1,130 @@
+<template>
+  <!-- 待删除页面 -->
+  <div class="box">
+    <div class="content-box">
+      <div class="content-top">
+        <div class="details">
+          <h4>{{'四位序列号'}}<el-badge value="待删除" class="item"></el-badge>
+          </h4>
+          <h4>{{"XXXX建筑模型夹"}}-{{"XXX层"}}-{{"待删除设备名称XXXXXXXXXXXXX"}}</h4>
+          <b>BIM ID:{{'XXXXXXX'}}</b>
+          <p>Revit族:{{'XXXXXXX'}}</p>
+          <p>设计图纸中编码:{{'XXXXXXX'}}</p>
+          <p><span>设备类型:{{'XXXXXXX'}}</span><span>设备ID:{{'XXXXXXX'}}</span></p>
+          <p><span>资产族:{{'XXXXXXX'}}</span><span>关联的资产ID:{{'XXXXXXX'}}</span></p>
+          <p>现场任务ID:{{'XXXXXXX'}}</p>
+          <p><span>执行人:{{'XXXXXXX'}}</span><span>确认人:{{'XXXXXXX'}}</span></p>
+        </div>
+        <div class="plan">
+          <p>平面图上的位置:<span>{{`${'('+'X:'+'329'+','+'Y:'+'398'+')'}`}}</span></p>
+          <div class="img-box">
+            <img src="https://hbimg.huabanimg.com/f761a5fd8164882f9bad2dc46da4f5682cfd7c6eabc2-ArjdOX_fw658" alt="">
+          </div>
+        </div>
+      </div>
+      <div class="content-bottom">
+        <div class="explain">
+          <p>现场问题说明...</p>
+        </div>
+        <div class="photo">
+          <p><b>现场发现照片:</b><span>拍摄时间:{{`${'2019'+'年'+'12'+'月'+'56'+'时'+'5'+'分'}`}}</span></p>
+          <div class="img-box">
+            <img src="https://hbimg.huabanimg.com/f761a5fd8164882f9bad2dc46da4f5682cfd7c6eabc2-ArjdOX_fw658" alt="">
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  components: {
+
+  },
+  data() {
+    return {
+
+    }
+  },
+  mounted() { },
+  created() {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="less" scoped>
+.box {
+  background: #f2f2f2;
+  .content-box {
+    margin: 0 auto;
+    width: 1000px;
+    background: white;
+    padding: 20px 24px;
+    box-sizing: border-box;
+    .content-top {
+      display: flex;
+      div {
+        flex: 1;
+      }
+      .details {
+        .el-badge {
+          margin: 10px 0 0 10px;
+        }
+        p {
+          margin-top: 4px;
+          span:nth-child(1) {
+            display: inline-block;
+            width: 200px;
+          }
+        }
+      }
+      .explain {
+        padding: 10px;
+        background: #f2f2f2;
+        width: 400px;
+        height: 300px;
+        box-sizing: border-box;
+        margin-top: 20px;
+      }
+      .plan {
+        p {
+          width: 100%;
+          margin-bottom: 10px;
+          span {
+            float: right;
+          }
+        }
+      }
+    }
+    .content-bottom {
+      display: flex;
+      margin-top: 20px;
+      div {
+        flex: 1;
+      }
+      .photo {
+        p {
+          margin-bottom: 10px;
+          span {
+            float: right;
+          }
+        }
+      }
+    }
+  }
+}
+.img-box {
+  width: 100%;
+  text-align: center;
+  img {
+    vertical-align: middle;
+    width: 400px;
+    height: 300px;
+  }
+}
+</style>

+ 83 - 16
src/views/model/report/index.vue

@@ -13,25 +13,38 @@
     </div>
     <div class="main-content">
       <div class="tab-box">
-        <el-tabs v-model="activeTab" type='card'>
+        <el-tabs v-model="activeTab" type='card' @tab-click="getData">
           <template v-for="(item,index) in tableList">
-            <el-tab-pane :name="item.Code" :key="index" :label="item.Name">{{'模型文件夹1'}}</el-tab-pane>
+            <el-tab-pane :name="item.Code" :key="index" :label="item.Name">
+              <span slot="label">
+                <!-- <i :class="iconClassMap[scope.row.Type]?iconClassMap[scope.row.Type]:'msg-icon el-icon-warning warning-color'"
+                  style="font-size:14px;"></i>-->
+                <i :class="'msg-icon el-icon-error error-color'" style="font-size:14px;"></i>
+                <span>{{ item.Name }}</span>
+              </span>
+            </el-tab-pane>
           </template>
         </el-tabs>
       </div>
       <div class="content-box">
-        <div class="button">
-          <el-button @click="addFloorFile">添加楼层文件</el-button>
-          <el-button @click="queryFloorFile(currentFolderId)">刷新</el-button>
+        <div class="button" @click="buttonOperation">
+          <el-button @click="del">需从模型中删除的设备</el-button>
+          <el-button @click="supplement">模型待补充的设备</el-button>
+          <el-button class="export">
+            导出模型问题报告
+            <el-link href="" download="" :underline="false" type="info"></el-link>
+          </el-button>
         </div>
-        <div class="table">
-          <el-table ref="multipleTable" :data="tableData" stripe height="100%" :header-cell-style="headerStyle">
-            <el-table-column prop="functionNo" label="模型楼层"></el-table-column>
-            <el-table-column prop="functionNo" label="待删除设备数量"></el-table-column>
-            <el-table-column prop="functionNo" label="待补充设备数量"></el-table-column>
-            <el-table-column prop="functionNo" label="有问题的检查项"></el-table-column>
+        <div class="table" style="width: 100%;height: calc(100% - 47px)">
+          <!-- <el-table ref="multipleTable" :data="tableData" stripe height="100%" :header-cell-style="headerStyle"> -->
+          <el-table ref="multipleTable" stripe height="100%" :header-cell-style="headerStyle">
+            <el-table-column prop="InfoPointName" label="模型楼层" fixed width="150"></el-table-column>
+            <el-table-column prop="functionNo" label="待删除设备数量" fixed width="150"></el-table-column>
+            <el-table-column prop="functionNoDynamicData" label="待补充设备数量" fixed width="150"></el-table-column>
+            <el-table-column prop="functionNoDynamicData" label="有问题的检查项" fixed width="150"></el-table-column>
+            <el-table-column prop="functionNoDynamicData" :label="item" v-for="item in checkItem" :key="item" width="150"></el-table-column>
             <template slot="empty">
-              <div style="height: 100%;transform: translateY(50%);">
+              <div style="height: 60%;transform: translate(-22%,50%);">
                 <i class="icon-wushuju iconfont"></i>
                 数据暂无
               </div>
@@ -51,19 +64,46 @@ export default {
   },
   data() {
     return {
-      tableList: [
+      tableList: [  // tab数据
         { Code: 'one', Name: '模型文件夹1' },
         { Code: 'two', Name: '模型文件夹2' },
         { Code: 'three', Name: '模型文件夹3' }
       ],
-      headerStyle: {// 列表样式
+      activeTab: '',  // tab当前选中项
+      headerStyle: {  // 列表样式
         backgroundColor: '#e1e4e5',
         color: '#2b2b2b',
         lineHeight: '30px'
       },
+      checkItem: ['构件范围检查', '设备族编码检查', '部件所在位置检查', '柱边界检查', '连接件检查', '系统类型名称检查', '未在空间中的设备', '管段检查', '管网及相关设备检查', 'Revit族参数完整性检查', 'xyz坐标重叠检查'],  // 检查项数据
+      iconClassMap: { // 模型文件夹icon映射
+        "Success": "msg-icon el-icon-success success-color",
+        "Error": "msg-icon el-icon-error error-color",
+      },
     }
   },
-  mounted() { }
+  mounted() { },
+  created() {
+    this.activeTab = this.tableList[0].Code;// 默认选中第一个模型文件夹
+  },
+  methods: {
+    getData(tab) {
+      // 切换tab时执行
+      console.log(tab, 3939)
+    },
+    buttonOperation(e) {
+      // 点击顶部按钮的操作
+      console.log(e, 333)
+    },
+    del() {
+      let jumpRouter = this.$router.resolve({ path: '/deleted' })
+      window.open(jumpRouter.href, '_blank')
+    },
+    supplement() {
+      let jumpRouter = this.$router.resolve({ path: '/supplement' })
+      window.open(jumpRouter.href, '_blank')
+    }
+  }
 }
 </script>
 
@@ -90,7 +130,34 @@ export default {
   height: calc(100% - 90px);
   background: white;
   .content-box {
-    padding: 0 10px;
+    height: calc(100% - 56px);
+    .table {
+      margin-top: 15px;
+    }
   }
 }
+.button {
+  padding-left: 10px;
+  .el-link {
+    font-size: 12px;
+    text-decoration: none;
+    color: #606266 !important;
+  }
+  .export {
+    position: relative;
+  }
+  a {
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+  }
+}
+.success-color {
+  color: #67c23a;
+}
+.error-color {
+  color: #f56c6c;
+}
 </style>

+ 69 - 0
src/views/model/report/supplement.vue

@@ -0,0 +1,69 @@
+<template>
+  <!-- 待补充页面 -->
+  <div class="box">
+    <div class="content-box">
+      <div class="content-top">
+        <div class="details">
+          <h4>{{'四位序列号'}}<el-badge value="待补充" class="item"></el-badge>
+          </h4>
+          <h4>{{"XXXX建筑模型夹"}}-{{"XXX层"}}-{{"待删除设备名称XXXXXXXXXXXXX"}}</h4>
+          <b>BIM ID:{{'XXXXXXX'}}</b>
+          <p>Revit族:{{'XXXXXXX'}}</p>
+          <p>设计图纸中编码:{{'XXXXXXX'}}</p>
+          <p><span>设备类型:{{'XXXXXXX'}}</span><span>设备ID:{{'XXXXXXX'}}</span></p>
+          <p><span>资产族:{{'XXXXXXX'}}</span><span>关联的资产ID:{{'XXXXXXX'}}</span></p>
+          <p>现场任务ID:{{'XXXXXXX'}}</p>
+          <p><span>执行人:{{'XXXXXXX'}}</span><span>确认人:{{'XXXXXXX'}}</span></p>
+        </div>
+        <div class="plan">
+          <p>平面图上的位置:<span>{{`${'('+'X:'+'329'+','+'Y:'+'398'+')'}`}}</span></p>
+          <div class="img-box">
+            <img src="https://hbimg.huabanimg.com/f761a5fd8164882f9bad2dc46da4f5682cfd7c6eabc2-ArjdOX_fw658" alt="">
+          </div>
+        </div>
+      </div>
+      <div class="content-bottom">
+        <div class="explain">
+          <p>现场问题说明...</p>
+        </div>
+        <div class="photo">
+          <p><b>现场发现照片:</b><span>拍摄时间:{{`${'2019'+'年'+'12'+'月'+'56'+'时'+'5'+'分'}`}}</span></p>
+          <div class="img-box">
+            <img src="https://hbimg.huabanimg.com/f761a5fd8164882f9bad2dc46da4f5682cfd7c6eabc2-ArjdOX_fw658" alt="">
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  components: {
+
+  },
+  data() {
+    return {
+
+    }
+  },
+  mounted() { },
+  created() {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="less" scoped>
+.box {
+  background: #f2f2f2;
+  .content-box {
+    width: 1000px;
+    background: white;
+    box-sizing: border-box;
+  }
+}
+</style>