haojianlong пре 5 година
родитељ
комит
3c7e79331a

Разлика између датотеке није приказан због своје велике величине
+ 6 - 6
src/assets/style/iconfont/iconfont.css


BIN
src/assets/style/iconfont/iconfont.eot


Разлика између датотеке није приказан због своје велике величине
+ 3 - 3
src/assets/style/iconfont/iconfont.svg


BIN
src/assets/style/iconfont/iconfont.ttf


BIN
src/assets/style/iconfont/iconfont.woff


+ 88 - 0
src/components/model/file/nodeDialog.vue

@@ -0,0 +1,88 @@
+<template>
+  <el-dialog :title="title" :visible.sync="dialogVisible" width="500px" id="nodeDialog">
+    <div class="node-des">
+      <p>节点检查说明</p>
+      <div class="gray-border">
+        <p>强制检查项</p>
+        <p v-for="t in checkList" :key='t.id'>
+          <i class="el-icon-check"></i>{{t.name}}
+        </p>
+        <p>非强制检查项</p>
+        <p v-for="t in notCheckList" :key='t.id'>
+          <i class="el-icon-close"></i>{{t.name}}
+        </p>
+      </div>
+    </div>
+    <div class="result-des">
+      <p>处理结果</p>
+      <div class="gray-border"></div>
+    </div>
+    <div class="err-des">
+      <p>错误说明</p>
+      <div></div>
+    </div>
+  </el-dialog>
+</template>
+<script>
+export default {
+  data() {
+    return {
+      dialogVisible: false,
+      title: '节点名称',
+      checkList: [{ name: '构建范围检查', id: 1 }],
+      notCheckList: [{ name: '构建范围检查', id: 1 }]
+    };
+  },
+  methods: {
+    showDialog() {
+      this.dialogVisible = true;
+    }
+  }
+};
+</script>
+<style lang="less" scoped>
+#nodeDialog {
+  .node-des,
+  .result-des {
+    color: #89969f;
+    & > div {
+      min-height: 50px;
+      padding: 5px;
+      p{
+        font-size: 12px;
+        i{
+          margin: 0 5px 0 0;
+        }
+      }
+    }
+    & > p {
+      margin: 5px 0;
+    }
+  }
+  .err-des {
+    color: #ff6660;
+    & > div {
+      border: 1px solid #ff6660;
+      min-height: 50px;
+    }
+  }
+  .gray-border {
+    border: 1px solid #dedee0;
+  }
+  .red-border {
+    border: 1px solid #ff6660;
+  }
+  .el-icon-check {
+    font-size: 14px;
+    color: #4cba38;
+  }
+  .el-icon-close {
+    font-size: 14px;
+    color: #ff6660;
+  }
+  /deep/ .el-dialog__body {
+    max-height: 400px;
+    overflow-y: auto;
+  }
+}
+</style>

+ 25 - 2
src/components/model/file/pathCard.vue

@@ -1,10 +1,12 @@
 <template>
-  <div class="pathCard">
+  <div :class="{'pathCard':true,'borderY':warning,'borderR':error}" @click="cardClick">
     <div class="path-title">
       <!-- <i class="el-icon-success" style="color:#67C23A"></i> -->
       <!-- <i class="iconfont icon-iconfontgengduo" style="color:#333333">></i> -->
       <i class="iconfont icon-conduct" style="color:#409eff"></i>
       {{title}}
+      <i v-if="warning" class="iconfont icon-trouble pos" style="color:#fcc636"></i>
+      <i v-if="error" class="iconfont icon-Error pos" style="color:#ff7c77"></i>
     </div>
     <div class="path-content">
       <slot></slot>
@@ -20,10 +22,23 @@ export default {
     title: {
       type: String,
       default: '提示'
+    },
+    warning: {
+      type: Boolean,
+      default: false
+    },
+    error: {
+      type: Boolean,
+      default: false
     }
   },
   data() {
     return {}
+  },
+  methods: {
+    cardClick() {
+      this.$emit('click');
+    }
   }
 };
 </script>
@@ -44,14 +59,22 @@ export default {
     border-color: #409eff;
   }
   .path-title {
+    position: relative;
     background-color: #f3f5f6;
     font-size: 14px;
     padding: 5px 10px;
     i {
       margin-right: 5px;
+      &.pos {
+        position: absolute;
+        top: -1px;
+        right: 18px;
+        font-size: 24px;
+        line-height: 1;
+      }
     }
   }
-  .path-content{
+  .path-content {
     font-size: 12px;
     padding: 4px 10px 0;
     color: #acb5bb;

+ 60 - 26
src/views/model/file/pathcontrol/index.vue

@@ -42,10 +42,20 @@
               <img v-if="1" class="status up-model" src="@/assets/image/model/upModelGray.png" />
               <img v-else-if="2" class="status up-model" src="@/assets/image/model/upModelBlue.png" />
               <img v-else class="status up-model" src="@/assets/image/model/upModelGreen.png" />
+
+              <div class="path-tips shadow-box" style="top:67px;left:291px;" @click="getNodeDes">
+                <i class="el-icon-warning"></i>
+                <!-- <i class="el-icon-error"></i> -->
+                <p>耗时: 8分钟10s</p>
+                <!-- <p>平均上传速度: 1M/s</p> -->
+                <p>开始时间: 2020/2/22 20:20:20</p>
+                <!-- <p>结束时间: 2020/2/22 20:20:20</p> -->
+                <p>待分配模型数量: 12</p>
+              </div>
             </div>
-            <p style="float:left;width:100%;text-align:center;margin-top:10px;color:#acb5bb;font-size:12px;">本地电脑主机</p>
+            <p style="float:left;width:100%;text-align:center;margin-top:73px;color:#acb5bb;font-size:12px;">本地电脑主机</p>
           </el-row>
-          <div class="path-tips shadow-box" style="top:189px;left:190px;">
+          <div class="path-tips shadow-box" style="top:189px;left:190px;" @click="getNodeDes">
             <p>耗时: 8分钟10s</p>
             <p>平均上传速度: 1M/s</p>
             <p>开始时间: 2020/2/22 20:20:20</p>
@@ -100,10 +110,10 @@
             </div>
           </div>
           <el-row id="revitServer">
-            <pathCard class="revit-item" :title="'楼层模型检查'">
+            <pathCard class="revit-item" :title="'楼层模型检查'" @click="getNodeDes">
               <p>共检查项: --</p>
             </pathCard>
-            <pathCard class="revit-item" :title="'导出模型json数据并压缩存储'"></pathCard>
+            <pathCard class="revit-item" :title="'导出模型json数据并压缩存储'" @click="getNodeDes"></pathCard>
             <img v-if="1" class="status row-waiting-manage" src="@/assets/image/model/waitingManageGray.png" />
             <img v-else-if="2" class="status row-waiting-manage" src="@/assets/image/model/waitingManageBlue.png" />
             <img v-else class="status row-waiting-manage" src="@/assets/image/model/waitingManageGreen.png" />
@@ -115,27 +125,35 @@
             <img v-if="1" class="status del-model" src="@/assets/image/model/delModelGray.png" />
             <img v-else class="status del-model" src="@/assets/image/model/delModelBlue.png" />
 
-            <p style="float:left;width:100%;text-align:center;margin-top:20px;color:#acb5bb;font-size:12px;">revit本地服务器集群</p>
+            <div class="path-tips shadow-box" style="top:114px;left:329px;" @click="getNodeDes">
+              <p>耗时: 8分钟10s</p>
+              <!-- <p>平均上传速度: 1M/s</p> -->
+              <p>开始时间: 2020/2/22 20:20:20</p>
+              <!-- <p>结束时间: 2020/2/22 20:20:20</p> -->
+              <p>待分配模型数量: 12</p>
+            </div>
+
+            <p style="float:left;width:100%;text-align:center;margin-top:83px;color:#acb5bb;font-size:12px;">revit本地服务器集群</p>
           </el-row>
-          <div class="path-tips shadow-box up-model-tips">
+          <div class="path-tips shadow-box up-model-tips" @click="getNodeDes">
             <p>耗时: 8分钟10s</p>
             <p>平均上传速度: 1M/s</p>
             <p>开始时间: 2020/2/22 20:20:20</p>
             <p>结束时间: 2020/2/22 20:20:20</p>
           </div>
-          <div class="path-tips shadow-box up-model-tips2">
+          <div class="path-tips shadow-box up-model-tips2" @click="getNodeDes">
             <p>耗时: 8分钟10s</p>
             <p>平均上传速度: 1M/s</p>
             <p>开始时间: 2020/2/22 20:20:20</p>
             <p>结束时间: 2020/2/22 20:20:20</p>
           </div>
-          <div class="path-tips shadow-box up-json-tips">
+          <div class="path-tips shadow-box up-json-tips" @click="getNodeDes">
             <p>耗时: 8分钟10s</p>
             <p>平均上传速度: 1M/s</p>
             <p>开始时间: 2020/2/22 20:20:20</p>
             <p>结束时间: 2020/2/22 20:20:20</p>
           </div>
-          <div class="path-tips shadow-box down-json-tips">
+          <div class="path-tips shadow-box down-json-tips" @click="getNodeDes">
             <p>耗时: 8分钟10s</p>
             <p>平均上传速度: 1M/s</p>
             <p>开始时间: 2020/2/22 20:20:20</p>
@@ -166,12 +184,12 @@
             </div>
           </div>
           <el-row id="webServer">
-            <pathCard class="webServer-item" :title="'解压并解析json文件'"></pathCard>
-            <pathCard class="webServer-item" :title="'存储数据到模型web服务数据库'"></pathCard>
-            <pathCard class="webServer-item" :title="'建筑模型检查'">
+            <pathCard class="webServer-item" :title="'解压并解析json文件'" @click="getNodeDes"></pathCard>
+            <pathCard class="webServer-item" :title="'存储数据到模型web服务数据库'" @click="getNodeDes"></pathCard>
+            <pathCard class="webServer-item" :title="'建筑模型检查'" @click="getNodeDes">
               <p>共检查项: --</p>
             </pathCard>
-            <pathCard class="webServer-item" :title="'处理模型数据格式'"></pathCard>
+            <pathCard class="webServer-item" :title="'处理模型数据格式'" @click="getNodeDes"></pathCard>
 
             <img v-if="1" class="status path1 path" src="@/assets/image/model/arrowGray.png" />
             <img v-else-if="2" class="status path1 path" src="@/assets/image/model/arrowBlue.png" />
@@ -192,7 +210,7 @@
             <img v-if="1" class="status del-model" src="@/assets/image/model/delModelGray.png" />
             <img v-else class="status del-model" src="@/assets/image/model/delModelBlue.png" />
 
-            <p style="float:left;width:100%;text-align:center;margin-top:20px;color:#acb5bb;font-size:12px;">模型web服务器</p>
+            <p style="float:left;width:100%;text-align:center;margin-top:83px;color:#acb5bb;font-size:12px;">模型web服务器</p>
           </el-row>
           <div id="thirdDel" class="delModel">
             <i class="iconfont icon-delate" style="color:#89969F;font-size:30px;line-height:1;margin-left:-6px"></i>
@@ -216,28 +234,31 @@
             </div>
           </div>
           <el-row id="dataCenterServer">
-            <pathCard :title="'储存模型数据并记录增删日志'"></pathCard>
+            <pathCard :title="'储存模型数据并记录增删日志'" @click="getNodeDes"></pathCard>
 
             <img v-if="1" class="status path1" src="@/assets/image/model/arrowGray.png" />
             <img v-else-if="2" class="status path1" src="@/assets/image/model/arrowBlue.png" />
             <img v-else class="status path1" src="@/assets/image/model/arrowGreen.png" />
 
-            <p style="float:left;width:100%;text-align:center;margin-top:20px;color:#acb5bb;font-size:12px;">数据中心服务器 </p>
+            <p style="float:left;width:100%;text-align:center;margin-top:83px;color:#acb5bb;font-size:12px;">数据中心服务器 </p>
           </el-row>
         </div>
         <div class="fifth-column column">
-          <pathCard class="finish-item" :title="'完成'"></pathCard>
+          <pathCard class="finish-item" :title="'完成'" @click="getNodeDes"></pathCard>
         </div>
       </div>
     </el-row>
+    <nodeDialog ref="nodeDialog"></nodeDialog>
   </div>
 </template>
 <script>
 import { mapGetters } from "vuex";
 import pathCard from "@/components/model/file/pathCard"
+import nodeDialog from "@/components/model/file/nodeDialog"
 export default {
   components: {
-    pathCard
+    pathCard,
+    nodeDialog
   },
   computed: {
     ...mapGetters("layout", ["projectId"])
@@ -247,11 +268,11 @@ export default {
       loading: false, //
     }
   },
-  methods: {},
-  watch: {
+  methods: {
+    getNodeDes() {
+      this.$refs.nodeDialog.showDialog()
+    }
   },
-  mounted() {
-  }
 };
 </script>
 <style lang="less" scoped>
@@ -296,7 +317,7 @@ export default {
             padding: 20px 20px 0;
             margin: 389px 20px 0;
             width: 584px;
-            height: 207px;
+            height: 270px;
             .updown {
               position: relative;
               width: 150px;
@@ -396,7 +417,7 @@ export default {
             padding: 16px 16px 0;
             border: 2px dashed #b8c5d0;
             width: 890px;
-            height: 207px;
+            height: 270px;
             margin: 235px auto 0;
             .revit-item {
               float: left;
@@ -435,7 +456,7 @@ export default {
             top: 114px;
           }
           #secondDel {
-            margin: 111px 0 0 166px;
+            margin: 48px 0 0 166px;
           }
         }
         &.third-column {
@@ -459,6 +480,7 @@ export default {
             border: 2px dashed #b8c5d0;
             margin-top: 241px;
             padding: 16px 16px 0;
+            height: 270px;
             .webServer-item {
               float: left;
               & + .webServer-item {
@@ -486,7 +508,7 @@ export default {
             }
           }
           #thirdDel {
-            margin: 111px 0 0 925px;
+            margin: 48px 0 0 925px;
           }
         }
         &.forth-column {
@@ -507,6 +529,7 @@ export default {
             border: 2px dashed #b8c5d0;
             margin-top: 240px;
             padding: 16px 16px 0;
+            height: 270px;
             .path1 {
               top: 95px;
               left: 311px;
@@ -532,6 +555,17 @@ export default {
     width: 204px;
     height: 93px;
     padding: 10px;
+    i {
+      position: absolute;
+      font-size: 16px;
+      right: 10px;
+      &.el-icon-warning {
+        color: #fbc636;
+      }
+      &.el-icon-error {
+        color: #ff6660;
+      }
+    }
   }
   .delModel {
     width: 76px;